From: Matthias T. <mt...@we...> - 2010-03-07 19:39:22
|
Andy, > I have read the docs explaining the issues with the bootloader and > arduino and fully agree. You are somewhat caught by how the architecture > of the AVR's was designed. I don't see it as being a limitation of > either amforth or Arduino. They are quite different animals. Trying to > make one like the other could be a mistake. > It's not a limitation, but a question of what a program could do with the varios types of memories in the atmegas. IMHO most of the programmers think of the flash as a read-only mempory that needs hugh amounts of work to deal with. At most they place some constant data (string literals) in it. The bootloaders reflect that in many ways: They do not provide an API for the essential flash write operation, this function is only available if the bootloader reads data from the serial line. If you take a deeper look at the code, they usually do not use function (if coded in C) but operate in a single main() function without split-out modules, that could theoretically re-arranged to call the result an API. Back to the arduino: The hardware works pretty well with amforth, the only thing missing is the arduino bootloader, that is not able to flash the amforth binary. If you use some other method for transferring amforth, everything's fine. But it's probably not an arduino anymore (the bootloader has a monitor as a debugging aid as well) since you cannot use the arduino software any longer. > In the interim, all (an easy statement to make) that amforth appears to > lack for it to be able to give newbies a quick way in is a binary image > (no compiling, or tool-chain necessary) for a very select number of off > the shelf micro boards, and a detailed how-to do ICSP using avrdude and > ultimately from a board running amforth (board to identical board clone > using a forth programming routine). > There are way too many different boards out there, so I decided against selecting on of them and provide hex files for it. The AVR Butterfly is an exception, but it is somehow the same as the arduino: The bootloader is in the way: the one from atmel is unusable and once amforth is on the chip, you are on you own. Since the use of an programming hardware tool is essential for using amforth, I selected the "advanced end uses" as the intended audience. It's definitly (and sadly) not a beginners toy... > I fully agree that anyone capable of contributing to the current project > would have the necessary skills already. What about the next > generation of would be forth hackers that have yet to discover that they > are up for it though ?? > Really good question. IMHO the most interesting part is that forth gives you an extendible command interpreter at hand. The price is that you need to learn how to deal with microcontrollers and that there is a tool chain with both soft- and hardware to be used. Matthias |