FreeRTOS(进阶)挂起 恢复相关API挂起恢复外部中断恢复中断列表与列表项初始化列表初始化列表项插入列表项删除列表项尾部插入列表项任务查询与信息统计得到任务优先级得到任务状态获取当前任务的任务句柄堆栈历史剩余最小值任务状态创建表格显示详细信息 挂起 恢复相关API 1、函数 vTaskSuspend() 此函数用于将某个任务设置为挂起态,进入挂起态的任务永远都不会进入运行态。退出挂起态的唯            
                
         
            
            
            
            FreeRTOS学习总结一、移植 上图是从FreeRTOS官网下载的源文件目录,移植所需要的文件都在Source文件夹下如上图,在工程文件夹下创建FreeRTOS文件夹,子文件夹和相应文件,均从Source文件夹下直接copy即可。FreeRTOS的内核文件,新手直接无脑copy。(对于熟手如果你的工程不需要用到队列,或者事件组等,可以不需要相关文件)硬件相关,在Source\portable[I            
                
         
            
            
            
            以前在mcu编程的时候没有太注意堆栈的情况,只知道需要将堆栈设置的大一点。现在逐步使用freertos,在freertos中也有关于堆栈的设置,freertos的堆栈和启动文件中的堆栈关系是什么?为了以后使用的无误,本次一次性把这些弄清楚。1、定义堆栈是一个特定的存储区或者寄存器。一般在内存总开辟一块区域作为堆栈,叫做软件堆栈;用寄存器构成的堆栈,叫硬件堆栈。大多数情况下,我们使用的都是软件堆栈。            
                
         
            
            
            
            Catalog使用CubeMX配置STM32开发工程环境一、CubeMX软件的安装二、MDK-ARM Keil环境的安装三、Keil环境的配置四、CubeMX环境的配置五、使用CubeMX构建STM32工程六、程序细节与烧录Reference 使用CubeMX配置STM32开发工程环境一、CubeMX软件的安装首先前往官网,点击获取软件; 选择软件的版本,这里选择的是window环境下的6.60            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-11 19:15:08
                            
                                574阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、FreeBSD直接可以用命令彪悍的生级的,比如将FreeBSD8.0升级成FreeBSD8.1。直接在FreeBSD的命令行模式下,输入以下命令sudo freebsd-update -r 8.1-RELEASE upgrade中间按提示输入就行了Does this look reasonable (y/n)?    全 y大部分都不需要修改,只是文件的版本时间改变会有一些需要合并的文件,程序            
                
         
            
            
            
            花了四天时间才把IAP功能做好。其中也遇到许多的坑,这次把这次IAP功能实现过程遇到的坑把它分享出来。一开始做iap的时候也是先从网上看别人的实现方法,其中就下载了一套别人的程序,不过主控芯片是STM32F103zv,就是不是我想要的那个型号,还有他的逻辑跟我的有点不一样。所以才走了那么多天的坑。 1、先移植别人的flash烧写代码跟运行APP应用程序的代码,基本各个版本大同小异。2、然后实现自己            
                
         
            
            
            
            我一直认为能不用os,就千万不要去用os。拿freeRTOS说事是刚好使用了freeRTOS,其实对于抢占式的rtos,都有可能遇到这样的问题,分析解决起来不容易。用rtos的纠结之处,你只是想用rtos或者被迫使用rtos,你压根不想彻底去了解它,去读代码,因此就会有一些纠结。首先,我想最大的困扰是,rtos调试手段缺乏,定位问题很难。在单任务里面,一般用 log可以解决问题,实在苦恼时候,可以            
                
         
            
            
            
            在应用freeRtos的时候经常会有中断影响程序运行,所以中断设置需要谨慎 1.0到4级的中断,freertos不能管理关闭或开启,5到15可以调用以FromISR结尾的API函数void interrupt_task(void *pvParameters)
{
    u8 ui = 0;
    while(1)
    {
        ui++;
        if(ui == 20)            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-18 18:46:05
                            
                                351阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            (一)任务状态FreeRTOS 中的任务永远处于下面几个状态中的某一个:● 运行态当一个任务正在运行时,那么就说这个任务处于运行态,处于运行态的任务就是当前正在使用处理器的任务。如果使用的是单核处理器的话那么不管在任何时刻永远都只有一个任务处于运行态。●  就绪态处于就绪态的任务是那些已经准备就绪(这些任务没有被阻塞或者挂起),可以运行的任务,但是处于就绪态的任务还没有运行,因为有一个同优先级或者            
                
         
            
            
            
            FreeRTOS延时简易分析架构:Cortex-M3版本:FreeRTOS V9.0.0前言:在很多情况,需要使用延时来达到一些效果,那么FreeRTOS的延时是怎么实现的1.相对延时vTaskDelay只有一个参数就是等待时间void vTaskDelay( const TickType_t xTicksToDelay )
	{
	BaseType_t xAlreadyYielded = pdF            
                
         
            
            
            
             1. What Is Data Pump Export? 简单来说,Data Pump Export是Oracle提供的从数据库导出(unload)数据及元数据(metadata)到一系列的文件中(dump file set)的这么一种工具(utility). 这些生成的dump file set只可以被Data Pump Import导入到目标数据库中, 目标数据库既可以是            
                
         
            
            
            
            1. 引言FreeRTOS的任务调度是个大头,也是一个操作系统的核心。 其实个人理解,FreeRTOS调度规则很好理解,原则就是“优先级高抢占”,因为FreeRTOS是一个抢占式实时内核,一定会保证就绪态的高优先级任务可以先运行。 所有的调度都是为了实现这个目的来做的。 一些个人思考可以看4.1节。2. 原理分析2.1 任务切换是怎么进行的任务切换是一个明确的操作,就是通过pendSV中断,把当前            
                
         
            
            
            
            此博客主要用于记录学习过程中的心得以及防止遗忘,下面的一些图片来源于网上,如有侵犯请联系。STM32芯片的升级方式众多,这里简单介绍下,主要有ICP((In-Circuit Programming – ICP)、ISP(In-System Programming)、IAP((In-Application Programming – IAP),定义和区别如下:ISP(In-System Progra            
                
         
            
            
            
            概述:      之前写了关于FreeRTOS的部分内容,为了方便阅读,现在给汇总到一起了。全部学习完后,恭喜你对FreeRTOS有了更深的认知。 第一章  FreeRTOS移植到STM32 第二章 FreeRTOS创建任务 第三章  FreeRTOS任务管理第四章  FreeRTOS消息队列第五章             
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-25 11:00:12
                            
                                31阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            GPIOB,GPIO_PIN_5);            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-05-29 01:48:40
                            
                                161阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            目录1. Cortex-M 中断1.1 中断简介1.2 中断管理简介1.3 优先级分组定义1.4 优先级设置1.5 用于中断屏蔽的特殊寄存器1.5.1 PRIMASK 和 FAULTMASK 寄存器1.5.2 BASEPRI 寄存器2. FreeRTOS 中断配置宏2.1 configPRIO_BITS2.2 configLIBRARY_LOWEST_INTERRUPT_PRIORITY2.3 c            
                
         
            
            
            
            文章目录移植过程移植FreeRTOS源码拷贝FreeRTOSConfig.h注意事项移植LWIP源码拷贝与编译初始化 移植过程freeRTOS V10.4.5 下载 https://github.com/FreeRTOS/FreeRTOSLwip V2.1.3 http://download.savannah.nongnu.org/releases/lwip/GD32F407VET6keil5移            
                
         
            
            
            
            FreeRTOS使用心得(一)1、创建任务 整套FreeRTOS系统其实很简单,只需要创建不同的任务,然后启动就可以了。 所以在使用FreeRTOS前,首先得先了解任务的创建方式,具体函数如下: xTaskCreate(xTask_Start,“Start_Task”,1024,NULL,3,&xHandle_Start); 参数说明:xTask_Start : 任务入口函数的指针,通过该            
                
         
            
            
            
            很多朋友问我这个问题,也抱怨GNU工具链不如集成开发环境好用。如IAR Workbench、Keil、RVDS等。并不理解,为什么RTEMS死磕GNU的工具链。这里其实有很多原因,有一些是我猜测的,有一些是既定的事实。下面就聊聊这些原因:1. 首先,RTEMS 从上个世纪80年代末开始开发。那时候,还没有这么牛叉的集成开发环境;GNU的工具链应该是当时不二的选择。2. RTEMS作为一个开源免费的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-05 11:23:50
                            
                                41阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言:因为在网上没有找到TI-RTOS的学习视频,虽然很多地方与free-RTOS相通,但是本人仍不想为了学习TI-RTOS先去学习freeRTOS,所幸关于TI-RTOS,ti公司给了许多相关的文档资料,虽然本人英文不太好,但没有办法,只能抱着试一试的心态,努力啃一啃,故在此做学习笔记。TI-RTOS驱动程序有一个用于静态配置和所有驱动程序实现的一组api的公共框架。我们应该首先理解通用框架,在            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-25 17:39:13
                            
                                94阅读
                            
                                                                             
                 
                
                                
                    