當前位置:網站首頁>梅科爾工作室-小熊派開發筆記2

梅科爾工作室-小熊派開發筆記2

2022-07-23 19:56:2851CTO

Harmony編譯構建介紹

1.      簡單來說編譯流程是通過bearpi-hm_nano\build\lite\product\BearPi-HM_Nano.json定義編譯.c文件變成.a文件最後輸出為.bin文件

如果是複雜來說的話

如下圖

梅科爾工作室-小熊派開發筆記2_應用程序

具體視頻鏈接:

 ​https://www.bilibili.com/video/BV1Hi4y1c7dM?from=search&seid=11981477053638768133​

2.      代碼運行具體流程就是

 ​https://blog.csdn.net/qq_42754570/article/details/112184043​

 

CMSIS-RTOS2接口

CMSIS是Cortex微控制器軟件接口標准(Cortex Microcontroller Software Interface Standard)是ARM和一些編譯器廠家以及半導體廠家共同遵循的一套標准,是由ARM專門針對Cortex-M系列提出的標准。在該標准的約定下,ARM和芯片廠商會提供一些通用的API接口來訪問Cortex內核以及一些專用外設,以减少更換芯片以及開發工具等移植工作所帶來的金錢以及時間上的消耗。

 

CMSIS-RTOS2(CMSIS-RTOS API Version 2)是Arm Cortex-M 處理器的通用的RTOS接口。為需要RTOS功能的軟件組件提供了標准化的API。

 

CMSIS-RTOS2是一個通用的API,它與底層的RTOS內核無關,寫應用序的程序員在用戶代碼中調用CMSISRTOS2 API函數,可以更方便地將應用程序從一個RTOS到另一個RTOS,使用CMSIS-RTOS2 API的中間件也可以避免很多不必要的移植工作。

簡單來說使用CMSIS-RTOS2可以不用管底層內核的不同,應用程序都可以運行

鴻蒙與CMSIS-RTOS2接口聯系:

梅科爾工作室-小熊派開發筆記2_應用程序_02

任務管理

任務狀態通常分為四種:就緒、運行、阻塞、退出。

它們之間的關系:

梅科爾工作室-小熊派開發筆記2_ide_03

創建任務:osThreadNew(osThreadFunc_t func,void * argument,const osThreadAttr_t * attr)

删除某個任務:osThreadTerminate(osThreadId_t thread_id);

任務掛起:osThreadSuspend(osThreadId_t thread_id)

任務恢複:osThreadResume (osThreadId_t thread_id)

 

軟件定時器

軟件定時器,是基於系統Tick時鐘中斷且由軟件來模擬的定時器,當經過設定的Tick時鐘計數值後 會觸發用戶定義的回調函數。定時精度與系統Tick時鐘的周期有關。

軟件定時器功能上支持:

靜態裁剪:能通過宏關閉軟件定時器功能。

軟件定時器創建。

軟件定時器啟動。

軟件定時器停止。

軟件定時器删除。

軟件定時器剩餘Tick數獲取

創建定時器:osTimerNew (osTimerFunc_t func, osTimerType_t type, void *argument, const osTimerAttr_t *attr);

啟動定時器:osTimerStart (osTimerId_t timer_id, uint32_t ticks);

停止定時器:osTimerStop (osTimerId_t timer_id);

删除定時器:osTimerDelete (osTimerId_t timer_id);

版權聲明
本文為[51CTO]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/204/202207231833022085.html

隨機推薦