太晕了~~
第一次参考示例代码写了一个包含10多个源文件的ADS工程,make时竟然报了51个错误~!!太受打击~
更让人抓狂的是,ADS的armassembler居然不认识EQU,DCD等简单的伪指令~一个劲地对着这些代码报错,诸如:
Error:A1163E:Unkown opcode
library_register.s line 126
126 00000000 TransTable1_BASE EQU 0x5c000000
我睁大四只眼睛,仔细地看了又看,一个字符一个字符地看,把代码之间的空格改成TAB,又把TAB改成空格,都不行~!!我绝望了。
我退缩了:为什么还不会走路就要跑,自己写个鸟程序啊~,还一上来就搞MMU!还是先老老实实地在别人的代码上修改吧~!先映射几小块先~
说干就干,在原来可正确编译并运行的工程里,加入MMU代码,再次make~昏迷~又是一样的错误~!!还是不认识EQU,DCD!!??无奈啊~我再次绝望了。
我绝望到这种地步:把报错的有问题的源文件从工程里移除,重新建立新文件,重新键入代码,保存,编译----->神奇了~!一模一样的代码,居然这次编译通过了~!
惊喜之余,我忍不住在心里把vim编辑器fuck了一把。
vim,多么优秀的文本编辑器~!整齐的排版,漂亮的高亮,简洁的界面,便捷的命令与操作......曾经是我的最爱。今天,I fucked vim for the first time——Maybe I should have fucked ADS CodeWarrior but not vim。
原来,我之前的源程序是用VIM编辑的,只能说ADS太霸道了,可能是与vim的编码还是什么不兼容造成的,所以才不认识EQU,DCD了,后来我在ADS中编辑的一样的代码,就没事了。
为什么不用ADS要用vim?绝非我要标新立异,实在是ADS里的语法高亮太恶心了~尤其是对汇编语言的注释,太恶心~几乎不变色,其他的颜色也很暗淡,虽然可以在preference里设置,不过选项太少~不过没办法,谁叫咱非用ADS不可呢?将就着用吧,提醒以前和我一样喜欢用vim的朋友,如果用ADS进行ARM编程的话,还是老老实实用CodeWarrior吧,不然又要出现什么莫名其妙的错误咯~
后记:可能是我错怪vim了,详情可见
《壞習慣————ADS Coding Style》一文。
阅读(3430) | 评论(0) | 转发(0) |