01:Hellow world[第一个可板载运行的程序]

虚拟机内已经默认包含了官方的Demo,您只需编译即可。下面详细讲解如何编译第一个用户程序。如何运行自己的程序。

后面所有的代码编译均按此步骤来。

打开源源码路径

如图所示:源码存在于虚拟机的:kmbox->kmboxAI文件夹内。源码会不定期更新。可以直接git拉取。

1745458416575

编译00-hellow_world源码

在源码目录中右键,打开终端。

1745458982940

进入build目录中:

cd build    #linux 命令 进入指定文件夹

1745459141275

cmake .. #cmake指令,生成makefile

1745459323566

make #编译源码

1745459445178

到这里,hellow_world的源码已经编译完成。详细编译可查看"编译方法.txt"

1745459555770

下载编译文件到kmboxAI内部

前面我们已经得到了kmboxApp.exe可执行程序。他在output文件夹内。这个程序是运行在开发板内部的。虚拟机中是无法运行的。接下来要做的就是将程序下载到开发板中。这个方法就很多了。笔者以自己常用的tftp为例。

1745460253224

如图所示。1是ubuntu内的文件。2是windows下的文件。笔者将windows下的文件夹共享到Ubuntu内部。这样我们可以在windows下编辑修改文件。在ubuntu内编译即可。可以这么理解:

windows系统负责代码编辑。

ubuntu系统负责代码编译。

windows文件共享给ubuntu系统方法:[待补充]

PC端操作

在windows下打开tftpd32.exe(需要与kmboxApp.exe在同级目录)

1745460561161

此时PC端就开启了TFTP服务。如果打开时弹出是否允许访问网络。选择允许。

开发板端操作

通过ssh登录开发板。用户名root,密码kmbox. 进入应用程序目录:

cd /userdata/kmboxAI/UserApp/

1745460746506

接下来,输入指令:

tftp -g 192.168.2.251 -r kmboxApp.exe #tftp 获取文件,服务器Ip为192.168.2.251 ,获取文件为kmboxApp.exe

1745460979127

此时开发板将从tftp服务器上下载kmboxApp.exe文件。下载完毕后执行:

ls -l  #列出当前文件夹详细信息

1745461201859

可以看到kmboxApp.exe已经在盒子文件系统内部。

运行kmboxApp.exe

前面已经将kmboxApp.exe下载到了开发板内部。但是ls -l可以看到他没有可执行权限。要运行kmboxApp.exe就需要给他可执行权限。输入指令:

chmod 777 kmboxApp.exe #设置kmboxApp.exe文件为可读可写可执行权限

1745461632759

输入./kmboxApp.exe执行:

./kmboxApp.exe #输入 点 ,斜杠 ,k,按Table键即可自动补全。

可以看到屏幕上打印如下:

1745461754627

此处我们就能看到熟悉的hellow world了。

先操作一遍。能出现上面打印。那么你就入门嵌入式Linux编程了。

本章小结

跳出前面内容,回顾一下。本章主要就下面几点:

1、源码怎么编译。-->怎么将源码编译成可执行程序。

2、可执行程序怎么下载。-->可执行程序如何下载到目标板。

3、可执行程序怎么运行。-->如何运行可执行程序。

如果运行结果不是你期望的,那么就改源码。从1、2、3再来一遍。

打开源码我们可以看到:

1745462557725

实际我们只打印的hellow world from kmbox AI

但是实际不仅仅只有上述打印。还有其他打印:

1745461754627

代码是最诚实的。有打印说明我们的代码一定运行了。多出来的打印本质上是C++构造函数中初始化RGA导致。可以不用理会。

FAQ:常见问题

如何传输文件到开发板

有网络的时候:

nfs:
samba:
各种其他工具:

没网络的时候:

串口传输: