谨献给为了知识执着的嵌入式初学者

谨献给为了知识执着的嵌入式初学者




实践当然是最锻炼人的方式,但是我想在校生很少有这样的机会,别说本科生,




硕士生也未必有条件。所以我想学习嵌入式要从个人的知识背景和现实条件出发




。订立合适的阶段目标,在允许的条件下多动手多思考。




一般情况下对于硬件设备是比较短缺的。但是可以从软件方面和嵌入式系统开发




模式上下功夫,提醒大家一点,嵌入式系统开发设计的内容知识很多,所以大家




不要乱,在了解嵌入式系统开发的体系结构后,一步一步的下手,最容易上手的




是linux下的C,比如ucos(有开放源代码),虽然可能无法在硬件上仿真,但也




不必着急。wince,palmos上手都很容易。无论对于初学者还是自以为是高手的人




来说,编程水平(这可不受硬件条件限制)绝对是没有止境的,有了较高的编程




水平(嵌入式主要是C,当然OO的几种语言c++,J ava是发展趋势),等到有机会的




时候及时的补充硬件知识,会很快的成为高手。




还有,一定记住,学习嵌入式,”要想办法,不要找理由“。当年在dos下用tc编




程时的条件,现在回想起来建筑就是奇迹。




我推荐一条发展道路吧,仅供参考,




1、C开发经验


条件:linux(这都有吧)


方法:随便,主要是掌握ansiC编程(不包括gtk,qt等图形可视化开发)




2、网络、操作系统、体系结构


条件:linux,各种书,算法、例程。


方法:通过C编程实现简单的网络等知识的算法和过程。




3、嵌入式系统概念


条件:各个嵌入式网站,讨论组,书籍


方法:少提问(尤其是等着天上掉馅饼,这主要是防止增长惰性,也解决不了实




际问题),多思考。




4、嵌入式开发实践


条件:各种嵌入式系统开发工具的demo版(或者D版,如果有的话),包括编译器




,仿真器。可以找高手们要,也可以下载。


方法:这里有两个分支,一个是基于mcu/dsp的嵌入式系统开发,一个是象




palmos,wince,ucos等rtos下的应用软件开发。对硬件感兴趣,想成为真正高手的




由第一个分支入手,以后进入第二个分支;如果十分厌烦硬件,只想停留在软件




开发上的,可以只由第二个分支入手,以后就和pc上的开发没有什么本质上的区




别了,找份不错的工作应该没问题,可以不用进行下面的步骤了,感兴趣可以参




考第6条。




5、硬件开发


条件:各种嵌入式芯片、存储器等电路器件,protel99等电路设计软件,电路板




制作。




方法:这时候该有开发条件了,最起码是51系列,这个比较方便。电路的设计内




容较多,不过看起来吓人,实际上比软件要简单的多。只要下功夫,实践会告诉




你一切。


6、硬件工程/软件工程/项目管理


条件: 各个芯片详细资料和使用经验,软件工程知识,项目管理知识,培训,大




型项目参与经验


方法:已经是高手了,但是学无止境,沾沾自喜于已有的知识是致命的。那个下




一步。。。,你该是管理者了。








抛砖引玉,以上出自我的经验,欢迎各路高手们补充,初学者提问。




为了技术,一路狂奔。。。 






我来补充几点. 




要想成为高手中的高手,最好从钻研如下领域修炼:


1,分析一种RTOS的源代码--UCOS最容易;


2,分析一种通讯协议栈的实现方式--TCP/IP最实用;


3,精通一种DSP的开发集成环境--TI CCS2.1最优秀,精华在其内带的RTOS;


4,精通一种单片机的开发集成环境--keil C最经典;


5,精通一种MCU的开发集成环境--ADS 1.2最流行;


要想成为大师级人物再从如下领域开始修炼:


1,精通一种系统建模语言和工具--Telelogic tau SDL/UML suit最经典;


2,精通一种算法仿真工具--Matlab simulink 最便宜;


要想检验一下自己是否到达了至尊级人物,可以做如下的事:


动手搭建一套红外或者蓝牙通讯原型系统,模拟前端可以用现成的,基带用DSP,




主控用个32BMCU,DSP和协议软件自己写。当然不可能做全,做个子集就可以了。


如果能到这个地步,打住吧,该改行去做市场了。做个一、二年市场,你不自己




去创个业就太浪费了。








近来,好多朋友问起关于买开发板的一些问题,下面总结一下,算是对这些朋友给一个交待,同时也给后来的朋友们一些参考!




1、CPU的选择,很多人问,买arm7的开发板还是arm9的开发板?个人建议,买ARM9的板子。玩ARM,不跑操作系统简直是种浪费,这方面ARM9比ARM7更有优势,当然ARM9开发板在价格上会高些,不过现在开发板市场上底价的ARM9开发板也有很多,八九百就能买到一款不错的,比如慧通科技的TE2410开发板。




2、系统的选择,一般来说,都会移植一两个操作系统,如Linux,WINCE,UCOS-II,VXWORKS等,图形界面就不必说了。关键看提供不提供源码,有现成的源码,自己编译起来会方便的多。




3、查看硬件设备,很多开发板价格便宜,但是硬件设备很少,不适合学习。所以大家选择开发板的时候一定要注意提供的硬件器件,也就是一分价钱一分货吧!!主要看下面几个方面:(1)看flash sdram容量。(2)看有没有nand flash。(3)usb的是否支持主从。(4)外围接口丰富不,例如vga,sd卡等等。如上面提到的TE2410开发板,接口就比较丰富,大家可以去网站上看看( http://www.witech.com.cn ),该有的都有了,此外还有VGA,TV输出,这为好多囊中羞涩的朋友们可节省了一笔购买LCD的费用了,呵呵!关键是他们还提供驱动的源码,这是很多公司都不提供的!此外值得注意的是:很多板子上有些接口都是摆设,大家在购买的时候务必先确认一下!




4、售后服务。技术的提升关键还要看自己,当然技术支持也很重要,有一个好的技术支持会起到事半功倍的效果。不过,每个人的需求不一样,所谓众口难调也就这个理儿。此处值得注意的是:选择一些自己研发的开发板厂家的话,技术服务会好很多,至少人家技术支持的人专业。

你可能感兴趣的:(谨献给为了知识执着的嵌入式初学者)