LiteOS 入门学习笔记 - 环境搭建篇

前言

抽空研究对比了几款RTOS,如RT-Thread、FreeRTOS、LiteOS等,发现LiteOS也是相当不错的。

于是下载源码,查看文档,配置开发环境,开始LiteOS的学习之旅。

 

环境搭建

嵌入式软件的开发,需要配置软件、硬件开发环境,否则,单纯的看代码,不真机调试,很难理解、熟悉内核工作逻辑,甚至无法体会掌握内核的基本使用方法。

所以,搭建PC软件开发环境,准备开发板,真机调试。

目前LiteOS版本为:【LiteOS Kernel Version : 5.1.0】,支持的MCU型号不够齐全,STM32F103系列,目前支持【STM32F103ZE】系列。

开发IDE,Keil MDK5暂不支持,有基于VS Code的开发IDE:【HUAWEI-LiteOS-Studio】,编译环境为gcc交叉编译。

 

下载【HUAWEI-LiteOS-Studio】

下载地址:https://gitee.com/LiteOS/LiteOS_Studio/releases/V1.45.8

 

LiteOS 入门学习笔记 - 环境搭建篇

 

下载完后,点击安装到完成即可。

 

配置编译环境

安装完:HUAWEI-LiteOS-Studio后,编译工具没有下载,需要手动下载,下载方法可以看官方的文档。

HUAWEI LiteOS Studio安装

这里主要是下载:

安装arm-none-eabi软件

安装Make构建软件

安装JLink仿真器软件

 

LiteOS 入门学习笔记 - 环境搭建篇

 

工程的搭建

打开HUAWEI-LiteOS-Studio,新建工程,我有【STM32F103VE】的开发板,所以,选择:STM32F103系列的BSP,注意STM32F103ZE与VE,只是引脚不同,Flash、SRAM等资源相差不多。这个BSP,理论上可以直接使用。

 

LiteOS 入门学习笔记 - 环境搭建篇

 

工程配置:gcc 编译路径默认不需要更改

 

LiteOS 入门学习笔记 - 环境搭建篇

 

烧写路径:

也就是生成的bin文件路径,一般为:\out\STM32F103_FIRE_Arbitrary\Huawei_LiteOS.bin

LiteOS 入门学习笔记 - 环境搭建篇

 

配置调试:

这里使用J-Link,注意J-Link 安装的版本过高,会对【国产】J-Link造成影响,我使用V4.90的J-Link驱动。

LiteOS 入门学习笔记 - 环境搭建篇

 

编译与下载:

上面配置正确,编译会成功,下载也会成功,注意:下载后程序不执行,需要复位一下开发板,或者手动重新上电。

 

LiteOS运行:

LiteOS,默认开启了Shell,类似于RT-Thread MSH,运行效果如下:

 

********Hello Huawei LiteOS********

LiteOS Kernel Version : 5.1.0
build data : Jun 12 2021 17:24:57

**********************************
OsAppInit
cpu 0 entering scheduler
Hello, welcome to liteos!
Hello, welcome to liteos demo!

Huawei LiteOS # 
Huawei LiteOS # 
Huawei LiteOS # help
*******************shell commands:*************************

date          free          help          hwi           memcheck      swtmr         systeminfo    task          
uname         watch         

Huawei LiteOS # 

 

查看系统信息:

Huawei LiteOS # systeminfo

   Module    Used      Total
--------------------------------
   Task      5         12        
   Sem       0         20        
   Mutex     3         20        
   Queue     2         10        
   SwTmr     0         16        

Huawei LiteOS # task

Name                   TaskEntryAddr       TID    Priority   Status       StackSize    WaterLine      StackPoint   TopOfStack   SemID        EventMask   MEMUSE
----                   -------------       ---    --------   --------     ---------    ----------     ----------   ----------   ----------   ---------   ------
Swt_Task               0x0800181d          0x0    0          Pend         0x320        0xd8           0x20003d0c   0x20003ac0   0xffffffff   0x0         0          
IdleCore000            0x08002ff1          0x1    31         Ready        0x190        0x158          0x20003f74   0x20003e40   0xffffffff   0x0         0          
LedTask                0x08007c55          0x3    5          Delay        0x320        0x78           0x200045bc   0x20004310   0xffffffff   0x0         0          
SerialShellTask        0x08007721          0x4    9          Running      0x1000       0x594          0x200059c4   0x20004a90   0xffffffff   0xfff       1492       
SerialEntryTask        0x08007321          0x5    9          Pend         0x600        0x490          0x20005fc4   0x20005aa0   0xffffffff   0x0         132        

Huawei LiteOS # uname
Huawei LiteOS

Huawei LiteOS # 

 

LED闪灯

 

通过查看,有一个LED闪灯的程序,但是驱动配置的LED控制引脚,与我开发板上的不一致,手动更改一下。

LiteOS 入门学习笔记 - 环境搭建篇

配置LED引脚后,编译、下载到开发板,发现,开发板的LED,正常的闪烁。

 

LiteOS的开发环境,基于 【HUAWEI-LiteOS-Studio】,成功搭建完成。

 

总结

国产RTOS的发展,离不开大家的努力,希望大家多多的使用,不断的完善,国产的RTOS,定能不断的健壮。

通过研究对比一些优秀的RTOS内核代码,是学习研究操作系统、RTOS的一个较好的路径。

嵌入式软件,需要摆脱【眼高手低】的毛病,代码是调试出来的,不是看出来的。

 

 

 

 

 

上一篇:eNSP中玩转Python自动化——通过FTP备份交换机配置文件


下一篇:使用Maven聚合工程[pom+子项目] 创建spring cloud项目