none
Custom memory type in WEC7 RRS feed

  • Question

  • Hi

    I'm using WEC7 + VirtualPC  , as you know there is a definition like in C:\WINCE700\platform\VirtualPC\FILES

     

     NK       80220000  029e0000  RAMIMAGE

    This is where the start address and length of nk.bin is defined.

    I'd like to add a new memory area as "NK_OPT" here. Is it possible ?

            NK       80220000  029e0000  RAMIMAGE
            NK_OPT     82C00000  00100000     RAMIMAGE

    And I'd like to use it in my OSDesign.bib like this

    mybackground.bmp    $(_OSDESIGNROOT)\mybackground.bmp                NK_OPT
    
    

    My intention is the group some modules/files in another memory area different than NK

     

    But when I implement that and execute Make Run Time Image I receive error

     

     

    Error    34    error MSB3073: The command "romimage C:\WINCE700\OSDesigns\CertTrain\RelDir\VirtualPC_x86_Release\ce.bib  " exited with code 1. {log="C:\WINCE700\build.log(745)"}    C:\WINCE700\public\common\oak\misc\makeimg.proj    680   
    
    Error    35    error MSB3073: The command "romimage C:\WINCE700\OSDesigns\CertTrain\RelDir\VirtualPC_x86_Release\ce.bib  " exited with code 1. {log="C:\WINCE700\build.log(752)"}    C:\WINCE700\public\common\oak\misc\makeimg.proj    680   
    
    

    Thanks

    Friday, October 21, 2011 6:47 AM

