- 最近在指导一位读者朋友做毕业设计,该毕设是关于端云互通的,基于小熊派+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的内存管理分为静态内存管理和动态内存管理,提供内...
上滑加载中
推荐直播
-
GaussDB管理平台TPOPS,DBA高效运维的一站式解决方案
2024/12/24 周二 16:30-18:00
Leo 华为云数据库DTSE技术布道师
数据库的复杂运维,是否让你感到头疼不已?今天,华为云GaussDB管理平台将彻底来改观!本期直播,我们将深入探索GaussDB管理平台的TPOPS功能,带你感受一键式部署安装的便捷,和智能化运维管理的高效,让复杂的运维、管理变得简单,让简单变得可靠。
回顾中 -
DTT年度收官盛典:华为开发者空间大咖汇,共探云端开发创新
2025/01/08 周三 16:30-18:00
Yawei 华为云开发工具和效率首席专家 Edwin 华为开发者空间产品总监
数字化转型进程持续加速,驱动着技术革新发展,华为开发者空间如何巧妙整合鸿蒙、昇腾、鲲鹏等核心资源,打破平台间的壁垒,实现跨平台协同?在科技迅猛发展的今天,开发者们如何迅速把握机遇,实现高效、创新的技术突破?DTT 年度收官盛典,将与大家共同探索华为开发者空间的创新奥秘。
回顾中
热门标签