- 1. IoT介绍1.1 什么是IoT?物联网技术,即Internet of things简称为IoT,万物互联的网络技术,是通过信息传感设备,按照一些约定好的协议,将一些设备或者装置等与网络相连接,从而使设备和设备之间可以通过信息传播媒介进行信息交换和通信,以实现智能化的识别、定位、跟踪、监管等功能。1.2 IoT涉及的领域如今IoT技术已经涉及到我们生活中的方方面面,也正是这种“真正的科技... 1. IoT介绍1.1 什么是IoT?物联网技术,即Internet of things简称为IoT,万物互联的网络技术,是通过信息传感设备,按照一些约定好的协议,将一些设备或者装置等与网络相连接,从而使设备和设备之间可以通过信息传播媒介进行信息交换和通信,以实现智能化的识别、定位、跟踪、监管等功能。1.2 IoT涉及的领域如今IoT技术已经涉及到我们生活中的方方面面,也正是这种“真正的科技...
- 树莓派是英国的慈善组织“Raspberry Pi 基金会”开发的一款基于arm的微型电脑主板。本文介绍基于LiteOS的树莓派移植过程。 树莓派是英国的慈善组织“Raspberry Pi 基金会”开发的一款基于arm的微型电脑主板。本文介绍基于LiteOS的树莓派移植过程。
- 鸿蒙轻内核M核源码分析系列七 任务及任务调度(3)任务调度模块调度,Schedule也称为Dispatch,是操作系统的一个重要模块,它负责选择系统要处理的下一个任务。调度模块需要协调处于就绪状态的任务对资源的竞争,按优先级策略从就绪队列中获取高优先级的任务,给予资源使用权。本文我们来一起学习下调度模块的源代码,文中所涉及的源代码,所涉及的源码,以OpenHarmony LiteOS-M内... 鸿蒙轻内核M核源码分析系列七 任务及任务调度(3)任务调度模块调度,Schedule也称为Dispatch,是操作系统的一个重要模块,它负责选择系统要处理的下一个任务。调度模块需要协调处于就绪状态的任务对资源的竞争,按优先级策略从就绪队列中获取高优先级的任务,给予资源使用权。本文我们来一起学习下调度模块的源代码,文中所涉及的源代码,所涉及的源码,以OpenHarmony LiteOS-M内...
- 鸿蒙轻内核M核源码分析系列七 任务及任务调度(2)任务模块任务是操作系统一个重要的概念,是竞争系统资源的最小运行单元。任务可以使用或等待CPU、使用内存空间等系统资源,并独立于其它任务运行。鸿蒙轻内核的任务模块可以给用户提供多个任务,实现任务间的切换,帮助用户管理业务程序流程。本文我们来一起学习下任务模块的源代码,所涉及的源码,以OpenHarmony LiteOS-M内核为例,均可以在开... 鸿蒙轻内核M核源码分析系列七 任务及任务调度(2)任务模块任务是操作系统一个重要的概念,是竞争系统资源的最小运行单元。任务可以使用或等待CPU、使用内存空间等系统资源,并独立于其它任务运行。鸿蒙轻内核的任务模块可以给用户提供多个任务,实现任务间的切换,帮助用户管理业务程序流程。本文我们来一起学习下任务模块的源代码,所涉及的源码,以OpenHarmony LiteOS-M内核为例,均可以在开...
- 嵌入式经常会说到“中断”的概念,那中断到底是什么呢?MUC如何完成中断任务的呢? 嵌入式经常会说到“中断”的概念,那中断到底是什么呢?MUC如何完成中断任务的呢?
- - -
- 鸿蒙轻内核M核源码分析系列十三(续) 消息队列QueueMail接口之前分析过队列(Queue)的源代码,了解了队列初始化、队列创建、删除、队列读取写入等操作。队列还提供了两个接口OsQueueMailAlloc和OsQueueMailFree。队列可以和一个静态内存池关联起来,一个任务从静态内存池申请内存块时,如果申请不到,会把该任务插入到队列的内存阻塞链表中,等有其他任务释放内存时,该... 鸿蒙轻内核M核源码分析系列十三(续) 消息队列QueueMail接口之前分析过队列(Queue)的源代码,了解了队列初始化、队列创建、删除、队列读取写入等操作。队列还提供了两个接口OsQueueMailAlloc和OsQueueMailFree。队列可以和一个静态内存池关联起来,一个任务从静态内存池申请内存块时,如果申请不到,会把该任务插入到队列的内存阻塞链表中,等有其他任务释放内存时,该...
- 今天为大家带来开发者效率提升利器:组件 本文将基于Huawei LiteOS系统,从组件定义开始带你走进组件开发指南。 今天为大家带来开发者效率提升利器:组件 本文将基于Huawei LiteOS系统,从组件定义开始带你走进组件开发指南。
- 红外检测到蜂鸣器报警 红外检测到蜂鸣器报警
- 3.2.2 LOS_HistorySysCpuUsage该函数获取系统历史CPU占用率,对于历史CPU占用率,需要传入时间间隔模式参数,支持10秒、1秒、小于1秒三种。⑴处先判断CPUP是否已经初始化,如果没有初始化过,返回错误码。⑵处调用函数OsTskCycleEnd()获取当前任务的结束时间,并计算出运行总时间。⑶处调用函数OsGetPositions()计算出历史运行时间数组索引位置... 3.2.2 LOS_HistorySysCpuUsage该函数获取系统历史CPU占用率,对于历史CPU占用率,需要传入时间间隔模式参数,支持10秒、1秒、小于1秒三种。⑴处先判断CPUP是否已经初始化,如果没有初始化过,返回错误码。⑵处调用函数OsTskCycleEnd()获取当前任务的结束时间,并计算出运行总时间。⑶处调用函数OsGetPositions()计算出历史运行时间数组索引位置...
- 鸿蒙轻内核M核源码分析系列十五 CPU使用率CPUPCPUP(Central Processing Unit Percentage,CPU占用率)分为系统CPU占用率和任务CPU占用率。用户通过系统级的CPU占用率,判断当前系统负载是否超出设计规格。通过系统中各个任务的CPU占用情况,判断各个任务的CPU占用率是否符合设计的预期。系统CPU占用率是指周期时间内系统的CPU占用率,用于表示系... 鸿蒙轻内核M核源码分析系列十五 CPU使用率CPUPCPUP(Central Processing Unit Percentage,CPU占用率)分为系统CPU占用率和任务CPU占用率。用户通过系统级的CPU占用率,判断当前系统负载是否超出设计规格。通过系统中各个任务的CPU占用情况,判断各个任务的CPU占用率是否符合设计的预期。系统CPU占用率是指周期时间内系统的CPU占用率,用于表示系...
- 鸿蒙轻内核M核源码分析系列十四 软件定时器Swtmr软件定时器(Software Timer)是基于系统Tick时钟中断且由软件来模拟的定时器。当经过设定的Tick数后,会触发用户自定义的回调函数。硬件定时器受硬件的限制,数量上不足以满足用户的实际需求。鸿蒙轻内核提供了软件定时器功能可以提供更多的定时器,满足用户需求。本文通过分析鸿蒙轻内核定时器模块的源码,掌握定时器使用上的差异。本文中所... 鸿蒙轻内核M核源码分析系列十四 软件定时器Swtmr软件定时器(Software Timer)是基于系统Tick时钟中断且由软件来模拟的定时器。当经过设定的Tick数后,会触发用户自定义的回调函数。硬件定时器受硬件的限制,数量上不足以满足用户的实际需求。鸿蒙轻内核提供了软件定时器功能可以提供更多的定时器,满足用户需求。本文通过分析鸿蒙轻内核定时器模块的源码,掌握定时器使用上的差异。本文中所...
- 鸿蒙轻内核M核源码分析系列十二 事件Event事件(Event)是一种任务间通信的机制,可用于任务间的同步。多任务环境下,任务之间往往需要同步操作,一个等待即是一个同步。事件可以提供一对多、多对多的同步操作。本文通过分析鸿蒙轻内核事件模块的源码,深入掌握事件的使用。本文中所涉及的源码,以OpenHarmony LiteOS-M内核为例,均可以在开源站点https://gitee.com/o... 鸿蒙轻内核M核源码分析系列十二 事件Event事件(Event)是一种任务间通信的机制,可用于任务间的同步。多任务环境下,任务之间往往需要同步操作,一个等待即是一个同步。事件可以提供一对多、多对多的同步操作。本文通过分析鸿蒙轻内核事件模块的源码,深入掌握事件的使用。本文中所涉及的源码,以OpenHarmony LiteOS-M内核为例,均可以在开源站点https://gitee.com/o...
- 鸿蒙轻内核M核源码分析系列十 互斥锁Mutex多任务环境下会存在多个任务访问同一公共资源的场景,而有些公共资源是非共享的临界资源,只能被独占使用。鸿蒙轻内核使用互斥锁来避免这种冲突,互斥锁是一种特殊的二值性信号量,用于实现对临界资源的独占式处理。另外,互斥锁可以解决信号量存在的优先级翻转问题。用互斥锁处理临界资源的同步访问时,如果有任务访问该资源,则互斥锁为加锁状态。此时其他任务如果想访问... 鸿蒙轻内核M核源码分析系列十 互斥锁Mutex多任务环境下会存在多个任务访问同一公共资源的场景,而有些公共资源是非共享的临界资源,只能被独占使用。鸿蒙轻内核使用互斥锁来避免这种冲突,互斥锁是一种特殊的二值性信号量,用于实现对临界资源的独占式处理。另外,互斥锁可以解决信号量存在的优先级翻转问题。用互斥锁处理临界资源的同步访问时,如果有任务访问该资源,则互斥锁为加锁状态。此时其他任务如果想访问...
- 2.2 初始化动态内存池我们分析下初始化动态内存池函数UINT32 LOS_MemInit(VOID *pool, UINT32 size)的代码。我们先看看函数参数,VOID *pool是动态内存池的起始地址,UINT32 size是初始化的动态内存池的总大小,size需要小于等于*pool开始的内存区域的大小,否则会影响后面的内存区域,还需要大于动态内存池的最小值OS_MEM_MIN_... 2.2 初始化动态内存池我们分析下初始化动态内存池函数UINT32 LOS_MemInit(VOID *pool, UINT32 size)的代码。我们先看看函数参数,VOID *pool是动态内存池的起始地址,UINT32 size是初始化的动态内存池的总大小,size需要小于等于*pool开始的内存区域的大小,否则会影响后面的内存区域,还需要大于动态内存池的最小值OS_MEM_MIN_...
上滑加载中
推荐直播
-
香橙派AIpro的远程推理框架与实验案例
2025/07/04 周五 19:00-20:00
郝家胜 -华为开发者布道师-高校教师
AiR推理框架创新采用将模型推理与模型应用相分离的机制,把香橙派封装为AI推理黑盒服务,构建了分布式远程推理框架,并提供多种输入模态、多种输出方式以及多线程支持的高度复用框架,解决了开发板环境配置复杂上手困难、缺乏可视化体验和资源稀缺课程受限等痛点问题,真正做到开箱即用,并支持多种笔记本电脑环境、多种不同编程语言,10行代码即可体验图像分割迁移案例。
即将直播 -
鸿蒙端云一体化应用开发
2025/07/10 周四 19:00-20:00
倪红军 华为开发者布道师-高校教师
基于鸿蒙平台终端设备的应用场景越来越多、使用范围越来越广。本课程以云数据库服务为例,介绍云侧项目应用的创建、新建对象类型、新增存储区及向对象类型中添加数据对象的方法,端侧(HarmonyOS平台)一体化工程项目的创建、云数据资源的关联方法及对云侧数据的增删改查等操作方法,为开发端云一体化应用打下坚实基础。
即将直播
热门标签