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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5138|回復: 0
打印 上一主題 下一主題
收起左側(cè)

MM32L系列M0/M3內(nèi)核產(chǎn)品移植HuaweiLite OS源碼

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:421520 發(fā)表于 2018-11-6 09:37 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
例程基于Huawei官方開發(fā)的樣例進行修改,并保留華為官方的例程
上海靈動是國內(nèi)專注于MCU產(chǎn)品與MCU應用方案的領先供應商,是中國工業(yè)及信息化部和上海市信息化辦公室認定的集成電路設計企業(yè),同時也是上海市認定的高新技術企業(yè)。自2011年3月成立至今,靈動微電子已經(jīng)成功完成數(shù)百余MCU產(chǎn)品的設計及推廣,靈動微電子目前已批量供貨的基于ARM Cortex-M0及Cortex-M3 內(nèi)核的MCU產(chǎn)品包括:針對通用高性能市場的MM32F系列,針對超低功耗及安全應用的MM32L系列,具有多種無線連接功能的MM32W系列,電機驅(qū)動及控制專用的MM32SPIN系列,以及OTP型的MM32P系列等,以滿足客戶及市場多領域、多層次的豐富應用場景需求。

實驗器材:
    Mini Board Rev D1
   
實驗目的:
    MM32L373PF搭載LiteOS運行雙事務
   
硬件資源:
    1、LED1(PB5),LED2(PB4),LED3(PB3),LED4(PA15)
    2、WK_UP(PA0),KEY3(PB10),KEY4(PB11)
   
實驗現(xiàn)象:
    1、上電后,LED1、LED2以流水燈的方式運行
        2、按下KEY3,LED5亮滅
        3、按下KEY4,LED6亮滅
   
注意事項:  
    1,VBAT需要供電

