入学考核:
C语言基础、C++基础、操作系统原理、计算机组成原理 |
序号 |
课程名称 |
课程内容 |
1 |
linux 快速入门 |
Linux 概述; Linux 的主要发行版;
Linux开发环境搭建-vmware虚拟机;Linux的基础知识;
Linux文件系统和文件; Shell的使用;常用的shell命令;
Linux的软件安装;Linux 的编程常识;Linux下VIM的使用;
编译器GCC的使用;调试器gdb的使用;
项目管理工具make的使用;
实验:安装linux系统;常用命令练习 ; gcc编译器使用;gdb调试;编写Makefile |
2 |
嵌入式开发环境的搭建 |
嵌入式系统定义;Linux交叉开发环境介绍;
GNU交叉工具链的制作与使用;宿主机与PC机间的通信;
串口通信;交叉调试;
实验:Minicom配置使用,Windows超级终端配置实验;
NFS共享设置实验 |
3 |
Linux下的C语言高级编程 |
函数与程序结构、指针、数组、常用算法、库函数、
数据结构基础(包括链表、队列、栈、树、哈希表等内容) |
4 |
Linux下的C++语言高级编程 |
面向对象的编程方法 |
5 |
Linux应用编程 |
文件I/O操作编程;
Linux系统调用与用户编程接口;
Linux中文件及文件描述符概述;
不带缓存的文件I/O操作;标准I/O开发。
Linux进程概述;Linux下进程结构;Linux下进程的模式类型;
Linux下进程管理;Linux进程控制编程;守护进程;
实验:文件操作;进程控制 |
进程间通信;多线程编程
管道;管道创建与读写;标准流管道;FIFO
信号发送与捕捉处理;共享内存实现;消息队列实现
线程概述与分类;Linux线程技术发展;线程的实现和基本操作;
线程访问控制。
实验:进程间通信,线程访问控制 |
6 |
Linux网络编程 |
TCP/IP协议概述;OSI参考模型和TCP/IP参考模型;
TCP/IP协议栈;TCP和UDP;
网络Socket概述;Socket通信原理;Socket基础编程。
实验:Socket通信编程 |
7 |
QT程序设计 |
Linux下gui编程介绍;Qt介绍;通过Qt designer认识Qt;
信号和槽;Qt的事件
实验:“Hello word!”Qt ;对象间通信:Signal 和 Slot 机制;
对话框;中的多线程编程;Qt 中的网络编程。
Linux阶段性项目架构 |
8 |
ARM体系架构与编程 |
嵌入式微处理器 ARM寄存器 ARM工作模式
ARM异常中断 ARM汇编指令分类 ARM汇编指令寻址方式
ARM汇编程序设计 C及汇编语言混合编程实验:
实验:基本ARM汇编指令编程;数据处理练习;
MDK开发环境入门 |
9 |
ADS1.2开发环境与接口控制 |
MDK开发环境使用 J-Linuk仿真器使用
ARM调试环境建立 ARM开发板硬件结构 ARM GPIO应用
实验:汇编语言实现跑马灯 C语言实现跑马灯 |
10 |
ARM接口控制(二) |
ARM存储器控制器
NOR Flash应用设计NAND Flash应用设计
实验:存储器硬件设计 SDRAM访问 Flash读取 |
11 |
ARM接口控制(三) |
ARM中断控制器(IRQ和FIQ) IRQ与FIQ中断流程分析
ARM启动代码分析
实验:存储器硬件设计 按键中断实现实验 |
12 |
ARM接口控制(四) |
ARM时钟及定时器 TFT LCD驱动程序设计
触摸屏应用及校准
实验:PWM驱动蜂鸣器实验 LCD显示曲线及图片
触摸屏实现实验 |
13 |
Linux内核基础 |
Linux内核结构分析;Linux内核配置与编译
Linux内核启动流程分析;Linux内核模块设计
实验:配置裁剪内核;升级内核;内核模块设计 |
14 |
Linux设备驱动设计(一) |
字符驱动 驱动中的并发控制、中断、延时
实验:GEC2440小键盘驱动实例;Linux的IIC设备驱动分析 |
15 |
Linux设备驱动设计(二) |
块设备 网络设备驱动 |
16 |
Linux设备驱动设计(三) |
项目设备驱动 |
17 |
bootloader引导程序设计 |
bootloader介绍;u-boot软件工程;u-boot配置与编译;
u-boot移植;u-boot 使用
实验:分析修改u-boot源代码,移植到GEC2440开发板上 |
18 |
嵌入式linux内核开发 |
Linux内核介绍;Linux内核源代码结构;
Linux内核配置系统;Linux内核配置与编译
实验:配置裁剪Linux内核并添加修改驱动,移植到GEC2440开发板 |
19 |
根文件系统开发 |
根文件系统介绍;根文件系统的目录结构;根文件系统内容;
根文件系统制作;添加设备文件;添加动态链接库;
添加系统应用程序;添加配置文件
实验:使用busybox,bash等开源软件构建根文件系统; |
20 |
综合项目架构 |
综合项目架构原理、代码分析及步骤操作
bootloader的移植
内核的移植
根文件系统的制作和移植
项目程序建立与移植 |