- 博客(12)
- 收藏
- 关注
原创 Freertos应用与源码分析:消息队列 - 内核源码分析
本文详细介绍了FreeRTOS中队列的内部工作原理及其源码实现。队列是FreeRTOS中用于任务间通信的重要机制,支持发送和接收操作。文章首先概述了队列的基本概念,接着深入探讨了队列的内部原理,包括发送队列和接收队列的工作流程。通过图示和代码分析,展示了队列在任务阻塞、唤醒和数据传输中的行为。随后,文章详细解析了队列的源码实现,包括队列头结构体、创建队列、发送队列和接收队列的函数实现。通过这些源码分析,读者可以更好地理解FreeRTOS队列的工作机制及其在任务调度中的应用。
2025-05-21 16:07:06
677
原创 Freertos应用与源码分析:消息队列 - 高级示例
本文详细介绍了队列在数据存储和任务间通信中的应用。队列是一种先进先出(FIFO)的数据结构,具有独立的权限,允许多个任务同时读写。在队列操作中,任务可以设置阻塞超时时间,以等待队列数据或空间的有效性。文章还介绍了队列的创建、发送和接收函数,并通过示例代码展示了如何在实际应用中使用队列进行任务间的数据传递。此外,文章还探讨了队列在发送指针和柔性数组等高级应用中的使用,特别是在处理不定长数据包时的优势。通过这些内容,读者可以全面了解队列的基本概念、操作方法和实际应用场景。
2025-05-21 15:35:25
984
原创 【超级详细!】Keil生成hex/bin/map/sct/dis文件详解步骤
作用十六进制编码的可执行文件,包含地址、校验和等信息。这个文件比bin文件大,可以直接通过文本编辑器查看。烧录程序时候可以用hex文件或者bin文件,bin文件比较精小,OTA升级等操作使用bin更合适。
2025-04-15 12:24:35
1382
原创 ARM Cortex-M3/M4内核架构:OS支持的特性
Cortex-M处理器在设计之初就考虑对OS的支持,处理器架构具有多个特性,如影子栈指针、SysTick定时器、SVC异常、PendSV异常、排他访问等。影子栈指针:在OS中,MSP(主栈)用于内核中断处理,而PSP(线程栈)应用于任务中。SysTick定时器:该定时器用于任务管理和上下文切换,处理器也可以在不同的时间片内处理不同的任务。SVC和PendSV异常:这两个在OS中起到非常关键的作用,用于上下文切换的实现等。排他访问:排他加载和存储指令用于OS中的信号量和互斥体的操作。
2025-04-07 10:28:58
967
原创 【超级详细!!】Keil编译下的.map文件详解与实战
开发过程中难免会遇到很多奇怪的bug,比如一个变量被赋值后,通过日志输出还是原来的数值,貌似没有改变,这很可能是被优化掉了。这个时候我们可以通过.map文件查看是否被优化掉,可以通过volatile来防止被优化。本章节将介绍如果生成.map文件,以及.map文件详解,最后会通过案例来实战.map的应用。本文介绍了.map的生成、使用与实战,通过map文件,能够更快的定位错误。
2025-04-07 09:00:15
2070
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人