Hi,
I'm trying to get nuttx running on my C139 compal_e86(88?) phone. I have been 
reading some emails and loader scripts but am a bit unexperienced with this 
area of software. I've managed to use the "menu" app with flashing successfully 
but so far am unable to get nuttx to run either due to the compal loader not 
letting me load more than 128k into highram or the flash setup not being quite 
right in terms of loader scripts.

I think what I would like is this (based loosely on LINKAGE.txt in 
osmocom-bb/.../compal_e88)

- keep compal loader at 0x0- put something custom at 0x2000, either the menu 
app or a simple 2nd stage loader- put nuttx at 0x10000
The "menu" app option (http://bb.osmocom.org/trac/wiki/flashing_new) would 
require me to modify that code a bit so that I wasn't copying nuttx into 
highram but instead just running it "in-place" in flash. So maybe two header 
options: "highram:APPNAME" and "flash:APPNAME"? I suppose I could try running 
nuttx in highram as menu currently intends, by copying it from flash to ram but 
that seems sort of "wrong" if nuttx is my main goal.
The "other" option would be to write some simple loader for 0x2000 which did 
whatever setup might be required (none?) and simply jump to 0x10000. That way 
the ideas in LINKAGE.txt about safety and what-not are preserved. If I need to 
flash a new nuttx image I don't have to worry about ruining page 0 and compal 
loader and bricking the phone.
Another option would be to replace the compal loader but I'd rather get to 
nuttx sooner than later and don't see much immediate advantage to an entirely 
custom bootloader. 

If I preserve the compal loader then all the normal osmocom-bb functionality is 
preserved in terms of being able to load layer1, rssi if you want to in highram 
while nuttx could be living in flash for booting into "normally" to use as a 
consumer-style device.
I think I prefer the "other" option I mention above to keep things fairly 
simple. Do you think I can just use the flash.lds from compal_e88, modify 
slightly for e86 (bigger IRAM I think is the only change) and simply put a jump 
at 0x2000 to 0x10000? Would that take care of exception vectors, setup and all 
the other stuff I don't currently understand about bringing things "up"?

Just FYI, I am working off the latest nuttx code and not nuttx-bb since 
nuttx-bb seems pretty out of date. Not sure what folks want to do with that.
Thanks,Craig

Reply via email to