Because of the Thanksgiving holiday in the U.S., TI E2E™ design support forum responses may be delayed from November 25 through December 2. Thank you for your patience.

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.

CCS/TMS320F28377D: A question about 28377D Boot Mode: Flash Mode

Part Number: TMS320F28377D

Tool/software: Code Composer Studio

As we know, GPIO72=1, GPIO84=1 are for flash boot by default.

However I want to ask: Is it possible that I can boot to flash without any external pull-up for the two flash boot mode pins or even other alternate boot mode pins.

I refer the TRM and I find that I can achieve it by configuring two registers.

If it is possible, I just need to configure these two registers of Z1_BOOTCTRL.KEY and Z1_BOOTCTRL.BMODE, right ?  Should I put this configuration in front of the whole code?

Another question: Now I configure GPIO72=0, GPIO84=0, It should be Parallel IO mode. I don't understand why the DSP can boot alone just like It work at Flash Boot.

  • It's not possible to do it without any pins at all, but you can program the boot pin settings to be the same pin, allowing you to use a single pin to select between 00 and 11 (parallel and get mode--which in your case would be programmed to flash in BMODE).

    There are certain circumstances that cause the boot ROM to default to boot to flash--for example, if a peripheral bootloader fails to receive a key from the host, it will return a flash entry point. It's possible you're hitting one of those. You can try loading the boot ROM symbols and stepping through the code to see what exactly is happening. Note that the flow is slightly different with the emulator connected, so you may need to set the EMU_BMODE to emulate standalone mode as described in the ROM Code chapter of the Technical Reference Manual.

    Whitney
  • Hi, Whitney

    Thank you for your reply.

    I refer 3.4 chapter of the TRM and I find that I should program the BOOTCTRL register.

    But there are two BOOTCTRL registers(DcsmZ1Regs.Z1_BOOTCTRL and DcsmZ1Otp.Z1OTP_BOOTCTRL). I don't know which one should I choose.

    If it is the DcsmZ1Regs.Z1_BOOTCTRL, I will program like 'DcsmZ1Regs.Z1_BOOTCTRL = 0x5500FFFF', right?

    If it is the DcsmZ1Otp.Z1OTP_BOOTCTRL, I don't know how to program the register.

    Please tell me more details about this.

    Thank you.