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

郑州网站建设求职简历网页美工设计多少钱

郑州网站建设求职简历,网页美工设计多少钱,网站 建立目录出错,网站开发技术要学什么一#xff0c;为什么需要外部RAM ESP32有520kB的内部RAM空间可以使用#xff0c;这对于一般的情况是够用的#xff0c;但是如果设备需要涉及音频或者显示图像等处理时#xff0c;需要更大的内存空间来处理这些数据。ESP32支持扩展外部RAM#xff0c;其实乐鑫已经在其ESP32… 一为什么需要外部RAM ESP32有520kB的内部RAM空间可以使用这对于一般的情况是够用的但是如果设备需要涉及音频或者显示图像等处理时需要更大的内存空间来处理这些数据。ESP32支持扩展外部RAM其实乐鑫已经在其ESP32 WROVER系列模组中集成了一个4M大小的外部PSRAM。乐鑫官网文档对外部RAM作了详解片外RAM 乐鑫对于ESP32 WROVER的介绍也是 ESP32-WROVER 系列模组基于 ESP32-D0WD 双核芯片设计其强大的双核性能适用于对内存需求大的应用场景例如多样的 AIoT 应用和网关应用。 如果你的设备需要使用大内存例如wifi与ble并存音频处理和图像显示功能推荐使用这个模组。 二 快速上手外部RAM 2.1 使能外部RAM 首先必须确保你的芯片是有外部RAM的。例如ESP32 WROVER模组。 进入idf.py menuconfig-component config-ESP32-specific 在下图的Support for external,SPI-connected RAM选项中按y选中,这样就使能了外部RAM。 2.2 配置外部RAM 进入下一行的SPI RAM config进行配置更多的细节。这里讲一下比较重要的配置选项。 2.2.1 第二项配置系统的动态内存分配功能 有三个选项当选择Make RAM allocatable using heap_caps_malloc(..., M时需要在代码中使用heap_caps_malloc()函数才能在外部RAM中分配内存。 当选择Make RAM allocatable using malloc() as well时代码中malloc()函数会自动从外部RAM中分配内存。 当使能这个选项时还能配置第九行 Maximum malloc() size, in bytes, to always put in internal memory该配置设置了一个阈值这里我设置的是1024bytes当使用malloc()分配内存时如果分配的内存小于1024字节就会从内部RAM中分配否则从外部RAM中分配。 2.2.2 将BSS段添加到外部RAM 第13行中选择Allow .bss segment placed in external memory,可以将BSS段的lwip、net80211、libpp 和 bluedroid ESP-IDF 库中零初始化的数据存入外部RAM。此外全局变量静态变量也可以放到外部RAM中只需要在变量声明的地方加上宏EXT_RAM_ATTR,并将变量初始化为0。 EXT_RAM_ATTR static int num[1024]{0}; 2.2.3 其他可放入外部RAM的数据 第十行Try to allocate memories of WiFi and LWIP in SPIRAM firstly. If failed, allocate inter会尝试优先使用外部RAM给wifi与lwip协议栈分配内存如果失败则会使用内部RAM分配。 2.2.4 创建静态任务 xTaskCreate()会使用内部RAM给任务分配任务堆栈。而使用xTaskCreateStatic()系统会检查传入的buff数组是否是属于内部RAM的。 但对于不以任何方式直接或间接调用 ROM 中代码的任务,选项 Allow external memory as an argument to xTaskCreateStatic 将解除 xTaskCreateStatic 中的检查从而允许任务堆栈存储在外部 RAM 中。但是不建议使用此方法。 实际使用过程中我也发现使用该函数创建任务会出现assert error的错误不知道具体的原因是什么希望了解的大佬解答一下。 2.2.5 修改分区表 由于使用了外部RAM会使partitionstable.bin增加0x8000的偏移地址会出现覆盖所以需要修改分区表和partitionstable.bin的偏移地址 idf.py menuconfig-Partition Table修改成0x10000 如果使用本地的分区表还需要将分区表修改如下 这是由于partitionstable.bin默认是起始地址0x8000修改成0x10000后由于其占用0xc00大小的空间而nvs要实现内存对齐至少要在0x11000处开始. # Espressif ESP32 Partition Table # Name,   Type, SubType, Offset,  Size nvs,      data, nvs,     0x11000,  0x4000, phy_init, data, phy,     0x15000,  0x1000, factory,  app,  factory, 0x20000, 0x300000, flash_tone,data, 0x04,   0x320000,  50k, 三 深度解放内部RAM IRAM是内部RAM当我使用wifibleASR组成的一个工程时编译后出现Section .iram0.text will not fit in region iram0_0_seg的错误原因是IRAM的内存空间仍然不够这是因为任务堆栈等数据是不能存放在外部RAM中的所以IRAM中的内存依然紧张。 解决办法是参考 https://github.com/espressif/esp-idf/issues/2566 原理就是关闭一些网络功能的优化来减少IRAM的使用 按照这位老哥的说法将wifilwip的优化功能关闭以减少IRAM的占用这样下来能省出大约37KB的内存。这样就能正常的编译运行了。 具体步骤如下 idf.py menuconfig-component config-Wi-Fi,将箭头所指的两项按n取消选择 lwip部分同理进入idf.py menuconfig-component config-LWIP,取消箭头所指。 四 使用效果 使用外部RAM前可用的内存只有几十K开启外部RAM后可用的内存增加了几十倍我使用内存获取函数打印出内存的使用情况 下图表示SPI RAM初始化成功。 下图信息说明外部RAM可用的内存为4049k bytes当freertos开始运行进入main函数后esp_get_free_heap_size()获取到的可用内存为4253k bytes这是由内部RAM和外部RAM的所有可用的内存的总和大概可知道可用的内部RAM只有约200k bytes。可见外部RAM极大的扩展了可用内存。 五小结 由于外部RAM足足有4M 大小使得esp32在应对语音图像时依然能应对对于一个使用了wifiblelwip或者语音识别的程序来说这4M的内存是必须的。 ———————————————— 版权声明本文为CSDN博主「killer-p」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。 原文链接https://blog.csdn.net/weixin_44821644/article/details/109207305
http://www.sadfv.cn/news/344797/

