文章分类 -  嵌入式MCU软件

摘要:3.1 指令集概述 本处理器实现Thumb指令集版本。表21列出了支持的指令。 在表21中: 尖括号<>表示操作数的可选形式 花括号{}表示可选操作数 操作数列未穷举所有形式 Op2是灵活的第二操作数,可以是寄存器或常量 多数指令可使用可选的条件码后缀 更多指令和操作数信息,请参阅指令详细描述。 3 阅读全文
posted @ 2025-06-10 07:20 明er 阅读(438) 评论(0) 推荐(0)
摘要:4.1 STM32 Cortex-M4核心外设概述 私有外设总线(PPB)的地址映射如下: 在寄存器描述中: 寄存器类型定义如下: RW:可读写 RO:只读 WO:只写 访问权限表示访问寄存器所需的特权级别: Privileged(特权):仅特权软件可访问该寄存器 Unprivileged(非特权) 阅读全文
posted @ 2025-06-07 16:34 明er 阅读(282) 评论(0) 推荐(0)
摘要:2.1 编程模型 2.1.1 处理器模式和软件执行特权级 处理器模式包括: 线程模式(Thread mode):用于执行应用软件。 处理器复位后自动进入线程模式。 通过CONTROL寄存器控制软件执行权限为特权或非特权(详见第25页CONTROL寄存器)。 处理模式(Handler mode):用于 阅读全文
posted @ 2025-06-03 22:47 明er 阅读(1352) 评论(0) 推荐(0)
摘要:1.3 stm32 Cortex-M4处理器和核心外设 Cortex-M4处理器基于高性能核心构建,采用3级流水线哈佛架构,非常适合要求严苛的嵌入式应用。该处理器通过高效的指令集和深度优化的设计,实现了卓越的能效表现,并提供高端处理硬件支持,包括符合IEEE754标准的单精度浮点计算、多种单周期与S 阅读全文
posted @ 2025-06-03 22:25 明er 阅读(211) 评论(0) 推荐(0)
摘要:1.任务管理 1.1.任务函数 void ATaskFunction( void *pvParameters ){ for( ;; ) { } vTaskDelete( NULL );} 1.2.创建任务 portBASE_TYPE xTaskCreate( pdTASK_CODE pvTaskCo 阅读全文
posted @ 2024-09-25 16:05 明er 阅读(27) 评论(0) 推荐(0)
摘要:文章对FreeRTOS源码的list.c文件中实现的函数功能进行了说明。 阅读全文
posted @ 2022-08-08 20:45 明er 阅读(28) 评论(0) 推荐(0)
摘要:FreeRTOS-queue.c文件分析 /*队列尾数据指针*/ typedef struct QueuePointers { int8_t * pcTail; /*< 队列尾指针,指向队列中数据存储位置的末尾*/ int8_t * pcReadFrom; /*< 队列读指针,指向队列读位置*/ } 阅读全文
posted @ 2022-08-08 20:45 明er 阅读(83) 评论(0) 推荐(0)
摘要:文章对FreeRTOS的port.c文件中的函数功能进行了说明,并对部分函数进行了注释。 阅读全文
posted @ 2022-08-08 20:45 明er 阅读(170) 评论(0) 推荐(0)
摘要:文章对FreeRTOS源码的list.h文件中的重要数据结构做了注释 阅读全文
posted @ 2022-08-08 20:45 明er 阅读(17) 评论(0) 推荐(0)
摘要:FreeRTOS-tasks.c文件分析 typedef struct tskTaskControlBlock /* 任务控制块 */ { volatile StackType_t * pxTopOfStack; /*任务栈顶指针 */ ListItem_t xStateListItem; /*状态 阅读全文
posted @ 2022-08-08 20:44 明er 阅读(164) 评论(0) 推荐(0)
摘要:FreeRTOS-queue.h文件分析 #define xQueueCreate( uxQueueLength, uxItemSize ) xQueueGenericCreate( ( uxQueueLength ), ( uxItemSize ), ( queueQUEUE_TYPE_BASE  阅读全文
posted @ 2022-08-08 20:44 明er 阅读(35) 评论(0) 推荐(0)
摘要:FreeRTOS-timers.c文件分析 #define tmrSTATUS_IS_ACTIVE ( ( uint8_t ) 0x01 ) /*有效*/ #define tmrSTATUS_IS_STATICALLY_ALLOCATED ( ( uint8_t ) 0x02 ) /*静态申请内存* 阅读全文
posted @ 2022-08-08 20:44 明er 阅读(81) 评论(0) 推荐(0)