Man muss aber aufpassen, falls der Controller eine ECC-Korrektur hat, dann gehts nicht. Dann kann man ein ganzes Wort nur komplett setzten. Wort kann hier auch 64-Bit auf einmal bedeuten. Die schnelleren
32-Bit-Typen haben oft ein 64-Bit-Flash-Interface. Datenblatt befragen!
Das war meine Hoffnung. Mein erster Versuch mit Sourcery G++ Lite for ARM EABI war allerdings bislang nicht erfolgreich.
Ich verwende die Bibliothek stm32f10x_flash.c und wenn ich die Routinen FLASH_ProgramHalfWord (16bit) oder FLASH_ProgramWord(32bit) auf eine bereits beschriebene Adresse
Weiss ich ehrlich gesagt nicht.
etwas schwer tue. Es gibt so viele Varianten von dem Chip. Kann man ihn vielleicht einfach selber fragen?
Die Funktion FLASH_ProgramHalfWord macht jedenfalls grob Folgendes:
// if the previous operation is completed, proceed to program the // new data:
FLASH->CR |= CR_PG_Set;
*(__IO uint16_t*)Address = Data;
//Wait for last operation to be completed status = FLASH_WaitForLastOperation(ProgramTimeout);
// Disable the PG Bit FLASH->CR &= CR_PG_Reset;
Falls es eine ECC Korrektur gibt ist die nicht in der Software.
Mein Muster hier kann 16bit oder 32bit usw. Wenn sich Footprint
Nullen in die Speicherzellen zu schreiben und einen Chip mit
Hier sind sie 0xFF, also 1. Wobei das auch sein kann dass der Speicher
Ja, man kann den Chip auch fragen, in irgendeinem Register steht das. Oder der Programmer zeigt es an.
Aber noch einfacher ist es einfach den Aufrdruck auf dem IC zu lesen. Interessant ist doch maximal der Typ und der Speicher. Die Anzahl der Pins und die Bauform sieht man auch so.
- Dabei ist es egal ob ich in die Zelle den aktuellen
Ausnahme hiervon: 0xFFFF in eine Zelle schreiben
ProgramHalfWord kann bei mir 16bit weise. Weniger geht anscheinend nicht.
OK.
Hab ich noch nicht probiert.
die Reihenfolge der bytes wenn ich die Wortbreite der Anzeige umschalte. So richtig verstanden habe ich den Effekt nicht. Passt die Endianess von der ST-Link Anzeige nicht zu meinem Chip/Adressschema oder sehe ich da einen anderen Effekt?
Bytes funktioniert, sondern auf - sagen wir - 16*2048. Das ist dann immer noch nicht ressourcenschonend und dem Problem angemessen, kann aber funktionieren, wenn geringe BOM-Kosten und minimaler Softwareaufwand
irgendwelche Datenrettung hat man da typischerweise nicht.
wie Berufsehre im Leib haben.
Mich nervte es damals schon, als der Motorola-Microcontroller im
nur, weil irgendso ein Arsch bei Blaupunkt es eine gute Idee fand, jede Eingabe sofort synchron aufs Flash zu schreiben, anstatt das erst im RAM
Nur damit wir uns richtig verstehen: Der Motorcola 68HC705B32 hat 4kB
tun als Managementaufgaben, weil es parallel dazu noch einen DSP gibt. Die
Kanal, Frequenzband, TP/RDS wird man schon in einer Handvoll Bytes
Dinger nach 10 Jahren sterben wie die Fliegen.
irgendeinen funktionsgleichen Klon aus China zu orgen und dort die reverseengineerte Software aufzuspielen.
[1] ansehen. Daraus:
"The information logged [on the Flash NAND] is pretty much useless on production vehicles. Unless a developer has a specific reason for enabling it, it does the customer no good. These logs are also rarely downloaded by Tesla. [...] The main issue is that this excessive log file writing causes eMMC flash wear. [...] Tesla selected a flash chip that is unable to handle the constant read/write functions. These chips have since been replaced with a more robust version. [...]".
sich mit einer potentiellen Reparaturrechnung von fast 2k? konfrontiert sehen. Und nur, weil irgendeine Coderdrohne #ifdef _DEBUG ... #endif um seinen Loggercode vergessen hat.
Mannomann. Solche Leute sollte man in einen Knast stecken, wo sie *auf*
nicht so sein: Das DivIDE Interface [2] ist erlaubt, ebenso HiSoft Devpac [3] und eine Papierausgabe von Rodnay Zaks "Programming the Z80" [3].
Es gibt keine Software On/Off. Ein/Ausschalten geschieht
der Unterbrechung der Spannungszufuhr und Brownout ausreicht um das Flash zu updaten habe ich noch nicht erforscht. Ausserdem gibt es noch folgendes Problem: Wenn der Watchdog
was geschrieben ;-)
Verbuchen wir unter Training, ja?
Solange sie nicht bei Programmieren vergessen die richtigen Fuse Bits zu setzen...
Die sind nicht so schlimm wie beleidigte TESLA-Fanboys. Glaube ich...
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.