單片機源程序如下:

  1. /*
  2.        本程序適配MM32 MiniBoard /MCU-MM32L373PF
  3. */
  4. #include "los_sys.h"
  5. #include "los_tick.h"
  6. #include "los_task.ph"
  7. #include "los_config.h"

  8. #include "los_bsp_led.h"
  9. #include "los_bsp_key.h"
  10. #include "los_bsp_uart.h"
  11. #include "los_inspect_entry.h"
  12. #include "los_demo_entry.h"

  13. #include <string.h>
  14. #include "delay.h"

  15. extern void FunctionInit(void);

  16. //----------------------- First event -------------------------------//
  17. static UINT32 g_uwboadTaskID;
  18. LITE_OS_SEC_TEXT VOID LOS_BoadExampleTskfunc(VOID)
  19. {
  20.     while (1)
  21.     {
  22.         LOS_EvbLedControl(LOS_LED1, LED_ON);
  23.                                 LOS_EvbLedControl(LOS_LED2, LED_OFF);
  24.         LOS_EvbUartWriteStr("Board Test\n");
  25.         LOS_TaskDelay(500);
  26.         LOS_EvbLedControl(LOS_LED1, LED_OFF);
  27.                                 LOS_EvbLedControl(LOS_LED2, LED_ON);
  28.         LOS_TaskDelay(500);
  29.     }
  30. }
  31. void LOS_BoadExampleEntry(void)
  32. {
  33.     UINT32 uwRet;
  34.     TSK_INIT_PARAM_S stTaskInitParam;

  35.     (VOID)memset((void *)(&stTaskInitParam), 0, sizeof(TSK_INIT_PARAM_S));
  36.     stTaskInitParam.pfnTaskEntry = (TSK_ENTRY_FUNC)LOS_BoadExampleTskfunc;
  37.     stTaskInitParam.uwStackSize = LOSCFG_BASE_CORE_TSK_IDLE_STACK_SIZE;
  38.     stTaskInitParam.pcName = "BoardDemo";
  39.     stTaskInitParam.usTaskPrio = 10;
  40.     uwRet = LOS_TaskCreate(&g_uwboadTaskID, &stTaskInitParam);

  41.     if (uwRet != LOS_OK)
  42.     {
  43.         return;
  44.     }
  45.     return;
  46. }

  47. //---------------------------Second event -------------------------//
  48. static UINT32 g_uwboadTaskID2;
  49. LITE_OS_SEC_TEXT VOID LOS_BoadKeyExampleTskfunc(VOID)
  50. {
  51.                 u8 t = 0;
  52.     while (1)
  53.     {
  54.                                 t = KEY_Scan(0);
  55.                                 switch(t)
  56.                                 {
  57.                                         case KEY3_PRES:                               
  58.                                                         LED3=!LED3;
  59.                                                         break;
  60.                                         case KEY4_PRES:                               
  61.                                                         LED4=!LED4;
  62.                                                         break;
  63.                                         default:
  64.                                                         LOS_TaskDelay(100);
  65.                                 }
  66.     }
  67. }

  68. void LOS_BoadKeyExampleEntry(void)
  69. {
  70.                 UINT32 uwRet;
  71.     TSK_INIT_PARAM_S stTaskInitParam;

  72.     (VOID)memset((void *)(&stTaskInitParam), 0, sizeof(TSK_INIT_PARAM_S));
  73.     stTaskInitParam.pfnTaskEntry = (TSK_ENTRY_FUNC)LOS_BoadKeyExampleTskfunc;
  74.     stTaskInitParam.uwStackSize = LOSCFG_BASE_CORE_TSK_IDLE_STACK_SIZE;
  75.     stTaskInitParam.pcName = "BoardDemo";
  76.     stTaskInitParam.usTaskPrio = 10;
  77.     uwRet = LOS_TaskCreate(&g_uwboadTaskID2, &stTaskInitParam);

  78.     if (uwRet != LOS_OK)
  79.     {
  80.         return;
  81.     }
  82.     return;
  83. }

  84. /*****************************************************************************
  85. Function    : main
  86. Description : Main function entry
  87. Input       : None
  88. Output      : None
  89. Return      : None
  90. *****************************************************************************/
  91. LITE_OS_SEC_TEXT_INIT
  92. int main(void)
  93. {
  94.     UINT32 uwRet;
  95.    
  96.         //-------------------- Initialization function ------------------------//
  97.                 delay_init();
  98.                 FunctionInit();               // Init the device on the dev baord
  99.        
  100.     uwRet = LOS_KernelInit();     // Init LiteOS kernel.(if OS loading finished return 0)
  101.     if (uwRet != LOS_OK) {
  102.         return LOS_NOK;
  103.     }
  104.                
  105.    //---------------- Enable LiteOS system tick interrupt --------------//
  106.     LOS_EnableTick();

  107.          //------------------- Create Inspect task ---------------------------//
  108.     //LOS_Inspect_Entry();        // If use example cancel comment
  109.                 LOS_BoadExampleEntry();       // First event
  110.                 LOS_BoadKeyExampleEntry();    // Second event
  111.                

  112.          //------------------------ Running Kernel --------------------------//
  113.     LOS_Start();
  114.                
  115.          //-------------------- Your own function code ---------------------//
  116.     //for (;;);
  117.        
  118. }

復制代碼

所有資料51hei提供下載:
LiteOS_MM32Miniboard_L073_Lib_keil5.zip (1.02 MB, 下載次數(shù): 18)
LiteOS_MM32Miniboard_L073_Reg_keil5.zip (597.44 KB, 下載次數(shù): 6)
LiteOS_MM32MiniBoard_L373_Lib_Keil5.zip (1.17 MB, 下載次數(shù): 14)




評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 在线欧美 | 中文字幕乱码视频32 | 成人性生交大片免费看r链接 | 国产精品18hdxxxⅹ在线 | 日韩第1页| 国产精品久久国产精品 | 91精品国产91久久久久游泳池 | 在线不卡视频 | av网址在线| 色www精品视频在线观看 | 台湾佬久久 | 久久99视频这里只有精品 | 91视频网址| 日韩色在线 | 欧美一二三区 | 免费在线观看一区二区三区 | 国产精品久久久久久妇女 | xx性欧美肥妇精品久久久久久 | 久久精品中文字幕 | 四虎午夜剧场 | 在线国产视频 | 中文字幕精 | 日本精品免费 | 国产成人免费在线观看 | 精品国产乱码久久久久久闺蜜 | 国产欧美在线播放 | 亚洲激情网站 | 中文字幕av第一页 | 日本一本在线 | 欧洲精品在线观看 | 日本三级网 | 久热精品在线观看视频 | 瑞克和莫蒂第五季在线观看 | 国产精品福利一区二区三区 | 日韩在线电影 | 国产一级片91 | 九九亚洲| 国产精品欧美精品日韩精品 | 国产欧美一区二区精品久导航 | 久久久无码精品亚洲日韩按摩 | 中文在线一区二区 |