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

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

3天内不再提示

OpenHarmony瘦设备内核移植实战(一)

电子发烧友开源社区 来源:未知 2023-05-11 20:16 次阅读

背景

在各行各业存在很多不同的智能设备,每个设备都使用芯片去实现不同的业务场景需求。本文将以常用的STM32F407ZG芯片为例,介绍OpenHarmony瘦设备内核移植方法,希望能对热爱OpenHarmony的开发小伙伴有所帮助。

认识芯片架构、Soc、开发板

36aa19c4-e64d-11ed-ab56-dac502259ad0.png

芯片架构是指芯片的内部器件构造以及对应的指令集,比如PC使用的英特尔i7或者AMD的R7-4800都是x86架构,手机使用的骁龙8Gen2芯片使用的则是ARM架构。

SoC是指具体的芯片架构实现,芯片厂商针对不同的应用场景开发出的芯片各不相同,但要符合架构定义,比如STM32F470就会有不同的定制版本,有些Flash会大一些,有些则是芯片封装或者引脚数不同。

开发板则是板卡厂商针对不同的产品定制的不同开发板,会根据业务需求设计不同的PCB、外设器件。

本文采用正点原子的STM32F407ZG开发板,对应的开发板、SoC、芯片架构分别是:

  • 开发板型号:explorer(探索者)

  • 板卡厂商:alientek(正点原子)

  • 芯片型号:STM32F407ZGT6

  • 芯片系列:STM32F407

  • 芯片厂商:ST(意法半导体)

  • 具体架构:Cortex-M4

  • 芯片架构:ARM

内核移植的四个层面

OH适配分为如下四个层面

Vendor

负责配置的目标产品的内核类型、系统版本、子系统、三方库等。编译时,工具链依赖这里的配置。Vendor的代码位于://vendor/

Board

开发板层面的移植,芯片已适配OH,只是开发板不同,难度不大。配置板卡编译相关的工具链,以及最为核心的启动汇编命令、链接库脚本,将指定这里的main函数来启动系统。Board相关的代码位于://device/board

SoC

SoC片上系统层面的移植,芯片架构已支持,有一定难度

配置芯片层级编译依赖库,包括CMSIS、HAL(硬件抽象层)等,这里包含操作总线、串口、时钟、寄存等库函数。SoC相关的代码位于://device/soc

ARCH

目标芯片架构不在支持的范围内的全新架构移植,难度较大。ARCH相关的代码存放在//kernel/liteos_m/arch文件夹中。整体难易度:Vendor < Board < SoC < ARCH

OpenHarmony瘦设备已支持的芯片架构

36c0509a-e64d-11ed-ab56-dac502259ad0.png

源码路径为:kernel/liteos_m/arch/arm

36cadcf4-e64d-11ed-ab56-dac502259ad0.png

总结

OpenHarmony瘦设备的移植需要从芯片架构、SoC、开发板开始,因此本文首先讲述了三者之前的关系。瘦设备使用的内核为LiteOS-M,针对不同层面的移植工作的难易度、工作量也会有所不同,根据以往经验难易度排序为Vendor < Board < SoC < ARCH,下篇文章将继续介绍移植前的准备工作。


更多热点文章阅读
  • OpenHarmony开发者大会圆满举办:3.2 Release版本发布,生态步入快车道
  • DevEco Studio 3.1 Beta新特性知多少?
  • Cocos携手乐元素,《开心消消乐》成功移植OpenHarmony
  • 开源样例!基于小凌派RK2206的工地检测平台设计
  • DevEco Device Tool 3.1 Release新版本发布

提示:本文由电子发烧友论坛发布,转载请注明来源。如需社区合作及入群交流,请添加微信EEFans0806,或者发邮箱liuyong@huaqiu.com。


原文标题:OpenHarmony瘦设备内核移植实战(一)

文章出处:【微信公众号:电子发烧友开源社区】欢迎添加关注!文章转载请注明出处。


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

    关注

    33

    文章

    546

    浏览量

    32358
  • 开源社区
    +关注

    关注

    0

    文章

    92

    浏览量

    342

原文标题:OpenHarmony瘦设备内核移植实战(一)

