目标:在3516 dv300开发板上,运行ArkUI helloworld

使用2021.12.30 openharmony3.1beta,编译L2标准系统,并烧录在润和3516 DV300开发板上,运行基于ARKUI的ETS应用

详细步骤

1. 购买润和3516 dv300开发板

淘宝搜索“润和HramonyOS HiSpark Taurus AI Camera(Hi3516dv300)开发板套”

Tips: 价格有点小贵,屏幕容易坏。最好是参加HarmonyOS/OpenHarmony的各种赛事,比如成长计划等,有板子送。。而且一些社区直播也有抽奖送板子

2.组装3516开发板

参考视频,我家二年级的小朋友看了都会组装。。。

3.Docker容器编译openHarmony3.1-Beta版本

参考官网文章步骤学习

1.配置git和安装repo

git config --global user.name "yourname"
git config --global user.email "your-email-address"
git config --global credential.helper storecurl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo  #如果没有权限,可下载至其他目录,并将其配置到环境变量中
chmod a+x /usr/local/bin/repo
pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests

2.安装git-lfs

sudo apt-get install git-lfs

3.使用repo下载代码,注意-b选择分支,比如master或OpenHarmony-3.1-Beta

repo init -u https://gitee.com/openharmony/manifest.git -b refs/tags/OpenHarmony-v3.1-Beta --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
sudo bash build/prebuilts_download.sh

PS:注意“bash build/prebuilts_download.sh”有的时候会因网络的问题没下完,如果没下完的话,请重试,确保预编译的工具都下载完成。

4.docker pull & docker run 进入容器编译,使用-v挂载外部代码

docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker-standard:0.0.5docker run -it -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker-standard:0.0.5

5.通过如下编译脚本启动标准系统类设备(参考内存≥128MB)的编译 ./build.sh --product-name Hi3516DV300

./build.sh --product-name Hi3516DV300 --ccache

结果镜像输出在 out/hi3516dv300/packages/phone/images/ 目录下

PS:我使用的是2U4G的云编译,中间会编译失败,看问题是内存不够导致,解决方案是重新执行上述编译命令,必要时重启下再执行。如果总是编译失败,有可能是前面repo sync , git lfs pull 或者prebuilts_download.sh没有成功执行完导致,请重复执行确认都下载完。

4.烧录openHarmony3.1 beta到3516开发板

这是最复杂的步骤,没有之一。。。

我是参考了数字管家- 智能电子牌,使用Hitools工具烧录,这个是Hitools的下载地址

烧录方式一:网口烧录(烧录时间80-90分钟。。。why?)

1.请连接好电脑和待烧录开发板,需要同时连接串口、网口和电源,具体可参考Hi3516DV300开发板介绍。

2.打开电脑的设备管理器,查看并记录对应的串口号。

如果对应的串口异常,请根据Hi3516DV300/Hi3518EV300开发板串口驱动安装指导安装USB转串口的驱动程序。

3.笔记本关闭wifi,连接网线,找到对应的以太网,设置IP地址,网关

4.打开HiTool工具,如下图设置后,点击烧写,重启电源注意:上图是我在编3.0-lts时的截图,包路径在out/ohos-arm-release/packages/phone/image下。3.1 beta版本包是在out/hi3516dv300/packages/phone/images/ 下,文件个数也有了变化。

开始烧写。。。

5.第一次烧录3.1镜像后,启动时需要设置,参考官网中给的命令设置(仅第一次烧录时需要)。使用方式:在终端1窗口设置正确端口号,如COM8,点击连接。重启开发板电源时,迅速按回车,输入如下命令

ps:具体命令请参考当前分支代码目录下的docs/blob/OpenHarmony-v3.1-Beta/zh-cn/device-dev/quick-start/quickstart-standard-running-hi3516-run.md

setenv bootargs 'mem=640M console=ttyAMA0,115200 mmz=anonymous,0,0xA8000000,384M clk_ignore_unused rootdelay=10 hardware=Hi3516DV300 init=/init root=/dev/ram0 rw blkdevparts=mmcblk0:1M(boot),15M(kernel),20M(updater),2M(misc),3307M(system),256M(vendor),-(userdata)';setenv bootcmd 'mmc read 0x0 0x82000000 0x800 0x4800; bootm 0x82000000'savereset

烧录方式二:USB烧录(烧录时间4分钟.....网线烧录的时间太令人失望了,不甘心了,换一种姿势)

