文章摘要:嵌入式如何学
嵌入式系统无疑是当前热门有发展前景的IT应用领域之一,嵌入式系统用在一些特定的专业设备上。那么嵌入式怎么学呢? […]
嵌入式系统无疑是当前热门有发展前景的IT应用领域之一,嵌入式系统用在一些特定的专业设备上。那么嵌入式怎么学呢?现在就一起来看看吧。
嵌入式学习方法
1. 计算机组成/微机原理
主要是为了了解微型计算机的硬件工作原理,明白CPU、总线、I/O、存储器等一些关键结构是怎么工作的,虽然是很枯燥的知识,但是对熟悉外围设备硬件工作方式,及操作系统,软件架构的设计及优化相当关键。
2. 操作系统
嵌入式产品应用比较广泛的是Linux和WinCE。但操作系统的内部设计原理都是殊途同归。首先要去学习的是操作系统原理,去了解进程通信、内存管理、文件系统等几个重要的部分,因为这些在软件开发尤其是内核驱动开发时会用到。接下来可以去熟悉至少一种主流的操作系统,Linux是一个很好的选择,去了解它的内核架构,设备驱动架构,如何去编译,裁剪,编写应用程序,以及如何使用在具体的嵌入式产品上。
3. 数字电路
学习这方面的知识主要是了解一些基本的电路知识,如门电路、逻辑电路、存储器、寄存器,为了更好的理解嵌入式芯片,存储器,外围设备等硬件的设计,但往往在软件开发中未必能用的到。因为大部分硬件都提供了很完整的软件接口。
4. 编程语言:C语言和汇编
对于C语言本身的基础来说,无非是把结构化,函数,数组,指针弄熟,但是嵌入式开发对C语言应用的要求会更高。要对内存分配,文件访问,寄存器访问,预处理指令,中断处理程序等等相当熟悉,这些都是在使用中要注意的细节问题。C语言对程序的优化也很重要,而这些往往是需要从全局去考虑。汇编一般是和处理器的指令集相关的,可以更好的去理解处理器的工作原理,往往是用在一些需要效率的地方,如系统的初始化。
5. 数据结构和算法
数据结构在嵌入式开发中也很重要,比如说操作系统里的很多实现都用到了具体的算法。基本的数据结构需要掌握,如各种链表,树,图等等;而算法的学习需要数学知识作为铺垫,用计算机语言去实现。对于软件从业人员来说,算法终究是一个工具,在实际应用时再深入挖掘也可。
新手学习嵌入式开发要学什么
1.电路知识
首先你要学习电路、模电、数电,认识电阻、电容、三极管,基础器件要知道,放大电路、集成运放、时序电路基本电路能看懂,不然看电路图一定是云里雾里,也就无法进行后续的工作。硬件产品的设计实现,包括器件选型、原理图和PCB设计、电路调试,都需要过硬的电路基础。
2.C语言
C语言是嵌入式开发中最重要的编程语言,要对这门语言有深入的理解,毕竟不仅仅要会写程序,看懂他人程序也很重要。最基本的数据类型、数组、指针、结构体,链表、文件操作等都要会,掌握基本语法和语句,不然你要能区分指针数组与数组指针吗?
3.单片机
单片机入门相对简单,通过单片机的学习可以熟悉单片机的硬件结构,包括I/O口、AD转换、通信(串口、并口、I2C、CAN、USB、以太网、ZigBee技术等)、显示(LED、LCD等)、控制(PWM等控制技术)、数据处理(图形、图像、语音、视频等的处理或识别)等,学好单片机可以为采用嵌入式系统奠定良好的基础。
4Linux基础
Linux的源码和架构都是开放的,在嵌入式系统中应用尤为广泛,学习Linux对于系统的开发会有很大的帮助。详细了解Linux下的目录结构、基本命令、编辑器VI、编译器GCC、调试器GDB和Make 项目管理工具,Shell Makefile脚本编写等知识,以及嵌入式开发环境的搭建。
学嵌入式需掌握哪些必备知识
1.C语言,这一点是毋庸置疑的,不管你是做嵌入式软件还是硬件开发,对C语言的掌握是必需的,特别是对一些准备致力于嵌入式软件开发的人,现在绝大部分都是用C语言,你说不掌握它,能行吗?至于如何来学习C语言,我想每个人对这些基础知识都有自己的方法,但关键是要去学习,不管是看书还是网上找视频资源都可以。
2.应该对操作系统有所了解,这样可以保证你对硬件和软件又更深刻的了解,同时也具有更大的帮助,比如进程、线程、系统是如何来进行分配资源的,系统是如何来进行管理硬件的,对于初学者一定要多看看,结合以后的项目经验,会有更好地理解。
3.嵌入式系统,比如linux或者是wince下的编程,这些对以后做应用的编程会有很大的帮助。
4.可以学一下单片机、arm或者是mips,很多人认为只有具有单片机的经验才可以学习arm,但是我觉得那没有什么问题。
5.阅读优秀的代码,再以上四点知识内容都了解之后,阅读一些优秀的代码也是非常有必要的,可以结合arm芯片手册学习,可以学习下UBOOT的源代码,了解小的系统开发,这些内容对你整个嵌入式开发是非常有帮助的,如果可以,还可以学习一下linux源代码,如果这些内容你都看完了,那你就是一名很成功的嵌入式工程师。
至于如何来学习?我想每个人都应该找到属于自己的好方法,适合自己的学习方法才是重要的,无论是书籍还是学习视频,都应该挑选一些适合自己学习的资源。所有这些学习资源内容以及学习过程都是由浅入深的,在我们学习过程中都有着非常大的帮助。