none
RAM memory is less in system properties as compared to H/W physical memory ??? RRS feed

  • Question

  • Hello Friends,

    I am using AM335x BSP with WINCE 7. In our H/W, we have 256MB RAM, but when I see the RAM in System Properties under Control Panel it shows me only 122MB Memory and where as Storage Memory is 62592KB and Program Memory is 62468KB

    My configuration is as shown below ---

    image_cfg.h as

    #define DEVICE_RAM_PA 0x80000000 #define DEVICE_RAM_CA 0x80000000 ////#define DEVICE_RAM_SIZE 0x20000000 ////#define DEVICE_RAM_SIZE 0x20000000 // 512 MB RAM #define DEVICE_RAM_SIZE 0x10000000 // 256 MB RAM

    #define IMAGE_SHARE_ARGS_PA             0x80000000

    //
    //  Define: CPU_INFO_ADDR

    #define CPU_INFO_ADDR_PA                0x80001000 

    #define IMAGE_WINCE_CODE_PA 0x80002000

    #define IMAGE_WINCE_RAM_PA 0x86200000

    #define IMAGE_WINCE_RAM_DISK_CA         HEX_VALUE(IMAGE_WINCE_RAM_DISK_CA_HEX)     //
    #define IMAGE_WINCE_RAM_DISK_SIZE       HEX_VALUE(IMAGE_WINCE_RAM_DISK_SIZE_HEX) //---- This is 26MB


    and image_reg.h is as -

    #define IMAGE_WINCE_RAM_DISK_SIZE_HEX    1A00000  //26MB
    #define IMAGE_WINCE_CODE_SIZE           0x4200000 //66MB
    #define IMAGE_WINCE_RAM_SIZE	        0x6C00000 //108MB
    #define IMAGE_WINCE_DISPLAY_TOTAL_SIZE  0x2800000  //40MB
    + 16 MB for Drivers       //Total RAM size is 256MB

    I need clarification on this. where I am lacking...... 

    Tuesday, June 17, 2014 5:15 AM

Answers

  • Just check this should be mapped with config.bib file. the RAM size in system properties is exposed based on the RAM entry in config.bib. if AUTOSIZE is ON, then unused part of the RAMIMAGE entry is also included in the RAM region. Don't get confused with this values obtain through system properties.

    I believe the IMAGE_WINCE_CODE_SIZE macro is mapped to RAMIMAGE region, IMAGE_WINCE_RAM_SIZE macro is mapped to RAM region of the config.bib.

    So 108+66

    IMAGE_WINCE_DISPLAY_TOTAL_SIZE should be entered as a RESERVED region which can't be used by OS ( which can't be shown in system properties) but can be used by your display driver directly. check the macro in display driver related code, you can find this memory region used for display driver.

    so 108+66+40

    IMAGE_WINCE_RAM_DISK_SIZE_HEX should be entered as a RESERVED region which can't be used by OS ( which can't be shown in system properties) but can be used by your RAM DISK  driver directly if you enable the SYSGEN_RAMDISK. check the macro in registry entry of the ramdisk driver

    s 108+66+40+26

    Similarly the last 16MB is also not exposed to OS rather they can directly used in other drivers that you have to find it in the corresponding driver source code or registry settings etc.

    so 108+66+40+26+16=256MB


    Please mark as answer, if it is correct.
    Please vote,if it is helpful post.
    Vinoth.R

    http://vinoth-vinothblog.blogspot.com
    http://www.e-consystems.com/windowsce.asp

    Tuesday, June 17, 2014 10:01 AM
  • In system properties, It will display only Storage memory and Program memory (i.e. Available RAM memory).

    It will not contain the reserved area, memory reserved for NK image etc.

    As Vinoth told already, this available memory space depends on config.bib configurations, and also, if AUTOSIZE is enabled and if there is unused area of NK region, that also will add up to available RAM size.

    So, as Vinoth calculated,

    Your available RAM memory (i.e. Storage memory + Program memory) will be

    (256MB - (26MB[reserved] + 66MB[NK] + 40MB[reserved for display])) + (Unused space of NK etc)


    Keshava G N,
    Member - Technical (Software),
    iWave Systems, Bangalore,
    http://iwavesystems.com ,
    mailto: keshavagnATiwavesystemsDOTcom .

    Tuesday, June 17, 2014 11:20 AM

All replies

  • Just check this should be mapped with config.bib file. the RAM size in system properties is exposed based on the RAM entry in config.bib. if AUTOSIZE is ON, then unused part of the RAMIMAGE entry is also included in the RAM region. Don't get confused with this values obtain through system properties.

    I believe the IMAGE_WINCE_CODE_SIZE macro is mapped to RAMIMAGE region, IMAGE_WINCE_RAM_SIZE macro is mapped to RAM region of the config.bib.

    So 108+66

    IMAGE_WINCE_DISPLAY_TOTAL_SIZE should be entered as a RESERVED region which can't be used by OS ( which can't be shown in system properties) but can be used by your display driver directly. check the macro in display driver related code, you can find this memory region used for display driver.

    so 108+66+40

    IMAGE_WINCE_RAM_DISK_SIZE_HEX should be entered as a RESERVED region which can't be used by OS ( which can't be shown in system properties) but can be used by your RAM DISK  driver directly if you enable the SYSGEN_RAMDISK. check the macro in registry entry of the ramdisk driver

    s 108+66+40+26

    Similarly the last 16MB is also not exposed to OS rather they can directly used in other drivers that you have to find it in the corresponding driver source code or registry settings etc.

    so 108+66+40+26+16=256MB


    Please mark as answer, if it is correct.
    Please vote,if it is helpful post.
    Vinoth.R

    http://vinoth-vinothblog.blogspot.com
    http://www.e-consystems.com/windowsce.asp

    Tuesday, June 17, 2014 10:01 AM
  • Hello Vinoth,

    First of all thanks for more clarification but my query is why I am getting 122MB RAM size in system under Control Panel ........ As, I have 256 MB RAM but in system i can only see 122 MB of RAM....

    Tuesday, June 17, 2014 10:30 AM
  • i pasted my first paragraph of the previous reply.

    Just check this should be mapped with config.bib file. the RAM size in system properties is exposed based on the RAM entry in config.bib. if AUTOSIZE is ON, then unused part of the RAMIMAGE entry is also included in the RAM region. Don't get confused with this values obtain through system properties.

    Again there is a possibility of adding RAM region in run time during booting using OEMGetRAMTable implementation in OAL part (probably in init.c). suppose if RAM disc is not used, this physical region will also be added to RAM region. check the Ramtable implementation too.


    Please mark as answer, if it is correct.
    Please vote,if it is helpful post.
    Vinoth.R

    http://vinoth-vinothblog.blogspot.com
    http://www.e-consystems.com/windowsce.asp

    Tuesday, June 17, 2014 10:48 AM
  • In system properties, It will display only Storage memory and Program memory (i.e. Available RAM memory).

    It will not contain the reserved area, memory reserved for NK image etc.

    As Vinoth told already, this available memory space depends on config.bib configurations, and also, if AUTOSIZE is enabled and if there is unused area of NK region, that also will add up to available RAM size.

    So, as Vinoth calculated,

    Your available RAM memory (i.e. Storage memory + Program memory) will be

    (256MB - (26MB[reserved] + 66MB[NK] + 40MB[reserved for display])) + (Unused space of NK etc)


    Keshava G N,
    Member - Technical (Software),
    iWave Systems, Bangalore,
    http://iwavesystems.com ,
    mailto: keshavagnATiwavesystemsDOTcom .

    Tuesday, June 17, 2014 11:20 AM
  • Hello KeshvGN

    I have also read your post.. So, now how much RAM is visible in you system and what is the actual size of RAM of your system?????

    Tuesday, June 17, 2014 11:32 AM
  • As I explained in post, I have 512 MB RAM.

    Program memory + Storage memory it is displaying is 419 MB.


    Keshava G N,
    Member - Technical (Software),
    iWave Systems, Bangalore,
    http://iwavesystems.com ,
    mailto: keshavagnATiwavesystemsDOTcom .

    Tuesday, June 17, 2014 11:37 AM
  • Hello KeshavGN,

    Thanks for the reply, I got the full concept with Vinoth Post and your example....

    Tuesday, June 17, 2014 12:01 PM