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.

Enabling USB DFU and Ethernet in TM4C1294

I have a design for an ethernet-enabled product using a TM4C1294 microcontroller. The datasheet says I need to use a 25MHz crystal to use Ethernet. I also need the product to be firmware updatable over USB DFU. I have started getting the boot_loader code together, and I find that I get an error in the file: boot_loader/bl_usb.c: #error ERROR: Invalid CRYSTAL_FREQ specified for USB update! That file lists only certain frequencies legal for USB operation, namely 4MHz, 5MHz, 6MHz, 8MHz, 10MHz, 12MHz and 16MHz - a list that sadly does not include my desired 25MHz. There is no mention of this limitation in the microcontroller datasheet. The TIVAWARE bootloader documentation (SW-TM4C-BOOTLDR-UG-2.1.0.12573.pdf) mentions some crystal frequency limitations with a list that includes the above-mentioned frequencies plus 1MHz and 2MHz, again not including 25MHz, but these limitations are said to be only applicable to CAN-bus enabled firmware, whidh I am not interested in. This does not make sense to me. Surely there must be a way to have an Ethernet-enabled device that can update firmware over USB DFU? Or else this would be a very important limitation to highlight in a datasheet/design guide/reference somewhere? Hopefully there is some way around this obstacle that someone could please help me with? Thanks
  • Hello Daniel,

    The USB DFU Flash based boot loader is not updated for TM4C129x series. However there are more changes that require to be done for the boot loaders for TM4C129 family of devices. The same is now being tested as part of the TivaWare release and should be out soon.

    Regards
    Amit
  • Hi Amit,

    Thanks for the reply. Its contents surprised me, as our project is an upgrade from a now-obsolete Stellaris processor, and we were led to believe the TM4C would be its complete replacement in every way... Could you please be a bit more specific about what functionality we should be able to get now out of the TIVAWARE, what functionality will be possible with the next release, and also what functionality we should expect never to get?

    Also, can you please elaborate on the the timescale for the upcoming TIVAWARE release, and if there is any chance to get it early as a "beta" release so we can test it for suitability for our purposes? We need to be sure we can design the TM4C into our product, or use a different processor completely

    Thanks
  • Hello Daniel,

    The next TivaWare from boot loader would be fixing the following issues

    1. The Flash Size register was not being read correctly on TM4C129 and hence it used to fail boot loader
    2. The PCTL programming for boot loader and pin changes for TM4C129 have been updated.
    3. The USB requires 30MHz on TM4C129 and for this the functional change has been added.

    From other functions there a lot of bug fixes and some enhancements.

    Once the Boot Loader tests complete I can send out a beta build over,

    Regards
    Amit
  • Hi Amit,

    Thanks for that. I would appreciate the beta build when it is available. Do you have a rough timescale for that? (1 week, 1 month, 1 year?)

    Also, can you please help me with the correct choice of crystal frequency, system clocking configuration, PLLs etc. to ensure I can have correct operation of both Ethernet (25MHz MOSC) and USB (30MHz)?

    Thanks
  • Hello Daniel,

    On the forum I had "committed" an end of Dec'14 release and I have missed that date since then. The only thing I can say is we are still trying out best to get it out before end of March, but if we are not then we we may start beta release of TivaWare on the forum.

    For Both USB and Ethernet to work, use of 25MHz crystal is the only solution. USB shall work from the PLL while Ethernet will use the 25MHz crystal.

    Regards,
    Amit