by mpthompson » Tue May 30, 2006 5:34 am
by mpthompson
Tue May 30, 2006 5:34 am
I'm new to the RoboNova (just built my robot on Thursday), but I have some pretty decent experience with Atmel AVR MCU development with other chips similar to the ATmega128 used in the MR-C3024. I would certainly like to break through the limitations of RoboBasic and do software development using many of the excellent tools for AVR microcontrollers. I have seen other on-line stores selling the MR-C3024 indicates it can be programmed with AVR Studio, but there is no information as to how. Has anyone come across information on alternate development environments for the MR-C3024 controller?
Below are some things I've learned so far.
There are three basic methods of programming the ATmega128 Flash and EEPROM: SPI Serial programming, Parallel programming and JTAG programming. These can be disabled in various ways on the MCU and we'll need to determine how locked up Hi-Tec made the MR-C3024.
SPI Serial programming the ATmega128 would be ideal. It requires only five wires -- four of which are already conveniently exposed on the connectors of the MR-C3024. The fifth wire is the RESET line to which a new single pin is easily added to solder filled in hole just below the MCU. I made the necessary connections, but SPI Serial Programming failed for me. Most likely HiTec disabled serial SPIEN fuse on the MCU. If this were not the case it would have been trivial to back-up the contents of Flash and EEPROM and replace it with new programming. I'll probably check things over once more just to make sure I didn't make a mistake, but I'm fairly certain that using SPI Serial programming is a "no go" until the SPIEN fuse in the MCU can be programmed.
Parallel programming of the ATmega128 is more involved. I'll need examine what pins of the ATmega128 are exposed via pin connectors and how to gain access to those that aren't. I'll also need to determine the risk to the MR-C3024 to damage by the high voltage required to program the MCU with this mode. At this point while I'm still mostly learning about the RoboNova I want to be careful to not fry it's brain.
JTAG programming is another option, but I read somewhere else that it was tried and didn't work. If so, this likely because HiTec disabled the JTAGEN fuse on the MCU just as they probably did the SPIEN fuse. I'm not experienced with JTAG programming so I'll need to explore this in the future.
The fourth option is to reverse engineer the bootloader protocol on the MR-C3024. I haven't see whether other people have done this and if it does indeed open up the entire MCU Flash and EEPROM for programming. Have others looked into this yet?
-Mike
I'm new to the RoboNova (just built my robot on Thursday), but I have some pretty decent experience with Atmel AVR MCU development with other chips similar to the ATmega128 used in the MR-C3024. I would certainly like to break through the limitations of RoboBasic and do software development using many of the excellent tools for AVR microcontrollers. I have seen other on-line stores selling the MR-C3024 indicates it can be programmed with AVR Studio, but there is no information as to how. Has anyone come across information on alternate development environments for the MR-C3024 controller?
Below are some things I've learned so far.
There are three basic methods of programming the ATmega128 Flash and EEPROM: SPI Serial programming, Parallel programming and JTAG programming. These can be disabled in various ways on the MCU and we'll need to determine how locked up Hi-Tec made the MR-C3024.
SPI Serial programming the ATmega128 would be ideal. It requires only five wires -- four of which are already conveniently exposed on the connectors of the MR-C3024. The fifth wire is the RESET line to which a new single pin is easily added to solder filled in hole just below the MCU. I made the necessary connections, but SPI Serial Programming failed for me. Most likely HiTec disabled serial SPIEN fuse on the MCU. If this were not the case it would have been trivial to back-up the contents of Flash and EEPROM and replace it with new programming. I'll probably check things over once more just to make sure I didn't make a mistake, but I'm fairly certain that using SPI Serial programming is a "no go" until the SPIEN fuse in the MCU can be programmed.
Parallel programming of the ATmega128 is more involved. I'll need examine what pins of the ATmega128 are exposed via pin connectors and how to gain access to those that aren't. I'll also need to determine the risk to the MR-C3024 to damage by the high voltage required to program the MCU with this mode. At this point while I'm still mostly learning about the RoboNova I want to be careful to not fry it's brain.
JTAG programming is another option, but I read somewhere else that it was tried and didn't work. If so, this likely because HiTec disabled the JTAGEN fuse on the MCU just as they probably did the SPIEN fuse. I'm not experienced with JTAG programming so I'll need to explore this in the future.
The fourth option is to reverse engineer the bootloader protocol on the MR-C3024. I haven't see whether other people have done this and if it does indeed open up the entire MCU Flash and EEPROM for programming. Have others looked into this yet?
-Mike