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.

[参考译文] TMS320F28379D:TMS320F2837xD 闪存 API:什么是 Fapi_issueProgrammingCommand ()'s 第三个参数?

Guru**** 2020320 points
Other Parts Discussed in Thread: C2000WARE
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/952435/tms320f28379d-tms320f2837xd-flash-api-what-is-fapi_issueprogrammingcommand-s-third-argument

器件型号:TMS320F28379D
主题中讨论的其他器件:C2000WARE

在第14页的 SPNU629A 中、它说第三个参数是数据缓冲区中16位字的数量(作为寄存器#2传递)。 第18页的"实施范例"符合这一定义。

但 C2000Ware 中的闪存内核会传递字节数、而不是16位字的数量。 例如:C2000Ware_3_03_00_00_Software/device_support/f2837xd/examples/dual/F2837xD_sci_flash_kernel/cpu01//shared_Boot.c. 它声明一个 miniBuffer 为8个 UINT16字长、用8个数据字填充它、并将 sizeof (miniBuffer)作为第三个参数传递给 Fapi_issueProgrammingCommand()。 sizeof ()以字节为单位进行测量、因此 sizeof (miniBuffer)应返回16、而不是指定字数时预期的8个字节。

那么、第三个参数应该是什么? 文档中有什么内容(字数)或示例有什么作用(字节数)?

Mike

PS 为什么闪存库不支持 ELF 目标格式? 甚至 TI 也将其称为"传统 COFF"格式!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的、我看到你做了什么。 sizeof (unit16_t)=sizeof (uint8_t)=1! 虽然根据 C 标准是合法的、但我在30多年的时间里就不必处理这种脑损伤。 实际上、我上次不得不处理 TI DSP 处理器时。 或 Harris 24位 mini。 因此、文档和代码都是"正确的"。

    如果闪存库可用 ELF 格式、那还是很好的。 必须同时支持 ELF 和"传统 COFF"、这只是一个不必要的难题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Mike、

    关于 sizeof()的内核使用:您得到了正确的答案。

    关于 EABI 库: 是的、我们将迁移到 EABI。  它很快将在 C2000ware 中提供。

    谢谢、此致、

    Vamsi