相关内容
liteos队列
huawei liteos中使用队列数据结构实现任务异步通信工作,具有如下特性:消息以先进先出方式排队,支持异步读写工作方式。 读队列和写队列都支持超时机制。 发送消息类型由通信双方约定,可以允许不同长度(不超过队列节点最大值)消 息。 一个任务能够从任意一个消息队列接收和发送消息。 多个任务能够从同一个消息...
liteos事件(六)
huawei liteos的事件仅用于任务间的同步,不提供数据传输功能。 huawei liteos提供的事件具有如下特点:事件不与任务相关联,事件相互独立,一个32位的变量,用于标识该任务发生的事件类型,其中每一位表示一种事件类型(0表示该事件类型未发生、 1表示该事件类型已经发生),一共31种事件类型(第25位保留)...
liteos内存(三)
在系统运行过程中,内存管理模块通过对内存的申请释放操作,来管理用户和os对内存的使用,使内存的利用率和使用效率达到最优,同时最大限度地解决系统的内存碎片问题。 huawei liteos的内存管理分为静态内存管理和动态内存管理,提供内存初始化、分配、释放等功能。 动态内存:在动态内存池中分配用户指定大小的内存...
liteos任务(二)
huawei liteos的任务模块可以给用户提供多个任务,实现了任务之间的切换和通信,帮助用户管理业务程序流程。 这样用户可以将更多的精力投入到业务功能的实现中。 huawei liteos是一个支持多任务的操作系统。 在huawei liteos中,一个任务表示一个线程。 huawei liteos中的任务是抢占式调度机制,同时支持时间片轮转...
liteos简介(一)
huawei liteos基础内核是最精简的huawei liteos操作系统代码,包括任务管理、内存管理、时间管理、通信机制、中断管理、队列管理、事件管理、定时器、异常管理等操作系统基础组件,可以单独运行。 huawei liteos kernel 的优势高实时性,高稳定性。 超小内核,基础内核体积可以裁剪至不到10k。 低功耗。 支持动态加载...

liteos MMU(十八)
huawei liteos的mmu有两个方面的作用:提供硬件机制的内存cachenocache属性的控制接口。 提供硬件机制的内存访问权限控制接口。 2. 开发指导2.1 使用场景系统内部有些内存不希望被修改,否则会造成不可预测的后果,此时可以用mmu修改该段内存的访问权限。 访问该段内存时会检查访问权限,若权限不正确则会触发异常...

开源 | 华为LiteOS,物联网OS
华为liteos是从2015年华为宣布开源liteos,或是在2017年提出“云——管——端”战略开始的,而其实,早在2012年,华为就开始做终端设备os,也是现在liteos的雏形。 在2015年华为网络大会上,liteos正式宣布开源。 林旅强笑称,华为此前都是自己吃自己的狗粮。 liteos操作系统是华为完全自研的,并非通过linux或其他...

LiteOS内核教程01| 物联网一站式开发工具 IoT-Studio
物联网一站式开发工具 —— iot studioiot studio 是支持 liteos嵌入式系统软件开发的工具,提供了代码编辑、编译、烧录 及调试等一站式开发体验,支持 c、c++、汇编等多种开发语言,让您快速,高效地进行物联网开发。? 2. iot studio 支持的硬件iot studio 目前支持 cortex-m0,cortex-m4,cortex-m7,cortex-a7...

LiteOS内核教程03 | 任务管理
1. liteos内核的任务管理huawei liteos 内核提供任务的创建、删除、延迟、挂起、恢复等功能,以及锁定和解锁任务调度,支持任务按优先级高低的抢占调度及同优先级时间片轮转调度。 1.1. 任务在 liteos 中,一个任务就是一个线程,多个任务按照优先级进行抢占式调度,达到多个任务“同时”运行的目的。 1.2. 任务的...

LiteOS内核教程02 | Hello World
sdk和liteos的关系huawei iot link sdk 的底层拥有os适配层,可以适配linux、macos、liteos,以及其它第三方os(需要自行适配),本教程中所使用的sdk底层所适配的os是liteos。 sdk和iot studio的关系为了用户开发方便,sdk的代码不会出现在 iot studio 中,iot studio中只有用户的目标工程代码(target),但是...

