相信很多人在刚接触嵌入式后,都觉得很难,也有的人从身边朋友、家人得知学嵌入式会很难的。其实,学习嵌入式并不是我们想象中的那么难,只要懂得C语言,学习起来也会容易的。
学习嵌入式有八个阶段:
第一阶段:C语言高级编程
目的:在嵌入式领域中大部分开发都会用到C语言。C语言简洁、紧凑、使用方便灵活加上GNU在实际项目开发中所做的扩展,使得C语言在整个嵌入式开发过程中起着至关重要的作用。更重要的是用C语言开发的程序在嵌入式平台下可移植性比较强。一个精通C语言程序设计的程序员,可以很容易地从事Linux、WinCE、Vxworks、μc/os等嵌入式操作系统下的软件开发工作。本阶段学习目标是掌握C语言基本知识、巩固C编程语法基础,以及深入C语言高级编程和数据结构与算法,为将来的程序设计工作打下坚实的基础。
第二阶段:Linux基础及图形库(GTK)开发
目标:Linux系统是嵌入式领域发展最为迅速以及占有率最高的嵌入式操作系统,对其掌握的熟练程度直接关系到在嵌入式领域的发展。 本阶段主要围绕Linux系统安装、配置、Linux系统常用工具使用、Linux下图形开发技术—GTK等Linux环境下开发必备知识进行学习,为在Linux系统下开发打下坚实基础。
第三阶段:Linux系统编程开发
目标:Linux系统提供了许许多多的功能,作为一个软件开发人员我们必需学会如何编程去使用操作系统提供的功能。 本阶段主要围绕Linux系统调用、进程、线程、进程间通信等知识进行学习,全面掌握Linux系统下必备的编程技能,能够编写Linux系统下的应用程序。
第四阶段:Linux设备应用开发
目标:嵌入式Linux应用开发是嵌入式Linux中非常重要的一部分,也是企业人才需求最广的一部分。 本阶段学习的主要目标是精通嵌入式Linux下的应用程序设计,熟悉Linux下IO控制技术、数据存储\传输技术、RFID电子标签\条形码信息表达技术、Linux V4L2视频编程技术、oss\alsa音频接口技术等常用开发技术,同时熟悉嵌入式技术在物联网应用中的综合应用。
第五阶段:Linux网络编程开发
目标:信息技术网络化是人们生活以及技术的发展的一个重要方向:手机、电脑、平板网络已成为必备功能,电视、打印机、冰箱等传统家电行业网络化也逐步提上日程,网络已经成为大势所趋。本阶段主要通过网络相关知识学习,让学员从上到下的熟悉整个网络通信过程,熟练掌握网络应用编程、底层编程技术,为进行网络开发打下坚实的基础。
第六阶段:嵌入式Linux平台开发
目标:本阶段将使学员掌握从零开始搭建嵌入式Linux运行环境。首先通过基于ARM cortex-a8处理s5pv210了解芯片手册的基本阅读技巧,掌握s5pv210系统资源、时钟控制器、电源管理、异常中断控制器、nand flash控制器等模块,为底层平台搭建做好准备。Linux平台包括内核裁减、内核移植、交叉编译、GNU工具使用、内核调试、Bootloader介绍、制作与原理分析、根文件系统制作以及向内核中添加自己的模块,并在s5pv210实验平台上运行自己制作的Linux系统,集成部署Linux系统整个流程。同时了解Android操作系统开发流程。Android系统是基于Linux平台的开源操作系统,该平台由操作系统、中间件、用户界面和应用软件组成,是首个为移动终端打造的真正开放和完整的移动软件,目前它的应用不再局限于移动终端,还包括数据电视、机顶盒、PDA等消费类电子产品。
第七阶段:嵌入式Linux设备驱动开发
目标:驱动程序设计是嵌入式Linux开发工作中重要的一部分,也是比较困难的一部分。本阶段课程让学员熟悉Linux的内核机制、驱动程序与用户级应用程序的接口,掌握系统对设备的并发操作。熟悉所开发硬件的工作原理,具备ARM硬件接口的基础知识,熟悉ARM cortex-a8处理器s5pv210各资源、掌握Linux设备驱动原理框架,熟悉工程中常见Linux高级字符设备、块设备、网络设备、USB设备等驱动开发,在工作中能独立胜任底层驱动开发。
第八阶段:项目实践(课程中穿插讲解)
目标:以公司项目开发流程完成一个实际项目,让学员了解真实项目的开发流程,并学会将所学知识应用到项目开发中,根据真实项目的管理过程,培养学员项目团队协同开发能力,项目文档编写能力和新知识的学习能力,掌握需求分析、规格设计、风险评估、时程规划、人员分配等,积累项目开发经验。
这八个阶段,都是资深授课老师们根据自己的经验、结合现在所需总结出来的,保证大家能够学会,能够学到真知识,知识在手,走到哪儿都会发光的。学习嵌入式并不难,只要跟着老师认真学,项目认真做,把所**用到项目中,定会学会的。
|