基于AM437x的Linux应用程序开发步骤演示

巧了我就是萌 提交于 2020-10-01 04:22:10

helloworld演示程序

 

表 1

开发板型号

是否支持本实验

TL437x-EVM

支持

TL437x-EasyEVM

支持

TL437x-IDK

支持

TL437xF-EVM

支持

 

本文档通过最简单的helloworld应用程序开发,演示Linux应用开发过程中的编写、交叉编译、在目标板运行应用程序的步骤。

编写helloworld源码

先在Ubuntu下建立helloword目录,用于存放helloworld.c源码文件

Host# mkdir -p /home/tronlong/AM437x/app/helloworld

Host# cd /home/tronlong/AM437x/app/helloworld

 

图 1

 

使用gedit工具新建helloworld.c文件,并编辑程序源码。新建helloworld.c文件的命令如下:

Host# gedit helloworld.c

在helloworld.c中输入以下代码:

#include<stdio.h>

int main(void){

printf("Hello World!\nwww.tronlong.com\n");

}

 

图 2

 

和Windows下的文本编辑器一样按"Ctrl+S"就可以保存编辑的内容了,然后点击左上角的红叉按钮退出。

 

交叉编译helloworld程序

在交叉编译之前,请确保对应平台Linux Processor-SDK开发包自带的交叉编译工具链已生效,然后执行以下命令交叉编译程序:

Host# arm-linux-gnueabihf-gcc helloworld.c -o helloworld

arm-linux-gnueabihf-gcc为使用的交叉编译工具链,helloworld.c为应用程序源文件,"-o helloworld"代表交叉编译后输出的程序镜像名为"helloworld",此名字可以是任意的。

 

图 3

 

可以看到在当前目录下有helloworld镜像文件产生,说明交叉编译成功。也可以通过file命令查看其属性。

Host# file helloworld

 

图 4

 

从提示中可以看到,helloworld镜像文件是一个32位的小端ARM平台的程序,是可以在ARM平台直接运行的。

 

在开发板中运行helloworld程序

将helloworld镜像文件拷贝开发板文件系统任意路径,然后在可执行镜像文件的所在路径执行以下命令运行helloworld程序: 

Target# ./helloworld

运行程序后系统会打印程序信息,提示如下图:

 

图 5

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!