调用函数pxPortInitialiseStack()初始化任务堆栈,并将最新栈顶指针赋值给任务TCBpxTopOfStack字段。      调用函数pxPortInitialiseStack()后,相当于执行了一次系统节拍时钟中断:将一些重要寄存器入栈。虽然任务还没开始执行,也并没有中断发
转载 2024-07-06 21:20:32
248阅读
说明:我参考正点原子战舰开发板例程和实验进行深入思考学习,读者若觉得有哪里描述不全可以去这里下载资料查阅:stm32f103战舰开发板概念这里所说堆栈,是针对单片机所说“堆”(HEAP)与“栈”(STACK),它们是在内存中开辟一片拥有特殊用途区域;这里所说内存,是指STM32片内RAM,对于大容量STM32F10xxx来说RAM大小为64KB。内存布局时,MDK-ARM编译器
STM32-Arduino编程 FreeRTOS移植环境说明使用Arduino开发STM32原因直接开始操作 环境说明开发软件:vscode+PlatformIO 操作系统:win10 开发板:STM32F103C8T6 UDP通信模块:W5500模块使用Arduino开发STM32原因STM32开发比较常用软件有Keil和STM32Cube,但是用过同学都应该发现这两款软件对于新手不怎么友
一、硬件连接功能口引脚SCLPB.6SDAPB.5二、移植文件链接:https://pan.baidu.com/s/1wxbQTMlnX2pavrbW2RYg4g 提取码:dxex 将 board_i2c.c 和 board_i2c.h 两个文件加入工程User文件夹下注意:延时函数使用了FreeRTOSvTaskDelay任务延时函数2.1 board_i2c.c/*************
转载 2024-07-08 12:34:50
131阅读
访问以下链接可下载有关 ESP32 文档资料https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_cn.pdfESP32ESP23硬件资源ESP32 是集成 2.4 GHz Wi-Fi 和蓝牙双模单芯片方案,采用台积电(TSMC)超低功耗 40 纳米工艺,拥有最佳功耗性能、射频性能、稳定性、
1,启用 外部RAM勾选 Support for external, SPI-connected RAM 如下图2,配置说明1,选择 外部RAM 类型(见下图) 这个要根据自己板子选择, ESP32支持外部RAM有限. 不清楚 选择 自动检测2, 设置 外部RAM 时钟速度(见下图) 勾选40M即可官方解释:选择SPI RAM芯片速度。如果SPI RAM被启用,我们只支持现在支持三种
转载 2024-02-21 10:47:34
2967阅读
函数调用栈是指程序运行时内存一段连续区域,用来保存函数运行时状态信息,包括函数参数与局部变量等。称之为“栈”是因为发生函数调用时,调用函数(caller)状态被保存在栈内,被调用函数(callee)状态被压入调用栈栈顶;在函数调用结束时,栈顶函数(callee)状态被弹出,栈顶恢复到调用函数(caller)状态。函数调用栈在内存中从高地址向低地址生长,所以栈顶对应内存地址在压栈时变
ESP32-S2-HMI-DevKit-1为GUI应用场景设计,可实现智能家居交互面板、闹钟、音箱等人机交互界面的智能控制。配备一块4.3寸TFT LCD电容触摸显示屏,具有丰富板载传感器和拓展接口,方便用户轻松定制开发。ESP32-S2-HMI-DevKit-1搭载ESP32-S2-WROVER模组,使用I2C接口进行通信。开发板板载资源丰富,支持多种传感器,以及音频播放、麦克风等功能。&n
在EPS32中已经将EEPROM弃用。对于ESP32新应用程序,建议使用NVS为首选项。 EEPROM前言弃用。对于ESP32新应用程序,建议使用NVS为首选项。提供EEPROM是为了向后兼容现有的Arduino应用程序。EEPROM是使用NVS中单个blob实现,因此它是容器(Flash)中容器(NVS)(弟中弟)。因此,它不会是一种高性
最近想用 ESP32-C3 做一个串口解析应用程序。类似 ESP-AT,但实现功能比 ESP-AT 少多。使用 ESP-IDF 版本为 release/v4.4,本来是想基于 uart_events example 自己来实现串口解析逻辑,但突然发现 FREERTOS 竟然提供了一个组件 FreeRTOS-Plus-CLI,可以实现串口解析逻辑,并且和 release/v4.4 完美衔
    这两天在调试即将完成Hands Free ProfileAG部分代码,在调试与HF Client设备收发AT指令部分时遇到了AT+CNUM指令HF Client端 “解析AT指令错误”提示。由于HFP中,AT指令参数都是存放在字符串中进行收发,字符串解析就至关重要,而在解掉bug同时,我也在不断地学习。本文便介绍一个在HF Client端利用sscanf()
