-
LiteOS入口在user/main.c中
int main(void) { UINT32 uwRet; /* add you hardware init code here for example flash, i2c , system clock .... */ //HAL_init();.... /*Init LiteOS kernel */ uwRet = LOS_KernelInit(); if (uwRet != LOS_OK) { return LOS_NOK; } /* Enable LiteOS system tick interrupt */ LOS_EnableTick(); /* Notice: add your code here here you can create task for your function do some hw init that need after systemtick init */ LOS_EvbSetup();//init the device on the dev baord //LOS_Demo_Entry(); LOS_Inspect_Entry(); //LOS_BoadExampleEntry(); /* Kernel start to run */ LOS_Start(); for (;;); /* Replace the dots (...) with your own code. */ }
其中第一步进行LiteOS的内核初始化 LOS_KernelInit(); 然后使能 system tick中断 LOS_EnableTick();
之后进行了一些演示用的串口、led等的初始化,以及测试代码的运行LOS_EvbSetup();LOS_Inspect_Entry();
最后调用LOS_Start();开始task调度,LiteOS开始正常工作,
关于代码树中各个目录存放的源代码的相关内容简介如下:
一级目录 | 二级目录 | 三级目录 | 说明 |
doc | 此目录存放的是LiteOS的使用文档和API说明文档 | ||
example | api | 此目录存放的是内核功能测试用的相关用例的代码 | |
include | aip功能头文件存放目录 | ||
kernel | base | core | LiteOS内核核心功能代码,包括队列、task调度、软timer、时间片计算等功能 |
fs | LiteOS文件系统的抽象层接口 | ||
include | LiteOS内核内部使用的头文件 | ||
ipc | LiteOS中task间通讯的相关接口,包括事件、信号量、消息队列、互斥锁等 | ||
mem | LiteOS中的内核内存管理的相关代码 | ||
misc | 内存对齐功能以及毫秒级休眠sleep功能 | ||
cmsis | LiteOS提供的cmsis接口 | ||
config | 此目录下是内核资源配置相关的代码,在头文件中配置了LiteOS所提供的各种资源所占用的内存池的总大小以及各种资源的数量,例如task的最大个数、信号量的最大个数等等 | ||
cpu | arm/cortex-m0 | arm系列M0核的LiteOS的适配代码,包括调度以及开关中断等等的汇编实现 | |
arm/cortex-m0+ | arm系列M0+核的LiteOS的适配代码,包括调度以及开关中断等等的汇编实现 | ||
arm/cortex-m3 | arm系列M3核的LiteOS的适配代码,包括调度以及开关中断等等的汇编实现 | ||
arm/cortex-m7 | arm系列M7核的LiteOS的适配代码,包括调度以及开关中断等等的汇编实现 | ||
arm/cortex-m4 | arm系列M4核的LiteOS的适配代码,包括调度以及开关中断等等的汇编实现 | ||
include | LiteOS内核对外部开放头文件存放目录 | ||
link | gcc | gcc方式编译时所需要包含的特殊公共头文件 | |
iar | IAR方式编译时所需要包含的特殊公共头文件 | ||
keil | KEIL方式编译时所需要包含的特殊公共头文件 | ||
platform | GD32F190R-EVAL | GD190开发板systick以及led、uart、key驱动bsp适配代码 | |
GD32F450i-EVAL | GD450开发板systick以及led、uart、key驱动bsp适配代码 | ||
STM32F412ZG-NUCLEO | STM32F412开发板systick以及led、uart、key驱动bsp适配代码 | ||
STM32F429I_DISCO | STM32F429开发板systick以及led、uart、key驱动bsp适配代码 | ||
STM32L476RG_NUCLEO | STM32L476开发板systick以及led、uart、key驱动bsp适配代码 | ||
LPC824_LITE | LPC824Lite开发板systick及驱动相关代码 | ||
LPC54110_BOARD | LPC54110开发板systick及驱动相关代码 | ||
MM32F103_MINI | MM32F103开发板systick及驱动相关代码 | ||
STM32F746ZG_NUCLEO | STM32F746ZG开发板systick以及led、uart、key驱动bsp适配代码 | ||
LOS_EXPAND_XXX | 用于新扩展的开发板systick以及led、uart、key驱动bsp适配代码 | ||
Arduino_M0_Pro | Arduino_M0_Pro开发板systick以及led、uart、key驱动bsp适配代码 | ||
ATSAM4S-XPRO | ATSAM4S-XPRO开发板systick以及led、uart、key驱动bsp适配代码 | ||
ATSAMD21-XPRO | ATSAMD21-XPRO开发板systick以及led、uart、key驱动bsp适配代码 | ||
EFM32-SLSTK3400A | EFM32-SLSTK3400A开发板systick以及led、uart、key驱动bsp适配代码 | ||
EFM32-SLSTK3401A | EFM32-SLSTK3401A开发板systick以及led、uart、key驱动bsp适配代码 | ||
EFM32-STK3700 | EFM32-STK3700开发板systick以及led、uart、key驱动bsp适配代码 | ||
FRDM-KL26Z | FRDM-KL26Z开发板systick以及led、uart、key驱动bsp适配代码 | ||
FRDM-KW41Z | FRDM-KW41Z开发板systick以及led、uart、key驱动bsp适配代码 | ||
STM32F411RE-NUCLEO | STM32F411RE-NUCLEO开发板systick以及led、uart、key驱动bsp适配代码 | ||
projects | STM32F412ZG-NUCLEO-KEIL | stm32f412开发板的keil工程目录 | |
STM32F429I_DISCO_IAR | stm32f429开发板的iar工程目录 | ||
STM32F429I_DISCO_KEIL | stm32f429开发板的keil工程目录 | ||
STM32L476R-NUCLEO-KEIL | stm32l476开发板的keil工程目录 | ||
GD32F190R-EVAL-KEIL | gd32f190开发板的keil工程目录 | ||
GD32F450i-EVAL-KEIL | gd32f450开发板的keil工程目录 | ||
LPC824_LITE_KEIL | lpc824Lite开发板的keil工程目录 | ||
LPC54110_BOARD_KEIL | lpc54110开发板的keil工程目录 | ||
MM32F103_MINI_KEIL | MindMotion MM32 MiniBoard开发板的keil工程目录 | ||
STM32F746ZG-NUCLEO-KEIL | NUCLEO-F746ZG 开发板的keil工程目录 | ||
Arduino_M0_PRO_KEIL | Arduino_M0_PRO开发板的keil工程目录 | ||
ATSAM4S-XPRO-KEIL | ATSAM4S-XPRO开发板的keil工程目录 | ||
ATSAMD21-XPRO-KEIL | ATSAMD21-XPRO开发板的keil工程目录 | ||
EFM32-SLSTK3400A-IAR | EFM32-SLSTK3400A开发板的IAR工程目录 | ||
EFM32-SLSTK3401A-IAR | EFM32-SLSTK3401A开发板的IAR工程目录 | ||
EFM32-STK3700-KEIL | EFM32-STK3700开发板的keil工程目录 | ||
FRDM-KL26Z-KEIL | FRDM-KL26Z开发板的keil工程目录 | ||
STM32F429I_DISCO_GCC | STM32F429I_DISCO开发板的GCC工程目录 | ||
FRDM-KW41Z-IAR | FRDM-KW41Z开发板的IAR工程目录 | ||
STM32F411RE-NUCLEO-KEIL | STM32F411RE-NUCLEO开发板的KEIL工程目录 | ||
user | 此目录存放用户测试代码,LiteOS的初始化和使用示例在main.c文件中 |