嵌入式培训ppt
• 全称为GNU CC ,GNU项目中符合ANSI C 标准的编译系统 • 编译如C、C++、Object C、Java、Fortran、 Pascal、Modula-3和Ada等多种语言 • 一个交叉平台编译器 ,适合在嵌入式领域 的开发编译
43
GCC编译器
• GNU Compiler Collection • C, C++, Objective-C, Fortran, Java, Ada GCC 4.2.2 •
32
Bootloader烧写示范
• Linux环境(虚拟机)简介
• 超级终端和DNW的配置 • Bootloader的显示信息简介(标准BIOS) • 内核、文件系统的演示
33
嵌入式Linux下的应用程序开发
34
开发工具--编辑器vi
• vi的基本使用方法
•输入模式
•命令模式
35
• 新增 (append) -- a 从 光 标 所 在 位 置 後 面 开 始 新 增 资 料, 光 标 後 的 资 料 随 新 增 资 料 向 後 移 动。 -- A 从 光 标 所 在 列 最 後 面 的 地 方 开 始 新 增 资 料。 • 插 入 (insert) -- i 从 光 标 所 在 位 置 前 面 开 始 插 入 资 料, 光 标 後 的 资 料 随 新 增 资 料 向 後 移 动。 -- I 从 光 标列 的 第 一 个 非 空 白 字 符 前 面 开 始 插 入 资 料。 • 开 始 (open) -- o 在 光 标 所 在 列 下 新 增 一 列 并 进 入 输 入 模 式。 -- O 在 光 标 所 在 列 上 方 新 增 一 列 并 进36
如何选择嵌入式CPU?
• • • • • • • ARM PowerPC MIPS Xscale DSP X86 ……
11
典型的嵌入式操作系统
• Linux
• uC/OS
• Windows CE
• VxWorks
• Palm OS
• Symbian
12
嵌入式系统开发流程
13
嵌入式系统开发的内容
GCC 3.3 GCC 3.2 GCC 3.0 GCC 2.95 July 31, 1999 December 3, 1997
44
Oct 9, 2007
May 13, 2003
August 14, 2002
June 18, 2001
GCC简介
• gcc所支持后缀名解释
– .c C原始程序 – .C/.cc/.cxx C++原始程序 – .m Objective-C原始程序 – .i 已经过预处理的C原始程序 – .ii 已经过预处理的C++原始程序 – .s/.S 汇编语言原始程序 – .h 预处理文件(头文件) – .o 目标文件 – .a/.so 编译后的库文件
vi--开始编辑
vi--删除与修改
• x 删除光标所在字符。 • dd 删除光标所在的列。 • r 修改光标所在字符,r後接著要修正的 字符 • R进入取代状态,新增资料会覆改原先 资料, 直到按[ESC]回到指令模式下为 止。 • s 删除光标所在字符,并进入输入模式。 • S 删除光标所在的列,并进入输入模式。
45
编译器的作用
源代码 *.c 预处理器 头文件 *.h
• Gcc的编译流程分 为四个步骤
– 预处理(PreProcessing) – 编译(Compiling) – 汇编 (Assembling) – 链接(Linking)
编译器
汇编处理 引导代码 目标代码 *.o 库函数 链接
• • • • • • • <b>移动到当前单词的开始 <e>移动到当前单词的结尾 <w>向前移动一个单词 <h>向前移动一个字符 <j>向上移动一行 <k>向下移动一行 <l>向后移动一个字符
39
vi--改变与替换操作命令
• • • • • • • • <r>替换光标所在的字符 <R>替换字符序列 <cw>替换一个单词 <ce>同<cw> <cb>替换光标所在的前一字符 <c$>替换自光标位置至行尾的所有字符 <C>同<c$> <cc>替换当前行
37
vi--退出命令
• • • • • <:q>不保存退出 <:q!>不保存强制性退出 <:w>保存编辑 <:w filename>存入文件filename 中 <:w! filename>强制性存入文件filename 中 • <:wq>(<:x>)保存并退出(shift+zz)
38
vi--光标移动命令
MAX232等芯片
USB芯片、网卡芯片
主板集成
主板集成或外接卡
8
嵌入式系统与PC (2)
嵌入式系统 PC机
引导代码 操作系统 驱动程序
Bootloader引导,针对不同电路板 进行移植 WinCE、VxWorks、Linux等,需 要移植 每个设备驱动都必须针对电路板进 行重新开发或移植,一般不能 直接下载使用 需要移植 借助服务器进行交叉编译 需要
设备名称 CPU 嵌入式系统 嵌入式处理器(ARM, MIPS) SDRAM芯片 Flash芯片 PC机 CPU(Intel的Pentium、AMD的Athlon 等) SDRAM,DDR内存条 硬盘
内存 存储设备
输入设备
输出设备 声音设备
按键、触摸屏
LCD 音频芯片
鼠标、键盘
显示器 声卡
接口
其他设备
嵌入式培训
班级:电信10-2
组员:陈浩聪 杨杰城 冯永健
培训时间:2013 12 21~12 25
培训内容
• • • • 嵌入式系统开发简介 Linux入门及其环境搭建 嵌入式Linux下的应用程序调试技巧 Make工程管理器
2
嵌入式系统简介
3
嵌入式系统开发
• 嵌入式系统是以应用为中心,以计算机技 术为基础,并且软硬件可裁剪,适用于应 用系统对功能、可靠性、成本、体积、功 耗有严格要求的专用计算机系统。
20
认识Linux内核版本
• 主版本
– 1.0 2.0 – 2,3年更新 2.2 2.4 2.6
• 稳定版
– 2.0.40 2.2.12 – 1,2月更新 2.4.18 2.6.7
• 稳定版更新
– 2.6.23.1 – 1,2周更新 ~ 2.6.23.7
21
Linux体系结构
命令、程序或shell脚本 shell
– gcc,glibc,binutils,make等
• GNU = GNU is Not Unix • GPL = General Public License
19
一些发行版
• • • • • • • RedHat Fedora Core Suse Debian Ubuntu Cent OS Aisanux
5
常见嵌入式CPU
• 微控制器(MCU) ARM7和ARM9的区别(3、5流水线) • 数字信号处理器(DSP)(4流水线) • 片上系统(SOC) • 可编程片上系统(SOPC—Nios2)
6
典型的嵌入式系统与PC机
•软件(操作系统/驱动程序/应用程序)
•存储器
•输入 •处理器
•输出
7
嵌入式系统与PC
Target
NFS模式
16
嵌入式Linux开发模式(2)
串口 Flash
BootLoader 内核
网口
Linux Host JTAG
RAMDISK
CPU CORE
Target
Ramdisk模式
17
Linux入门
18
Linux简介
• Linus Torvalds于1991编写 • Linux是一个Unix兼容的系统,大部分通用 的Unix工具和程序都可以在Linux系统下运 行。UNIX-堂兄 Linux—表弟 • 使用GNU工具开发:
14
嵌入式Linux开发流程
电路设计 (第1版) 电路设计 (第2版) 电路设计 (第3版)
编译器移植
BootLoader 内核移植
设备驱动 程序开发
应用程序 开发
15
嵌入式Linux开发模式
串口 Flash
BootLoader
JTAG
Linux Root fs Host 网口
内核
CPU CORE
40
vi--拷贝与粘贴命令
• • • • • • </yw>将光标所在单词拷入剪贴板 <y$>将光标至行尾的字符拷入剪贴板 <Y>同<y$> <yy>将当前行拷入剪贴板 <p>将剪贴板中的内容粘贴在光标后 <P>将剪贴板中的内容粘贴在光标前
•利用Vi编写一个helloworld程序!
41
42
开发工具 --编译器 GCC
用户空间 内核空间
系统调用(system calls)
文件 系统
内核
I/O
内存 管理
调度
Cache
中断 异常 处理
22
内核结构
23
Linux优点
• • • • • • • • 提供了先进的网络支持 多任务、多用户 符合IEEE POSIX标准 核心能仿真FPU 支持数十种文件系统格式 完全运行于保护模式 开放源代码 采用先进的内存管理机制,更加有效地利 用物理内存