关于嵌入式学习路线,我看一些初学者问的很多,因此今天制作相关图文给大家一个参考,这也是华清远见嵌入式学院的的课程体系。也是当前最符合企业用人需求的学习路线。嵌入式系统开发基础理论
1Linux操作系统使用 本课程从零起点,讲述了linux内核的起源、发展历程以及目前广泛的应用场合;概述了linux系统的基本组成框架及组件功能;详细介绍Linux下的文件管理、用户管理、网络管理、软件管理等基本命令;以及包括VI编辑器,GCC编译器,GDB调试器和 Make 项目管理工具等在内的C语言环境搭建知识。
2嵌入式Linux C语言编程 C语言是嵌入式领域最重要也是最主要的编程语言,本课程将在学员C语言基础知识之上,通过大量编程实例重点讲解C语言的高级编程知识,包括函数与程序结构、指针、数组、常用算法、库函数的使用等知识。
3嵌入式Linux C语言数据结构及经典算法编程 数据结构是一门非常重要的基础课,在linux内核、底层驱动、通信协议及实际开发中都有大量应用。本课程重点讲解数据结构的基础内容,包括顺序表、链表、队列、栈、树、图、哈希表、各种查找和排序算法等。每种重要的数据结构都会介绍其理论知识及C语言的实现,还会结合实例讲解其在实际中的应用。
4Java语言高级编程 本课程主要让学员掌握Java语言基本语法,掌握面向对象编程方法,同时和C语言进行对比理解面向对象的高级用法,同时,理解Java中多线程编程,网络编程及常用Java类。通过对Java语言的学习为Android应用编程课程和Android底层系统移植打下基础。
5嵌入式Linux项目开发流程 本课程主要让学员从宏观了解嵌入式Linux开发环境搭建和项目开发流程,让学员建立起整体架构的概念,包括嵌入式产品需求分析和选型、硬件平台、移植、启动代码、驱动开发、系统部署等整个过程。嵌入式系统开发核心课程
6嵌入式 Linux应用编程 嵌入式Linux应用开发是嵌入式Linux中最重要的一部分,也是就业面最广的方向。本课程的主要目标是精通嵌入式Linux下的程序设计,精通嵌入式Linux开发环境,强化学员对Linux应用开发的理解和编码调试的能力,包括系统编程、标准I/O、文件I/O、库的制作和使用等。
7嵌入式 Linux并发程序设计 并发程序设计,是应用开发中非常重要的一部分内容,如何实现程序的并发是重点,又是难点。包括:多进程编程,进程间通信机制,多线程编程,多线程间的同步和互斥机制等。本课程会结合大量的案例来讲解。
8嵌入式 Linux网络编程 应用开发的绝大部分项目都涉及到了网络功能,有一个好的网络编程功底,是从事linux应用开发的基础。包括:网络体系结构,TCP/IP协议,TCP及UDP编程,服务器模型,超时控制,协议分析,抓包等。在讲解过程中,结合了大量实例并使用wireshark抓包工具分析。
9嵌入式数据库开发 能熟练的操作并使用一种数据库,是一个开发人员的基本技能。本课程重点讲解在嵌入式开发中有着广泛应用的的SQLITE数据库。包括:数据库的设计、SQL语句、使用C语言来控制数据库等。
10嵌入式 Linux应用综合项目 对于一个开发人员,必须有一定代码量的积累,才能从根本上提高自己的编程能力。本课程让学员独立完成一个应用层的综合项目, 该项目涉及到了应用开发中的关键技术,包括内存管理、链表、文件I/O、多进程、多线程、网络编程和数据库等。
11Android应用编程 Android系统越来越多的应用到嵌入式领域,掌握Android应用开发的基础知识显得很有必要。本课程主要让学员掌握Android应用编程的主要方法,熟悉常用的应用组件的开发和事件处理机制等,并能理解现在使用的Android应用产品的实现原理,通过本课程的学习,可以完成Android平台的应用项目的编写。
12ARM处理器编程 ARM是嵌入式领域最主要的CPU处理器,了解ARM处理器的基础知识将为后面课程的底层开发打好坚实基础,本课程内容包括ARM处理器体系结构、编程环境、指令集、寻址方式、调试、汇编和混合编程等方面的内容,为后面移植课程的学习打好基础。学完此课程学员可获得ARM公司全球统一授权培训证书。
13ARM硬件接口开发 本课程重点介绍ARM的常用接口开发及硬件电路设计基础(包括IO、串口、看门狗、PWM定时器、模(ADC)、实时时钟、SPI、IIC、CAN总线、NAND FLASH、DMA操作等),另外还有物联网基础的内容,传感网中的热点技术(zigbee,RFID),为后续的课程打好基础。
14综合案例的实战训练 在第二阶段课程中,为了帮助学员充分有效地掌握核心知识点在企业中的具体应用,并开始逐步按照企业需求、流程和规范进行实战训练,在嵌入式Linux应用开发、系统内核开发的课程讲授过程中全部采用项目驱动的方式,将来自合作企业的全真案例贯穿于课程中。通过这种方式带领学员分析企业岗位的真实技术需求,进行案例演练,从而快速掌握相关的技能和开发技巧。
15嵌入式Linux系统开发 系统移植是系统开发的难点之一。往开发板上移植操作系统需要完成大量的工作,包括搭建嵌入式开发环境;移植bootloader;移植内核(bsp开发)和制作根文件系统。
16嵌入式Linux内核开发 本课程是驱动开发的基础课程,深入内核细节,了解Linux相关运行机理,为后面的驱动开发打好理论基础,内容包括内核源码结构、内存管理、进程管理、中断管理、系统调用、内核同步、时钟和定时器管理、信号、调度、进程间通信、文件系统和I/O设备管理等方面的内容。
17嵌入式Linux驱动开发基础 驱动开发既要熟悉相关硬件的操作又要深入理解内核中驱动框架和相关机制。前面的ARM和系统移植课程为驱动课程打下基础。驱动课程的学习需要循序渐进,从最简单的内核模块开始,逐步添加相关代码,实现对设备的各种复杂操作。驱动中的相关机制不需要死记硬背,要理解背后的内核设计思想。此外,驱动和应用层各种编程接口密切相关,学习时要相互关联。
18嵌入式Linux驱动高级开发 驱动开发是嵌入式Linux开发难度最高的内容,也是目前嵌入式行业最紧缺的人才之一。有了前面课程知识的铺垫,本课程将重点讲解嵌入式Linux下常用接口驱动的编写方法; 完成flash驱动、块设备驱动、网卡驱动、液晶驱动、sd卡驱动和usb驱动。
19综合案例的实战训练 在第二阶段课程中,为了帮助学员充分有效地掌握核心知识点在企业中的具体应用,并开始逐步按照企业需求、流程和规范进行实战训练,在嵌入式Linux应用开发、系统内核开发的课程讲授过程中全部采用项目驱动的方式,将来自合作企业的全真案例贯穿于课程中。通过这种方式带领学员分析企业岗位的真实技术需求,进行案例演练,从而快速掌握相关的技能和开发技巧。嵌入式系统开发拓展与实践
20嵌入式Linux在移动开发的典型应用手机Android操作系统 介绍嵌入式Linux在3G领域的典型应用Android系统,了解Android系统如何由嵌入式Linux衍生出来的,以及Android系统和嵌入式Linux系统差异化,了解Android系统的体系结构、开发特点以及关键技术点,并重点学习ARM对Android系统的支持现状,掌握ARM平台上的Android相关开发工具和解决方案,重点讲解Android系统在ARM平台上的移植过程,介绍Android系统底层驱动开发和嵌入式Linux驱动开发的差异化,最后介绍ARM+Andriod平台组合的行业应用前景,使学员全面了解Android系统的开发过程及发展前景。
21Android底层系统开发 通过本课程的学习,学员可以掌握从Ubuntu系统上搭建Android开发环境开始,到最终Android系统硬件抽象层分析,从简单到复杂,从基础深入到架构,以源码分析为主线,架构设计理解为蓝图,上手实验为目的,系统介绍Android系统移植与架构开发要点。其中主要内容为:下载编译Android源码、Android系统启动流程分析、定制产品系统、Android移植技术要点分析、硬件抽象层实战等。
22超级大项目嵌入式Linux & Android项目实践 课程将通过真实完整的项目案例,让学员了解真实项目的开发流程,让学员知道如何将所学知识应用到项目开发中。本课程将模拟真实项目的管理过程,培养学员项目团队协同开发能力,项目文档编写能力和新知识的学习能力,为下一步就业做好知识上和心理上的充分准备。目前学员在嵌入式学院有嵌入式linux和Android两个方向的项目可以选择。包括:智能手表项目、便携式智能医疗系统、基于开源平板的智能家居系统、网络机顶盒项目—智能TV、仓储物联网系统、智能农业综合实训系统、基于GPRS的远程安防监控系统、车载导航系统、3G智能机器人、基于Android的智能家居系统及商用POS机、汽车导航GPS、个人娱乐系统PMP等,学员可在嵌入式学院学习期间独立完成其中一个项目。