from pyocd.probe.aggregator import DebugProbeAggregator
from pyocd.board.board import Board
from pyocd.core.helpers import ConnectHelper
from pyocd.core.target import Target
import logging
from pyocd.flash.file_programmer import FileProgrammer
from pyocd.core.memory_map import MemoryType
#from pyocd.core.coresight_target import CoreSightTarget
from pyocd.coresight.cortex_m import CortexM
session = ConnectHelper.session_with_chosen_probe(target_override="stm32f103rc")
session.open()
board = session.board
print("Board MSG:")
print("Board\'s name:%s" % board.name)
print("Board\'s description:%s" % board.description)
print("Board\'s target_type:%s" % board.target_type)
print("Board\'s unique_id:%s" % board.unique_id)
print("Board\'s test_binary:%s" % board.test_binary)
print("Unique ID: %s" % board.unique_id)
target = board.target
print("Part number:%s" % target.part_number)
memory_map = target.get_memory_map()
ram_region = memory_map.get_default_region_of_type(MemoryType.RAM)
rom_region = memory_map.get_boot_memory()
print("menory map:")
print(memory_map)
print("ram_region:")
print(ram_region)
print("rom_region:")
print(rom_region)
print(target.irq_table)
#print("pc reg: 0x%X" % target.read_core_register('pc'))
print("CortexM.CPUID:")
print(CortexM.CPUID)
target.read32(CortexM.CPUID)
print("CPUID:0x%x" % target.read32(CortexM.CPUID))
#print("device id:0x%x" % target.read32(0x40015800))
#print("flash size:%x KB" % target.read32(0x1FFFF7CC))
# Load firmware into device.
FileProgrammer(session).program("LED.bin")
# Reset, run.
target.reset_and_halt()
#target.resume()
# Read some registers.
print("pc: 0x%X" % target.read_core_register("pc"))
target.step()
print("pc: 0x%X" % target.read_core_register("pc"))
target.resume()
target.halt()
print("pc: 0x%X" % target.read_core_register("pc"))
target.reset_and_halt()
print("pc: 0x%X" % target.read_core_register("pc"))
# Connect to the target.
459

被折叠的 条评论
为什么被折叠?



