Having programmed the card, I need to get the winterm to boot from it rather than internal ROM.
The docs say that you need to set CFG2 to 1 to disable internal ROM and map the PCMCIA slot to ROMCS0. A bit of hunting around the ciruit board, and it looks like this CFG2 is wired to one of 2 jumpers near the PCMCIA slot. Time for a bit of trial and error:
- No flash inserted, short jumper xx - no boot :)
- No flash inserted, short jumper yy - no boot :)
- Insert flash, short jumper yy - no boot :(
- Insert flash, short jumper xx - Alios Boots! :-)
So, alios boots, and starts displaying data on serial 1. Linux boots, but the RAM size is wrong. Alios shows 10MB, whereas WinCE reports 24MB!
The mem report shows 16 bit wide DRAM, which seems a bit odd. So, a quick look at the alios code reveals that it is set for matrix keyboard enabled, which limits dram width to 16bit.
Disabling matrix keyboard, and re-trying reports 24MB 32 bit RAM, plus a small amount in bank 3. This causes Linux to fail, as There isn't really RAM in bank 3.
Back to the docs...
Here I see that bank 3 may be set to an illegal configuration, during the RAM check. If this is the case, then bank 3 must be ignored.
The Alios code does not make this check (as far as I can see), so I need to add this in.