嵌入式科普(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 乐鑫物联网开发框架物联网开发框架)

    图片

    图片

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

图片

图片

图片

图片

图片

ESP32-S2

图片

图片

图片

图片

图片

ESP32-C3

图片

图片

图片

图片

图片

ESP32-S3

图片

图片

图片

图片

芯片发布公告
ESP32-C2

图片

图片

图片

芯片发布公告
ESP32-C6

图片

图片

芯片发布公告
ESP32-H2

图片

图片

芯片发布公告
ESP32-P4

图片

芯片发布公告

图片

图片

图片

3.1 ESP-IDF FreeRTOS

  • FreeRTOS-Kernel-SMP

  • FreeRTOS-Kernel
     

    图片

    图片

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 内存管理简析

图片

图片

3.3 ESP-IDF newlib

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

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

图片

图片

图片

四、对比

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

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/280408.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

图文证明 牛顿-莱布尼茨公式

牛顿-莱布尼茨公式 牛顿-莱布尼茨公式是微积分中的基本定理之一,它描述了函数的导数和不定积分之间的关系。 该公式通常用来计算定积分。设函数f(x)在区间[a, b]上连续,且F(x)是f(x)在该区间上的一个原函数 即F’(x) f(x)。则牛顿-莱布尼茨公式表示为&…

一篇五分生信临床模型预测文章代码复现——Figure 10.机制及肿瘤免疫浸润(九)——ssGSEA——倒数第三节

之前讲过临床模型预测的专栏,但那只是基础版本,下面我们以自噬相关基因为例子,模仿一篇五分文章,将图和代码复现出来,学会本专栏课程,可以具备发一篇五分左右文章的水平: 本专栏目录如下: Figure 1:差异表达基因及预后基因筛选(图片仅供参考) Figure 2. 生存分析,…

143.【Nginx-02】

Nginx-02 (五)、Nginx负载均衡1.负载均衡概述2.负载均衡的原理及处理流程(1).负载均衡的作用 3.负载均衡常用的处理方式(1).用户手动选择(2).DNS轮询方式(3).四/七层负载均衡(4).Nginx七层负载均衡指令 ⭐(5).Nginx七层负载均衡的实现流程 ⭐ 4.负载均衡状态(1).down (停用)(2)…

Oracle 19c OCP 1z0 082考场真题解析第17题

考试科目:1Z0-082 考试题量:90 通过分数:60% 考试时间:150min 本文为云贝教育郭一军guoyJoe原创,请尊重知识产权,转发请注明出处,不接受任何抄袭、演绎和未经注明出处的转载。 17. Which three …

将“渴望“乐谱写入AT24C02并读出播放

#include <reg51.h> // 包含51单片机寄存器定义的头文件 #include <intrins.h> //包含_nop_()函数定义的头文件 #define OP_READ 0xa1 // 器件地址以及读取操作,0xa1即为1010 0001B #define OP_WRITE 0xa0 // 器件地址以及写…

手拉手Springboot获取yml配置文件信息

环境介绍 技术栈 springboot3 软件 版本 mysql 8 IDEA IntelliJ IDEA 2022.2.1 JDK 17 Spring Boot 3.1.7 配置文件说明&#xff1a;启动配置文件优先级&#xff1a;properties高于yml 配置文件application.yml yml是 JSON 的超集&#xff0c;简洁而强大&#xf…

【网络安全 | XCTF】simple_transfer

考察kali基本工具的使用 方法一 打开文件如图&#xff1a; 存在较多协议&#xff0c;将协议分级&#xff1a; 可以看到DLEP协议占比最大&#xff1a; 将其作为过滤器应用&#xff1a; 搜索DLEP&#xff1a; 并没有有利信息&#xff0c;但观察到多数数据包损坏&#xff1a; 执行…

OCP NVME SSD规范解读-4.NVMe IO命令-2

NVMe-IO-3&#xff1a; 由于设备具有掉电保护功能&#xff08;如Power Loss Protection&#xff0c;PLP&#xff09;&#xff0c;因此在以下情况下&#xff0c;性能不应降低&#xff1a; FUA&#xff08;Force Unit Access&#xff09;&#xff1a;是计算机存储设备中的一种命…

【Proteus仿真】【Arduino单片机】汽车尾灯控制设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器&#xff0c;使用按键、LED模块等。 主要功能&#xff1a; 系统运行后&#xff0c;系统运行后&#xff0c;系统开始运行&#xff0c;K1键控制左转向灯&#x…

