漫谈LiteOS之开发板-LiteOS移植(基于GD32450i-EVAL)
1 为什么移植? 嵌入式设备的芯片型号和外设的差异较大,资源有限。而RTOS无法适配集成所有的驱动,因此会先适配部分开发板,然后通过移植使得适配更多的开发板。 可移植性是嵌入式操作系统与普通操作系统的显著区别之一,而所谓移植就是通过一定的代码修改使得该操作系统适配自己的开发板,以使得自己的开发板可以运行一些手头开发板没有配套的编译工程。 2 移植的分类 移植通常分为系统移植和驱动移植,驱动移植需要依赖具体的外设,本文主要介绍操作系统的移植。采用的主要方案是硬中断接管和不接管中断中的更加简便快捷的不接管中断方式。 3 开发环境 软件环境:Windows系统、Keil5、J-Link对应驱动; 硬件环境:GD32450i-EVAL开发板、J-Link下载器、串口线、数据线; 注意:上述环境也可根据自己需求进行修改,如使用IAR、GCC等。 4 移植流程 4.1 准备工作 (1)下载LiteOS源码 在github上下载最新的LiteOS源码,地址: https://github.com/LiteOS/LiteOS ,下载任意版本皆可,其源码核心一致,我这里使用的是dev-deserted,其工程目录详情如图1所示。 图1 LiteOS源码工程目录以及对应描述 (2)提取LiteOS核心移植文件 对LiteOS源码做一个简单的提取便于后续操作的简洁性,当然也可以不提取