Cap*_*ack 5 embedded firmware flash-memory bootloader rom
最近经常使用闪存 ROM,我发现在芯片的内部闪存以及外部 SPI 闪存设备中,扇区的大小通常都是这样的:
我很好奇为什么起始地址空间的扇区比后面的地址小。我怀疑使用引导加载程序之类的东西会更方便。由于引导加载程序通常小于 128k,因此这将允许引导加载程序写入前 2 或 3 个扇区。这使得主空间应用程序有更多的扩展空间,因为要对其进行编程,我们需要从新扇区的开头开始。如果我们只有 128k 大小的扇区,那么我们基本上就会浪费128k - bootloader_size空间。
我的怀疑正确吗?或者这样做还有其他原因吗?真的很想知道这里的设计决策是什么。
小智 3
因为并非所有 STM32F40x/41x 器件都具有此表中描述的完整 1\xc2\xa0MB 闪存。有些扇区(例如STM32F410C8)只有 64\xc2\xa0KB,即只有前四个 16\xc2\xa0KB 扇区。减少内存开始时的扇区大小允许这些设备仍然有多个扇区可供使用,而不会导致较大设备上的扇区数量过多。它还使一些小扇区可在所有设备上用于EEPROM 仿真等应用,这需要分配两个不同的闪存扇区供其专用。
\n