嵌入式学习步骤
一:Linux 基础
1、熟悉:①安装Linux 操作系统 ②Linux 启动过程详解 ③Linux 文件系统 ④Linux 常用命令
2、认识:①Linux 服务能够独立安装 ②Linux 操作系统能够熟练使用 ③Linux 的基本命令
3、设置:①Linux 的常用服务、安装Linux 操作系统 ②Linux 基本命令实践
4、使用:①Linux 的环境变量定制Linux 的服务 ②SHELL 编程基础使用VI 编辑器或其他编辑器
二:SHELL 基础
1、SHELL 简介
2、认识后台BASH 编程,熟悉Linux 下的编程环境
3、熟悉Linux 下的各种SHELL,熟练进行SHELL 编程,熟悉VI基本操作,比较不同SHELL的区别
4、编写一个测试服务器是否连接的SHELL 脚本程序
5、编写一个查看进程是否存在的SHELL 的脚本程序
6、编写一个带有循环语句的SHELL 脚本程序
三:Linux 下的C 语言编程基础
1、Linux 下C语言环境概述,GCC使用方法,GDB调试技术,Autoconf,Automake,Makefile代码优化
2、熟悉Linux 下的开发环境,熟悉GCC 编译器,熟悉Makefile 规则
3、编写Hello World 程序使用make 命令编译程序
4、编写一个带有循环的程序,调试一个有问题的程序
四:嵌入式开发基础
1、嵌入式系统概述
2、交叉编译,配置TFTP 服务,配置NFS 服务
3、下载BootLoader 和内核
4、嵌入式Linux 应用软件开发流程
5、熟悉嵌入式系统概念及开发流程
6、建立嵌入式系统开发环境
7、制作cross_gcc 工具链,编译并下载U-boot,编译并下载Linux 内核,编译并下载Linux应用程序
五:嵌入式系统移植
1、Linux 内核代码、平台相关代码分析,
2、ARM 平台介绍,平台移植的关键技术
3、移植Linux 内核到ARM平台
4、了解移植的概念能够移植Linux 内核
5、移植Linux2.6 内核到ARM9 开发板
六:嵌入式Linux 串口通信
1、串行I/O 的基本概念
2、嵌入式Linux 应用软件开发流程
3、Linux 系统的文件和设备,与文件相关系统的调用
4、配置超级终端和MinCOM
5、能够熟练进行串口通信
6、熟悉文件I/O
7、编写串口通信程序
8、编写多串口通信程序
七:嵌入式系统多线程设计
1、Linux 系统进程概述
2、嵌入式系统的进程特点,进程操作守护进程相关的系统调用
3、了解Linux 系统中进程的概念,能够编写多进程程序
4、编写多进程程序,编写一个守护进程程序
5、Sleep 系统调用任务管理器、同步与通信
6、Linux 任务概述,任务调度
7、管道,信号,共享任务管理,API
8、了解Linux 系统任务管理机制
9、熟悉进程间通信的几种方式
10 熟悉Linux 任务剑同步与通信
11 编写一个简单的管道程序实现文件传输,编写一个共享内存的程序
八:嵌入式Linux 网络编程
1、网络知识基础:
①嵌入式Linux 中TCP/IP 网络结构
②SOCKET 编程
③常用API 函数
④分析ping 命令的实现
⑤基本UDP 套接口编程许可证管理
⑥PPP 协议
⑦GPRS
2、了解嵌入式Linux 网络体系结构
①能够进行Linux 环境下socket 编程
②熟悉UDP 协议、PPP 协议、
③熟悉GPRS,使用socket 编写代理服务器,编写许可证服务器
④指出TCP 和UDP 的优缺点
3、编写一个Web 服务器,编写一个运行在ARM 平台上的网络播放器
九:GUI 开发
1、GUI 基础
①嵌入式系统GUI 类型
②编译QT
③进行QT 开发熟悉嵌入式常用的GUI
④能够进行QT 编程,使用Q T 编写一个HELLO WORLD 程序
2、调试一个加入信号/槽的程序,通过重载QWindget 类方法处理事件
十:Linux 字符驱动设备程序
1、设备驱动程序基本知识:
①Linux 系统的模块
②字符设备驱动分析
③fs_operation 结构
④加载驱动程序,了解驱动程序的概念
⑤了解Linux 字符设备驱动程序结构
2、能够编写字符设备驱动程序,编写skull 驱动,编写键盘驱动,编写I/O 驱动
3、分析一个看门狗驱动程序
4、对比内核Linux2.6 中与2.4 中的驱动程序的字符设备驱动程序的不同Linux 块的设备驱动程序块,设备驱动程序工作原理
5、典型块设备驱动程序分析,块设备的读写请求队列
6、了解Linux 块设备驱动程序结构,能够编写简单的块设备驱动程序,比较字符设备与块设备的异同,编写MMC 卡驱动程序
7、分析一个文件系统对比Linux2.6 内核与2.4 内核中块设备驱动程序的不同
十一:文件系统
1、虚拟文件系统,文件系统的建立,ramfs 文件系统,proc 文件系统,devfs 文件系统
2、MTD 技术简介,MTD 块设备初始化,MTD 块设备的读写操作
3、了解Linux 系统的文件系统,了解嵌入式Linux 的文件系统,了解MTD 技术,能够编写简单的文件系统为ARM9 开发板添加MTD 支持
4、移植JFFS2 文件系统,通过proc 文件系统修改操作系统参数,分析rofms 文件系统源代码,创建一个cramfs 文件系统