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.
I am attempting to use the USB DFU functionality in the ROM on a EK-TM4C1294XL.
After erasing flash and connecting the USB, the device enumerates correctly as "Stellaris Device Firmware Upgrade" and device manager says the driver is installed and it is working correctly. But, when I run Uniflash setup for the Tiva/LM USB DFU Interface, and click "Display DFU devices" no devices are found.
Any suggestions?
Hello Issac,
Did you check LMFlashProgammer, does it give the same result as well?
Regards
Amit
Hello Issac,
In the Device Manger, right click the "Stellaris Device Firmware Upgrade", then Properties and then Drivers Tab. What does it show, a snapshot would be useful?
Regards
Amit
Hello Issac,
Looks like a new driver version from CCS may have wrecked havoc.
Let' see if we can fix this.
Go to "Update Driver", "Browse My Computer for driver software", then select "Let me pick...."
You should get something like this below.
Select the other driver. If you don't then download the icdi drivers from TI website and then check. Basically it should be 1.2.X.Y (can;t remember X and Y)
Regards
Amit
Amit,
I created a .bin file and successfully programmed it using LM Flash Programmer.
Hello Issac,
And I loaded the bin file via UNIFLASH as well. Instead of using the Programs in UniFlash side menu, use Program in the Top Menu.
Regards
Amit
Hello Issac,
Did you ensure that the Flash was erased before using the UniFlash?
Regards
Amit
Hi Amit,
Yes. Flash must be erased in order for the ROM bootloader to run. This is my procedure:
1. Using Uniflash and ICDI I erase flash.
2. Disconnect ICDI USB cable and MCU USB cable.
3. Connect MCU USB Cable (not ICDI)
4. Device runs ROM bootloader and enumerates correctly.
5. Attempt to program using Uniflash and Tiva/LM USB DFU Interface target configuration.
The program operation gives this output from both the TOP menu Program and the side menu Programs:
[16:28:49] Begin Writing flash memory operation.
[16:28:49] Loading program at 0x0: C:\Isaac\projects\Microtrak-M4\Debug\Microtrak-M4.bin
[16:28:49] Tiva_LM_device: Writing Flash @ Address 0x00000000 of Length 0x00007FF0
[16:28:49] Tiva_LM_device: Selected Device Index: 0
[16:28:51] Tiva_LM_device: Finish Writing Flash @ Address 0x00000000 of Length 0x00007FF0
[16:28:51] Tiva_LM_device: Writing Flash @ Address 0x00007FF0 of Length 0x00007FF0
[16:28:51] Tiva_LM_device: Selected Device Index: 0
[16:28:51] ERROR >> Tiva_LM_device: Error: Failed to connect to ICDI device.
[16:28:51] ERROR >> Tiva_LM_device: Error Writing Flash @ Address 0x00007FF0 of Length 0x00007FF0
[16:28:51] ERROR >> Tiva_LM_device: GEL: File: C:\Isaac\projects\Microtrak-M4\Debug\Microtrak-M4.bin: Load failed.
[16:28:51] File: C:\Isaac\projects\Microtrak-M4\Debug\Microtrak-M4.bin: Load failed.
[16:28:51] Operation Writing flash memory returned.
The program operation works successfully with both the LM Flash Programmer and the dfugprog tool.
I continued development using the dfuprog tool. In my program I allow the "Firmware Update" command. This command calls ROM_UpdateUSB which jumps to the ROM bootloader. Next I use dfuprog to reprogram the firmware and reset the device. Now it boots up using the new firmware.
Thanks for your help. I'll get back to this on Monday...
Hello Issac
I think the selected device index must be 1
That is what is different between your log and mine...
Regards
Amit
Hello Amit,
No that doesn't work either. When I click Display DFU devices only an index of 0 shows up (Remember ICDI is disconnected). If I try index of 1 nothing happens. If I use index of 0 I get the error reported above and the flash is corrupted so that my program won't run, and the bootloader won't run either. I am forced to use JTAG or ICDI to erase or re-flash my program.
This sounds like a similar problem reported here:
http://e2e.ti.com/support/microcontrollers/tiva_arm/f/908/p/361329/1291979.aspx#1291979
Hello Issac,
Yes, that is correct. with the ICDI disconnected the USB DFU will show up as 0
Also in the thread it seems to be the same issue as you mentioned. May be it would be good to post back on the same thread to check with UNIFLASH team if the same has been fixed in the latest build or not.
Regards
Amit