64MB for programs in Wince - where is OEMAddressTable ??

Post Reply
crmann
Posts: 12
Joined: Sat Feb 06, 2010 9:37 pm

64MB for programs in Wince - where is OEMAddressTable ??

Post by crmann » Tue Mar 09, 2010 6:53 pm

I think this is related to the recent changes to the wince 5 BSP. I cannot find the "OEMAddressTable" entry so I can check to see if all 64MB of ram are being mapped. According to the MSDN help, it should be 64MB by default for ARM and x86 (see "How to Customize Memory on a CEPC"). Theoretically, I just need to update the config.bib settings to allocate the rest of the available RAM to wince.

If I configure config.bib to match the default RAM mappings (again assuming they are defaulted to 64MB per the documentation), my image does not load. As soon as I reset the RAM mapping to 32MB in config.bib I'm ok. I have set IMGRAM64 in the platform settings as well (OS image can be > than 32MB)

I have looked all over my latest BSP and the closest thing I have found is "g_oalAddressTable" in oal_memory.h

any ideas

:?

nicolas
Posts: 162
Joined: Sun Jun 07, 2009 4:32 pm

Re: 64MB for programs in Wince - where is OEMAddressTable ??

Post by nicolas » Tue Mar 09, 2010 11:13 pm

Im quite interested in that setting too. I have not attempted it myself, but have read on the procedure.

I have nothing useful to add at this time, sorry.
This is just so the BBS lets me know if there is any progress on this thread.

Have you tried KITL and the kernel debugger ?

crmann
Posts: 12
Joined: Sat Feb 06, 2010 9:37 pm

Re: 64MB for programs in Wince - where is OEMAddressTable ??

Post by crmann » Wed Mar 10, 2010 4:44 am

nicolas wrote:Im quite interested in that setting too. I have not attempted it myself, but have read on the procedure.

I have nothing useful to add at this time, sorry.
This is just so the BBS lets me know if there is any progress on this thread.

Have you tried KITL and the kernel debugger ?
I found something just after my post; look at "image_cfg.h" in the latest wince 5 BSP (wince5-bsp_20100202). On lines 61 and 62 you have the following:

Code: Select all

#define IMAGE_WINCE_RAM_CA_START        0x80200000
#define IMAGE_WINCE_RAM_SIZE            0x01E00000
I am certain this is the renamed "RAM_SIZE" entries found in the original BSP where "OEMAddressTable is clearly defined. Actually, I found this entry searching for the "RAM_SIZE" string. It is obvious a lot of variable renaming has taken place. I'm not complaining, just trying to work my way through this!

I edited line 62 to reflect 64MB RAM (0x04000000), edited config.bib RAM entry to reflect 64MB (again 0x04000000), rebuilt the image...and nothing. Same problem, gets to my boot logo and hangs. I did this just before I went to sleep so I left it at that!

No I have not tried the debugger yet - I need to get that running. I have the hardware but my PC lacks a LPT port!! I am working on this as my free time permits - but it is steady work so I won't disappear for months. I'll keep you posted on what I find. FWIW I DO have a ROM-based filesystem going and have edited the bootloader code successfully. I like this system I just need all 64MB of RAM in wince! :)

crmann
Posts: 12
Joined: Sat Feb 06, 2010 9:37 pm

Re: 64MB for programs in Wince - where is OEMAddressTable ??

Post by crmann » Fri Mar 12, 2010 4:26 am

I edited the "IMAGE_WINCE_RAM_SIZE" entry and config.bib to reflect 64MB of RAM allocation. The image did not work. So I then changed the config.bib entry to 32 MB (default) and left the "IMAGE_WINCE_RAM_SIZE" entry at 64MB. The image booted :?:

So either A) the #DEFINE's are not being used as I expected them or B) the file is completely irrelevant when it comes to actually allocating the memory (what I mean is that somewhere the available RAM definition is being altered using other data / vars, etc. despite this #DEFINE being set). I also need to review the mapping - the start position seems ok but need to double check.

I dunno, I am lost right now. At any rate, config.bib IS being looked at but for whatever reason I cannot find the code to tell wince that there really is 64MB out there!

domdom
Posts: 3
Joined: Tue Dec 22, 2009 1:58 pm
Location: Rennes, France
Contact:

Re: 64MB for programs in Wince - where is OEMAddressTable ??

Post by domdom » Fri Mar 19, 2010 1:24 am

Hello,
The flash of the mini2440 is a NAND flash. The particularity of the NAND flash is that code can be executed directly from it.
When the mini2440 start up, the bootloader copy the nk.bin file in ram before to execute it.
Then the available ram is not the 64MB but is (64MB - the size of the nk.bin file).
A last thing : nk.bin file is the compressed version of the nk.nb0 file. The data copied in ram are the uncompressed data.

In short, if the size of the nk.nb0 is something like 31MB, the size of the bootloader is 1MB, the system will have only 32MB ram available (64MB - 31MB - 1MB).

You said you have the bootloader source code. What bootloader do you use ? I would like find the source of the bootloader to write an application that allow to update nk.bin directly from Widows CE...

domdom

Post Reply

Who is online

Users browsing this forum: No registered users and 8 guests