嵌入式开发环境搭建

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

GEC2440 开发板使用
www.gec-edu.org
❖启动 LINUX
▪ 接上电源,接上交叉串口线,连上交叉网线, 设置好串口工具
• 串口工具的参数:波特率 115200,8 位,无奇偶位, 停止位 1,无硬件流。
▪ 开发板上电后,BootLoader 等待一段时间,如 果没有输入,将会自动启动这个 linux 系统。
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工具)
▪ 在PC平台(X86 CPU)上编译出能运行在arm平台 上的程序,编译得到的程序在X86 CPU平台上 是不能运行的,必须放到arm平台上才能运行。
▪ 用来编译这种程序的编译器就叫交叉编译器。
▪ 为了不跟本地编译器混淆,交叉编译器的名字 一般都有前缀。例如:arm-linux-gcc
嵌入式Linux开发环境
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 电平转换电路,其中一路为完整
远程访问目标板
www.gec-edu.org
❖ minicom的使用
▪ 退出 minicom
同时按下“ Ctrl+A ”键,紧接着再按下“ Q ”键,在 跳出的窗口中,选择“ Yes ”。
远程访问目标板
www.gec-edu.org
主从机通信环境搭建
www.gec-edu.org
实验:请选择其中一种方法将交叉编译的 debug下载到开发板并运行。
www.gec-edu.org
❖ 需要交叉开发环境(Cross Development Env)的支 持是嵌入式应用软件开发时的一个显著特点。
❖ 交叉编译器只是交叉开发环境的一部分。
❖ 交叉开发环境是指编译、链接和调试嵌入式应用软件的环 境,它与运行嵌入式应用软件的环境有所不同,通常采用 宿主机-目标机模式。
3)、编译 #make CC=arm-linux-gcc (完了在当前目录生成gdbserver、gdbreplay
等) 4)、下载安装到目标板(gdbserver)
gdbserver放到目标板的/bin目录下
linux本地开发
www.gec-edu.org
本地开发环境搭建
依赖库(/usr/lib)
依赖文件(/usr/...)
vi (/usr/bin)
gcc、g++ (/usr/bin)
gdb、gdbserver (/usr/bin)
编辑程序 运行程序
编译程序
调试程序
嵌入式系统定义回顾
百度文库
www.gec-edu.org
交叉调试环境搭建_调试服务器
调试服务器的制作
源码包:gdb-6.5/gdb/gdbserver
www.gec-edu.org
1)、进入 #cd gdb-6.5/gdb/gdbserver
2)、配置 #chmod u+x configure #./configure --host=arm-linux
交叉编译环境搭建
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
嵌入式交叉开发
www.gec-edu.org
宿主机
开发编译 仿真调试
通信通道
目标机
调试 运行
宿主机——目标机模式
嵌入式交叉开发
www.gec-edu.org
嵌入式开发环境搭建
www.gec-edu.org
嵌入式开发环境搭建
交叉编译环境搭建 主机通信环境搭建
交叉调试环境搭建 (系统平台)
通信
交叉编译环境搭建
❖ 解决办法:
▪ 首先在通用计算机上编写程序;
▪ 然后通过本地编译或者交叉编译生成目标平台 上可以运行的二进制代码格式;
▪ 最后再下载到目标平台上的特定位置上运行。
嵌入式Linux开发环境
www.gec-edu.org
❖ 关于交叉编译
▪ 在一种平台上编译出能在另一种平台(体系结 构不同)上运行的程序。
嵌入到对象体中的专用计算机系统 三要素:嵌入、专用、计算机 嵌入式系统的特点:由三要素引出
嵌入性:嵌入到对象体系中,有对象环境要求 专用性:软、硬件按对象要求裁减 计算机:实现对象的智能化功能
嵌入式系统的应用
www.gec-edu.org
GEC2440 开发板
www.gec-edu.org
www.gec-edu.org
# 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
(gdb)break func (gdb)r (gdb)c (gdb)n (gdb)c (continue-余步运行) (gdb)finish (gdb)quit
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
程序下载
❖ 串口下载 ❖ 网络下载 ❖ 网络挂载
www.gec-edu.org
交叉调试器
www.gec-edu.org
❖ 嵌入式软件开发过程中的交叉调试与本地软件开发过程中的调试方 式有所差别。
▪ 本地软件开发 • 调试器与被调试的程序往往运行在同一台计算机上。 • 调试器是一个单独运行着的进程,它通过操作系统提供 的调试接口来控制被调试的进程。
串口; ◆ 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 电源;
使得配置立刻生效,需要使用source命令重新读取配置文件。
#source /etc/bashrc
交叉编译器安装完毕。
交叉编译环境搭建
www.gec-edu.org
实验:交叉编译debug.c
主从机通信环境搭建
www.gec-edu.org
访问开发板后台?
怎样连接?
下载程序?
串口 网络 USB 并口
远程访问目标板
❖ minicom的使用
▪ minicom 的设置 :minicom -s
www.gec-edu.org
远程访问目标板
www.gec-edu.org
www.gec-edu.org
远程访问目标板
❖ minicom的使用
▪ 选择串口 选择菜单中的“ Serial port setup ”,按回车,进入如下图 所示界面。按“ A ”以设置“ Serial Device ”(串口 1 -> /dev/ttyS0 ,串口2 -> /dev/ttyS1)
远程访问目标板
www.gec-edu.org
❖ minicom的使用
▪ 保存设置
再选择“Exit”退出设置模式。刚才的设置被保 存到“ /etc/minirc.dfl ”。
▪ 设置完毕
打开目标板电源的电源开关,minicom输出目标 板的启动信息,当 Linux 启动以后, minicom 就相当于虚拟终端,可通过它来操作目标板。
www.gec-edu.org
远程访问目标板
www.gec-edu.org
❖ minicom的使用
▪ 设置无流控制(无硬件、无软件)
按回车退回到上一级菜单,按“F”键设置 “ Hardware Flow Control ”为“ NO ”,其他选项使 用缺省值。
远程访问目标板
www.gec-edu.org
www.gec-edu.org
交叉工具链
交叉编译环境所需工具的集合体; 搭建编译环境所需软件(binuntials、gcc与glibc等)的安装载体。 主要包括
交叉编译器,例如arm-linux-gcc 交叉汇编器,例如arm-linux-as 交叉链接器,例如arm-linux-ld 各种操作所依赖的库 用于处理可执行程序和库的一些基本工具。例如arm-linux-strip
程序编辑
程序编译
程序(可执行)安装
程序调试
1、程序编辑
# vi debug.c
linux本地开发实例
www.gec-edu.org
2、程序编译
# gcc debug.c -o debug -g
3、程序调试
# gdb debug
4、程序运行
# ./debug
linux本地调试
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
▪ 嵌入式软件开发 • 调试时采用的是在宿主机和目标机之间进行的交叉调试。 • 调试器运行在宿主机,但被调试的进程却是运行在目标 板。
• 调试器和被调试进程通过串口或者网络进行通信,调试 器可以控制、访问被调试进程,读取被调试进程的当前 状态,并能够改变被调试进程的运行状态。
嵌入式交叉开发
www.gec-edu.org
远程访问目标板
www.gec-edu.org
远程访问目标板
www.gec-edu.org
❖ minicom的使用
▪ 设置波特率
按“ E ”键进入设置“ bps/par/Bits ”(波特率)界面。 再按“ I ”以设置波特率为 115200。“Q”数据位8,奇 偶检验位无,停止位1
远程访问目标板
嵌入式开发环境搭建
www.gec-edu.org
目录
1
软件开发流程
2
linux本地开发
3
嵌入式交叉开发
4
嵌入式交叉环境搭建
www.gec-edu.org
软件开发流程
www.gec-edu.org
开发环境搭建(集成) 如 vc++ 、ADS+AXD、MDK等集成开发环境 编辑器 (必备库) 编译器 (必备工具等) 调试器
▪ 这时将在串口有信息显示,最后将进入 Linux 的命令模式下,
嵌入式交叉开发
www.gec-edu.org
软硬件资源?
> 丰富
有限
利用资源丰富的PC机来开发嵌入式软件 宿主机——目标机模式
嵌入式Linux开发环境
www.gec-edu.org
❖ 嵌入式系统通常是一个资源受限的系统,因此直接在嵌入 式系统的硬件平台上编写软件比较困难,有时候甚至是不 可能的。
相关文档
最新文档