LiteOS代码入口

LiteOS入口在工程对应的main.c中,基本流程如下:

int main(void)

{

  1. UINT32 uwRet = LOS_OK;
  2. HardWare_Init();
  3. uwRet = LOS_KernelInit();
  4. if(uwRet != LOS_OK)
  5. {
  6. return LOS_NOK;
  7. }
  8. LOS_Inspect_Entry();
  9. LOS_Start();

}

  1. 首先进行硬件初始化 HardWare_Init();

  2. 初始化LiteOS内核 LOS_KernelInit();

  3. 初始化内核例程 LOS_Inspect_Entry();

  4. 最后调用LOS_Start();开始task调度,LiteOS开始正常工作;

LiteOS的代码目录结构说明

关于代码树中各个目录存放的源代码的相关内容简介如下:

一级目录二级目录三级目录说明
archarmarm-mM核中断、调度、tick相关代码
commonarm核公用的cmsis core接口
componentscmsisLiteOS提供的cmsis os接口实现
connectivityagent_tinyagent_tiny端云互通组件,包括公共头文件、示例代码、客户端实现代码、操作系统适配层代码
lwm2mlwm2m协议实现
netlwip_portlwip驱动及OS适配代码
lwip-2.0.3lwip协议实现
securitymbedtls/mbedtls_portMBEDTLS的OS适配代码
mbedtls/mbedtl-2.6.0MBEDTLS协议实现
doc此目录存放的是LiteOS的使用文档和API说明等文档
examplesAPI供开发者测试LiteOS内核的demo示例,此目录存放的是内核功能测试用的相关用例的代码
includeAPI功能头文件存放目录
kernelbasecoreLiteOS基础内核代码,包括队列、task调度、软timer、时间片计算等功能
OM与错误处理相关的文件
includeLiteOS内核内部使用的头文件
ipcLiteOS中task间通讯的相关接口,包括事件、信号量、消息队列、互斥锁等
memLiteOS中的内核内存管理的相关代码
misc内存对齐功能以及毫秒级休眠sleep功能
includeLiteOS开源内核头文件
extendedtickless低功耗框架代码
targetsFRDM_KW41ZFRDM(ARM Cortex M0+)板端工程代码(含原厂芯片驱动)
STM32F103RB_NUCLEOF103(ARM Cortex M3)板端工程代码(含原厂芯片驱动)
STM32F429IGTx_FIRELF429(ARM Cortex M4)板端工程代码(含原厂芯片驱动)
STM32F746ZG_NUCLEOF746(ARM Cortex M7)板端工程代码(含原厂芯片驱动)