您好!
内核上有两个程序:一个引导加载程序和一个应用程序。
引导加载程序从 POR 开始、检查应用程序 CRC 并最终分支到该应用程序。
引导加载程序必须在 RAM 中运行、而应用程序必须在闪存中运行。
我想知道哪种方法是在 RAM 中运行引导加载程序的最佳方法。
从 RAM 引导、还是从闪存引导并将函数分配给 TI.ramfuncs?
由于存在 RAM 和闪存示例配置、我看到了以下不同之处。
1) RAM 示例配置。
-入口点、向量表和其他代码段都分配给 RAM 区域。
-未定义 TI.ramfuncs。
-在 RAM 中设置向量表偏移(Interrupt_setVectorTableOffset())。
在这种情况下、代码所在的位置必须从 RAM 中加载并运行? 何时完成这个复制?
2)闪存示例配置:
-入口点段和其他代码段分配在闪存中。
-有两个矢量表段,一个在闪存(.vftable)中,一个在 RAM (.vtable)中。
- TI.ramfuncs 已定义。
-在闪存中设置向量表偏移(Interrupt_setVectorTableOffset())。
在本例中、为了使引导加载程序在 RAM 中运行、我是否应该在 TI.ramfuncs 中分配所有函数并在 RAM 中设置矢量表偏移?
哪种模式最好?
谢谢!
卡洛