Follow Slashdot stories on Twitter


Forgot your password?
Handhelds Hardware

Old MIPS/ARM PDAs for Teaching? 10

Barak Pearlmutter asks: "I'm teaching computer architecture this spring. The course involved a lot of assembly programming, and in the past has used a SPARC simulator. I'd like to get a bunch of PDAs with RISC processors (ARM or MIPS) instead. This requires a development environment that runs under Linux and supports assembler...and some PDAs. The less memory and the slower the CPU the better! Also no virtual memory or real OS to get in the way - best to have direct access to the display and buttons."

"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."

This discussion has been archived. No new comments can be posted.

Old MIPS/ARM PDAs for Teaching?

Comments Filter:
  • SPIM! (Score:4, Insightful)

    by boopus ( 100890 ) on Tuesday December 25, 2001 @06:11PM (#2750091) Journal
    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.
    • Re:SPIM! (Score:3, Interesting)

      by jcwren ( 166164 )
      My only disagreement with this is that the satisfaction of seeing something run on a real piece of hardware is far higher than seeing the output of the simulator.

      And, perhaps if done correctly, the student could keep the PDA with his/her code. After all, if PDAs are constantly becoming obsolete, turnover shouldn't be a problem, right?

    • I have taught a class in logic design / computer architecture from Hennesy & Patterson's book, and I feel that to teach it with SPARC assembly language is just silly. The degenerate SPARC CPU architecture was motivated by the fundamental question, "what can I fit into a 10K gate array in the year 1985 ???" if I remember correctly. I can understand the desire to fill the student's mind with stale and rotting information, as a way to taking revenge for your low academic salary, but teach SPARC assembly language is simply going too far ...

      Since the whole world is going embedded, and increasingly, battery-operated, the two CPU's that are most practical to teach about are (a) ARM (most mips per watt), and (b) 8051 (when you absolutely positively don't need 200 mips to start with ...)
  • 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
    • Can the GNU toolset target these gaming devices, and is there an easy way (ie short of burning a ROM) to get code into them?
      • From what I've read the GNU toolset can target the the gameboy advance. Check this site [] for more information on programing the gameboy advance. To get the code into them there is a flashable card or a cheaper adapter that will allow you to send code directly to your gameboy advance. Both of those are available at this site []
  • 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.

Air is water with holes in it.