[STM32F4]

stm32f103c8t6的内部Flash读取

[复制链接]
241|10
手机看帖
扫描二维码
随时随地手机跟帖
雨果喝水|  楼主 | 2022-9-25 23:24 | 显示全部楼层 |阅读模式
一、知识点  
stm32内部框架图
66885633072c80810a.png


stm32的flash地址起始于0x0800 0000,结束地址是0x0800 0000加上芯片实际的flash大小,不同的芯片flash大小不同。

RAM起始地址是0x2000 0000,结束地址是0x2000 0000加上芯片的RAM大小。不同的芯片RAM也不同。

Flash中的内容一般用来存储代码和一些定义为const的数据,断电不丢失,
RAM可以理解为内存,用来存储代码运行时的数据,变量等等。掉电数据丢失。

STM32将外设等都映射为地址的形式,对地址的操作就是对外设的操作。
stm32的外设地址从0x4000 0000开始,可以看到在库文件中,是通过基于0x4000 0000地址的偏移量来操作寄存器以及外设的。

使用特权

评论回复
雨果喝水|  楼主 | 2022-9-25 23:27 | 显示全部楼层
二、SD卡读写
2.1 要求
将64K数据分250次,每次256字节,写入SD卡,测试速度

使用特权

评论回复
雨果喝水|  楼主 | 2022-9-25 23:28 | 显示全部楼层
2.2 实验过程截图
911336330738033bd8.png

使用特权

评论回复
雨果喝水|  楼主 | 2022-9-25 23:29 | 显示全部楼层
48240633073ad1c27c.png

使用特权

评论回复
雨果喝水|  楼主 | 2022-9-25 23:30 | 显示全部楼层
总共用了14分钟,写了64K字节。

使用特权

评论回复
雨果喝水|  楼主 | 2022-9-25 23:30 | 显示全部楼层
2.3 查看hello.txt
可以看到写入了250行数据,总计64K字节

使用特权

评论回复
雨果喝水|  楼主 | 2022-9-25 23:32 | 显示全部楼层
6016863307483ab483.png

使用特权

评论回复
雨果喝水|  楼主 | 2022-9-25 23:34 | 显示全部楼层
2.4 从SD卡读出
利用FATS从SD卡读出数据,并且串口输出。

使用特权

评论回复
雨果喝水|  楼主 | 2022-9-25 23:35 | 显示全部楼层
2.4.1 修改代码
将写入函数修改为读出函数名
5654863307549397e8.png
定义读出函数,指针标志s,且定义字节类型格式br和一个存储读取的数组READBUFF。

使用特权

评论回复
雨果喝水|  楼主 | 2022-9-25 23:36 | 显示全部楼层
740146330755bca3ac.png

使用特权

评论回复
雨果喝水|  楼主 | 2022-9-25 23:42 | 显示全部楼层
① 修改f_open函数的第三个打开状态为FA_READ模式。②文件指针移至相应位置,否则无输出。③指针加地址④使用FATS的read函数,第一个参数是指针,第二个是存储数组,第三个是数组大小,第四个是强制转换br为UINT格式。⑤输出

92586633076ffc1e21.png

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

70

主题

1063

帖子

0

粉丝