博狗游戏平台



管理新闻中心 News
管理动态中心 / News More
联系我们
博狗游戏平台 (中国)企业管理有限公司

电话:021-33666666
传真:021-33666666
邮编:200030
总部地址:上海市徐汇区漕溪北路396号

华为物联网操作系统LiteOS内核教程06-内存管理

发布人: 博狗游戏平台 来源: 博狗游戏平台官网 发布时间: 2020-12-22 07:39

  在系统运行的过程中,一些内存空间大小是不确定的,比如一些数据缓冲区,所以系统需要提供内存空间的管理能力,用户可以在使用的时候申请需要的内存空间,使用完毕该空间,以便再次利用。

  Huawei LiteOS 的内存管理模块通过对内存的申请/操作,来管理用户和OS对内存的使用,使内存的利用率和使用效率达到最优,同时最大限度地解决系统的内存碎片问题。

  动态内存管理,即在内存资源充足的情况下,从系统配置的一块比较大的连续内存(内存池),根据用户需求,分配任意大小的内存块。当用户不需要该内存块时,又可以回系统供下一次使用。

  本身是一个数组,每个元素是一个双向链表,所有free节点的控制头都会被分类挂在这个数组的双向链表中。

  LiteOS 的动态内存分配支持最佳适配算法,即 BEST LITTLE,每次分配时选择内存池中最小最适合的内存块进行分配。

  LiteOS 动态内存管理在最佳适配算法的基础上加入了 SLAB 机制,用于分配固定大小的内存块,进而减小产生内存碎片的可能性。

  初始化内存管理时,首先初始化内存池,然后在初始化后的内存池中按照最佳适配算法申请 4 个 SLAB CLASS,再逐个按照 SLAB 内存管理机制初始化 4 个 SLAB CLASS。

  每次申请内存时,先在满足申请大小的最佳 SLAB CLASS 中申请,(比如用户申请 20 字节内存,就在 SLAB 块大小为 32 字节的 SLAB CLASS 中申请),如果申请成功,就将 SLAB 内存块整块返回给用户,时整块回收。如果满足条件的 SLAB CLASS 中已无可以分配的内存块,则继续向内存池按照最佳适配算法申请。需要注意的是,如果当前的 SLAB CLASS 中无可用 SLAB 块了,则直接向内存池申请,而不会继续向有着更大 SLAB 块空间的 SLAB CLASS 申请。

  内存时,先检查的内存块是否属于 SLAB CLASS,如果是 SLAB CLASS 的内存块,则还回对应的 SLAB CLASS 中,否则还回内存池中。

  LiteOS动态内存管理的方法使用宏定义的方法使能,在用户工程目录下的OS_CONFIG中的target_config.h文件中配置。

  动态内存管理主要是在用户需要使用大小不等的内存块的场景中使用。当用户需要分配内存时,可以通过操作系统的动态内存申请函数指定大小内存块,一旦使用完毕,通过动态内存函数归还所占用内存,使之可以重复使用。

  Huawei LiteOS 系统中的内存管理模块管理系统的内存资源,主要提供内存的初始化、分配以及功能。

  Huawei LiteOS 系统中提供的内存管理 API 都是以 LOS 开头,但是这些 API 使用起来比较复杂,所以本文中我们使用 HuaweiIoTLink SDK 提供的统一API接口进行实验,这些接口底层已经使用 LiteOS 提供的API实现,对用户而言更为简洁,API列表如下:

  osal的api接口声明在中,使用相关的接口需要包含该头文件,关于函数的详细参数请参考该头文件的声明。

  osal_zalloc接口用于按字节申请分配动态内存空间,分配成功则初始化这块内存所有值为0,其接口原型如下:

  osal_calloc接口用于申请分配num个长度为size的动态内存空间,其接口原型如下:

  本实验中将创建一个任务,从最小字节开始,不停的申请分配内存,分配的内存,直到申请失败,串口终端中观察可以申请到的最大字节。

  在Demo文件夹右击,新建文件夹osal_kernel_demo用于存放内核的实验文件(如果已有请忽略这一步)。

  编写完成之后,要将我们编写的 osal_mem_demo.c文件添加到makefile中,加入整个工程的编译:

  这里有个较为简单的方法,直接修改Demo文件夹下的user_demo.mk配置文件,添加如下代码:

  那么,如何配置 CONFIG_USER_DEMO 宏定义呢?在工程根目录下的.sdkconfig文件中的末尾即可配置:

  12月12日,2019年第六届中国物联网大会将在深圳科兴科学园国际会议中心隆重举行,本次大会吸引了包括中国移动、ARM、

  物联网享学习的好处不仅限于动物和人的设备,还可以用于桥梁或道结构健康状况的设备。

  物联网设备有多种报废方式,但通常发生在两个周期中的一个:工作周期或生命周期,后者其实相当于晚年死亡。

  物联网交互的设计阶段是成功(或失败)种子播种的地方,这就是团队应该专注于优化功能、易用性和沟通的原因....

  尽管各行各业都看好物联网所带来的庞大潜在商机,而纷纷进军物联网市场,推出不同的物联网IOT产品或服务....

  身份管理和物联网设备的一个已知问题是,其中一些设备带有默认密码,用户应该更改这些密码,但他们从来不会....

  我现在在LCD显示了“模式:”,我想在这三个字后面分别显示,模式一, 模式二.........模式七,按下KEY0键之后,...

  在不完全手册里有这一句话: 我们可以在MDK提供的例子里面,找到stm32f10x_it.c,该文件里面包含了STM32所有的...

  如图,请问是怎么根据设定参数得出有如下的式子,另外遇到类似的式子该如何人计算,为什么这样写式子呢,有什么技巧呢...

  第一次选型stm32f103,看中stm32f103vet6可是同一个型号后面有Y结尾Z也有X,价格也相差较大。还有请问stm32f103vet...

  请问一下,stm32 407 能不能实现即作为网络服务器又作为客户端,来实现数据的转发呢,在裸机的情况下,用Lwip...

  初学者一枚,毕业设计需要例程中有ucosii+lwip+udp的,这部分调通了,论坛里只有modbus/tcp的相关内容,没有找到modbu...

  使用两块STM32F4探索版进行开发,一块运行NETCONN 服务器程序,一块运行NETCONN 客户端程序,没有使...

  对于离心泵主要性能的参数:流量、压力、转速、扬程、轴功率、效率等进行监测. stm32进行设计,完全没有头绪,求大神...

  日海通讯主要从事通信无源设备的生产。此外,还提供综合布线系统,为电信运营商和网络集成商提供整体解决方....

  但由于物联网碎片化非常严重,中国联通联合华为共同打造打造轻量级IoT OS产品,基于IoT OS操作....

  机场物联网解决方案正在引领高效运营、可视化安全和超个性化旅客体验的道。它们创建的不是差异化最大的机....

  这是一个极端的用例,说明IoT解决方案如何通过连接在远程和难以访问的提供医疗保健。 Reynes....

  使用自动钻机减少了地点的矿工数量,同时也降低了生产成本,并使用物联网技术监测、分析和响应来自布里....

  在嵌入式设备开发中,往往需要保存一些掉电不易失性的数据,如果系统配置、用户定制信息等等,如果增加额外....

  至关重要的是,物联网医疗设备、应用或解决方案的设计方式应使其产生的大数据化,从而允许所有利益相关....

  智慧化的物联网端点,可让企业利用与分析从这些来源所收集到的资料进行营运决策,以便企业根据需求进行扩充....

  Silicon Labs宣布推出Secure Vault技术,先进的安全功能新套件旨在帮助可连接设备....

  疫情,大部分人无法随意离开住所,只能困守家中。在此类场景下,像智能音箱、智能扫地机、智能卫浴和智....

  STM32是性价比非常高的32位单片机,片上资源丰富、性价比高、性能不错;而C51单片机是8位的单片....

  物联网的数据(data)才是真正价值,虽然设备与传感器之间的联机是部署物联网的基础,但这只是将所有“....

  “IoT物联网”是透过云端平台让设备和手机App联机,因此当用户利用App给予设备指令时,事实上是先....

  物联网(IoT)已经深入渗透到我们的家庭、工业和基础设施当中,现正逐步扩展到办公室应用市场,越来越多....

  目前区块链技术还不成熟,发展速度很快,部分底层技术持续迭代。如果只构建没有底层基础技术的应用程序,可....

  意法半导体新推出的STM32CubeMonitor软件工具能够实时显示STM32应用程序运行时的变量....

  Spresense主板(分为美国和日本版、欧洲版以及中国版) 采用Sony拥有GPS功能的强大多核C....

  简单地说,融合就是将不同的事物相互连接起来,以使它们能够相互交流,而互操作性则意味着在它们之间引入标....

  第二步,到2025年人工智能基础理论实现重大突破,部分技术与应用达到世界领先水平,人工智能成为带动我....

  购买物联网平台可用于许多用例。购买物联网平台的好处包括更快的安装和部署,以及已经过测试和调试的成熟解....

  面对全球日益激烈的竞争,物联网( IoT )使制造业能够提高效率、提高生产力和获得丰厚收益。

  将IT和OT集成只不过是物联网原理的一种工业应用——将以前分散的物理部件连接到一个功能强大的分析引擎....

  佩戴时可以明显感到机身的重量主要集中在脑后,面罩也分担了一部分压力,眉弓、颧骨与鼻翼所承担的压力很小....

  打造物联网(IoT)设计可不是一件轻松的事。在让咖啡机连接上网之前,你需要学习很多东西——从嵌入式软....

  物联网(IoT)相关应用的潜在成长为供货商及其设计团队提供了新的机会,但也进一步扩大软硬件工程方面的....

  现阶段物联网处在聚光灯焦点之下,物联网平台是驱动市场与商业模式的关键要素,但大多数的物联网相关技术尚....

  意法半导体(STMicroelectronics,简称ST; 纽约证券交易所代码:STM) 为STM....

  氦气受到一系列热点的支撑,这些热点的零售价为495美元,从而创建了开源的P2P无线网络。您可以将每个....

  物联网(IoT)没有表现出短暂流行的迹象,预计十年内将会有规律地出现越来越多相互联接的事物。

  运营技术(OT)和物联网(IoT)设备的安全性工作很复杂,而运营技术(OT)和物联网(IoT)的设计....

博狗游戏平台,博狗游戏平台官网,博狗游戏平台活动
管理新闻案例
Copyright ©2017 - 2018 博狗游戏平台(中国)企业管理有限公司 博狗游戏平台,博狗游戏平台官网,博狗游戏平台活动 网站地图