“曾经学过的单片机”,这个话题,又把自己带回了学生时代。
首先接触到的单片机,毫无疑问是51单片机,当时在大二,自学单片机,在师兄那里筹钱,自己腐蚀做的小系统板,然后去电子元件城,自己买单片机,晶振,LED灯,电阻……,单片机买的AT89S51,当时是很火的8块钱一块,自己焊接单片机基座,调试,跑起流水灯。最开始使用的编程语言是汇编,后面才转到KeilC,非常怀恋当时用汇编玩单片机的苦逼日子。后面又玩起数显,LCD1602。在朋友的推荐下,又接触到Atmel的其他几款单片机,ATmega8,ATmega16。其中,AT Mega8的性价比最高,ATmega16用来做过智能小车。当时,AVR系列在学院非常火,学校的机器人小队也是用的AVR做控制器,周围的人都是在用Atmel的嵌入式控制器,没有人能够想到10年后的今天,Atmel已经不存在,被Microchip收购。
在大三的时候,进入到学校的嵌入式实验室,开始接触到ARM。也接触到嵌入式操作系统-uc/os II。在玩单片机的时候,没有觉得有多难,在使用ARM的过程中,才发现ARM和单片机是两个不同层次的控制器,处理器的功能要强大很多,寄存器和处理器模式要复杂很多。实验室里面都是使用的周立功提供的ARM开发板,因此都是NXP的LPC21xx系列的ARM7,没有MMU,只能跑uclinux,uc/os II等嵌入式操作系统。当时为了能够尽快地掌握ARM7,找了几本书把ARM的模式和指令集学习了,对照试验手册反复跑,然后在SI中,读uc/os II的源代码,不求甚解,遇到不懂的反复读,没有学过操作系统原理,也找书自学。
在大四的时候,做毕设,接触到FPGA上的软核处理器Nios II,Nios II是Altera于2004年正式推出的32位RISC嵌入式处理器。NiosII系列软核处理器是Altera的第二代FPGA嵌入式处理器,其性能超过200DMIPS。同样是没有MMU,只能跑uclinux,uc/os II等嵌入式操作系统,不能跑Linux,在毕设中,将uclinux移植到Nios II上,并搭建Web服务器,实现远程控制。
读研时,买了飞凌的一块开发板,使用的S3C2440,是ARM9的处理器。工作后又接触到各种手机处理器,虽然嵌入式处理器计算能力在增强,架构也在变化,但是学习单片机打下的基础,解决问题的方法,能够帮助我快速学习和掌握新的嵌入式处理器。
|