学习路线 课程 学习书籍,嵌入式学习路线( 二 )


都说嵌入式,简单易学,对于编程零基础的人,感觉真的好难?
我是学物联网工程专业的,嵌入式作为核心技术,门槛虽然较高,但也跟其他事物一样,并不是牢不可破 。首先介绍一下嵌入式,再大致谈下学习方法与心得~嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分 。通常嵌入式Web技术嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板 。国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统 。
嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成 。学习嵌入式之前,必须学习其他课程,所谓0基础是不可能的! 1、C语言《C程序设计语言》第二版,徐宝文译,机械工业出版社 。你能区分开指针数组和数组指针吗?你知道函数指针吗? 你能区分开定义一个变量时系统给它分配的空间与用malloc()函数给一个变量分配的空间有什么不一样吗? 2、数据结构《数据结构》C语言版,黄国愉、叶乃青编,清华大学出版社 。
你能合上书本,用C语言实现书中的单链表、双链表数据结构吗? 3、C《实用C程序设计》第二版,中国电力出版社,Steve_Oualline著。此阶段主要是学习其面向对象的编程思想,加深对C语言和数据结构的理解 。4、单片机《51单片机》你能用51单片机做出一样实际的东西吗?即使它再简单!要注意加深对中断的理解 。
5、ARM单片机细读《ARM微控制器基础与实战》周立工编写,即使你不用书中的开发板);细读相关芯片的原版英文文档 。如:arm920TE.pdfS3C2410_1.2.pdf。6、uCOS!!操作系统细读《嵌入式实时操作系统uC/OS-!!》第二版,召贝贝译,你能把uCOS!!移植到自己的平台上吗? 能编写在uCOS!!操作系统环境下运行的针对具体硬件的驱动程序。
7、Linux熟悉Linux环境,学习Linux环境编程,学习交叉编程:细读《linux命令大全.pdf》 ; 细读《GNU Make 使用手册(中译版).pdf》; 学习创建交叉编程环境 。8、Linux操作系统《UNIX环境高级编程》 ;细读“joyfire 笔记”,可在“www.qianrushi.com”网站的好书下载栏目获取;细读《linux内核完全注释》 ;细读《understanding the linux kernel 2》 ;利用源代码阅读利器工具"Source Insight"进行真正的linux内核原码刨析 ;最后进行内核移植,并能编写在linux操作系统环境下运行的针对具体硬件的驱动程序。
9、Linux设备驱动编写可参考《Linux设备驱动程序》10、复习C学习用QT进行图形界面编程:细读《QT编程宝典》;学会通过查看QT电子文档进行QT GUI实地编程 ;学习交叉编程(其实就是把命令qmake变为tmake) 。11、当然,你也可学习一下PCB的制作和设计一个自己的CPU(即软壳)嵌入式是软硬件结合的技术,搞嵌入式软件的人应对ARM处理器工作原理和接口技术有充分了解,包括ARM的汇编指令系统 。
二战考研失败,今年25岁已放弃考研学习编程 。但是嵌入式或JAVA走哪条路好呢?
作为一名IT行业的从业者,同时也是一名教育工作者,我来回答一下这个问题 。对于考研失利的考生来说,应该尽快找到自己新的发展方向,同时尽早进入到产业领域发展 。从目前IT行业的发展趋势来看,当前学习嵌入式或者Java开发都是不错的选择,未来的就业前景也都比较广阔 。从5G通信逐渐开始落地应用的大背景来看,未来嵌入式领域会陆续释放出大量的机会,而且这些机会将主要集中在产业领域 。
嵌入式开发涉及到三大块内容,分别是设备、网络和平台,随着物联网的不断发展,目前嵌入式领域的设备类型也越来越丰富,未来将有更多的设备可以进行编程 。对于初学者来说,可以从了解各种传感器开始 。学习嵌入式开发需要具有较强的动手实践能力,同时还需要掌握一系列编程技术 。另外,学习嵌入式编程还需要具有扎实的计算机基础知识,包括操作系统体系结构、计算机网络等内容 。

推荐阅读