Hi,我最近在使用F28388controlCARD时遇到了一个问题,这个问题可能听起来很荒诞,想求助下论坛里的工程师。
我手头有两批F28388controlCARD,一块是21年10月份左右从经销商处购买的,还有4块是23年6月份从官网购买的。
我基于TI的LwIP框架开发了一个基于TCP的Bootloader程序(CPU1的FLASH中存放Bootloader程序,CM的FLASH中存放以太网通信的程序),大致原理就是我的上位机会将CPU1的应用程序的Intel Hex文件发送给CM,CM将Hex数据放在MSG RAM中,然后通过IPC中断的形式CPU1将Hex数据复制到指定的烧录地址,最后CPU1跳转程序指针到codestart段。
我新购买的板子在测试该程序时遇到了一些问题,连接仿真器测试时都很正常,跳转到应用程序后应用程序也能正常运行。但是不接仿真器,直接FLASH启动时出现了问题,跳转CPU1的程序指针后,CPU1运行很短一段时间后会自动复位。(我是根据测试的现象得出的结论,我的应用程序会不断向PC发送UDP包,跳转后程序指针后,我通过wireshark捕获到了几个UDP数据包,之后上位机再次收到了复位后初始化结束发送的字符串)。4块新的控制卡都存在这个问题。
但是相同的程序,我使用21年10月购买的就得办卡并不会出现上面描述的问题。
想求助下工程师出现这种问题该如何解决?
附:跳转程序指针的语句
#define JUMP_RAM (void (*)(void))0x0000 (*JUMP_RAM)(); //跳到RAM的codestart