问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

请问怎么自学嵌入式

发布网友 发布时间:2022-04-26 13:43

我来回答

4个回答

热心网友 时间:2022-06-28 18:04

C语言是嵌入式最重要的基础知识,主要把C语言学好,但是掌握了它并不代表你的基础已经很好了,嵌入式学习相关的入门基础主要是这些:
一是程序设计的基础,例如:基本的编程语言基础,至少对数据类型、程序的结构及流程控制等最基本的内容要相当清楚,所以建议恶补一下C语言,推荐谭浩强的C语言程序设计,好好看一下,呵呵!另外有不少同学都问到数据结构的基础,我一直认为数据结构和算法的学习是帮助形成程序设计逻辑思维的很好训练方式,对于程序员的长期专业素养的提高一定有好处,所以建议即使已经在嵌入式行业中工作之后也应该多补充一些相关的知识。许多在学校没有学过数据结构的同学往往认为这部分非常枯燥、难学。而实际上如果你能明白研究计算机存储和数据组织方式的意义,就一定能够充分体会到数据结构的价值和魅力。一旦兴趣有了,一切就会迎刃而解,呵呵!
二是操作系统工作原理,这部分往往是非计算机专业的同学在学校时没有接触过的。而由于嵌入式软件设计相关的多任务环境、模块间的同步与通信协同、驱动设计等往往都需要有对操作系统工作机制的了解和掌握作为基础,因此建议没有系统学习过的同学,找一本相关的操作系统工作原理书籍认真看一下(不用特厚、特专业、特内核的,先以普及知识为主,呵呵!)。
三是基本的硬件基础,由于嵌入式Linux开发往往是ARM+Linux路线,所以为了能够在后续学习过程中很好地掌握主流嵌入式微处理器的结构与原理(例如:ARM9),就需要对硬件工作原理有初步的了解和掌握,建议看一下诸如计算机组成原理、体系结构等相关的专业书籍。

要深入学习你可以尝试以下路线:
(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脚本等等,所以说学习嵌入式的周期较长,门槛较高,自学的话更是需要较强的学习能力和专业功底。只要能坚持下来一定会取得成功!

至于后面的几个问题,我的回答是ARM,Linux和C语言,推荐你参考华清远见近期推出的2009-2010中国嵌入式开发从业人员调查报告,上面有很详细的解释和说明。

华清远见的嵌入式专业教材比较专业,也很出名,高校图书馆以及外面书店都有卖,你可以去网上搜一下,买本看看,华清远见的网站和技术论坛上面也有很多嵌入式学习资料和视频可以下载,而且更新的速度也很快,LZ没事可以去转转,相信对你会有帮助

热心网友 时间:2022-06-28 18:04

参考这个,有整体的路线介绍,也有各科的教学视频,买开发板的时候要看那种附赠很多学习资料的。

望采纳

热心网友 时间:2022-06-28 18:05

把你邮箱给我,我给你发一份资料。谢谢采纳

热心网友 时间:2022-06-28 18:05

嵌入式开发入门要求比较高,嵌入式开发首先需要学C语言,linux系统命令,unix系统,linux驱动开发,ARM,建议还是到专业培训机构参加一下培训比较好,在嵌入式开发培训行业来说,千锋嵌入式学院是口碑比较好的,清华的师资,教学有保障,你可以做个参考。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么我的眉毛中部有几根会往上翘有什么说法吗? 儿童补铁的药哪种效果最好? 儿童补铁口服液哪个牌子好 台湾的共享单车有人用过吗,想知道他们用的哪款车坐垫用的是哪家的,和... city bike和roadbike区别 报春花怎样扦播 电脑连接上无线网络不能上qq为什么电脑连上无线网却只能登qq 能上网但是不能上qq,是什么原因? 金山网盾、金山网镖、金山毒霸、金山清理专家四个软件哪个防护好一点... 上网的时候,金山网镖、金山网盾和金山毒霸这三个程序需要都开着吗? 学习嵌入式系统开发能干什么?以后从事什么工作,前景如何? 我这种情况,想自学嵌入式可行吗,还是去参加培训好一点? arm嵌入式自学容易吗?出去找工作好找吗?能找到什么样的工作呢? 请问:听别人说开小车开到160码而已,里面的“码”字代表的是什么意思啊? 网球最快速度和旋转是多少呢 棒球的球速最快是多少呢 请问二手的手机卡怎么把小卡换成大卡? 普利司通轮胎型号怎么看 棒球球员投棒球的速度? 普利司通轮胎型号怎么看? 车仪表盘显示69mph什么意思 一马赫等于多少公里? 100公里,100迈,100码一样吗? 丰田车仪表盘上出现mph是什么意思 160mpa压力表安装阀门是多大? 汽车里的mph是什么意思? 棒球投手投出时速160公里的球是什麽概念? 160mph是多少? 山东省威海市建立于哪年? 威海在哪儿呢 买来的虾要第二天食用,要用水养嘛?? 超市买回的明虾怎么放家里养? 买来的新鲜食用海虾暂时没吃的话要放水养吗?第二天吃会坏吗? 世人常说“马王爷三只眼”,人们口中的马王爷是谁呢? 有关赞扬烈士英勇牺牲的名言或诗句? 赞美英雄烈士的经典诗句有哪些? 烈士的古诗词,摘抄? 表达烈士敬意的诗句? 我们都是到有佛教道教,那么道教要拜什么人? 腊月二十三是接财神吗 光绪元宝,大清铜币值多少钱? 一枚光绪元宝铜币值多少钱 小龙虾怎么杀?实在下不去手。。。 怎么杀灭小龙虾 我的新手机SIM卡是要插大卡,可是我的卡是小卡,我要怎么办?? 工厂拖欠工资怎么解决 工厂倒闭拖欠员工工资怎么办 工厂拖欠工资怎么处理 工厂老板拖欠工资怎么办 工厂拖欠工资,怎么处理能够快点拿到工资