嵌入式开发就是指在嵌入式操作系统下进行开发,一般常用的系统有WinCE,ucos,vxworks,linux,android等。另外,用c,c++或汇编开发;用高级处理器,arm7,arm9,arm11,powerpc,mips,mipsel等,或加上操作系统也属于嵌入式的开发。
嵌入式系统(Embedded System)是指以应用为中心、以计算机技术为基础,软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。举例来说,大到油田的集散控制系统和工厂流水线,小到家用VCD机或手机,甚至组成普通PC终端设备的键盘、鼠标、硬盘、Modem等均是由嵌入式处理器控制的。
嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一。嵌入式系统用在一些特定专用设备上,通常这些设备的硬件资源(如处理器、存储器等)非常有限,并且对成本很敏感,有时对实时响应要求很高等。特别是随着消费家电的智能化,嵌入式更显重要。
像我们平常见到的手机、PDA、电子字典、可视电话、VCD/DVD/MP3 Player、数字相机(DC)、数字摄像机(DV)、U-Disk、机顶盒(Set Top Box)、高清电视(HDTV)、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等等都是典型的嵌入式系统。
第一部分:Linux平台搭建与环境熟悉
了解linux系统;区分各种版本的Linux系统,以便于拓展 Linux视野。
1、Linux 简介;
2、Linux 系统的主要特点;
3、Linux 的组成;
4、主要的 Linux 版本;
5、嵌入式 Linux简介与发展
第二部分:虚拟机安装和LINUX系统安装
1、虚拟机安装;
2、Linux系统的安装;
3、Linux系统的常用软件的安装;
4、Linux快速入门
5、 熟悉运用 Linux环境下,常用命令的操作与系统设置,如常用的 Shell;掌握基本的Shell 应用
第三部分:嵌入式LINUX环境搭建
1、 建立嵌入式 Linux开发环境
2、 熟悉嵌入式开发平台
3、 嵌入式 Linux开发工具
4、 Linux下的调试技巧
5、 MAKE工程管理器
6、 硬件环境的搭建;arm-linux-gcc与 gcc安装配置
第四部分: U-Boot
了解 U-Boot 的作用及工作流程;了解Bootloader 的代码结构、编译过程;移植U-Boot;掌握常用的U-Boot命令。
1、 Bootloader介绍
2、 u-boot工程介绍
3、 u-boot的编译使用
4、 u-boot源码分析
5、 u-boot资源分配
6、 配置编译u-boot
7、 u-boot移植过程
8、 u-boot常用命令操作
9、 添加u-boot新命令
10、设置u-boot环境变量
11、 u-boot驱动添加如网卡:DM9000
第五部分:LINUX内核移植
熟悉内核的原码结构和kbuild Makefile语法;掌握和内核、驱动模块编译相关的原理及方法。
1、Linux内核介绍
2、Linux内核特点
3、Linux内核源代码结构
4、Linux内核选项解析
5、Linux内核编译链接
6、内核模块编译、使用方法
第六部分:LINUX根文件系统
1、busybox 包移植、编译
2、Linux跟文件系统制作过程
3、根文件系统介绍
4. nfs文件服务器系统搭建
第七部分:LINUX应用学习
嵌入式Linux应用开发和系统开发是嵌入式Linux中最重要的一部分,也是企业人才需求最广的一部分。
主要目标是精通嵌入式Linux下的程序设计,熟练掌握嵌入式Linux的开发环境、系统编程以及网络编程,熟悉C++、QT编程并且深刻体会整个嵌入式Linux项目开发流程,强化学员对Linux应用开发的能力。
1、Linux系统中的进程的概念,在应用程序中线程与父子进程的创建与应用
2、线程之间、进程之间的通信
3、进程间通信基本概念
4、管道(PIPE)
5、信号(SIGNAL)
6、内存映射(MAPPED MEMORY)
7、消息队列(MESSAGE QUEUE)
8、信号量(SEMAPHORE)
9、共享内存(SHARE MEMORY)@
10、tcPip协议在应用程序中的编程开发(SOCKET套接字编程开发)
10.1. ISO/OSI七层协议模型与IP网络四层模式
10.2.TCP/IP协议簇
10.3. 基于嵌入式Linux的TCP/IP网络结构
10.4. 基于嵌入式Linux的SOCKET编程
10.5.UDP与TCP的区别
10.6. UDP SERVER-CLIENT关系程
11、文件读写与存储
嵌入式设计应具备的基本技能
1、Linux 基础
- 安装Linux操作系统
- Linux文件系统
- Linux常用命令
- Linux启动过程详解
- 熟悉Linux服务能够独立安装Linux操作系统,能够熟练使用Linux系统的基本命令
- 认识Linux系统的常用服务安装Linux操作系统
- Linux基本命令实践
- 设置Linux环境变量
- 定制Linux的服务Shell
- 编程基础使用vi编辑文件
- 使用Emacs编辑文件
- 使用其他编辑器
2、Shell 编程基础
- Shell简介
- 认识后台程序Bash编程
- 熟悉Linux系统下的编辑环境
- 熟悉Linux下的各种Shell
- 熟练进行shell编程熟悉vi基本操作
- 熟悉Emacs的基本操作
- 比较不同shell的区别
- 编写一个测试服务器是否连通的shell脚本程序
- 编写一个查看进程是否存在的shell脚本程序
- 编写一个带有循环语句的shell脚本程序
3、Linux下的C编程基础
- linux c语言环境概述
- Gcc使用方法
- Gdb调试技术
- AutoconfAutomake Makefile 代码优化
- 熟悉Linux系统下的开发环境
- 熟悉Gcc编译器
- 熟悉Makefile规则编写Hello,World程序
- 使用 make命令编译程序
- 编写带有一个循环的程序
- 调试一个有问题的程序
4、嵌入式系统开发基础
- 嵌入式系统概述
- 交叉编译
- 配置TFTP服务
- 配置NFS服务
- 下载Bootloader和内核
- 嵌入式Linux应用软件开发流程熟悉嵌入式系统概念以及开发流程
- 建立嵌入式系统开发环境制作cross_gcc工具链
- 编译并下载U-boot
- 编译并下载Linux内核
- 编译并下载Linux应用程序
5、嵌入式系统移植
- Linux内核代码
- 平台相关代码分析
- ARM平台介绍
- 平台移植的关键技术
- 移植Linux内核到 ARM平台
- 了解移植的概念
- 能够移植Linux内核移植Linux2.6内核到ARM9开发板
6、嵌入式 Linux 下串口通信
- 串行I/O的基本概念
- 嵌入式Linux应用软件开发流程
- Linux系统的文件和设备
- 与文件相关的系统调用
- 配置超级终端和MiniCOM
- 能够熟悉进行串口通信
- 熟悉文件I/O
- 编写串口通信程序
- 编写多串口通信程序
7、嵌入式系统中多进程程序设计
- Linux系统进程概述
- 嵌入式系统的进程特点
- 进程操作
- 守护进程
- 相关的系统调用了解Linux系统中进程的概念
- 能够编写多进程程序编写多进程程序
- 编写一个守护进程程序
- sleep系统调用任务管理
- 同步与通信Linux任务概述任务调度
- 管道 信号 共享内存 任务管理 API
- 了解Linux系统任务管理机制
- 熟悉进程间通信的几种方式
- 熟悉嵌入式Linux中的任务间同步与通信编写一个简单的管道程序实现文件传输
- 编写一个使用共享内存的程序
8、嵌入式系统中多线程程序设计
- 线程的基础知识
- 多线程编程方法
- 线程应用中的同步问题了解线程的概念
- 能够编写简单的多线程程序编写一个多线程程序