鸿蒙移植i.mx6ull(八) 添加一个单板(上)

简介: 鸿蒙移植i.mx6ull(八) 添加一个单板

添加一个单板


按照编译内核的流程,添加代码。


补丁文件openharmony_100ask_v1.2.patch,已经添加了2个单板:STM32MP157、IMX6ULL。


目标:仿照它们,添加一个新的单板,以后修改源码让它再次支持STM32MP157或IMX6ULL。


新加的单板:


芯片公司:DemoCom


芯片名称:DemoChip


本章节做的修改会制作为补丁文件:01_openharmony_add_demo_board.patch,

先打补丁:openharmony_100ask_v1.2.patch

再打补丁:01_openharmony_add_demo_board.patch


假设目录openharmony中是未修改的代码,从没打过补丁;

假设补丁文件放在openharmony的同级目录; 打补丁方法如下:

$ cd openharmony
$ patch -p1 < ../openharmony_100ask_v1.2.patch
$ patch -p1 < ../01_openharmony_add_demo_board.patch


打上补丁后,可以如此编译:

$ cd kernel/liteos_a
$ cp tools/build/config/debug/demochip_clang.config .config
$ make clean
$ make


1.1 配置界面里添加单板


kernel/liteos_a/platform/Kconfig

1671001025330.jpg

仿照代码添加一个新的板子:

1671001017087.jpg

1671001032882.jpg

打开menuconfig,就有了一个新的单板的配置

1671001039801.jpg

打开.config文件如下

1671001048332.jpg

LOSCFG_PLATFORM="demochip"
# LOSCFG_PLATFORM_HI3516DV300 is not set
# LOSCFG_PLATFORM_HI3518EV300 is not set
# LOSCFG_PLATFORM_STM32MP157 is not set
# LOSCFG_PLATFORM_IMX6ULL is not set
LOSCFG_PLATFORM_DEMOCHIP=y


1.2 添加源码


刚刚配置完了config,现在要修改makefile。用一个取巧的办法就是搜索宏。参照STM32是怎么写的。

grep "LOSCFG_PLATFORM_STM32MP157" * -nr

1671001068358.jpg


这部分是源码,这部分先不管:

1671001080732.jpg

1671001086442.jpg

先修改makefile:

1671001093291.jpg

在vendor目录下创建:DemoCom/DemoChip目录,里面放置文件。


1.3 Makefile中根据配置项修改


Makefile
platform/Makefile
platform/bsp.mk


/openharmony/kernel/liteos_a/Makefile


第一处

1671001106810.jpg

第二处

1671001113804.jpg

/openharmony/kernel/liteos_a/platform/Makefile

第三处

1671001135860.jpg

/openharmony/kernel/liteos_a/platform/platform/bsp.mk

第四处

1671001164442.jpg


第五处

1671001173442.jpg


1.4 能否编译通过

1671001184072.jpg

未通过:

1671001192846.jpg

1671001209553.jpg1671001219280.jpg




相关文章
|
Linux 芯片
鸿蒙移植i.mx6ull(十) 系统时钟
鸿蒙移植i.mx6ull(十) 系统时钟
237 0
鸿蒙移植i.mx6ull(十) 系统时钟
|
Shell Python
鸿蒙移植i.mx6ull(十二) 根文件系统
鸿蒙移植i.mx6ull(十二) 根文件系统
134 0
鸿蒙移植i.mx6ull(十二) 根文件系统
|
存储 Linux 内存技术
鸿蒙移植i.mx6ull(十一) 存储设备驱动程序(基于IMX6ULL)
鸿蒙移植i.mx6ull(十一) 存储设备驱动程序(基于IMX6ULL)
260 0
鸿蒙移植i.mx6ull(十一) 存储设备驱动程序(基于IMX6ULL)
|
Shell
鸿蒙移植i.mx6ull(九) 串口移植(基于IMX6ULL)
鸿蒙移植i.mx6ull(九) 串口移植(基于IMX6ULL)
376 0
鸿蒙移植i.mx6ull(九) 串口移植(基于IMX6ULL)
|
C语言
鸿蒙移植i.mx6ull(八) 添加一个单板(下)
鸿蒙移植i.mx6ull(八) 添加一个单板
103 0
鸿蒙移植i.mx6ull(八) 添加一个单板(下)
|
9月前
|
IDE JavaScript API
HarmonyOS开发第一步,熟知开发工具DevEco Studio
本文主要以常见的功能点作为概述希望可以帮助到学习HarmonyOS的开发者。
241 0
|
9月前
|
开发框架 开发者 JavaScript
HarmonyOS学习路之方舟开发框架—学习ArkTS语言(状态管理 三)
子组件中被@Link装饰的变量与其父组件中对应的数据源建立双向数据绑定。
|
7天前
|
数据管理 API 调度
【华为鸿蒙系统学习】- HarmonyOS4.0开发|自学篇
【华为鸿蒙系统学习】- HarmonyOS4.0开发|自学篇
235 0
|
9月前
|
开发框架
HarmonyOS学习路之方舟开发框架—学习ArkTS语言(状态管理 四)
被@Observed装饰的类,可以被观察到属性的变化;子组件中@ObjectLink装饰器装饰的状态变量用于接收@Observed装饰的类的实例,和父组件中对应的状态变量建立双向数据绑定。这个实例可以是数组中的被@Observed装饰的项,或者是class object中是属性,这个属性同样也需要被@Observed装饰。单独使用@Observed是没有任何作用的,需要搭配@ObjectLink或者@Prop使用。
|
9月前
|
人工智能 JSON API
HarmonyOS学习路之开发篇—AI功能开发(语音识别)
语音识别功能提供面向移动终端的语音识别能力。它基于华为智慧引擎(HUAWEI HiAI Engine)中的语音识别引擎,向开发者提供人工智能应用层API。该技术可以将语音文件、实时语音数据流转换为汉字序列,准确率达到90%以上(本地识别95%)。