ARM技术论坛
直播中

李维嘉

7年用户 1441经验值
私信 关注
[经验]

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

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
20200821101149257.png

图 1

使用gedit工具新建helloworld.c文件,并编辑程序源码。新建helloworld.c文件的命令如下:
Host#gedit helloworld.c
在helloworld.c中输入以下代码:
#include
int main(void){
printf("Hello World!nwww.tronlong.comn");
}
20200821101213131.png

图 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",此名字可以是任意的。
20200821101243830.png

图 3

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

图 4

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

在开发板中运行helloworld程序将helloworld镜像文件拷贝开发板文件系统任意路径,然后在可执行镜像文件的所在路径执行以下命令运行helloworld程序:
Target# ./helloworld
运行程序后系统会打印程序信息,提示如下图:
20200821101344757.png

更多回帖

发帖
×
20
完善资料,
赚取积分