All replies

  • I think you should use RESERVED instead of RAMIMAGE to reserve a memory location where you can add your specific data like your bmp file.

    NK_OPT     82C00000  00100000  RESERVED  

    Best regards,

    Mike

    Friday, October 21, 2011 8:53 AM
  • A look at the C:\WINCE700\build.log file may give you a hint about why romimage is failing.  It seems to me that what you want to do is related to multiple XIP. Check http://msdn.microsoft.com/en-us/library/ee482878.aspx and subtopics in order to understand how to setup different RAMIMAGE sections.
    Luca Calligaris lucaDOTcalligarisATeurotechDOTcom www.eurotech.com Check my blog: http://lcalligaris.wordpress.com
    Friday, October 21, 2011 10:00 AM
  • Besides to study the resource Luca gave you, here are some directions for you.

    1. The error message you posted only tell you ROMIMAGE.EXE is not happy with your BIB records.
      Take a look at build.log should give you more detail error messages.
    2. Is the RAMIMAGE overlapping with your RAM section?
    3. Is the mybackground.bmp in MODULES or FILES section. As BMP is not an executable file, it should always be on FILES section.
    Monday, October 24, 2011 6:28 PM
  • Besides to study the resource Luca gave you, here are some directions for you.

    1. The error message you posted only tell you ROMIMAGE.EXE is not happy with your BIB records.
      Take a look at build.log should give you more detail error messages.
    2. Is the RAMIMAGE overlapping with your RAM section?
    3. Is the mybackground.bmp in MODULES or FILES section. As BMP is not an executable file, it should always be on FILES section.

    Hi

    At the end i managed to compile. Problem is my config.bib is overriden with another config.bib

    Anyway root cause of problem was NK_OPT was not recognized and I could not see the modification in ce.bib

    Here is the outout og

     

    viewbin -o nk.bin
    
         10/19/2011  16:33:17  C_R_      25884    1272402          mybackground.bmp (ROM 0x817828E8)
         10/19/2011  16:48:15  __R_          0         19           cmdshortcut.lnk (ROM 0x81357FEC)



     

    Now comes the other question.

     

     

     

    //OsDesign.bib
    
    mybackground.bmp    $(_OSDESIGNROOT)\mybackground.bmp        NK_OPT
    cmdshortcut.lnk        $(_OSDESIGNROOT)\cmdshortcut.txt                NK_OPT
    
    //config.bib
    
    DMA       80100000  00030000  RESERVED   ; DMA, see platform.reg for 8237 driver
    BLDR      80130000  00050000  RESERVED   ; bootloader loads here - see bldr.bib
    BLDRRAM1  80180000  0007C000  RESERVED   ; bootloader uses this as RAM - see bldr.bib
    AUDIOBUF  801FC000  00002000  RESERVED   ; Audio DMA buffer for BSP_WAVEDEV_SB16, shared with bootloader RAM
    BLDRRAM2  801FE000  00001000  RESERVED   ; bootloader uses this as RAM - see bldr.bib
    BOOTARGS  801FF000  00001000  RESERVED   ; Boot arguments, see also BOOT_ARG_PTR_LOCATION, BOOT_ARG_LOCATION_NP, BOOT_ARG_PTR_LOCATION_NP, BOOT_ARG_REBOOT_LOCATION
    ETHDMA    80200000  00020000  RESERVED   ; KITL Ethernet, see ETHDMA_BUFFER_BASE
    
    RAM      95C00000  6A3FFFFF  RAM ; 82c00000 + 7d3fffff = ffffffff
    
    NK_OPT     85C00000  10000000     RAM  
    
    NK       80220000  059e0000  RAMIMAGE 
    
    //ce.bib , memory section
    
    MEMORY
    
    DMA       80100000  00030000  RESERVED   ; DMA, see platform.reg for 8237 driver
    BLDR      80130000  00050000  RESERVED   ; bootloader loads here - see bldr.bib
    BLDRRAM1  80180000  0007C000  RESERVED   ; bootloader uses this as RAM - see bldr.bib
    AUDIOBUF  801FC000  00002000  RESERVED   ; Audio DMA buffer for BSP_WAVEDEV_SB16, shared with bootloader RAM
    BLDRRAM2  801FE000  00001000  RESERVED   ; bootloader uses this as RAM - see bldr.bib
    BOOTARGS  801FF000  00001000  RESERVED   ; Boot arguments, see also BOOT_ARG_PTR_LOCATION, BOOT_ARG_LOCATION_NP, BOOT_ARG_PTR_LOCATION_NP, BOOT_ARG_REBOOT_LOCATION
    ETHDMA    80200000  00020000  RESERVED   ; KITL Ethernet, see ETHDMA_BUFFER_BASE
    
            NK       80220000  059e0000  RAMIMAGE
     
            ; NK Start+NK length+RAM length is the MINIMUM guaranteed RAM the device WILL have, and MUST be larger than nk.bin
            ; auto detect RAM at runtime, so passes -1 here for romimage
           
            RAM      95C00000  6A3FFFFF  RAM ; 82c00000 + 7d3fffff = ffffffff
            NK_OPT     85C00000  10000000     RAM   
    
    //ce.bib , last 2 lines
    
    mybackground.bmp    C:\WINCE700\OSDesigns\CertTrain\mybackground.bmp                NK_OPT
    cmdshortcut.lnk        C:\WINCE700\OSDesigns\CertTrain\cmdshortcut.txt                NK_OPT
    
    

    when I perform

    viewbin -o nk.bin


    I can not see mybackground.bmp & cmdshortcut.lnk

     

    Somehow NK_OPT is configured but does not contaion my files. any idea ?

     

     

     

    Tuesday, October 25, 2011 1:11 PM
  • I think you should use RESERVED instead of RAMIMAGE to reserve a memory location where you can add your specific data like your bmp file.

    NK_OPT     82C00000  00100000  RESERVED  

    Best regards,

    Mike

    Hi

    When I used reserved I got error

    Error: Unknown memory type found 'NK_OPT'
      mybackground.bmp C:\WINCE700\OSDesigns\CertTrain\mybackground.bmp NK_OPT 


    I checked config.bin in _FLATRELEASE_ directory and verified that correct version of my config.bib is transfered.

    any idea?

    Tuesday, October 25, 2011 1:42 PM
  • I think what you trying to do is not possible their can be only one RAMIMAGE region for the MEMORY. Maybe this can give you some more information.

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

    Best regards,

    Mike


    Digi International Inc http://www.digi.com
    Tuesday, October 25, 2011 2:25 PM
  • Your NK_OPT should be declared as RAMIMAGE instead of RAM.
    With Multiple XIP, ROMIMAGE generate one .bin file for each RAMIMAGE section. ie. you should get nk.bin and nk_opt.bin in your release folder.
    ROMIMAGE also generate a single XIP.BIN that contains all of the .BIN.
    You can refer to Luca's resource as a sample http://msdn.microsoft.com/en-us/library/ee482800(WinEmbedded.60).aspx of proper config.bib for multiple XIP.

    Tuesday, October 25, 2011 5:33 PM