Bei unseren Projekten kann es Firmware-Updates geben.
Ein Update wird in Form eines neuen .hex Files auf Github veröffentlicht..
Die zugrundeliegenden Änderungen werden natürlich auch in den jeweiligen Quelldateien vorgenommen, das können also .c oder .h Files sein, oder auch ein Top-Design .cysch oder Design-Wide-Resources .dwr File.
Bei den Cypress PSoCs umfasst das .hex File alle programmierbaren Bereiche des Chips, also Hardware-Konfigurationsspeicher, Flash Programmspeicher, (optional) EEPROM Parameterspeicher.
Da wir dem Open-Source-Konzept folgend keine Sicherungen gegen das Auslesen oder Neuprogrammieren setzen, ist diese Art Firmware-Update die umfassendste Möglichkeit.
Bei Raumtemperatur sollten mehr als 1000 Lösch/Programmierzyklen möglich sein.
Wir empfehlen das Firmware-Update mit dem Programmer KitProg und der Software PsoC Programmer. Das .hex File wird mit PsoC Programmer eingelesen und dann auf Befehl in etwa 10 Sekunden über KitProg auf dem Target-Chip programmiert.
Beim Programmieren wird auch der genaue Typ des Target-Chips anhand einer Silicon-ID geprüft. Damit ist es unmöglich, z.B. die Firmware für die Modulversion (Mod) auf einem Board mit QFP-Prozessor (Proc) oder umgekehrt zu installieren.
Warum kann man den USB-Bootloader nur eingeschränkt für Firmware-Updates nutzen?
Obwohl unsere Projekte einen USB-Bootloader beinhalten, empfehlen wir diesen Bootloader nicht für Firmware-Updates. Sie können mit dem Bootloader experimentieren und eventuell kleine Änderungen im Programmcode damit probieren. PSoC Creator enthält einen Bootloader Host. Der Bootloader in den Cypress PsoCs kann aber nur den Flash-Programmspeicher neu beschreiben, also insbesondere den Hardware-Konfigurationsspeicher und EEPROM-Parameterspeicher nicht ändern. Ebensowenig kann ein beschädigter Bootloader durch Bootloading „repariert“ werden, obwohl er wie die Anwendung im Flash-Programmspeicher liegt.
Die neuesten Updates
01.03.22 Firmware Rev 4.8.3
ACSI2SD Proc, ACSI2SD Mod sind jetzt standardmässig ICD-kompatibel (kann durch Brücken von JP3 abgeschaltet werden), vorbereitet zum Loggen von ACSI- und SCSI-Befehlen (interessant für Entwickler)