Old MIPS/ARM PDAs for Teaching?
"It seems like companies must be sending 128k MIPS handhelds to the landfill at this point, so giving them to us to use in teaching would be a win/win, since they'd get a tax writeoff and some good will instead. But even if they cost $20/ea, that would be fine. Any suggestions on what hardware to use, or what companies to contact? Remember, there must be a convenient way to download executable code into them, using a cable rather than a flash ROM. And we're pretty much a Debian GNU/Linux shop, so a working cross-compiler based on the GNU toolset would be best. An emulator would be even peachier, so students could debug without downloading the code after each little change, although that's not strictly necessary."
I can't really add too much usefull information, but I would question the usefullness of using real PDA's instead of a simulator. I just finished taking a basic computer architecture class from Patterson of Patterson & Hennesy and we used spim as a simulator. If you are trying to learn assembly language, the debugging tools availabel in a simulator are going to be far better, and I suspect any real development(And hence learning) are going to occur with the simulator, and the uploading and running on the PDA will be something you do at the end of the lab as a neat trick. That being said, it'd be a cool neat trick.
Handheld game-playing devices have been in production since the days of the Atari Lynx. The gameboy (original) in particular shouldn't be too hard to get hold of, and certainly shouldn't be particularly expensive. They're based on a slightly cut down Z80 core (AFAIK the only real difference is the lack of the index registers (IX, IY) and their associated instructions).
The gameboy advance(d?) is another possibility: probably more expensive but much easier to get hold of. I've been told that they're based on an ARM7 core.
In both cases, you get enough peripherals for some interesting programming challenges. Seeing your program output to the LCD is a far more rewarding experience than examining the result in a register or a set of memory locations. Also, I'd expect their architectures to be very simple - their hardware is very well understood, and other than their compactness nowhere near cutting edge (and so no bizarre hacks required).
Ian Woods
I'm taking this class next semester, and I would really rather do something with handhelds than the SPARC emulator.
I don't know much about the subject, but you would think there would be a few more replies!
Eric
Why don't you use a simulator of a PDA? You could use, for example, the Palm emulator. That way, you get the nice feedback onscreen, and all the advantages of programming the real thing without the cost.
If you are going to teach computer architecture, teach a real architecture with warts. The MIPS architecture has only one wart, and that was mostly there as a leftover from previous assumptions, as far as I can tell.
I think you will get much more mileage out of teaching students on the x86 architecture. You can get a good emulator and also run things on a regular PC, depending. Most of your problem sets should fit on a 1.44MB floppy, which means that you can just boot an existing computer off of the floppy drive. Write a few pieces of code to make the student's life easier -- i.e. loading an executable image into memory and stuff.
Gentoo Sucks
Good idea. He should also force mustard water down their throats and make them eat their own vomit.