Forum: Mikrocontroller und Digitale Elektronik Programmierung eines EFM8 Bootloaders


von Erd E. (perd)


Angehängte Dateien:

Lesenswert?

Projektaufgabe:

 Man nimmt einen zweiten uC (Host) und schließt diesen direkt an den 
leeren Flash des anderen uC an. Der Host holt dann vom PC Terminal das 
Programm als HEX-Datei ab und schreibt dieses Bit weise in den leeren 
Flash. Hier ist also der Bootloader auf dem Host und heißt Bootloader C2 
(oder CC da das früher mit einem seriellen Schieberegister gemacht 
wurde)

 Sie sollen für den internen EFM8 auf dem EFM8-Board einen Bootloader C2 
programmieren, damit der den externen EFM8 mit leerem Flash auf dem 
Steckbrett beschreiben kann.

 So einen Bootloader neu zu schreiben ist aber schwierig, daher hatte 
ich vorgeschlagen, Sie nehmen den fertig verfügbaren C8051F381 
Bootloader C2 und ändern dort (vermutlich genau zwei) Codezeilen, damit 
der eben statt C8051F381 den EFM8BB10 beschreiben kann.
______________________________________

Nach meinem Verständnis soll das EFM8 über einen zweiten uC der als Host 
dient an das PC angeschlossen werden und der Bootloader C2 somit 
programmiert werden.
Ist das richtig?
Und wo finde ich den fertig verfügbaren C8050F381 Bootloader C2 Code?

von Flip B. (frickelfreak)


Lesenswert?

Das ist streng genommen kein bOotloader, das ist ein Programmiergerät. 
Wenn in der aufgabenstellung von software gesprochen wird sollte allein 
zur vorbeugung von verwechslungen  eine genaue quellenangabe dabei sein. 
neu schreiben mit datenblatt als grundlage dürfte etwa 24h dauern.

von Erd E. (perd)


Lesenswert?

Als Quellenangabe waren diese Links dabei.


> 3. Anschluss des Debuggers an ein Steckbrett: Kabel ist bestellt
> http://community.silabs.com/t5/8-bit-MCU-Knowledge-Base/How-to-use-EFM
> 8-Starter-Kit-on-board-debugger-to-debug-an/ta-p/143619

> 4. Bootloader Code existiert für diesen weitgehend kompatiblen uC

> http://www.silabs.com/products/mcu/8-bit/c8051f38x/Pages/c8051f38x.asp

Ich verstehe nicht wo ich den Code für den Bootloader finde und wie ich 
das ganze umsetzen kann.

von Jim M. (turboj)


Lesenswert?

Erd E. schrieb:
> Sie sollen für den internen EFM8 auf dem EFM8-Board einen Bootloader C2
> programmieren, damit der den externen EFM8 mit leerem Flash auf dem
> Steckbrett beschreiben kann.

Wieso das denn? Das EFM8 Board auf "Debug OUT" umstellen und den µC auf 
dem Breadboard korrekt an den Debug Port anstecken, fertig.

von ??? (Gast)


Lesenswert?

Flip B. schrieb:
> schreiben mit datenblatt als grundlage dürfte etwa 24h dauern

Das Datenblatt muss man wahrscheinlich nicht ansehen: AN127.pdf Flash 
Programming via the C2 Interface

Weil die Programmer Software frei verfügbar ist: AN127SW.zip

Device_Programmer_Main.c ist für Host C8051F38x

Devices.c enthält C8051F860-GS und könnte ganz ohne Änderungen für 
EFM8BB10F8G funktionieren.

von ??? (Gast)


Lesenswert?

??? schrieb:
> Devices.c enthält C8051F860-GS und könnte ganz ohne Änderungen für
> EFM8BB10F8G funktionieren

Ja haben beide dieselbe device ID 0x30 also vermutlich derselbe uC

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.