- 最近在指导一位读者朋友做毕业设计,该毕设是关于端云互通的,基于小熊派+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的内存管理分为静态内存管理和动态内存管理,提供内...
上滑加载中
推荐直播
-
2024创原会年度技术峰会
2024/12/20 周五 09:00-12:00
华为云讲师团
2024创原会年度技术峰会将于12月20日在海南万宁石梅湾威斯汀酒店举办,本次大会将以“智能・进化”为主题探讨从Cloud Native到AI Native的新阶段企业如何通过AI技术重塑企业应用,围绕AI如何在千行万业落地进行深入交流,探索可以先行先试先成功的创新场景和实现路径。
回顾中 -
华为云开发者日·2024年度创享峰会
2024/12/23 周一 14:00-16:00
华为云讲师团
华为云开发者日HDC.Cloud Day是面向全球开发者的旗舰活动,汇聚来自千行百业、高校及科研院所的开发人员。致力于打造开发者专属的技术盛宴,全方位服务与赋能开发者围绕华为云生态“知、学、用、创、商”的成长路径。通过前沿的技术分享、场景化的动手体验、优秀的应用创新推介,为开发者提供沉浸式学习与交流平台。开放创新,与开发者共创、共享、共赢未来。
去报名 -
GaussDB管理平台TPOPS,DBA高效运维的一站式解决方案
2024/12/24 周二 16:30-18:00
Leo 华为云数据库DTSE技术布道师
数据库的复杂运维,是否让你感到头疼不已?今天,华为云GaussDB管理平台将彻底来改观!本期直播,我们将深入探索GaussDB管理平台的TPOPS功能,带你感受一键式部署安装的便捷,和智能化运维管理的高效,让复杂的运维、管理变得简单,让简单变得可靠。
去报名
热门标签