学习链接https://blog.csdn.net/zhanglifu3601881/article/details/96632971
https://blog.csdn.net/qq_46467126/article/details/122098829
任务要求
Flash地址空间的数据读取。stm32f103c8t6只有20KB 内存(RAM)供程序代码和数组变量存放,因此,针对内部Flash的总计64KB存储空间(地址从0x08000000开始),运行一次写入8KB数据,总计复位运行代码8次,将64KB数据写入Flash,并验证写入数据的正确性和读写速率。此外,继续往后续地址写入数据,检验stm32f103c8t6 实际FlashROM是否超过64KB。
cubemx配置
将事先准备好的flash.c 及flash.h加入到工程中,flash.h文件放在INC文件夹
在main.c中加入如下代码
View->memory windows->memory 1打开内存观察窗口,并在地址栏中输入:0x800c000,观察将要修改的flash区间区容
View->Watch windows->Watch 1打开一个变量观察窗口,将变量FlashWBuff 和 FlashRBuff加入到 Watch 1 观察窗口:
View->Periodic Windows Update开启变量自动更新
F5,全速运行程序,可以看到数组FlashRBuff中内容与数组FlashWBuff中内容一样了:
在Memory 1窗口中可以看到在FLASH地址0x0800C000区成功写入对应内容
我这一步是失败了的,也只能看室友的,我的写入没有反应更别说检查内存多大是否有64kb了,写入陈工在下面的窗口会有你的发送的内容,我的始终是默认的字母,在64位后其他的为FF,但是读写前后没有变化按正常来说就是会显示你发送的内容,如同前面链接那样,结论就是它实际的Fkashrom大小是超过了64kb的。