怎么一步一步学嵌入式linux
嵌入式工程师step by step(转)
*(1)首先学嵌入不是为了跟风,而是为了逐浪。不是要看大家都去做
* 这一行才去做。是真的喜欢,这样才能精,才能做到“逐浪”!
*(2)成功的历程是漫长、艰辛的,要有一颗艰韧不拔的心:P
*(3)文章中说的学习过程和资料大致差不多。但可惜的是在我花了很
* 长时间入门后才发现这篇文章,要不那短时间会缩减不少。
* 个人觉得需要注意的一点是:文中提到的步骤不是按步就班的,根据
* 个人的情况补全即可:P
**************************************************************/
近来嵌入式挺火,于是大家都往这里挤。我想提醒大家的是,嵌入式马上也会成为如今的软件业。在你进来之前请先考虑清楚。但只要我们真的学精了一样东西,不管它将来变成什么样,哪怕最后只剩下一个人,那个人也一定就是你自己。
很多人以为搞嵌入式就是随便找本书看看,在电脑上编几个程序就完事。非也,其实嵌入式的门槛是比较高的。具体如下:
1、您得有一定数量的Money。
(1)、开发板贵
(2)、培训费更贵
(3)、开发平台是贵得不能再贵。(除非您只是想玩玩而已)
2、需要学习的东西多。(1)、window环境编程;(2)、Linux环境编程;(3)、单片机
3、最后也是最重要的一点,你得有坚韧不拔之志和一颗平常之心。
(1)、自信 坚强 积极 勤快 (注:好的自信是自觉的!)
(2)、成功其实就是成为最好的您自己
嵌入式门槛虽然较高,但也跟其他事物一样,并不是牢不可破。只要我们用心去对待,东雪终将化去,春风定会吹来。具体步骤如下:
1、《C语言》第二版 谭浩强 ; 《C程序设计语言》第二版 徐宝文译机戒工业出版社
你能区分开指针数组和数组指针吗?你知道函数指针吗?
你能区分开定义一个变量时系统给它分配的空间与用malloc()函数给一个变量分配的空间有什么不一样吗?
2、《数据结构》C语言版 黄国愉、叶乃青编 清华大学出版社
你能合上书本,用C语言实现书中的单链表、双链表数据结构吗?
3、《实用C++程序设计》第二板 中国电力出版社 Steve_Oualline著
此阶段主要是学习其面向对象的编程思想,加深对C语言和数据结构的理解。
4、学习单片机,最好能找个前辈带一带。
你能用51单片机做出一样实际的东西吗?即使它再简单!
要注意加深对中断的理解。
5、学习ARM单片机。
(1)、细读《ARM微控制器基础与实战》周立工编写 (注:即使你不用书中的开发板)
(2)、细读相关芯片的原版英文文档。如:arm920TE.pdf S3C2410_1.2.pdf
6、学习uCOS!!操作系统。
(1)、细读《嵌入式实时操作系统uC/OS-!!》第二版 召贝贝译
你能把uCOS!!移植到自己的平台上吗?
(2)、能编写在uCOS!!操作系统环境下运行的针对具体硬件的驱动程序
7、熟悉Linux环境,学习Linux环境编程,学习交叉编程
(1)、细读《linux命令大全.pdf》
(2)、细读《GNU Make 使用手册(中译版).pdf》
(3)、学习创建交叉编程环境.
8、学习Linux操作系统。
(1)、《UNIX环境高级编程》
(2)、细读“joyfire 笔记”,可在“”网站的好书下载栏目获取
(3)、细读《linux内核完全注释》
(4)、细读《understanding the linux kernel 2》
(5)、利用源代码阅读利器工具”Source Insight”进行真正的linux内核原码刨析
(6)、最后进行内核移植,并能编写在linux操作系统环境下运行的针对具体硬件的驱动程序
9、学习Linux设备驱动编写。可参考《Linux设备驱动程序》
10、复习C++,学习用QT进行图形界面编程
(1)、细读《QT编程宝典》
(2)、学会通过查看QT电子文档进行QT GUI实地编程
(3)、学习交叉编程.(其实就是把命令qmake变为tmake)
11、当然,你也可学习一下PCB的制作和设计一个自己的CPU(即软壳)
至此,你已学完嵌入式的整流程!但谨记:一个有思想的人才真是一个力量无边的人;有容乃大,能予方强!
嵌入式系统的设计流程是什么
一、嵌入式系统开发流程
1、系统需求分析:根据需求,确定设计任务和设计目标,指定设计说明书。
2、体系结构设计:描述系统如何实现所述的功能需求,包括对硬件、软件和执行装置的功能划分以及系统的软件、硬件选型。
3、硬件/软件协同设计:基于体系结构的设计结果,对系统的硬件、软件进行详细设计。一般情况下嵌入式系统设计的工作大部分都集中在软件设计上,现代软件工程经常采用的方法是面向对象技术、软件组件技术和模块化设计。
-嵌入式linux培训
4、系统集成:把系统的硬件、软件和执行装置集成在一起进行调试,发现并改进设计过程中的不足之处。
5、系统测试:对设计好的系统进行测试,检验系统是否满足实际需求。
二、嵌入式软件开发
嵌入式软件开发的一般流程为需求分析、软件概要设计、软件详细设计、软件实现和软件测试。与一般的软件开发区别主要在于软件实现的编译和调试两部分即为交叉编译与交叉调试。
什么是嵌入式开发嵌入式工程师可胜任哪些岗位呢
嵌入式工程师有哪些岗位吗?大概薪资多少钱?这些问题,都是大家比较关心的话题,今天小编就简单聊聊哦!
首先我们先来了解一下嵌入式工程师在工作岗位上都做些啥:
嵌入式驱动工程师:编写和移植各种芯片驱动(如音频芯片),优化硬件设备驱动(如温湿度传感器),得精通各种硬件接口协议(如I2C协议)、系统调度、信号量、锁机制等等,开发难度最大。
嵌入式系统工程师:主要是编写固件,根据不同平台移植操作系统,根据应用场景来优化系统,需要熟悉整个操作系统组成与调度,对固件的稳定性高求很高,如果系统不稳定,驱动和应用也是白做的。
嵌入式应用工程师:编写业务逻辑程序,调用驱动工程师提供的接口控制设备,软件开发过程所涉内容范围非常广,主要使用C语言开发,但经常会涉及C++、Java、python、Java、PHP等各类语言以及各种脚本语言、数据库、前端后台、各种通讯协议、甚至一些从来没听过的协议或概念。
无论是哪一类嵌入式工程师,都需要有足够强大的技术功底,以及非常重要的一点就是坚持不懈的学习。
嵌入式软件工程师的月薪平均是多少呢?
目前来讲,一些小公司更愿意去找能直接创造价值的成熟工程师,月薪不用说至少都是1W起,甚至为了挖人,开的更高,否则根本留不住人。但像阿里、百度、这些大厂,他们也都在做智能产品。嵌入式软件工程师据了解是15-30K,12薪是最基本的行情,还有就是一些老牌的嵌入式产品的企业,月薪也相对可观,整体月薪位于25K-40K之间吧。
所以就目前的形式来看,嵌入式就业还是不错的,并且和上层的软件开发比起来,嵌入式开发面对更少的需求更改,版本迭代,让工程师避免重复的、没有创新性的赋值粘贴,有理由工程师的个人成长,因此在择业时选择嵌入式还是一个不错的选择
-嵌入式