Esempio n. 1
0
def main():

    # Obtain the first execution context
    debugger = Debugger()
    ec = debugger.getCurrentExecutionContext()

    # Assumed the image file is located on the project folder
    imgDir = getImageDir(ec)
    image = loadImage(imgDir + '/mnist/test_7.jpg')
    #--- store image ---
    adr = 0x80150000  # TESTDATA 0x80370000 to 0x80370C40 (size 0xC40)
    adr = storeImage(ec, adr, image, 7)
def main():

    # Obtain the first execution context
    debugger = Debugger()
    ec = debugger.getCurrentExecutionContext()

    # Assumed the image file is located on the project folder
    imgDir = getImageDir(ec)

    #--- load parameters ---
    lay0_params = loadParams(imgDir + '/cifar-10/SaveModel/CifarModelCnnParamsCnn_v2_layer00.json')
    lay3_params = loadParams(imgDir + '/cifar-10/SaveModel/CifarModelCnnParamsCnn_v2_layer02.json')
    lay8_params = loadParams(imgDir + '/cifar-10/SaveModel/CifarModelCnnParamsCnn_v2_layer08.json')
    lay10_params = loadParams(imgDir + '/cifar-10/SaveModel/CifarModelCnnParamsCnn_v2_layer10.json')

    #--- store parameters ---
    s_adr = 0x80100000

    print 'Keras_lay[0]'
    print 'biases{Array[32]}, weights{Array[3][3][3][32]}'
    adr = storeParams(ec, s_adr, lay0_params, 32, 3, 3, 3, 32)

    print 'Keras_lay[3]'
    print 'biases{Array[64]}, weights{Array[3][3][32][64]}'
    adr = storeParams(ec, adr, lay3_params, 64, 3, 3, 32, 64)

    print 'Keras_lay[8]'
#    print 'biases{Array[128]}, weights{Array[512][128]}'
#    adr = storeParams(ec, adr, lay6_params, 128, 512, 128, 0, 0)
    print 'biases{Array[1024]}, weights{Array[4096][1024]}'
    adr = storeParams(ec, adr, lay8_params, 1024, 4096, 1024, 0, 0)

    print 'Keras_lay[10]'
    print 'biases{Array[10]}, weights{Array[1024][10]}'
    e_adr = storeParams(ec, adr, lay10_params, 10, 1024, 10, 0, 0)

    #--- save stored parameters to binary file ---
    dscmd = 'dump binary memory "cifar-10/ds5_cifar10_params.bin" S:0x%08x S:0x%08x' % (s_adr, e_adr)
    ec.executeDSCommand(dscmd)
def main():

    # Obtain the first execution context
    debugger = Debugger()
    ec = debugger.getCurrentExecutionContext()

    # Assumed the image file is located on the project folder
    imgDir = getImageDir(ec)

    #--- load parameters ---
    lay0_params = loadParams(imgDir + 'mnist_cnn_train121_params_layer0.json')
    lay2_params = loadParams(imgDir + 'mnist_cnn_train121_params_layer2.json')
    lay6_params = loadParams(imgDir + 'mnist_cnn_train121_params_layer6.json')
    lay8_params = loadParams(imgDir + 'mnist_cnn_train121_params_layer8.json')

    #--- store parameters ---
    s_adr = 0x80100000

    print 'Keras_lay[0]'
    print 'biases{Array[16]}, weights{Array[5][5][1][16]}'
    adr = storeParams(ec, s_adr, lay0_params, 16, 5, 5, 1, 16)

    print 'Keras_lay[2]'
    print 'biases{Array[32]}, weights{Array[5][5][16][32]}'
    adr = storeParams(ec, adr, lay2_params, 32, 5, 5, 16, 32)

    print 'Keras_lay[6]'
    print 'biases{Array[128]}, weights{Array[512][128]}'
    adr = storeParams(ec, adr, lay6_params, 128, 512, 128, 0, 0)

    print 'Keras_lay[8]'
    print 'biases{Array[10]}, weights{Array[128][10]}'
    e_adr = storeParams(ec, adr, lay8_params, 10, 128, 10, 0, 0)

    #--- save stored parameters to binary file ---
    dscmd = 'dump binary memory "ds5_mnist_params_v2.bin" S:0x%08x S:0x%08x' % (
        s_adr, e_adr)
    ec.executeDSCommand(dscmd)
