TI中文支持网
TI专业的中文技术问题搜集分享网站

关于HPI加载文件

根据芯片手册中的HPI部分的约定,一次读写必须为32位,那么加载文件必须为4字节的倍数。

而根据下面的生成加载文件的描述:

Boot Table format as following:
|———————————-|
| Entry Point (4 bytes)            |
|———————————-|
| Section 1 Size (4 bytes)         |
| Section 1 Load Address (4 bytes) |
| Section 1 Run  Address (4 bytes) |
| Section 1 Data (4*n bytes)       |
|———————————-|
| Section 2 Size (4 bytes)         |
| Section 2 Load Address (4 bytes) |
| Section 2 Run  Address (4 bytes) |
| Section 2 Data (4*n bytes)       |
|———————————-|
| …………..                   |
|———————————-|
| Section N Size (4 bytes)         |
| Section N Load Address (4 bytes) |
| Section N Run  Address (4 bytes) |
| Section N Data (4*n bytes)       |
|———————————-|
| 0x00000000 (End flag)            |
|———————————-|
Notes: If the raw section data is not multiple of 4 bytes, pad will be added,
       Don't copy the pad to DSP memory!

当加载文件中 不是4的倍数时,HPI BOOT怎么办?

Shine:

你好,

请问你使用是哪款DSP?

liang junjun:

回复 Shine:

c6748

Shine:

回复 liang junjun:

请问你这段话是在TI的哪个芯片手册里看到的?

我在c6748 bootloader文档中没有这样的说明

liang junjun:

回复 Shine:

关于一次读写为32位是从6748 datasheet 20.2.6.7节中时序中找到。

关于pad不能写入memory的注意项是从转换工具 DSPBoot.exe 所产生的XXX.h文件中的BIN文件格式的解释说明中的描述中看到的

liang junjun:

回复 Shine:

6748 datasheet 20.2.6.7章节时序中可以获得 一次读写 为32bit

下面的那一段 是 转换工具 DSPBoot.exe 对目标文件 .out 转换成 的BIN文件的 可读形式文件 .h中的注释部分内容。

Shine:

回复 liang junjun:

谢谢提供详细资料。

我的理解是当section size不是4的整数时,会在raw data最后补0~3个"0"字节,这样也就保证HPI每次可以读取4byte数据。

liang junjun:

回复 Shine:

红色标记部分说 不要把PAD 写入memory,这个通过 读一次 修改 数据再写入 也可以实现,在 BOOT 阶段 这跟把PAD写入memory 应该没有区别,这个注意项到底想要说明的是什么问题咧。

在HPI BOOT 模式下 可以 直接忽略这个注意项。 

Shine:

回复 liang junjun:

我认同你的观点, 通常情况下可以忽略。这个注意项我觉得可能在代码很大,而且有很多段大小都是奇数时,而memory大小又有限的情况下,可以考虑copy时去掉PAD.

赞(0)
未经允许不得转载:TI中文支持网 » 关于HPI加载文件
分享到: 更多 (0)