IMX6ULL板开发——第一个应用程序

实现第一个应用程序:在IMX6ULL开发板上运行程序hello.c

#include 

/* 执行命令: ./hello weidongshan
 * argc = 2
 * argv[0] = ./hello
 * argv[1] = weidongshan
 */

int main(int argc, char **argv)
{
   if (argc >= 2)
   printf("Hello, %s!\n", argv[1]);
   else
   printf("Hello, world!\n");
   return 0;
}

一般的步骤:(1)将源码下载到ubuntu上

                      (2)在ubuntu中编译程序

                      (3)把编译好的程序上传到板子里面

前提:远程登陆ubuntu和开发板

使用mobaxterm远程登陆ubuntu和开发板

(1)登陆ubuntu

IMX6ULL板开发——第一个应用程序_第1张图片

(2)远程登陆开发板

IMX6ULL板开发——第一个应用程序_第2张图片

IMX6ULL板开发——第一个应用程序_第3张图片

步骤一:将源码下载到ubuntu上

如果源码在windows里面,首先得将源码下载到ubuntu里面,之后从Ubuntu里面下载到板子里面。

windows——>ubuntu

建议使用Filezilla软件建立windows与Ubuntu之间的连接,传输源码。

IMX6ULL板开发——第一个应用程序_第4张图片

步骤二:在ubuntu中编译程序

法一:错误的编译:

gcc -o hello1 hello.c

法二:正确的编译:

arm-buildroot-linux-gnueabihf-gcc -o hello2 hello.c

当我们把法一,法二传到板子上时,./hello1会报错,但是./hello2不会。

解析:我们在Ubuntu制作这个应用程序的时候,用的是gcc来编译,但是如果是要个arm板来制作应用程序时,我们应该用arm板的工具链——“arm-buildroot-linux-gnueabihf-”

补充:如何配置arm板的工具链

1.打开配置文件

vim ~/.bashrc

2.在行尾添加

export ARCH=arm export CROSS_COMPILE=arm-buildroot-linux-gnueabihfexport PATH=$PATH:/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueab ihf_sdk-buildroot/bin

3.刷新

source ~/.bashrc

刷新完重启

4.验证

arm-buildroot-linux-gnueabihf-gcc -v

步骤三:把编译好的程序上传到板子里面

ubuntu——>板子

使用NFS将板子上某个目录挂载在ubuntu的含有源码的目录,这样就可以在板子上获得源码了

方法:在板子端上使用下面命令(我自己的电脑为例)

mount -t nfs -o nolock,vers=3 192.168.5.11:/home/book/nfs_rootfs /mnt

解析:mount是命令;-t是选择类型;nfs是选择类型为nfs;-o是option;nolock,vers=3是选项;192.168.5.11:/home/book/nfs_rootfs是源码的目录(192.168.5.11是地址:使用ifconfig可以看到);/mnt是在板子上要放的目录。

传输成功后,就可以在板子上运行应用程序了。

注:在该文章中应为

./hello2

你可能感兴趣的:(linux,算法,运维)