久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2901|回復: 0
打印 上一主題 下一主題
收起左側

華為liteos kernal包源碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:394966 發(fā)表于 2018-9-7 13:48 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
華為liteos, kernal部分

源程序如下:
  1. /*----------------------------------------------------------------------------
  2. * Copyright (c) <2013-2015>, <Huawei Technologies Co., Ltd>
  3. * All rights reserved.
  4. * Redistribution and use in source and binary forms, with or without modification,
  5. * are permitted provided that the following conditions are met:
  6. * 1. Redistributions of source code must retain the above copyright notice, this list of
  7. * conditions and the following disclaimer.
  8. * 2. Redistributions in binary form must reproduce the above copyright notice, this list
  9. * of conditions and the following disclaimer in the documentation and/or other materials
  10. * provided with the distribution.
  11. * 3. Neither the name of the copyright holder nor the names of its contributors may be used
  12. * to endorse or promote products derived from this software without specific prior written
  13. * permission.
  14. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  15. * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
  16. * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  17. * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
  18. * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
  19. * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
  20. * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
  21. * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
  22. * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
  23. * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
  24. * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  25. *---------------------------------------------------------------------------*/
  26. /*----------------------------------------------------------------------------
  27. * Notice of Export Control Law
  28. * ===============================================
  29. * Huawei LiteOS may be subject to applicable export control laws and regulations, which might
  30. * include those applicable to Huawei LiteOS of U.S. and the country in which you are located.
  31. * Import, export and usage of Huawei LiteOS in any manner by you shall be in compliance with such
  32. * applicable export control laws and regulations.
  33. *---------------------------------------------------------------------------*/

  34. #include "los_sys.h"
  35. #include "los_tick.h"
  36. #include "los_task.ph"
  37. #include "los_config.h"

  38. #ifdef __cplusplus
  39. #if __cplusplus
  40. extern "C" {
  41. #endif /* __cpluscplus */
  42. #endif /* __cpluscplus */

  43. #pragma data_alignment=8
  44. UINT8 *m_aucSysMem0;
  45. UINT32 g_sys_mem_addr_end = 0;
  46. extern UINT8 g_ucMemStart[];
  47. extern UINT32 osTickInit(UINT32 uwSystemClock, UINT32 uwTickPerSecond);
  48. extern UINT32   g_uwTskMaxNum;

  49. void osEnableFPU(void)
  50. {
  51.     *(volatile UINT32 *)0xE000ED88 |= ((3UL << 10*2)|(3UL << 11*2));
  52.     //SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2));
  53. }
  54. /*****************************************************************************
  55. Function    : osRegister
  56. Description : Configuring the maximum number of tasks
  57. Input       : None
  58. Output      : None
  59. Return      : None
  60. *****************************************************************************/
  61. LITE_OS_SEC_TEXT_INIT VOID osRegister(VOID)
  62. {
  63.     g_uwTskMaxNum = LOSCFG_BASE_CORE_TSK_LIMIT + 1; /* Reserved 1 for IDLE */
  64.     g_sys_mem_addr_end = (UINT32)g_ucMemStart + OS_SYS_MEM_SIZE;
  65.     return;
  66. }

  67. /*****************************************************************************
  68. Function    : LOS_Start
  69. Description : Task start function
  70. Input       : None
  71. Output      : None
  72. Return      : LOS_OK
  73. *****************************************************************************/
  74. LITE_OS_SEC_TEXT_INIT UINT32 LOS_Start()
  75. {
  76.     UINT32 uwRet;
  77. #if (LOSCFG_BASE_CORE_TICK_HW_TIME == NO)
  78.     uwRet = osTickStart();

  79.     if (uwRet != LOS_OK)
  80.     {
  81.         PRINT_ERR("osTickStart error\n");
  82.         return uwRet;
  83.     }
  84. #else
  85.     os_timer_init();
  86. #endif
  87.     LOS_StartToRun();

  88.     return uwRet;
  89. }

  90. /*****************************************************************************
  91. Function    : osMain
  92. Description : System kernel initialization function, configure all system modules
  93. Input       : None
  94. Output      : None
  95. Return      : LOS_OK
  96. *****************************************************************************/
  97. LITE_OS_SEC_TEXT_INIT int osMain(void)
  98. {
  99.     UINT32 uwRet;

  100.     osRegister();

  101.     uwRet = osMemSystemInit();
  102.     if (uwRet != LOS_OK)
  103.     {
  104.         PRINT_ERR("osMemSystemInit error %d\n", uwRet);
  105.         return uwRet;
  106.     }

  107. #if (LOSCFG_PLATFORM_HWI == YES)
  108.     {
  109.         osHwiInit();
  110.     }
  111. #endif

  112.     uwRet =osTaskInit();
  113.     if (uwRet != LOS_OK)
  114.     {
  115.         PRINT_ERR("osTaskInit error\n");
  116.         return uwRet;
  117.     }

  118. #if (LOSCFG_BASE_IPC_SEM == YES)
  119.     {
  120.         uwRet = osSemInit();
  121.         if (uwRet != LOS_OK)
  122.         {
  123.             return uwRet;
  124.         }
  125.     }
  126. #endif

  127. #if (LOSCFG_BASE_IPC_MUX == YES)
  128.     {
  129.         uwRet = osMuxInit();
  130.         if (uwRet != LOS_OK)
  131.         {
  132.             return uwRet;
  133.         }
  134.     }
  135. #endif

  136. #if (LOSCFG_BASE_IPC_QUEUE == YES)
  137.     {
  138.         uwRet = osQueueInit();
  139.         if (uwRet != LOS_OK)
  140.         {
  141.             PRINT_ERR("osQueueInit error\n");
  142.             return uwRet;
  143.         }
  144.     }
  145. #endif

  146. #if (LOSCFG_BASE_CORE_SWTMR == YES)
  147.     {
  148.         uwRet = osSwTmrInit();
  149.         if (uwRet != LOS_OK)
  150.         {
  151.             PRINT_ERR("osSwTmrInit error\n");
  152.             return uwRet;
  153.         }
  154.     }
  155. #endif

  156.     #if(LOSCFG_BASE_CORE_TIMESLICE == YES)
  157.     osTimesliceInit();
  158.     #endif

  159.     uwRet = osIdleTaskCreate();
  160.     if (uwRet != LOS_OK) {
  161.         return uwRet;
  162.     }

  163.     return LOS_OK;
  164. }


  165. /*****************************************************************************
  166. Function    : main
  167. Description : Main function entry
  168. Input       : None
  169. Output      : None
  170. ……………………

  171. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
Huawei_LiteOS_Kernel.rar (462.64 KB, 下載次數: 13)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品一区中文字幕乱码 | 欧洲视频一区二区 | 在线第一页 | 亚洲一区二区三区四区五区中文 | 国产一区2区 | 国产成人精品a视频一区www | 神马久久久久久久久久 | 欧美黑人国产人伦爽爽爽 | 久久久久久综合 | 国产黄色大片网站 | 日韩精品一区二区三区第95 | 在线观看国产 | 亚洲第一色站 | 国产一区高清 | 久久久九九 | 日韩免费视频一区二区 | 精品成人佐山爱一区二区 | 国外成人在线视频 | 99热精品在线观看 | 亚洲一区二区三区视频免费观看 | 国产第一页在线观看 | 亚洲综合在线一区二区 | 91网站在线观看视频 | 91精品国产乱码久久久久久久久 | 欧美成ee人免费视频 | 国产三级精品三级在线观看四季网 | 一区二区伦理电影 | 精品国产乱码久久久久久蜜退臀 | 中文字幕日本一区二区 | 91麻豆产精品久久久久久夏晴子 | 草草草久久久 | 欧美大片在线观看 | 亚洲成人av| 欧美无乱码久久久免费午夜一区 | 一级毛片高清 | 2019天天操 | 国产精品明星裸体写真集 | 中文字幕1区2区 | 日韩中文av在线 | 99热在线播放 | 欧美一级黑人aaaaaaa做受 |