Skip to main content
mikhailm
Associate II
February 21, 2008
Question

cofiguring Rowley CrossWorks to work with DFU

  • February 21, 2008
  • 2 replies
  • 642 views
Posted on February 21, 2008 at 16:08

cofiguring Rowley CrossWorks to work with DFU

    This topic has been closed for replies.

    2 replies

    mikhailm
    mikhailmAuthor
    Associate II
    May 17, 2011
    Posted on May 17, 2011 at 12:24

    K, here is the situation.

    I am attempting to create DFU (ST Micro) compatible application that suppose to run on STM3210xx device using Rowley v 1.7 toolchain.

    DFU loader already in flash and recognized by DFU demo software.

    I also created small GPIO application (based on GPIO example that came with Crossworks) that toggles some LEDs on the demo board ( board is OIMEX STM32-P103) Application compiles, load via JTAG and runs fine.

    Now I want to be able to load that application into the flash using DFU.

    I have modified NVIC_Configuration(void) to:

    /////////////////////////////////////////////////////////////////////////////////////////

    void NVIC_Configuration(void)

    {

    NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x3000);

    }

    ////////////////////////////////////////////////////////////////////////////////////////////

    created .dfu file, load it - doesn't run

    I also tried:

    in flash_placement.xml

    change FLASH-vectors->start address to 0x08003000

    loads, doesn't run

    In both cases computer comes up with USB device not recognized ( not surprising there is no USB code in downloaded app) but LEDs dont' blink.

    DFU application still in the memory and still loads when ''boot'' button is pressed upon power up.

    So question is how do you configure CrossWorks to produce DFU compatible executable?

    Thank you

    Mike

    mikhailm
    mikhailmAuthor
    Associate II
    May 17, 2011
    Posted on May 17, 2011 at 12:24

    never mind - figured it out

    1.

    http://ccgi.rowley.co.uk/support/faq.php?do=article&articleid=52

    2. memory map file (in C:\Program Files\Rowley Associates Limited\CrossWorks for ARM 1.7\targets\ST_STM32F10x) for the processor has to be modified with correct settings for FLASH area (start at 0x08003000, length....)

    3. call to vector table needs to be NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x3000);