Hallo!
Nachdem ich eine Weile gebraucht habe um ein einfaches LPC Programm zum Laufen zu bringen, möchte ich meinen Nachfolgern die Sache erleichtern und hier kurz beschreiben was ich gemacht habe. Als Grundlage dient das Dokument von der Freebus Portalseite unter "Grundlagen und Infos": LPC Programmierung. Dort unbedingt reinschauen!
Meine Ausführungen beziehen sich auf Linux, aber unter Windows kann man ja die Linux spezifischen Schritte einfach weglassen

Zuerst habe ich den LPC-Programmer von der Freebus Portalseite gebaut.
Dann am Seriellen Port angeschlossen, 89LPC922 in den Programmer gesteckt.
Flash Magic installiert. Funktioniert unter Linux mit Wine problemlos. Damit Wine den Seriellen Port kennt muss man ihm das COM Device anlegen:
Code:
cd ~/.wine/dosdevices
ln -s /dev/ttyS0 com1
Wenn es kein .wine Verzeichnis gibt dann einmalig "wine" starten, dann wird es angelegt.
sdcc installieren.
Hier ist mein "Hello World"
Dateianhang:
Dateikommentar: Beispiel C-Programm
blink0.c [215 Bytes]
132-mal heruntergeladen
Es lässt die I/O Pins 0.0 und 0.1 blinken. Das übersetzen und linken wir jetzt mal:
Code:
sdcc -mmcs51 --stack-auto blink0.c
packihx blink0.ihx > blink0.hex
Jetzt Flash Magic starten, die Einstellungen wie im Freebus "LPC Programmierung" Dokument vornehmen. Das ist wichtig, mach es jetzt!

Dann blink0.hex laden und flashen.
I/O-Pin 0.0 ist am IC Pin #1, I/O Pin 0.1 ist Pin #20.
An einem der beiden Pins eine Led anschliessen, mit einem Widerstand, 1k oder ähnlich, auf Masse (nicht Plus).
Prinzipiell kann man jetzt den Schalter am Programmer umlegen und der LPC sollte das Programm ausführen. Auch wenn er direkt im Programmer steckt.
Aber es funktionierte bei mir erst nach einem LPC reset. Also Pin 4 vom LPC kurz auf Masse, dann klappt es und die Led blinkt fröhlich. Ich bin noch am Suchen woran es liegt.
Das Bild zeigt meinen Versuchsaufbau:
Dateianhang:
IMG_7435.jpg [ 179.9 KiB | 948-mal betrachtet ]
LG,
Stefan