相关文章:

  • 商业设计网站微网站免费开发平台
  • 海沧建设网站多少钱个人做外贸怎样起步
  • 做下载网站挣钱吗wordpress静态化
  • 做网站图片切图是什么最好的网站推广软件
  • 网站页面设计公司电话购物网站建设代理商
  • 广汉有没有做网站建设公司校园网站建设培训体会
  • 重庆制作网站培训百度推广关键词价格查询
  • 东莞外贸网站制作服装网站建设优点与缺点
  • 购物网站建设费用湖南省重点建设项目办公室网站
  • 阿里云服务器的网站备案学校门户网站建设的好处
  • 网站建设公司如何盈利做静态网站多少钱
  • 建立网站的连接结构有哪几种形式适合友情链接的网站
  • 网站多久会被百度收录郑州做网站推广电话
  • dedecms做网站怎么查看特色美食网站建设
  • 重庆网站建设的价格网站域名跳转
  • 做网站准备内容官方网站如何建设
  • 北京企业网站建设报价都达科技股份有限公司网页设计
  • 反钓鱼网站建设期wordpress分类目录高亮
  • 做玩网站怎么上传做军事网站的项目背景图片
  • 建站公司外包温州专业网站制作设计
  • 网站型建设模板互联网站账户e服务平台
  • 上海网站备案审核深圳推广软件十年乐云seo
  • 江苏省昆山市网站制作淘宝客如何做淘宝客网站推广
  • 把开发的网站让外网能访问要怎么做百度推广管家
  • 淄博网站建设推广乐达wordpress网易邮箱
  • 秦皇岛做网站公司国外服装购物网站大全
  • 做包装盒效果图的网站如何自己安装wordpress
  • 怎么看网站是否被k过设计素材网站会员
  • 电脑自带的做网站叫什么wordpress只导出设置
  • wordpress用什么空间怎样优化网站关键词