主题中讨论的其他器件: HALCOGEN
工具/软件:Code Composer Studio
您好、E2E、
我使用 的是 TMS570LC4357 。 我在 https://git.ti.com/cgit/hercules_examples/hercules_examples/中找到了基于 CAN 的引导加载程序。 只需进行少量修改、引导加载程序就可以正常用于我自己的器件。
现在、我想为我的器件提供以太网引导加载程序、但到目前为止、没有适用于 TMS570LC4357的基于以太网的引导加载程序。
因此、我认为、通过将基于 CAN 的引导加载程序的通信层替换为基于以太网的引导加载程序、可能对我有用。 我删除了有关 CAN 通信的所有代码、在中添加了 lwip 1.41、并采用了 UDP。
我的以太网引导加载程序的 bl_link.cmd 文件由 QJ Wang 定制(我只需从 QJ Wang 提供的示例引导加载程序工程复制该文件)。 问题出在这里:
1. 在 BL_LINK_cmd 和以太网 TX/Rx 中断被启用的情况下、函数_c_int00会反复调用。 保持这种状态。
我在文件 hl_sys_startup.c 的第113行中设置一个断点
/*复位处理程序:以下指令从系统异常状态寄存器中读取
*以确定 CPU 复位的原因。
*
rstSrc = getResetSource();
调用函数_c_int00时、rstSrc 为 no_reset。 那么、为什么 会反复调用_c_int00呢?
但是、如果 从编译中排除文件 bl_link.cmd 并且使用 HALCoGen 生成的 hl_sys_link.cmd、lwip 运行良好。 当然、主函数需要一些更改。
我在下面附上了我的项目。 尚未完成。 希望听到您的声音。
e2e.ti.com/.../4403.TMS570LC43x_5F00_BootLoader_5F00_Ethernet.zip



