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)
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)
# 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
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()