- 最近在指导一位读者朋友做毕业设计,该毕设是关于端云互通的,基于小熊派+LiteOS+华为云。在指导他的过程中我也学到了不少东西,这里通过一个案例实验(智慧农业)给大家分享一些知识。 实验框图 相关模块简介 1、STM32L431RCT6 2、LiteOSLiteOS是华为开发的轻量级实时操作系统:LiteOS源码GitHub仓库链接:https://github.com/LiteOS/Lit... 最近在指导一位读者朋友做毕业设计,该毕设是关于端云互通的,基于小熊派+LiteOS+华为云。在指导他的过程中我也学到了不少东西,这里通过一个案例实验(智慧农业)给大家分享一些知识。 实验框图 相关模块简介 1、STM32L431RCT6 2、LiteOSLiteOS是华为开发的轻量级实时操作系统:LiteOS源码GitHub仓库链接:https://github.com/LiteOS/Lit...
- 鸿蒙轻内核M核源码分析系列七 任务及任务调度(4)任务模块维测能力在嵌入式开发时,经常遇到任务爆栈溢出的情况,鸿蒙轻内核提供了任务模块的维测能力,在任务栈出现异常时输出有用的调测信息,帮助开发者快速定位问题。本文我们来一起学习下任务模块的维测能力,文中所涉及的源代码,所涉及的源码,以OpenHarmony LiteOS-M内核为例,均可以在开源站点https://gitee.com/ope... 鸿蒙轻内核M核源码分析系列七 任务及任务调度(4)任务模块维测能力在嵌入式开发时,经常遇到任务爆栈溢出的情况,鸿蒙轻内核提供了任务模块的维测能力,在任务栈出现异常时输出有用的调测信息,帮助开发者快速定位问题。本文我们来一起学习下任务模块的维测能力,文中所涉及的源代码,所涉及的源码,以OpenHarmony LiteOS-M内核为例,均可以在开源站点https://gitee.com/ope...
- 鸿蒙轻内核M核源码分析系列九 动态内存Dynamic Memory 补充一些芯片片内RAM大小无法满足要求,需要使用片外物理内存进行扩充。对于多段非连续性内存,需要内存管理模块统一管理,应用使用内存接口时不需要关注内存分配属于哪块物理内存,不感知多块内存。多段非连续性内存如下图所示:鸿蒙轻内核M核新增支持了多段非连续性内存区域,把多个非连续性内存逻辑上合一,用户不感知底层的不同内存块。本文... 鸿蒙轻内核M核源码分析系列九 动态内存Dynamic Memory 补充一些芯片片内RAM大小无法满足要求,需要使用片外物理内存进行扩充。对于多段非连续性内存,需要内存管理模块统一管理,应用使用内存接口时不需要关注内存分配属于哪块物理内存,不感知多块内存。多段非连续性内存如下图所示:鸿蒙轻内核M核新增支持了多段非连续性内存区域,把多个非连续性内存逻辑上合一,用户不感知底层的不同内存块。本文...
- 鸿蒙轻内核M核源码分析系列十三 消息队列Queue队列(Queue)是一种常用于任务间通信的数据结构。任务能够从队列里面读取消息,当队列中的消息为空时,挂起读取任务;当队列中有新消息时,挂起的读取任务被唤醒并处理新消息。任务也能够往队列里写入消息,当队列已经写满消息时,挂起写入任务;当队列中有空闲消息节点时,挂起的写入任务被唤醒并写入消息。如果将读队列和写队列的超时时间设置为0,则不会挂起... 鸿蒙轻内核M核源码分析系列十三 消息队列Queue队列(Queue)是一种常用于任务间通信的数据结构。任务能够从队列里面读取消息,当队列中的消息为空时,挂起读取任务;当队列中有新消息时,挂起的读取任务被唤醒并处理新消息。任务也能够往队列里写入消息,当队列已经写满消息时,挂起写入任务;当队列中有空闲消息节点时,挂起的写入任务被唤醒并写入消息。如果将读队列和写队列的超时时间设置为0,则不会挂起...
- 鸿蒙轻内核M核源码分析系列十一 信号量Semaphore信号量(Semaphore)是一种实现任务间通信的机制,可以实现任务间同步或共享资源的互斥访问。一个信号量的数据结构中,通常有一个计数值,用于对有效资源数的计数,表示剩下的可被使用的共享资源数。以同步为目的的信号量和以互斥为目的的信号量在使用上存在差异。本文通过分析鸿蒙轻内核信号量模块的源码,掌握信号量使用上的差异。本文中所涉及的源码... 鸿蒙轻内核M核源码分析系列十一 信号量Semaphore信号量(Semaphore)是一种实现任务间通信的机制,可以实现任务间同步或共享资源的互斥访问。一个信号量的数据结构中,通常有一个计数值,用于对有效资源数的计数,表示剩下的可被使用的共享资源数。以同步为目的的信号量和以互斥为目的的信号量在使用上存在差异。本文通过分析鸿蒙轻内核信号量模块的源码,掌握信号量使用上的差异。本文中所涉及的源码...
- 鸿蒙轻内核M核源码分析系列六 时间管理在鸿蒙轻内核源码分析上一篇文章中,我们剖析了中断的源码,简单提到了Tick中断。本文会继续分析Tick和时间相关的源码,给读者介绍鸿蒙轻内核的时间管理模块。本文中所涉及的源码,以OpenHarmony LiteOS-M内核为例,均可以在开源站点https://gitee.com/openharmony/kernel_liteos_m 获取。时间管理模块... 鸿蒙轻内核M核源码分析系列六 时间管理在鸿蒙轻内核源码分析上一篇文章中,我们剖析了中断的源码,简单提到了Tick中断。本文会继续分析Tick和时间相关的源码,给读者介绍鸿蒙轻内核的时间管理模块。本文中所涉及的源码,以OpenHarmony LiteOS-M内核为例,均可以在开源站点https://gitee.com/openharmony/kernel_liteos_m 获取。时间管理模块...
- 鸿蒙轻内核M核源码分析系列四 数据结构-任务排序链表在鸿蒙轻内核源码分析系列一和系列二,我们分析了双向循环链表、优先级就绪队列的源码。本文会继续给读者介绍鸿蒙轻内核源码中重要的数据结构:任务排序链表TaskSortLinkAttr。鸿蒙轻内核的任务排序链表,用于任务延迟到期/超时唤醒等业务场景,是一个非常重要、非常基础的数据结构。本文中所涉及的源码,以OpenHarmony LiteOS... 鸿蒙轻内核M核源码分析系列四 数据结构-任务排序链表在鸿蒙轻内核源码分析系列一和系列二,我们分析了双向循环链表、优先级就绪队列的源码。本文会继续给读者介绍鸿蒙轻内核源码中重要的数据结构:任务排序链表TaskSortLinkAttr。鸿蒙轻内核的任务排序链表,用于任务延迟到期/超时唤醒等业务场景,是一个非常重要、非常基础的数据结构。本文中所涉及的源码,以OpenHarmony LiteOS...
- 本期精彩看点:很多开发者都有写技术文章的想法,但因缺乏一些写作技巧而无从下手,这本秘籍可以帮到你;带你探秘Angular、React和Vue三大主流前端框架,如何从业务角度出发,选择合适的;以Huawei LiteOS的体系结构详细解读LiteOS各模块开发及其实现原理… 本期精彩看点:很多开发者都有写技术文章的想法,但因缺乏一些写作技巧而无从下手,这本秘籍可以帮到你;带你探秘Angular、React和Vue三大主流前端框架,如何从业务角度出发,选择合适的;以Huawei LiteOS的体系结构详细解读LiteOS各模块开发及其实现原理…
- 鸿蒙轻内核M核源码分析系列三 数据结构-任务就绪队列在鸿蒙轻内核源码分析上一个系列,我们分析了双向循环链表的源码。本文会继续给读者介绍源码中重要的数据结构,任务基于优先级的就绪队列Priority Queue。在讲解时,会结合数据结构相关绘图,培养读者们的数据结构的平面想象能力,帮助更好的学习和理解这些数据结构的用法。本文中所涉及的源码,以OpenHarmony LiteOS-M内核为例... 鸿蒙轻内核M核源码分析系列三 数据结构-任务就绪队列在鸿蒙轻内核源码分析上一个系列,我们分析了双向循环链表的源码。本文会继续给读者介绍源码中重要的数据结构,任务基于优先级的就绪队列Priority Queue。在讲解时,会结合数据结构相关绘图,培养读者们的数据结构的平面想象能力,帮助更好的学习和理解这些数据结构的用法。本文中所涉及的源码,以OpenHarmony LiteOS-M内核为例...
- 为了更好地让大家了解和掌握LiteOS开发,我们通过介绍Huawei LiteOS的体系结构,详细解读LiteOS各模块开发及其实现原理。专题内容适用于Huawei LiteOS的开发者,及物联网端侧软件开发工程师和物联网架构设计师。 为了更好地让大家了解和掌握LiteOS开发,我们通过介绍Huawei LiteOS的体系结构,详细解读LiteOS各模块开发及其实现原理。专题内容适用于Huawei LiteOS的开发者,及物联网端侧软件开发工程师和物联网架构设计师。
- LitOS 5.0 新特征 LitOS 5.0 新特征
- 华为开发者大会2021(Cloud)来啦!邀您一起来体验和分享最新的ICT技术在行业的深度创新和最佳实践!>>戳我去HDC2021官网<<华为云IoT线上活动戳我>>>【HDC2021】0基础玩转华为云IoT,参与话题互动即有奖,通关即得开发板!戳我>>>【云看 HDC2021】精彩不错过!直播间在线看华为云HDC2021,每天抽奖送华为云周边!戳我>>>【云体验 HDC2021】华为云Io... 华为开发者大会2021(Cloud)来啦!邀您一起来体验和分享最新的ICT技术在行业的深度创新和最佳实践!>>戳我去HDC2021官网<<华为云IoT线上活动戳我>>>【HDC2021】0基础玩转华为云IoT,参与话题互动即有奖,通关即得开发板!戳我>>>【云看 HDC2021】精彩不错过!直播间在线看华为云HDC2021,每天抽奖送华为云周边!戳我>>>【云体验 HDC2021】华为云Io...
- 2.4 按指定字节对齐申请动态内存我们还可以使用函数VOID *LOS_MemAllocAlign(VOID *pool, UINT32 size, UINT32 boundary),从指定动态内存池中申请长度为size且地址按boundary字节对齐的内存。该函数需要3个参数,VOID *pool为内存池起始地址,UINT32 size为需要申请的内存大小,UINT32 boundary... 2.4 按指定字节对齐申请动态内存我们还可以使用函数VOID *LOS_MemAllocAlign(VOID *pool, UINT32 size, UINT32 boundary),从指定动态内存池中申请长度为size且地址按boundary字节对齐的内存。该函数需要3个参数,VOID *pool为内存池起始地址,UINT32 size为需要申请的内存大小,UINT32 boundary...
- LiteOS内核源码分析系列十三 动态内存Bestfit分配算法内存管理模块管理系统的内存资源,它是操作系统的核心模块之一,主要包括内存的初始化、分配以及释放。在系统运行过程中,内存管理模块通过对内存的申请/释放来管理用户和OS对内存的使用,使内存的利用率和使用效率达到最优,同时最大限度地解决系统的内存碎片问题。Huawei LiteOS的内存管理分为静态内存管理和动态内存管理,提供内存初... LiteOS内核源码分析系列十三 动态内存Bestfit分配算法内存管理模块管理系统的内存资源,它是操作系统的核心模块之一,主要包括内存的初始化、分配以及释放。在系统运行过程中,内存管理模块通过对内存的申请/释放来管理用户和OS对内存的使用,使内存的利用率和使用效率达到最优,同时最大限度地解决系统的内存碎片问题。Huawei LiteOS的内存管理分为静态内存管理和动态内存管理,提供内存初...
- LiteOS内核源码分析系列十二 静态内存Static Memory内存管理模块管理系统的内存资源,它是操作系统的核心模块之一,主要包括内存的初始化、分配以及释放。在系统运行过程中,内存管理模块通过对内存的申请/释放来管理用户和OS对内存的使用,使内存的利用率和使用效率达到最优,同时最大限度地解决系统的内存碎片问题。Huawei LiteOS的内存管理分为静态内存管理和动态内存管理,提供内... LiteOS内核源码分析系列十二 静态内存Static Memory内存管理模块管理系统的内存资源,它是操作系统的核心模块之一,主要包括内存的初始化、分配以及释放。在系统运行过程中,内存管理模块通过对内存的申请/释放来管理用户和OS对内存的使用,使内存的利用率和使用效率达到最优,同时最大限度地解决系统的内存碎片问题。Huawei LiteOS的内存管理分为静态内存管理和动态内存管理,提供内...
上滑加载中
推荐直播
-
华为云IoT开源专家实践分享:开源让物联网平台更开放、易用
2024/05/22 周三 16:30-18:00
张俭 华为云IoT DTSE技术布道师
开源,意味着开放、共享、互助、共赢。作为万物上云及各行业数字化的物联网底座,华为云IoT积极拥抱开源,借助行业开源的最佳实践,构建可靠、易用的物联网平台,并通过开放南北向SDK,助力开发者快速构建物联网应用。本期直播,华为云IoT开源专家、物联网平台资深“程序猿”张俭,带你了解华为云IoT的开源生态,并手把手教你玩转开源社区!
去报名 -
数字技术创新与商业愿景--数字化转型战略解读
2024/05/22 周三 19:00-20:30
王纪奎老师 华为科学家咨询委员会CTO
数字化转型浪潮下,你是否缺乏对前沿科技的战略洞察、难以将企业转型与国家战略相融合、缺少系统性规划的数字化思维…… 我们特别邀请了华为科学家咨询委员会CTO、战略研究院数字经济与数字化转型首席专家、《数字化转型战略》一书的作者——王纪奎老师。 在5月22日(周三)19点,为我们带来一场主题为“数字技术创新与商业愿景--数字化转型战略解决”的精彩直播。
去报名 -
华为云开发者日·广州站
2024/05/23 周四 14:30-17:30
华为云专家团
华为云开发者日HDC.Cloud Day是面向全球开发者的旗舰活动,汇聚来自千行百业、高校及科研院所的开发人员。致力于打造开发者专属的技术盛宴,全方位服务与赋能开发者围绕华为云生态“知、学、用、创、商”的成长路径。通过前沿的技术分享、场景化的动手体验、优秀的应用创新推介,为开发者提供沉浸式学习与交流平台。开放创新,与开发者共创、共享、共赢未来。
去报名
热门标签