none
debug or release build RRS feed

  • Question

  • I'm using VS2005 to build the CE image.  The code seems to be running slower than I'd like.  At the top, the "Solution Configurations" drop down says "CEPC x86 Release" and Build->Configuration Manager says the same thing.  However, I have the Ethernet cable hooked up and the output window is active - could this be slowing the execution down?

    Any other thoughts are also appreciated.  I am trying to do extremely fast, periodic writes to memory in PCI space.  The XXX_Write method uses WRITE_REGISTER_USHORT, even though a lot of the writes will be on the order of 40 bytes or greater.  Should I change this?

     

    Thanks for any comments,

    Monday, May 23, 2011 9:50 PM

Answers

  • Create a new Build Configuration based on your Release configuration and
    name it "Shipbuild". Then make sure that IMGNOKITL is on, IMGNODEBUGGER
    is on and WINCESHIP is on. This will create a kernel without KITL,
    without debugger and will turn all DEBUGMSG and RETAILMSG off (they slow
    down execution as well).
     
    WRITE_REGISTER_USHORT has nothing to do with the number of bytes you
    write. It indicates the width of the I/O register. In this case it is a
    16 bit memory mapped I/O register that you write bytes (words) to.
     
    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.
     
    On 23-5-2011 23:50, mr_jeff wrote:
    > I'm using VS2005 to build the CE image. The code seems to be running
    > slower than I'd like. At the top, the "Solution Configurations" drop
    > down says "CEPC x86 Release" and Build->Configuration Manager says the
    > same thing. However, I have the Ethernet cable hooked up and the output
    > window is active - could this be slowing the execution down?
    >
    > Any other thoughts are also appreciated. I am trying to do extremely
    > fast, periodic writes to memory in PCI space. The XXX_Write method uses
    > WRITE_REGISTER_USHORT, even though a lot of the writes will be on the
    > order of 40 bytes or greater. Should I change this?
    >
    > Thanks for any comments,
    >
     

    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.
    • Proposed as answer by Michael Koster Tuesday, May 24, 2011 6:03 AM
    • Marked as answer by mr_jeff Tuesday, May 24, 2011 5:04 PM
    Monday, May 23, 2011 10:48 PM
    Moderator

All replies

  • Create a new Build Configuration based on your Release configuration and
    name it "Shipbuild". Then make sure that IMGNOKITL is on, IMGNODEBUGGER
    is on and WINCESHIP is on. This will create a kernel without KITL,
    without debugger and will turn all DEBUGMSG and RETAILMSG off (they slow
    down execution as well).
     
    WRITE_REGISTER_USHORT has nothing to do with the number of bytes you
    write. It indicates the width of the I/O register. In this case it is a
    16 bit memory mapped I/O register that you write bytes (words) to.
     
    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.
     
    On 23-5-2011 23:50, mr_jeff wrote:
    > I'm using VS2005 to build the CE image. The code seems to be running
    > slower than I'd like. At the top, the "Solution Configurations" drop
    > down says "CEPC x86 Release" and Build->Configuration Manager says the
    > same thing. However, I have the Ethernet cable hooked up and the output
    > window is active - could this be slowing the execution down?
    >
    > Any other thoughts are also appreciated. I am trying to do extremely
    > fast, periodic writes to memory in PCI space. The XXX_Write method uses
    > WRITE_REGISTER_USHORT, even though a lot of the writes will be on the
    > order of 40 bytes or greater. Should I change this?
    >
    > Thanks for any comments,
    >
     

    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.
    • Proposed as answer by Michael Koster Tuesday, May 24, 2011 6:03 AM
    • Marked as answer by mr_jeff Tuesday, May 24, 2011 5:04 PM
    Monday, May 23, 2011 10:48 PM
    Moderator
  • Thanks.  So I went to the Build->Configuration Manager dialog and used the Active Solution configuration drop-down and selected <New...>.  I copied settings from CEPC x86 Release.  I am hoping that is what you meant me to do.  If not, please correct me.

    Regarding the next step, how do I set IMGNOKITL, IMGNODEBUGGER, and WINCESHIP?

    Tuesday, May 24, 2011 1:43 PM
  • Select your OS Design in the Solution Explorer, right click and select "Properies". Then expand the "Configuration Properties" node, click on "Build Options" and uncheck all of the checkboxes except "Enable ship build (WINCESHIP=1)".


    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.
    Tuesday, May 24, 2011 1:50 PM
    Moderator