LiteOS内核教程06 | 内存管理
内存管理 在系统运行的过程中,一些内存空间大小是不确定的,比如一些数据缓冲区,所以系统需要提供内存空间的管理能力,用户可以在使用的时候申请需要的内存空间,使用完毕释放该空间,以便再次利用。 huawei liteos 的内存管理模块通过对内存的申请释放操作,来管理用户和os对内存的使用,使内存的利用率和使用效率...

LiteOS内核教程05 | 互斥锁(共享资源保护)
1. liteos的互斥锁1.1. 互斥锁在多任务环境下,往往存在多个任务竞争同一共享资源的应用场景,互斥锁可被用于对共享资源的保护从而实现独占式访问。 互斥锁(mutex)又称互斥型信号量,是一种特殊的二值信号量,用于实现对共享资源的独占式处理。 另外,huawei liteos提供的互斥锁通过优先级继承算法,解决了优先级翻转...

LiteOS内核教程04 | 信号量(任务同步)
1. liteos内核的信号量1.1. 信号量 在多任务操作系统中,不同的任务之间需要同步运行,信号量功能可以为用户提供这方面的支持。 信号量(semaphore)是一种实现任务间通信的机制,实现任务之间同步或临界资源的互斥访问。 1.2. 信号量的使用方式 信号量可以被任务获取或者申请, 不同的信号量通过信号量索引号来唯一...
liteos信号量(八)
开发指导2.1 使用场景信号量是一种非常灵活的同步方式,可以运用在多种场合中,实现锁、同步、资源计数等功能,也能方便的用于任务与任务,中断与任务的同步中。 2.2 功能huawei liteos 系统中的信号量模块为用户提供下面几种功能。 功能分类 接口名 描述 信号量的创建和删除 los_semcreate 创建信号量 -los_semdel...
liteos互斥锁(七)
多任务环境下往往存在多个任务竞争同一共享资源的应用场景,互斥锁可被用于对共 享资源的保护从而实现独占式访问。 另外,互斥锁可以解决信号量存在的优先级翻转 问题。 huawei liteos提供的互斥锁具有如下特点:通过优先级继承算法,解决优先级翻转问题。 1.2 运作机制1. 2. 1 互斥锁运作原理多任务环境下会存在多个...
liteos时间管理(九)
用户是以秒、毫秒为单位计时,而芯片cpu的计时是以tick为单位的,当用户需要对系统操作时,例如任务挂起、延时等,输入秒为单位的数值,此时需要时间管理模块对二者进行转换。 tick与秒之间的对应关系可以配置。 huaweiliteos的时间管理模块提供时间转换、统计、延迟功能以满足用户对时间相关需求的实现。 1.1...
liteos 中断机制(四)
这样可以使cpu避免把大量时间耗费在等待,查询外设状态的操作上,因此将大大提高系统实时性以及执行效率。 huawei liteos的中断支持:中断初始化。 中断创建。 开关中断。 恢复中断。 中断使能。 中断屏蔽。 huawei liteos的中断机制支持中断共享。 1.1 中断的介绍与中断相关的硬件可以划分为三类:设备、中断控制器...

liteos分散加载(十四)
huawei liteos的分散加载huawei liteos的分散加载分为两个阶段,第一阶段通过uboot将关键业务部分镜像加载到内存并执行,待这部分业务得到执行后,第二阶段在代码中加载剩余部分镜像到内存继续执分散加载的内部原理图如图2所示,图中的运作顺序可参照图1的流程说明。 通过合理布局镜像,第一阶段加载部分镜像的速度会...

liteos动态加载(十三)
all clean步骤2系统镜像系统镜像bin文件编译makefile必须include根目录下config.mk文件,并使用其中的liteos_cflags或liteos_cxxflags编译选项,示例如下:liteostopdir ? = .... sample_out = .include $(liteostopdir)config.mkrm = -rm -rfliteos_libdeps := --start-group $(liteos_libdep) --end-groupsrcs = $...
liteos双向链表(十二)
由于双向链表具有对称性,能方便地完成各种插入、删除等操作,但需要注意前后方向的操作。 2. 开发指导2.1 功能huawei liteos系统中的双向链表模块为用户提供下面几个接口。 功能分类 接口名 描述 初始化链表 los_listinit 对链表进行初始化 增加节点loslistadd 将新节点添加到链表中 在链表尾端插入节点 los_list...