嵌入式开发环境搭建
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
www.gec-edu.org
嵌入式交叉开发
软硬件资源? 丰富
>
宿主机——目标机模式
有限
利用资源丰富的PC机来开发嵌入式软件
www.gec-edu.org
嵌入式Linux开发环境
嵌入式系统通常是一个资源受限的系统,因此直接在嵌入 式系统的硬件平台上编写软件比较困难,有时候甚至是不 可能的。 解决办法:
www.gec-edu.org
嵌入式交叉开发
宿主机
目标机
开发编译
通信通道 仿真调试
调试
运行
宿主机——目标机模式
www.gec-edu.org
嵌入式交叉开发
www.gec-edu.org
嵌入式开发环境搭建
嵌入式开发环境搭建
交叉编译环境搭建
主机通信环境搭建
交叉调试环境搭建 (系统平台)
通信
www.gec-edu.org
首先在通用计算机上编写程序; 然后通过本地编译或者交叉编译生成目标平台 上可以运行的二进制代码格式; 最后再下载到目标平台上的特定位置上运行。
www.gec-edu.org
嵌入式Linux开发环境
关于交叉编译 在一种平台上编译出能在另一种平台(体系结 构不同)上运行的程序。 在PC平台(X86 CPU)上编译出能运行在arm平台 上的程序,编译得到的程序在X86 CPU平台上 是不能运行的,必须放到arm平台上才能运行。 用来编译这种程序的编译器就叫交叉编译器。 为了不跟本地编译器混淆,交叉编译器的名字 一般都有前缀。例如:arm-linux-gcc
交叉调试环境搭建_调试服务器
调试服务器的制作
源码包:gdb-6.5/gdb/gdbserver
1)、进入 #cd gdb-6.5/gdb/gdbserver 2)、配置 #chmod u+x configure #./configure --host=arm-linux 3)、编译 #make CC=arm-linux-gcc (完了在当前目录生成gdbserver、gdbreplay 等) 4)、下载安装到目标板(gdbserver) gdbserver放到目标板的/bin目录下
远程访问目标板
www.gec-edu.org
远程访问目标板
minicom的使用
设置无流控制(无硬件、无软件) 按回车退回到上一级菜单,按“F”键设置 “ Hardware Flow Control ”为“ NO ”,其他选项使 用缺省值。
www.gec-edu.org
远程访问目标板
www.gec-edu.org
www.gec-edu.org
嵌入式Linux开发环境
需要交叉开发环境(Cross Development Env)的支 持是嵌入式应用软件开发时的一个显著特点。 交叉编译器只是交叉开发环境的一部分。 交叉开发环境是指编译、链接和调试嵌入式应用软件的环 境,它与运行嵌入式应用软件的环境有所不同,通常采用 宿主机-目标机模式。
www.gec-edu.org
嵌入式系统的应用
www.gec-edu.org
GEC2440 开发板
www.gec-edu.org
GEC2440 开发板硬件构成
◆ 采用三星公司的 S3C2440A-40,系统可稳定运行在405MHZ,主频最高可达530 多MHz; ◆ 64M 字节的 SDRAM,由两片 K4S561632 组成,工作在 32 位模式下; ◆ 64M 字节 NAND Flash,采用的是 K9F1208,可以兼容 16M,32M 或 128M 字节; ◆ 100M 以太网接口,采用的是 DM9000AEP,带传输和连接指示灯; ◆ LCD 和触摸屏接口; ◆ 2 个 USB HOST,S3C2440 内置的,符合 USB 1.1,其中一个 USB HOST 接口是复用的; ◆ 一个 USB Device,S3C2440 内置的,符合 USB 1.1; ◆ 支持音频输入和音频输出,音频模块由 S3C2440 的 IIS 音频总线接口和 UDA1341 音频编码解码 器组成,板上还集成了一个 MIC,用于音频输入; ◆ 2 路 UART 串行口,波特率可高达 115200bps,并具有 RS232 电平转换电路,其中一路为完整 串口; ◆ SD 卡接口,兼容 SD Memory Card Protocol 1.0 和 SDIO Card Protocol 1.0; ◆ Embedded-ICE (20 脚标准 JTAG)接口和并口式 JTAG 接口,支持 ADS,SDT 软件的下载 ◆ 和调试以及 FLASH 的烧写; ◆SPI 接口; ◆数字摄像头接口; ◆ 蜂鸣器,4 个 LED 灯; ◆ 6 个按键; ◆ 开关电源,分布式电源供电; ◆3V 锂电池,提供RTC 电源;
www.gec-edu.org
交叉编译环境搭建
实验:交叉编译debug.c
主从机通信环境搭建
Байду номын сангаас访问开发板后台?
怎样连接?
下载程序?
串口
网络
USB
并口
www.gec-edu.org
远程访问目标板
minicom的使用
minicom 的设置 :minicom -s
www.gec-edu.org
www.gec-edu.org
交叉编译环境搭建
www.gec-edu.org
交叉编译环境搭建
交叉编译器(交叉工具链)安装
安装软件:eabi-4.1.2.tar.bz2
1、安装准备: # mkdir /usr/local/arm 2、拷贝安装源码包 # cp eabi-4.1.2.tar.bz2 /usr/local/arm 3、解压 # tar jxvf eabi-4.1.2.tar.bz2 -C /usr/local/arm # mv eabi 4.1.2 //更改工具链目录名为4.1.2 4、添加环境变量 #vi /etc/bashrc 文件最后添加: export PATH=/usr/local/arm/4.1.2/bin:$PATH 使得配置立刻生效,需要使用source命令重新读取配置文件。 #source /etc/bashrc 交叉编译器安装完毕。
www.gec-edu.org
远程访问目标板
www.gec-edu.org
远程访问目标板
minicom的使用
设置波特率 按“ E ”键进入设置“ bps/par/Bits ”(波特率)界面。 再按“ I ”以设置波特率为 115200。“Q”数据位8,奇 偶检验位无,停止位1
www.gec-edu.org
程序下载
串口下载
网络下载 网络挂载
www.gec-edu.org
交叉调试器
嵌入式软件开发过程中的交叉调试与本地软件开发过程中的调试方 式有所差别。
本地软件开发 调试器与被调试的程序往往运行在同一台计算机上。 调试器是一个单独运行着的进程,它通过操作系统提供 的调试接口来控制被调试的进程。 嵌入式软件开发 调试时采用的是在宿主机和目标机之间进行的交叉调试。 调试器运行在宿主机,但被调试的进程却是运行在目标 板。 调试器和被调试进程通过串口或者网络进行通信,调试 器可以控制、访问被调试进程,读取被调试进程的当前 状态,并能够改变被调试进程的运行状态。
www.gec-edu.org
GEC2440 开发板使用
启动 LINUX 接上电源,接上交叉串口线,连上交叉网线, 设置好串口工具
串口工具的参数:波特率 115200,8 位,无奇偶位, 停止位 1,无硬件流。
开发板上电后,BootLoader 等待一段时间,如 果没有输入,将会自动启动这个 linux 系统。 这时将在串口有信息显示,最后将进入 Linux 的 命令模式下,
远程访问目标板
www.gec-edu.org
远程访问目标板
minicom的使用
选择串口 选择菜单中的“ Serial port setup ”,按回车,进入如下图 所示界面。按“ A ”以设置“ Serial Device ”(串口 1 -> /dev/ttyS0 ,串口2 -> /dev/ttyS1)
www.gec-edu.org
交叉调试环境搭建_调试实战
1)、新建测试目录 #mkdir /root/test #cd /root/test 2)、编辑文件 #vi debug.c 编辑内容如下 #include <stdio.h> int func(int n) { int sum=0,i; for(i=0;i<n;i++) { sum+=i; } return sum; } main() { int i; long result=0; for(i=1;i<=100;i++) { result+=i; } printf("result[1-100]=%d \n",result); printf("result[1-250]=%d \n",func(250)); }
嵌入式开发环境搭建
目录
1 2 3 4
软件开发流程
linux本地开发
嵌入式交叉开发
嵌入式交叉环境搭建
软件开发流程
开发环境搭建(集成) 如 vc++ 、ADS+AXD、MDK等集成开发环境 编辑器 (必备库) 编译器 (必备工具等) 调试器
程序编辑
程序编译
程序调试
程序(可执行)安装
linux本地开发实例
www.gec-edu.org
远程访问目标板
minicom的使用
退出 minicom 同时按下“ Ctrl+A ”键,紧接着再按下“ Q ”键,在 跳出的窗口中,选择“ Yes ”。
www.gec-edu.org
远程访问目标板
主从机通信环境搭建
实验:请选择其中一种方法将交叉编译的 debug下载到开发板并运行。
www.gec-edu.org
嵌入式交叉开发
www.gec-edu.org
交叉调试环境搭建_交叉调试器
交叉调试器的制作
源码包:gdb-6.5.tar.bz2
www.gun.org
1)、新建编译目录 #mkdir /home/build_gdb #cd /home/build_gdb 将gdb-6.5.tar.bz2拷贝到/home/build_gdb 2)、解压gdb-6.5.tar.bz2 #tar jxf gdb-6.5.tar.bz2 3)、配置 #cd gdb-6.5 #./configure --target=arm-linux --prefix=/usr/local/arm/4.1.2/ 4)、编译 #make 5)、安装 #make install (在/usr/local/arm/4.1.2/bin/目录下生成arm-linux-gdb工具)
交叉编译环境搭建
交叉工具链
交叉编译环境所需工具的集合体; 搭建编译环境所需软件(binuntials、gcc与glibc等)的安装载体。 主要包括 交叉编译器,例如arm-linux-gcc 交叉汇编器,例如arm-linux-as 交叉链接器,例如arm-linux-ld 各种操作所依赖的库 用于处理可执行程序和库的一些基本工具。例如arm-linux-strip
1、程序编辑
# vi debug.c
2、程序编译
# gcc debug.c -o debug -g
3、程序调试
# gdb debug
4、程序运行
# ./debug
www.gec-edu.org
linux本地调试
# gdb debug 设置断点 (gdb)break func (gdb)break 21 查看断点 (gdb)info br 取消断点 (gdb)dis 1 (取消第1个断点) (gdb)info br (gdb)r (run-全步运行) (gdb)n (next-单步运行) (gdb)n
远程访问目标板
minicom的使用 保存设置 再选择“Exit”退出设置模式。刚才的设置被保 存到“ /etc/minirc.dfl ”。 设置完毕 打开目标板电源的电源开关,minicom输出目标 板的启动信息,当 Linux 启动以后, minicom 就相当于虚拟终端,可通过它来操作目标板。
gdb、gdbserver (/usr/bin)
编辑程序
编译程序
调试程序
运行程序
www.gec-edu.org
嵌入式系统定义回顾
嵌入到对象体中的专用计算机系统 三要素:嵌入、专用、计算机 嵌入式系统的特点:由三要素引出 嵌入性:嵌入到对象体系中,有对象环境要求 专用性:软、硬件按对象要求裁减 计算机:实现对象的智能化功能
(gdb)break func (gdb)r (gdb)c (gdb)n (gdb)c (continue-余步运行) (gdb)finish (gdb)quit
linux本地开发
本地开发环境搭建
依赖库(/usr/lib) 依赖文件(/usr/...)
vi (/usr/bin)
gcc、g++ (/usr/bin)