鸿蒙移植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(十) 系统时钟
303 0
鸿蒙移植i.mx6ull(十) 系统时钟
|
Shell Python
鸿蒙移植i.mx6ull(十二) 根文件系统
鸿蒙移植i.mx6ull(十二) 根文件系统
200 0
鸿蒙移植i.mx6ull(十二) 根文件系统
|
存储 Linux 内存技术
鸿蒙移植i.mx6ull(十一) 存储设备驱动程序(基于IMX6ULL)
鸿蒙移植i.mx6ull(十一) 存储设备驱动程序(基于IMX6ULL)
320 0
鸿蒙移植i.mx6ull(十一) 存储设备驱动程序(基于IMX6ULL)
|
Shell
鸿蒙移植i.mx6ull(九) 串口移植(基于IMX6ULL)
鸿蒙移植i.mx6ull(九) 串口移植(基于IMX6ULL)
468 0
鸿蒙移植i.mx6ull(九) 串口移植(基于IMX6ULL)
|
C语言
鸿蒙移植i.mx6ull(八) 添加一个单板(下)
鸿蒙移植i.mx6ull(八) 添加一个单板
133 0
鸿蒙移植i.mx6ull(八) 添加一个单板(下)
|
6天前
|
UED
鸿蒙next版开发:相机开发-适配不同折叠状态的摄像头变更(ArkTS)
在HarmonyOS 5.0中,ArkTS提供了强大的相机开发能力,特别是针对折叠屏设备的摄像头适配。本文详细介绍了如何在ArkTS中检测和适配不同折叠状态下的摄像头变更,确保相机应用在不同设备状态下的稳定性和用户体验。通过代码示例展示了具体的实现步骤。
29 8
|
6天前
|
API 内存技术
鸿蒙next版开发:相机开发-拍照(ArkTS)
在HarmonyOS 5.0中,ArkTS提供了一套完整的API来管理相机功能,特别是拍照功能。本文详细介绍如何在ArkTS中实现拍照功能,包括导入接口、创建会话、配置会话、触发拍照及监听拍照输出流状态,并提供代码示例进行详细解读。通过本文,你将掌握如何在HarmonyOS 5.0中使用ArkTS实现高效的拍照功能。
25 7
|
6天前
|
监控 开发者
鸿蒙next版开发:使用HiDebug获取调试信息(ArkTS)
在HarmonyOS 5.0中,HiDebug是一个强大的应用调试工具,可帮助开发者获取系统的CPU使用率、内存信息等关键性能数据。本文详细介绍了如何在ArkTS中使用HiDebug,并提供了示例代码,帮助开发者进行性能分析和问题诊断。
24 7
|
1天前
|
Android开发
鸿蒙开发:自定义一个简单的标题栏
本身就是一个很简单的标题栏组件,没有什么过多的技术含量,有一点需要注意,当使用沉浸式的时候,注意标题栏的位置,需要避让状态栏。
鸿蒙开发:自定义一个简单的标题栏
|
1天前
|
API
鸿蒙开发:切换至基于rcp的网络请求
本文的内容主要是把之前基于http封装的库,修改为当前的Remote Communication Kit(远场通信服务),无非就是通信的方式变了,其他都大差不差。
鸿蒙开发:切换至基于rcp的网络请求