嵌入式的概念是一个既简单又复杂的的,简单的来说嵌入式是一个针对特定功能的计算机系统,系统可大可小,功能可以实现定制。往复杂的说是嵌入式的领域是很复杂的,学习了嵌入式技术之后可以从事的工作是非常的多的,有嵌入式硬件工程师、嵌入式系统工程师、嵌入式软件工程师等等。那么对于基础薄弱的学员来说基础薄弱学习嵌入式技术的路线应该是要怎样的呢?
嵌入式的学习路线也是又浅到深的,也就分为:基础理论、应用层、底层、实践这几部分。顺序也是由上到下,由浅入深。因此在嵌入式学习过程中。*须要按照这个过程才是更好更具效率的。当然也许有人会反驳,我先学底层不行吗?行那当然是没问题。但是基础跟应用层的东西如果都不熟知,冒然的学习底层,一定会碰壁,底层也是难的。如:ARM体系结构、系统移植、驱动开发等等。
基础薄弱学习嵌入式技术的路线:
1、打好嵌入式软件编程的基础
这一阶段重点打好嵌入式软件编程的基础,包括学习Linux系统的基本应用,Linux的常用命令、C语言编程基础、常用的数据结构。特别是C语言中对指针的理解和应用。这一阶段的主要目的是学习编程语言、开发环境、和培养自己的编程思维,为进一步学习嵌入式开发打下良好的基础。
2、学习ARM体系结构编程
这一阶段才是真正的嵌入式编程,首先我们要选择一款嵌入式CPU和一款嵌入式开发平台,目前ARM 嵌入式CPU应用广泛,这一阶段重点是学习嵌入式CPU的裸机编程,熟悉中断、定时器、串口、NAND FLASH、网络控制器、LCD屏、触摸屏等常用嵌入式外围设备的硬件工作原理,以及如何使用C语言来编程、控制这些硬件。这一阶段除了要学习对硬件编程之外,还需要学习嵌入式硬件的知识,但是对于嵌入式软件工程师来讲,重点是学习硬件的工作原理,在掌握硬件工作原理的基础上,对硬件进行编程控制。这和硬件工程师学习的侧重点有所不同。
3、学习嵌入式系统的构建
这一阶段主要学习带有操作系统的嵌入式系统的构建,包括系统的启动流程、Bootloader的工作流程、UBOOT的编译、裁剪与移植、嵌入式Linux内核的裁剪、移植与编译,嵌入式根文件系统的定制、BootLoader、内核和根文件系统的烧写。 这一阶段的主要目的是掌握带有操作系统的嵌入式系统的构建和烧写过程,以及对嵌入式系统软件的总体构成有个整体认识,为我们接下来学习嵌入式应用和驱动开发打下坚实的基础。
4、学习嵌入式Linux应用程序开发
这一阶段主要学习上层的嵌入式Linux应用程序开发,包括基于Linux多进程、多线程、网络、文件与目录和QT编程。掌握嵌入式Linux环境下应用程序开发技术。
5、学习嵌入式Linux驱动程序开发
这一阶段主要学习底层嵌入式Linux设备驱动程序开发设计,包括常用的字符设备驱动、块设备驱动、LCD设备驱动、触摸屏设备驱动以及驱动程序开发中的核心技术。
6、完成一个综合项目
嵌入式技术关键在于理论和实践的结合,要能够学以致用,完成了以上的所有阶段的知识点学习后,到底有没有学会,会不会用,能不能应用所学知识来解决实际开发中的问题,我们需要来完成一个综合的嵌入式实训项目,例如: 基于嵌入式Linux平台实现的飞行器、 基于嵌入式Linux平台实现的智能机器人等,这些项目都综合应用了嵌入式开发当中的应用,驱动和QT开发技术。