This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好、支持团队、
我有2个 SW (2个十六进制文件):
- SW1:应用起点为0x80000的自定义引导加载程序
- SW2:应用程序入口点为0x84000 (或0x83000)
我希望引导序列如下所示
我的问题是:
如何修改 SW2的 cmd 文件、以便当两个十六进制文件与 Uniflash 同时运行时、器件引导将分支到步骤2中 SW1的入口点(而不是 SW2的入口点)?
此致
问题
Quy、
您是否在不进行下电上电的情况下尝试在使用 Uniflash 将代码加载到闪存后立即执行?
您是否尝试先加载 SW2、然后加载 SW1?
谢谢、此致、
Vamsi
您好、Vamsi、
不可以、我希望同时或连续(使用 Uniflash 或 CCS)刷写(SW1和 SW2)的两个十六进制文件、然后执行电源复位。
在电源复位后、我希望引导 ROM (闪存引导)分支到 SW1的开头(而不是 SW2)。
换言之、我想编译/刷写 SW2而不使用入口点、以便引导 ROM 只能看到 SW 1的入口点。
----
我还有另外一个问题:
我有一个具有的软件(开始 :origin = 0x084000)
我使用 CCS 和 Uniflash 刷写了输出.out 和.hex 文件、并获得了以下结果:
CCS:OUT:软件运行
CCS:hex:软件不运行
Uniflash:Out:软件不运行
Uniflash:十六进制:软件不运行
请在这里解释不同结果的原因、以及我应该在哪里使用十六进制文件在 CCS 和 Uniflash 中运行软件
此致、
问题
看起来 SW2在0x80000处进行了编程、这会覆盖 SW1的入口点。
请检查 SW 的映射文件以查看放置在0x80000处的内容。
Baskaran、您好!
很抱歉造成混淆。 我为第二个问题创建了另一个主题。
请关注我的第一个问题。
如何同时(或连续)刷写2个十六进制文件、并告知具有 SW 的引导 ROM 应分支到什么?
假设我有2个软件:
- SW1:0x80000 - 0x82FFF (入口点:0x80000)
- SW2:0x83000 - 0x87FFF (入口点:0x84000)
此致
问题
您不需要同时刷新它们。 您可以逐个刷写它们。
确保 SW2不覆盖 SW1 (检查映射文件是否存在重叠区域)