1. mini boot -> wherefrom does this code come? NAND flash? some (internal) ROM? (code in CPU internel)
2. BOOT1 -> is this the same as stage1 mentioned in the usbtoolsv1.3.zip? (code write by usb , less 4K)
5. BOOT2 -> is this the same as stage2? (code write by usb , limit by sdram)
isn't there some program similar to vx747writer for the V2000SE which allows you to get past step 3?
( i have only V2000SE , i don't konw about VX747 )
As far as I understand there are 4 (header) structures in a .DL file: CCDL, EXPT, IMPT & RAWD.
* RAWD -> raw data (YES)
* IMPT -> imported symbols (YES)
* EXPT -> exported symbols (including the main() routine) ( NO function main ,only export function location table)
* CCDL -> china chip dynamic loader? (YES, i think this is fix field )
Is this correct?
Now the symbols in IMPT: are pointers to the particular symbol loaded at the addresses in the structure or .. ?
And how about EXPT? Are pointers to these symbols loaded at these addresses?
( IMPT is point out dl file want what .
EXPT is point out what it can give .
if CCPMP.BIN can't give all function request by dl , the load action will not do.
EXPT like windows dll file DLL_EXPORT
)
Then some info about similarity between the V2000SE and the VX747: I've tried loading the V2000SE firmware (and the VX757) on my VX747 and succeeded, but both got stuck at the loading screen.
This means 2 things:
1) either the LCD init code is the same across the devices (unlikely)
2) or the Onda bootloader inits the LCD and loads ccpmp.bin which doesn't have to do anything anymore
(
VX989+ have three type LCM . but use same firmware. so i think LCM driver is save at an other location.
those MP4 have same CPU,but other hardware not same, so firmware can boot, but can't run success.
)
So for getting Rockbox running I though about these possibilities:
* in development phase, we should compile code and upload them to SDRAM where it should get runned
( load RockBoxy by CCPMP.BIN i think we should do .
the loader.dl is a plug . and using this we can load more plugs.
)
* in public phase, we could use the official method and make a .HXF file or just go for the USBtools method and flash it like that OR we could use the method you're doing at the moment: replacing a game with our own (bootloader) code
( i can't write boot loader , because some SoC detail is unknown )
* for dual booting there is the possibility of moving the original ccpmp.bin a bit further in NAND (and putting a bootloader before it which decides to load Rockbox or original firmware by pressing the hold button or similar) or just going for the game replacement way
What do you think?
( dual boot , we must face difference LCM , and difference hardware design.)
I would also like to ask you if you could provide (some of) your source code from the emulator, first hello world application, ... ? That could help in easying development.
(
http://www.vote4u.cn/v2000se/cygwin.rar Develop ENV release by me . CYGWIN )