本帖最后由 symic 于 2022-4-6 23:57 编辑
上回帖子将如何编辑及编辑程序进行了简单介绍,还留下了小尾巴,就是没下载到板子上。这次补上。
在下载之前,说几个碰到的小问题。
1、在编译时,每次都提示BUILD.gn存在不合法的标志。详细看了好几遍才发现,是从output开始,前面都有使用Tab占位符。导致出错,于是将output 以下所有段前的Tab都删除。之后编译就通过了。
之前的BUILD.gn。(使用VSCode查看)
修改之后,没有缩进了。
2、初次编译的过程十分漫长,估计得有好几分钟,这还是一个小helloworld,不过想是后面再次编译会快很多。
3、编译成功后,需要将三个文件cp到指定文件夹。,注意cpoy时需要在/proj/bearpi-hm_micro_small目录下,在其它目录会出现找不到文件的错误。
cp out/bearpi_hm_micro/bearpi_hm_micro/{OHOS_Image.stm32,rootfs_vfat.img,userfs_vfat.img} applications/BearPi/BearPi-HM_Micro/tools/download_img/kernel/
之后就可以顺利进入下载阶段,此时,编译完的可执行文件还在虚拟机里,需要拷到windows主机上,这里使用RaiDrive,可将ubuntu映射到windows的一个驱动盘。
老样子先把背面3个拨动开关拨到000,再使用STM32CubeProgrammer来下载。需要下载的文件通过cp到指定位置
Z:\home\bearpi\proj\bearpi-hm_micro_small\applications\BearPi\BearPi-HM_Micro\tools\download_img\kernel
在STM32CubeProgrammer中点击+,调用tsv文件,这个是固定的烧录配置文件。就能看到编译所得的三个文件。再点击download,就可以完成下载了。
下载完成之后,在STM32CubeProgrammer点击disconnect,再将板子上拨动开关拨到010(从eMMc启动)并按下Reset,通XShell输入命令./bin/helloworld可以看到结果。
总结一下,完整的开发运行过程如下
1)创建业务源码helloworld.c及业务源码编译脚本BUILD.gn
2)在applications.json添加新组件,在config.json修改单板配置文件
3)编译生成可执行文件
4)将系统镜像文件OHOS_Image.stm32,根文件系统rootfs_vfat.img,用户文件系统userfs_vfat.img移动到指定文件夹
5)执行./bin/可执行文件名