Warum habe ich mehr Blitz (STM32F103RCT6) als in meinem Datenblatt angegeben?

Ich schreibe eine Firmware auf einen STM32F103RCT6- Mikrocontroller, der laut Datenblatt einen Flash von 256 KB hat.

Aufgrund eines Fehlers von mir habe ich einige Daten bei 0x0807F800 geschrieben , die laut Referenzhandbuch die letzte Seite eines Geräts mit hoher Dichte sind. (Das Referenzhandbuch unterscheidet nicht zwischen verschiedenen Größen von "High Density Devices" im Speicherlayout)

Die Daten, die ich geschrieben habe, wurden ohne Fehler gelesen, also habe ich einige Tests durchgeführt und 512 KB zufällige Daten gelesen/geschrieben und die Dateien verglichen und sie stimmten überein!

Ich habe etwas recherchiert, aber ich konnte keine ähnlichen Erfahrungen finden. Sind diese zusätzlichen Blitze zuverlässig? Ist das eine Art industrielles Manöver?

Antworten (2)

Alle MCUs einer Familie oder einer Familienlinie werden auf demselben Siliziumchip hergestellt. 512 KB und 256 KB und andere MCUs sind physikalisch dasselbe, aber wenn Sie 8 Millionen Transistoren oder mehr haben, funktionieren einige von ihnen nicht oder nicht zuverlässig oder nicht zuverlässig bei einer bestimmten Temperatur oder in der Im Falle eines Flash-Speichers werden Ihre Informationen nicht lange genug gespeichert.

Höchstwahrscheinlich begann Ihre MCU ihr Leben als 512-KB-Teil, aber während der Herstellungstests stellte sich heraus, dass nur 256 KB unter allen Betriebsbedingungen zuverlässig sind. Der Hersteller verfügt wahrscheinlich nicht über eine Einrichtung im Chip, um die Hälfte des Flash zu deaktivieren, daher werden nur die Identifikationsbits entsprechend geschrieben, und vom Programmierer wird erwartet, dass sie sich daran halten.

Eine andere Hypothese: Es kann sich um ein gefälschtes Teil (512 KB) handeln, das vom Werk abgelehnt wurde, aber jemand fand, dass 256 KB "gut genug" sind, und hat es neu gekennzeichnet.

Alle STM32F1-Chips verwenden denselben Siliziumchip . Sie können verschiedene Dinge mit einmalig programmierbaren Feldern oder der Position der Bonddrähte konfigurieren .

Aus Marketinggründen verkaufen sie Chips mit weniger Flash/RAM zu einem niedrigeren Preis, indem sie die Testzeit verkürzen, da Zeit teuer ist. Dieser Flash wird da sein, ist aber ungetestet.
Diese Methode gilt auch für die Temperaturangaben der 125C-Teile.

Es wäre sinnvoll zu glauben, dass der andere Flash beschädigt oder unbrauchbar ist, aber wenn die Ausbeute* so niedrig wäre, müssten sie die Sektoren auf jedem Chip abbilden. Da jeder Sektor beschädigt werden kann, hätten Sie sonst eine Lücke im Speicherabbild!
Das würde bedeuten, dass es keinen zusätzlichen Flash als getestet und gemappt geben würde, was nicht der Fall ist.

Obwohl der Blitz vorhanden ist, empfehle ich ihn nicht zu verwenden.

Ich habe das einmal für den 407 gefragt.

*Ausbeute: Menge an Arbeitschips pro Wafer .