代码拉取完成,页面将自动刷新
同步操作将从 OpenHarmony/docs 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
板级驱动适配的主要步骤如下:
SDK基于OpenHarmony提供的CMSIS/POSIX适配依赖OS的接口。
板级SDK适配OS接口存在两种选择:CMSIS、POSIX,当前liteos_m已经适配CMSIS大部分接口(覆盖:基础内核管理、线程管理、定时器、事件、互斥锁、信号量、队列等),基本可以满足直接移植,POSIX接口当前具备初步的移植能力,接口正在补全中;如果SDK原本基于CMSIS或者POSIX接口实现,理论上可以直接适配到liteos_m中;
如果SDK原本基于freeRTOS等其他嵌入式OS或者本身有一层OS interface的抽象层,建议将依赖OS接口直接适配到CMSIS接口;
例如,某产品定义的OS interface接口,创建queue的接口原型:
bool osif_msg_queue_create(void **pp_handle, uint32_t msg_num, uint32_t msg_size)
而CMSIS提供的接口原型如下:
osMessageQueueId_t osMessageQueueNew (uint32_t msg_count, uint32_t msg_size, const osMessageQueueAttr_t *attr);
对应的OS interface接口的原型可以按照如下适配:
#include "CMSIS_os2.h"
osMessageQueueId_t osMessageQueueNew (uint32_t msg_count, uint32_t msg_size, const osMessageQueueAttr_t *attr);
bool osif_msg_queue_create(void **pp_handle, uint32_t msg_num, uint32_t msg_size)
{
(*pp_handle) = osMessageQueueNew (msg_num, msg_size, NULL);
if((*pp_handle) == NULL){
return FALSE;
}
return TRUE;
}
接口SDK编译问题或者基于OpenHarmony编译框架改造SDK,将SDK按照目录结构要求合入OpenHarmony的device目录中。
OS接口适配后,板级驱动集成到OpenHarmony也存在2种选择:
验证SDK基本功能。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。