GD32VW553移植openharmony
分享作者:zxyuser
评测品牌:萤火工场
评测型号:GD32VW553-IOT
发布时间:2025-09-12 10:30:44
0
前言
移植篇一
开源口碑分享内容

想玩openharmony系统很久了,但是手上一直没有合适的板子用来学习,偶然刷b站的时候看到iCEasy商城有免费申请板子的机会,于是果断申请,板子到了后就迫不及待的开始了openharmony相关的移植和学习,现将相关移植步骤记录,本篇文章做为基础的板子适配篇,废话不多说,现在开始我们的适配过程,参考ohos官方 https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/porting/porting-bes2600w-on-minisystem-display-demo.md  教程进行移植。

步骤一:添加vendor相关目录,这里我直接创建 vendor/xingyun/gd32vw553 层级目录,在此目录中我们需要添加一个config.json文件用来配置我们的编译项,初步添加内容如下

{
    "product_name": "gd32vw553",
    "ohos_version": "OpenHarmony 1.0",
    "device_company": "xingyun",
    "type":"mini",
    "version": "3.0",
    "board": "gd32vw553_iot",
    "kernel_type": "liteos_m",
    "kernel_version": "3.0.0",
    "third_party_dir": ""
 
}

添加完成后,需要在device/board下创建xingyun/gd32vw553_iot目录,创建后我们可以使用hb set命令去测试我们添加是否成功,

这里我们可以使用电脑的上下案件选择,我们适配的是mini系统,关于系统的选择配置,这里附上ohos官网的截图

可以看到最小的ram需要128KIB,我们的gd32vw553有320KB,远远大于128KIB的要求,到mini后我们回车,然后可以上下滚动选择我们刚刚添加的产品,如下图,可以找到的话则说明添加成功。

这里选择到我们的开发板后直接回车,我这里的话直接报错了

提示我们没有配置内核,这里我们在device/board/xingyun/gd32vw553_iot/liteos_m中添加config.gni文件即可,关键内容如下。

kernel_type = "liteos_m"

# Kernel version.
kernel_version = ""

# Board CPU type, e.g. "cortex-a7", "riscv32".
board_cpu = ""

# Board arch, e.g.  "armv7-a", "rv32imac".
board_arch = "rv32imac"

# Toolchain name used for system compiling.
# E.g. gcc-arm-none-eabi, arm-linux-harmonyeabi-gcc, ohos-clang,  riscv32-unknown-elf.
# Note: The default toolchain is "ohos-clang". It's not mandatory if you use the default toolchain.
board_toolchain = "riscv32-unknown-elf"

# The toolchain path installed, it's not mandatory if you have added toolchain path to your ~/.bashrc.
board_toolchain_path = ""

# Compiler prefix.
board_toolchain_prefix = "riscv32-unknown-elf-"

这里我添加了还是报错,然后我对比了hisi目录下的轻量系统配置,发现配置文件差异导致的问题,修改成如下文件则没问题

{
    "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": ""
  }

修改之后,我们再次执行hb set选择

这之后我们就可以开始编译了,这就是本篇的重点,下一篇将开始进行内核的适配编译篇,ohos的官方文档还是不行,参考文档搞的编译还能报错,还是得看源码。

全部评论
暂无评论
0/144