Esempio n. 4
0
def main():

    # Obtain the first execution context
    debugger = Debugger()
    ec = debugger.getCurrentExecutionContext()

    # Assumed the image file is located on the project folder
    imgDir = getImageDir(ec)

    #--- load parameters ---
    lay0_params = loadParams(imgDir +
                             '/scripts/mnist_cnn_train121_params_layer0.json')
    lay2_params = loadParams(imgDir +
                             '/scripts/mnist_cnn_train121_params_layer2.json')
    lay6_params = loadParams(imgDir +
                             '/scripts/mnist_cnn_train121_params_layer6.json')
    lay8_params = loadParams(imgDir +
                             '/scripts/mnist_cnn_train121_params_layer8.json')

    #--- store parameters ---
    adr = 0x80300000

    print 'Keras_lay[0]'
    print 'biases{Array[16]}, weights{Array[5][5][1][16]}'
    adr = storeParams(ec, adr, lay0_params, 16, 5, 5, 1, 16)

    print 'Keras_lay[2]'
    print 'biases{Array[32]}, weights{Array[5][5][16][32]}'
    adr = storeParams(ec, adr, lay2_params, 32, 5, 5, 16, 32)

    print 'Keras_lay[6]'
    print 'biases{Array[128]}, weights{Array[512][128]}'
    adr = storeParams(ec, adr, lay6_params, 128, 512, 128, 0, 0)

    print 'Keras_lay[8]'
    print 'biases{Array[10]}, weights{Array[128][10]}'
    adr = storeParams(ec, adr, lay8_params, 10, 128, 10, 0, 0)
Esempio n. 5
0
# ArtInterpreterToInterpreterBridge.py is used to .... when the "ArtInterpreterToInterpreterBridge" method is invoked in 32-bit mode.

import gc
import sys
import time

from arm_ds.debugger_v1 import Debugger
from arm_ds.debugger_v1 import DebugException

import config
import memory
import mmu
from DexParser import header_item, string_id_item, type_id_item, proto_id_item, method_id_item

# obtain current execution state
debugger = Debugger()
execution_state = debugger.getCurrentExecutionContext()


def retrieve_string_value(string_ptr):
    length_val = memory.readMemory32(string_ptr + config.offset_string_length)
    reference_ptr = memory.readMemory32(string_ptr +
                                        config.offset_string_reference)
    char_array = memory.retrieve_char_array(reference_ptr)

    return char_array


def cleanup():
    if mmu.page_table is not None:
        del mmu.page_table
Esempio n. 6
0
from arm_ds.debugger_v1 import Debugger
from arm_ds.debugger_v1 import DebugException
import os

# The CPU driver is linked at this address
LINKADDRESS = 0

# The boot driver is relocated to this address
RAMBASE = 0x80000000

debugger = Debugger()
ec = debugger.getCurrentExecutionContext()

# Load the boot driver symbols
im = ec.getImageService()
im.loadSymbols('Barrelfish/armv7/sbin/boot_ve', RAMBASE)

# Get the CPU driver's final load address.
vs = ec.getVariableService()
kernel_start = vs.readValue('boot_arguments.cpu_driver_base')

offset = int(kernel_start) - LINKADDRESS

print "Kernel loaded at: %08x" % int(
    kernel_start), " linked at %08x" % LINKADDRESS, " offset %08x" % offset

# Add CPU driver symbols
im.addSymbols('Barrelfish/armv7/sbin/cpu_a9ve', offset)

# Finally, advance to arch_init()
es = ec.getExecutionService()
            if m:
                if regex.groups == 1:
                    regions.append((region_type, int(m.group(1), 0), 0))
                else:
                    regions.append((region_type, int(m.group(1),
                                                     0), int(m.group(2), 0)))
            else:
                if regex.groups == 1:
                    raise Exception('cmd_load_symbols',
                                    "Expect a base address")
                else:
                    raise Exception('cmd_load_symbols',
                                    "Expect a region format as (base,size)")

# Debugger object for accessing the debugger
debugger = Debugger()

# Initialisation commands
ec = debugger.getExecutionContext(0)
ec.getExecutionService().stop()
ec.getExecutionService().waitForStop()
# in case the execution context reference is out of date
ec = debugger.getExecutionContext(0)

try:
    armplatform_debugger = edk2_debugger.ArmPlatformDebugger(
        ec, report_file, regions, verbose)

    if load_all:
        armplatform_debugger.load_all_symbols()
    else:
        if region_type:
            m = regex.match(a)
            if m:
                if regex.groups == 1:
                    regions.append((region_type,int(m.group(1),0),0))
                else:
                    regions.append((region_type,int(m.group(1),0),int(m.group(2),0)))
            else:
                if regex.groups == 1:
                    raise Exception('cmd_load_symbols', "Expect a base address")
                else:
                    raise Exception('cmd_load_symbols', "Expect a region format as (base,size)")

# Debugger object for accessing the debugger
debugger = Debugger()

# Initialisation commands
ec = debugger.getExecutionContext(0)
ec.getExecutionService().stop()
ec.getExecutionService().waitForStop()
# in case the execution context reference is out of date
ec = debugger.getExecutionContext(0)

try:
    armplatform_debugger = edk2_debugger.ArmPlatformDebugger(ec, report_file, regions, verbose)

    if load_all:
        armplatform_debugger.load_all_symbols()
    else:
        armplatform_debugger.load_current_symbols()