目录
3.2.4 修改flash.h中的flash结束地址为 0X0801BA00
1.stm32内部框架图
stm32的flash地址起始于0x0800 0000,结束地址是0x0800 0000加上芯片实际的flash大小,不同的芯片flash大小不同。
RAM起始地址是0x2000 0000,结束地址是0x2000 0000加上芯片的RAM大小。不同的芯片RAM也不同。
Flash中的内容一般用来存储代码和一些定义为const的数据,断电不丢失,
RAM可以理解为内存,用来存储代码运行时的数据,变量等等。掉电数据丢失。
STM32将外设等都映射为地址的形式,对地址的操作就是对外设的操作。
stm32的外设地址从0x4000 0000开始,可以看到在库文件中,是通过基于0x4000 0000地址的偏移量来操作寄存器以及外设的。
二、SD卡读写
2.1 要求
将64K数据分250次,每次256字节,写入SD卡,测试速度
具体操作可以查看上篇博客
2.2 实验过程截图
总共用了14分钟,写了64K字节。
2.3 查看hello.txt
2.4 从SD卡读出
利用FATS从SD卡读出数据,并且串口输出。
2.4.1 修改代码
将写入函数修改为读出函数名
定义读出函数,指针标志s,且定义字节类型格式br和一个存储读取的数组READBUFF。
① 修改f_open函数的第三个打开状态为FA_READ模式。②文件指针移至相应位置,否则无输出。③指针加地址④使用FATS的read函数,第一个参数是指针,第二个是存储数组,第三个是数组大小,第四个是强制转换br为UINT格式。⑤输出
2.4.2 输出结果
可以看到依次输出,我用了a,b,c,d,e来区分不同。
三、写入flash
链接:https://pan.baidu.