原文链接:https://bbs.elecfans.com/jishu_2004057_1_1.html
Linux编译环境搭建完成后,本想着利用套件自带的缺省系统先跑个简单的应用程序看看效果,先来看看缺省系统的运行情况。 在串口终端键入如下命令: ps -ef
上图中的PID为212的进程就是开机后自动运行的应用openais,也就是摄像头画面实时显示。 能不能在现有系统中直接跑个简单的应用程序呢?试试看。 1)、在开发环境编辑一个简单的应用程序test.c cd applica tions/sample/camera/app/src vi test.c 输入内容: #include
int main() { printf("n*********************************n"); printf("nttHello Hi3516DV300!n"); printf("n*********************************n");
return 0; }
2)、编译 clang -target ARM-liteos --sysroot=/home/weather/hmos/prebuilts/lite/sysroot/ -o test test.c
3)、在串口终端键入以下mount网络文件系统命令 mount –o nolock192.168.1.11:/home/weather/hmos /mnt 4)、将刚才编译好的程序test拷贝到本地bin目录 cd /bin cp /mnt/applications/sample/camera/app/src/test ./ 5)、运行应用程序 ./bin/test 直接提示找不到这个命令,继续键入以下命令: test 屏幕上没有任何提示信息。 好吧,尝试失败,还是按照官网教程来吧。
将编译好的鸿蒙OS系统3个文件拷贝到windows平台,然后运行烧写工具软件Hitool,界面如下:
点击左上角连接管理配置图标:
根据电脑里的配置选择端口号,其它串口参数不用更改。 一般我们都会选择网络方式烧写,hitool也推荐网络方式烧写,分别配置好PC端和板端的IP地址等参数。
板端的IP地址可以这样配置,直接在hitool工具打开终端界面,点击左上角终端图标,再点击下方终端1页面,然后给 开发板上电,在出现倒计时提示后按回车,界面如下:
Hitool自带串口终端,还是很方便的哦。 在命令行分别键入如下2条IP配置指令: setenv serverip 192.168.1.88 setenv ipaddr 192.168.1.22 保存配置: saveenv 看一下结果: print
接下来配置待烧写的文件和相关参数: 点击烧写eMMC页面选项,然后点右边的绿色“+”号,把要烧写的3个文件如上图所示配置好。注意左边的对应3个文件的方框一定要勾选上。 最后点击“烧写”按钮,出现以下提示:
注意,在点击“烧写”按钮前,先要将终端1关闭,并点击控制台页面,然后才可以启动烧写。 根据提示给板子重新上电,如网络参数等配置正确,则弹框中的进度条和控制台会不断更新显示:
最后烧写成功:
烧写完成后再次给板子重新上电,此时系统进入的是uboot界面,还要添加启动参数才能进入新系统,在串口终端界面分别键入: setenv bootcmd "mmc read 0x0 0x80000000 0x8000x2800; go 0x80000000"; setenv bootargs "console=ttyAMA0,115200n8root=emmc fstype=vfat rootaddr=6M rootsize=15M rw"; 保存配置命令: saveenv 重启系统: reset
稍后,串口终端显示界面如下:
屏幕显示:
烧写成功,接下来运行第一个应用程序,键入以下命令: ./bin/camera_app
OK!没有任何问题。
再来看看新系统都有哪些进程,键入命令: ps -ef 结果系统提示:
继续键入以下命令: mount –o nolock 192.168.1.11:/home/weather/hmos /mnt 结果提示:
看来新系统和随机带的系统还是有区别的,它们的差别到底在哪里呢?另外最重要的一个问题,如果不能mount网络文件系统,那如何调试应用程序?总不能改动一点点就要重新烧写整个用户文件系统吧,下一步就来好好研究一下这个问题,或者咨询下大佬们有没有更好的解决办法。
|