01:Hellow world[第一个可板载运行的程序]
虚拟机内已经默认包含了官方的Demo,您只需编译即可。下面详细讲解如何编译第一个用户程序。如何运行自己的程序。
后面所有的代码编译均按此步骤来。
打开源源码路径
如图所示:源码存在于虚拟机的:kmbox->kmboxAI文件夹内。源码会不定期更新。可以直接git拉取。
编译00-hellow_world源码
在源码目录中右键,打开终端。
进入build目录中:
cd build #linux 命令 进入指定文件夹
cmake .. #cmake指令,生成makefile
make #编译源码
到这里,hellow_world的源码已经编译完成。详细编译可查看"编译方法.txt"
下载编译文件到kmboxAI内部
前面我们已经得到了kmboxApp.exe可执行程序。他在output文件夹内。这个程序是运行在开发板内部的。虚拟机中是无法运行的。接下来要做的就是将程序下载到开发板中。这个方法就很多了。笔者以自己常用的tftp为例。
如图所示。1是ubuntu内的文件。2是windows下的文件。笔者将windows下的文件夹共享到Ubuntu内部。这样我们可以在windows下编辑修改文件。在ubuntu内编译即可。可以这么理解:
windows系统负责代码编辑。
ubuntu系统负责代码编译。
windows文件共享给ubuntu系统方法:[待补充]
PC端操作
在windows下打开tftpd32.exe(需要与kmboxApp.exe在同级目录)
此时PC端就开启了TFTP服务。如果打开时弹出是否允许访问网络。选择允许。
开发板端操作
通过ssh登录开发板。用户名root,密码kmbox. 进入应用程序目录:
cd /userdata/kmboxAI/UserApp/
接下来,输入指令:
tftp -g 192.168.2.251 -r kmboxApp.exe #tftp 获取文件,服务器Ip为192.168.2.251 ,获取文件为kmboxApp.exe
此时开发板将从tftp服务器上下载kmboxApp.exe文件。下载完毕后执行:
ls -l #列出当前文件夹详细信息
可以看到kmboxApp.exe已经在盒子文件系统内部。
运行kmboxApp.exe
前面已经将kmboxApp.exe下载到了开发板内部。但是ls -l可以看到他没有可执行权限。要运行kmboxApp.exe就需要给他可执行权限。输入指令:
chmod 777 kmboxApp.exe #设置kmboxApp.exe文件为可读可写可执行权限
输入./kmboxApp.exe执行:
./kmboxApp.exe #输入 点 ,斜杠 ,k,按Table键即可自动补全。
可以看到屏幕上打印如下:
此处我们就能看到熟悉的hellow world了。
先操作一遍。能出现上面打印。那么你就入门嵌入式Linux编程了。
本章小结
跳出前面内容,回顾一下。本章主要就下面几点:
1、源码怎么编译。-->怎么将源码编译成可执行程序。
2、可执行程序怎么下载。-->可执行程序如何下载到目标板。
3、可执行程序怎么运行。-->如何运行可执行程序。
如果运行结果不是你期望的,那么就改源码。从1、2、3再来一遍。
打开源码我们可以看到:
实际我们只打印的hellow world from kmbox AI
但是实际不仅仅只有上述打印。还有其他打印:
代码是最诚实的。有打印说明我们的代码一定运行了。多出来的打印本质上是C++构造函数中初始化RGA导致。可以不用理会。