1.请连接好电脑和待烧录开发板,需要同时连接串口和USB口,具体可参考Hi3516DV300开发板介绍。

2.打开电脑的设备管理器,查看并记录对应的串口号。

如果对应的串口异常,请根据Hi3516DV300/Hi3518EV300开发板串口驱动安装指导安装USB转串口的驱动程序。

3.安装USB驱动,下载地址

如果安装驱动后,还提示不识别的USB设备,请将下面的内容保存未一个注册表文件,如test.reg,然后注册。

PS不要问我为啥,别人发我的,我就这么做了。。。。

Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\12D1D0010100]
"SkipBOSDescriptorQuery"=hex:01,00,00,00
"osvc"=hex:00,00
"IgnoreHWSerNum"=hex:01

5.使用Hitools,烧写,然后按住串口边上的复位键,插拔USB电源线重启

6.烧写成功,看到这时间,是不是欣慰极了。。

7.第一次烧录3.1镜像后,按照上面网口烧录的最后一步,进行镜像运行的设置。

5.使用DevEcoStudio 3.0+创建ETS应用工程,编辑和部署到3516板子

1.HarmonyOS官网下载3.0以上的DevEcoStudio

2.安装DevEco Studio,并安装OpenHarmonySDK,没啥好说的,一路点下一步,网上教程一堆。

值得说明的是,如果烧录的不是LTS的镜像,是自己编出来的镜像,则最好自己编译openharmonySDK,与镜像对应。

3.打开DevEco Studio选择[Standard]Empty Ability模板创建OpenHarmony应用。

4.输入工程名,选择Application,输入包名(跟下一步的签名强相关),选择ETS语言,点击创建。

4.点击"Preview"预览工程,可以修改下文字和按钮的标题,颜色,背景,字体大小

