主题中讨论的其他器件: C2000WARE
我需要关于上述几点的帮助
- 为所需的存储器位置生成一个二进制/srec 文件-该映像文件将在 GSM 模块上下载并发送至 TI 控制器- TMS320F280025C
- 用于系统内编程的 UART 引导加载程序。 引导加载程序固件将从上游 GSM 模块中逐块获取映像、并将其写入闪存中以执行 OTA 更新
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.
我需要关于上述几点的帮助
Ananya、
请参阅应用手册 sprabv4。
基本概念是这样的。 我们的外设特定 ROM 引导加载程序可以将自定义引导加载程序(我们称之为闪存内核)下载到 RAM 中。 然后、RAM 中的自定义引导加载程序可以下载固件映像并将其编程到闪存。
在某些情况下、如 FOTA 和离线固件更新不同、上述方法不起作用。 相反、让自定义引导加载程序出现在闪存中是有意义的。 启动器件时、入口点位于自定义引导加载程序中。 自定义引导加载程序分支到应用程序。 当应用程序执行时、如果收到 FOTA 命令、应用程序将继续执行、但在后台控制传递到自定义引导加载程序、该引导加载程序会接收新的固件映像并将其编程到闪存。
如果您计划使用 F28002x 执行实际的 FOTA、则会更加棘手、因为您只有1个闪存组、并且您的应用需要在固件安装阶段运行。
您是否计划覆盖闪存中的现有固件、还是计划在同一闪存组中存在2个固件映像? 无论哪种方法、在 FOTA 安装阶段、某些应用程序代码都需要从 RAM 中运行。 这是因为您不能同时从闪存组中读取/执行以及擦除/编程它。 (即使它们位于不同的闪存扇区中)。
从协议的角度来看、我们实施了一个仅供参考的特定协议、您可以根据自己的需求进行定制。
这是我们在 F28002x 上拥有的器件。
C2000Ware 中的闪存内核、位于
\C2000Ware_4_03_00_00\driverlib\f28002x\examples\flash\ccs\flash_ex3_sci_flash_kernel
C2000Ware 中未发布相应的应用(简单的 LED 闪烁示例)、可以在此处请求。 它也具有闪存内核、仅作为完整性考虑。
谢谢。
SIRA
为实现本文目标、我们使用 CCS Hex 工具实用程序将生成的固件可执行文件转换为 a.txt 文件。 这由主机可执行文件发送到 C2000 MCU。
主机可执行文件位于 C2000Ware 的此处
C:\ti\cc2000\C2000Ware_4_03_00_00\utilities\flash_programmers\serial_flash_programmer
对于已经驻留在闪存中的闪存内核(自定义引导加载程序)、要使用的可执行文件是 serial_flash_programr_appln.exe、它仅将应用程序固件从主机发送到 C2000。
下面粘贴了一组示例命令
CD C:\ti\cc2000\C2000Ware_4_03_00_00\utilities\flash_programmers\serial_flash_programmer
serial_flash_programr_appln.exe -d f28002x -k flash_kernel_ex3_sci_flash_kernel.txt -a led_ex1_blinky_f28002x.txt -b 9600 -p COM12 -v
k 表示内核文件、即使在此未使用该文件、该命令仍然需要将其传递给可执行文件。 然后可执行文件将忽略它。
谢谢。
SIRA