803 Star 2.4K Fork 1.2K

GVPHuawei LiteOS / LiteOS

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
LiteOS_Code_Info_en.md 13.71 KB
一键复制 编辑 原始数据 按行查看 历史
CityHunter 提交于 2022-02-25 09:35 . !358编码规范修改

LiteOS Code Entry

The LiteOS entry is in the main.c file of a project. The basic process is as follows:

INT32 main(VOID)
{
    BoardConfig();
    HardwareInit();

    PRINT_RELEASE("\n********Hello Huawei LiteOS********\n"
                  "\nLiteOS Kernel Version : %s\n"
                  "build data : %s %s\n\n"
                  "**********************************\n",
                  HW_LITEOS_KERNEL_VERSION_STRING, __DATE__, __TIME__);

    UINT32 ret = OsMain();
    if (ret != LOS_OK) {
        return LOS_NOK;
    }

    OsStart();

    return 0;
}

Configure the memory end address using BoardConfig(), initialize the hardware using HardwareInit(), and print the version information of Huawei LiteOS.

Execute OsMain() to initialize the Huawei LiteOS kernel and routines. A user task is created in the OsMain() function, and the task processing function is app_init().

Call OsStart() to start task scheduling. Huawei LiteOS starts to work properly.

Description of the LiteOS Code Directory Structure

Source code stored in each directory is as follows:

Level-1 Directory Level-2 Directory Level-3 Directory Description
arch arm cortex_a_r Cortex-A architecture support
cortex_m Cortex-M architecture support
arm64 ARM64 architecture support
build Configuration and scripts required for building LiteOS
compat cmsis CMSIS-RTOS 1.0 and 2.0 APIs provided by LiteOS
components ai MindSpore-based AI operator library implementation
connectivity agent_tiny agent_tiny, which is a device-cloud interconnect componentcontaining the public header file, sample code, client implementation code, and OS adaptation layer code
lwm2m Implementation of the LwM2M protocol
mqtt Implementation of the MQTT open-source protocol
nb_iot LiteOS NB-IoT API
fs File systems, including vfs, spiffs, ramfs, littlefs, kifs, fatfs and devfs
gui Open-source LittlevGL graphics library
language Language-related components, including lua
lib cjson C language JSON library
log Log level control
media Media-related components, including Opus and libpng
net at_device AT device adaptation layer
at_frame LiteOS AT framework API
lwip/lwip_port lwIP driver and OS adaptation code
lwip/lwip-2.1.2 Implementation of the lwIP protocol
lwip/ppp_port Support for the PPP port of the lwIP protocol
sal Socket communication support
ota Firmware upgrade code
security mbedtls/mbedtls_port mbed TLS OS adaptation code
mbedtls/mbedtl-2.16.8 mbed TLS protocol implementation
sensorhub include Sensor manager header file
src Sensor manager source code implementation
utility Parsing tools, including bidireference, freetype, iconv, iniparser, json-c and libxml2
demos agenttiny_lwm2m LwM2M protocol demo
agenttiny_mqtt MQTT protocol demo
ai AI demo
dtls_server DTLS protocol demo
fs File system demo
gui GUI demo
ipv6_client IPv6 protocol demo
kernel api Demo code example for developers to test the LiteOS kernel
include Directory of API function header files
language Language-related component demo
lms LMS demo
media Media-related component demo
nbiot_without_atiny NB-IoT demo
sensorhub gyro Demo for periodically reading the original data of the MPU6050 gyroscope based on the sensorhub sensor framework
trace Trace demo
utility Parser demo
doc LiteOS-related documents, such as the usage guide and API description
include Header files which each components module depends on
kernel base LiteOS basic kernel code, providing functions such as tasks, interrupts, software timers, queues, events, semaphores, mutex locks, and ticks
debug LiteOS kernel debugging code, including the debugging of queues, semaphores, mutexes, and task scheduling
include Header files internally used by the LiteOS basic kernel
mem Code related to memory management in LiteOS
sched Task scheduling, including multi-core scheduling
shellcmd Shell commands related to the basic kernel on LiteOS, including memcheck, task, systeminfo, and swtmr
extended cppsupport Bottom-layer APIs for the C++ compatible adaptation layer
cpup cpup
include Header files required by the extended directory
lms Library file of LMS (used to check the validity of memory operations in real time)
lowpower Code related to the low-power framework
trace Event tracing, which is used to record the system running track in real time
include LiteOS open-source kernel header file
init LiteOS kernel initialization code
lib huawei_libc LiteOS Huawei-developed libc library and adapted POSIX API
libc The musl libc library for LiteOS adaptation
libsec Huawei security function library
zlib Open-source zlib library
osdepends liteos Some OS adaptation interfaces provided by LiteOS
shell Implementing the code of the shell command and supporting the basic debugging function
targets bsp General board support package
Cloud_STM32F429IGTx_FIRE Wildfire STM32F429 (ARM Cortex M4) development project source code package
qemu-virt-a53 QEMU development project source code package of Coretex-A53
realview-pbx-a9 QEMU development project source code package of Coretex-A9
STM32F072_Nucleo Source code package of the development project for the STM32F072_Nucleo (ARM Cortex-M0) development board
STM32F103_FIRE_Arbitrary Development project source code package of the Wildfire STM32F103 (ARM Cortex-M3) Hegemony development board
STM32F407_ATK_Explorer STM32F407 (ARM Cortex-M4) explorer board development project source code package
STM32F769IDISCOVERY Source code package of the development project for the STM32F769IDISCOVERY (ARM Cortex-M7) development board
STM32L4R9I_Discovery Source code package of the development project for the STM32L4R9IDISCOVERY (ARM Cortex-M4) development board
STM32L431_BearPi Source code package of the development project for BearPi STM32L431 (ARM Cortex-M4) development board
STM32L476_NB476 Source code package of the Shenzhen maker STM32L476 (ARM Cortex-M4) development board
STM32L496_Nucleo Source code package of the development project for the STM32L496 NUCLEO-144 (ARM Cortex-M4) development board
tools build Configuration file of the development board supported by LiteOS
menuconfig The menuconfig script required for building LiteOS
Makefile LiteOS Makefile
.config Configuration file of the development board. If you do not reselect a development board, the configuration file of the wildfire challenger STM32F429 development board is used by default.
C
1
https://gitee.com/LiteOS/LiteOS.git
git@gitee.com:LiteOS/LiteOS.git
LiteOS
LiteOS
LiteOS
master

搜索帮助