博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
嵌入式学习难点 嵌入式软件学习
阅读量:6971 次
发布时间:2019-06-27

本文共 1301 字,大约阅读时间需要 4 分钟。

 嵌入式学习不是一蹴而就的,需要不断的积累,如果是希望向嵌入式软件方向发展的话,目前最常见的是嵌入式Linux方向,关注这个方向,我认为大概分3个阶段:

 

 

嵌入式学习难点 嵌入式软件学习3个阶段

1、嵌入式linux上层应用,包括QT的GUI开发

2、嵌入式linux系统开发
3、嵌入式linux驱动开发

嵌入式目前主要面向的几个操作系统是,LINUX,WINCE、VxWorks等等。

Linux是开源免费的,而且其源代码是开放的,更加适合我们学习嵌入式。

你可以尝试以下路线:
(1) C语言是所有编程语言中的强者,单片机、DSP、类似ARM的种种芯片的编程都可以用C语言搞定),因此必须非常熟练的掌握。
推荐书籍:《The C Programming Language》 这本经典的教材是老外写的,也有中译版本。

(2) 操作系统原理,是必需的,如果你是计算机专业毕业那也就无所谓了,如果是非计算机专业的就必须找一本比较浅显的计算机原理书籍看一看,把啥叫“进程”“线程”“系统调度”等等基本问题搞清楚。

(3)Linux操作系统就是用C语言编写的,所以你也应该先学习下Linux方面的编程,只有你会应用了,才能近一步去了解其内核的精髓。

推荐书籍:《UNIX环境高级编程》(第2版)

(4) 了解ARM的架构,原理,以及其汇编指令,我们在嵌入式开发中,一般很少去写汇编,但是最起码的要求是能够看懂arm汇编。

(5) 系统移植的时候,就需要你从最下层的

bootloader开始,然后内核移植,文件系统移植等。而移植这部分对硬件的依赖是非常大的,其配置步骤也相对复杂,也没有太多详细资料。

(6) 驱动开发
linux驱动程序设计既是个极富有挑战性的领域,又是一个博大精深的内容。

linux驱动程序设计本质是属于linux内核编程范畴的,因而是对linux内核和内核编程是有要求的。在学习前你要想了解linux内核的组成,因为每一部分要详细研究的话足够可以扩展成一本厚书。
以上只不过是大概的框架,在实际的开发中还会涉及很多东西,比如:交叉编译、makefile、shell脚本等等,所以说学习嵌入式的周期较长,门槛较高,自学的话更是需要较强的学习能力和专业功底。只要能坚持下来一定会取得成功!

嵌入式是一个比较大的概念,有四个分支(主要):

1、微控制器(单片机为例);

2、微处理器(arm为例);

3、dsp(数字信号处理);

4、soc(片上系统);

对于我们初学者而言,首先要学习单片机,以51为代表,等你学好51之后,可以深入学习更艰难的东西;

当然,并不是说你只需要学习单片机;要想学好单片机,你还得学c语言,得学汇编,得学一大堆应用软件;等到单片机能够掌握的不错的时候又需要自己进行原理图、PCB板的设计;还得掌握系统设计的工程管理什么的;比较多。。。。
还是要踏踏实实的学习方面的知识,单片机还是比较简单的,等到学好之后,开始学习arm的时候,你就接触的多了,什么操作系统啊、驱动编写啊、内核移植啊、应用程序的添加啊、上位机的编写啊,,那个就多了,,不过到时候你就全知道了。。。

 

转载地址:http://fiosl.baihongyu.com/

你可能感兴趣的文章
JQuery自定义用户控件方法汇总
查看>>
CVS环境搭建
查看>>
阿根廷探戈 - 维基百科,自由的百科全书
查看>>
安装 Win7 的系统的时候如何分区
查看>>
大数据量问题,按需按实际查询而不是一次加载。
查看>>
Objective-c中@interface、@implementation、@protocal
查看>>
C#.NET 大型通用信息化系统集成快速开发平台 4.0 版本 - 客户常用问题回答
查看>>
[复变函数]第03堂课 1.2 复平面上的点集
查看>>
(原创)用c++11打造好用的variant(更新)
查看>>
EF里一对一、一对多、多对多关系的配置和级联删除
查看>>
smarty模板开发基础总结
查看>>
paip.抓取网页内容--java php python
查看>>
Servlet学习之web服务器Tomcat 详解
查看>>
Python:Opening Python Classes
查看>>
Java8 Lambda表达式教程
查看>>
mvc:view-controller
查看>>
曲演杂坛--页拆分
查看>>
C#汉字转拼音,可识别多音字,带声调,提供正向、逆向、双向分词算法的小程序...
查看>>
Android推送分析
查看>>
HDU 3336 Count the string 查找匹配字符串
查看>>