序号 |
课程 |
内容 |
课 时 |
完成日期 |
学习笔记 |
总结与收获 |
1 |
前言 |
课程目标介绍 ;
|
1 |
2017/09/11 |
搭建环境 |
沉下心一步步学 |
2 |
嵌入式Linux 入门 |
1.Linux基础知识入门 2.Bootloader 、交叉编译环境等的基本概念 3.嵌入式系统概述 4.嵌入式处理器介绍 5.嵌入式操作系统介绍 6.嵌入式Linux开发流程介绍 7.CentOS 以及ubuntu安装及使用 8.Linux基础命令的介绍及使用 9.实例演示一个嵌入式设备 |
5 |
2017/09/11 |
arm-linux-gcc搭建过程: tar xjf arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2 sudo apt-get install ia32-lib sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 sudo apt-get install lib32stdc++6 linux常用基础命令 (tar xjf ) (tar cjf) (cd ..) (cd ) (ls) (cp) (mv) (rm) ... |
安装完虚拟机即nbuntu系统 成功U-BOOT,内核,根文件系统重装 |
3 |
嵌入式Linux开发基础(一) |
1.Linux操作系统简介 2.Linux内核及文件系统简介 3.Shell及常用命令 4.编辑器vim的使用 5.BASH程序设计 6.其他应用软件的使用 7.实验: 用 vim 编写一个 shell 程序 |
6 |
2017/09/11 |
shall常用命令: http://www.cnblogs.com/BaiYiShaoNian/p/4831022.html 用vim编写shell程序 http://gaoce19871026.blog.163.com/blog/static/116961262013510072118/ |
|
4 |
嵌入式Linux开发基础(二) |
1.gcc使用 2.gdb使用 3.Makefile 编写 4.Binutils工具 5.Linux内核编译及安装 6.实验: 动手编写一个 Makefile 用 GCC 编译一个程序 |
6 |
待补 |
编写简单的makefile http://www.cnblogs.com/mfryf/p/3305778.html |
待补 |
5 |
ARM 体系结构与开发环境搭建 |
1.嵌入式系统开发基础 2.ARM体系结构 3.ARM指令系统 4.开发板及相关资源介绍,开发板使用 5.搭建交叉编译环境 6.常用开发工具使用 7.实验: 搭建开发环境,熟悉开发板流程 |
6 |
待补 |
ARM体系结构 |
待补 |
6 |
嵌入式系统Bootloader 开发 |
1.基础知识 2.ARM 架构 3.ARM 汇编语言 4.VIVI分析与开发 5.U-BOOT分析与开发 6.实验与实例: 用 VIVI 和 U-BOOT 编写 bootloader 在开发板上跑起来 |
12 |
待补 |
ARM体系与编程 1.arm处理器模式:7种模式 2arm寄存器:31个通用寄存器,6个状态寄存器 |
待补 |
7 |
嵌入式Linux 开发环境搭建与内核裁剪 |
1.交叉开发环境介绍 2.搭建ARM 交叉开发环境 3.搭建主机开发环境 : NFS、 TFTP、超级终端、minicom、C-kermit 4.ELDK :The Embedded Linux Development Kit 5.Linux内核基本知识介绍 6.Linux内核配置选项介绍 7.Linux内核编译链接 8.Linux内核移植基本概念 9.Linux内核源代码修改 10.MTD支持及FLASH分区修改 11.Linux 内核中编译进新的设备驱动 12.Linux 启动过程的 LOG 分析 13.Linux 启动过程原理分析 14.Linux? initrd.img 的制作与分析 15.Linux 内核的调试以及出错分析 16.Linux内核的 hacking ,oops 及printk 17.Linux 内核常用的调试方法以及工具 18.分析解决内核编译移植过程中的错误 19.实例分析与实验: 动手移植一个嵌入式Linux内核使之在开发板上启动 |
6 |
待补 |
待补 |
待补 |
8 |
嵌入式Linux文件系统 |
1.Linux 文件系统介绍 2.根文件系统原理及基本概念 3.Ramdisk Cramfs Jffs2 Yaffs2基本概念 4.Busybox 介绍以及使用 5.制作一个文件系统作NFS ?LFS 启动使用 6.制作Ramdisk文件系统 7.制作 Cramfs 文件系统 8.制作JFFS2文件系统 9.制作Yaffs2文件系统 10.移植一个嵌入式 web 服务器:GoaHead, Boa 11.实例分析与实验: 动手制作一个嵌入式Linux 文件系统使之在开发板上启动并实现web 服务 补充实验: 在主机上实现 XAMPP :HTTP 服务,FTP 服务,MYSQL ,MySQLAdmin,PHP ,Wiki服务 |
6 |
待补 |
待补 |
待补 |
9 |
Linux驱动开发必备的内核知识 |
1.基本知识及基本概念 2.进程 、线程 3.内存管理 4.同步互斥 5.阻塞非阻塞 6.中断top half bottom half 7.硬件控制 8.定时延时处理 等 9.一个最简单的Linux 驱动:hello.c 10.实例分析与实验: process.c memory.c irqlock.c timer.c globalfifo.c pollmonitor.c etc |
12 |
待补 |
待补 |
待补 |
10 |
字符设备驱动与设备文件系统 字符设备 |
字符设备:
- 字符设备基本概念
- Linux字符设备驱动基础
- 字符设备驱动程序实现框架
- 字符设备关键数据结构
- 用户空间与内核空间的数据传输
- GlobalFIFO 设备驱动分析
设备文件系统:
- Linux 文件操作
- devfs 文件系统
- udev文件系统
- sysfs 文件系统
- Linux 设备模型
实例分析与实验:Buttons 驱动、 LED驱动、 LCD驱动 |
6 |
待补 |
待补 |
待补 |
11 |
驱动调试技术与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 驱动 |
6 |
待补 |
待补 |
待补 |
12 |
FrameBuffer驱动与触摸屏驱动块设备驱动与 Flash设备驱动 |
FrameBuffer (显卡)驱动:
- FrameBuffer显示基本概念以及原理
- FrameBuffer驱动程序关键数据结构
- FrameBuffer驱动程序的API
- FrameBuffer驱动程序的实现
触摸屏驱动:
- 触摸屏的硬件原理
- 触摸屏驱动的数据结构与硬件控制
- 触摸屏驱动的加载卸载、打开释放
- 触摸屏驱动的中断、定时处理
- 触摸屏驱动的轮询与异步通知
- Linux 输入子系统
实例分析及实验: 显卡驱动、S3C2410触摸屏驱动块设备驱动:
- 块设备基本知识及其驱动的特点
- 块设备驱动程序中关键结构体
块设备驱动程序的注册与请求处理实例分析
- 块设备驱动程序的数据处理模型
- RamDisk 硬件原理及驱动
Flash 设备驱动
- MTD
- NOR Flash 驱动
- NAND Flash驱动
- Flash 文件系统
实例分析与实验: Ramdisk驱动、S3c2410 NAND Flash 驱动 |
6 |
待补 |
待补 |
待补 |
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网卡驱动 |
6 |
待补 |
待补 |
待补 |
14 |
QT 开发 |
- 建立QT 开发环境
- 实例分析与实验
- 构建Embedded QT
|
6 |
待补 |
待补 |
待补 |