当前位置:文档之家› 交叉编译环境PPT课件

交叉编译环境PPT课件


宿主机
目标机
交叉编译定义: 交叉编译是指:在宿主机上进行软件编辑、编
译、链接等,并生成能够在目标机上运行的可执行 程序的过程。
宿主机
目标机
使用交叉编译的原因: 由于嵌入式系统的硬件资源有限,不能安装
编译所需要的资源。
开发机与目标机的不同
体系结构不同 处理能力不同 运行的操作系统不同 输入输出方式不同
(3)软件调试
宿主机和目标机通过某种接口(通常是串口)连接,宿主 机上提供调试界面,待调试软件下载到目标机上运行。这种方 式的先决条件是在宿主机和目标机之间建立起通信联系(目标 机上需要固化监控程序)
将一段称为ROM Monitor的程序固化在目标机上,负责监 控目标机上被调试程序的运行。
优点:纯软件,价格较低,简单,软件调试能力较强。
缺点:需要事先在目标机上烧写监控程序(往往需多次试验才 能成功),且目标机能正常工作,功能有限,特别是硬件调试 能力较差。
(4)OCD方式
OCD(片上调试器)将ICE提供的实时跟踪和运行控制分开, 使用很少的实时跟踪功能放弃,而大量使用的运行控制放到目 标机的CPU核内,由一个专门的调试控制逻辑模块来实现,并 用一个专用的串行信号接口开放给用户。这样,OCD可以提 供ICE80%的功能,成本还不到ICE的20%。
串口线 (终端方式操作)
目标板 (target)
1、在宿主机上,安装好Linux操作系统 Linux操作系统,如果安装了gcc编译。就可以
进行c语言程序编译。
1、在宿主机上,安装好Linux操作系统 Linux操作系统,如果安装了gcc编译。就可以进行c语言程序编
译。
2、安装NFS服务器
3、安装交叉编译软件包
Linux开发软件的目录介绍 /arm2410s/exp 各种实验的源代码 /arm2410s/minigui minigui应用程序和库的源代码 /arm2410s/kernel-2410s 2410-s平台Linux内核源代码 /arm2410s/img/vivi 系统引导程序 /arm2410s/img/zImage ARMLinux-2.4内核压缩映象文件 /arm2410s/img/root.cramfs 根文件系统象文件 /arm2410s/img/yaffs.tar.bz2 demos演示程序的压缩文件 /arm2410s/kernel-2410s/include 交叉编译时头文件目录 /opt/host/armv4l/bin/armv4l-unknown-linux-gcc 主编译器
由于历史原因,OCD有许多不同的实现方式,标准并不统一。
比较典型的有: IBM和TI公司提出的连接测试存取组(Joint Test Action Group,JTAG)。 Motorola公司提出的后台调试模式(Background Debugging Method, BDM)
JTAG仿真器的功能有2种. 第一是完成程序仿真调试; 第二,完成对Flash存储器的烧写。
在通用计算机上开发软件时,一般是软件开发 环境(编译、调试)与软件运行环境相同。
(1)什么叫交叉编译? (2)为什么要使用交叉编译?
交叉开发(Cross Developing)的模式是指: 开发系统在PC机(一般称为宿主机或host)上,即完成软件 的编辑、编译、链接等工作;软件的运行是在嵌入式设备 (一般称为目标机或target)上。
实时在线仿真具有以下优缺点: 优点:功能非常强大,软硬件均可做到完全实时在线调试。 缺点:价格昂贵。
(2)模拟调试
调试工具和待调试的嵌入式软件都在宿主机上运行,由 宿主机提供一个模拟的目标运行环境,可以进行语法和逻辑上 的调试。
优点:简单方便,不需要目标机,成本低。 缺点:功能非常有限,无法实时调试。
第4章:嵌入式交叉编译环境及系统裁剪
4.1 嵌入式交叉编译环境构建 4.2 Bootloader程序 4.3 Linux操作系统的裁剪和编译
第4章:嵌入式交叉编译环境及系统裁剪
4.1 嵌入式交叉编译环境构建 4.2 Bootloader程序 4.3 Linux操作系统的裁剪和编译
1、交叉编译概述
主要目的是:提供一套与目标机一致的库函数和编译器。
要实现交叉编译需要的软件有: 交叉编译工具(一组编译器、库函库和头文件)
安装步骤: 博创公司提供了一套开发工具光盘。光盘中有一个安
装批处理文件install.sh。运行安装程序后,会自动新建2 个目录。
arቤተ መጻሕፍቲ ባይዱ2410s目录主要存放:linux内核源代码、各种实验源程序等。
2、嵌入式常用的调试方法
(1)实时在线仿真 (2)模拟调试 (3)软件调试 (3)OCD调试
(1)实时在线仿真(ICE)方式 实时在线仿真(In-Circuit Emulator,ICE)是一种用于替代
目标上CPU的设备,可以执行目标机CPU指令,能够将内部 的信号输出到被控的目标机,ICE上的内存也可以被映射到用 户的程序空间。这样,即使目标机不存在,也可以进行代码调 试。
opt目录主要存放:交叉编译器、资源库、头文件等。
开发环境相关说明:
1、交叉主编译器:armv4l-unknown-linux-gcc 2、主编译器存放的目录:/opt/host/armv4l/bin/ 3、自动搜索主编译器的方法:
在文件/root/.bash_profile中,修改PATH变量,变成 PATH=$PATH:$HOME/bin:/opt/host/armv4l/bin/ 存盘后运行/root/.bash_profile文件使其生效。
宿主机交叉编译软件配置
方案1: 宿主机上应安装的软件有: Linux操作系统 软件开发工具包 交叉编译工具包
方案2: 宿主机上应安装的软件有: Windows操作系统+虚拟机 (Linux操作系统)+Samba 服务 软件开发工具包 交叉编译工具包
网线 (将硬盘,让实验箱使用)
宿主机(host)
本课程使用的调试方法是:软件调试方式。 其中:ROM Monitor程序是利用JTAG写入Flash存 储器。
3、交叉编译环境构建 嵌入式交叉编译硬件连接图
JTAG
网线 串口线
交叉编译环境构建包括2个部分:
第一部分是:宿主机(嵌入式交叉编译环境) PC+Linux+交叉编译器+库函数。
第二部分是:目标机(嵌入式软件运行环境) 实验箱+引导程序+嵌入式操作系统。
相关主题