From: Erich W. <ew....@na...> - 2010-01-05 17:05:13
|
Hello Robert, > Has anyone successfully gotten amforth working on an ATmega644P? I > tried to do this today, and immediately ran afoul of the fact that > avra (AVR assembler, on Linux) doesn't support the ATmega644P. about a year ago, I experimented with atmega-644p controllers, too. This was with amforth 3.3 I did *not* patch avra. And if I remember correctly, the include files from AVRStudio are of a newer format, and avra didn't like them. So I went and installed wine and the assembler from avrstudio. Yapp, not the best solution, but it worked for the moment. This results in the following call to produce the hex files: wine ~/wine/AvrAssembler2/avrasm2.exe -I ~/Forth/amforth/releases/3.3/core \ -I . -fI -l main.lst -m main.map -e main.eep.hex main.asm So for the heck of it, I just grabbed a 644P and powered it up. The hex file loads and the controller does talk with me: > ver amforth 3.3 ATmega644P ok > .res free FLASH cells 25207 free RAM cells 3795 used EEPROM cells 42 used data stack cells 0 used return stack 10 free return stack 70 ok > : hi ." hello, world!" cr ; ok > hi hello, world! ok > So far so good. How did I make it work??? Hm. . wine + avrassembler2 I mentioned above. . Fuse bits: # external crystal at 11.0592 MHz LFUSE=0xee HFUSE=0x89 . there are 31 interrupts now, you found that. It is certainly possible to dig out the differences to the old version 3.3, however, it would take some time. I could obviously send you my files, if you are interested in "code archeaology" :-) I have not used the 644p any more yet. Cheers, Erich |