Ich versuche gerade eine neue Platine mit einem EFM8UB10F16G in Betrieb
zu nehmen. Leider hat Mouser realtive alte Chips geliefert, sodass ich
den USB Bootloader, auf den ich mich eigentlich verlassen hatte, nicht
benutzten kann (Bootloader funktioniert laut Errata erst mit Datecode
1601 oder neuer). Mit der Application Note "AN127: Flash Programming via
the C2 Interface" habe ich dann angefangen mein eigenes C2
Programmiergerät zu bauen. Ich kann mittlerweile die Device ID auslesen,
Device Erase durchführen und Flash lesen/schreiben. Ich habe dann mit
dem Wizard von Simplicity Studio ein neues Projekt erstellt und um
folgenden Code ergänzt:
1 | SI_SBIT(LED0, SFR_P1, 1); // P1.1 LED0
|
2 |
|
3 | int main (void)
|
4 | {
|
5 | // Call hardware initialization routine
|
6 | enter_DefaultMode_from_RESET();
|
7 |
|
8 | LED0 = 0;
|
9 | while(1);
|
10 | }
|
Da wohl standardmäßig alle Pins als Open Drain konfiguriert sind sollte
das Pin P1.1 auf Low ziehen. Nachdem ich das compilierte Programm in den
Flash, beginnend bei Adresse 0x0000, geschrieben habe tut sich
allerdings nichts an diesem Pin. Er wird immer noch durch einen Pullup
auf High gehalten.
Hat jemand eine Idee warum es nicht funktioniert? Ist der Code
unvollständig? Oder ist der Fehler eher in meinem Programmiergerät zu
suchen?