我也是用RL78/14的芯片做的CAN升级,开发环境IAR for RL78,我flash划分:boot area :0x0000-0x2000,APP area 0x2000 -- 0xFFFF,用的xmodem协议传输,在线跟踪APP.bin已经正确下载到了0x2000开始的区域,执行跳转指令后,APP程序不能执行,跳转指令如下
typedef void (*FunctionPointer)(void);
DI();FunctionPointer entryPoint = (FunctionPointer) 0x2000; // 跳转地址entryPoint();
执行跳转指令后,能看到程序能执行到flash后面的区域。
APP文件用默认的从0x0000开始的设置是能够正常运行的,这个已经经过验证。采用升级模式时,将APP的程序地址偏移到了0X2000的位置(链接文件是在lnkr5f10pgj.icf基础上进行修改的),修改后的icf文件的配置如下
现在的问题是不知道是跳转的部分有问题还是APP经过地址偏移后产生了问题,希望您给一些指导。
另外,app经过地址偏移后, 不能进行在线调试了,这个可以通过怎么样的设置能够进行在线调试呢?
请问您解决了吗?可以交流一下吗
还没解决呢,在研究编译器的原理呢,可以加个微信或者QQ都行