一、华为LiteOS
Huawei LiteOS 是华为公司针对物联网领域推出的面向万物感知、互联、智能的轻量级
操作系统,为终端厂商开发人员提供“一站式”完整软件开发平台,快速接入云,有效降
低开发门槛、缩短开发周期。于 2012 年为支持华为终端产品而开发的嵌入式操作系统;在
2014 年就已经在华为 Mate 系列、P 系列、荣耀系列手机、可穿戴产品上批量应用;在
2016 年 9 月就发布 Huawei LiteOS 开源版本,Kernel 源代码开源 ,经过多年的发展,现在
已经发布了 V2.1 版本,并且在 2018 年 9 月发布了 LiteOS IDE 开发工具 LiteOS Studio V1.0。
二、移植参考
(1)、官网移植教程
(2)、野火电子参考书
三、注意事项
(1)、gd32f30x.h文件中“typedef enum {FALSE = 0, TRUE = !FALSE} bool;”因与系统文件存在枚举重定义,需要注释或删除;
(2)、需要注意的是,LiteOS 提供了 3 套动态内存分配算法,位于 LiteOS\kernel\base\mem 目录下,分别是 bestfit、bestfit_little、tlsf 这三套
动态内存算法只需要添加其中一套就行了,对于资源有限的芯片,建议选择 bestfit_little,上面的示例也是添加了这一套动态分配算法;
另外 LiteOS\kernel\base\mem\membox 目录下是 LiteOS 提供的静态内存算法,与动态内存算法不冲突,需要添加;LiteOS\kernel\base\mem\common 目录的内容需要全部添加 四、结果
五、部分代码和附件
- #include "liteos_task.h"
- void bsp_init(void)
- {
- systick_config(120);
- nvic_priority_group_set(NVIC_PRIGROUP_PRE2_SUB2);
-
- led_init();
- usart0_init(115200);
- }
- int main(void)
- {
- UINT32 uwret=LOS_OK;
- bsp_init();
- printf("Welcome to Huawei liteos\r\n");
-
- uwret=LOS_KernelInit();
- if(uwret!=LOS_OK)
- {
- printf("Core_Task is created faile! error code:%d\r\n",uwret);
- return LOS_NOK;
- }
-
- uwret=AppTaskCreate();
- if(uwret!=LOS_OK)
- {
- printf("App_Task is created faile! error code:%d\r\n",uwret);
- return LOS_NOK;
- }
-
- LOS_Start();
- while(1);
- }
|