你好,
我正面临一个二次引导加载程序的调试问题。
我使用空白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
请求:
-请告知你是否可以复制
-请告知我是否做了错误的设置和/或如果我缺少必要的设置
-请建议如何解决这个问题
谢谢& &的问候,
一辉
嗨,山本一辉。
我不有一个印刷电路板或开发工具包,支持你提到的调试器,所以我不能够引导你在这方面,因为只有JLINK支持,我可以提供帮助的是二级引导加载保留记忆的580,而不是sysram所有正常的项目,也许这将给你一些启示,并帮助你继续你的项目。你可以通过选择目标选项来检查项目的散点文件,选择链接器选项卡并编辑你的散点文件。
由于MT_dialog