鸿蒙第一个应用程序 hello world
1、应用程序存放路径:
applications/sample/camera/app/src
2、编译指令:在源码的根目录下执行如下指令
python3 build.py ipcamera_hi3518ev300 -b debug
3、编译后输出文件:
out/ipcamera_hi3518ev300路径下:
OHOS_Image.bin
rootfs.img
userfs.img
4、uboot文件:目录路径vendor/hisi/hi35xx/hi3518ev300/uboot/out/boot下的
u-boot-hi3518ev300.bin
5、文件烧录
工具: hitools
文件地址分配以及器件类型如图
这里要注意的位置都用红框标记了起来,主要是芯片的型号以及地址分配。
第一步:先用串口擦除原来的uboot
有几点要注意:
1、擦除有概率会失败,关掉软件重新擦除即可。
1、如果始终擦除失败,有可能是uboot之前已经被擦除,那么再次擦除一定会失败。所以直接跳过这一步,直接到烧录环节即可。
第二步: 烧录固件
配置如下:
注意事项:
这里因为HiUSBBurn驱动安装,有几个坑需要注意
1、usb驱动一定要安装 , 驱动名: HiTool-HM-5.4.9-win32-x86_64.zip
2、还有一个软件zadig-2.5.exe(通用usb驱动),该驱动安装方法参考如下链接https://blog.csdn.net/wirner/article/details/106899388
(注: 这两个驱动网上都可以找到。)
3、驱动安装之后,插入usb到电脑时,这个驱动仍然一直在不停的装载以及卸载。当时总是以为驱动没有安装好(因为电脑一直不停的发出插入usb及拔出usb的声音),但是直接点击烧写之后,声音停止,同时烧录也能正常进行。
1和2也不知道到底哪个生效,总之最好两个都装上,应该没有问题。
烧录成功之后截图如下:
6、单板重启及配置
切换到终端
如上图,点击左上角红框内的图标,切换到终端界面;点击右边黄绿色小图标进行串口配置,接着按几下回车,有hisilicon 出现说明已经连接成功。
在终端输入如下指令:
指令1:设置bootcmd内容,选择FLASH器件0,读取FLASH起始地址为0x100000,大小为0x600000的内容到0x40000000的内存地址。
setenv bootcmd "sf probe 0;sf read 0x40000000 0x100000 0x600000;go 0x40000000";
指令2:表示设置bootargs参数为串口输出,波特率为115200,数据位8,rootfs挂载于FLASH上,文件系统类型为jffs2 rw,以支持可读写JFFS2文件系统。“rootaddr=7M rootsize=8M”处对应填入实际rootfs.img的烧写起始位置与长度,此处应与HiTool新增文件时所填大小相同。
setenv bootargs "console=ttyAMA0,115200n8 root=flash fstype=jffs2 rw rootaddr=7M rootsize=8M";
指令3:表示保存当前配置。
saveenv
通常指令1、指令2、指令3一般一起执行:
setenv bootcmd "sf probe 0;sf read 0x40000000 0x100000 0x600000;go 0x40000000";setenv bootargs "console=ttyAMA0,115200n8 root=flash fstype=jffs2 rw rootaddr=7M rootsize=8M";saveenv
指令4:然后执行reset 复位单板
reset
7、执行应用程序
单板重启之后,进入到bin目录下,执行./camera_app; 程序运行成功!
8、总结
本文没什么高深的理论,基本是按照官方文档进行的常规操作,但是由于有些坑在里面,耗了一些时间,有必要做个记录。