第二阶段 嵌入式系统开发
职场定位:Linux Development Engineer for Embedded System
本期目标:参加本期培训的学员应该掌握嵌入式C语言高级编程技巧。嵌入式Linux应用开发和系统开发是嵌入式Linux中最重要的一部分,也是企业人才需求最广的一部分。本期学习的主要目标是精通嵌入式Linux下的程序设计,熟悉嵌入式Linux开发流程,强化学员对Linux应用开发的理解和编码调试的能力,同时掌握bootloader和kernel的移植技能,了解ARM体系结构和编程,具备ARM硬件接口的基础知识,并了解Linux内核开发相关内容,在初步掌握Linux下的驱动程序开发方法的基础上,通过典型应用场景的分析举例,深入掌握Linux驱动程序的开发技巧,让学员能够熟练的移植或编写不同类型的设备驱动程序。 |
|
时间 |
课程名称 |
课程内容 |
第 8 天
|
嵌入式linux应用开发
|
8.1 静态库的制作和使用;8.2 动态库的制作和使用;8.3 标准 I/O 文件类型的介绍;8.4 标准 I/O 和文件 I/O 介绍;8.5 标准 I/O 函数
|
第 9 天
|
嵌入式linux应用开发 |
9.1 unix 基础知识;9.2 文件 I/O 介绍;9.3 文件 I/O 函数;9.4 取得文件的属性信息;9.5 目录读取函数 |
第 10 天
|
嵌入式linux应用开发 |
10.1 进程基础;10.2 进程相关命令;10.3 进程相关系统调用;10.4 守护进程 |
第 11 天
|
嵌入式linux应用开发 |
11.1 线程基础;11.2 线程同步机制;11.3 线程互斥机制;11.4 进程间通信方式 |
第 12 天
|
嵌入式linux应用开发 |
12.1 无名管道;12.2 有名管道;12.3 信号的基础;12.4 信号的命令介绍;12.5 信号相关函数使用 |
第 13 天
|
嵌入式linux应用开发 |
13.1 IPC-共享内存;13.2 IPC-消息队列;13.3 IPC-信号灯集 |
第 14 天
|
嵌入式linux应用开发 |
14.1 TCP/IP 协议概述;14.2 OSI 参考模型;14.3 TCP 和 UDP;14.4 网络编程 |
第 15 天
|
嵌入式linux应用开发 |
15.1 socket 概述;15.2 socket 类型;15.3 地址结构相关处理;15.4 数据存储优先顺序;15.5 地址格式转化 |
第 16 天
|
嵌入式linux应用开发 |
16.1 socket 基础编程;16.2 网络高级编程;16.3 广播和组播;16.4 I/O 模型;16.5 数据库开发 |
第 17 天
|
项目实战 |
网络实战项目-在线词典…… |
第 18 天
第 19 天
第 20 天
第 21 天
第 22 天
|
ARM 五天课程
|
本单元内容包括 ARM 处理器体系结构、编程环境、指令集、寻址方式、调试、汇编和混合编程、 ARM 的常用接口开发及硬件电路设计基础(包括 IO、串口、看门狗、实时时钟、 SPI、 IIC 等)。 |
第 23 天
|
嵌入式linux系统开发 |
23.1 嵌入式系统介绍;123.2 嵌入式 linux 系统构成;23.3 Gcc 介绍;23.4 Gnu 工具链介绍;23.5 Crosstool 介绍;23.6 嵌入式 linux 开发环境搭建;1.7 Bootloader 的工作原理 |
第 24 天
|
嵌入式linux系统开发 |
24.1 u-boot 简介;24.2 u-boot 命令介绍;124.3 u-boot 目录结构;24.4 u-boot 的编译;24.5 u-boot 命令的添加 |
第 25 天
|
嵌入式linux内核及驱动开发 |
25.1 Linux 内核简介;25.2 Linux 内核源码层次分析;25.3 嵌入式 linux 移植介绍;25.4 Linux 内核介绍;25.5 Linux 内核特点;25.6 Linux 内核源代码结构;25.7 Linux 内核选项解析;25.8 Linux 内核编译链接;25.9 内核模块编译、使用方法 |
第 26 天
|
嵌入式linux内核及驱动开发 |
26.1. Linux 内核调试概述;26.2. Linux 内核的打印函数;26.3. Linux 内核启动过程错误分析;26.4. 解析 oops 信息;26.5. 常用调试方法和工具;26.6. 集成部署 Linux 文件系统;26.7. Linux 根文件系统制作;26.8. 文件系统和存储设备的选择;26.9. 通过 ramdisk 挂载根文件系统 |
第 27 天
|
嵌入式linux内核及驱动开发 |
27.1 linux 内核模块开发;27.2 模块外部传参;27.3 模块符号导出;27.4 Linux 设备驱动分类;27.5 Linux 字符设备驱动结构;27.6 字符设备驱动程序;27.7 Linux 字符设备驱动实例;27.8 Linux 并发控制;27.9 Linux 内核 原子操作实现;27.10 Linux 内核自旋锁 读写锁 顺序锁实现 |
第 28 天
|
嵌入式linux内核及驱动开发 |
28.1Linux 并发控制信号量;28.2 设备 I/O 模型;28.3 阻塞和非阻塞;28.4 等待队列;28.5 多路复用;28.6 异步通知;28.7 次设备号识别;28.8 自动创建设备节点 |
第 29 天
|
嵌入式linux内核及驱动开发 |
29.1 内核中时间流;29.2 定时器;29.3 Kobject;29.4 总线设备驱动模型;29.5 Platform 总线 |
第 30 天
|
嵌入式linux内核及驱动开发 |
30.1 中断概述;30.2 中断处理程序实现;30.3 Led 驱动程序实现;30.4 Beep 驱动程序实现 |
第 31 天
|
嵌入式linux内核及驱动开发 |
31.1 设备树介绍;31.2 按键中断程序实现;31.3 Adc 电压采集驱动实现 |
第 32 天
|
嵌入式linux内核及驱动开发 |
32.1 spi 和 i2c 驱动程序实现;32.2 lcd 驱动程序实现;32.3 高级驱动介绍 |
第 33--40 天
|
项目实战 |
仓储物联网系统项目:1)基于 cortex A9 的主控中心,是系统的核心。将整个系统分为多个功能的单个线程,线程间通过互斥锁、条件变量、信号量、共享内存和消息队列等同步、互斥通信机制,实现数据的处理,以及对各种服务,请求的响应。
2)基于 M0(LPC11C14)数据采集端, 通过 M0 端的温湿华 清 远 见 — 中 国 嵌 入 式 教 育 第 一 品 牌度、光敏、烟雾、三轴加速度等传感器完成数据的采集,以及响应警报命令, RFID 完成货物的进库、出库。
3) 基于 Zigbee 完成 M0 与 A9的数据传输,前端完成远程显示、控制终端硬件。网页前端主要实时显示进出库的货物信息,环境参数信息以及进出货物和环境参数的历史记录。同时可以在网页前端发送命令控制相关的操作。
|