多语言展示
当前在线:826今日阅读:60今日分享:41

Keil uVision 常见设置/编译错误总结

大家在使用Keil μVision集成环境进行ARM汇编或是嵌入式开发时,可能会遇到很多编译错误提示。有的错误是因为工程设置的问题,有的是因为代码问题。在此将一些常见的错误列举如下供后来者解决问题。
工具/原料
1

Keil μVision开发环境

2

ARM汇编,C语言知识

常见错误提示及解决方法整理
1

错误提示1:eject.axf: Error: L6221E: Execution region ER_RO overlaps with Execution reg ER_RW原因:       工程中的“Target”步骤出了问题。如果是采用了STMMicro系列的Device设置就不会出现这个问题。因为选择这个设备后很多参数都有自动设定,如果选择的是ARM7/9,Cotex系列的芯片就不会有默认设置,初学者又不了解这参数的设定从而导致编译错误。补充:工程具体怎么设置,请参看下面的“扩展”部分。解决方法:如果选择的是ARM7,ARM9 的Device,按照下面图片中的设置填写即可。

2

错误提示2:xxxx.axf: Error: L6320W: Ignoring --entry command. Cannot find argument 'Reset_Handler'.原因:工程设置中的“Target”步骤出了问题解决方法: 下面图片中的红色矩形小方框内没有选中小黑点,从而导致无法Startup。

3

错误提示3:..\User\main.c(12): error:  #1113:Inline assembler not permitted when generating Thumb code原因:这是将汇编代码错误嵌入C语言中造成的。解决方法:      参看Keil μVision集成环境 中菜单“Help | μVision help”启动打开的帮助文档。具体条目是“RealView Compiler User Guide | Inline assembler syntax和 Embedded assembler syntax”。里面有详细的示例代码,以及解说如何做到ARM汇编与C语言之间的交叉编写代码问题。

4

错误提示4:(创建纯汇编程序)”*** error 65: access violation at 0x : no 'execute/read' permission“ 这个错误提示不是在编译环节产生的,而是在调试的时候提示的。产生这个错误的情形会是如下图一所示。原因是工程创建出了问题!解决方法:    重新建立工程,Device(设备)选择ARM 7 BigEnd(或是你需要的汇编硬件环境),其余的什么都不要设置,然后将你的xxx.s汇编文件Add to project中,最后进行便已连接即可,正确的情景应该如下图二所示。

扩展
1

另一个解决此类问题的好去处就是ARM公司官网的Site FAQs,这里有很多解决方法提供,并且还可以提问。       第三个地方就是 Keil μVision集成环境 中菜单“Help | μVision help”启动打开的帮助文档,里面有很详细的使用说明,以及众多的例子提供。

2

Keil μVision工程如何设置,请参看如下图片

更新

2014年10月02日 seeking第一次更新2014年10月08日 seeking第二次更新

注意事项

帮助文档是英文要耐心看,因为这个是ARM开发最权威的手册

推荐信息