Java 运算符

&&运算比||运算的优先级高 C与Java

跌倒识别摄像头

跌倒识别摄像头是一种利用人工智能技术识别和监测摔倒事件的系统&#xff0c;它可以在发生跌倒时及时发出警报&#xff0c;提高老年人和需要监护的人群的安全。该摄像头结合了图像识别和运动检测技术&#xff0c;能够准确地识别跌倒事件&#xff0c;大大减少了因跌倒而导致的风…

html文件Js写输入框和弹框调接口jQuery

业务场景&#xff1a;需要使用写一个html文件&#xff0c;实现输入数字&#xff0c;保存调接口。 1、使用 JS原生写法&#xff0c; fetchAPI调接口&#xff0c;使用 alert 方法弹框会阻塞线程&#xff0c;所以写了一个弹框。 <!DOCTYPE html> <html lang"en"…

电表通讯协议DLT645-2007编程

1、协议 电表有个电力行业推荐标准《DLT645-2007多功能电能表通信协议》&#xff0c;电表都支持&#xff0c;通过该协议读取数据&#xff0c;不同的电表不需要考虑编码格式、数据地址、高低位转换等复杂情况&#xff0c;统一采集。 不方便的地方在于这个协议定义得有点小复杂…

Unity坦克大战开发全流程——游戏场景——主玩家——可击毁箱子

游戏场景——主玩家——可击毁箱子 添加特效 CubeObj的代码如下 using System.Collections; using System.Collections.Generic; using UnityEngine;public class CubeObj : MonoBehaviour {//关联的奖励物品public GameObject[] rewardObjects;//关联的特效public GameObject …

【分布式配置中心】聊聊Apollo的安装与具体配置变更的原理

【管理设计篇】聊聊分布式配置中心 之前就写过一篇文章&#xff0c;介绍配置中心&#xff0c;但是也只是简单描述了下配置中心的设计点。本篇从apollo的安装到部署架构到核心原理进一步解读&#xff0c;大概看了下apollo的原理&#xff0c;感觉没有必要深究&#xff0c;所以就…

RHCE9学习指南 第12章 ssh远程登录系统和远程拷贝

很多时候服务器并没有显示器&#xff0c;我们也不可能每次都通过控制台去管理服务器&#xff0c;这时就需要远程登录。远程登录到服务器可以通过Telnet或ssh的方式。但是用Telnet登录&#xff0c;整个过程都是以明文的方式传输的&#xff0c;不安全。所以&#xff0c;建议使用s…

Cisco模拟器-交换机端口的隔离

设计要求将某台交换机的端口划分在不同的VLAN。以实现连接在相同VLAN端口上的计算机可以通信&#xff0c;而连接在不同VLAN端口上的计算机无法通信的目的。 通过设计&#xff0c;一方面可以加强计算机网络的安全&#xff0c;另一方面通过隔绝不同VLAN间的广播包也可以提高网络…

Springboot整合MybatisPlus的基本CRUD

目录 前言1. 搭建项目2. 基本的CRUD 前言 发现项目框架是MybatisPlus的&#xff0c;由于个人使用该框架的CRUD比较少 对此学习过程中&#xff0c;从零到有开始搭建学习还是比较重要的&#xff0c;感悟会比较多 关于各个类的使用&#xff0c;可看如下文章&#xff1a; 剖析Ja…

DES加密算法优缺点大揭秘:为何它逐渐被取代?

一、引言 DES&#xff08;Data Encryption Standard&#xff09;加密算法作为一种历史悠久的对称加密算法&#xff0c;自1972年由美国国家标准局&#xff08;NBS&#xff09;发布以来&#xff0c;广泛应用于各种数据安全场景。本文将从算法原理、优缺点及替代方案等方面&#…

C. Load Balancing 一个序列同时加一个数和减一个数,直到最大和最小之间相差最大为1(结论可记住)

题目&#xff1a; https://atcoder.jp/contests/abc313/tasks/abc313_c 思想&#xff1a;1.给定一个固定的B&#xff0c;求使A等于B所需的最小运算次数 2.在所有最大值和最小值最多相差1的B中&#xff0c;找出一个所需的运算次数最少的&#xff0c;即1 做法&#xff1a;构造…