当前位置:网站首页>梅科爾工作室-小熊派開發筆記2
梅科爾工作室-小熊派開發筆記2
2022-07-23 19:56:00 【51CTO】
Harmony編譯構建介紹
1. 簡單來說編譯流程是通過bearpi-hm_nano\build\lite\product\BearPi-HM_Nano.json定義編譯.c文件變成.a文件最後輸出為.bin文件
如果是複雜來說的話
如下圖

具體視頻鏈接:
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接口聯系:

任務管理
任務狀態通常分為四種:就緒、運行、阻塞、退出。
它們之間的關系:

創建任務: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);
边栏推荐
- Search 2D matrix
- 【面试:并发篇22多线程:ReentrantLock】
- Hongke dry goods | teaches you how to parse floating-point data in MODBUS
- Paddle implementation, multidimensional time series data enhancement, mixup (using beta distribution to make continuous random numbers)
- 【ASP.NET Core】选项模式的相关接口
- Codeworks round 805-808 [partial solution]
- MySQL中 8 种常见的 SQL 错误用法
- redis过期key的删除策略[通俗易懂]
- Leetcode 219. 存在重复元素 II(可以,已解决)
- 梅科尔工作室-华为14天鸿蒙设备开发实战笔记六
猜你喜欢

能量原理与变分法笔记19:最小余能原理+可能功原理

Leetcode 152. 乘积最大子数组(暴力破解居然可以通过!)

Powercli imports licensekey to esxi

梅科尔工作室-华为14天鸿蒙设备开发实战笔记五

Codeforces Round #809 (Div. 2)【VP记录】

能量原理与变分法笔记16:虚位移原理的求解

Publish the local image to Alibaba cloud warehouse

【面试:并发篇22多线程:ReentrantLock】

Attack and defense world web question Fakebook

3D point cloud course (VII) -- feature point description
随机推荐
20. Valid Parentheses有效的括号
Leetcode 228. 汇总区间(可以,已解决)
Three implementation schemes of MySQL read-write separation
Decryption: PTP clock synchronization in intelligent substation (Beidou clock server)
Why do you get confused when you ask JVM?
为啥一问 JVM 就 懵B ?
Mysql database [Database Foundation -- introduction]
2022第四届中国国际养老服务业展览会,9月26日在济南举办
web安全入门-ssh测试与防御
2022山东养老展,中国国际养老服务业展览会,济南老龄产业展
The numerical sequence caused by the PostgreSQL sequence cache parameter is discontinuous with interval gap
Paddle implementation, multidimensional time series data enhancement, mixup (using beta distribution to make continuous random numbers)
Attack and defense world web question Fakebook
[PM2] PM2 common commands
PowerCLi 导入 LicenseKey 到esxi
Brief analysis of compiling principle of.Net CLR R2R
Powercli imports licensekey to esxi
Socat uses "suggestions collection"
When does MySQL use table locks and row locks?
安全停止nodeos