全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > EDA/IC设计 >

关于ADS容易出错的地方

时间:2018-05-14 14:25

人气:

作者:admin

标签: ARM  ads 

导读:关于ADS容易出错的地方-由于ARM采用三级流水线结构,因此,当SWI和未定义指令异常中断产生时,程序计数器PC的值还没有更新,它指向当前指令后面第2条指令(对于ARM指令,它指向当前...

建立工程,编辑源文件,把文件加入工程,设置工程属性、编译与链接选项,make!

Error : A1163E: Unknown opcode

vector.s line 14

14 00000020 Reset_Addr DCD Reset_Handler

。。。

全国人民再次震惊了,世界人民傻眼了。。。

我这次的的确确是在ADS的CodeWarrior中编辑的代码~!为什么!?为什么armassembler又不认识DCD了呢?\

关于ADS容易出错的地方

我一个字母一个字母的检查,没有发现错误。我狠狠地在出错的代码前后各敲了一次回车,确保正确换行,还是报错。。。我去掉了Reset_Addr DCD Reset_Handler这条伪操作语句前面的Tab符号,神奇了!!居然不再对它报错了~!!莫非上次也是这个Tab键在作怪,而让我错怪了vim编辑器?

ADS用它的固执再次向自卑的丑男和骄傲的傻妹证实了:好看有什么用?又不能当饭吃~!

天,我在语句前面加一个Tab符号,不过是想代码看起来整齐些,难道爱美也有错嘛~没有规矩,不成方圆,当兵就得有当兵的样,部队就有部队的规矩,要不去当文艺兵得了————写代码就是让代码去当兵,个个理成平头一个样,还谈啥好看哩~想不到,有些时候Tab也是不能乱加的,想让代码整齐清楚的一些小动作,到了ADS这里竟也成了壞習慣了~!

你甭说,这ADS的armassembler/compiler/linker有时候就TMD怪,尽出些只有机器能明白的错误!咋不做个开发环境让机器去coding呢~!看看这条代码:

MCR P15, 0, R1, C1, C0, 0

有错不?非常简单的写协处理器CP15寄存器1的指令,语法和拼写完全没错误!要是ADS对你报错了,你疯不?它还真报错了!

Error :A1151E: Bad register name symbol

boot.s line 107

还好我心理承受能力强,在我疯之前找出了这个用肉眼看不到的错误:将P15,C1,C0全部用小写字母表示就对了!

MCR p15, 0, R1, c1, c0, 0 ;correct now

说到这里,世界人民忍不住都在心里把ADS给***了一把。

原来,对于协处理器的寄存器符号,都必须用小写字母来表示~!My God!What a ***ing world!

天,又遇到新的毛病!前面说一些伪操作语句前面不要TAB,而又有一些伪操作(directive)前还必须要Tab符号或空格~!不信?把AREA还有与之配套的END语句顶格写试试?!ADS跟你报错没商量~!EXPORT/IMPORT前面也一样必须有Tab符号或空格!

使用ADS1.2时,对于汇编文件,如初始化的init.s,每条语句之前都要加一个“TAB”或空格,否则会出现“unkown opcode”错误。

碰到此类问题可以试试以下方法:

1、去掉语句前面的TAB或试试(已知一些伪操作如DCD,EQU语句前不可有TAB符号);

2、在语句前加空格或Tab符号试试(已知AREA,END,EXPORT/IMPORT前必须有空格或Tab符号);

3、大写改成小写(已知协处理器及协处理器寄存器必须用小写字母表示);

4、TAB换空格或空格换TAB等其他各种办法。

汇编中的注释以;开头,C或C++中用//

--------------------------------------------------

ADS下__main()是C语言的内部库函数,在进入用户main()之前完成内部RAM的初始化工作。

-------------------------

由于ARM采用三级流水线结构,因此,当SWI和未定义指令异常中断产生时,程序计数器PC的值还没有更新,它指向当前指令后面第2条指令(对于ARM指令,它指向当前指令地址加8个字节的位置;对于Thumb指令,它指向当前指令地址加4个字节的位置)。这就是为什么当SWI和未定义指令异常中断发生时,处理器将(PC-4)保存到异常模式下的寄存器lr_mode中,这时(PC-4)即指向当前指令的下一条指令。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信