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.

Loading DFU bootloader

Greetings,

             I know this is a rather basic question, but I'm still a novice with microcontrollers and I really have spent the past week going through the datasheet, bootloader pdf, and forums learning the process.

             Basically, I'm trying to figure out what is the easiest way to flash the DFU bootloader onto my boards (Using LM4F120H5QR).  I'm using a Stellaris Launchpad, but I want to have my own design using the chip with a USB port attached so that my customers can use my software to update their settings (flash my code) via USB DFU onto the chip.   

             From what I understand, for this process to work I need the USB DFU bootloader on the chip.  That will allow USB update capability.  

- What is the easiest way to do this?  

- Should I just put JTAG headers on my design?  

- Do I need a JTAG programmer?  (If so, will Ulink2 work?)

            I've figured out how to use LMFlasher to flash the .bin of the bootloader, I'm just confused about the hardware connection between the computer and the chip itself.  It obviously works for the launchpad, but that's got the whole debugging section that I don't want on my design.

        Also on a secondary question:  

    - When can I finally buy or sample an LM4F chip?  Is "Sometime Q2" still the answer?  No samples?

        Thanks in advance.

  • Hello Barrett,

    RE: USB DFU boot loader
    You can look at the boot_usb project for an example of the flash-based USB boot loader. You will likely need to determine how the users will trigger this update.
    RE: "easiest" way to get the flash boot loader on the custom board
    There is a bootloader in the LM4F120H5QR ROM. You can review the BOOTCFG register to see under what conditions the ROM bootloader will be executed. So you could use one of those methods to load the initial software image or even user updates if one of the trigger methods works for your design.
    RE: JTAG headers
    I would certainly recommend having the option to populate a JTAG connection. It will prove invaluable during bring-up to be able to actively debug the software. You will probably want to match up your JTAG probe with your preferred tool chain (that is, one that is supported by your tool chain's debugger).
    RE: JTAG programmer
    Most of the JTAG probes will support Flash programming as well. The Stellaris Launchpad uses a second LM4F to act as an ICDI via USB - there are some GPIOs on the ICDI LM4F direct-connected to the Launchpad's MCU JTAG pins.
    Most of the mainstream JTAG probes use USB as the connection from the host computer to the probe. The probe then attaches to the MCU JTAG via one of the common ARM JTAG header types.
    RE: Buy/Samples
    You may want to can contact a local TI sales representative/distributor and see what additional availability information they can provide. The website will have the most updated public information and it's probably a good idea to check it regularly.