很荣幸很大家分享LiteOS的移植,这里我们移植的对象是ST的STM32L431,用的开发板是EVB_M1开发板,不罗嗦,直接上教程!大家也可以使用小熊派开发板进行移植
一、环境准备
1. 硬件环境准备
1.1 EVB_M1开发板
“EVB_M1”NB-IoT开发板,是“物联网俱乐部”正式销售的第一款带低功耗STML4单片机的开发板。开发板具有丰富的资源外设,以及灵活的传感器扩展板搭配方案,让您在NB-IoT产品的开发道路上更加便捷。EVB_M1自从上市以来广受好评,成为广大开发者学习NB-IoT、LiteOSC、OceanConnect的利器。
1.2 STlink仿真器
下载器,用于调试下载STM32芯片程序。
2. 软件环境
2.1 MDK ARM 集成开发软件
本移植指南使用的微控制器集成开发环境为MDK5.25,
芯片器件支持包:MDK安装完成后,要支持具体芯片的开发,还需要安装相应芯片器件支持包,比如EVB_M1开发板的主芯片是STM32L431RCT6,需要安装Keil.STM32L4xx_DFP.2.0.0.pack,
下载完成后直接双击即可安装。
2.2 开发板对应裸机工程
LiteOS移植需要提供开发板对应的裸机工程
本文裸机工程将使用STM32官方的STM32CubeMX软件生成,
该软件的下载地址为:
使用STM32CubeMX还需要安装JDK环境,开发者可以按照网上方法安装,此处不再赘述。
3. LiteOS源码准备
Huawei LiteOS开源代码托管在GitHub的LiteOS工程目录下,
进去后先将分支切换成develop,然后点击Clone or download下载LiteOS源码。
注意:(因LiteOS Devlop分支更新,请大家切换到:dev-deserted 分支)
LiteOS官方提供的内核源码目录介绍:
由于这里主要介绍的是LiteOS内核移植,我们涉及到的只有3个目录下的内容:arch、components/cmsis和kernel。下面介绍的移植过程也只涉及到这三个目录下的源码。
二、内核移植
1. 使用STM32CubeMX新建STM32L431RCT6裸机工程
1.1 启动STM32CubeMX后先新建工程
1.2 选择单板
如上图中标识序号
- 1:可以选择通过MCU还是Board来创建工程
- 2:设置单板筛选条件
- 3:选择对应的单板芯片双击创建工程
1.3配置引脚信息
如上图中标识序号
- 1: