谨献给为了知识执着的嵌入式初学者,欢迎高手补充讨论.
实践当然是最锻炼人的方式,但是我想在校生很少有这样的机会,别说本科生,硕士生也未必有条件。所以我想学习嵌入式要从个人的知识背景和现实条件出发。订立合适的阶段目标,在允许的条件下多动手多思考。
我推荐一条发展道路吧,仅供参考,
1、C开发经验
条件:linux(这都有吧)
方法:随便,主要是掌握ansiC编程(不包括gtk,qt等图形可视化开发)
3、嵌入式系统概念
条件:各个嵌入式网站,讨论组,书籍
方法:少提问(尤其是等着天上掉馅饼,这主要是防止增长惰性,也解决不了实际问题),多思考。
方法:这里有两个分支,一个是基于mcu/dsp的嵌入式系统开发,一个是象palmos,wince,ucos等rtos下的应用软件开发。对硬件感 兴趣,想成为真正高手的由第一个分支入手,以后进入第二个分支;如果十分厌烦硬件,只想停留在软件开发上的,可以只由第二个分支入手,以后就和pc上的开 发没有什么本质上的区别了,找份不错的工作应该没问题,可以不用进行下面的步骤了,感兴趣可以参考第6条。
5、硬件开发
条件:各种嵌入式芯片、存储器等电路器件,protel99等电路设计软件,电路板制作。
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和协议软件自己写。当然不可能做全,做个子集就可以了。
如果能到这个地步,打住吧,该改行去做市场了。做个一、二年市场,你不自己去创个业就太浪费了。