工具/软件:Code Composer Studio
大家好、团队、
首先、概述我们打算做什么:
根据我们的目标、我们计划:
1:永久驻留在电路板上并应在何时启动的引导加载程序
我们使用"boot to flash"选项进行引导。 GPIO 引脚用于输入指示的信号
引导加载程序是立即分支到应用程序、还是更新
应用程序、并在随后启动它。
引导加载程序使用闪存库的 SW-API -而不是引导 ROM。
到目前为止、我们已设法将一些数据写入闪存、即闪存工作正常。
2: 驻留在闪存块中、引导加载程序不使用的应用程序、因此
当应用程序运行时、引导加载程序将不会受到损害。 已更新。
关于这个问题,出现了一些问题:
1.1使用 hex2000工具(在项目属性对话框中指定)构建项目时
有了这些选项...
--memwidth=16
--romwidth=16
--Motorola=3.
-o" 0.S19"
.out (输入文件)、
...我得到 ** 2个输出文件** (除了映射文件):
- .s19 (通常的 S-Rec 文件扩展名);但也是如此
- .m01 、也是 m3/S-Rec 文件(大小相同)。
==>*** 文件明显不同。 用于生成二进制文件的 S-Rec 文件? ***
在 S-Rec 文件中、寻址实现了几次飞跃、例如
(为了提高可读性、我插入了一些空白):
S3 23 003E81FE 0A0BF4A9...
S3 23 003E820D 00067608...
S3 1F 003E821C 0006FE02...
S3 23 003F4000 FE022B41... <<<=leap!
S3 23 003F400F 61F7FE82...
S3 23 003F401E 61380215...
及更高版本:
S3 22 003F62BA FE96A0A8...
S3 22 003F62D7 D4FE0076……
S3 0A 003F62F4 001956FF...
S3 22 003F7F80 00000000…… <<<=leap!
S3 22 003F7F9D 00000000……
S3 22 003F7FBA 00000000……
S3 22 003F7FD7 00000000……
实现这些飞跃的原因是什么? 是否可以避免它们(为了
将 SW 加载到一个块中)?
2.1:如何告知链接器放置应用程序代码(包括其矢量表等)
到所需位置(我不熟悉链接器命令文件)?
2.2:从引导加载程序分支到应用程序是否正确。 可通过使用来完成
汇编器"lb
好的、到目前为止...
此致、
Goetz