很多做STM32MP157异构双核开发的新手都会混淆三个概念:独立Huawei LiteOS、LiteOS-M、LiteOS-A、OpenHarmony(开源鸿蒙)。

经常出现两个致命踩坑:  1. 把LiteOS-A移植到M4内核,直接编译报错、板子死机;  2. 以为M4跑LiteOS-M就是完整鸿蒙,不清楚二者是内核组件与完整操作系统的从属关系。  

 本文结合STM32MP157(Cortex-A7+Cortex-M4)开发场景,把三者定位、架构、适用内核、编译工具、开发流程完整拆解,解决MP1双内核开发选型困惑。

 一、基础概念理清:从属关系先搞懂

在深入之前,先把宏观从属关系理顺:

> **一句话记牢**:LiteOS-M / LiteOS-A 是 OpenHarmony 可选的底层内核;M4 只允许使用 LiteOS-M 内核,A7 可选用 LiteOS-A 或 Linux 构建完整 OpenHarmony 系统;单独 LiteOS-M 可以脱离 OpenHarmony 裸机独立移植运行(这正是我当前 STM32MP157 M4 的开发方案)。

二、LiteOS-M、LiteOS-A、OpenHarmony 核心对比表(MP1 开发专用)

三、LiteOS-M 和 LiteOS-A 关键区分(MP1 开发高频踩坑点)

**最大好处**:绕过 Keil MDK 评估版 32KB 镜像限制,GCC 编译无容量约束。

四、LiteOS-M 独立移植 VS A7 完整 OpenHarmony(两种开发路线对比)

五、结合 STM32MP157 开发的选型建议

 六、常见误区 TOP 5


## 七、总结

附:配套工具链说明

工具 用途 获取方式
arm-none-eabi-gcc M4/LiteOS-M 编译 ARM 官网下载;Ubuntu:sudo apt install gcc-arm-none-eabi
arm-linux-gnueabihf-gcc A7/LiteOS-A/OpenSTLinux 编译 Ubuntu:sudo apt install gcc-arm-linux-gnueabihf
STM32CubeProgrammer M4 固件烧录调试 ST 官网,正点原子资料自带

---注:两套交叉编译链不可混用。

> **配套前文推荐**:[《STM32MP157 A7/M4 双内核开发:MDK 32KB 限制、两套交叉编译链完整梳理》]  
> 包含 MDK 仿真 Selected=0MHz 故障、两套交叉工具链详细区分、M4 GCC 编译完整流程。

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