|
课程主题 |
实训内容 |
实训目标 |
 |
C/C++语言程序设计 |
|
课时:20天 |
|
标准C/C++开发 |
数据类型,控制语句,自定义数据类型,模块化程序设计,指针, C的常用标准库函数errno.h math.h stdlib.h stdio.h等 |
能独立使用C语言开发应用。
培养良好的编码风格与编码技巧。
|
 |
Linux操作系统基础与shell编程 |
|
课时: 5天 |
|
Linux系统简介与安装 |
内容:介绍linux各个发行版本,学习安装linux系统。
重点:介绍安装过程中的配置选项。
|
掌握Linux系统的安装方法。
|
|
Linux命令 |
内容:基本工具,文件操作,|(管道),压缩和归档文件,VI编辑器的使用。
重点:掌握常用命令的使用。
|
掌握Linux系统的常用命令。掌握vi等编辑器的使用。
|
|
Linux文件系统 |
内容:目录操作、访问权限、链接
重点:掌握目录操作,以及访问权限。
|
掌握Linux系统权限设置等。 |
|
Linux系统配置 |
配置linux系统文件挂载、网络地址、配置samba服务器、配置tftp服务器。
重点:配置文件挂载、网络地址
|
掌握Linux系统的配置方法。包括配置samba、网络、管理用户帐户。 |
|
Shell编程基础 |
内容:Shell编程基本命令 |
掌握Linux shell编程。 |
 |
Linux环境高级程序设计 |
|
课时: 10天 |
|
Linux下C语言 |
Linux系统下编译工具(gcc/g++/ld工具、makefile介绍、GDB调试) |
握Linux环境下的C语言编程方法。精通C语言编程基础,掌握Linux系统下C语言编程工具。 |
|
ANSI文件管理 |
标准IO库,文件基本概念及文件指针,标准文件IO操作。 |
掌握Linux环境下的文件操作编 程。掌握C语言中对文件的操作 ,掌握Linux系统中文件IO的操 作,掌握文件和目录的操作函数 。理解不带缓冲的I/O与标准 IO的区别和联系。 |
|
POSIX标准文件I/O管理 |
Linux系统下文件类型及属性,POSIX标准下文件I/O管理 |
|
Linux文件管理及目录操作 |
Linux文件系统管理、Linux文件及目录管理操作 |
|
Linux进程管理与程序开发 |
进程环境及进程属性、Linux进程控制、Linux进程调度 |
掌握Linux环境下多进程程序开发 |
|
进程间通信 |
管道、信号、消息队列、信号量、共享内存 |
掌握Linux环境下进程间通信机制 |
|
Linux多线程编程 |
多线程的创建与管理,线程间通信机制。 |
掌握Linux环境下多线程程序开发 |
|
Linux Socket网络编程 |
Socket通信基本概念及过程,面向连接的TCP套接字编程实例,面向无连接的UDP套接字编程实例 |
掌握socket网络编程方法。 |
 |
ARM体系结构与开发 |
|
课时: 10天 |
|
ARM体系结构概述 |
内容:ARM处理器介绍,ARM处理器模式,ARM寄存器,ARM体系的异常中断。
重点:ARM处理器模式,ARM寄存器。
难点:ARM体系的异常中断。
|
掌握ARM处理器的体系结构。 |
|
ARM指令集 |
内容:ARM指令集介绍,ARM指令寻址方式,ARM指令集,ARM指令功能段。
重点:ARM指令集,不讲解Thumb指令。
|
掌握ARM处理器的汇编指令。 |
|
ARM存储系统 |
内容:ARM存储系统概述,协处理器CP15,存储器管理单元MMU,cache,与存储系统相关的程序设计指南。
重点:存储器管理单元MMU。
|
掌握ARM存储系统程序设计。 |
|
ARM C/C++编程 |
内容:ARM C/C++编译器概述,ARM C/C++编译参数与支持的关键字,ARM C/C++库,ARM连接器介绍,ARM映像文件。
重点:结合ADS来完成ARM编译器、连接器的设置,实现程序的编译连接。
|
掌握ARM处理器的C语言编程。 |
|
使用ADS |
内容:简单工程项目的使用,配置生成目标,复杂工程项目的使用,工程项目模板,编译和连接工程项目。
重点:掌握ADS的使用方法。
|
掌握ARM处理器的集成编程环境ADS。 |
|
ARM编程实践 |
内容:介绍具体的ARM芯片(如S3C2410/s3c2440),根据该处理器的实际资料来理解ARM体系结构,并根据实验开发板进行编程实践。 |
掌握ARM编程。 |
 |
