0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙OpenHarmony开发板解析:【芯片解决方案】

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-05-10 15:42 次阅读

芯片解决方案配置规则

  • 芯片解决方案是指基于某款开发板的完整解决方案,包含驱动、设备侧接口适配、开发板sdk等。
  • 芯片解决方案是一个特殊的部件,源码路径规则为:device/{开发板}/{芯片解决方案厂商}
  • 芯片解决方案部件会随产品选择的开发板默认编译。
  • 芯片解决方案目录树规则如下:
  • 开发前请熟悉鸿蒙开发指导文档:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]
device                                      
  └── board                                   
      └── company                            # 芯片解决方案厂商
           └──  hispark_aries                # 开发板名称
                 ├── BUILD.gn                # 编译脚本
                 ├── hals                    # OS南向接口适配
                 ├── linux                   # 可选,linux内核版本
                 │   └── config.gni          # linux版本编译配置
                 └── liteos_a                # 可选,liteos内核版本
                     └── config.gni          # liteos_a版本编译配置

注意 :config.gni为开发板编译相关的配置,编译时会采用该配置文件中的参数编译所有OS部件,编译阶段系统全局可见。

  • config.gni的关键字段介绍如下:
kernel_type:            开发板使用的内核类型,例如:“liteos_a”, “liteos_m”, “linux”。
  kernel_version:         开发使用的内核版本,例如:“4.19”。
  board_cpu:              开发板CPU类型,例如:“cortex-a7”, “riscv32”。
  board_arch:             开发芯片arch, 例如: “armv7-a”, “rv32imac”。
  board_toolchain:        开发板自定义的编译工具链名称,例如:“gcc-arm-none-eabi”。若为空,则使用默认为ohos-clang。
  board_toolchain_prefix:编译工具链前缀,例如:“gcc-arm-none-eabi”。
  board_toolchain_type:  编译工具链类型,目前支持gcc和clang。例如:“gcc” ,“clang”。
  board_cflags:          开发板配置的c文件编译选项。
  board_cxx_flags:       开发板配置的cpp文件编译选项。
  board_ld_flags:        开发板配置的链接选项。

新增并编译芯片解决方案

编译构建支持添加新的芯片解决方案厂商,具体步骤如下:

  1. 创建芯片解决方案目录。 按照芯片解决方案配置规则创建目录,以芯片厂商realtek的“rtl8720“开发板为例, 在代码根目录执行:
    mkdir -p device/board/realtek/rtl8720
    
  2. 创建内核适配目录,并编写开发板编译配置config.gni文件。 以realtek的“rtl8720“开发板的liteos_a适配为例,device/board/realtek/rtl8720/liteos_a/config.gni的内容如下:
    # Kernel type, e.g. "linux", "liteos_a", "liteos_m".
    kernel_type = "liteos_a"
    
    # Kernel version.
    kernel_version = "3.0.0"
    
    # Board CPU type, e.g. "cortex-a7", "riscv32".
    board_cpu = "real-m300"
    
    # Board arch, e.g. "armv7-a", "rv32imac".
    board_arch = ""
    
    # 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 toochain.
    board_toolchain = "gcc-arm-none-eabi"
    
    # The toolchain path instatlled, it's not mandatory if you have added toolchian path to your ~/.bashrc.
    board_toolchain_path =
        rebase_path("//prebuilts/gcc/linux-x86/arm/gcc-arm-none-eabi/bin",
                    root_build_dir)
    
    # Compiler prefix.
    board_toolchain_prefix = "gcc-arm-none-eabi-"
    
    # Compiler type, "gcc" or "clang".
    board_toolchain_type = "gcc"
    
    # Board related common compile flags.
    board_cflags = []
    board_cxx_flags = []
    board_ld_flags = []
    
    `HarmonyOSOpenHarmony鸿蒙文档籽料:mau123789是v直接拿`
    

搜狗高速浏览器截图20240326151450.png

  1. 编写编译脚本。 在开发板目录下创建BUILD.gn,target名称应与开发板名称一致。以realtek的rtl8720开发板为例,device/board/realtek/rtl8720/BUILD.gn内容可以是:
    group("rtl8720") { # target类型也可以shared_library, static_library, executable
      # 具体内容
      ......
    }
    
  2. 编译芯片解决方案。 在开发板目录下执行hb build,即可启动芯片解决方案的编译。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    453

    文章

    50384

    浏览量

    421718
  • 开发板
    +关注

    关注

    25

    文章

    4943

    浏览量

    97177
  • 鸿蒙
    +关注

    关注

    57

    文章

    2306

    浏览量

    42735
  • OpenHarmony
    +关注

    关注

    25

    文章

    3658

    浏览量

    16132
