完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
如何学好嵌入式
嵌入式定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。由于嵌入式系统通常具有低功耗、体积小、集成度高等特点,因此随着消费家电的智能化和廉价微处理器的出现,嵌入式系统将在日常生活里形成更大的应用领域。那么如何才能学好嵌入式呢? 学习嵌入式不是很容易的, 不像其他的专业不是搞软件就是搞硬件的, 搞软件的可以不用了解硬件, 而搞硬件开发的, 可以不用知道软件知识!而嵌入式这个专业你既得会软件开发又得了解硬件知识! 首先学习嵌入式你得有信心!抱着一定要学会嵌入式的决心才能够学好嵌入式! 学习嵌入式你应该掌握的相关知识和技术。 C语言,这个是毋庸置疑的,不管是做嵌入式软件还是硬件开发的人员,对C语言的掌握这个是必需的,特别是对于以后致力于嵌入式软件开发的人,目前绝大部分都是用C语言,你说不掌握它可以吗?至于怎么学习C语言,我想这类基础的知识每一个人都有自己的方法,关键要去学习,看书也好,网络(互联网)上找些视频(video)看也好。特别多人会问,C语言要学到怎麽样,我觉得这木有标准的答案。我想至少你在明白了有些基础的概念后,就该写代码了,动手才是最重要的,当你动手了,遇到问题了,再反过来学习,反过来查查课本,那时的收获就不是你死看书能得到的。 其次,应当对操作系统(System)有所了解,这对你对硬件和软件的理解,绝对有很大的帮助。在长沙英腾技术学习的时候,来自北航的罗老师常常说,学习嵌入式最好硬件软件两手抓两手都要硬。应当把系统(System)的管理理解一下,例如进程、线程,系统(System)怎么来分配资源的,系统(System)怎么来管理硬件的,当然,不是看书就能把这类理解透,假如不是一时能理解,没关系,多看看,结合以后的项目经验,会有更好的理解的。 学习嵌入式的基础要求有C、计算机组成原理、操作系统,当然如果你懂一些C++、数据结构或者单片机就更好了。因为嵌入式是一门综合性非常强的学科,不仅仅是某一门学科的基础能够达到的,所以这方面是多多益善。 操作系统,做嵌入式开发,嵌入式系统是必须的。现在我们常用的是Linux,还有Android这两个。当然两个在应用的领域是有着不同的。 学习课程表嘛,这就不太好给了。但是学嵌入式,首先是掌握一种语言,C语言是必须的,而且它的重要性是“工具”。C语言它仅仅是做开发的工具,如果你连工具都没有,做嵌入式开发就是做梦。其次是掌握一种操作系统,比如说Linux、Android、Vxworks等等,第三,掌握arm开发板,就是ARM体系。最后还得做一些嵌入式项目或者叫产品吧。 软件工程师:如果经历有限,认真学好C/c++(精通) orecal数据库(11g版本的) linux 操作系统(基础 懂得基本的命令 商业开发可没有可视化界面) 如果真学好了,签约到上海的标准的话,应届生(二本以上),刚开始就5000-6500(211),例如亚信联创 嵌入式工程师:如果很有毅力的话:学好C(精通) 指针、链表、文件操作是小儿科(过来人,学校学的觉得很牛,其实出来后才发现还停留在小儿科水平)ARM/8051任何一种 linux系统编程 linux操作系统 linux系统移植 linux驱动移植 这个如果能学好 签约>6000(应届生)比如华为,他们公司就没有低于6K的。。。 C语言是所有编程语言中的强者,单片机、DSP、类似ARM的种种芯片的编程都可以用C语言搞定),因此必须非常熟练的掌握。 推荐书籍:《The C Programming Language》中译版本。 操作系统原理,是必需的,如果你是计算机专业毕业那也就无所谓了,如果是非计算机专业的就必须找一本比较浅显的计算机原理书籍看一看,把啥叫“进程”“线程”“系统调度”等等基本问题搞清楚。 Linux操作系统就是用C语言编写的,所以你也应该先学习下Linux方面的编程,只你会应用了,才能近一步去了解其内核的精髓。 推荐书籍:《UNIX环境高级编程》(第2版) 了解ARM的架构,原理,以及其汇编指令,我们在嵌入式开发中,一般很少去写汇编,但是最起码的要求是能够看懂arm汇编。 系统移植的时候,就需要你从最下层的bootloader开始,然后内核移植,文件系统移植等。而移植这部分对硬件的依赖是非常大的,其配置步骤也相对复杂,也没有太多详细资料。 驱动开发 linux驱动程序设计既是个极富有挑战性的领域,又是一个博大精深的内容。 linux驱动程序设计本质是属于linux内核编程范畴的,因而是对linux内核和内核编程是有要求的。在学习前你要想了解linux内核的组成,因为每一部分要详细研究的话足够可以扩展成一本厚书。 学习嵌入式不仅仅在于学习理论,更重要的是实践,建议自己买个开发板自己捣鼓捣鼓! 更多C语言 C++、JAVA、数电模电、51单片机、PIC STM32 ARM Linux驱动 嵌入式、安卓系统 FPGA、DSP Cortex-M3学习 可加入朱有鹏老师QQ群 397164505 提供各种视频教程学习资料,大家一起学习进步! 理论与实践相结合 一线工程师项目经理教学 结合真实的产品案列 让你感受前所未有的电子产品的开发流程 2016年底给自己一个决心,2017就是新的自己,只为自己!高薪就业不是梦,有想法你就来 IT达人等着你!!! |
|
相关推荐
2 个讨论
|
|
只有小组成员才能发言,加入小组>>
「含关键代码」基于AM3352/AM3354/AM3359的Linux开发案例分享
4868 浏览 0 评论
87357 浏览 0 评论
【高手问答】如何做到精通linux技术?资深工程师带你突破难点
4674 浏览 2 评论
3566 浏览 2 评论
解读Linux :先从创建一个文件夹用来存放jdk压缩文件开始
2451 浏览 0 评论
1949浏览 3评论
这是i.mx6ull的关于usb的宏定义,能解释下这些宏定义的意思
1317浏览 1评论
1226浏览 1评论
求解:aarch64交叉编译工具已经安装成功,环境变量已经配置,怎么将系统架构切换为ARM的架构
1295浏览 0评论
电脑和虚拟机可以互ping,电脑和开发板也可以互ping,但是虚拟机和开发板ping不通是什么原因
1209浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 22:18 , Processed in 2.741521 second(s), Total 48, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号