[E3-hacking] Nearly there

David Given e3-hacking@earth.li
Tue, 22 Mar 2005 15:11:17 +0000


On Tue, 2005-03-22 at 14:17 +0000, Matt Evans wrote:
[...]
> Perhaps we should start work on a 2ndstage loader?  Something simple, a 
> bit like bootldr (well, more simple) or YAMON etc.

I actually have another project, called PCPM --- Portable CP/M. It's a
single-tasking OS designed to be simple to port; in it's simplest
incarnation, all you need are three functions to read, write and poll
the console, and that's it. It doesn't even need interrupts.

I mention this because it'd make a rather good boot loader. You could
probably fit the kernel in the NOR flash, but as I said, I'm not
touching that.

[...]
> Could this be it copying your image to DRAM, then querying it to find 
> out its start address, then jumping there?

D'oh! Now I'm less tired, the reason it's crashing is obvious --- I must
be missing a dereference somewhere. (I'm putting the first instruction
where the address of the first instruction should be.) I'll try it again
this evening.

...

Incidentally, what would be a good OS to run on this? Not having an MMU
rules out Linux or one of the BSDs; they'd be a bad choice anyway,
because 8MB of RAM is really not a lot. ucLinux is an option, but again,
it's rather large (and I just don't *like* ucLinux).

There's always a traditional embedded OS like eCos, but, well, yuck. (I
work for a company that makes one. No thanks.)

One OS that keeps coming to mind is Minix. Simple, BSD licensed, has a
tiny footprint, segmented rather than paged so we could actually get
some memory protection on the ARM7TDMI, provides a decent set of Unix
semantics...

-- 
+- David Given --McQ-+ "There does not now, nor will there ever, exist a
|  dg@cowlark.com    | programming language in which it is the least bit
| (dg@tao-group.com) | hard to write bad programs." --- Flon's Axiom
+- www.cowlark.com --+