本帖最后由 潜艇8421 于 2010-8-24 09:54 编辑
国内8位机的编程者大部份人因受KEIL C的先入为主的影响,经过多年之后固定思维已形成,当这些人由于项目需要,从8位机转向更高速的32位机的时候,就不得不重新进行一次痛苦的编译器学习,KEIL C 由51的UV2到ARM的UV3,界面与开发方式已发生了重大的变化。一些人因此无法适从,从而落后于时代。
看看使用GCC工具的人情况如何?当项目需要起用ST,LPC,AT等公司ARM核处理器,用GCC-AVR的人仅需要熟悉UV3的仿真功能,自行编写一段小汇编熟悉了相关处理器的寄存器功能后,再写一段汇编启动代码然后跳转到C入口主函数main,就可以开发项目了。
如何才算掌握好GCC-avr的工具?
本人给出以下一些参考:
1。能写出一个空函数,既没有现场保护的空函数。
2。能把任意一个函数入口定位到任意指定地址。
3。能控制编译器编译出不带启动代码的主函数。
4。能控制编译器把不同的目标文件定位到想要的地址上。
5。能控制编译器把不同的暂存或要初始化的数据放到指定的段的地址上。
6。能控制编译器的反汇编选项。
7。能控制编译器把汇编写的启动代码与用C写的主函数main连接。 |