ARM的开始

来源:互联网 发布:淘宝店手机专享价 编辑:程序博客网 时间:2024/05/16 08:54

在笔者记录ARM的时候,忍不住有写写大学时候的那点破事。

   话说第一次接触嵌入式微处理器还是大二参加全国电子设计大赛的那会。想那年的大赛真是风风火火,俨然相似于上世纪中下期全国总动员***(读者你们懂的了)。一把破烙铁就如火如荼没日没夜的焊...某日培训老师给我们每组发了一块ATmega16的小开发板,自此我的嵌入式电子生涯也拉开了帷幕。得到开发板后就是开始用ATmega16的io去驱动点亮LED或数码管,使用过程中洋溢着对C语言老师的爱慕之情,太神奇了。经过一个多月的培训去参加比赛,作为菜鸟的我们那是毫无悬念的捧回了成功参与奖。赛后已是大三,开始看ARM方面的书籍,说到这个书籍还得仰仗周立功老师公司编著的教程,凭借以前玩八位单片机的基础懵懵懂懂的入了个门(现在想起来还真肤浅),当时一块内嵌ARM处理器的开发板也着实忒贵,负担不起,所以一直停留在理论学习上。那会只觉得也就只觉得ARM只是强悍一些的单片机。对于ARM的汇编尚是云里雾里,ARM的内核体系那是更不用说了。

  大三过后,搞了很长的一段时间VB开发,其实与其说是开发,不如谦逊点说是学习,因为那段实践确实学了不少东西。后来也忘记是哪天突然出现了些想法,也就是我们电子信息工程出身的人花了大部分时间去搞VB会不会有点不伦不类?因为计算机的人也很少使用VB这一语言,都是用Java,C#,VC++的啦。也在这时面临毕业设计选题的问题。大三已修完课程,此时也不跟学校做医疗器械的老师搞VB了,所以基本上我把自己定义为只有自己管自己的人了。也是正在此时萌生出了学嵌入式linux的想法,在毕业设计选题那段时间就经常泡在嵌入式坛子里,也是在网上得知友善之臂公司继推出qq2440后又推出了mini2440,那个实惠的价格尚且不说,单是它提供的协助开发文档资料那更是为菜鸟度身订造的,于是挪出了570大洋买了一块mini2440,一段学习基于ARM平台的嵌入式linux的可歌可泣的岁月也随之而来。在这段岁月中衍生的破事也不少,留到博客中“linux”那里讲吧。

   出来工作后便开始切切实实的搞起了ARM底层编程。现在一些主流的ARM7,甚至兴起不久的Cortex M3厂商都会提供比较完善的处理器底层代码,笔者曾看STM32的代码,那是详细到不得了,详细到里面每个函数要传递什么样的参数都罗列出来,用户用起来真是放心又舒适。笔者工作中接触的第一款处理器也到现在还是用的这一款处理器是Freescale在09年推出的一款基于ARM11内核的处理器(职业操守所限,这里就不说具体的型号了,哈哈),据笔者了解当时甚至到了现在Freescale官方也还只针对这一个平台提供Linux内核的源代码,没有任何一些其他代码了。我们在产品开发中并未在处理器上运行任何一种操作系统(这就是俗语说的“裸奔”吧),所以比如要使用处理片上的串口,那还得一点一点啃它数据手册,然后写初始化程序,甚至连寄存器地址都得照手册抄一遍。

   因为当前支持ARM11比较好的集成开发环境就是RVDS4.0了吧(用惯了RVDS4.0,ADS、keil C等确实再也用不上手了,单是代码编辑方面后两者就远比不上前者),不过正版license好贵啊,这种情况读者你都知道是该怎么做了。由于编译器版权原因及调试工具价格等原因在调试程序过程中没能用上任何的在线调试工具(能用J-Link,U-Link真好幸福啊),靠的就是写的串口程序,调试程序时串口输出变量或寄存器的值,一点一滴,从编写处理器的汇编启动文件开始,然后就一直到了现在底层硬件完全系统跑起来...