在线时间35 小时
UID3443587
注册时间2018-3-7
NXP金币0
TA的每日心情 | 开心 2018-12-3 15:59 |
---|
签到天数: 1 天 [LV.1]初来乍到
注册会员
- 积分
- 195
- 最后登录
- 2019-12-19
|
大家好
我先对我问题进行描述,我在做LPC54114的远程升级,我采用的方式就是 一个,Bootloader 程序,一个APP 程序,两个程序下载在不同地址的Flash。
1)检查是否需要对第二部分代码进行更新。
2)如果不需要更新则转到 4)。
3)执行更新操作。
4)跳转到第二部分代码执行。
通过此方式,我实现了对M4核的升级。但我对启动文件的更改,影响到了M0+核的启动。由于需要跳转,所以我将启动文件(一个是原始文件,一个是我或更改过的,我有标注)进行了更改,主要或更改 就是
将__Vectors DCD |Image$$ARM_LIB_STACK$$ZI$$Limit| ; Top of Stack
改为 __Vectors DCD __initial_sp ; Top of Stack
影响到变量为
extern uint32_t Image$$CORE1_REGION$$Base;(此变量我的理解是:M0核程序的起始地址)
extern uint32_t Image$$CORE1_REGION$$Length;(此变量我的理解是:M0核程序的长度)
编译以后的错误是
debug\hello_world_cm4.out: Error: L6218E: Undefined symbol Image$$CORE1_REGION$$Base (referred from hello_world_core0.o).
debug\hello_world_cm4.out: Error: L6218E: Undefined symbol Image$$CORE1_REGION$$Length (referred from hello_world_core0.o).
能否通过对启动文件的更改或者其他方法来解决这个问题呢?还是我的升级思路需要更改?
有人有时间能帮我看看看么?lpc54114双核的升级,网上没看到有人做,我遇到点问题。谢谢
|
-
-
启动文件.rar
8.47 KB, 下载次数: 0, 下载积分: 威望 1
文件
|