这门课解决什么问题
HarmonyOS 是华为推出的面向全场景的智能终端操作系统,其内核 LiteOS-A 面向复杂应用场景,性能与实时性都优于纯软实时内核。把 LiteOS-A 从开发板自带环境移植到一块陌生的硬件平台(本资料以 NXP i.MX6ULL 为示例),是嵌入式 Linux/RTOS 工程师最容易遇到的硬骨头之一。课程解决的核心问题有三个:一是理解 ARM Cortex-A 架构下从 Bootloader 到内核启动的完整链条;二是掌握 HarmonyOS 内核配置、编译链、设备树适配的具体操作;三是学会如何在没有成熟 BSP 的情况下,把一块新板子跑起来。
这类工作在公司里通常由底层驱动工程师或系统工程师负责,但在创业团队或外包项目中,往往是一个人顶一个岗位。课程给出的不是“贴代码就能跑”的捷径,而是把移植过程中最容易踩坑的环节拆开讲清楚:启动汇编怎么写、栈怎么分配、中断向量表怎么映射、MMU 何时开启、串口如何最早可用。这些细节决定你能不能在第一天就让 U-Boot 成功跳转到内核。
适合什么基础
prerequisites 比较明确:你需要会读 ARM Cortex-A 系列的启动流程文档,理解 U-Boot、ELF 二进制、ARM TrustZone 的基本概念;最好有在 Raspberry Pi、Orange Pi 或其他 Cortex-A7/A53 开发板上烧录 Linux 或 RTOS 的经验;如果用过 FreeRTOS 或 RTX,并知道它们是怎么拉起第一个任务的,会更好上手。对纯软件背景的读者,课程前半段会比较吃力,建议先把“ARM 启动流程”和“Makefile 交叉编译”这两件事弄明白再看内容。
如果你是第一次接触 HarmonyOS,不建议直接跳到移植环节。资料包里通常会给出一些参考说明或前置阅读,建议按顺序过一遍:先了解 HarmonyOS 的内核模块划分(sched、timer、irq、mem 等),再看 i.MX6ULL 的数据手册里关于启动介质、时钟树、GPIO 复用的部分。这两块理解了,后面的代码改动才不会像在黑暗中摸墙。
建议先看哪几块、学完能做什么
建议先看的内容有三段:第一段是环境搭建与交叉编译工具链配置,学会用合适的 gcc-arm-none-eabi 或 HarmonyOS 官方工具链编译内核镜像;第二段是 u-boot 适配与串口打印,这是验证硬件是否存活的第一步,也是后续所有调试的基础;第三段是内核启动汇编与主函数入口,搞清楚 start.S 到 kernelEntry 的跳转路径。走完这三段,你基本能看到内核的 log 从串口输出。
学完后,你可以独立完成以下工作:在指定芯片平台上把 HarmonyOS LiteOS-A 内核从源码编译出来并烧录运行;根据数据手册改写出新的启动汇编与外设初始化代码;当开发板无法启动时,能用串口 log 定位是 MMU 配置错误、栈溢出还是中断未使能。配合资料包里的练习文件,建议边看边在自己的 i.MX6ULL 板子上动手跑,不要只看不练——移植这件事,动手一次比看十遍都有用。
课程目录
整理中,敬请期待。






