电子产业一站式赋能平台

PCB联盟网

搜索
查看: 704|回复: 0
收起左侧

【HarmonyOS IPC 试用连载 】第二篇 编译及下载演示demo(hello+usb camera)

[复制链接]

2607

主题

2607

帖子

7472

积分

高级会员

Rank: 5Rank: 5

积分
7472
发表于 2021-1-11 19:56:15 | 显示全部楼层 |阅读模式
【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 保存修改文件问题

解决办法:去修改源码目录文件属性,到源码目录执行



  • sudo chmod -R 777 *

复制代码 点击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:
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表