LPC2368学习笔记(二)、移植ADS工程

LPC2368学习笔记(二)、移植ADS工程

最近在维护一个LPC2368的控制板,由于软件是使用ADS开发的,保险起见我也使用ADS进行维护工作,由于兼容性的问题ADS经常在关键时刻卡死,这让我在维护过程中十分痛苦,因此我想将程序移植到MDK中进行维护。
MDK新建工程添加文件,编译的时候没报什么问题,但是在进行链接的时候报了个错误:

linking…
.\Objects\proj.sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST.
Not enough information to list image symbols.
Not enough information to list the image map.

由于工程使用的不是MDK自带的启动文件,于是我将启动文件更换为MDK自带的启动文件,然后编译通过。
或者可以打开原工程的启动文件找到程序入口的那段汇编代码,例:

CODE32
AREA    vectors,CODE,READONLY
ENTRY

将其改为

CODE32
AREA    RESET,CODE,READONLY
ENTRY

就可以了。

遇到

..\target\Startup.s(155): warning: A1876W: Use of ‘|’ as a synonym for
the :OR: operator is deprecated.

警报可以定位到那一行,将“|”改成“:OR:”,例:

MSR     CPSR_c, #(SVC32Mode|NoFIQ)

改成

MSR     CPSR_c, #(SVC32Mode:OR:NoFIQ)

就可以了。

遇到

..\target\Startup.s(219): warning: A1608W: MOV pc, instruction
used, but BX is preferred

可以将MOV pc, 替换成BX
例:

MOV     PC, R0

替换成

BX      R0

不过变成

MOVS    PC, R0

好像也不影响编译结果。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值