随笔分类 - FreeRTOS
摘要:FreeRTOS移植好是没有命令行交互的,刚好系统提供了相关的代码,那么就方便多了。 示例基于FreeRTOS-Kernel-9.0.0.zip,在此之前需要把系统移植完毕。 移植FreeRTOS-Plus-CLI需要干好几件事 串口初始化 串口终端服务函数 mian添加初始化 添加自己定制的命令
阅读全文
摘要:移植RTOS总共需要完成三件事: 提供系统心跳 任务切换 启动首个任务 对应到ARM架构,就是如下 在SysTickHandler中断里面累加计时 在PendSVHandler中断里面切换任务 在SVCHandler中断里面启动首个任务 至于为什么是这个三个中断,请自行百度,有更详细的说明。 Fre
阅读全文
摘要:二值信号量 SemaphoreHandle_t sem_handle; sem_handle = xSemaphoreCreateBinary(); static void send_Task(void* pvParameters) { while(1) { xSemaphoreGive(sem_h
阅读全文
摘要:EventGroupHandle_t ev_handle; ev_handle = xEventGroupCreate(); static void send_Task(void* pvParameters) { while(1) { xEventGroupSetBits(ev_handle, 1)
阅读全文
摘要:仅作记录 QueueHandle_t q_handle; q_handle = xQueueCreate(5, 1); static void send_Task(void* pvParameters) { uint8_t datat = 8; while(1) { BaseType_t xRetu
阅读全文
摘要:这里只是总结,大部分内容来自野火FreeRTOS教程。 互斥量正常可用于资源保护,这里很清晰,不多讲。 需要注意的是互斥量不能在中断服务函数中使用,因为其特有的优先级继承机制只在任务起作用,在中断的上下文环境毫无意义。 而比较重要的是优先级继承机制。 互斥量与二值信号量最大的不同是:互斥量具有优先级
阅读全文
摘要:FreeRTOS 从 V8.2.0 版本开始提供任务通知这个功能,每个任务都有一个 32 位的通知 值,在大多数情况下,任务通知可以替代二值信号量、计数信号量、事件组,也可以替代 长度为 1 的队列(可以保存一个 32位整数或指针值)。 简单版和复杂版使用的函数不一样,简单版可以替代一个二值信号量,
阅读全文

浙公网安备 33010602011771号