N'abend, ich habe mir das hier nachgebaut: http://www.illutzmination.de/udmx.html Nun habe ich das Problem, dass Reichelt mir anstelle eines Atmega8 einen 168 geschickt hat. Ich bin erst am Anfang der Mikrocontrollerprogrammierung (arduino war orgendwie auch nicht so meins und ziemlich oberflächlich) nun die frage: kann ich die Firmware ohne weiteres auf den 168er flashen oder muss ich die neu kompilieren, wnn ja, wie? Danke schonmal im vorraus(war bisher immer berechtigt)
Tja Reichelt lässt in letzter Zeit leider komplett nach. Falschlieferungen ohne Ende, im Lager hebense auch kaum noch was. Wenn was im Warenkorb liegt das plötzlich nicht mehr im Lager verfügbar ist wirds ausm Korb gelöscht und man merkts nichtmal... Bei manchen Bauteilen ist die Sortierung ne Katastrophe geworden... So ist das nunmal, wenn BWL Heuschrecken den Laden übernehmen snif Zum Thema: Der 168er ist der Nachfolger des 8er, aber einige Register haben andere Adressen. Also neucompilieren. Is janz einfach, WinAVR installen, darin den Sourcecode öffnen und im makefile das atmega8 suchen und gegen 168 ersetzen. Sollte der Compiler Fehlermeldungen ausgeben, dann guck ich mal drüber. Es gibt auch ne Apnote was anders is, find die nur grad nich. edit: hier die apnote: http://www.atmel.com/Images/doc2553.pdf
So hatte grade etwas Zeit und war dann mal so nett. Is ja reines find and Replace mit den Registerumbenennungen, Rest macht der Compiler. Compileroutput: > "make.exe" all avr-gcc -c -g -Os -Wall -Wstrict-prototypes -I -Wa,-ahlms=uDMX.lst -mmcu=atmega168 -I. uDMX.c -o uDMX.o uDMX.c:211: warning: function declaration isn't a prototype avr-gcc -c -g -Os -Wall -Wstrict-prototypes -I -Wa,-ahlms=usbdrv/usbdrv.lst -mmcu=atmega168 -I. usbdrv/usbdrv.c -o usbdrv/usbdrv.o usbdrv/usbdrv.c: In function 'usbInit': usbdrv/usbdrv.c:506: warning: cast from pointer to integer of different size usbdrv/usbdrv.c:507: warning: cast from pointer to integer of different size avr-gcc usbdrv/usbdrvasm.S usbdrv/usbdrv.o uDMX.o -Wl,-Map=uDMX.map,--cref -mmcu=atmega168 -o uDMX.elf avr-objcopy -O ihex \ --change-section-address .data-0x800000 \ --change-section-address .bss-0x800000 \ --change-section-address .noinit-0x800000 \ --change-section-address .eeprom-0x810000 \ uDMX.elf uDMX.cof avr-objcopy: --change-section-vma .eeprom+0xff7f0000 never used avr-objcopy: --change-section-lma .eeprom+0xff7f0000 never used avr-objcopy: --change-section-vma .noinit+0xff800000 never used avr-objcopy: --change-section-lma .noinit+0xff800000 never used avr-objcopy -O ihex -R .eeprom uDMX.elf uDMX.hex avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 -O ihex uDMX.elf uDMX.eep c:\WinAVR-20100110\bin\avr-objcopy.exe: --change-section-lma .eeprom=0x00000000 never used avr-size uDMX.elf text data bss dec hex filename 2884 8 577 3469 d8d uDMX.elf Errors: none rm usbdrv/usbdrv.o > Process Exit Code: 0 > Time Taken: 00:01
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.