LiteOS代码入口
LiteOS入口在工程对应的main.c中,基本流程如下:
int main(void)
{
UINT32 uwRet = LOS_OK;HardWare_Init();uwRet = LOS_KernelInit();if (uwRet != LOS_OK){return LOS_NOK;}LOS_Inspect_Entry();LOS_Start();
}
首先进行硬件初始化 HardWare_Init();
初始化LiteOS内核 LOS_KernelInit();
初始化内核例程 LOS_Inspect_Entry();
最后调用LOS_Start();开始task调度,LiteOS开始正常工作;
LiteOS的代码目录结构说明
关于代码树中各个目录存放的源代码的相关内容简介如下:
| 一级目录 | 二级目录 | 三级目录 | 说明 |
|---|---|---|---|
| arch | arm | arm-m | M核中断、调度、tick相关代码 |
| common | arm核公用的cmsis core接口 | ||
| components | cmsis | LiteOS提供的cmsis os接口实现 | |
| connectivity | agent_tiny | agent_tiny端云互通组件,包括公共头文件、示例代码、客户端实现代码、操作系统适配层代码 | |
| lwm2m | lwm2m协议实现 | ||
| net | lwip_port | lwip驱动及OS适配代码 | |
| lwip-2.0.3 | lwip协议实现 | ||
| security | mbedtls/mbedtls_port | MBEDTLS的OS适配代码 | |
| mbedtls/mbedtl-2.6.0 | MBEDTLS协议实现 | ||
| doc | 此目录存放的是LiteOS的使用文档和API说明等文档 | ||
| examples | API | 供开发者测试LiteOS内核的demo示例,此目录存放的是内核功能测试用的相关用例的代码 | |
| include | API功能头文件存放目录 | ||
| kernel | base | core | LiteOS基础内核代码,包括队列、task调度、软timer、时间片计算等功能 |
| OM | 与错误处理相关的文件 | ||
| include | LiteOS内核内部使用的头文件 | ||
| ipc | LiteOS中task间通讯的相关接口,包括事件、信号量、消息队列、互斥锁等 | ||
| mem | LiteOS中的内核内存管理的相关代码 | ||
| misc | 内存对齐功能以及毫秒级休眠sleep功能 | ||
| include | LiteOS开源内核头文件 | ||
| extended | tickless | 低功耗框架代码 | |
| targets | FRDM_KW41Z | FRDM(ARM Cortex M0+)板端工程代码(含原厂芯片驱动) | |
| STM32F103RB_NUCLEO | F103(ARM Cortex M3)板端工程代码(含原厂芯片驱动) | ||
| STM32F429IGTx_FIREL | F429(ARM Cortex M4)板端工程代码(含原厂芯片驱动) | ||
| STM32F746ZG_NUCLEO | F746(ARM Cortex M7)板端工程代码(含原厂芯片驱动) |
