[Keil]ads工程移植到Keil MDK 编译出现的警告和错误解决

转载 2015年07月11日 00:22:30
   问题描述:从ADS将C代码移植到Keil后,还存在几个警告,于是查阅了下,有篇博文介绍的很详细的,现转载如下,转载地址:http://blog.sina.com.cn/s/blog_67ed0acc0101c825.html
   warning: A1876W:Use of '|' as a synonym for the :OR: operator isdeprecated.

部分源代码:

MSR CPSR_c, #(NoInt|IRQ32Mode) ;进入IRQ模式。

解决方法:把"|"修改为 ":OR:", 如下

MSR CPSR_c, #NoInt:OR:IRQ32Mode ;进入IRQ模式。



warning: A1608W: MOV pc, instructionused, but BX is preferred
解决方法:把MOV pc, 替换为 BX


Error: L6238E: os_cpu_a.o(subr)contains invalid call from '~PRES8 (The user did not require codeto preserve 8-byte aligment of 8-byte data objects)' function to'REQ8 (Code was permitted to depend on the 8-byte aligment of8-byte data items)' function OSIntExit.
解决方法:在汇编程序前面加上 PRESERVE8

PRESERVE8
AREA |subr|, CODE, READONLY
IMPORT OSIntNesting
IMPORT OSTCBCur
IMPORT IsrIRQ

…………


warning: A1085W: Forced user-modeLDM/STM must not be followed by use of banked R8-R14
部分源代码:
STMFD SP,{R3,SP,LR}^ ;系统模式SP→|R0 | 

SUB SP,SP,#12 ;系统模式SP→|SPSR|
解决方法:在两行语句中间加nop,即可解决warning

STMFD SP,{R3,SP,LR}^ ;系统模式SP→|R0 | 
nop
SUB SP,SP,#12 ;系统模式SP→|SPSR|


error: L6236E:No section matches selector - no section to be FIRST/LAST.
部分源代码:
RuninFlash.sct
LR_ROM1 0x00000000 
{ ; load region
ER_ROM1 0x00000000 0x0200000 
{ ; load address = execution address
*.o (RESET, +First) ;报错的地方
*(InRoot$$Sections)
.ANY (+RO)
}
RW_RAM1 0x0C000000 0x800000 
{ ; RW data
.ANY (+RW +ZI)
}
}
解决方法:
在启动文件,我的是44binit.s 中找到
AREA Init,CODE,READONLY
改为
AREA RESET,CODE,READONLY

解决ads工程转到MDK(keil)可能出现的error

本文转载自http://guliqun1983.blog.163.com/blog/static/5011168520110279584269/解决ads工程转到MDK(keil)可能出现的error...
  • cskywit
  • cskywit
  • 2011年04月15日 10:16
  • 610

mini2440上一步步实现将ADS工程移植到keil MDK(附移植好的完整代码)

文章转自:http://write.blog.csdn.net/postedit ==========================================================...

mini2440上一步步实现将ADS工程移植到keil MDK(附移植好的完整代码)

文章转载自:http://blog.csdn.net/googlemi/article/details/8836609   从买板子到现在,想想也有2个月啦,开始就想跑裸奔的,可是工程都是在ADS下...

MDK (keil) 没有使用到的函数编译时候会有警告的解决

在使用MDK编写STM32代码时,有些函数如果没用到会报警告: 函数定义如下: 但是STM32有很多库函数,为什么没使用到的就不会报警告呢? 这里有一个编译细节,就是函数的有效范围问题。库函数并...

在Keil MDK 环境下使用STM32 V3.4 库

  • 2011年02月12日 15:55
  • 536KB
  • 下载

keil MDK编译器警告和错误详解(不定期更新)

原文地址是http://blog.csdn.net/zhzht19861011/article/details/5823537,虽然这些错误提示是在keil MDK编译器上出现的,但是同样警告和错误对...

在Eclipse下编译Keil MDK工程

最近业余时间在玩下ARM7, 使用Keil uVision集成开发环境, 有时真的受不了, 编辑器的代码提示/高亮功能几乎为0, 代码基本是要一个一个字母往里敲! 想想在的VS, Eclipse等下开...
  • weed_hz
  • weed_hz
  • 2014年06月24日 14:49
  • 9773

在Eclipse下编译Keil MDK工程

最近业余时间在玩下ARM7, 使用Keil uVision集成开发环境, 有时真的受不了, 编辑器的代码提示/高亮功能几乎为0, 代码基本是要一个一个字母往里敲! 想想在的VS, Eclipse等下开...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[Keil]ads工程移植到Keil MDK 编译出现的警告和错误解决
举报原因:
原因补充:

(最多只允许输入30个字)