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.
最近在做一个基于TMS320F28035的在线升级功能:
由于芯片的大小为64K:所以规划在A扇区存放BootLoader程序;在B扇区存放一些芯片信息,以及升级标志;从C扇区开始存放应用程序
现在的问题是:在F28035_CLA_C.cmd文件中,在BootLoader工程中,我将BootLoader的 BEGIN : origin = 0x3F7FF6, length = 0x000002 配置为这样;在APP工程中,我将BEGIN : origin = 0x3F2000, length = 0x000002配置为这个,但是编译APP工程是会报如下错误:
初次接触这款芯片,请有做过该芯片在线升级的大佬指教一下!!!!!
另附我BootLoader和APP的cmd配置:
1、下图为APP工程中cmd文件的配置
2、下图是BootLoader中cmd文件的配置
这个问题我也在调试过程中发现了,已重新分配了各个扇区的大小;目前我的bootloader能正常跳转到app中。
这里还有一个问题需要请教您一下,关于内存搬运memcpy()函数,我在使用过程中发现程序每次运行到这里会跑飞。想问一下这个函数在使用时除了要加库函数的头文件外还要添加其它的头文件吗??或者是使用该函数还需要进行什么操作。下边是我使用改函数的一部分代码
我这里是通过该函数memcpy()将传进来的内容搬运到定义的数组中,最后通过CAN上报一帧数据,但是实际运行情况是跑到改函数处程序会跑飞,导致CAN总线上报的数据也是错误的
这个函数的作用是将Flash中的代码搬移到RAM中运行的,使用这个函数还需要修改linker command file。
看一下这两个个帖子: