STM32F103C8T6的FLASH大小是比较奇怪的。
RAM大小是20K这是没有争议的。
但FLASH大小是有争议的,也就是ROM这部分。
根据数据手册FLASH大小应该为128K多数资料也表明其FLASH为128K,但是通过STM32 CubeMx查到内存大小为64K。
GPT的回答是C8T6的FLASH是64k,部分芯片可能是128K的,但是不保证。但CBT6肯定是128K的,还给出了查询FLASH大小的代码:
#include "stm32f1xx_hal.h"
void checkFlashSize() {
uint16_t flashSize = *(__IO uint16_t*) (0x1FFFF7E0); // Flash size register address
printf("Flash Size: %d KB\n", flashSize);
}
经查询,我手中的STM32F103C8T6 FLASH为64K。
STM32F10系列参考手册指出其主存储块FLASH为128K:
其数据手册指出STM32F103x8和STM32F103xB系列有着64K或128K FLASH:
至此可以总结出STM32F103C8T6为64K FLASH,STM32F103CBT6为128K FLASH。
其ROM(FLASH)和RAM存储器功能如下:
注意:
程序创建的变量存在运行内存中,为20K,因此数据量大的不可创建变量,需要存储到FLASH中,进行读取使用。
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_44350337/article/details/145102530
|