一、背景
OpenHarmony系统移植最核心的步骤是内核的移植,内核的稳定是一切子系统稳定的基础,上一篇我们一起认识了板卡、SoC、芯片架构,并在OpenHarmony源码中找到了对应层面的开发路径,本文将开始介绍实操部分。
二、内核启动流程梳理
确保移植前开发板的官方SDK是可以跑起来的,原有SDK通常为FreeRTOS或者其他系统,固件的编译有对应编译流程,以及系统启动流程。我们要做的工作就是梳理原有系统启动流程,包括:如何将固件代码拷贝到内存,栈针从哪里开始引导系统启动,系统启动前需要做哪些软硬件的初始工作,然后让OH通过这套流程跑起来。
系统启动流程及原理图:
MCU启动工作原理图:
1.BootLoader将系统程序从Flash加载到运行内存中。
2.通过汇编指令完成系统启动前的软硬件初始化准备工作。
3.初始化系统并启动系统。
4.系统启动完成。
5.完成系统框架层的启动,使各个子系统处于可用状态。
三、配置vendor
配置vendor,创建如下目录结构