系统 (System)
文章平均质量分 84
Memory, OTA, Watchdogs, eFuse, Log, Power Managerment..
乐鑫科技 Espressif
提供 Wi-Fi、蓝牙芯片和 AIoT 解决方案
展开
-
ESP32 程序的内存模型
本文翻译自:ESP32 Programmers’ Memory Model - Amey InamdarMCU 中的内存资源可能是其最宝贵的资源,因为它在芯片中占据最大的面积。更新的应用程序对内存的需求正在不断增长。为了充分利用硬件资源,理解内存架构并能针对应用程序的实际用例进行内存优化变得至关重要。特别是对于包含通信子系统( Wi-Fi 和 BT/BLE )的 ESP32 SoC 架构,通信子系统本身需要占用一定数量的内存才能运行,因此有必要明确应用程序的需求并对其进行内存优化。我们经常会遇到有关应用翻译 2021-01-21 15:49:56 · 7471 阅读 · 2 评论 -
ESP32 内存分析—案例研究
本文翻译自:https://medium.com/the-esp-journal/esp32-memory-analysis-case-study-eacc75fe5431内存对硅片成本以及芯片尺寸具有重大影响,因此从硬件角度看,优化内存尺寸很重要,从软件角度来看,能够充分利用内存资源也至关重要。在本文中,我们将讨论 ESP-IDF 中的一些即将推出的功能和常用配置选项(可调项)(译者注:原文发表于 2020.06.02),以允许 终端应用程序 以最佳方式利用各个内部存储区域。重要提示这里我们将翻译 2021-04-06 19:54:37 · 3729 阅读 · 0 评论 -
ESP32 系统篇: 优化系统启动时间
在使用 ESP32 系列芯片开发某些对启动时延比较严格的产品来说,优化系统启动时间将改善产品用户体验,通常最低可以将系统启动时间优化到几十毫秒。例如:智能灯产品,对时延较为敏感,优化系统启动时间可以让用户无法感知到智能灯重启。优化措施减少系统打印降低 bootloader 的 log level,通过 make menuconfig -> bootloader co...原创 2020-03-27 18:01:45 · 4519 阅读 · 4 评论 -
FreeRTOS 接口: vTaskGetRunTimeStats() - 可解决 task watchdog 和调优 task 优先级
vTaskGetRunTimeStats() 介绍使用 ESP32/ESP8266 进行开发时,读者可通过 vTaskGetRunTimeStats() 来协助分析操作系统当前 task CPU 占用状态,以帮助优化 task 优先级,帮助定位 task watchdog 问题,帮助理解和学习操作系统原理相关知识。读者若想深入了解 vTaskGetRunTimeStats(), 可参考 v...原创 2020-03-08 19:05:08 · 8093 阅读 · 0 评论 -
FreeRTOS 接口: vTaskList() - 可优化内存和 task 栈溢出定位
vTaskList() 介绍使用 ESP32/ESP8266 进行开发时,读者可通过 vTaskList() 来协助分析操作系统当前 task 状态,以帮助优化内存,帮助定位栈溢出问题,帮助理解和学习操作系统原理相关知识。读者若想深入了解 vTaskList(), 可参考 vTaskList() 英文原版介绍 相关文档。vTaskList() 使用注意:使用 vTaskList()...原创 2020-03-07 20:41:40 · 13482 阅读 · 2 评论 -
ESP32-Secure Boot 安全方案
Secure Boot 功能概述方案概述Secure Boot 的目的是保证芯片只运行用户指定的程序,芯片每次启动时都会验证从 flash 中加载的 partition table 和 app images 是否是用户指定的Secure Boot 中采用 ECDSA 签名算法对 partition table 和 app images 进行签名和验证,ECDSA 签名算法使用公钥/...原创 2018-02-24 15:16:33 · 13211 阅读 · 9 评论 -
ESP32 基础篇:mbedTLS 内存开销分析
本文介绍了 ESP32 下 mbedtls 内存开销相关测试数据。分别从 Fragment 大小和证书的大小来给出对应的内存数据,同时从 client 和 server 这两种模式给出对应的内存开销,供读者参考原创 2017-11-29 11:39:32 · 6244 阅读 · 2 评论 -
ESP32 基础篇: 启动时 rst cause 和 boot mode
简介在 ESP32 启动时, ROM CODE 会读取 GPIO 状态和 rst cause 状态, 进而决定 ESP32 工作模式.通过了解和掌握 rst cause 和 boot mode, 有助于定位某些系统问题.例如:ESP32 启动时会有如下打印:rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)ROM CODE 波特率为 115200系统复位介绍和 ESP32 启动时 rst cause系统复位介绍系统提供三种级原创 2020-08-13 14:23:27 · 24365 阅读 · 0 评论 -
ESP8266 RTOS 下 wolfSSL 内存开销分析和测试方法
1. 摘要本文主要列举实际测试的 wolfSSL 在各种配置参数下,SSL 握手的内存开销和相应的测试方法。2. 测试版本和方法ESP8266 SDK 版本:ESP8266_RTOS_SDK - c7b64043git clone https://github.com/espressif/ESP8266_RTOS_SDK.gitgit checkout c7b64043...原创 2018-03-18 20:21:18 · 2019 阅读 · 0 评论 -
ESP8266 下 mbedTLS 和 wolfSSL 内存对比分析
1. 摘要本文主要列举实际测试的 mbedTLS 和 wolfSSL 的内存开销对比。2. 测试版本wolfSSL 版本: https://github.com/wolfSSL/wolfssl/releases/tag/v3.12.2-stableESP8266 SDK 版本:ESP8266_RTOS_SDK - c7b640433. 测试数据本章主要列举各种配置参...原创 2018-03-18 20:23:38 · 7698 阅读 · 0 评论 -
ESP8266 基础篇:mbedTLS 内存开销分析
本文介绍了 ESP8266 下 mbedtls 内存开销相关测试数据。分别从 Fragment 大小和证书的大小来给出对应的内存数据,同时从 client 和 server 这两种模式给出对应的内存开销,供读者参考原创 2017-11-29 15:56:22 · 3296 阅读 · 0 评论 -
ESP8266 基础篇:启动时 rst cause 和 boot mode
简介在 ESP8266 启动时, ROM CODE 会读取 GPIO 状态和 rst cause 状态, 进而决定 ESP8266 工作模式.通过了解和掌握 rst cause 和 boot mode, 有助于定位某些系统问题.ROM CODE 波特率为 74880.ESP8266 启动时 rst causeESP8266 启动时会有如下打印:ets Jan 8 2013, rst...原创 2019-10-20 12:00:31 · 15429 阅读 · 3 评论 -
ESP8266 基础篇:系统 TASK 介绍
简介本文简要介绍 ESP8266 内部系统级 Task 功能和相关参数说明.Task 名称Task 初始化堆栈Task 堆栈是否可配置Task 创建顺序Task 优先级Task 说明...原创 2020-03-15 15:41:24 · 1733 阅读 · 0 评论 -
ESP8266 基础篇:RTOS SDK 内存优化方法
本文介绍 esp8266 rtos sdk 下的 os_printf,以及通过修改 ld 文件将 .rodata 数据置于 spi flash 的方法,从而使得 heap 区最大化。原创 2017-11-17 17:36:36 · 4977 阅读 · 0 评论 -
ESP8266 基础篇:段的概念
本文介绍了 esp8266 各种段的概念,包括 .text、.data、.bss、.rodata、.irom0.text,以及 heap 区的概念。原创 2017-11-17 17:35:33 · 6663 阅读 · 1 评论 -
ESP8266 基础篇:内存分布
本文介绍了 esp8266 内存分布的情况,包括了 iRAM、dRAM、cache,以及几种 flash map 方式。原创 2017-11-17 17:31:03 · 20690 阅读 · 8 评论