鴻蒙系統的源碼,請需要的同志查看


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();

}

  1. 首先進行硬件初始化 HardWare_Init();

  2. 初始化LiteOS內核 LOS_KernelInit();

  3. 初始化內核例程 LOS_Inspect_Entry();

  4. 最后調用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(含原廠芯片驅動)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM