This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

F28069: USB Bootloader - Do boot_loader and bl_app need each other for build?

Other Parts Discussed in Thread: CONTROLSUITE

Hello Community,

I used the bootloader example from controlSUITE (v110). After ensuring that the example works in my board, I reorganized the project bl_app and tested again.
But this time, bl_app does not jump to boot_loader when DFU mode change request is sent using dfuprog (dfuprog.exe -m).
Are these projects somehow linked to each other?

Could you also explain how are the entry symbols (pBootEntry, pAppEntry) resolved in both the projects?
(excuse me if this is a trivial question)

Thank you,
Vishwanatha

  • This was solved by ensuring that pAppEntry and pBootEntry are not erased during flashing process.

    (either bootloader ot app were erasing the entry points and hence caused the problem)

  • Hi,

    if I load the bl_app to the controller and start the execution of the code I see that the driver "TI Device Firmware Upgrade (runtime mode)" was loaded. After that I check with "dfuprog -e" that there is a DFU device.

    I get the following output:

    After this I try to bring the device into the DFU mode with "dfuprog -m" but nothing happens except that the driver are unloaded from the windows device manager.

    After a few seconds I got a "__interrupt void ILLEGAL_ISR(void)   // Illegal operation TRAP".

    Can somebody tell me how I have to load the bl_app step by step? Do I need the boot_loader project for this? But how do I load them, because both are erasing the flash sectors :-(

    For your help I will thank you

    Kind regards

  • Hi Pascal,

    As mentioned in my previous post, there are two pointers to be configured - pAppEntry and pBootEntry.

    If pBootEntry is corrupted OR erased, jump to boot mode doesn't happen. As pBootEntry is the start address of bootcode, if this is erased/corrupted, it is likely that you'll land-up in TRAP.

    Vishwanatha

  • Hi,

    Forgot to mention the important point: this happens when the Flash Sector configuration is such that it erases all sectors.

    You may configure this in CCS in Debug settings

    Vishwanatha

  • Hi Vishwanatha,

    this mean that I have to load the boot_loader into the flash. After that I disable the flash erasing in the bl_app and load it?

    UPDATE:

    OK I load the boot_loader into the flash. Stop debug and reset the µController. NNow I see the "Stellaris Device Firmware Upgrade" in the device manager. After that I disabled the flash erasing completley and start the debugger. No windows loads the driver which is in "runtime mode". "dfuprog -e" shoiw the device and "dfuprog -m" disables the runtime mode and the "Stellaris Device Firmware Upgrade" driver is loaded again.

    Is this correct? It seem that it take to many time for switching the drivers (~15-30 seconds)

    Pascal

  • Hi,
    good that it is working!
    I'm re-writing the steps here:
    1. load boot_loader
    2. disconnect the controller
    3. open bl_app project -> select only app area of the flash for erase (see the pic)
    4. now load bl_app into the controller
    5. continue with your work !!

    --
    Vishwanatha

  • Hi again,

    thank you very much for your help!

  • Once again :-)

    "dfuprog -e" and "dfuprog -m" now list the device, but I can't for example clear the flash with "dfuprog -c" also other command return "Error DFU_ERR_UNSUPPORTED (-5) ......."

    I have changed the driver now the system use the boot_usb.inf while in DFU mode, the device manager shows "TI Device Firmware Upgrade" insted of "Stellaris Device........."

    Is this a problem of the boot_loader, dfuprog or the driver?

  • Hi,

    my first input: please raise a new post as old posts are not read by TI guys (I too faced this situation earlier).

    Coming to your situation: it looks like the device configurations in your firmware do not match that of in dfuprog.

    "TI Device Firmware Upgrade" and "Stellaris Device........." are only string configurations; as you are using new .inf file, it could have changed.

    as I mentioned, re-post this as a new query and you'll get clear answers from TI.

    (between, also mention the target and other environmental details in the new post)

    --

    Vishwanatha