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

2个帖子/ 0个新
最后发表
山本一辉
离线
最后看到:2周1天前
加入:2014-02-14 04:32
无法调试辅助引导加载程序(跳转到无限循环)

你好,

我正面临一个二次引导加载程序的调试问题。

我使用空白Murata模块在我的电路设计与cmis - dap调试器。
电路有SPI flash连接:

P0_2 = c
P0_3 = MISO (flash数据)
P0_6 = SCK
P0_7 = MOSI(数据来自Murata(580))

我的计划是使用二级引导加载程序和AN-B-001基于从SPI flash引导。

因为我只是试图使用基本的第二种加载方式,基于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

un-defined

ALLOW_NO_HEADER
AES_ENCRYPTED_IMAGE_SUPPORTED

使用此设置,项目将被编译。

为了开始调试,我将调试器设置从默认的J-link改为cmis - dap调试器。
同时勾选“Load Application on startup”选项;“Run to main()”未选中。
调试器应正常工作;在其他项目(简单的LED闪烁),在完全相同的电路,它工作。

问题是,调试开始,但在无限循环停止,结束于PC = 0xFFFF_FFFE, "MOVS r0,r0"
当我在IDE中按下重置按钮时,它跳转到0x2000_0BE8, "MOVS r0, #0x20"
在重置地址之前的一个步骤是0 x2000_0be6,“0 x2020f046 DCD计划”
(这些地址和ASM的是从反汇编窗口中读取。)

我怀疑内存设置和/或初始化文件;
在IDE的目标选项子窗口中,“目标”选项卡显示:

[] IROM1 0x0 0x4_0000 (.)
[] IRAM1 0x20004000x20000 []

ini文件:

x50000012 _WDWORD (0, 0 xa6)
x50003308 _WDWORD (0, 0 x1)
x50000010 _WDWORD (0, 0 x0f00)
负载% L

请求:
-请告知你是否可以复制
-请告知我是否做了错误的设置和/或如果我缺少必要的设置
-请建议如何解决这个问题

谢谢& &的问候,
一辉

MT_dialog
离线
最后看到:4个月19个小时前
工作人员
加入:2015-06-08 34
嗨,山本一辉。

嗨,山本一辉。

我不有一个印刷电路板或开发工具包,支持你提到的调试器,所以我不能够引导你在这方面,因为只有JLINK支持,我可以提供帮助的是二级引导加载保留记忆的580,而不是sysram所有正常的项目,也许这将给你一些启示,并帮助你继续你的项目。你可以通过选择目标选项来检查项目的散点文件,选择链接器选项卡并编辑你的散点文件。

由于MT_dialog