你好,
我正面临着辅助引导程序的调试问题。
我正在使用CMSIS-DAP调试器的电路设计下使用空白的Murata模块。
该电路连接到SPI Flash:
p0_2 = cs.
p0_3 = miso(flash的数据)
p0_6 = sck.
P0_7 = MOSI(来自Murata(580)的数据)
我的计划是使用基于SPI Flash的辅助引导程序和基于SPI的启动。
由于我只尝试根据AN-B-001使用基本的第二个装载方式,因为我定义的MDK项目中
support_an_b_001.
spi_flash_supported.
来自电路规范,我修改了引脚分配,如:
spi_cs_pin gpio_pin_2.
spi_clk_pin gpio_pin_6.
spi_do_pin gpio_pin_7.
spi_di_pin gpio_pin_3.
并且不明确的:
allow_no_header.
aes_encrypted_image_supported.
使用此设置,该项目已编译。
要开始调试,请将调试器设置更改为默认j-link的CMSIS-DAP调试器。
还要检查“启动时加载应用程序”选项;“跑到main()”未被选中。
调试器应该正常工作;在其他项目(简单的LED眨眼)中,在完全相同的电路中,它运行。
问题是,调试开始但在无限循环停止,结束PC = 0xFFFF_FFFE,“MOVS R0,R0”
当IDE中按RESET按钮时,它会跳转到0x2000_0be8,“movs r0,#0x20”
重置地址之前的一步是0x2000_0be6,“DCD 0x2020f046”
(那些地址和ASM读取拆卸Windw。)
我怀疑内存设置和/或初始化文件;
在IDE的目标选项子窗口中,“Target”选项卡表示:
[] IROM1 0x0 0x4_0000(。)
[] IRAM1 0x2000_0000 0x20000 []
INI文件:
_WDWORD(0x50000012,0xA6)
_wdword(0x50003308,0x1)
_wdword(0x50000010,0x0f00)
加载%L.
要求:
- 如果您可以复制,请建议
- 如果我正在做不正确的设置和/或我缺少必要的设置,请建议
- 请告知如何解决此问题
感谢和问候,
kazuki
嗨Kazuki Yamamoto,
我没有一个pcb或dev套件,支持你提到的调试器,所以我无法指导你,因为只支持jlink,我可以提供的,这可能有助于帮助辅助引导加载程序保留记忆580,而不是Sysram作为所有正常项目,也许这将为您提供一些洞察力,并帮助您继续使用您的项目。您可以通过选择目标选项来检查项目的散点文件,选择“链接器”选项卡并编辑分散文件。
谢谢mt_dialog.