Other Parts Discussed in Thread: EK-TM4C129EXL, , EK-TM4C1294XL, UNIFLASH
Hi,
We are trying to implement flash based USB bootloader on TM4C129ENCPDT (rev A2) controller. Ultimately this is going to be on our custom board, but for reference we have EK-TM4C129EXL launchpad.
Since the examples didn't have the exact boot loader for the board, the reference config is from dk-tm4c129/boot_emac_flash/bl_config.h, where the ethernet config (lines 856...904) was swapped out for usb ones (lines 916 ...1241). This was cross-referenced withdk-tm4c123g/boot_usb/bl_config.h.
Other sources are from /boot_loader/ for the code composer build - bl_usb.c and its dependencies, bl_startup_ccs.s and linker bl_link_ccs.cmd. Code Composer is v7.3.0.00019.
So far :
I added #define TARGET_IS_TM4C129_RA2 to the bl_config.h for revision specific configuration.
Project properties - ARM Linker - Advanced options - Runtime environment - initialization model - changed to --ram_model. This got rid of the linker warnings. Without this the USB was receiving periodic USB_IS_RESET messages (bl_usb.c line 463) from the host.
The project compiles with these settings without any warnings or errors. When debugging the code, it seems to run through usb initialization functions and then gets stuck in the UpdaterUSB while(g_ui32CommandFlags == 0) (bl_usb.c line 1811) loop. The windows (windows 7 and 10) wont recognize the device :

The launchpad itself is switched to OTG power and debug usb cable is disconnected. I tried http://e2e.ti.com/support/microcontrollers/tiva_arm/f/908/p/602844/2217914 post #5 and this seemed to be working fine. This indicates that after erasing the flash, there seems to be some kind of rom based bootloader which works. I have attached the sample project used. For reference i have also read spmu301d (Tivaware Bootloader user's guide).
What am i missing here ?
Regards,