无法调试辅助引导程序(跳转到无限循环)

2个帖子/ 0新
最后一篇
Kazuki Yamamoto.
离线
最后一次露面:3个月3周前
加入:2014-02-14 04:32
无法调试辅助引导程序(跳转到无限循环)

你好,

我正面临着辅助引导程序的调试问题。

我正在使用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

设备:
mt_dialog.
离线
最后一次露面:2个月2天前
职员
加入:2015-06-08 11:34
嗨Kazuki Yamamoto,

嗨Kazuki Yamamoto,

我没有一个pcb或dev套件,支持你提到的调试器,所以我无法指导你,因为只支持jlink,我可以提供的,这可能有助于帮助辅助引导加载程序保留记忆580,而不是Sysram作为所有正常项目,也许这将为您提供一些洞察力,并帮助您继续使用您的项目。您可以通过选择目标选项来检查项目的散点文件,选择“链接器”选项卡并编辑分散文件。

谢谢mt_dialog.