文章出处:【微信号:HarmonyOS_Community,微信公众号:电子发烧友开源社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    OpenHarmony内核编程实战

    编程入门[Hello,OpenHarmony]在正式开始之前,对于刚接触OpenHarmony的伙伴们,面对大篇幅的源码可能无从下手,不知道怎么去编码写程序,下面用一个简单的例子带伙伴们入门。▍任务
    的头像 发表于 03-27 08:31 120次阅读
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>内核</b>编程<b class='flag-5'>实战</b>

    rk3399移植Linux内核

    RK3399是一款由中国厂商瑞芯微推出的高性能处理器芯片,被广泛用于嵌入式系统开发。在进行应用程序开发之前,我们需要将Linux内核移植到RK3399上,以支持硬件的驱动和功能。本文将详细介绍如何将
    的头像 发表于 01-08 09:56 345次阅读

    嵌入式Linux移植与系统启动解读

    所谓移植就是把程序代码从一种运行环境转移到另一种运行环境。对于内核移植来说,主要是从一种硬件平台转移到另一种硬件平台上运行。
    的头像 发表于 11-25 10:07 767次阅读
    嵌入式Linux<b class='flag-5'>移植</b>与系统启动解读

    OpenHarmony技术大会 | OS内核及视窗分论坛嘉宾金句

    点击蓝字 ╳ 关注我们 开源项目 OpenHarmony 是每个人的 OpenHarmony 原文标题:OpenHarmony技术大会 | OS内核及视窗分论坛嘉宾金句 文章出处:【微
    的头像 发表于 11-10 20:25 288次阅读

    FreeRTOS内核实现与应用开发实战指南

    上。本书分为两个部分,第部分为“从 0 到 1 叫你写 FreeRTOS 内核”,该部分的章节名字与其姐妹篇《RT-Thread 内核实现与应用开发实战指南—基于 STM32》的章节
    发表于 09-28 08:05

    开源图形驱动在OpenHarmony上的使用和落地

    职务。 内容来源 第届开放原子开源基金会OpenHarmony技术峰会——OS内核及视窗分论坛 ​ 正 文 内 容 图形驱动也是种软件程序,它串联了操作系统和应用程序与计算机图形硬
    发表于 08-31 18:07

    6步玩转OpenHarmony标准芯片适配

    OpenHarmony系统版本,为后续开发更见便捷。 在阶段的基础上,点亮屏幕依赖两个方面:是应用要正常启动,二是图形要适配。 应用的正常启动:没有专门要适配的,主要依赖上阶段
    发表于 08-22 09:10

    把软核移植到自己的FPGA板卡后,如何与FPGA的硬件模块进行交互?

    把软核移植到自己的FPGA板卡后,需要设计硬件模块,设计的硬件模块怎么与软核通信呢?通过软核的ICB总线吗?如果想把ICB总线转为AXI总线,需要哪些操作呢?
    发表于 08-12 07:08

    OpenHarmony轻量系统书籍推荐《OpenHarmony轻量设备开发理论与实战

    最近大家问的智能家居套件方面有没有可以参考的资料,这里给大家统一回复一下 推荐大家可以看这本书 《OpenHarmony轻量设备开发理论与实战》 本书系统地讲授OpenHarmony
    的头像 发表于 07-20 12:43 668次阅读

    鸿蒙瘦设备移植:SoC适配

    OpenHarmony 系统移植最核心的步骤是内核移植内核的稳定是一切子系统稳定的基础,上一篇我们讲述了
    的头像 发表于 05-22 10:49 784次阅读
    鸿蒙瘦<b class='flag-5'>设备</b><b class='flag-5'>移植</b>:SoC适配

    OpenHarmony Docker移植实践

    ] 。 在此我们直接进入kernel配置的修改环节。 1、修改OpenHarmony kernel配置文件,开启Docker运行所依赖的内核功能。 需要修改的配置文件位置如下: kernel/linux
    发表于 05-18 10:03

    使用OpenHarmonyNDK移植三方库Speexdsp

    大家好,我是一名即将本科毕业的OpenHarmony开发者,去年暑假利用了两个月时间移植了一个语音处理的三方库Speexdsp到OpenHarmony标准系统。主要为其编写了`build.gn`使其
    的头像 发表于 05-16 10:18 1240次阅读
    使用<b class='flag-5'>OpenHarmony</b>NDK<b class='flag-5'>移植</b>三方库Speexdsp

    OpenHarmony设备内核移植实战(二)

    、背景 OpenHarmony系统移植最核心的步骤是内核移植内核的稳定是
    发表于 05-10 16:03

    已结束-【书籍评测活动NO.12】 OpenHarmony嵌入式系统原理与应用——基于RK2206芯片(微课视频版)

    书中内容从OpenHarmony内核基础到物联网项目应用案例实战,从基础网络编程到华为云IoT设备开发,深入浅出,系统全面。 实战性强提供十
    发表于 05-08 15:51

    OpenHarmony设备内核移植实战

    我们要做的工作就是梳理原有系统启动流程,包括:如何将固件代码拷贝到内存,栈针从哪里开始引导系统启动,系统启动前需要做哪些软硬件的初始工作,然后让 OH 通过这套流程跑起来。
    的头像 发表于 05-08 10:50 565次阅读
    <b class='flag-5'>OpenHarmony</b>瘦<b class='flag-5'>设备</b><b class='flag-5'>内核移植</b><b class='flag-5'>实战</b>