为什么我的闪存 (STM32F103RCT6) 比我的数据表显示的要多?

Why do I have more flash (STM32F103RCT6) than what my datasheet says?

我正在将固件写入 STM32F103RCT6 微控制器,根据数据表,该微控制器具有 256KB 闪存。

因为我的一个错误,我在 0x0807F800 写了一些数据,根据参考手册,这是高密度设备的最后一页。 (参考手册在内存布局上没有区分'high density devices'的不同大小)

我写的数据被读取没有错误,所以我做了一些测试和 read/wrote 512KB 的随机数据并比较了文件,它们匹配! files hash pic

我做了一些调查,但找不到类似的经历。 那些额外的闪光灯可靠吗?这是某种工业策略吗?

我不建议将这个额外的闪存用于任何重要的事情。

  1. 不保证存在于具有相同部件号的其他芯片上。如果在产品中使用那将是一个主要问题。即使现在一个样品成功,制造商也有可能在未来更改设计或工艺并将其带走。

  2. 虽然它可能在您的芯片上完全没问题,但如果内存单元较弱,它也可能容易损坏。

半导体行业的一种常见做法是让多个部件共享同一个模具设计。制造完成后,对芯片进行测试和分类。芯片可能在外围设备中有缺陷,因此被用作没有该外围设备的部件。或者,它可能非常好,但出于商业原因(即供应和需求)用作较小的部分。

通常,未使用的功能会因切割痕迹、燃烧保险丝或在工厂进行特殊编程而被禁用,但如果没有负面影响并且不太可能被观察到,额外的功能可能会完好无损。

如果这只是一次性使用或实验,并且损坏是可以接受的条件,我真的认为使用它没有什么害处。