转载 2024-05-15 12:43:19
100阅读
背景:最近项目要在STM32L152上移植FreeRTOS轻量级系统,本文将从FreeRTOS入门知识讲起,记录FreeRTOS一些基本知识点和学习心得。硬件平台:STM32L152 ,备注:PA12连接LED1,PA11连接LED2;软件平台:keil v5和  cubeMx。内容:1.FreeRTOS简介FreeRTOS是一种轻量级实时操作系统。RTOS:Real Time Op
一、目的        记得参加电赛那会单片机编程还是裸机编程(也就只会这个),后来接触到ucos,工作以后主要是linux开发,再后来在智能语音设备项目中涉及到嵌入式MCU开发工作都是基于RTOS。        目前市场上比较火RTOS当属FreeRTOS,乐鑫ESP32芯片SDK就是在FreeRTOS
转载 2024-07-06 12:11:01
1153阅读
目录Bootloader分区表默认分区表自定义分区表出厂程序恢复出厂设置自定义Bootloader应用级程序追踪FreeRTOS简介内核组成源码结构任务管理(线程管理、线程调度)优先级抢占式调度算法时间管理(时钟节拍)ESP32硬件定时器定时器初始化定时器控制ESP32FreeRTOS时钟内存管理(内存堆)通信管理(消息队列、事件集、信号量、互斥量)消息队列事件集ESP32FreeRTO
转载 2024-05-02 23:55:18
375阅读
一、存储模式两种存储模式:大端存储:低地址存高字节,如将0x1234存成[0x12,0x34]。小端存储:低地址存低字节,如将0x1234存成[0x34,0x12]。一般来说,我们看到一些字符串形式数字都是大端存储形式:UUID:4A98-xxxx-1CC4-E7C1-C757-F1267DD021E8,其中0x4A是高位设备地址:aa:bb:bb:dd:ee:ff,其中0xaa是高位但是以上
转载 2024-06-10 01:45:06
219阅读
应用程序内存布局ESP32芯片具有灵活内存映射功能。本节介绍ESP-IDF在默认情况下如何使用这些功能。ESP-IDF中应用程序代码可以放置在以下内存区域之一中。 IRAM(指令RAM)ESP-IDF 为指令RAM 分配内部SRAM0区域一部分(在技术参考手册中定义)。除了用于PRO和APP CPU缓存第一个64 kB块之外,其余内存范围(即从0x40080000到
ESP32开发之路(3)— 点亮第一个LED灯及按键输入本次开发是在Ubuntu下,使用模块是GOOUUU-ESP32,使用VSCode编辑项目。基于工程:ESP32开发之路(2)— HelloWorld工程分析和优化一、点亮第一个LED灯复制hello_world文件并命名为led_key,修改hello_world_main.c为app_main.c; 然后将工作区保存在led_key文件
Arduino ESP32 flash数据存储结构?分区表官方文档:《分区表》✨想了解ESP32 flash数据存储结构需要从分区表开始了解。一点类似一台电脑上挂载硬盘一样。分区表保存 SPI flash 各区信息,包括引导程序、各种应用程序二进制文件、数据及文件系统等/*在Arduino环境中使用flash布局 |----|-------|--------|-------|------
将部分代码作为应用程序中任务独立执行可以简化大型复杂问题设计。 当有多个 CPU 时,任务支持还允许选定功能并行运行。 本文将调查 Arduino 框架对 ESP32 系列设备 FreeRTOS 任务支持。 除了少数例外,本材料适用于您可能遇到其他使用 FreeRTOS 硬件平台。抢占式调度在单核 MCU(微控制器单元)中,任何时刻只能执行一项任务。 正在执行任务会一直运行,直到硬件
分区表 文章目录分区表1. esp32 flash结构1.1 flash 物理组成1.2 flash 内部结构1.3 esp32启动过程2. 分区表2.1 分区表组成2.2 分区表定义2.2.1 Name字段2.2.2 Type字段2.2.3 SubType字段2.2.4 offset和size2.2.5 flags2.3 系统分区表查看2.4 分区表更换2.4.1 使用内置分区表2.4.
  • 1
  • 2
  • 3
  • 4
  • 5