如何学好嵌入式开发之我见主讲人:胡洲时间:2011年2月纲要什么是做嵌入式开发;做嵌入式开发需要学习哪些硬件知识;做嵌入式开发需要掌握哪些软件知识;做嵌入式开发的几种境界;怎么成为一个优秀的嵌入式开发者;嵌入式系统定义嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于对功能、可靠性、成本、体积、功耗等方面有特殊要求的专用计算机系统。常用的硬件设备处理器外围接口电路电路板各种供电设备处理器单片机:51系列,PIC系列,AVR系列等;DSP:TMS320C2000,C5000,C6000系列;ARM:ARM7,ARM9,ARM11等;可编程逻辑控制器:PLC;可编程硬件:CPLD/FPGA;嵌入式处理器学习步骤首先学习8位单片机,51系列,PIC16系列;然后学习16位单片机,PIC24系列;然后学习32位单片机,ARM7,ARM9;在学习完8位机后,还可以学习CPLD/FPGA器件;对于各种外围接口电路的学习,可以贯穿其中;外围接口电路简单通信接口:UART,I2C,SPI,CAN,USB;网络通信接口:10M/100M以太网;其它输入接口:键盘,鼠标,AD器件;其它输出接口:LCD,TFT,DA器件等;电路板画电路板两层板,四层板,六层板;Protel99se,AltiumDesigner,PADS;制板交给专业的制板公司制板;板厚,铺铜厚,喷锡;焊板做嵌入工的工程师,尤其是做硬件,一定要会焊板。各种供电设备交流电:220V;直流电:3.3V,5V,12V等;专业电源稳压芯片;嵌入式软件做嵌入式系统,除了需要合适的硬件平台外,要实现目标功能,还需要优秀的软件。两种嵌入式软件开发模式;掌握常用的软件开发环境;常用的嵌入式操作系统;嵌入式软件开发模式基于前后台的裸机程序编写软件模块,所有模块在一个死循环中顺序执行。基于操作系统的应用程序开发按软件模块划分编写任务或进程,操作系统按照一定的算法调度进程执行。常用的软件开发环境软件开发环境,是做嵌入式开发的利器,不同的硬件平台有不同的开发环境,一些主流的开发软件是每一个立志于从事嵌入式行业的人必需掌握的。Keil51,开发51系列单片机MPLABIDE8.36,开发PIC系列单片机CCS3.3,开发DSPADS1.2,开发ARMQuartusII5.1,开发CPLD/FPGA常用的嵌入式操作系统UcosII简单,易用,实时性强,但功能较少,适合搞控制。Linux2.6免费,通用,功能多,安全性好,但开发难度大。VxWorks实时性极好,但不开源。WindowsCE开发简单,有微软支持。Android目前非常流行的一款手机操作系统。基于Linux内核。漫谈嵌入式开发的几种境界第一重境界在第一重境界时的表现是热衷学习和使用新的技术,但都限于局部,比如新的CPU,可编程技术,网络,有线无线,各种嵌入式操作系统,各种总线,甚至于新的存储器件。第一阶段对以后的发展很有作用,所以尽管向追星一样追随各种新鲜技术吧,保持自己的热血沸腾和对知识的渴望最重要。“凌厉刚猛,无坚不摧,弱冠前以之与河朔群雄争锋。”“紫薇软剑,三十岁前所用,误伤义士不祥,悔恨无已,乃弃之深谷。”第二重境界经过第一重的洗礼,如果你还对嵌入式系统热情不减,你可能自然走进第二重,此时,以前热衷过的技术都被抽象了,面对新的CPU或OS,你只需看看他的新特性就知道他是否会给你的系统带来更多的好处,从而决定你是否使用它,各种总线也只是转化成带宽等各种指标,总之,每个部分在系统中的作用和影响已经烂熟于心,所以能达到取舍自如。“重剑无锋,大巧不工。四十岁前恃之横行天下。”第三重境界第二层到第三层的转变应该不是简单的时间累计,而是取决一个人对系统深入的思考和理解,此时可能对你的挑战更多来自于对需求的理解和实现规划,以及对系统的创意。系统在你眼中更像一个自己创造的生机勃勃的生命,CPU像大脑一样有条不紊的调度,电源如心脏一般向系统传递能量,每个模块的功耗都是如此恰到好处,数据流似血液一样在系统中流动“四十岁后,不滞于物,草木竹石均可为剑。自此精修,渐进于无剑胜有剑之境。”。嵌入式技术的学习方法成为一个优秀的嵌入式开发者的必备要素:注重理论与实践的结合;看英文原版资料;学会总结,技术文档;上网查找资料;