调用函数pxPortInitialiseStack()初始化任务堆栈,并将最新的栈顶指针赋值给任务TCB的pxTopOfStack字段。      调用函数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文件夹下注意:延时函数使用了FreeRTOS的vTaskDelay任务延时函数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 纳米工艺,拥有最佳的功耗性能、射频性能、稳定性、            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-24 15:19:23
                            
                                478阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            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            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-27 14:09:22
                            
                                136阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            在EPS32中已经将EEPROM弃用。对于ESP32上的新应用程序,建议使用NVS为首选项。
    EEPROM前言弃用。对于ESP32上的新应用程序,建议使用NVS为首选项。提供EEPROM是为了向后兼容现有的Arduino应用程序。EEPROM是使用NVS中的单个blob实现的,因此它是容器(Flash)中的容器(NVS)(弟中弟)。因此,它不会是一种高性            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-22 12:26:58
                            
                                423阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            最近想用 ESP32-C3 做一个串口解析的应用程序。类似 ESP-AT,但实现的功能比 ESP-AT 少的多。使用 ESP-IDF 的版本为 release/v4.4,本来是想基于 uart_events example 自己来实现串口解析的逻辑,但突然发现 FREERTOS 竟然提供了一个组件 FreeRTOS-Plus-CLI,可以实现串口解析的逻辑,并且和 release/v4.4 完美衔            
                
         
            
            
            
                这两天在调试即将完成的Hands Free Profile的AG部分代码,在调试与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            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-03 11:38:00
                            
                                135阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、目的        记得参加电赛那会单片机编程还是裸机编程(也就只会这个),后来接触到ucos,工作以后主要是linux开发,再后来在智能语音设备项目中涉及到的嵌入式MCU开发工作都是基于RTOS的。        目前市场上比较火的RTOS当属FreeRTOS,乐鑫的ESP32芯片的SDK就是在FreeRTOS的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-06 12:11:01
                            
                                1153阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            目录Bootloader分区表默认分区表自定义分区表出厂程序恢复出厂设置自定义Bootloader应用级程序追踪FreeRTOS简介内核组成源码结构任务管理(线程管理、线程调度)优先级抢占式调度算法时间管理(时钟节拍)ESP32的硬件定时器定时器初始化定时器控制ESP32中的FreeRTOS时钟内存管理(内存堆)通信管理(消息队列、事件集、信号量、互斥量)消息队列事件集ESP32上的FreeRTO            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            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到            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-28 08:16:16
                            
                                1350阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            ESP32开发之路(3)— 点亮第一个LED灯及按键输入本次开发是在Ubuntu下的,使用的模块是GOOUUU-ESP32,使用VSCode编辑项目。基于工程:ESP32开发之路(2)— HelloWorld工程分析和优化一、点亮第一个LED灯复制hello_world文件并命名为led_key,修改hello_world_main.c为app_main.c; 然后将工作区保存在led_key文件            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-19 09:27:29
                            
                                247阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Arduino ESP32 flash数据存储结构?分区表官方文档:《分区表》✨想了解ESP32 flash数据存储结构需要从分区表开始了解。一点类似一台电脑上挂载的硬盘一样。分区表保存 SPI flash 各区信息,包括引导程序、各种应用程序二进制文件、数据及文件系统等/*在Arduino环境中使用的flash布局
|----|-------|--------|-------|------            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-18 10:53:43
                            
                                159阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            将部分代码作为应用程序中的任务独立执行可以简化大型复杂问题的设计。 当有多个 CPU 时,任务支持还允许选定的功能并行运行。 本文将调查 Arduino 框架对 ESP32 系列设备的 FreeRTOS 任务支持。 除了少数例外,本材料适用于您可能遇到的其他使用 FreeRTOS 的硬件平台。抢占式调度在单核 MCU(微控制器单元)中,任何时刻只能执行一项任务。 正在执行的任务会一直运行,直到硬件            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-26 13:51:12
                            
                                230阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            分区表 文章目录分区表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.            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-26 06:24:50
                            
                                1388阅读
                            
                                                                             
                 
                
                                
                    