stm32+C8051
芯片硬件相关
hanchaoman
这个作者很懒,什么都没留下…
展开
-
Cotex-M内核双堆栈指针MSP和PSP
MSP和PSP 的含义是Main_Stack_Pointer 和Process_Stack_Pointer,在逻辑地址上他们都是R13;权威手册上说的很清楚PSP主要是在Handler的模式下使用,MSP主要在线程模式下使用(当然你在线程模式下也可以调用PSP,需要你做特殊的处理);这意味着同一个逻辑地址,实际上有两个物理寄存器,一个为MSP,一个为PSP,在不同的工作模式调用不同的物理寄存器。Cortex-M3内核有两个堆栈指针:MSP-主堆栈指针和PSP-进程堆栈指针,在任何一个原创 2022-01-11 15:24:20 · 2701 阅读 · 0 评论 -
Cortex-M3 双堆栈指针(MSP&PSP)
【双堆栈指针(MSP&PSP)】Cortex-M3内核中有两个堆栈指针(MSP & PSP),但任何时刻只能使用到其中一个。 复位后处于线程模式特权级,默认使用MSP。 通过SP访问到的是正在使用的那个指针,可以通过MSR/MRS指令访问指定的堆栈指针。 通过设置CONTROL寄存器的bit[1]选择使用哪个堆栈指针。CONTROL[1]=0选择主堆栈指针;CONTROL...转载 2019-12-27 10:02:32 · 4131 阅读 · 0 评论 -
解析STM32的启动过程
原文地址:http://www.openedv.com/forum.php?mod=viewthread&tid=56872&highlight=stm32%2B%C6%F4%B6%AF当前的嵌入式应用程序开发过程里,并且C语言成为了绝大部分场合的最佳选择。如此一来main函数似乎成为了理所当然的起点——因为C程序往往从main函数开始执行。但一个经常会被忽略的问题是:微控制器(单片机)上电后,是如何寻找到并执行main函数的呢?很显然微控制器无法从硬件上定位main函数的入口地址,因为转载 2020-10-23 11:35:11 · 310 阅读 · 0 评论 -
STM32-移植FATFS的NANDFLASH驱动
1,在http://elm-chan.org/fsw/ff/00index_e.html上下载ff007c.zip,并把ff007c.zip里面的src文件夹复制到D:\works\EK-STM3210E-UCOSII下,并改名为Fatfs;2,在IDE工程中右击选择“Add Group”建立“FATFS”文件组,并在“FATFS”上右击选择“Add Files”添加D:\works\...原创 2019-10-21 11:39:42 · 3124 阅读 · 3 评论 -
FATfs文件系统移植-文件更改记录
FatFS是一种开源的文件系统格式,移植方便,容易使用。最近开始玩STM32,玩到了SD卡部分,准备移植FatFS到SD卡上并解决驱动问题,一开始使用的是SPI带SD卡,这部分解决后就可以再着手进行SDIO模式。下面是关于FatFS文件系统移植需要的几个关键文件: ff.c(不动) 文件系统的实现代码,里面主要是FatFS文件系统源码,移植的时候不需要修改 ...原创 2017-04-10 14:22:36 · 861 阅读 · 0 评论 -
fatfs结构及源码分析。
目录一、API的函数功能简述二、FATFS主要数据结构 1、FAT32文件系统的结构 2、FATFS主要数据结构 ①FATFS ②DIR ③FIL ④ FILINFO ⑤win[512] ⑥buffer三、函数功能与实现详细分析 0、move_window 1、f...转载 2019-10-11 15:21:39 · 2766 阅读 · 0 评论 -
f_sync解决fatfs文件掉电数据丢失问题
临界段When write operation to the FAT file system is interrupted due to any accidental failure, such as sudden blackout, incorrect disk removal and unrecoverable disk error, the FAT structure can be co...转载 2019-03-14 16:57:45 · 3389 阅读 · 0 评论 -
SD 移植fatfs文件系统
为SPI FLASH移植fatFs文件系统心得 (二)喻时耕宇1 年前今天算是移植成功了,由于下载的是最新的fatFs,网上资料基本都是以前的系统。有些地方还是改动比较多的,这里全部列出来。FRESULT f_mkfs ( const TCHAR* path, /* Logical drive number */ BYTE opt, /* Format optio转载 2016-12-09 11:08:21 · 1303 阅读 · 0 评论 -
stm32之can总线过滤器的标准帧、扩展帧、远程帧等
stm32的can总线的配置如下: CAN_InitStructure.CAN_TTCM=DISABLE;//禁止时间触发通信模式 CAN_InitStructure.CAN_ABOM=DISABLE; CAN_InitStructure.CAN_AWUM=DISABLE; CAN_InitStructure.CAN_NART=DISABLE转载 2017-06-02 18:28:25 · 13670 阅读 · 4 评论 -
CAN通信详解
本章我们将向大家介绍如何使用STM32自带的CAN控制器来实现两个开发板之间的CAN通讯,并将结果显示在TFTLCD模块上。本章分为如下几个部分:30.1 CAN简介30.2硬件设计30.3软件设计30.4下载验证30.1 CAN简介CAN是Controller Area Network的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在当前的汽转载 2017-04-11 16:59:34 · 55928 阅读 · 3 评论 -
FATfs源码解析
一、介绍:本文以网上开源文件系统FatFs 0.01为研究对象,剖析FatFs文件系统的核心操作。FatFs目前最新版本已更新到0.10a版本,而我之所以选择0.01版本,是因为这是最早的发布版本,与最新的版本相比,去掉了很多高级应用,且代码量相对较小,宏开关也少了许多,易于阅读和理解,用来研究它的雏形再合适不过了,所以笔者选择0.01版本进行剖析。当大家了解了0.01的核心思想后,再回去转载 2016-11-03 16:17:05 · 3260 阅读 · 1 评论 -
STM32 GPIO管脚配置意思说明
1 STM32205XX系列每个通用I/O 口都 1) 有4 个32 位配置寄存器 (GPIOx_MODER,GPIOx_OTYPER, GPIOx_ OSPEEDR 和GPIOx_PUPDR),2)2 个32 位数据寄存器(GPIOx_IDR and GPIOx_ODR) 3)1 个32 位置位/ 复位寄存器(GPIOx_BSRR)。4) 口A 和口B 还含有1原创 2016-12-23 15:42:11 · 2716 阅读 · 0 评论 -
uCOS时钟节拍和滴答定时器的关系
在使用uCOS时,有一个非常重要,非常关键的概念就是操作系统的时钟节拍,uCOS的时钟节拍来源于滴答定时器,滴答定时器按照设定的时间不停的计时和产生中断,在uCOS-III中滴答定时器的中断服务函数如下:void OS_CPU_SysTickHandler (void){ CPU_SR_ALLOC(); CPU_CRITICAL_ENTER(); O转载 2016-09-19 13:41:13 · 2006 阅读 · 1 评论 -
stm32 中DMA的stream和channel关系
问:STM32(意法)DMA中的stream和channel到底什么关系和区别?答:拿stm32的DMA1做例举。DMA1中总共有8个stream,而每个stream可以配置成不同的传输源和目的地址,这就是channel。1个不同的源和目的就叫1个channel。如下图所示:上图中stream0可以被配置成channel 0、1、2、3、4、6。配置成channel0时用spi3_r...原创 2015-09-18 17:20:29 · 9017 阅读 · 1 评论