文章摘要:嵌入式开发要学什么开发板
嵌入式开发学习,除了要学习硬件方面、软件方面的知识外,主要的还是要注重基础的学习,如:计算机组成/微机原理、操 […]
嵌入式开发学习,除了要学习硬件方面、软件方面的知识外,主要的还是要注重基础的学习,如:计算机组成/微机原理、操作系统等。以下是关于嵌入式开发要学什么的具体介绍。
1. 计算机组成/微机原理
主要目的是了解微计算机硬件的工作原理,并了解某些关键结构(例如CPU、总线、I /O和内存)如何工作。尽管这是非常枯燥的知识,但是对熟悉外围设备硬件工作方式,及操作系统,软件架构的设计及优化相当关键。
2. 操作系统
嵌入式产品广泛用于Linux和WinCE。但是,操作系统的内部设计原理都可以达到相同的目标。
首先要学习的是操作系统原理,要理解几个重要部分,例如进程通信、内存管理、文件系统等,因为它们将用于软件开发,尤其是内核驱动程序开发。
接下来,可以熟悉至少一个主流操作系统,而Linux是一个很好的选择,去了解它的内核架构,设备驱动架构,如何去编译、裁剪、编写应用程序,以及如何使用在具体的嵌入式产品上。
3. 数字电路
学习此知识主要是为了了解一些基本的电路知识,例如门电路、逻辑电路、存储器、寄存器,以便更好地了解嵌入式芯片、存储器、外设等硬件的设计。
4. 编程语言:C语言和汇编
对于C语言本身的基础来说,无非是要熟悉结构、函数、数组和指针,但是嵌入式开发将对C语言应用程序有更高的要求。
要熟悉内存分配、文件访问、寄存器访问、预处理指令、中断处理程序等,这些是在使用中应注意的细节。C语言对于程序优化也非常重要,通常需要从整体上考虑这些因素。
汇编一般是与处理器的指令集有关,可以更好地理解处理器的工作原理,往往是用在一些需要效率的地方,如系统的初始化。
5. 数据结构和算法
数据结构在嵌入式开发中也非常重要,比如说操作系统里的很多实现都用到了具体的算法。基本的数据结构需要掌握,如各种链表、树、图等等;而算法的学习需要数学知识作为铺垫,用计算机语言去实现。