主题中讨论的其他器件:C2000WARE
您好!
我将在 CM 内核上开发引导加载程序。
引导加载程序必须在 RAM 中运行、因此我已经在 RAM 中复制了所有必要目标模块的.text 和.const 段。
我还省略了项目中的预处理器符号_FLASH、以便使用 vectorTableRAM[]而不是 vectorTableFlash[]。
.vftable:> CMBANK0_SECTOR0、align (16)/*应用程序放置在闪存中的向量表*/
.vtable:> S0RAM /*应用程序放置于 RAM 中的矢量表*/
我已经启用了.hex 输出文件生成、并且我已经看到.VTABLE 段被添加到.hex 文件、即使它驻留在 RAM 中。
:020000042000DA
:2008000000C1FF1F01002000290D0120270D0120250D0120250D0120250D01200000000033
:2008200000000000000000000000250D0120250D012000000000250D0120250D0120250D0120250D01206C
:20084000250D0120250D0120250D0120250D0120250D0120250D0120250D0120250D012000
:20086000250D0120250D0120250D0120250D0120250D0120250D0120250D0120250D0120E0
:20088000250D0120250D0120250D0120250D0120250D0120250D0120250D0120250D0120C0
:2008A000250D0120250D0120250D0120250D0120250D0120250D0120250D0120250D0120250D0120A0
:2008C000250D0120250D0120250D0120250D0120250D0120250D0120250D0120250D012080
:2008E000250D0120250D0120250D0120250D0120250D0120250D0120250D0120250D0120250D012060
:20090000250D0120250D0120250D0120250D0120250D0120250D0120250D0120250D01203F
:20092000250D0120250D0120250D0120250D0120250D0120250D0120250D0120250D0120250D01201F
我使用.hex 文件进行固件更新、因此我希望它仅包含闪存地址。
为什么将.vtable RAM 段添加到输出文件?
是否有办法避免这种情况?
我是否应该保留_flash 预处理器符号、然后像处理其他.text 和.const 段一样、在 RAM 中复制.vftable?
谢谢!
卡洛