|

【HarmonyOS IPC 试用连载 】第二篇 编译及下载演示demo(hello+usb camera), 前一篇将开发所用到的软件及硬件环境资料等都准备完毕https://bbs.elecfans.com/jishu_2027807_1_1.html,接下来就演示一下大家都知道的hello OHOS及usb camera。
1、编译程序(ubuntu下编译)
编译官网的源代码,进入到代码目录输入python build.py ipcamera_hi3518ev300,进行编译。
- python build.py ipcamera_hi3518ev300
复制代码
大概七八分钟的样子。如果不记得编译命令,输入python build.py
- root@ubuntu:/home/swann/HarmonyOS_Code/HarmonyOS_Code# python build.py
- usage:
- python build.py ipcamera_hi3516dv300
- python build.py ipcamera_hi3518ev300
- python build.py wifiiot
- Quickstart: https://device.harmonyos.com/cn/docs/start/introduce/oem_start_guide-0000001054913231
- positional arguments:
- product Name of the product
- optional arguments:
- -h, --help show this help message and exit
- -b BUILD_TYPE, --build_type BUILD_TYPE
- release or debug version.
- -t [TEST [TEST ...]], --test [TEST [TEST ...]]
- Compile test suit
- -n, --ndk Compile ndk
- Error: product not found.
- root@ubuntu:/home/swann/HarmonyOS_Code/HarmonyOS_Code#
复制代码 查看支持哪些编译选项,再进行编译。
编译成功会打印成功的消息,如果不成功,根据错误提示(一定是根据错误提示,进行相应工具的安装接着编译)。我这边根据官网提示一步一步安装的,未出现编译不通过的问题。
- [846/854] clang++ obj/foundation/multimedia/frameworks/player_lite/player_control/sink/player_audio_sink.o
- [847/854] SOLINK ./libplayer.so
- [848/854] STAMP obj/foundation/multimedia/services/media_lite/media_lite.stamp
- [849/854] STAMP obj/foundation/multimedia/services/media_lite/media_ndk.stamp
- [850/854] LLVM LINK dev_tools/bin/player_sample
- [851/854] STAMP obj/applications/sample/camera/media/media_sample.stamp
- [852/854] STAMP obj/build/lite/ohos.stamp
- [853/854] ACTION //build/lite:gen_rootfs(//build/lite/toolchain:linux_x86_64_clang)
- [854/854] STAMP obj/build/lite/gen_rootfs.stamp
- ohos ipcamera_hi3518ev300 build success!
-
复制代码 根据多年的编译经验,编译不通过一般找不到路径的工具导致,缺少某些库等等。
成功后,在源码目录生成out文件,内部有个ipcamera_hi3518ev300目录,生成的文件就在这个文件内部了,如图1所示。
编译成功.png (318.71 KB, 下载次数: 0)
下载附件 保存到相册
3 小时前 上传
图1 编译成功界面
我们需要下载的就是OHOS_Image.bin、rootfs.img和useRFs.img以及源码目录下路径vendor\hisi\hi35xx\hi3518ev300\uboot\out\boot里面的uboot就可了。
2、烧录程序(windows10下visual studio code usb烧录)
打开烧录及编辑软件Visual Studio Code软件,点击Deveco Device Tool界面,点击Configure,右侧界面中点击burn,设置烧录模式、串口设置、flash设置以及烧录文件设置,都设置好点击保存。不会的可以去华为官网烧录部分查看https://device.harmonyos.com/cn/docs/start/introduce/oem_camera_start_example-0000001051610926。如图2的烧写步骤界面。
烧录1.jpg (125.47 KB, 下载次数: 0)
下载附件 保存到相册
3 小时前 上传
图2-1 烧录步骤
烧录2.png (93.68 KB, 下载次数: 0)
下载附件 保存到相册
3 小时前 上传
图2-2烧录步骤
3、烧录过程中遇到的问题
问题1:如图3所示问题,好像缺少什么。
问题1.png (32.92 KB, 下载次数: 0)
下载附件 保存到相册
3 小时前 上传
图3 点击burn出现问题
解决办法:网上别人填的坑,我直接搜到了https://blog.csdn.net/qq_34779901/article/details/111823276。
a、打开cmd命令行,输入npm config找到hpmrc的路径
b、打开配置文件hpmrc,将第二行的空格删除掉,保存后重新打开vscode。
坑1.png (18.89 KB, 下载次数: 0)
下载附件 保存到相册
3 小时前 上传
问题2:修改文件保存出现问题,如图4所示
坑2.png (18.92 KB, 下载次数: 0)
下载附件 保存到相册
3 小时前 上传
图4 保存修改文件问题
解决办法:去修改源码目录文件属性,到源码目录执行
复制代码 点击Burn后,需要重启2次板子电源,根据紫色打印进行操作,烧录成功。
4、烧录结果展示
a、vscode烧录成功如下
- > Executing task: hpm run \“upload\“ <
- Start flash images...
- Open serial port: COM3
- Please power off and restart the board......
- testuboot succeed
- sf probe 0;sf erase 0x0 0x100000;
- Erasing at 0x100000 -- 100% complete.
- SF: 1048576 bytes @ 0x0 Erased: OK
- hisilicon # sendHisiliconCmd: isilicon # sf probe 0;sf erase 0x0 0x100000;
- Erasing at 0x100000 -- 100% complete.
- SF: 1048576 bytes @ 0x0 Erased: OK
- hisilicon #
- Please power off and restart the board......
- sendUSBStartFrame Success
- sendUSBHeadFrame Success
- sendTailFrame Success
- sendUSBHeadFrame Success
- sendTailFrame Success
- sendUSBHeadFrame Success
- sendTailFrame Success
- System startup
- Uncompress Ok!
- U-Boot 2020.01 (Sep 02 2020 - 17:34:02 +0800)hi3518ev300
- DRAM: SPI Nor: hifmc_ip_ver_check(54): Check Flash Memory Controller v100 ...hifmc_ip_ver_check(60): Found
- hifmc_spi_nor_probe(2070): SPI Nor ID Table Version 1.0
- hifmc_spi_nor_probe(2095): SPI Nor(cs 0) ID: 0x20 0x70 0x18
- hifmc_init_print(2016): Block:64KB hifmc_init_print(2017): Chip:16MB hifmc_init_print(2018): Name:“XM25QH128A“
- hifmc100_spi_nor_probe(145): SPI Nor total size: 16MB
- NAND: 0 MiB
- Loading Environment from SPI Flash... *** Warning - bad CRC, using default environment
- Loading Environment from NAND... *** Warning - readenv() faiLED, using default environment
- In: serial
- Out: serial
- Err: serial
- Net: eth0
- Error: eth0 address not set.
- start download process.
- sendData:
|
|