Hi prppl,
GREAT JOB!
Let me try to answer your questions:
It occured to me that if I were the juicebox designer, I would have left a 'backdoor' so I could run custom code on the juicebox to help with final checkout, etc. I noticed that when I put in a MMC card with at least one file on it I would get a full uclinux boot up message string from the serial port (115k baud).
Reading these messages, I determined that at least my juicebox uses 2.4.20, etc. When the serial driver is loaded it says that the input side of the serial driver has been disabled for the 'production version'. (I am not sure how to include those bootup messages in this message or I would.)
Anyways I tried some random names for the MMC files in hopes that I would see the kernel trying to load my 'custom kernel'. For the files themselves I took the Image.rom from the romboot directory from juicebox.tar.gz and gave it several different names. I was thinking that maybe the kernel would look at the file, like it and try to load it and that I would see that somewhere in the kernel messages. I didn't.
I was also thinking that maybe just a patch to the serial driver, or just turning some flag to on would enable the receive side of the serial UART.
I used jtager to halt the CPU and examine the rx serial port parameters. I didn't notice anything obvious (to me). But, I am not much of an ARM hacker, at least not yet.
I have written a program which does enable the serial port for both input and output and DOES echo serial characters. So at least my hardware is known to work and the juicebox is capable of supporting serial input and output.
Anyways, once we have a real kernel we can examine the original juicebox kernel and maybe figure out a patch to reenable the receive UART, examine the running juicebox kernel and fileset, run their code, look at their drivers, upload their files, etc. to see how things really work. Obviously the mp3 codec, the video codec, etc. all then become fair game.
The juicebox port appears to have some promise as a general purpose expansion port. We already have MMC, and flash chips supported.
Lots of fun :)
Hope the above helps.
Happy hacking,
wiz