5.参考官网链接,完成[签名](配置OpenHarmony应用签名信息 | OpenHarmony

6.点击“Build Haps”,在bulid目录下生成signed签名后的hap包

PS 因为当前3.0.0.601版本,build hap并不能覆盖旧的Hap(已提单给IDE反馈),所以每次编译需要先清除一下

7.开发板此时只需要使用USB线连接电脑。将OpenHarmony SDK -> toolchains 路径配置为环境变量,然后运行hdc_std install -r path,path为signed.hap的绝对路径 如下图所示即为安装成功。

cd /d D:\madixin\openharmonysdk\toolchainshdc_std.exe list targetshdc_std install -r   D:\madixin\openharmonyCode\knowledge_demo_smart_home\FA\HelloTest\build\outputs\hap\debug\phone\entry-debug-rich-signed.hap

PS1 hdc_std install使用绝对路径,使用相对路径总是会安装到第一次安装的包,未知原因比较诡异,建议使用绝对路径

PS2 安装后提示sign error,注意检查签名信息

6.调试方法

目前不知道如何debug,因此只能使用如下方法定位问题: 1.首先推荐使用toast弹框来打印需要的信息prompt.showToast 2.接口报错的情况下使用hdc_std hilog 或者hdc_std hilog >path,path为文本文件路径。 (日志记录使用console.info...)

7.多个设备调测分布式

让3516处在分布式网络可使用如下两种方式 1.手机开无密码热点,2台3516连上热点且和手机都放在较近的位置,因为3516wifi接收功率较差,距离热点1米以上容易断开。 2.网线连接两台3516,然后分别3516设置不同IP,每次重启都需要重新配置 3516(1):hdc_std shell ifconfig eth0 192.168.1.222 netmask 255.255.255.0 3516(2):hdc_std shell ifconfig eth0 192.168.1.111 netmask 255.255.255.0

基于润和3516 dv300开发板,运行鸿蒙3.1 ArkUI helloworld相关推荐

  1. 基于润和大禹开发板的导购系统项目方案

    大禹开发板介绍 润和大禹系列HH-SCDAYU200是润和软件推出的社区内首款支持OpenHarmony富设备的开发板,基于瑞芯微RK3568,集成双核心架构GPU以及高效能NPU,板载四核64位Co ...

  2. STM32下载程序至SRAM——基于正点原子精英STM32F103ZET6开发板

    STM32下载程序至SRAM--基于正点原子精英STM32F103ZET6开发板 如题,由于STM32的FLASH烧写寿命在1万次左右,对于本人这样的改一行代码都想下载到开发板中测试的强迫症患者,真是 ...

  3. arch linux arm下载_arm开发板运行hello word的详细过程

    arm开发板运行helloword 1.uboot的编译 ​ 这里已经安装好了交叉编译工具链,如果自己的电脑下没有,请自行百度安装.将下载好uboot到linux下,进行解压-->打补丁--&g ...

  4. c语言模拟32u4单片机,一种基于Atmega32u4的教学型Arduino开发板的制作方法

    本实用新型涉及一种教学型Arduino开发板,具体是基于Atmega32u4芯片的教学型Arduino开发板. 背景技术: 近些年来,互联网和物联网高速发展,在推动社会生产力快速发展的同时,也对我们的 ...

  5. 基于TI AM335x创龙开发板U-Boot编译

    分享一下基于广州创龙TL335x-IDK开发板的U-Boot编译.希望能帮助上你. 板子特点如下:  基于 TI AM335x ARM Cortex-A8 CPU,主频可高达 1GHz,运算能力可高 ...

  6. PAJ7620手势传感器快速应用- -基于涂鸦CBU模组开发板

    PAJ7620手势传感器快速驱动- -基于涂鸦CBU模组开发板 正在,或是想要开发物联网小产品的你是否会觉得一些常用的控制需要繁琐地掏出手机会让你的产品体验不佳?添加实体按键又显得太 low ?不妨来 ...

  7. 树莓派基于c语言开发板,在树莓派等基于ARM的开发板运行.NET Core程序

    前言 本人的技术栈基本上C#方向上面的,又对树莓派之类的开发特别感兴趣,奈何C语言学的一知半解,很多东西都没法做.所以瞅上了.NET Core,毕竟跨平台,自己也熟悉C#. 依赖 首先是安装依赖.之所 ...

  8. linux安装qt_采用STM32MP1的PanGu Board开发板运行Qt应用

    PanGu Board开发板是西安湃兔核科技基于STM32MP1系列处理器设计的SoC开发板,提供了HDMI.以太网.LCD.USB OTG.USB Host.TF Card.Camera.音频等丰富 ...

  9. 手把手教linux设备驱动,手把手教你写Linux设备驱动---定时器(一)(基于友善之臂4412开发板)...

    这个专题我们来说下Linux中的定时器. 在Linux内核中,有这样的一个定时器,叫做内核定时器,内核定时器用于控制某个函数,也就是定时器将要处理的函数在未来的某个特定的时间内执行.内核定时器注册的处 ...

最新文章

  1. Struts_改写客户列表练习
  2. mysql5.7版本安装部署详细步骤
  3. UE4学习-鼠标事件(按下、释放、物体抓取、计算重量、触发开门)
  4. .NET短信接口验证
  5. Qt学习笔记-使用shape() 使得碰撞更加精确
  6. 基础编程题之二进制插入(位运算)
  7. 【面试虐菜】—— MongoDB知识整理
  8. 45.Linux 网络排错
  9. HTML+CSS 仿QQ邮箱登录界面
  10. php判断信用卡,PHP函数验证信用卡卡号是否正确
  11. Vue基础语法之@click、时间修饰符@click.stop与@click.prevent、按键修饰符(如@keyup.enter)
  12. 20150802厦门大学华为校园提前批招聘机试体验题三:Word Maze(单词迷宫)
  13. 提升自己的实力才是硬道理
  14. 基本概念:线与逻辑、锁存器、缓冲器、建立时间、缓冲时间
  15. 今天完成了股票自动化交易软件1.2版本了
  16. 我赢助手手把手教您挖掘用户痛点、做到独一无二的定位
  17. 微信小程序多个倒计时
  18. Linux各种打包和压缩文件命令
  19. win10系统下安装Linux系统
  20. GUC-10 线程八锁

热门文章

  1. 车载显示屏申请E-mark认证需要测试些什么?
  2. js 编码解码 escape,encodeURI,encodeURIComponent
  3. leaflet实现风场图
  4. 知名云计算厂商云宏加入龙蜥社区,共同打造信息安全坚实“地基”
  5. linux查看告警日志,linux怎么查看硬件告警
  6. LaTeX期刊论文写作
  7. 单词学习-Unit8Text3-2(15年7月30日,第9天)
  8. 制作esp32-cam拍照上传,微信小程序照片显示的监控小车
  9. (转载)淘宝玉伯引发Web前后端研发模式讨论
  10. 网络工程师——Private VLAN