Arm+Linux金牌保就业课程V7.0
第一部分 linux基础与应用程序开发
课程内容
linux基础
1.linux介绍及安装
2.linux目录结构
3.linux常用操作命令
4.压包解包及源码包的编译及安装
5.RPM软件包安装
6.vi/vim使用
7.linux下分区及fstab文件
8.samba,NFS服务配置
实验内容:
1.Linux常用命令的使用
2.源码包的编译及安装,RPM包的安装方法
3.常用文本编辑工具vi的使用
4.stab的格式及嵌入式常用服务的配置
5.NFS,samba服务器搭建
C语言强化
1.Gcc、gdb命令及常用参数的使用
2.C语言基本语法,函数
3.指针、数组,链表
4.Linux下C程序简介
5.linux下的C语言库/接口函数
6.make,makefile,automake
实验内容:
C语言强化练习
Linux下的应用程序开发
1.文件I/O编程
2.系统调用
3.不带缓存的I/O
4.文件锁
5.特殊文件操作
6.串口的通信格式
7.串行通信程序的设计
8.linux进程概述
9.进程的属性和状态
10.进程的系统调用
11.进程的终止
12.特殊进程
13.守护进程
14.进程间通信:管道,信号,消息队列,共享内存,信号量 15.线程
16.线程间通信
17.进程与线程在内核中的调度
18.时间延迟
19.shell编程
实验内容:掌握linux下进程与线程的创建,调用,进程与线程间的通讯,以及时间延迟函数的使用
1.文件操作
2.进程的创建
3.进程间的通信与
4.守护进程的编写
5.线程的创建
6.线程间的通信
7.时间延迟函数的使用
8.shell程序开发,熟练使用shell程序
嵌入式linux下的网络开发
1.OSI网络模型,IP地址,MAC地址,ARP
2.TCP与UDP
3.路由,路由表
4.静态路由协议
5.动态路由协议
6.Socket编程(TCP和UDP)
7.阻塞和非阻塞
8.Libpcap的使用开发
9.Libnet的使用开发
10.TCP/IP协议的分析
实验内容:掌握linux下进程的创建,调用以及进程间的通讯
1.基于TCP编程
2.基于UDP编程
3.编写一个实现ping的一个程序
4.用守护进程原理编写一个简单(proxy)的程序
5.sniffer嗅探工具
嵌入式GUI与数据库开发
1.嵌入式LINUX GUI介绍
2.QT介绍
3.QT图形界面编程
4.QVFB虚拟帧缓存的建立和模拟开发调试
5.QT程序移植
6.QT在实际项目中具体应用
7.嵌入式数据库的概念
8.嵌入式数据库的移植与编程
实验内容: 应用QT编程开发
1.QT图形界面编程
2.在S3C2440上移植QT程序
3.应用嵌入式数据库
第二部分 系统移植
课程内容
嵌入式linux开发环境搭建
1.交叉开发环境介绍
2.编译交叉开发工具链
3.配置主机开发环境
4.建立交叉开发环境
5.编译器和二进制工具详解
6.交叉调试应用程序
实验内容:基于三星s3c2440实验板,建立Linux交叉开发环境,编译和调试嵌入式Linux 用户态程序。
1.熟悉Linux交叉编译虚拟机环境
2.安装开发工具和文件
3.配置kermit终端工具
4.配置TFTP网络服务
5.配置NFS网络服务
6.引导目标板启动Linux内核
7.交叉编译应用程序
8.交叉调试应用程序
S3C2440的内部结构,接口和功能
1.S3C2440的内部结构
2.S3C2440的接口:GPIO接口,ADC接口,UART接口,I2C接口,中断接口,DMA接口
3.定时器
4.嵌入式开发中常用的arm汇编指令
实验内容:熟悉S3C2440的教学板
备注:S3C2440这款CPU的所有硬件知识与汇编指令会在后续的课程中具体结合代码来详细讲解,本章节目标为使学员对S3C2440以及汇编有一个简单的认识和了解,为后续的课程做知识的准备。
bootloader
1.bootloader介绍
2. u-boot文件目录介绍
3. 编译u-boot
4. u-boot源码分析以及启动流程
5. u-boot移植
实验内容:掌握u-boot常用命令,分析修改u-boot-1.1.3源代码,移植到三星S3c2440实验板上
1.u-boot常用命令
2.添加u-boot新命令
3.设置u-boot环境变量
4.配置编译u-boot
5.移植S3c2440的u-boot
linux内核的配置,编译与移植
1.内核介绍
2.linux内核特点
3.linux内核源代码结构
4.linux内核选项解析
5.linux内核编译链接
6.linux内核移植
7.linux内核移植平台相关代码分析
8.动手修改linux内核源代码
9.分析编译过程错误和宏定义的关系
10.linux启动过程源代码分析
11.添加MTD支持
实验内容:配置三星 S3C2440板的Linux内核,熟悉内核配置选项;编译交叉开发环境所需要的内核
1.配置交叉开发环境
2.熟悉菜单配置文件的组织结构
3.熟悉内核配置过程选项
4.加入Kconfig新选项
5.编译交叉开发环境所需要的内核
6.配置交叉开发环境
7.配置编译高版本的Linux内核
8.从零开始移植S3C2440板Linux内核支持到高版本
9.分析解决编译过程中的错误
10.为S3C2440板添加MTD分区表
u-boot,内核综合讲解
1.上电后系统的启动流程以及函数调用详解。
2.u-boot,linux内核之间的参数传递。
文件系统
1.linux文件系统制作
2.linux系统集成测试
3.文件系统和存储设备的选择
4.部署文件系统
实验内容:基于ARM平台上完成ramdisk文件系统的制作和部署
1.制作最小的文件系统
2.部署ramdisk文件系统
在linux下安装vim的命令3.部署jffs2文件系统
4.部署yaffs文件系统
5.Cramfs
6.NFS
7.配置u-boot使系统独立运行
第三部分 ADS仿真调试与linux平台下的驱动开发
课程内容
ADS仿真调试与S3C2440硬件接口操作
1.ADS及AXD工具的使用
2.ARM概述及ARM指令集;
3.利用C语言及ARM指令实现GPIO的控制;
4.ARM启动流程分析;
5.外部中断(按键)实验;
6.PWM定时器和WATCHDOG操作实验;
7.串口驱动实验;
8.USB接口概述;
9.DM9000网卡实验;
10.IIS音频总线接口实验;
11.LCD显示实验;
12.SD卡。
13.nand flash。
字符设备驱动程序
1.linux内核结构
2.linux内核配置和编译
3.linux内核模块编程与加载
4.linux-2.6设备驱动模型与SYSFS文件系统
5.linux设备驱动程序基础与设备I/O
6.LINUX字符设备驱动基础
7.字符设备驱动程序实现框架与典型驱动分析
8.用户空间与内核空间的数据传输
9.阻塞与非阻塞I/O设计
10.linux字符设备驱动程序高级开发
11.linux内核中断子系统
12.中断处理程序编写
13.驱动程序上/下半部处理与延缓执行机制
14.内核定时器与延迟机制
15.内核地址空间与内存使用
16.内核与驱动程序调试
17.在C代码中嵌入汇编代码
实验内容:在pc机上编写简单的虚拟硬件驱动程序并进行调试,实验驱动的各个接口函数的实现,分析并理解驱动与应用程序的交互过程。
1.编写简单的字符驱动并引用
2.为字符驱动建立编译菜单
3.编写S3C2440的GPIO驱动(实现闪灯)
4.编写watchDog驱动
5.touchScreen驱动
块设备驱动程序
1.块设备及其驱动的特点
2.主要结构体
3.注册与请求
4.基于RamDisk的块设备驱动的编写
5.MTD设备
6.MTD设备驱动的框架与关键结构体
linux下MMC/SD卡驱动开发
1.嵌入式系统中几种常见存储介质(NOR/NAND FLASH , CF, MMC/SD)的比较 2.MMC/SD卡简介
3.MMC/SD卡工作中的命令及结构
4.S3C2440中MMC/SD HOST控制器分析
5.linux中MMC/SD存储卡驱动程序结构分析
6.S3C2440中MMC/SD HOST控制器的驱动实现
实验内容: 基于S3C2440开发常用的存储介质驱动,从而了解硬件工作原理 MMC/SD卡驱动移植
网络设备驱动程序
1.套接字缓冲区(SK_BUFF)
2.NET_DEVICE结构分析
3.数据包传送与接收
4.网络驱动的中断处理
5.网络设备驱动程序的基本实现
实验内容  基于S3C2440学习板编写DM9000网卡驱动.
1.编写DM9000网卡驱动
2.结合网络编程的知识应用
Linux帧缓冲驱动程序(LCD)
1.帧缓冲显示技术
2.显示原理
3.数据结构
4.API
5.实现
6.使用高级图形库
实验内容:基于S3C2440教学板编写LCD驱动
USB驱动开发
1.linux内核对USB的支持
2.USB主控制器初始化
3.USB主控制器层次结构
4.USB HUB初始化
5.USB HUB对端口监控
6.USB设备探测
7.USB 总线地址分配
8.USB 设备的初始化
9.USB 驱动实例
实验内容:基于S3C2440教学版编写USB驱动,从而了解USB的工作原理。 1.编写USB鼠标驱动
2.编写USB存储设备驱动
PCI设备驱动开发

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。