收藏 人收藏

    评论

    相关推荐

    OpenHarmony鸿蒙南向开发案例:【智能猫眼(基于Hi3518开发板)】

    基于Hi3518开发板,使用开源OpenHarmony开发的RTSP协议流媒体应用。达到将Hi3518开发板中摄像头获取的数据通过RTSP协议传输到手机并显示 。
    的头像 发表于 04-22 15:46 1920次阅读
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>鸿蒙</b>南向<b class='flag-5'>开发</b>案例:【智能猫眼(基于Hi3518<b class='flag-5'>开发板</b>)】

    鸿蒙OpenHarmony开发板:【产品配置规则】

    产品解决方案为基于开发板的完整产品,主要包含产品对OS的适配、部件拼装配置、启动配置和文件系统配置等。产品解决方案的源码路径规则为:**vendor/{产品解决方案厂商}/{产品名称}
    的头像 发表于 05-09 10:32 1017次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>OpenHarmony</b><b class='flag-5'>开发板</b>:【产品配置规则】

    鸿蒙OpenHarmony南向/北向快速开发教程-迅为RK3568开发板

    大家期待已久的迅为RK3568开发板终于迎来了鸿蒙4.1系统的强势支持!想知道如何实现快速开发学习吗?跟着我们一起来探索吧! 迅为RK3568开发板: 想象一下,你手中的RK3568
    发表于 07-23 10:44

    XR806芯片、XR806开源鸿蒙开发板简介

    。可广泛满足 智能家居、智慧楼宇、工业互联、儿童玩具、电子竞赛、极客DIY 等领域的无线连接需求。芯片框图芯片参数XR806开源鸿蒙开发板介绍XR806
    发表于 11-15 17:08

    XR806芯片、XR806开源鸿蒙开发板简介

    。可广泛满足 智能家居、智慧楼宇、工业互联、儿童玩具、电子竞赛、极客DIY 等领域的无线连接需求。芯片框图芯片参数XR806开源鸿蒙开发板介绍XR806
    发表于 11-15 18:32

    迅为RK3568开发板鸿蒙OpenHarmony系统固件烧写步骤

    1、迅为RK3568开发板鸿蒙OpenHarmony系统固件烧写首先拷贝烧写器(烧写器在光盘资料“iTOP-3568 开发板\01_【iTOP-RK3568
    发表于 08-26 17:45

    openharmony开发openharmony开发板

    现在市面上支持OpenHarmony开发板已经非常多了,OpenHarmony不仅仅只能在海思系列芯片上运行,比较常见的有HiSpark、小熊派系列。这些
    的头像 发表于 06-24 09:03 3616次阅读

    OpenHarmony开发板适配经验分享--王城

    OpenHarmony开发板适配经验分享 审核编辑:金巧
    的头像 发表于 12-28 14:46 1698次阅读
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>开发板</b>适配经验分享--王城

    OpenHarmony Dev-Board-SIG专场:龙芯开发板成功移植OpenHarmony

    OpenHarmony Dev-Board-SIG专场:龙芯开发板成功移植OpenHarmony
    的头像 发表于 12-28 15:24 1655次阅读
    <b class='flag-5'>OpenHarmony</b> Dev-Board-SIG专场:龙芯<b class='flag-5'>开发板</b>成功移植<b class='flag-5'>OpenHarmony</b>

    开发板如何适配OpenHarmony 3.2

    科技基于RK3568设计的HCPAD-100开发板以及基于RK3566设计的中控屏HongzPad2022在OpenHarmony 3.2 Beta5版本上的适配过程。 涉及到开发板的添加/u-boot /linux-5.10/
    的头像 发表于 04-04 01:35 1434次阅读

    OpenHarmony鸿蒙南向开发案例:【智能猫眼(基于3516开发板)】

    基于Hi3516开发板,使用开源OpenHarmony开发的RTSP协议流媒体应用。达到将Hi3516开发板中摄像头获取的数据通过RTSP协议传输到手机并显示 。
    的头像 发表于 04-19 22:01 547次阅读
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>鸿蒙</b>南向<b class='flag-5'>开发</b>案例:【智能猫眼(基于3516<b class='flag-5'>开发板</b>)】

    瑞芯微RK3566鸿蒙开发板OpenHarmony标准系统应用兼容性测试指导

    本文OpenHarmony标准系统应用兼容性测试指导,适用鸿蒙系统软件开发测试的新手入门学习课程,设备为触觉智能的瑞芯微RK3566开发板,型号Purple Pi OH。是Laval官
    的头像 发表于 09-10 11:56 318次阅读
    瑞芯微RK3566<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发板</b><b class='flag-5'>OpenHarmony</b>标准系统应用兼容性测试指导

    瑞芯微RK3568鸿蒙开发板OpenHarmony系统修改cfg文件权限方法

    本文适用于OpenHarmony开源鸿蒙系统修改cfg文件权限方法,深圳触觉智能研发的RK3566、RK3568、RK3588等开发板、主板等产品均适用此教程
    的头像 发表于 09-11 13:26 774次阅读
    瑞芯微RK3568<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发板</b><b class='flag-5'>OpenHarmony</b>系统修改cfg文件权限方法

    触觉智能Purple Pi OH鸿蒙开发板成功适配OpenHarmony5.0 Release,开启新征程

    触觉智能Purple Pi OH鸿蒙开发板,成功适配OpenHarmony5.0 Release版本!为大家带来OpenHarmony5.0特性讲解!关注触觉智能,为大家带来更多
    的头像 发表于 10-25 10:51 305次阅读
    触觉智能Purple Pi OH<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发板</b>成功适配<b class='flag-5'>OpenHarmony</b>5.0 Release,开启新征程

    如何在开源鸿蒙OpenHarmony开启SELinux模式?RK3566鸿蒙开发板演示

    本文介绍开源鸿蒙OpenHarmony系统下,开启/关闭SELinux权限的方法,触觉智能Purple Pi OH鸿蒙开发板演示,已适配全新Open
    的头像 发表于 11-18 19:03 155次阅读
    如何在开源<b class='flag-5'>鸿蒙</b><b class='flag-5'>OpenHarmony</b>开启SELinux模式?RK3566<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发板</b>演示