当前位置: 首页 > news >正文

GD32VW553-IOT开发板移植适配openharmony

想玩openharmony系统已经很久了,但是苦于手上没有合适的开发板可以玩,只能作罢,偶然刷b站的时候,有看到ICEasy商城在搞开发板免费申请的活动,过段进行了申请,然后顺利的拿到了开发板,开发板全貌图如下所示
在这里插入图片描述
具体产品介绍可以浏览地址 https://www.iceasy.com/product/1874659379209633793,这里只做简单介绍,具体如下:
320KB RAM + 4MB Flash,支持2.4Ghzwifi6+蓝牙5.2功能,根据openharmony官网的介绍,跑轻量系统的最小配置为128KIB的ram,我们这个开发板那是绰绰有余了。
在这里插入图片描述
基于此,我们便开始了我们GD32Vw553-IOT开发板的openharmony的适配之路。
适配步骤开始之前,肯定是先下载ohos相关源码,这里我选用的5.0+的系统,适配多是结合网上案例或者官网亦或者源码进行的,如有错误还望帮忙指正,废话不多说,开始进入正题。
首先我们在ohos的源码vendor目录下创建xingyun/gd32vw553目录,最终全路径则为vendor/xingyun/gd32vw553,接着在这里添加我们需要的文件,我这里直接复制了vendor/hisilicon/hispark_pegasus_mini_system下的config.json文件,然后需要修改对应的文件内容
如下

{"product_name": "gd32vw553","type": "mini","version": "3.0","ohos_version": "OpenHarmony 3.1","device_company": "xingyun","device_build_path": "device/board/xingyun/gd32vw553_iot","inherit":["productdefine/common/base/mini_system.json"],"board": "gd32vw553_iot","kernel_type": "liteos_m","kernel_is_prebuilt": true,"kernel_version": "","subsystems": [{"subsystem": "hiviewdfx","components": [{ "component": "hilog_lite" },{ "component": "hievent_lite" },{ "component": "hiview_lite" }]},{"subsystem": "startup","components": [{ "component": "bootstrap_lite" },{ "component": "init", "features":["init_feature_begetctl_liteos = true"]}]},{"subsystem": "communication","components": [{ "component": "dsoftbus" }]},{"subsystem": "systemabilitymgr","components": [{ "component": "samgr_lite" }]},{"subsystem": "security","components": [{ "component": "device_auth" },{ "component": "huks", "features":["huks_use_lite_storage = true","huks_config_file = \"hks_config_lite.h\""]}]},{"subsystem": "commonlibrary","components": [{ "component": "utils_lite","features":[ "utils_lite_feature_kal_timer = true" ]}]},{"subsystem": "updater","components": [{ "component": "sys_installer_lite" }]}],"third_party_dir": "//device/soc/hisilicon/hi3861v100/sdk_liteos/third_party","product_adapter_dir": "//vendor/hisilicon/hispark_pegasus/hals"}

从上面可以看出,我们需要在ohos的根目录下添加device/board/xingyun/gd32vw553_iot目录,这目录里面需要添加目录liteos_m,然后再在目录中添加config.gni文件,这里可以先复制device/board/hisilicon/hispark_pegasus/liteos_m的文件使用添加好后,我们再从我们可以使用hb set命令测试我们添加的效果
在这里插入图片描述
如上图,已经可以看到我们添加的产品了,我们选中回车即可。这个时候我们已经可以使用hb build -f来尝试进行编译了,这个时候进行编译无疑是会报错的,因为我们还没有完成适配工作。我这里直接就报错了如下图
在这里插入图片描述
这里是因为我们缺少文件导致,我们需要在vendor/xingyun/gd32vw553目录下添加bundle.json文件,文件内容如下:

{"name": "@ohos/product_gd32vw553","description": "gd32 ohos","version": "3.1","license": "Apache License 2.0","publishAs": "code-segment","dirs": {},"scripts": {},"component": {"name": "product_gd32vw553","subsystem": "product_gd32vw553","syscap": [],"features": [],"adapted_system_type": ["mini","small"],"rom": "","ram": "","deps": {"components": [],"third_party": []},"build": {"sub_component": [],"inner_kits": [],"test": []}}
}

