Other Parts Discussed in Thread: TMS320F28379D, C2000WARE
部件号: TMS320F28379D
主题: C2000WARE 中讨论的其他器件
您好 TI 社区、
我们的定制电路板具有以下架构:
- NXP LPC4088 ARM Cortex-M4 作为主控制器(运行 RT-Thread RTOS)
- TMS320F28379D 作为 DSP
- FPGA 在同一板上
每次下电上电时的引导序列:
1. LPC4088 首先启动
2. LPC4088 通过 串行对 FPGA 进行编程
3. LPC4088 然后需要加载并运行 DSP 应用程序
DSP 与 LPC4088 的连接:
- GPIO42 (SCITXDA)→LPC4088 UART RX
- GPIO43 (SCIRXDA)→LPC4088 UART TX
引导引脚固定为:
- TRST = 0、GPIO72=0、GPIO84=1(SCI-A 引导模式)
我们的要求:
- DSP 固件将频繁更改
-我们希望 LPC4088 通过 SCI 在每个启动周期加载最新的 DSP 应用程序
-我们希望避免每次启动都进行闪存编程,以防止闪存磨损。
我们的问题:
LPC4088 是否可以使用 SCI 引导加载程序协议(与 hex2000 -boot -a -sci8 输出格式相同)直接将 DSP 应用程序发送到 DSP RAM 中、而根本不使用闪存内核 (F2837xD/sci_flash_kernels_cpu01.txt)?
我们对 TRM 和引导 ROM 文档的理解:
DSP 在 SCI 引导模式下上电
2. DSP BootROM 自动将 GPIO42/43 配置为 SCITXDA/SCIRXDA
3. DSP 发送 0xAA 用于自动波特检测
4、主机以 0xAA 0x08 密钥值进行响应
5.主机发送 16 个保留字节
6.主机发送入口点地址
7、主机发送数据块(块大小+起始地址+数据)
8.主机发送 0x0000 结束标记
9、BootROM 分支到入口点、DSP 开始从 RAM 执行
如果这是正确的、只在我们需要对闪存进行编程时才需要闪存内核、对于我们每次引导加载到 RAM 的用例、我们可以完全跳过内核、直接在 LPC4088 上实现 SCI 引导协议。
其他问题:
1. DSP 上电和接收 0xAA 之间是否有任何时序要求 — BootROM 在超时之前等待多长时间?
DSP 应用程序是否需要任何特殊的链接器配置才能从 RAM 与闪存运行?
3.应用程序的 RAM 大小是否有任何限制—哪些 RAM 区域可以安全地用于通过 SCI 引导加载应用程序?
4.特别是在 F28379D 上使用这种方法时是否有任何新手或已知问题?
我们已经验证:
- COM 端口通信工作(环回测试通过)
-现在我正在尝试使用这个命令闪存,但卡在行:正在下载..
C:\ti\c2000\C2000Ware_1_00_02_00\utilities\flash_programmers\serial_flash_programmer>serial_flash_programr.exe -d f2837xD -k F2837xD_sci_flash_kernels_cpu01.txt -a blinky_cpu01.txt -p COM8 -b 9600
C2000 串行固件升级程序
版权所有 (c) 2013 Texas Instruments Incorporated。 保留所有权利。
正在获取通信状态
建筑通信 DCB
调整端口设置
调用 f021_DownloadKernel CPU1 内核
正在将 F2837xD_sci_flash_kernels_cpu01.txt 下载到器件...
41== 0^C
提前感谢您的帮助!
