Skip to content

Latest commit

 

History

History
426 lines (407 loc) · 8.91 KB

LiteOS_Code_Info.md

File metadata and controls

426 lines (407 loc) · 8.91 KB

LiteOS代码入口

  • 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开始正常工作,

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文件中