嵌入式LINUX系统,课程针对目前嵌入式开发工程师的特点,重点讲解LINUX
原理和实际工作中的开发流程,并结合实际操作,加深理解。达到面对企业和
终端客户的高级工程师的水平。
1:嵌入式Linux 入门Linux基础知识入门;Bootloader 、交叉编译环境等的基本概念;嵌入式系统概述;嵌入式处理器介绍;嵌入式操作系统介绍;嵌入式Linux开发流程介绍;CentOS 以及ubuntu安装及使用;Linux基础命令的介绍及使用;实例演示一个嵌入式设备
2:嵌入式Linux 开发基础(一)Linux操作系统简介;Linux内核及文件系统简介;Shell及常用命令;编辑器vim的使用;BASH程序设计;其他应用软件的使用;实验:用 vim 编写一个 shell 程序
3:嵌入式Linux 开发基础(二)gcc使用;gdb使用;Makefile 编写;Binutils工具;Linux内核编译及安装;实验:动手编写一个 Makefile 用 GCC 编译一个程序
4:ARM体系结构 与开发环境搭建嵌入式系统开发基础;ARM体系结构;ARM指令系统;开发板及相关资源介绍,开发板使用;搭建交叉编译环境;常用开发工具使用;实验:搭建开发环境,熟悉开发板流程
5:嵌入式系统 Bootloader 开发ARM 架构;ARM 汇编语言;VIVI分析与开发;U-BOOT分析与开发;实验与实例:用 VIVI 和 U-BOOT 编写 bootloader 在开发板上能顺利运行
6:嵌入式Linux 开发环境搭建与内核裁剪交叉开发环境介绍;搭建ARM 交叉开发环境; 搭建主机开发环境 : NFS、 TFTP、超级终端、minicom、C-kermit; ELDK :The Embedded Linux Development Kit; Linux内核基本知识介绍;Linux内核配置选项介绍;Linux内核编译链接; Linux内核移植基本概念;Linux内核源代码修改; MTD支持及FLASH分区修改; Linux 内核中编译进新的设备驱动; Linux 启动过程的 LOG 分析; Linux 启动过程原理分析; Linux initrd.img 的制作与分析; Linux 内核的调试以及出错分析; Linux内核的 hacking ,oops 及printk; Linux 内核常用的调试方法以及工具; 分析解决内核编译移植过程中的错误; 实例分析与实验: 动手移植一个嵌入式Linux内核使之在开发板上启动
7:嵌入式Linux 文件系统Linux 文件系统介绍; 根文件系统原理及基本概念; Ramdisk Cramfs Jffs2 Yaffs2基本概念;Busybox 介绍以及使用; 制作一个文件系统作NFS LFS 启动使用; 制作Ramdisk文件系统、Cramfs 文件系统、JFFS2文件系统、Yaffs2文件系统; 移植一个嵌入式 web 服务器:GoaHead, Boa ; 实例分析与实验: 动手制作一个嵌入式Linux 文件系统使之在开发板上启动并实现web 服务 补充实验: 在主机上实现 XAMPP :HTTP 服务,FTP 服务,MYSQL ,MySQLAdmin,PHP ,Wiki服务
8:Linux驱动开发 必备的内核知识基本知识及基本概念; 进程 、线程;内存管理;同步互斥;阻塞非阻塞; 中断top half bottom half; 硬件控制;定时延时处理 等; 一个简单的Linux 驱动:hello.c; 实例分析与实验: process.c memory.c irqlock.c timer.c globalfifo.c pollmonitor.c etc
9:字符设备驱动 与设备文件系统字符设备: 字符设备基本概念; Linux字符设备驱动基础; 字符设备驱动程序实现框架; 字符设备关键数据结构; 用户空间与内核空间的数据传输; GlobalFIFO 设备驱动分析; 设备文件系统:(Linux 文件操作、devfs 文件系统、udev文件系统、sysfs 文件系统、Linux 设备模型) 实例分析与实验: Buttons 驱动、LED驱动、LCD驱动
10:驱动调试技术 与PCI设备驱动Linux驱动调试技术: Linux 调试工具搭建; Linux内核驱动调试技术; GDB 、KGDB、KCORE、 DDD、OOPS、PRINTK; PCI设备驱动: PCI/PCI-E协议; Linux PCI 设备驱动开发基础; Linux PCI 设备驱动关键数据结构; Linux PCI 设备注册模型; Linux PCI 设备的管理模型分析; 实例分析与实验: oops.c 、mvsas 驱动
11:FrameBuffer驱动与触摸屏驱动FrameBuffer (显卡)驱动: FrameBuffer显示基本概念以及原理; FrameBuffer驱动程序关键数据结构; FrameBuffer驱动程序的API; FrameBuffer驱动程序的实现; 触摸屏驱动: 触摸屏的硬件原理; 触摸屏驱动的数据结构与硬件控制; 触摸屏驱动的加载卸载、打开释放; 触摸屏驱动的中断、定时处理; 触摸屏驱动的轮询与异步通知; Linux 输入子系统; 实例分析及实验: 显卡驱动、S3C2410触摸屏驱动
12:块设备驱动 与 Flash设备驱动块设备驱动: 块设备基本知识及其驱动的特点; 块设备驱动程序中关键结构体; 块设备驱动程序的注册与请求处理实例分析; 块设备驱动程序的数据处理模型; RamDisk 硬件原理及驱动; Flash 设备驱动;MTD; NOR Flash 驱动;NAND Flash驱动; Flash 文件系统; 实例分析与实验: Ramdisk驱动、S3c2410 NAND Flash 驱动
13:网络设备驱动TCP IP 协议: TCP IP 协议 SPEC的获取; TCP IP 协议 基本工作原理; ARP 、IP 、TCP、UDP、ICMP、 IGMP 等协议的基本概念基本原理; IRIS抓网络数据包实例分析 TCP/IP 协议簇; Socket 网络编程;Socket 基本原理;Socket 编程应用; 网络设备驱动: 1. 网络协议基础知识及原理; 2. 网络设备及其驱动的基本原理; 3. 网络设备驱动程序中关键结构体; 4. 网络设备驱动程序的注册与请求处理实例分析; 网络设备驱动程序的数据处理模型; 网络设备驱动程序的基本实现; 实例分析与实验: Socket 应用实例、CS8900网卡驱动
14:智能家居项目通过WEB页面能进行远程监控,并能远程对于家电进行控制
15:电子数码相册实现数码相册的浏览与图片管理功能,并支持浏览外接U盘中的图像资料,实现幻灯片播放