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.

TMS320F28069M: FLASH programming procedure

Part Number: TMS320F28069M

Greetings! I am experiencing some difficulties with FLASH programming TMS320F28069M. So I finally took the example Example_2806xFlash and I tried to FLASH program my uC -> no effect. My board is base on LAUNCHXL-F28069M. So I have 3 switch keys -> on TRST, SDO and GPIO34. So i`ve tried multiple combinations of these switches -> the program is running with the probe connected, but when I disconnect it, nothing happens. Is there a specific procedure for this exact controller? For example putting the controller in waiting state, next swtching to emulation boot for example? The linker file is by default F28069.cmd. The only change I`ve made to the program is that i switch GPIO pin with mine...

Thanks!

PP: My probe is XDS100v3!

  • The only key position when the code is executing is TRST connected to the probe, and SDO and GPIO34 connected to GND. I can load the program in other combinations, but it doesn`t run with the probe neither without it. I change the pull up resistors on SDO and GPIO34 to 220 ohm for better "1" voltage level. Any other suggestions?

    When I set SDO and GPIO34 to high and TRST to low/high(tried both positions of the TRST switch) I can program the uC and it starts executing the program, but when I remove the probe and recycle the power supply there no position of the switches in which the uC runs...

    Thanks!

  • Hi,

    Will forward your query to Flash expert.

    Best Regards

    Siddharth

  • Thanks! Little update! I`ve notice when I load the program to the uC, the led starts blinking but after a few seconds it stops. I don`t know if this is important but I don`t think  it should stop!

  • One more update! When I tried to upload the Flash_28069 example the value of EMU_KEY is 0x55AA and EMU_BMODE is 0. Do I have to make changes to .gel file in order to change the EMU_BMODE value? I tried to enable the EMU_BOOT_FLASH(); and i bricked another uC... Which i strange because according to the datasheet when TRST is 0, and if i set EMU_BMODE to B it should boot from flash, but ....

    One thing i just realized! I used xds110 as a programming probe, with capacitive isolation. And because of the isolation i think i put the TRST=1 on power up and allowed me to control the boot mode. But now I am using xds100v3 without any isolation. It doesn`t work with it. So because I have a pull down resistor on TRST, my uC never changes the boot mode according to the SDO and GPIO34 pins. So if we assume TRST=0, I should be able to select somehow FLASH boot in the software.

    As I said enabling the EMU_BOOT_FLASH(), bricked my uC. Your hardware engeneer said my schematic is OK, but ...

    I really need help here... 

  • Pavlin,

    Can you attach your .map file(should be in the same directory as the .out file) and linker .cmd file.  I want to make sure you have put the initial instruction at the flash insertion point. 

    You should have this in the linker file

       BEGIN       : origin = 0x3F7FF6, length = 0x000002     /* Part of FLASHA.  Used for "boot to Flash" bootloader mode. */

    and then codestart placed here.

    I'm not sure how using EMUBOOT mode would brick the device, if you have already flashed your code EMUBOOT is used to mimic a boot mode when the emulator is connected. 

    Can you comment if you code is writing to flash or if you have already loaded the .out to flash with CCS and just trying to get it to work standalone/flash boot?

    Best,

    Matthew

  • Here is my map file:

    Example_2806xFlash.rar

    Yes! I have this row. So I uncommented the  EMU_BOOT_FLASH(); in the .gel file, but I think i should uncomment EMU_BOOT_SARAM();. And I am not sure about the usage of that. When I connect the probe the initial value in EMU_KEY is 0x55AA and in EMU_BMODE is 0. So in this case should I press reset again to change the value in EMU_BMODE? My probe (XDS100v3) keeps pin TRST always 0. So  this means (according to figure 2-6) i should be in Stand-alone boot. But if I pull up TDO, my probe doesn`t connect at all.. I only can pull up GPIO34 which set my uC to SCI mode. So what should i do?

    Can you write down the exact procedure in this case?

    Thanks!

    PP: After i uncommented the EMU_BOOT_FLASH() it seems it changes the interrupt table and that is how it bricked the uC...

  • Pavlin,

    Sorry for the delay, please give me another day to reply on this topic.

    Best,

    Matthew

  • Take your time!

    Thank you!

  • Pavlin,

    I compared the .map file you sent with the one I get when I compile/build the same project and load it to the launchpad and I don't see any significant differences.  I am able to run it both with the emulator connected as well as in standalone and still see the LED flash as part of that example.  For the Boot switch S1, can you confirm that all switches are in the "up" position?

    Best,

    Matthew