嵌入式Linux学习步骤

2019-07-12 20:03发布

  一: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 文件系统