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

举报
tronlong小分队 发表于 2020/08/21 10:42:01 2020/08/21
【摘要】 helloworld演示程序表 1开发板型号是否支持本实验TL437x-EVM支持TL437x-EasyEVM支持TL437x-IDK支持TL437xF-EVM支持本文档通过最简单的helloworld应用程序开发,演示Linux应用开发过程中的编写、交叉编译、在目标板运行应用程序的步骤。编写helloworld源码先在Ubuntu下建立helloword目录,用于存放helloworld....

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


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。