Hallo,
hier kommt keine Frage und kein Problem - sondern ich möchte nur Meinungen
zur Vorgehensweise, Denkfehlern etc. einholen.
da unsere
Elektriker nur noch Windows kennen - und um ne LED mit nen µC zum blinken zu bringen,
mindestens Eclipse, Netbeans oder Atmel-Studio brauchen ...
wollte ich es mal anders probieren und auch zeigen:
Assembler statt C und auch statt C mit Inline Assembler deshalb:
weil es einfach spannend ist zu sehen, wie so ein Rechenknecht -ohne Betriebssystem-
zum Arbeiten gebracht wird.
In einer Hochsprache wie C sind einfach zu viele Dinge in Headerfiles oder Libraries versteckt,
die die Programmierung zwar bequem und portabel machen - aber für das Verständnis der
Funktionsweise auch viel verstecken.
Was habe bzw. brauche ich?
Hardware:
PC mit FreeBSD und USB2.0 Schnittstelle,
USB Kabel,
ISP ( habe ich nicht, dafür muss ein Arduino herhalten )
Steckbrett mit ATmega328p (dip28) der dann mit dem ArduinoBoard und
dessen 6ISP Stifte verbunden wird
Software:
- hallo_welt.sx
- mit pkg installierte Binaries: avr-gcc, avrdude
ist das bis hierhin o.k.?
hier kommt keine Frage und kein Problem - sondern ich möchte nur Meinungen
zur Vorgehensweise, Denkfehlern etc. einholen.
da unsere
Elektriker nur noch Windows kennen - und um ne LED mit nen µC zum blinken zu bringen,
mindestens Eclipse, Netbeans oder Atmel-Studio brauchen ...
wollte ich es mal anders probieren und auch zeigen:
Assembler statt C und auch statt C mit Inline Assembler deshalb:
weil es einfach spannend ist zu sehen, wie so ein Rechenknecht -ohne Betriebssystem-
zum Arbeiten gebracht wird.
In einer Hochsprache wie C sind einfach zu viele Dinge in Headerfiles oder Libraries versteckt,
die die Programmierung zwar bequem und portabel machen - aber für das Verständnis der
Funktionsweise auch viel verstecken.
Was habe bzw. brauche ich?
Hardware:
PC mit FreeBSD und USB2.0 Schnittstelle,
USB Kabel,
ISP ( habe ich nicht, dafür muss ein Arduino herhalten )
Steckbrett mit ATmega328p (dip28) der dann mit dem ArduinoBoard und
dessen 6ISP Stifte verbunden wird
Software:
- hallo_welt.sx
- mit pkg installierte Binaries: avr-gcc, avrdude
Code:
avr-gcc -c hallo_welt.sx -mmcu=atmega328p -o hallo_welt.o
avr-ld hallo_welt.o -o hallo_welt.elf
avr-objcopy -O ihex hallo_welt.elf eeprom.hex
avrdude -c avrisp -p m328p -P COM5 -b 19200 -U flash:w:eeprom.hex
ist das bis hierhin o.k.?