当前位置: 首页 > news >正文

建设网站的意义 作用是什么给公司做个网页要多少钱

建设网站的意义 作用是什么,给公司做个网页要多少钱,新浪微博 wordpress插件,湖南省建设厅向汉东目录 前言 1. 内存管理概述 2. 内存区域#xff08;存储区#xff09;和内存块 3. 存储区控制块#xff08;OS_MEM#xff09; 4. 内存管理函数 5. 内存碎片问题 6. 注意事项 7.代码实现 7.1创建内存区域 7.2申请内存 7.3释放内存 前言 UCOSIII#xff08;即Mi… 目录 前言 1. 内存管理概述 2. 内存区域存储区和内存块 3. 存储区控制块OS_MEM 4. 内存管理函数 5. 内存碎片问题 6. 注意事项 7.代码实现 7.1创建内存区域 7.2申请内存 7.3释放内存 前言 UCOSIII即Micrium μC/OS-III的内存管理是其操作系统功能的一个重要组成部分旨在高效地管理和分配系统内存资源。以下是对UCOSIII内存管理的详细介绍 1. 内存管理概述 UCOSIII将内存管理分为不同的区域或称为“区”和块。每个区域包含多个固定大小的内存块这些内存块用于满足应用程序的不同内存需求。 2. 内存区域存储区和内存块 内存区域存储区是一个连续的内存空间被划分为多个固定大小的内存块。这些区域在程序中是固定的通常通过数组来表示例如u8 buffer[20][10]表示一个有20个存储块每个存储块10字节的存储区。内存块是内存区域中的基本单位具有固定的大小。应用程序可以根据需要申请和释放这些内存块。 3. 存储区控制块OS_MEM UCOSIII使用OS_MEM结构体来表示内存区域存储区的控制块。这个结构体包含了关于内存区域的重要信息如内存区域的起始地址、名称、空闲块指针、块大小、最大块数和空闲块数等。 struct OS_MEM {OS_OBJ_TYPE Type; // 类型void *AddrPtr; // 指向存储区起始地址CPU_CHAR *NamePtr; // 指向存储区名字void *FreeListPtr; // 指向空闲存储块OS_MEM_SIZE BlkSize; // 存储块大小单位字节OS_MEM_QTY NbrMax; // 存储区中总的存储块数OS_MEM_QTY NbrFree; // 存储区中空闲存储块数// 可能还有其他用于调试的成员 }; 4. 内存管理函数 UCOSIII提供了几个关键的内存管理函数用于创建内存区域、申请和释放内存块 OSMemCreate()创建一个新的内存区域。这个函数需要指定内存区域的名称、基地址、块数量和块大小等参数。OSMemGet()从指定的内存区域中申请一个内存块。如果成功该函数将返回一个指向内存块的指针如果失败例如没有可用的内存块则返回NULL。OSMemPut()将之前申请的内存块释放回其所属的内存区域。这个函数需要指定内存区域和要释放的内存块指针。 5. 内存碎片问题 在嵌入式系统中频繁地分配和释放小块内存可能会导致内存碎片问题。UCOSIII通过提供固定大小的内存块来避免这种情况因为每个内存块在释放时都会返回到其原始的内存区域中从而减少了内存碎片的产生。 6. 注意事项 在使用UCOSIII的内存管理功能时应确保遵守其API函数的调用规则和限制。根据应用程序的内存需求合理规划和分配内存区域和内存块。注意内存碎片问题并尽可能避免在嵌入式系统中使用malloc()和free()等函数因为它们可能会导致内存碎片的产生。 7.代码实现 7.1创建内存区域 //定义一个存储区 OS_MEM EXTERNAL_MEM; //存储区中存储块数量 #define EXTRENNAL_MEM_NUM 5 //每个存储块大小 //由于一个指针变量占用4字节所以块的大小一定要为4的倍数 //而且必须大于一个指针变量(4字节)占用的空间,否则的话存储块创建不成功 #define EXTERNAL_MEMBLOCK_SIZE 100 //存储区的内存池使用外部SRAM __align(32) volatile CPU_INT08U External_RamMemp[EXTRENNAL_MEM_NUM][EXTERNAL_MEMBLOCK_SIZE] __attribute__((at(0XC0800000)));//创建一个存储分区OSMemCreate((OS_MEM* )EXTERNAL_MEM,(CPU_CHAR* )External Mem,(void* )External_RamMemp[0][0],(OS_MEM_QTY )EXTRENNAL_MEM_NUM,(OS_MEM_SIZE)EXTERNAL_MEMBLOCK_SIZE,(OS_ERR* )err); 7.2申请内存 typedef unsigned char CPU_INT08U; /* 8-bit unsigned integer */ static u8 external_memget_num; CPU_INT08U *external_buf; //申请内存 external_bufOSMemGet((OS_MEM*)EXTERNAL_MEM,(OS_ERR*)err); 7.3释放内存 OSMemPut((OS_MEM* )EXTERNAL_MEM, //释放内存(void* )external_buf,(OS_ERR* )err);
http://www.w-s-a.com/news/378422/

相关文章:

  • 洛阳网站建设优惠公司建筑企业上市公司有哪些
  • 营销型网站建设营销型网站建设手机网站设计需要学什么
  • 在线视频网站 一级做爰片南通网站建设找哪家
  • 网站优化文章东莞专业网站建设价钱
  • 哈尔滨网页设计网站模板泰兴建设局网站
  • 响应式网站设计公司报纸做垂直门户网站
  • 陕西旭泽建设有限公司网站企业网站建设软件需求分析
  • 上海公司网站建设方案中企动力西安分公司
  • dedecms网站后台怎样才能上百度
  • 云互联的网站名字亚马逊雨林生物
  • 电商网站功能企查查企业信息查询网
  • 特色网站建设中国住房和城乡建设局官网
  • 长春市住房城乡建设厅网站做白酒网站
  • 自己的网站怎么做的成品免费ppt网站
  • 番禺区网站建设哪里有泰安公司
  • 网站制作详细过程网站开发最强工具
  • 孟村县做网站长春城投建设投资有限公司网站
  • 国家重大建设项目库网站wordpress安装 var
  • 供求信息网站建设报价网站制作 苏州
  • 动漫建模代做网站百度一下wordpress nginx 固定链接
  • 广州网站开发网络公司网站建设的书
  • php手机网站开发教程家政网站怎么做
  • 视频网站的建设预算通信科技网站设计
  • 糖果网站建设策划书淘宝客网站开源
  • 建站公司还有前途吗cf网站编程
  • 网站建设需求确认表建站工具 比较
  • 刚建设的网站多久能在百度查到考试系统 微网站是什么样的
  • 商城网站建设高端企业网站建设劣势
  • 网站建设征集通讯员的通知seo推广外包
  • 微信公众号微网站建设专业网站建设出售