Other Parts Discussed in Thread: EK-TM4C123GXL,
Hello, I am Sky.
.
.
I have implemented SW UART function using the 'usb_dev_serial' example which is located in "C:\ti\TivaWare_C_Series-2.1.3.156\examples\boards\ek-tm4c123gxl\usb_dev_serial", and it works well.
Now, I am trying to develop USB DFU function to upload my firmware without JTAG or ICDI.
.
.
In detail, my board will be putted into a locked case, and a service engineer want to upload the latest firmware using Windows program in fields.
The board has 1 TM4C123GH6PM microcontroller and various sensors.
Moreover, UART0/USB pins are used for SW UART, I2C0 pins are used for a sensor, and SSI0 pins are vacancies in my board.
We don't want to use J-TAG or additional device to upload new firmware because of its capacity of the board and costs.
.
.
Fortunately, I found very helpful references as below:
[SPMU301D.pdf] TivaWare™ Boot Loader
[SPMA054.pdf] Tiva™ Application Update Using the USB DFU Class
[Source Code for Firmware] C:\ti\TivaWare_C_Series-2.1.3.156\examples\boards\dk-tm4c123g\boot_usb
[Source Code for Windows DLL] C:\ti\TivaWare_C_Series-2.1.3.156\tools\lmdfu
[E2E Thread for C# interface] e2e.ti.com/.../370958
.
.
Here is my question.
.
.
1) Switching from SW UART mode to DFU mode
My firmware runs SW UART mode and process messages. How can I switch to DFU mode when executing SW UART mode?
.
2) Alternatives rather than DFU mode
In SW UART mode, can I receive BINARY DATA and write flash memory directly?
Is there any example to use DIY FIRMWARE UPGRADE FUNCTION instead of DFU mode?
.
.
Please give me some comments or share helpful source codes.
.
.
Kind Regards,
Sky.