嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析

一、目的/概述
二、资料来源
三、ESP-IDF简介
        3.1 ESP-IDF FreeRTOS
        3.2 ESP-IDF heap_caps
        3.3 ESP-IDF newlib
四、对比

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析

一、目的/概述

  • 1、在我的嵌入式科普(6)你听说过FreeRTOS heap6吗?b站有评论ESP-IDF

  • 2、我们就来简介ESP-IDF,重点看看与newlib相关的概念和源码

  • 3、对比分析

二、资料来源

  • ESP-IDF:https://www.espressif.com.cn/zh-hans/products/sdks/esp-idf

  • ESP-IDF 编程指南:https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/

  • esp-idf github:https://github.com/espressif/esp-idf/tree/master

三、ESP-IDF简介

  • 首版ESP-IDFv0.9 Sep 30, 2016 ===> 里程碑ESP-IDFv5.0 2022年12月30日。

  • 2019 年 7 月,乐鑫科技在上海证券交易所科创板挂牌上市

  • ESP-IDF(Espressif IoT Development Framework 乐鑫物联网开发框架物联网开发框架)

    嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第1张图片

    嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第2张图片

芯片 v4.3 v4.4 v5.0 v5.1 v5.2
ESP32

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第3张图片

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第4张图片

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第5张图片

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第6张图片

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第7张图片

ESP32-S2

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第8张图片

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第9张图片

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第10张图片

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第11张图片

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第12张图片

ESP32-C3

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第13张图片

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第14张图片

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第15张图片

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第16张图片

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第17张图片

ESP32-S3

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第18张图片

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第19张图片

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第20张图片

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第21张图片

芯片发布公告
ESP32-C2

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第22张图片

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第23张图片

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第24张图片

芯片发布公告
ESP32-C6

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第25张图片

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第26张图片

芯片发布公告
ESP32-H2

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第27张图片

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第28张图片

芯片发布公告
ESP32-P4

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第29张图片

芯片发布公告

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第30张图片

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第31张图片

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第32张图片

3.1 ESP-IDF FreeRTOS

  • FreeRTOS-Kernel-SMP

  • FreeRTOS-Kernel
     

    嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第33张图片

    嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第34张图片

3.2 ESP-IDF heap_caps

  • Heap初始化: voidheap_caps_init(void)

  • Heap分配: void *heap_caps_malloc( size_t size,uint32_t caps )

  • Heap释放: void heap_caps_free(void *ptr)

  • esp32 heap 内存管理简析

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第35张图片

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第36张图片

3.3 ESP-IDF newlib

  • ESP32 SDK中的malloc/calloc/free等系统调用,最终都是调用以上函数执行(参见syscall_stub_table)

  • _write_r ===> _write_r_console ===> esp_rom_uart_tx_one_char

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第37张图片

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第38张图片

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第39张图片

四、对比

类型 软件 对比特点
mcu/mpu 库+freertos+其他 毛坯房+傲慢
soc esp-idf 精装修+接地气

嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析_第40张图片

你可能感兴趣的:(嵌入式科普,esp32,esp-idf,iot,newlib,freertos,stm32,heap)