自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 【超级详细!】手把手教你STM32移植RT-Thread Nano操作系统!

本文详细介绍了将RT-Thread Nano 4.1.1操作系统移植到STM32F407ZGT6开发板的过程。主要内容包括:1)获取源码并裁剪bsp、libcpu等核心文件;2)通过Keil MDK环境添加必要文件并解决编译错误;3)实现系统心跳和串口打印功能;4)增加Finsh组件实现命令行交互;5)提供完整的rtconfig.h配置模板。文章详细记录了移植过程中的具体操作和常见问题解决方法,最终成功实现RT-Thread Nano在标准库环境下的移植验证,为后续RT-Thread应用开发奠定了基础。

2025-11-18 08:30:22 1821 6

原创 【超级详细!】手把手教你STM32移植FreeRTOS系统!

本文详细介绍了将FreeRTOS最新版(202406.01LTS)移植到STM32F407ZGT6开发板的完整过程。主要内容包括:1)源码获取途径;2)工程文件精简方法,保留必要内核文件;3)Keil环境配置步骤,包含9个关键.c文件和头文件路径设置;4)FreeRTOSConfig.h配置详解及修改建议;5)中断服务函数处理注意事项;6)应用测试示例,展示队列通信功能实现。文中提供了完整的配置代码和网盘资源,并针对STM32不同型号给出了适配建议。移植完成后可通过串口和LED验证系统运行状态。

2025-08-28 15:20:04 4463 12

原创 Freertos应用与源码分析:消息队列 - 内核源码分析

本文详细介绍了FreeRTOS中队列的内部工作原理及其源码实现。队列是FreeRTOS中用于任务间通信的重要机制,支持发送和接收操作。文章首先概述了队列的基本概念,接着深入探讨了队列的内部原理,包括发送队列和接收队列的工作流程。通过图示和代码分析,展示了队列在任务阻塞、唤醒和数据传输中的行为。随后,文章详细解析了队列的源码实现,包括队列头结构体、创建队列、发送队列和接收队列的函数实现。通过这些源码分析,读者可以更好地理解FreeRTOS队列的工作机制及其在任务调度中的应用。

2025-05-21 16:07:06 854

原创 Freertos应用与源码分析:消息队列 - 高级示例

本文详细介绍了队列在数据存储和任务间通信中的应用。队列是一种先进先出(FIFO)的数据结构,具有独立的权限,允许多个任务同时读写。在队列操作中,任务可以设置阻塞超时时间,以等待队列数据或空间的有效性。文章还介绍了队列的创建、发送和接收函数,并通过示例代码展示了如何在实际应用中使用队列进行任务间的数据传递。此外,文章还探讨了队列在发送指针和柔性数组等高级应用中的使用,特别是在处理不定长数据包时的优势。通过这些内容,读者可以全面了解队列的基本概念、操作方法和实际应用场景。

2025-05-21 15:35:25 1152

原创 【超级详细!】Keil生成hex/bin/map/sct/dis文件详解步骤

作用十六进制编码的可执行文件,包含地址、校验和等信息。这个文件比bin文件大,可以直接通过文本编辑器查看。烧录程序时候可以用hex文件或者bin文件,bin文件比较精小,OTA升级等操作使用bin更合适。

2025-04-15 12:24:35 3200

原创 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 1288

原创 【超级详细!!】Keil编译下的.map文件详解与实战

开发过程中难免会遇到很多奇怪的bug,比如一个变量被赋值后,通过日志输出还是原来的数值,貌似没有改变,这很可能是被优化掉了。这个时候我们可以通过.map文件查看是否被优化掉,可以通过volatile来防止被优化。本章节将介绍如果生成.map文件,以及.map文件详解,最后会通过案例来实战.map的应用。本文介绍了.map的生成、使用与实战,通过map文件,能够更快的定位错误。

2025-04-07 09:00:15 4777 2

原创 Freertos应用与源码分析:任务切换的本质(上下文切换)

Freertos应用与源码分析:任务切换的本质

2025-03-27 09:41:40 2776 1

原创 Freertos应用与源码分析:启动第一个任务(调度器源码分析)

Freertos应用与源码分析:启动第一个任务(调度器源码分析)

2025-03-26 18:32:08 1971

原创 Freertos应用与源码分析:创建任务-源码分析

Freertos创建任务源码分析

2024-12-11 21:34:55 962

原创 Freertos应用与源码分析:创建任务-应用

Freertos的任务应用

2024-11-04 11:16:27 1198

原创 ARM Cortex-M3/M4内核架构:中断处理过程

ARM Cortex-M3/M4内核架构:中断处理流程

2024-10-11 14:45:34 2857

原创 Freertos应用与源码分析:临界区

Freertos应用与源码分析:临界区的完整应用与分析

2024-10-10 11:06:17 2185 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除