OpenHarmony移植
文章平均质量分 72
OpenHarmony移植
连志安的博客
OpenHarmony龙芯架构SIG小组负责人,OpenHarmony教育工作组副组长,开源大师兄项目执行总监,
华为HDE专家,开放原子开源基金会2022开源贡献之星,广州市天河区软件协会专家委员,润和软件生态技术总监
出版书籍《物联网——嵌入式开发实战》。移植OpenHarmony到龙芯相关芯片,GD32,STM32芯片并开源。
展开
-
移植OpenHarmony轻量系统【3】Board、SOC、架构与代码对应关系
摘要:本文简单介绍OpenHarmony轻量系统移植,Board和SoC与代码的对应关系适合群体:想自己动手移植OpenHarmony轻量系统的朋友上一节,我们已经添加了Board、SOC两个文件夹、由于我们所选的芯片是GD32F303,其架构(ARCH)为ARM cortex-M4,OpenHarmony已经支持了,所以不需要我们修改,整体文件夹如下:Arch文件夹如下:2.1 芯片和开发板分类其实不管是什么芯片、GD32F303也好、STM32F103也罢,他们都可以按照这个规则进行分类原创 2022-02-10 09:52:31 · 2398 阅读 · 0 评论 -
移植OpenHarmony轻量系统【1】移植思路
摘要:本文简单介绍OpenHarmony轻量系统移植,会分多篇适合群体:想自己动手移植OpenHarmony轻量系统的朋友开始尝试讲解一下系统的移植,主要是轻量系统,也可能会顺便讲下L1移植。1.1移植类型OpenHarmony轻量系统的移植比较简单,代码中解耦做得非常好。从代码的设计理念上来看,移植主要是3部分的内容:(1)ARCH部分的代码(2)SoC部分的代码(3)board级的代码从上至下我们可以用一张图来做对比:ARCH也就是架构,例如ARM架构、RISC-V架构.原创 2022-02-10 09:49:57 · 2605 阅读 · 4 评论 -
移植OpenHarmony轻量系统【6】内核初始化和启动
摘要:本文简单介绍OpenHarmony轻量系统移植,内核初始化和启动适合群体:想自己动手移植OpenHarmony轻量系统的朋友上一节我们已经实现了链接脚本和启动文件,现在代码可以进入main函数,接下来我们要初始化内核、启动内核。6.1 main函数Main函数位于:device\board\lianzhian\gd32f303_lianzhian\sdk可以看到,main函数的实现比较简单,先实现gpio和串口的初始化。接下来是比较重要的,我们要调用内核之前,需要先调用LOS_Kerne原创 2022-02-10 09:54:30 · 1346 阅读 · 0 评论 -
移植OpenHarmony轻量系统【7】烧录与验证
摘要:本文简单介绍OpenHarmony轻量系统移植,内核初始化和启动适合群体:想自己动手移植OpenHarmony轻量系统的朋友上一节我们已经完成的移植好了内核,hb build -f编译后,查看输出文件:out\gd32f303_lianzhian\gd32f303_lianzhian其中,OHOS_Image.bin 是我们要烧录的文件。这里我们使用jlink进行烧录,步骤如下:(1)下载JLinkARM_GD_Exclusive软件,打开JFlashARM.exe程序。(2)选择Op原创 2022-02-10 09:55:05 · 1446 阅读 · 0 评论 -
移植OpenHarmony轻量系统【2】Board和SoC解耦的设计思路
摘要:本文简单介绍OpenHarmony轻量系统移植,Board和SoC解耦的设计思路适合群体:想自己动手移植OpenHarmony轻量系统的朋友开始尝试讲解一下系统的移植,主要是轻量系统,也可能会顺便讲下L1移植。本节内容所有代码都在这个仓库下:https://gitee.com/qidiyun/openharmony-gd32f303-example/tree/master对应的是 01_vendor_soc_board2.1 hb编译原理当我们输入hb set命令后,会提示我们选择要原创 2022-02-10 09:51:50 · 1960 阅读 · 1 评论 -
从零开始移植OpenHarmony轻量系统
摘要:本文简单介绍OpenHarmony轻量系统移植,如何使用移植示例适合群体:想自己动手移植OpenHarmony轻量系统的朋友经过几天的努力,终于成功把最新版本的OpenHarmony轻量系统内核移植到ARM单片机上,现在代码开源、移植文章也完成7篇,后续会考虑增加视频讲解,直播。以便大家也可以自己移植。移植OpenHarmony轻量系统【1】移植思路移植OpenHarmony轻量系统【2】Board和SoC解耦的设计思路移植OpenHarmony轻量系统【3】Board、SOC、架构与代码对原创 2022-02-10 09:59:17 · 3328 阅读 · 1 评论 -
移植OpenHarmony轻量系统【4】启动文件与链接
摘要:本文简单介绍OpenHarmony轻量系统移植,启动文件和链接适合群体:想自己动手移植OpenHarmony轻量系统的朋友上一节我们已经实现了大部分代码,现在我们需要实现启动文件和最终链接成可烧录到开发板的文件。4.1 ARM芯片移植轻量系统基础知识在做芯片移植工作之前,我们需要掌握一点点基础知识。(1)适配LiteOS-M轻量系统GD32F303系列器件是基于Arm® Cortex®-M4处理器的32位通用微控制器。所以我们使用的是内核是LiteOS-M,对应的是OpenHarmony轻原创 2022-02-10 09:53:07 · 1245 阅读 · 1 评论 -
移植OpenHarmony轻量系统【5】newlibc库移植
摘要:本文简单介绍OpenHarmony轻量系统移植,libc库移植适合群体:想自己动手移植OpenHarmony轻量系统的朋友当前M核编译时上层组件与内核统一使用musl-C,位于//third_party/musl/porting/liteos_m/kernel/,内核当前的内部实现也是主要适配musl的结构体定义,但社区及三方厂商开发多使用公版工具链arm-none-eabi-gcc加上私有定制优化进行编译,考虑我们内核的易用性提升,故支持公版arm-none-eabi-gccC库编译内核运行原创 2022-02-10 09:53:51 · 1804 阅读 · 0 评论
分享