Huawei LiteOS中使用队列数据结构实现任务异步通信工作,具有如下特性: 消息以先进先出方式排队,支持异步读写工作方式。 读队列和写队列都支持超时机制。...开发指导 3.1 功能 Huawei LiteOS中Message消息处理模块提供了以下功能。 功能分类 接口名 描述 创建消息队列 LOS_QueueCreate 创建一个消息队列。
Huawei LiteOS的事件仅用于任务间的同步,不提供数据传输功能。...Huawei LiteOS提供的事件具有如下特点: 事件不与任务相关联,事件相互独立,一个32位的变量,用于标识该任务发生的事件类型,其中每一位表示一种事件类型(0表示该事件类型未发生、 1表示该事件类型已经发生...3.2 功能 Huawei LiteOS系统中的事件模块为用户提供下面几个接口。
Huawei LiteOS的分散加载 Huawei LiteOS的分散加载分为两个阶段,第一阶段通过uboot将关键业务部分镜像加载到内存并执行,待这部分业务得到执行后,第二阶段在代码中加载剩余部分镜像到内存继续执分散加载的内部原理图如图...在IPC Huawei LiteOS版本上,通过应用分散加载技术,实现了1s内从开机启动到录制,超越Linux版本的3s-4.5s。...嵌入式系统中可能存在某些业务对启动时间要求比较高,譬如Huawei LiteOS IPC项目上对从开机到录制预览的时间要求较高,可以利用分散加载技术实现录制预览业务的快速启动。...2.2 功能 Huawei LiteOS系统中的分散加载模块为用户提供如下接口。...Huawei_LiteOS$ make scatter 步骤4 执行make,编译全部镜像 在根目录下执行如下命令,则编译全部业务代码。
Huawei LiteOS提供支持OBJ目标文件和SO共享目标文件的动态加载机制。 ?...SAMPLE_OUT = . include $(LITEOSTOPDIR)/config.mk RM = -rm -rf LITEOS_LIBDEPS := --start-group $(LITEOS_LIBDEP...-o $ (SAMPLE_OUT)/sample ./$@ $(LITEOS_LIBDEPS) $(LITEOS_TABLES_LDFLAGS) $(OBJCOPY) -O binary $(SAMPLE_OUT...LiteOS# call 0x8030f241 test_0 Huawei LiteOS# 卸载一个模块 Shell命令: mclose Huawei LiteOS# mclose 0x80391928...Huawei LiteOS# 3.
Huawei LiteOS的异常接管,在系统发生异常时的处理动作是显示异常发生时正在运行的任务信息(包括任务名、任务号、堆栈大小等),以及cpu现场等信息。...test_panic(UINT32 argc, CHAR **args) { LOS_Panic("*****Trigger an exception\n"); return; } Huawei LiteOS
Huawei LiteOS的内存管理分为静态内存管理和动态内存管理,提供内存初始化、分配、释放等功能。 动态内存:在动态内存池中分配用户指定大小的内存块。 优点:按需分配。...2.1.2 功能 Huawei LiteOS系统中的动态内存管理模块为用户提供下面几种功能,具体的API详见接口手册。...2.1.4 平台差异性 无 2.2 编程实例 2.2.1 实例描述 Huawei LiteOS运行期间,用户需要频繁的使用内存资源,而内存资源有限,必须确保将有限的内存资源分配给急需的程序,同时释放不用的内存...通过Huawei LiteOS内存管理模块可以保证高效、正确的申请、释放内存。 本实例执行以下步骤: 初始化一个动态内存池。 在动态内存池中申请一个内存块。 使用这块内存块存放一个数据。...3.2 功能 Huawei LiteOS的静态内存管理主要为用户提供以下功能。
Huawei LiteOS的MMU有两个方面的作用: 提供硬件机制的内存cache/nocache属性的控制接口。 提供硬件机制的内存访问权限控制接口。 2....2.2 功能 Huawei LiteOS中MMU模块为用户提供以下接口: 功能分类 接口名 描述 内存访问权限控制 LOS_MMUParamSet 修改指定地址段的内存cache状态、buffer状态、
Huawei LiteOS的任务模块可以给用户提供多个任务,实现了任务之间的切换和通信,帮助用户管理业务程序流程。这样用户可以将更多的精力投入到业务功能的实现中。...Huawei LiteOS是一个支持多任务的操作系统。在Huawei LiteOS中,一个任务表示一个线程。 Huawei LiteOS中的任务是抢占式调度机制,同时支持时间片轮转调度方式。...Huawei LiteOS的任务一共有32个优先级(0-31),最高优先级为0,最低优先级为31。 2 任务相关概念 2.1 任务状态 Huawei LiteOS系统中的每一任务都有多种运行状态。...3 运作机制 Huawei LiteOS任务管理模块提供任务创建、任务延时、任务挂起和任务恢复、锁任务调度和解锁任务调度、根据任务控制块查询任务ID、根据ID查询任务控制块信息功能。...4.2 功能 Huawei LiteOS 系统中的任务管理模块为用户提供下面几种功能。
Huawei LiteOS提供的互斥锁具有如下特点: 通过优先级继承算法,解决优先级翻转问题。...1.3 开发指导 1.3.1 使用场景 互斥锁可以提供任务之间的互斥机制,用来防止两个任务在同一时刻访问相同的共享资源 1.3.2 功能 Huawei LiteOS 系统中的互斥锁模块为用户提供下面几种功能...Huawei LiteOS作为实时操作系统需要保证任务调度的实时性,尽量避免任务的长时间阻塞,因此在获得互斥锁之后,应该尽快释放互斥锁。
在Hi3559A中,liteos是用于Cortex-A53,用于处理MPP 媒体业务逻辑的; ?...Huawei LiteOS基础内核是最精简的Huawei LiteOS操作系统代码,包括任务管理、内存管理、时间管理、通信机制、中断管理、队列管理、事件管理、定时器、异常管理等操作系统基础组件,可以单独运行...Huawei LiteOS Kernel 的优势 高实时性,高稳定性。 超小内核,基础内核体积可以裁剪至不到10K。 低功耗。 支持动态加载、分散加载。 支持功能静态裁剪。...Huawei LiteOS的异常接管,会在异常后打印发生异常的任务ID号、栈大小,以及LR、PC等寄存器信息; 动态加载 动态加载是一种软件加载链接技术,不对组成程序的目标文件进行一次性链接加载,等到程序要运行时才进行链接加载...Huawei LiteOS提供支持OBJ目标文件和SO共享目标文件的动态加载机制。 分散加载 分散加载是通过重排镜像等手段,把关键业务优先加载,从而缩短启动时间。
错误处理指用户代码发生错误时,系统调用错误处理模块的接口函数,完成上报错误信息,并调用用户自己的钩子函数,进行特定的处理。
https://www.bookstack.cn/read/openharmony-1.0-zh-cn/ 4、生态及问题解决; 学习入门资料不少,像harmonyos基金会推出的视频,认真学习,可以很快熟悉liteos... "features":[] } 21 ] D:\source\harmony\harmonyos_1.0\build\lite\platform\hi3518ev300_liteos_a.../communication:sample" 209 ], 2、修改shell提示符 D:\source\harmony\harmonyos_1.0\kernel\liteos_a
2.2 功能 Huawei LiteOS 系统中的信号量模块为用户提供下面几种功能。
Huawei LiteOS的中断支持: 中断初始化。 中断创建。 开/关中断。 恢复中断。 中断使能。 中断屏蔽。 Huawei LiteOS的中断机制支持中断共享。...Huawei LiteOS中所有的中断源优先级相同,不支持中断嵌套或抢占。 中断处理程序:当外设产生中断请求后, CPU暂停当前的任务,转而响应中断申请,即执行中断处理程序。...1.3 运作机制 Huawei LiteOS的中断机制支持中断共享: 中断共享的实现依赖于链表,对应每一个中断号创建一个链表,链表节点中包含注册的中断处理函数和函数入参。...Huawei LiteOS的中断机制支持中断底半部: 中断底半部的实现基于workqueue,在中断处理程序中将工作分为顶半部和底半部,底半部处理程序与work关联,并挂载到合法workqueue上。...2.2 功能 Huawei LiteOS 系统中的中断模块为用户提供下面几种功能。
开发指导 2.1 功能 Huawei LiteOS系统中的双向链表模块为用户提供下面几个接口。
硬件定时器受硬件的限制,数量上不足以满足用户的实际需求,因此为了满足用户需求,提供更多的定时器, Huawei LiteOS操作系统提供软件定时器功能。...定时器模式 Huawei LiteOS的软件定时器提供二类定时器机制: 第一类是单次触发定时器,这类定时器在启动后只会触发一次定时器事件,然后定时器自动删除。...2.2 功能 Huawei LiteOS系统中的软件定时器模块为用户提供下面几种功能,下面具体的API详见软件定时器对外接口手册。
LiteOS内核的内存管理 1.1....LiteOS 动态内存管理在最佳适配算法的基础上加入了 SLAB 机制,用于分配固定大小的内存块,进而减小产生内存碎片的可能性。...LiteOS 内存管理中的 SLAB 机制支持可配置的 SLAB CLASS 数目及每个 CLASS 的最大空间。...动态内存管理API Huawei LiteOS 系统中的内存管理模块管理系统的内存资源,主要提供内存的初始化、分配以及释放功能。...相关的接口定义在osal.c中,基于LiteOS的接口实现在 liteos_imp.c文件中: 接口名 功能描述 osal_malloc 按字节申请分配动态内存空间 osal_free 释放已经分配的动态内存空间
SDK和LiteOS的关系 Huawei IoT link SDK 的底层拥有OS适配层,可以适配Linux、MacOS、LiteOS,以及其它第三方OS(需要自行适配),本教程中所使用的SDK底层所适配的...OS是LiteOS。...This is LiteOS!...BearPi IoT Develop Board Powerd by Huawei LiteOS! Please wait for system init! 6.
LiteOS内核的任务管理 Huawei LiteOS 内核提供任务的创建、删除、延迟、挂起、恢复等功能,以及锁定和解锁任务调度,支持任务按优先级高低的抢占调度及同优先级时间片轮转调度。 1.1....任务 在 LiteOS 中,一个任务就是一个线程,多个任务按照优先级进行抢占式调度,达到多个任务“同时”运行的目的。 1.2....Huawei LiteOS 的任务一共有 32 个优先级 (0-31),最高优先级为 0,最低优先级为 31。...因为是LiteOS的内核是抢占式调度内核,所以: 高优先级的任务可打断低优先级任务,低优先级任务必须在高优先级任务阻塞或结束后才能得到调度。 1.5....任务相关的接口定义在osal.c中,基于LiteOS的接口实现在 liteos_imp.c文件中: 接口名 功能描述 osal_task_create 创建任务 osal_task_kill 删除任务(
long)&__init_array_end__,NO_SCATTER); 调用C库函数 在C++中调用C程序的函数,注意在声明该函数的时候增加如下语句: extern "C" 3 注意事项 Huawei LiteOS...Huawei LiteOS中, C++暂不支持I/O字符流、 I/O文件流等相关操作。 4 编程实例 4.1 实例描述 在代码初始化中,进行C++ 构造函数初始化,进而让程序可以使用C++特性。
领取专属 10元无门槛券
手把手带您无忧上云