Lv.5
zhushy
更多个人资料
1135
成长值
20
关注
144
粉丝
+ 关注
私信
个人介绍
RTOS爱好者
感兴趣或擅长的领域
IOT、编程语言
个人勋章
TA还没获得勋章~
成长雷达
1070
45
0
0
20
个人资料
个人介绍
RTOS爱好者
感兴趣或擅长的领域
IOT、编程语言
达成规则
以上满足
项可达成此勋章
博客
关注
粉丝
论坛
全部时间
全部时间
最近三天
最近一周
最近一月
全部
暂无专栏分类
鸿蒙轻内核-内存调测-内存信息统计
内存调测方法旨在辅助定位动态内存相关问题,提供了基础的动态内存池信息统计手段,向用户呈现内存池水线、碎片率等信息;提供了内存泄漏检测手段,方便用户准确定位存在内存泄漏的代码行,也可以辅助分析系统各个模块内存的使用情况;提供了踩内存检测手段,可以辅助定位越界踩内存的场景。本文分析下内存信息统计。 1、基础概念内存信息包括内存池大小、内存使用量、剩余内存大小、最大空闲内存、内存水线、内存节点数统...
zhushy
2021-07-30 19:35:42
6082
0
0
2021-07-30 19:35:42
999+
0
0
鸿蒙轻内核M核源码分析系列十四 软件定时器Swtmr
鸿蒙轻内核M核源码分析系列十四 软件定时器Swtmr软件定时器(Software Timer)是基于系统Tick时钟中断且由软件来模拟的定时器。当经过设定的Tick数后,会触发用户自定义的回调函数。硬件定时器受硬件的限制,数量上不足以满足用户的实际需求。鸿蒙轻内核提供了软件定时器功能可以提供更多的定时器,满足用户需求。本文通过分析鸿蒙轻内核定时器模块的源码,掌握定时器使用上的差异。本文中所...
IoT
轻量级操作系统 LiteOS
zhushy
2021-07-22 08:46:44
4612
0
1
2021-07-22 08:46:44
999+
0
1
鸿蒙轻内核M核源码分析系列十三 消息队列Queue
鸿蒙轻内核M核源码分析系列十三 消息队列Queue队列(Queue)是一种常用于任务间通信的数据结构。任务能够从队列里面读取消息,当队列中的消息为空时,挂起读取任务;当队列中有新消息时,挂起的读取任务被唤醒并处理新消息。任务也能够往队列里写入消息,当队列已经写满消息时,挂起写入任务;当队列中有空闲消息节点时,挂起的写入任务被唤醒并写入消息。如果将读队列和写队列的超时时间设置为0,则不会挂起...
IoT
轻量级操作系统 LiteOS
zhushy
2021-07-20 15:18:07
5882
0
0
2021-07-20 15:18:07
999+
0
0
鸿蒙轻内核M核源码分析系列十 互斥锁Mutex
鸿蒙轻内核M核源码分析系列十 互斥锁Mutex多任务环境下会存在多个任务访问同一公共资源的场景,而有些公共资源是非共享的临界资源,只能被独占使用。鸿蒙轻内核使用互斥锁来避免这种冲突,互斥锁是一种特殊的二值性信号量,用于实现对临界资源的独占式处理。另外,互斥锁可以解决信号量存在的优先级翻转问题。用互斥锁处理临界资源的同步访问时,如果有任务访问该资源,则互斥锁为加锁状态。此时其他任务如果想访问...
IoT
轻量级操作系统 LiteOS
zhushy
2021-07-12 10:10:49
8117
0
0
2021-07-12 10:10:49
999+
0
0
鸿蒙轻内核M核源码分析系列十二 事件Event
鸿蒙轻内核M核源码分析系列十二 事件Event事件(Event)是一种任务间通信的机制,可用于任务间的同步。多任务环境下,任务之间往往需要同步操作,一个等待即是一个同步。事件可以提供一对多、多对多的同步操作。本文通过分析鸿蒙轻内核事件模块的源码,深入掌握事件的使用。本文中所涉及的源码,以OpenHarmony LiteOS-M内核为例,均可以在开源站点https://gitee.com/o...
IoT
轻量级操作系统 LiteOS
zhushy
2021-07-12 08:22:14
7438
0
0
2021-07-12 08:22:14
999+
0
0
鸿蒙轻内核M核源码分析系列十一 信号量Semaphore
鸿蒙轻内核M核源码分析系列十一 信号量Semaphore信号量(Semaphore)是一种实现任务间通信的机制,可以实现任务间同步或共享资源的互斥访问。一个信号量的数据结构中,通常有一个计数值,用于对有效资源数的计数,表示剩下的可被使用的共享资源数。以同步为目的的信号量和以互斥为目的的信号量在使用上存在差异。本文通过分析鸿蒙轻内核信号量模块的源码,掌握信号量使用上的差异。本文中所涉及的源码...
IoT
轻量级操作系统 LiteOS
zhushy
2021-07-08 15:26:30
6818
0
1
2021-07-08 15:26:30
999+
0
1
鸿蒙轻内核M核源码分析系列九 动态内存Dynamic Memory 第二部分
2.2 初始化动态内存池我们分析下初始化动态内存池函数UINT32 LOS_MemInit(VOID *pool, UINT32 size)的代码。我们先看看函数参数,VOID *pool是动态内存池的起始地址,UINT32 size是初始化的动态内存池的总大小,size需要小于等于*pool开始的内存区域的大小,否则会影响后面的内存区域,还需要大于动态内存池的最小值OS_MEM_MIN_...
IoT
数据结构
轻量级操作系统 LiteOS
zhushy
2021-06-23 08:43:40
4427
0
0
2021-06-23 08:43:40
999+
0
0
鸿蒙轻内核M核源码分析系列九 动态内存Dynamic Memory 第一部分
鸿蒙轻内核M核源码分析系列九 动态内存Dynamic Memory内存管理模块管理系统的内存资源,它是操作系统的核心模块之一,主要包括内存的初始化、分配以及释放。在系统运行过程中,内存管理模块通过对内存的申请/释放来管理用户和OS对内存的使用,使内存的利用率和使用效率达到最优,同时最大限度地解决系统的内存碎片问题。鸿蒙轻内核的内存管理分为静态内存管理和动态内存管理,提供内存初始化、分配、释...
IoT
轻量级操作系统 LiteOS
zhushy
2021-06-23 08:43:06
6204
1
1
2021-06-23 08:43:06
999+
1
1
鸿蒙轻内核M核源码分析系列八 静态内存Static Memory
鸿蒙轻内核M核源码分析系列八 静态内存Static Memory内存管理模块管理系统的内存资源,它是操作系统的核心模块之一,主要包括内存的初始化、分配以及释放。在系统运行过程中,内存管理模块通过对内存的申请/释放来管理用户和OS对内存的使用,使内存的利用率和使用效率达到最优,同时最大限度地解决系统的内存碎片问题。鸿蒙轻内核的内存管理分为静态内存管理和动态内存管理,提供内存初始化、分配、释放...
IoT
数据结构
轻量级操作系统 LiteOS
zhushy
2021-06-15 10:17:00
6916
0
0
2021-06-15 10:17:00
999+
0
0
鸿蒙轻内核M核源码分析系列七 任务及任务调度(1)任务栈
鸿蒙轻内核M核源码分析系列七 任务及任务调度(1)任务栈继续分析鸿蒙轻内核源码,我们本文开始要分析下任务及任务调度模块。首先,我们介绍下任务栈的基础概念。任务栈是高地址向低地址生长的递减栈,栈指针指向即将入栈的元素位置。初始化后未使用过的栈空间初始化的内容为宏OS_TASK_STACK_INIT代表的数值0xCACACACA,栈顶初始化为宏OS_TASK_MAGIC_WORD代表的数值0x...
IoT
任务调度
轻量级操作系统 LiteOS
zhushy
2021-06-08 08:27:28
7255
0
1
2021-06-08 08:27:28
999+
0
1
总条数:110
10
10
20
50
100
1
2
3
4
5
6
...
11
上滑加载中
https://www.baidu.com/s?ie=utf-8&f=3&rsv_bp=0&rsv_idx=1&tn=baidu&wd=sed%20%E6%9B%BF%E6%8D%A2%E5%AD%97%E7%AC%A6%E4%B8%B2&rsv_pq=c7db61a600035dc5&rsv_t=5e19yEsbV9N5fIvdlGRU
+ 关注
私信