标签:freertos

嵌入式

Freertos printf可重入的问题

调试程序时候常用printf来作为调试日志输出,方便定位问题所在位置。但最近出现一个现象程序运行过程中会出现莫名的异常死机。 但是在死之前有个征兆,观看打印的日志,有两条信息穿插打印的现象。所以才想起来去考虑是不是printf引起的。 在整个项目中我运行的有8个任务,而在每一个任务里面几乎都会有使用printf进行调试信息打印。所以从开始就埋下……继续阅读 »

电子创客营 2周前 (11-07) 77浏览 0评论 1个赞

STM32

stm32L0 +freertos tickless低功耗

嵌入式实时操作系统运行中都会有一个系统时钟节拍,类似于人的心脏来驱动整个系统的运行。运行在arm cortex-m内核的单片机上的系统时钟用的最多的就是systick(属于arm内核带的)。使用stm32cubemx可以直接生成移植好的freertos工程,默认也会使用systick为系统时钟,时钟周期为1ms。 基于MCU的低功耗核心思想也很简单,……继续阅读 »

电子创客营 2个月前 (09-26) 433浏览 1评论 5个赞

NORDIC

52832带softdevice工程移植freertos

基于BLE应用加上freertos的应用,官方只提供了一个例子,针对自己的应用使用freertos具体需要添加哪些文件执行哪些步骤没有很明确的参考说明,so特此整理一份。 本篇硬件基于nrf52832-DK开发板。SDK基于V15.3版本。 添加freertos需要文件 在MDK工程中创建文件夹freertos,添加freertos的c文……继续阅读 »

电子创客营 5个月前 (07-09) 1145浏览 4个赞

嵌入式

使用freertos如何确定分配堆栈空间大小

运行freertos系统的大部分都是资源有限的MCU,所以对于ram我们都要考虑尽量的节省,避免资源浪费,从而也可以针对项目选择性价比更好的mcu。 首先要配置freertos的堆(heap)空间,创建任务我们还需要为每个任务分配栈(stack)空间,那么针对freertos的堆栈空间到底该如何确定? freertos从V9版本以后同时支持静态……继续阅读 »

电子创客营 5个月前 (07-01) 2444浏览 2个赞

嵌入式

一个互斥量引发的宕机

嵌入式实时操作系统一方面让mcu更高效的利用起来,另一方面让开发者可以把不同的软件功能模块进行解耦,更快捷清晰的开发整个项目。 但是用的好就是得力助手,用不好就是杀手。因为操作系统将会面临裸机下面更多的资源重入问题,以及内存分配,优先级分配,IPC通信等等需要谨慎对待的小细节…… 那么就从卡了一天的一次调试宕机事件来说道说道,一个互斥量……继续阅读 »

电子创客营 5个月前 (06-25) 498浏览 2个赞

STM32

stm32cubemx 配置freertos中断优先级

stm32cubeMx 直接集成freertos,可以不需要自己手动移植只需要把freertos的选项勾选就可以。 但是生成的代码工程中,freertos暴露给用户的API接口并不是原生的freertos接口,是经过cmsis-rtos进行一次包装之后的。所以如果使用信号量、消息邮箱、定时器等等接口的时候要查询cmsis-rtos文档,并且c……继续阅读 »

电子创客营 6个月前 (06-06) 1201浏览 4个赞