I have a Piccolo F28069 controlSTICK (TMDX28069USB). My goal is to use a bootloader that uses SCI communicate between a computer and the MCU. However, I can't use any GPIO pins in order to do this.
After looking at the "Serial Flash Programming of C2000 Microcontrollers" application note, I found out that I can use a flash kernel (f28069_flash_kernel - located in controlSUITE) in conjunction with "C2000 Serial Firmware Upgrader" (listed as "serial_flash_programmer.exe" in controlSUITE) to accomplish this. My understanding is that once you build both the f28069_flash_kernel in CCS and the application in CCS, you can use the hex2000.exe application to generate the necessary text files which contains a data stream structure in hex.
Then, using command prompt, "serial_flash_programmer.exe" will load f28069_flash_kernel into RAM. Once that's completed, the kernel will then load the application code into flash. The application code must be entirely contained in flash.
In my implementation, I inserted the controlSTICK directly into one of my USB ports. My method for know whether the load is successful is if the red LED on the controlSTICK stays constantly on (that's what the small test application is supposed to do). The following screen shot is an example of the issue I'm facing. It appears that "serial_flash_programmer.exe" is stuck:
Since this doesn't appear to be working, I have the following questions:
1. See the last entry of the following post: https://e2e.ti.com/support/microcontrollers/c2000/f/171/p/509059/1849495#pi316717=2
In it, it's mentioned that by changing OTP_KEY to 0x005A and OTP_BMODE to 0x01, then it will enter SCI BOOT without modifying any GPIO pins. However, I tried this and got the same result as the above. I also tried leaving OTP_KEY as 0x3D7BFE and OTP_BMODE as 0x3D7BFF in Boot.h in f28069_flash_kernel (which is the initial values). This didn't work either. What is the correct value for OTP_KEY and OTP_BMODE in order to enter SCI BOOT in ROM?
2. This situation seems similar to the one listed in the following post: https://e2e.ti.com/support/microcontrollers/c2000/f/171/p/535443/1950743
When I go into debug in CCS for f28069_flash_kernel, under Disassembly, I see that for address 0x000aef (and several more address after that) the content reads: "???? Memory map prevented reading 0x00AEF@Program [code=0x20000]". The only thing that's different for the other address is that the specific address in the error message is different. However, for address 0x3F7FF8 and onwards, the contents is FFFF. So it seems like some address are locked with CSM. How do I unlock those addresses?
Any suggestions would be appreciated. Sorry for the long post.