none
memory allocation problem . RRS feed

  • Question

  • This is the problem iam having

    if i navigate to start->settings->controlpanel->system and if i allocate the memory by moving the slider and i saved it.

    but after the boot it is changing.Can anybody say why the problem is.

    this are the measures i took to solve the problem by adding the following code by changing the value in config.bib file but no use

    FSRAMPERCENT=0x80808080, which specifies 50 percent of RAM allocated for the file system.

    Thursday, June 24, 2010 6:21 AM

Answers

All replies

  • you are right. To make it permant the setting, you have to change the FSRAMPERCENT value.

    in which section of the config.bib you have entered this value? is it in CONFIG section of the file?

    Post the entire content of the config.bib, so that we can find the issue easily.


    Vinoth.R http://vinoth-vinothblog.blogspot.com http://www.e-consystems.com
    Thursday, June 24, 2010 6:40 AM
  • In addition to that the default value is 0x80808080 and if you comment the FSRAMPERCENT, you will get the 50% RAM and 50% storage as default.

    Also just check the FSRAMPERCENT entry in CE.bib file in the PBworkspaces release directory. if it is not there, then copy your config.bib file to release directory and perform makeimg again to get it reflected.

     


    Vinoth.R http://vinoth-vinothblog.blogspot.com http://www.e-consystems.com
    Thursday, June 24, 2010 6:50 AM
  • This is my config.bib file ,i have changed and i tryed FSRAMPERCENT but it is not working,  after the boot the memory allocation which  was set in the previous boot was changing and i can see my config.bib in my release directory.

    is there any file called config.bin?but i cant find anything like that in my BSp

     

    ;
    ; Copyright (c) Microsoft Corporation.  All rights reserved.
    ;
    ;
    ; Use of this source code is subject to the terms of the Microsoft end-user
    ; license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
    ; If you did not accept the terms of the EULA, you are not authorized to use
    ; this source code. For a copy of the EULA, please see the LICENSE.RTF on your
    ; install media.
    ;
    MEMORY

    #if defined IMGRAM16
    ; 16 MB of RAM (note: AUTOSIZE will adjust boundary)
     NK       80220000  009E0000  RAMIMAGE
     RAM      80C00000  00400000  RAM
    #elif defined IMGRAM32
    ; 32 MB of RAM (note: AUTOSIZE will adjust boundary)
     NK       80220000  009E0000  RAMIMAGE
     RAM      80C00000  01400000  RAM
    #elif defined IMGRAM64
    ; 64 MB of RAM (note: AUTOSIZE will adjust boundary)
     NK       80220000  009E0000  RAMIMAGE
     RAM      80C00000  03400000  RAM
    #elif defined IMGRAM112
    ; 112 MB of RAM (note: AUTOSIZE will adjust boundary)
     NK       80220000  009E0000  RAMIMAGE
     RAM      80C00000  06000000  RAM
    #elif defined IMGRAM128
    ; 128 MB of RAM (note: AUTOSIZE will adjust boundary)
     NK       80220000  009E0000  RAMIMAGE
     RAM      80C00000  07100000  RAM
    #elif defined IMGRAM256
    ; 256 MB of RAM (note: AUTOSIZE will adjust boundary)
     NK       80220000  009E0000  RAMIMAGE
     RAM      80C00000  0EB00000  RAM
    #elif defined IMGRAM512
    ; 512 MB of RAM (note: AUTOSIZE will adjust boundary)
     NK       80220000  009E0000  RAMIMAGE
     RAM      80C00000  1E000000  RAM
    #else
    ; 28 MB of RAM (default) (note: AUTOSIZE will adjust boundary)
    ; This value will cause the RAM auto-detect feature to trigger
     NK       80220000  009E0000  RAMIMAGE
     RAM      80C00000  01000000  RAM
    #endif

    ;;Add for General Software BIOS
    ;;  UMABUF   83800000  00400000  RESERVED

    ; Hard reset the system on a software reboot?
    ;
    IF BSP_HARDRESET
        pdwHardReset        00000000        1       FIXUPVAR
    ELSE
        pdwHardReset        00000000        0       FIXUPVAR
    ENDIF

       FRAMEBUF  800A0000  00020000  RESERVED
       AUDIOBUF  801FC000  00002000  RESERVED
       LOADRBUF  801FFF00  00000100  RESERVED
       EDBG      80200000  00020000  RESERVED ; EDBG DMA buffer

    CONFIG
       AUTOSIZE=ON
      
    ; @CESYSGEN IF !NK_NKNOCOMP
        COMPRESSION=ON
    ; @CESYSGEN ENDIF !NK_NKNOCOMP
    ; @CESYSGEN IF NK_NKNOCOMP
        COMPRESSION=OFF
    ; @CESYSGEN ENDIF NK_NKNOCOMP

    IF IMGPROFILER  
       PROFILE=ON
    ENDIF
    IF IMGPROFILER !
       PROFILE=OFF
    ENDIF

       KERNELFIXUPS=ON

    ;
    ; ROMFLAGS is a bitmask of options for the kernel
    ; ROMFLAGS 0x0001 Disallow Paging
    ; ROMFLAGS 0x0002 Not all KMode
    ;       ROMFLAGS        0x0010  Trust Module only
    ;
    IF IMGTRUSTROMONLY
        IF IMGNOTALLKMODE
           ROMFLAGS=12
        ENDIF
        IF IMGNOTALLKMODE !
           ROMFLAGS=10
        ENDIF
    ENDIF

    IF IMGTRUSTROMONLY !
        IF IMGNOTALLKMODE
           ROMFLAGS=2
        ENDIF
        IF IMGNOTALLKMODE !
           ROMFLAGS=0
        ENDIF
    ENDIF


    IF _TGTCPUFAMILY=x86
       ROMOFFSET=80000000
    ENDIF

    IF IMGTINYFSRAM
     FSRAMPERCENT=0x10203040
    ENDIF

    Thursday, June 24, 2010 8:27 AM
  • Dear Vinoth,

    i want to know weather this problem happens due to problem in registery saving?

    is there any chance?

     

    also i tryed this i created anew folder and i saved my registery but after the boot i cant find my new folder

    help pls.

    Thursday, June 24, 2010 8:57 AM
  • Dear Vinoth,

     

    if i set 50% of memory allocation in config.bib it persists after boot also.

    but i want to set it by moving the slider and it should persist after booting .

    for example 75% by moving the slider.

    is it possible?

     

    Thursday, June 24, 2010 9:53 AM
  • Dear vinoth,

    If i set 50% of memory allocation in config.bib it is working fine after the boot it persists the 50%.

    But what iam asking is, if i change the slider to 70% after setting the config.bib to 50% the 70% should persist after the Boot

    How can i do that?

    Is it possible?

     

    Thanks,

    J.selvabharathi.

    Thursday, June 24, 2010 10:15 AM
  • If you want memory division to 70%,you can configure using FSRAMPERCENT.It will surely work.
     
    Make your "AUTOSIZE = OFF".
     
    Check whether your FSRAMPERCENT setting is present in CE.bib file in the release directory.
    Thursday, June 24, 2010 10:25 AM
  • i asked you to check the presence of FSRAMPRECENT in CE.bib in the first reply. Did you check that?

    Why i am specifically asking is FSRAMPERCENT is presence in between the environmental variable IMGTINYFSRAM.

    IF IMGTINYFSRAM
     FSRAMPERCENT=0x10203040
    ENDIF

    Did you enable the IMGTINYFSRAM in your build? if not, you won't get the FSRAMPERCENT in the CE.bib and CE.bib contains the final collection of bib entries and it is created during the makeimg process.


    Vinoth.R http://vinoth-vinothblog.blogspot.com http://www.e-consystems.com
    Thursday, June 24, 2010 10:59 AM
  • Mr.Prabu,

    Thanks for ur reply.when i set like u said iam getting a error like this

    Ram interferes with rom image.

     

    ;
    ; Copyright (c) Microsoft Corporation.  All rights reserved.
    ;
    ;
    ; Use of this source code is subject to the terms of the Microsoft end-user
    ; license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
    ; If you did not accept the terms of the EULA, you are not authorized to use
    ; this source code. For a copy of the EULA, please see the LICENSE.RTF on your
    ; install media.
    ;
    MEMORY

    #if defined IMGRAM16
    ; 16 MB of RAM (note: AUTOSIZE will adjust boundary)
     NK       80220000  009E0000  RAMIMAGE
     RAM      80C00000  00400000  RAM
    #elif defined IMGRAM32
    ; 32 MB of RAM (note: AUTOSIZE will adjust boundary)
     NK       80220000  009E0000  RAMIMAGE
     RAM      80C00000  01400000  RAM
    #elif defined IMGRAM64
    ; 64 MB of RAM (note: AUTOSIZE will adjust boundary)
     NK       80220000  009E0000  RAMIMAGE
     RAM      80C00000  03400000  RAM
    #elif defined IMGRAM112
    ; 112 MB of RAM (note: AUTOSIZE will adjust boundary)
     NK       80220000  009E0000  RAMIMAGE
     RAM      80C00000  06000000  RAM
    #elif defined IMGRAM128
    ; 128 MB of RAM (note: AUTOSIZE will adjust boundary)
     NK       80220000  009E0000  RAMIMAGE
     RAM      80C00000  07100000  RAM
    #elif defined IMGRAM256
    ; 256 MB of RAM (note: AUTOSIZE will adjust boundary)
     NK       80220000  009E0000  RAMIMAGE
     RAM      80C00000  0EB00000  RAM
    #elif defined IMGRAM512
    ; 512 MB of RAM (note: AUTOSIZE will adjust boundary)
     NK       80220000  009E0000  RAMIMAGE
     RAM      80C00000  1E000000  RAM
    #else
    ; 28 MB of RAM (default) (note: AUTOSIZE will adjust boundary)
    ; This value will cause the RAM auto-detect feature to trigger
     NK       80220000  009E0000  RAMIMAGE
     RAM      80C00000  01000000  RAM
    #endif

    ;;Add for General Software BIOS
    ;;  UMABUF   83800000  00400000  RESERVED

    ; Hard reset the system on a software reboot?
    ;
    IF BSP_HARDRESET
        pdwHardReset        00000000        1       FIXUPVAR
    ELSE
        pdwHardReset        00000000        0       FIXUPVAR
    ENDIF

       FRAMEBUF  800A0000  00020000  RESERVED
       AUDIOBUF  801FC000  00002000  RESERVED
       LOADRBUF  801FFF00  00000100  RESERVED
       EDBG      80200000  00020000  RESERVED ; EDBG DMA buffer

    CONFIG
       AUTOSIZE = OFF
      
    ; @CESYSGEN IF !NK_NKNOCOMP
        COMPRESSION=ON
    ; @CESYSGEN ENDIF !NK_NKNOCOMP
    ; @CESYSGEN IF NK_NKNOCOMP
        COMPRESSION=OFF
    ; @CESYSGEN ENDIF NK_NKNOCOMP

    IF IMGPROFILER  
       PROFILE=ON
    ENDIF
    IF IMGPROFILER !
       PROFILE=OFF
    ENDIF

       KERNELFIXUPS=ON

    ;
    ; ROMFLAGS is a bitmask of options for the kernel
    ; ROMFLAGS 0x0001 Disallow Paging
    ; ROMFLAGS 0x0002 Not all KMode
    ;       ROMFLAGS        0x0010  Trust Module only
    ;
    IF IMGTRUSTROMONLY
        IF IMGNOTALLKMODE
           ROMFLAGS=12
        ENDIF
        IF IMGNOTALLKMODE !
           ROMFLAGS=10
        ENDIF
    ENDIF

    IF IMGTRUSTROMONLY !
        IF IMGNOTALLKMODE
           ROMFLAGS=2
        ENDIF
        IF IMGNOTALLKMODE !
           ROMFLAGS=0
        ENDIF
    ENDIF


    IF _TGTCPUFAMILY=x86
       ROMOFFSET=80000000
    ENDIF

    IF IMGTINYFSRAM
     FSRAMPERCENT=0x80808080
    ENDIF

     

    Thursday, June 24, 2010 11:03 AM
  • Dear vinoth,

    If i set 50% of memory allocation in config.bib it is working fine after the boot it persists the 50%.

    But what iam asking is, if i change the slider in controlpanel->system  to 70% after setting the config.bib to 50% the 70% should persist after the Boot

    How can i do that?

    Is it possible?

     

    Thanks,

    J.selvabharathi.

    Thursday, June 24, 2010 11:05 AM
  • this is my config.bib file. i did it as you said but iam grtting a error like this

    error ram overlaps with rom

    ;
    ; Copyright (c) Microsoft Corporation.  All rights reserved.
    ;
    ;
    ; Use of this source code is subject to the terms of the Microsoft end-user
    ; license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
    ; If you did not accept the terms of the EULA, you are not authorized to use
    ; this source code. For a copy of the EULA, please see the LICENSE.RTF on your
    ; install media.
    ;
    MEMORY

    #if defined IMGRAM16
    ; 16 MB of RAM (note: AUTOSIZE will adjust boundary)
     NK       80220000  009E0000  RAMIMAGE
     RAM      80C00000  00400000  RAM
    #elif defined IMGRAM32
    ; 32 MB of RAM (note: AUTOSIZE will adjust boundary)
     NK       80220000  009E0000  RAMIMAGE
     RAM      80C00000  01400000  RAM
    #elif defined IMGRAM64
    ; 64 MB of RAM (note: AUTOSIZE will adjust boundary)
     NK       80220000  009E0000  RAMIMAGE
     RAM      80C00000  03400000  RAM
    #elif defined IMGRAM112
    ; 112 MB of RAM (note: AUTOSIZE will adjust boundary)
     NK       80220000  009E0000  RAMIMAGE
     RAM      80C00000  06000000  RAM
    #elif defined IMGRAM128
    ; 128 MB of RAM (note: AUTOSIZE will adjust boundary)
     NK       80220000  009E0000  RAMIMAGE
     RAM      80C00000  07100000  RAM
    #elif defined IMGRAM256
    ; 256 MB of RAM (note: AUTOSIZE will adjust boundary)
     NK       80220000  009E0000  RAMIMAGE
     RAM      80C00000  0EB00000  RAM
    #elif defined IMGRAM512
    ; 512 MB of RAM (note: AUTOSIZE will adjust boundary)
     NK       80220000  009E0000  RAMIMAGE
     RAM      80C00000  1E000000  RAM
    #else
    ; 28 MB of RAM (default) (note: AUTOSIZE will adjust boundary)
    ; This value will cause the RAM auto-detect feature to trigger
     NK       80220000  009E0000  RAMIMAGE
     RAM      80C00000  01000000  RAM
    #endif

    ;;Add for General Software BIOS
    ;;  UMABUF   83800000  00400000  RESERVED

    ; Hard reset the system on a software reboot?
    ;
    IF BSP_HARDRESET
        pdwHardReset        00000000        1       FIXUPVAR
    ELSE
        pdwHardReset        00000000        0       FIXUPVAR
    ENDIF

       FRAMEBUF  800A0000  00020000  RESERVED
       AUDIOBUF  801FC000  00002000  RESERVED
       LOADRBUF  801FFF00  00000100  RESERVED
       EDBG      80200000  00020000  RESERVED ; EDBG DMA buffer

    CONFIG
       AUTOSIZE = OFF
      
    ; @CESYSGEN IF !NK_NKNOCOMP
        COMPRESSION=ON
    ; @CESYSGEN ENDIF !NK_NKNOCOMP
    ; @CESYSGEN IF NK_NKNOCOMP
        COMPRESSION=OFF
    ; @CESYSGEN ENDIF NK_NKNOCOMP

    IF IMGPROFILER  
       PROFILE=ON
    ENDIF
    IF IMGPROFILER !
       PROFILE=OFF
    ENDIF

       KERNELFIXUPS=ON

    ;
    ; ROMFLAGS is a bitmask of options for the kernel
    ; ROMFLAGS 0x0001 Disallow Paging
    ; ROMFLAGS 0x0002 Not all KMode
    ;       ROMFLAGS        0x0010  Trust Module only
    ;
    IF IMGTRUSTROMONLY
        IF IMGNOTALLKMODE
           ROMFLAGS=12
        ENDIF
        IF IMGNOTALLKMODE !
           ROMFLAGS=10
        ENDIF
    ENDIF

    IF IMGTRUSTROMONLY !
        IF IMGNOTALLKMODE
           ROMFLAGS=2
        ENDIF
        IF IMGNOTALLKMODE !
           ROMFLAGS=0
        ENDIF
    ENDIF


    IF _TGTCPUFAMILY=x86
       ROMOFFSET=80000000
    ENDIF

    IF IMGTINYFSRAM
     FSRAMPERCENT=0x20202020
    ENDIF

    Thursday, June 24, 2010 11:09 AM
  • Then you have to increase the RAMIMAGE size and adjust the RAM area according to that in the above entries in MEMORY section. you have the options from 16MB to 512MB. Which one you have selected for your device at presence? Increase the corresponding sieze in the NK <address> <size> RAMIMAGE area to clear the error or remove the components (which are all not required for your device) from the platform builder.
    Vinoth.R http://vinoth-vinothblog.blogspot.com http://www.e-consystems.com
    Thursday, June 24, 2010 11:15 AM
  • iam using 512mb of ram then it should be like this right

    ;
    ; Copyright (c) Microsoft Corporation.  All rights reserved.
    ;
    ;
    ; Use of this source code is subject to the terms of the Microsoft end-user
    ; license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
    ; If you did not accept the terms of the EULA, you are not authorized to use
    ; this source code. For a copy of the EULA, please see the LICENSE.RTF on your
    ; install media.
    ;
    MEMORY

     
    IF defined IMGRAM512
    ; 512 MB of RAM (note: AUTOSIZE will adjust boundary)
     NK       80220000  009E0000  RAMIMAGE
     RAM      80C00000  1E000000  RAM

    ENDIF

    ;;Add for General Software BIOS
    ;;  UMABUF   83800000  00400000  RESERVED

    ; Hard reset the system on a software reboot?
    ;
    IF BSP_HARDRESET
        pdwHardReset        00000000        1       FIXUPVAR
    ELSE
        pdwHardReset        00000000        0       FIXUPVAR
    ENDIF

       FRAMEBUF  800A0000  00020000  RESERVED
       AUDIOBUF  801FC000  00002000  RESERVED
       LOADRBUF  801FFF00  00000100  RESERVED
       EDBG      80200000  00020000  RESERVED ; EDBG DMA buffer

    CONFIG
       AUTOSIZE = OFF
      
    ; @CESYSGEN IF !NK_NKNOCOMP
        COMPRESSION=ON
    ; @CESYSGEN ENDIF !NK_NKNOCOMP
    ; @CESYSGEN IF NK_NKNOCOMP
        COMPRESSION=OFF
    ; @CESYSGEN ENDIF NK_NKNOCOMP

    IF IMGPROFILER  
       PROFILE=ON
    ENDIF
    IF IMGPROFILER !
       PROFILE=OFF
    ENDIF

       KERNELFIXUPS=ON

    ;
    ; ROMFLAGS is a bitmask of options for the kernel
    ; ROMFLAGS 0x0001 Disallow Paging
    ; ROMFLAGS 0x0002 Not all KMode
    ;       ROMFLAGS        0x0010  Trust Module only
    ;
    IF IMGTRUSTROMONLY
        IF IMGNOTALLKMODE
           ROMFLAGS=12
        ENDIF
        IF IMGNOTALLKMODE !
           ROMFLAGS=10
        ENDIF
    ENDIF

    IF IMGTRUSTROMONLY !
        IF IMGNOTALLKMODE
           ROMFLAGS=2
        ENDIF
        IF IMGNOTALLKMODE !
           ROMFLAGS=0
        ENDIF
    ENDIF


    IF _TGTCPUFAMILY=x86
       ROMOFFSET=80000000
    ENDIF

    IF IMGTINYFSRAM
     FSRAMPERCENT=0x00000080
    ENDIF

     

    Thursday, June 24, 2010 11:50 AM
  • iam using 1gb of ram which should i use
    Thursday, June 24, 2010 11:58 AM
  • pls reply
    Thursday, June 24, 2010 12:04 PM
  • you have to adjust the RAMIMAGE Area. i think currently you have given 9 to 10 MB. Increase the size of RAMIMAGE and according to that adjust the RAM area to occupy the remaining area until you didn't get the overlapping error.

    I don't know exactly the size of required RAMIMAGE area. so do it in the trial and error method by increasing it. try with 30MB of RAMIMAGE and remaining for RAM.  Then adjust the RAMIMAGE by increasing or decreasing. if the error is not occured decrease it otherwise increase it.

    I am asking again, did you check the CE.bib file? about the FSRAMPERCENT as well as the you can find only one entry of RAMIMAGE and RAM in the CE.bib. you can double confirm the size allocated for your image.

     

     


    Vinoth.R http://vinoth-vinothblog.blogspot.com http://www.e-consystems.com
    Thursday, June 24, 2010 12:05 PM
  • i saw the CE.bib file

    this is the entry there .

    ; 112 MB of RAM (note: AUTOSIZE will adjust boundary)
     NK       80220000  009E0000  RAMIMAGE
     RAM      80C00000  06000000  RAM

    Thursday, June 24, 2010 12:31 PM
  • windows CE supports direct hardware mapping  upto 512MB only that including RAM and other peripherials. Better you can go for RAM lesser than 512MB.
    Vinoth.R http://vinoth-vinothblog.blogspot.com http://www.e-consystems.com
    Thursday, June 24, 2010 12:44 PM
  • HELLO VINOTH,

    I TRYED BY INCREASING THE SIZE LIKE THIS AND I COMMENTED fsrampercent bUT I DIDNT GET ANY ERRORS BUT WINCE IS NOT BOOTING UP PLS HELP

     

    #if defined IMGRAM112
    ; 112 MB of RAM (note: AUTOSIZE will adjust boundary)
     NK       80220000  80808080  RAMIMAGE
     RAM      80C00000  80808080  RAM
    #elif defined IMGRAM112
    ; 112 MB of RAM (note: AUTOSIZE will adjust boundary)
     NK       80220000  80808080  RAMIMAGE
     RAM      80C00000  80808080  RAM
    ; 112 MB of RAM (note: AUTOSIZE will adjust boundary)
     NK       80220000  80808080  RAMIMAGE
     RAM      80C00000  80808080  RAM
    #endif

     

    ;;Add for General Software BIOS
    ;;  UMABUF   83800000  00400000  RESERVED

    ; Hard reset the system on a software reboot?
    ;
    IF BSP_HARDRESET
        pdwHardReset        00000000        1       FIXUPVAR
    ELSE
        pdwHardReset        00000000        0       FIXUPVAR
    ENDIF

       FRAMEBUF  800A0000  00020000  RESERVED
       AUDIOBUF  801FC000  00002000  RESERVED
       LOADRBUF  801FFF00  00000100  RESERVED
       EDBG      80200000  00020000  RESERVED ; EDBG DMA buffer

    CONFIG
       AUTOSIZE = OFF
      
    ; @CESYSGEN IF !NK_NKNOCOMP
        COMPRESSION=ON
    ; @CESYSGEN ENDIF !NK_NKNOCOMP
    ; @CESYSGEN IF NK_NKNOCOMP
        COMPRESSION=OFF
    ; @CESYSGEN ENDIF NK_NKNOCOMP

    IF IMGPROFILER  
       PROFILE=ON
    ENDIF
    IF IMGPROFILER !
       PROFILE=OFF
    ENDIF

       KERNELFIXUPS=ON

    ;
    ; ROMFLAGS is a bitmask of options for the kernel
    ; ROMFLAGS 0x0001 Disallow Paging
    ; ROMFLAGS 0x0002 Not all KMode
    ;       ROMFLAGS        0x0010  Trust Module only
    ;
    IF IMGTRUSTROMONLY
        IF IMGNOTALLKMODE
           ROMFLAGS=12
        ENDIF
        IF IMGNOTALLKMODE !
           ROMFLAGS=10
        ENDIF
    ENDIF

    IF IMGTRUSTROMONLY !
        IF IMGNOTALLKMODE
           ROMFLAGS=2
        ENDIF
        IF IMGNOTALLKMODE !
           ROMFLAGS=0
        ENDIF
    ENDIF


    IF _TGTCPUFAMILY=x86
       ROMOFFSET=80000000
    ENDIF

    IF IMGTINYFSRAM
     ;FSRAMPERCENT=0x0000008
    ENDIF

     

    Thursday, June 24, 2010 1:21 PM
  • What you are doing? what is 80808080? you have to provide the required size for example

    ; 16 MB of RAM (note: AUTOSIZE will adjust boundary)
     NK       80220000  009E0000  RAMIMAGE
     RAM      80C00000  00400000  RAM
     

    here 80220000 is the starting address and 009E0000 is the size required for the RAMIMAGE.

    And the remaining area is allocated for RAM

    80220000+9E0000 = 80C00000 is the starting address of the RAM and the size is 400000.

    Are you able to understand this?

    don't get confused with FSRAMPERCENT.

    Please read the link and do ti

    http://msdn.microsoft.com/en-us/library/ms923584.aspx

     


    Vinoth.R http://vinoth-vinothblog.blogspot.com http://www.e-consystems.com
    Thursday, June 24, 2010 1:39 PM
  • OOPS MADE A MISTAKE NOT BOOTING
    Thursday, June 24, 2010 2:30 PM
  • Selvabha:

    See http://geekswithblogs.net/BruceEitman/archive/2009/12/09/platform-builder-setting-default-memory-divisions.aspx
    and http://geekswithblogs.net/BruceEitman/archive/2008/08/20/windows-ce-automatically-setting-the-object-store-size.aspx

    Both show you how to programmatically set the RAM percent.  With that information you can develop code to save the settings, and restore them on bootup.  There is no automatic way to save the settings.


    -- Bruce Eitman (eMVP) Senior Engineer Bruce.Eitman AT Eurotech DOT com My BLOG http://geekswithblogs.net/bruceeitman Eurotech Inc. www.Eurotech.com
    Thursday, June 24, 2010 3:16 PM
    Moderator
  • Yes mr.vinoth sir, Mr bruce is correct i, check all the possibilities u indicated but after boot there is no use.
    Thursday, June 24, 2010 4:53 PM
  • Selvabha:

    I am not sure that I understand what you mean by "after boot there is no use".  Do you mean that it still won't boot?

    There is good news, you can put it all back to how it was before you made any changes.  Start there, get it to boot.  Then you can try to do what Vinoth and I have suggested instead.

    I am also confused about what you are doing, or trying to do.  I thought that you were trying to set the RAM percent, but now it looks like you are trying to increase the amount of available RAM.  That is a totally different topic.


    -- Bruce Eitman (eMVP) Senior Engineer Bruce.Eitman AT Eurotech DOT com My BLOG http://geekswithblogs.net/bruceeitman Eurotech Inc. www.Eurotech.com
    Thursday, June 24, 2010 8:24 PM
    Moderator
  • Mr. bruce this is what i want to do

    i just want to move the slider of the memory allocation which is situated in control Panel->system

    for example if i move the slider to some say 60% of storage room 40%of program memory

    after the boot it was not setted as i like setted above.

    Now i know the reason because of config.bib file loading on boot:

    this makes the slider to move to the default position as written in config.bib.

    is it true Mr.Bruce ?,Mr.vinoth?

     

    Dear Mr.Vinoth,

    i tried all the things you said my but after booting the slider is moving to the default position

    as i stated to Mr.Bruce.

    this is the calculation i have done as u said, to set the memory allocation slider as it was setted in the previous boot. 

     

    i saw the CE.bib file

    this is the entry there .

    ; 112 MB of RAM (note: AUTOSIZE will adjust boundary)

     NK       80220000  009E0000  RAMIMAGE

     RAM      80C00000  06000000  RAM

     

    size

    total address size is(80220000+06000000)=86220000

    so if i want to configure  ram image to 32 mb

    i have to add 03200000+80220000=83420000

     

    so it should be like this

    NK 80220000 03200000 RAMIMAGE

    RAM 83420000  06000000 RAM

     

    and i made

    CONFIG
       AUTOSIZE = OFF

     

    IF IMGTINYFSRAM
     ;FSRAMPERCENT=0x0000008(note :comment)

    ENDIF

     

    is it right Mr.prabu

    after doing this,will my issue(stated above) get solved?

     

     

     

     

    Friday, June 25, 2010 2:22 AM
  • Dear Mr.vinoth and Mr. prabu still iam having the same problem any solution pls?
    Friday, June 25, 2010 4:38 AM
  • Is your system cold boot everytime? Can the object store keep data after reboot? (Files, registry and etc) Also you may want to check if OEMInit calls NKForceCleanBoot in your OAL. (That is one of flow leads to clean boot)
    Since the CalcFSPages (a helper function that retrieving FSRamPercent from pTOC/ROM header) only get called when clean/cold boot, so perhaps your system is cold boot everytime.
    You can trace KernelFindMemory in private\winceos\COREOS\nk\kernel\loader.c for further investigation.

    Friday, June 25, 2010 5:17 AM
  • yes my system is using cold boot every time.ok i tryed this after getting ur message

    1)i created anew folder in my desktop and i saved my registry  and i switched off and turned on but i cant see my new folder .

    2)u think is it related to my issue?

    Friday, June 25, 2010 5:38 AM
  • Yes, that is a sympom of cold boot.
    And as system wipes out everything so that means whatever memory division setting you set in Control Panel (it actually use SetSystemMemoryDivision API to do the work), it will be reset to what FSRAMPERCENT indicated.
    A possible solution is to record memory division setting before reboot (had better stored in some non-volatile memory, e. g. Flash) and refer to Bruce's link to implement pOEMCalcFSPages to restore the memory dividion by OAL.
    • Edited by K M O S Friday, June 25, 2010 6:52 AM
    Friday, June 25, 2010 5:59 AM
  • Dear K M O S

     

    actually iam having lot of problem in understanding wince 5.0

    now can u give me a solution for this

    http://social.msdn.microsoft.com/Forums/en-US/winembplatdev/thread/ed8ca5f0-19cf-4b01-a6f9-2b917a16d28d

     

    Friday, June 25, 2010 6:32 AM
  • You are confused becuase FSRAMPERCENT and config.bib have nothing to do with solving your problem - they set the default value, they do not set a value based on using the slider.

    As I stated earlier, you will need to write some code to save the percent and restore it on boot up.  Failure to consider this and do it may result in your being fired :-)

    Probably the easist way will be to have an app or driver that monitors the memory setting and saves it when it changes.  When that code starts retreive the saved settings and call SetSystemMemoryDivision().   You could modify the system control panel applet to save the value, but that won't handle the case where an application sets it using SetSystemMemoryDivision() or handle restoring the value on boot.


    -- Bruce Eitman (eMVP) Senior Engineer Bruce.Eitman AT Eurotech DOT com My BLOG http://geekswithblogs.net/bruceeitman Eurotech Inc. www.Eurotech.com
    Friday, June 25, 2010 12:35 PM
    Moderator
  • Dear Bruce,

     

    can i do these things

    if i set FSRAMPERCENT=50% in config.bib

    after the boot the slider should come to 50% that means slider should come in the middile

    if i set FSRAMPERCENT=100% in config.bib

    after the boot the slider should come to 100% that means slider should come in the last position.

    can i do that?

    help please

    Monday, June 28, 2010 5:20 AM
  • Hi,

    can anybody help on this issue

    Monday, June 28, 2010 8:38 AM
  • hi,

    can anybody help on this issues.

    Monday, June 28, 2010 8:38 AM
  • Dear vinoth,

    If i set 50% of memory allocation in config.bib it is working fine after the boot it persists the 50%.

    But what iam asking is, if i change the slider in controlpanel->system  to 70% after setting the config.bib to 50% the 70% should persist after the Boot

    How can i do that?

    Is it possible?

     

    Thanks,

    J.selvabharathi.


    As I have already pointed out, you can do that but you have to write some code.  I even provided you with sample code to use.
    Bruce Eitman (eMVP)
    Senior Engineer
    Bruce.Eitman AT Eurotech DOT com
    My BLOG http://geekswithblogs.net/bruceeitman

    Eurotech Inc.
    www.Eurotech.com
    Monday, June 28, 2010 12:14 PM
    Moderator
  • Start using Google. Keep asking questions and demanding answers this way
    and people will start ignoring you. Remember we are not being paid by
    you and we can not and will not do your job. I've read that you are
    afraid to loose your job. If you want to keep your job you should show
    some initiative and find answers yourself (by searching in Google, then
    READ!) and learn something.
     
    That said, READ THIS:
    http://guruce.com/blogpost/howtoaskquestionsonnewsgroups
     
    Then, to answer your own questions, READ THESE:
    http://blogs.msdn.com/b/sloh/archive/2004/09/09/227599.aspx
    http://msdn.microsoft.com/en-us/library/ee479036.aspx
     

    Good luck,

    Michel Verhagen, eMVP
    Check out my blog: http://guruce.com/blog

    GuruCE
    Microsoft Embedded Partner
    http://guruce.com
    Consultancy, training and development services.
    Wednesday, June 30, 2010 4:07 AM
    Moderator
  • Dear Bruce,

    Really your answers are problem solving answers but one thing i cant understand abt 

                    GetSystemMemoryDivision(&StorePages, &RamPages, &PageSize);

                what are the thes eparameters  storepages,rampages,pagesize,will provide?

    Can u give me some brief information about these three?

    because i have searched for it in google i can't find more information abt these parameers.Also can u please tell me which parameter will give the current allocation of the slider.

    after getting the curreent allocation can i make a new entry in the registry ,saving current allocation of the slider or i have to write a file handling like this to save and restore.

     

    here is my algorithm for save.exe

     

     GetSystemMemoryDivision(&StorePages, &RamPages, &PageSize);

    fopen(selva.txt)

    fwrite(storepages+rampages to harddisk)

    fcclose(selva.txt)

    to restore it at the boot  using a bat file to call the restore.exe 

    fread(storepages+rampages from harddisk)

                    GetSystemMemoryDivision(storepages+rampages);
    is this thing will work Mr.bruce

     

    Saturday, July 3, 2010 5:58 AM
  • For GetSystemMemoryDivision  - http://msdn.microsoft.com/en-us/library/ee482753.aspx
    And for restore, you need to use SetSystemMemoryDivision and just in case you can't find its usage - http://msdn.microsoft.com/en-us/library/ee482768.aspx
    Try learn to use MSDN and you will find most of the answers there.

    Saturday, July 3, 2010 6:58 AM
  • ·         Mr bruce everything you said helped me a lot. I am on the last step now,.I want to save the variable Rampages into the registry through my application.

    How to do that ?

    Can u please help me ?

    i know this functions are used for writing and reading  ie

     

    LONG RegSetValueEx (HKEY hKey, LPCWSTR lpszValueName, DWORD Reserved,

    DWORD dwType, const BYTE *lpData, DWORD cbData);

     

    LONG RegQueryValueEx (HKEY hKey, LPCWSTR lpszValueName,

    LPDWORD lpReserved, LPDWORD lpType,

    LPBYTE lpData, LPDWORD lpcbData);

     

    is there any sample code ? pls help Mr.bruce

    thanks for helping

     

    Monday, July 5, 2010 5:31 AM
  • Thanks Mr.bruce my application is working fine.....

     

    THANKS A LOT.

    Tuesday, July 6, 2010 4:11 PM