View Single Post
  #42   Spotlight this post!  
Unread 08-12-2003, 15:54
mikew mikew is offline
crazy coder
#0613 (Franklin RoboWarriors)
Team Role: Programmer
 
Join Date: Apr 2003
Location: Somerset, NJ
Posts: 39
mikew is an unknown quantity at this point
Send a message via AIM to mikew
Re: Linux and new microcontollers.

Ok, I don't want to stuff up the version control thread with off topic posts anymore, so lets continue it here.

I'm gonna write a uploader for Linux if no one else does by the time I need it. (around xmas break) If someone else wants it earlier, they can do it and I'll pitch in later if I can understand the code in 30 minutes. I plan to create an OS agnostic core library that just generates the stuff sent to the serial port, while some wrapper code handles setting up the serial port, sending data, GUI/CLI interface, and whatever else necessary. I guess the parsing of the hex files will be handled by the library, but the wrapper code needs to open the file itself and feed the stuff to the library. Sound like a plan?

I think there's some simple stuff that can be done to make setting up the compiler/linker/assembler toolchain easier. At least some HOWTOs on how to put everything together, and maybe some program/script to automate most of the process. Maybe toss a Makefile in to make things really easy.

I'm not sure if it's possible to use GPUTILS/SDCC instead of the Microchip provided compiler since we need to work with a binary library that communicates with the other microchip inside the controller. I doubt source or specs will be released for that library. I'm not sure if the library is really needed other than to access data from the inputs slowly. Also, SDCC doesn't support the exact chip used in this year's controller, so I don't know if it'll generate working code. GPUTILS works though, you just have to copy the .lnk file (IIRC) since the memory map is slightly different from usual. (can't write to the bootloader region)

The bootloader is the most important part. Let's concentrate on that first. The second most important part is making sure the stuff created by running the toolchain through wine is basically the same as the stuff run natively through windows. My .hex file didn't match the default .hex provided by FIRST, but it may have different code. We need to compare the .hex compiled with mcc on windows, with the .hex provided by first, as well as the .hex generated on linux. Have to be extra careful that the same parameters used on the windows compile is the same in the linux compile. I'll do that this weekend if no one else does it.