TMS320F28003x 平台已有可以正常使用的源工程A,在源工程A上建立项目分支B与开发分支C。
现在在开发分支C上已经实现了boot安全启动,单独测试开发分支C是OK的。
现在将开发分支C集成到项目分支B上,B编译的hex无法跑起来,但是C编译的hex可以跑起来。
尝试过以开发分支C为基准,把项目分支B的代码移植到C上,编译生成的hex也跑不起来。
多次对比配置,未找到问题
对比C和B编译生成的文件,在bin文件的对比中找到异常:正常可以跑起来的hex,其bin文件大概在0x6exxx处有一段代码,看起来跟DCSM有关
但是不能跑起来的hex,bin文件相对于正常的bin文件,在前面塞了0x10000个字节,并且首地址为跟DCSM 相关的代码
大概示意如下:
正常bin:
0x00000 aa bb cc dd
……
0x6exxx dd cc ss mm
不正常的bin:
0x00000 dd cc ss mm
……
0x10000 aa bb cc dd
在对比了之后,尝试把代码部分一部分一部分移植
开发分支C:ok
移植了项目分支B的uds模块的开发分支C:不行 B的uds模块比C的usd模块代码量要更大
移植了分支B bsw 的开发分支C:ok
移植了分支B bsw 与一部分应用bsw的开发分支C:不行,增加代码部分大概是多开了个中断?
由于是内网开发,靠记忆整理过程,无法传代码,请见谅。
想问下有没有什么解决思路,谢谢。