嵌入式Linux 移植 |
|
课时: 5天 |
|
嵌入式Linux系统 |
内容:介绍嵌入式linux系统的基本概念,组成结构,开发工具。
重点:嵌入式系统的基本概念和交叉编译工具,嵌入式Linux系统的组成。
|
掌握嵌入式Linux系统的组成结构 |
|
设置Bootloader |
内容:介绍各种Bootloader,分析Bootloader的代码结构,进行Bootloader代码的编译和映像烧写。
重点:Bootloader代码的编译。
|
掌握嵌入式系统Bootloader。 |
|
Linux内核 |
内容:linux内核版本、内核配置(配置参数介绍)、编译内核、内核烧写,mtd设备分析。
重点:内核的配置与编译,内核的配置。
|
握嵌入式Linux内核的配置、编译、移植。 |
|
嵌入式Linux根文件系统 |
内容:linux文件系统介绍,根文件系统介绍,文件系统类型分析,根文件系统映像制作。系统启动流程分析。
重点:理解根文件系统,制作根文件系统映像,系统启动流程分析。
|
掌握嵌入式Linux的根文件系统。熟悉各种文件系统类型的优缺点。 |
|
移植应用程序 |
内容:移植linux应用程序实践。 |
掌握移植应用程序设计。 |
 |
QT图形程序设计 |
|
课时:10天 |
|
QT概述 |
内容:Qt版本介绍、Qt对象类模型、信号与槽、对象与对象树、事件过滤器、Qt全局函数、Qt开发工具的安装等,介绍一个最简单的Qt程序。 |
掌握Qt模块与Qt功能类。 |
|
QT模块与QT功能类 |
内容:介绍Qt常用模块、Qt部件与组类说明、基于图形模式部件类、网络与I/O、Qt公有部件等。 |
|
Qt桌面软件设计 |
内容:X11窗口系统信息、窗口布局管理、键盘焦点、菜单、工具栏、状态栏、多文档窗口显示、高级窗口部件、窗口事件与事件过滤等。 |
掌握Qt桌面软件设计。
|
|
Qt程序与用户交互 |
内容:QTime类、行编辑器与标签、显示与编辑多文本、旋转框、复选框与组合框、时间与日期编辑部件、标准对话框、用户输入对话框等。 |
掌握Qt程序与用户交互。
|
|
Qt图形绘制与多媒体 |
内容:Qt坐标系统、访问屏幕信息、绘图系统、图形视图框架等。 |
掌握Qt图形绘制与多媒体。 |
|
Qt网络编程 |
基本网络模型、进程间通信、套接字、Qt网络主机信息类、应用层协议类等。 |
掌握Qt网络编程。
|
|
Qt数据库编程 |
数据库模块的三层结构、SQL驱动程序插件、连接数据库、基于数据的窗口部件等。 |
掌握Qt数据库编程。
|
 |
嵌入式Linux驱动程序开发 |
|
课时:10天 |
|
Linux设备驱动程序简介 |
内容:驱动程序介绍,应用程序与内核程序的比较,构建和运行模块。 |
了解Linux设备驱动程序。 |
|
字符设备驱动程序 |
内容:主次设备号,重要的数据结构,字符设备的注册。
重点:字符设备驱动的编写。
|
掌握嵌入式linux字符设备驱动。 |
|
中断处理 |
内容:安装中断处理例程,实现中断处理例程,顶半部和底半部,tasklet,工作队列,内核定时器
重点:中断处理例程的安装,tasklet,内核定时器。
|
掌握嵌入式linux内存与IO管理、中断处理。 |
|
并发和竞争 |
内容:信号量和互斥体,completion,自旋锁
重点:信号量、自旋锁。
|
|
高级字符驱动程序操作 |
内容:Ioctl,阻塞型IO,异步通知,poll和select,定位设备,设备文件的访问控制
重点:ioctl,阻塞型IO
|
|
分配内存和IO内存 |
内容:Kmalloc函数,get_free_page相关函数,vmalloc及其辅助函数,IO端口与IO内存,使用IO内存,内存映射
重点:内存分配函数,内存映射。
|
|
网络驱动程序 |
内容:TCP/IP网络介绍,Linux网络协议栈分析,Linux网络设备驱动的注册,网络设备驱动使用的数据结构,具体网络设备驱动代码分析。
重点:网络驱动程序的接口。
|
掌握嵌入式linux网络设备驱动、USB设备驱动等。 |
|
块设备驱动程序 |
内容:块设备特点,块设备注册,块设备操作,请求处理。 |
|
USB设备驱动程序 |
内容:USB协议介绍,USB总线枚举过程分析,USB数据包,USB传输方式,结构 struct urb,USB设备驱动程序,U盘协议分析。
重点:USB协议,U盘协议分析
|