工具/软件:TI C/C++编译器
您好:
我使用 CCS 3.83.83.83.3.20构建我的项目、并使用 hex6x 生成引导表。 当我使用我自己的辅助引导加载程序加载引导表时 、它会崩溃。
我检查了映射文件、发现一个段的长度不 是4的倍数、 下一个段以 4的倍数开头、这将 导致引导表中出现2字节占位符(填充零)。
当我加载引导表时,零的2个字节将用作下一段长度的一部分,因此这是错误的。
但是、我的一位同事使用 CCS 3.3.38.xx (我忘记了)来构建我的项目、所有部分的长度 都是4的倍数。 当我使用他的.out 文件创建引导表时、它运行良好。
那么、编译器中的2个 CCSS (6.1.x 和6.0.x)之间是否存在任何差异?
我可以获取有关这方面的一些文档或数据表吗?
我是否应该为 基准 CCS 生成基准次级引导加载程序?
非常感谢!
我还检查了这2个 CCS 中的两个 spru186、它们在引导表文件格式中是相同的、如下所示:
引导表的格式很简单。 有一个头记录包含一个4字节字段、该字段指示引导加载程序在其完成处理数据后应分支的位置。 在标头之后、要包含在引导表中的每个段都将具有以下内容:
包含段大小的1、4字节字段
包含副本目的地址的2、4字节字段
3.可以输入要复制多个段的实际数据;包含4字节零字段的终止块跟在最后一个段之后。