I installed WinCE6 NK.BIN and NBOOT-t35.bin but it seems I only have around 30mb of RAM when I go to control panel/system. Is this normal or is there something I can do so I can have full access to the 64mb of ram on the mini2440? Thanks.
Is 30MB RAM available under WinCE6 normal?
Hi, yes, nk.bin will be copied into the RAM and take 30MB, the rest is for OS's applications. regards mindee
I need all 64MB available for a navigation application that I have. This application is designed to run on a 64MB ram CE 5 PNA (navigon). I have reconfigured "config.bib" and the "image_cfg.h" (IMAGE_WINCE_RAM_SIZE ) entries to reflect 64MB (0x04000000) instead of the default 32MB (0x01E00000). The default settings for config.bib confuse me because they reflect a max allocation of 32MB. I have poured over the MSDN docs, etc and have followed every step for memory config and have searched many files. I just cannot seem to get the right settings coded to access all 64MB of RAM inside wince. Hopefully someone can shed some light on this that is more experienced than me.
It is not possible. Windows CE can not be executed from NAND flash, that's why the bootloader copies nk.bin in ram before to execute it. Then, if the size of your nk.nb0 (nk.bin is a compressed file) is 30Mo and your flash size is 64Mo, you won't have more than 34M0 available for your application. But in reality, it will be less, because OS needs some RAM too. domdom
I have also been wondering about this. Is it really required to copy the whole BIN file into ram? Can't we just copy the kernel into ram, and let it load whatever it needs from NAND as required? :-) I understand that you can't do Execute In Place from NAND, but 80% of BIN isn't used all the time and just takes up space in ram. For instance, if i include .NET2 in the OS then it gets copied into ram with the rest of the BIN. But if i install it later then it gets loaded into ram when needed. Just wondering. :-)
Wow thanks domdom. This is bad news for me (at the moment). Short term solution would be to trim down the image but no way would I be able to get it small enough. Errol thanks for the input as well. I am going to do some research into this. You guys at least gave me enough info to start looking for the right solution. As an aside - maybe we can find the 64MB SDRAM parts that are the brother to the 32MB parts? That is the *real* solution.
crmann, i have also thought about upgrading the ram, but that would require changes in the bootloader, the kernel startup code, SuperVivi(for which we don't have source code) and maybe elsewhere... :-(
Here is something to consider - many of the navigation devices run CE 5 and the applications require 64MB of RAM. Surely there is a solution to this! Thanks again for the info - I was looking in the wrong direction :(
I should note "navigation devices" claim only 64MB RAM onboard...not, say, 128MB so they have "extra" space.
Hi, A solution could be to reduce the size of nk.bin, if a reduced nk.bin is compatible with supervivi, i think we could use the rest of the NAND flash as a flash drive where we could add applications. I tested briefly the windows CE 5.0 image that works like this. My 6.0 image don't, I didn't look why for the moment. We can also add applications in a SDcard. domdom
I am currently using the hive registry and ROM based file system so that my settings are persistent within ce. Is this what you are discussing? I am in the process of trimming down my NK.bin file to see how small I can get it. I did a little research and yes, the core problem is that we cannot use execute in place (XIP) due to using NAND.
No, what i'm trying to say is that if nk.bin reducing is possible (to verify it, check the size of nk.nb0 that is the nk.bin not compressed), it could be possible to configure the NAND flash part dedicated to the OS. Let's say that you have 64Mo of NAND flash. You can configure the OS to take all the 64Mo and not more. Imagine that you have only 32Mo, you will configure the OS to take the 32Mo and not more. So it should be possible to configure the OS for 32Mo and reserve the other 32Mo for a flash disk. But you are right, ROM based file system could be another solution... domdom
I have been able to allocate more RAM to Programs by altering the "FSRAMPERCENT" variable in 'config.bib'. Search the Help database for that variable and also read this article for more info: "CE memory division between "storage" & "program" memory" http://blogs.msdn.com/sloh/archive/2004/09/09/227599.aspx I currently have the following config: FSRAMPERCENT=0x00000020 This will at least allocate practically ALL RAM to programs at boot. I'm still trying to free up more RAM but it is difficult when I need the system shell. It eats up a lot of memory.
A possible greater detail how it was possible to increase the available memory for programs? I have a problem with Navitel Navigator and WCE6.0. - Does not start or crashes with an error.