https://github.com/Awesome-HarmonyOS/HarmonyOS
其中,只有LiteOS比较多些,具体为:学单片机和嵌入式的同志可以学习下
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端云互通组件,包括公共头文件、示例代码、客户端实现代码、操作系统适配层代码 | |
at_frame | LiteOS AT框架实现 | ||
lwm2m | lwm2m协议实现 | ||
nbiot | LiteOS NB-IoT API | ||
paho.mqtt.embedded-c-1.1.0 | MQTT开源协议实现 | ||
fota | 固件升级代码 | ||
fs | 文件系统,含VFS、spiffs、ramfs、kifs、devfs | ||
lib | libc | LiteOS libc优化 | |
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 | Cloud_NB-IoT_STM32F103RE_OneNET | 中国移动OneNet NB-IoT 端云demo工程 | |
Cloud_NXP51U68 | NXP ARM Cortex M0 ENC28J60以太网LiteOS SDK端云demo | ||
Cloud_STM32F429IGTx_FIRE | 野火STM32F429(ARM Cortex M4)以太网/ESP8266串口WiFi/SIM900A GPRS/NB-IoT BC95四种连接方式的LiteOS SDK端云demo,内部用编译宏区分,其中wifi、gprs、NB-IOT使用LiteOS SDK的AT框架实现 | ||
Cloud_STM32L431RxTx_IoTClub | 物联网俱乐部EVB-M1 STM32L431(ARM Cortex M4)ESP8266WiFi/NB-IoT BC95两种连接方式的LiteOS SDK端云demo | ||
Cloud_STM3210E_EVAL | STM3210E(ARM Cortex M3)W5500 以太网LiteOS SDK端云demo | ||
Cloud_wifi_STM32F429ZI_NUCLEO | STM32F429(ARM Cortex M4)marvell SDIO wifi LiteOS SDK端云demo | ||
Cloud_wifi_STM32F767ZI_NUCLEO | STM32F767(ARM Cortex M7)esp8266 spi wifi LiteOS SDK端云demo | ||
Demo_Tutorial_STM32F103VC_TAIBI | STM32F103_TAIBI(ARM Cortex M3)LiteOS入门demo,最简单的LED点灯示例程序 | ||
Standard_FRDM_KW41Z | FRDM(ARM Cortex M0+)Standard前缀命名的工程仅为内核移植demo,下同(含原厂芯片驱动) | ||
Standard_IMXRT1052_FIRE | IMXRT1052(ARM Cortex M7)跨界处理器NXP IMXRT1052内核移植demo(含原厂芯片驱动) | ||
Standard_msp430f5438a_taurus_v4.2 | MSP430(TI 16位低功耗单片机)LiteOS首个16位单片机内核移植demo(含原厂芯片驱动) | ||
Standard_NRF51822_BLE | NRF51822(ARM Cortex M0)NRF51822蓝牙芯片内核移植demo(含原厂芯片驱动) | ||
Standard_STM32F0Discovery | STM32F0Discovery(ARM Cortex M0)STM32F0 内核移植demo,RAM 8KB,资源裁剪可参考该工程配置(含原厂芯片驱动) | ||
Standard_STM32F103RB_NUCLEO | F103(ARM Cortex M3)STM32F103内核移植demo(含原厂芯片驱动) | ||
Standard_STM32F103VC_TAIBI | STM32F103VC_TAIBI(ARM Cortex M3)钛比STM32F103开发板内核移植demo(含原厂芯片驱动) | ||
Standard_STM32F746ZG_NUCLEO | F746(ARM Cortex M7)STM32F746内核移植demo(含原厂芯片驱动) |
来源:https://www.cnblogs.com/guochaoxxl/p/12460162.html