linux可执行文件后缀_从51单片机到Linux 开发板运行hello world(教程4)

392f385b5cc4594a039b735eb315ea62.png

大家好,我是兔子。

是一个嵌入式软硬件工程师。

正在从单片机开发转岗Linux开发。

这次教大家如何在Linux开发板上运行可执行文件。

简单起见,不涉及到硬件。直接和教程2一样,能在PC虚拟机上运行hello world程序。当然开发板上也可以。

1.Source Insight编程

Source Insight是一个很好用的文本编辑器。实际上和windows的记事本的功能差不多。

但是对于嵌入式开发,C语言可以自动显示函数名以及关键字。以及工程编译,可以新建工程,将工程中多个.c和.h文件进行搜索并进行对应关系。

我们的嵌入式Linux的开发的第一个程序,hello world也准备开始使用Source Insight进行编写。

537a9e56ec4d57fec78dbd9174577a46.png

2.编写程序

安装Source Insight软件,并打开。

新建一个文件,命名为hello_arm.c

并编写Hello world程序。

3cbcb2aa0ef99a2f6325b6e929d6a4e7.png

编写完后,另存为。

3.编写Makefile

Windows下,新建一个记事本。将文件名修改为Makefile

(注意,强烈注意。Makefile文件名的M是需要大写的,其余字母小写,并且文件不带后缀。不能包含类似.txt的扩展名)

EXEC 

将第一行和第二行,改为需要编译的文件名

0f96f58afe73d29f48fe6af5fd34f3bb.png

文件里,每行左侧的开头,不能包含空格,必须使用tab键空格。

2b03e6386ce6299bdac273efcf0df7b2.png

(如图所示,每行左侧禁止使用空格键,调整为tab键空格)。

4.将hello_arm.c以及Makefile两个文件,拷贝到虚拟机里,进行编译

1)windows下复制这两个文件。

11e8afe41ab60fb23732b720ba934d5a.png

2)虚拟机下,右键粘贴。就可以跨系统传输文件。

9b0fe4cb3ab3d8429cf71b6b3cc83406.png

5.编译程序

进入终端,并进入到存储这两个文件的目录。

输入make指令。

ba7ab1ad364623a1d078f1c14a7aa3b3.png

可以看到没有提示错误和警告。表示编译通过。

6.将生成的可执行文件拷贝的NFS共享目录下

使用cp命令,即copy。

将生成的可执行文件hello_arm拷贝到NFS共享目录/work/nfs_root下。

b003e8b90d08e9dd9666b57ae924ca8e.png

(如何建立NFS共享目录,请移步教程3)

兔子MCU:从51单片机到Linux 开发板传文件利器-NFS(教程3)​zhuanlan.zhihu.com
16aa4fc172a6eb4b2223e7b9985b03d3.png

6.开发板开启NFS功能

在开发板下,输入指令

mount -t nfs -o nolock,vers=2 192.168.1.101:/work/nfs_root /mnt

表示将虚拟机的NFS共享文件目录/work/nfs_root挂载到开发板的/mnt目录下。

9902577a1d5da05639b3d0eb78f6642a.png

(具体设置,请移步教程3)

兔子MCU:从51单片机到Linux 开发板传文件利器-NFS(教程3)​zhuanlan.zhihu.com
16aa4fc172a6eb4b2223e7b9985b03d3.png

进入/mnt目录,并允许hello_arm程序。

可以看到,Hello world!以及打印。表示程序成功运行。

cb3183d628dcc8a5d69da2b4ff6e3fe3.png

至此,开发板可以正确运行Hello World程序。

本节还简单介绍了Makefile的用法。

947cbd92f5913a88fef3873e03d4fcc3.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值