打造完美Linux 嵌入式学习路线

时间:2021-06-12 18:44:26

学习嵌入式linux的人可能都有过这样的经历,想要想把linux内核原理弄明白,于是从图书馆借了本linux内核,可是看了没几天终于看不下去了,学习linux的热情是好的,也要有一个正确的学习方法。今天就和大家简单说说才是正确的学习linux的路线(只代表个人观点只供参考,每个人都有适合自己的学习方法,不一定都千篇一律,不过适合大多的初学者)。

ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标:   

  (1)掌握主流嵌入式微处理器的结构与原理,可以arm9或者arm11,arm9资料丰富便于学习,arm11逐渐成为主流,所以学习arm11也是一个不错的选择,不过在很多的方面还是大同小异的,也有相通的地方。所以无论是2440还是6410都可以成为学习的对象。
  (2)必须掌握一个较新版本嵌入式l操作系统,学习linux版本最好选择一个比较新的,稳定的版本,因为新的代码修复了很多以前的bug,一些好的机制也被引入,不好的机制也会被去掉。所以我们学习

  (3)必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目。从开头先学习一个简单的程序,比如led的点亮,驱动是如何加入的,应用程序是如何编译的,如何放到开发板中而运行的,怎么调用底层驱动的。其实这个过程是很简单的,并不复杂,只要有一个人指导,用不了半天就都弄明白了,然后慢慢地深入由简单到复杂,不知不觉中就成为大师了。

(4)如果想学上层的图形界面的应用,那么学习一下QT,编一个我们最开始学习的helloworld,放到开发板中运行,或者做一个led灯的,画一个button,然后一点就实现led灯的亮灭,这都不难的,不要认为这个太简单以后用不到,我们可以把这个led看成是一个开发量,一个继电器,那样就可以实现按一下就打开和关闭设备了。以后的工程项目也是这样的一个个小程序叠加起来的。

(5)现在的android系统很火,大家有目共睹,这个也是基于linux的,看看飞凌的android2.3.4的代码,就会明白android是如何实现按一个button点亮led的,虽然是一个很小的工程,可是会让大家认清android的结构框架。每一层是如何调用的,如何注册的服务,如何调用服务,如何通过java调用C++的程序。

  从事嵌入式软件开发的好处是:
  (1)目前国内外这方面的人都很稀缺。这一领域入门门槛较高,所以非专业IT人员很难切入这一领域;另一方面,是因为这一领域较新,目前发展太快,大多数人无条件接触。
  (2)与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些(但收入不低)。做嵌入式软件开发的薪水是普通工人工资的2-5倍。这也是嵌入式火的一个原因。
  (3)哪天若想创业,搞自已的产品,嵌入式不像应用软件那样容易被盗版。硬件设计一般都是请其它公司给订做(这叫“贴牌”:OEM),都是通用的硬件,我们只管设计软件就变成自己的产品了。
  (4)兴趣所在,做嵌入式的人都有一股热情,就是爱好,喜欢这个行业,喜欢做这个,每天都会遇到问题,解决问题,这个过程中会有一种成就感。  
兴趣的由来:
  1、成功观念不同,不虚度此生,就是我的成功。

  2、喜欢思考,挑战逻辑思维。


方法步骤:
1、基础知识:
  目的:能看懂硬件工作原理,但重点在嵌入式软件,特别是操作系统级软件,那将是优势。
  语言基本功能扎实
2、学习嵌入式linux:
  目的:掌握嵌入式处理器其及系统.
  方法:(1)嵌入式微处理器结构与应用:直接arm原理及汇编即可,不要重复x86。
  (2)嵌入式操作系统类:ucOS/II简单,开源,可供入门。而后深入研究uClinux。
  (3)必须有块开发板(arm9以上),FL2440 TX2416 OK6410开发板的资料和代码都非常的丰富,现在的开发板也便宜,几百元就可以买个开发板,还有技术支持。比报一个班便宜多了,现在报一个班怎么也得上万,太贵了而且效果也不太好
3、深入学习:
  A、数字图像压缩技术:主要是应掌握MPEG、mp3等编解码算法和技术。
  B、通信协议及编程技术:TCP/IP协议、802.11,Bluetooth,GPRS、GSM、CDM
A等。
  C、网络与信息安全技术:如加密技术,数字证书CA等。
  D、DSP技术:DigitalSignalProcess,DSP处理器通过硬件实现数字信号处理算
法。

  按照工作需要和自己的兴趣来有选择的学习,不要期望把所有的都学会,那是不可能的事情,要有自己的行长,要精而不要杂,有一技之长要好过每个都会一点点的。


原创作品转载请注明出处

http://blog.csdn.net/cediy2088long?viewmode=contents