交叉编译工具链使用

1.1实验目的

n掌握嵌入式开发环境

n通过本实验掌握交叉编译工具链的安装与使用

1.2实验内容

n编写一个典型的Linux应用程序

n使用该工具链交叉编译Linux应用程序

n下载运行Linux程序(Zynq平台)

1.3步骤及现象

n交叉工具链的使用

1、实验要求:

使用该工具链编译hello应用程序。

2、实验器材:

软件:

安装了ubuntu的VMware虚拟机。

硬件:

PC机一台。

3、实验步骤

ü打开Linux终端并进入实验代码目录,即输入以下命令:

cd/home/student/zynq/linux/lab6

ü编写一个Linux应用程序hello.c

输入命令:vimhello.c

ü设置交叉编译器环境路径,输入以下命令:

exportPATH=$PATH:/zynq/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/bin/

或者输入命令:$source /etc/profile

使得PATH修改生效

ü在终端输入arm-用Tab键不全,如果能出现下图信息,表明工具链安装成功切可以使用了。

ü使用命令方式交叉编译应用程序

输入命令:arm-linux-gcchello.c-ohello

ü通过file命令查看可执行文件格式

通过file命令可以看出该可执行文件是ARM格式的动态链接的ELF(Zynq平台)

üobjdump反汇编命令的使用,用来查看反汇编代码

$arm-linux-objdump

–D –S hello > log

ü查看log文件,下图从189行开始为主函数main的反汇编代码,反汇编命令用来查看可执行文件对应的汇编代码,常用来帮助我们分析oops错误。

üreadelf命令的使用

在终端运行命令: $arm-linux-readelf–d hello > log

ü打开log文件,查看hello使用的动态库

在终端运行命令:$vim log

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、交叉编译 由于嵌入式系统资源匮乏,一般不能像 PC 一样安装本地编译器和调试器,不能在本地编写、编译和调...
    不配野心阅读 2,155评论 0 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,923评论 18 139
  • 2014-05-26 21:21:38构建Linux 编译Linux BeagleBone Black 14年即将...
    外星间谍阅读 3,495评论 0 9
  • 军人用忠诚保卫祖国,军人也有情有泪,只因他们是最可爱的人,职责所在,女孩如果爱军人请理解军人他们有太多的苦,太多的...
    戴兵哥哥阅读 573评论 0 1
  • “你还记得她吗?”“早忘了。”“我还没说她是谁。” 苏子听到这句话的时候,咯咯咯的笑了一起来。 夏末的阳光竟然还如...
    柚子储储阅读 439评论 11 8