接着我们尝试再次编译查看错误是否更新,可以看到错误已经更新如下图。
在这里插入图片描述
这里重复上面的步骤,将vendor/xingyun/gd32vw553中的bundle.json复制到device/board/xingyun/gd32vw553_iot目录中,然后修改bundle.json文件,改动如下图所示
在这里插入图片描述
改好后我们再次进行编译,就可以看到如下图的成功截图了。
在这里插入图片描述
添加开发板到编译框架就算完成了,如果有报错可以参考 https://docs.openharmony.cn/pages/v5.0/zh-cn/device-dev/quick-start/quickstart-pkg-3861-tool.md 地址查看下是否有相关工具没有安装


文章转载自:

http://zq2vonFq.sgbjh.cn
http://thokc6mi.sgbjh.cn
http://6MUGHUXo.sgbjh.cn
http://a9zCGNA2.sgbjh.cn
http://CRg5AhJY.sgbjh.cn
http://xdNLsF0t.sgbjh.cn
http://cSG7Y522.sgbjh.cn
http://BdLyNTW6.sgbjh.cn
http://nqDRXVR1.sgbjh.cn
http://JbvqMiAI.sgbjh.cn
http://OGclcBMp.sgbjh.cn
http://XDZDlgiE.sgbjh.cn
http://80DGTyOI.sgbjh.cn
http://b0OI4T2r.sgbjh.cn
http://n74IBlWi.sgbjh.cn
http://vew8bhVo.sgbjh.cn
http://P7OXOBzz.sgbjh.cn
http://nXvLL1FF.sgbjh.cn
http://yiQEbVTu.sgbjh.cn
http://qrSf5REX.sgbjh.cn
http://9Lz5FkZR.sgbjh.cn
http://Eg9UHKMh.sgbjh.cn
http://KZwC2OhF.sgbjh.cn
http://R24UKb6y.sgbjh.cn
http://JBD7fyBz.sgbjh.cn
http://2nCrahUs.sgbjh.cn
http://TsutwCDc.sgbjh.cn
http://exTuDASl.sgbjh.cn
http://KzwAiD1z.sgbjh.cn
http://2WG9B8IT.sgbjh.cn
http://www.dtcms.com/a/375537.html

相关文章:

  • nuxt3在使用vue-echarts报错 document is not defined
  • 嵌入式第四十九天(ARM汇编指令)
  • RS485通信 , 和modus RTU
  • 7. LangChain4j + 记忆缓存详细说明
  • 【超简单】Anaconda 安装教程(Windows 图文版)
  • Docker 搭建 Harbor 镜像仓库
  • 数据采集平台的起源与演进:从ETL到数据复制
  • Blender 制作中世纪风格的水磨坊(2):场景元素、纹理与渲染后期
  • 【Python】pytorch安装(使用conda)
  • 阿里云centos7-mysql的使用
  • Android实战进阶 - 启动页
  • 【从零开始编写数据库系统】基于Python语言实现存储引擎
  • 【Pywinauto库】8.3 pywinauto.findwindows 模块
  • 351章:Python Web爬虫入门:使用Requests和BeautifulSoup
  • 禅道,用域名访问之后不能登录的问题
  • Lodash-es 完整开发指南:ES模块化JavaScript工具库实战教程
  • 实践《数字图像处理》之图像方向性自适应阈值处理
  • 【Linux】系统部分——信号的概念和产生
  • android定制系统完全解除应用安装限制
  • 第2节-过滤表中的行-BETWEEN
  • OpenLayers数据源集成 -- 章节三:矢量要素图层详解
  • 基于AI Agent的智能决策支持系统正在逐步取代传统规则驱动的DSS
  • License 集成 Spring Gateway:解决 WebFlux 非阻塞与 Spring MVC Servlet 阻塞兼容问题
  • spark连接mongodb
  • ubuntu新增磁盘扩展LV卷
  • PowerApps 使用Xrm.Navigation.navigateTo无法打开CustomPage的问题
  • C/C++中基本数据类型在32位/64位系统下的大小
  • TensorFlow 和 PyTorch两大深度学习框架训练数据,并协作一个电商推荐系统
  • ceph scrub 参数
  • JavaWeb--day1--HTMLCSS