Thread 中讨论的其他器件:controlSUITE
我不熟悉 Concerto。。。
我正在尝试更好地了解在协处理器上控制 M3以使用链接器命令文件引导 M3应用程序的方法。
我有两个项目:M3引导加载程序和 M3应用程序。
目前、引导加载程序会跳转到 M3应用程序.codestart 位置所在的闪存位置 BeginA。 应用程序使 LED 闪烁。
使用调试器时、当我 运行引导加载程序时、它似乎可以正常工作。 在电源复位时、引导加载程序不运行、更糟糕的是应用程序启动。 (闪烁 LED)
我没有更改任一程序的默认复位 ISR 闪存位置。 我认为这是一个问题。
如果能深入了解这方面的基本设置、我们将不胜感激。
下面的链接器命令文件:
应用:
/*闪存块0、扇区0 */
RESETISR (RX):origin = 0x00200030,length = 0x0008 //复位 ISR 映射到引导至闪存位置*/
INTVECS (RX):origin = 0x00201000,length = 0x0258
FLASHLOAD (RX):origin = 0x00201258,length = 0x6DA8 //,用于将代码存储在闪存中,以便在运行时复制到 RAM */
/*闪存块0、扇区1至闪存块0、扇区13 */
FLASHE (Rwx):origin = 0x002C0000,length = 0x1FFFF //为 bootloader 添加了闪存扇区 E 的块*/
BeginA (rwx):origin = 0x002E0000,length = 0x0002 //扇区 D 的第一部分,用于应用程序代码 startbranch*/
BEGINB (rwx):origin = 0x002E0003,length = 0x0002 //扇区 D 的第一部分,用于引导加载程序代码 startbranch*/
FWVERSITION:origin = 0x002E0005 length = 0x002 //固件版本*/
FLASHD (rwx):origin = 0x002E0007,length = 0x7FF8/*扇区 D 余数*/
部分
{
.intvecs:> INTVECS、ALIGN (8)
.resettisr:> RESETISR、align (8)
.text:> FLASHD,align (8)/*从扇区 D 运行应用程序代码*/
.const:> FLASHD、align (8)
.cinit:> FLASHD,align (8)
.pinit:> FLASHD,align (8)
codestart:> BeginA,align (8)
引导加载程序
/*闪存块0、扇区0 */
RESETISR (RX):origin = 0x00200030,length = 0x0008 //复位 ISR 映射到引导至闪存位置*/
INTVECS (RX):origin = 0x00201000,length = 0x0258
FLASHLOAD (RX):origin = 0x00201258,length = 0x6DA8 //,用于将代码存储在闪存中,以便在运行时复制到 RAM */
/*闪存块0、扇区1至闪存块0、扇区13 */
FLASHE (Rwx):origin = 0x002C0000,length = 0x1FFFF //为 bootloader 添加了闪存扇区 E 的块*/
BeginA (rwx):origin = 0x002E0000,length = 0x0002 //扇区 D 的第一部分,用于应用程序代码 startbranch*/
BEGINB (rwx):origin = 0x002E0003,length = 0x0002 //扇区 D 的第一部分,用于引导加载程序代码 startbranch*/
FWVERSITION:origin = 0x002E0005 length = 0x002 //固件版本*/
FLASHD (rwx):origin = 0x002E0007,length = 0x7FF8/*扇区 D 余数*/
闪存(RX):origin = 0x002E8000、length = 0x17E00 //扇区 A 到扇区 C (减去 Z2 CSM)*/
部分
{
.intvecs:> INTVECS、ALIGN (8)
.resettisr:> RESETISR、align (8)
.text:> FLASHE、ALIGN (8)/*从扇区 E 运行引导加载程序*/
.const:> FLASHE、align (8)
.cinit:> FLASHE、align (8)
.pinit:> FLASHE、align (8)
.codestart:> BEGINB,align (8)