鸿蒙系统的源码,请需要的同志查看

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(含原厂芯片驱动)

猜你喜欢

转载自www.cnblogs.com/guochaoxxl/p/12460162.html