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(含原廠芯片驅動) |