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.

Error loading code to F28027 on own PCB

Other Parts Discussed in Thread: UNIFLASH

Hi There,

We have designed a small PCB for developing with the TMS320F28027PT. Currently we are trying to load code via JTAG by using a LaunchPadXL that previously also housed a F28027. The uC has been removed from the launchpad though, and wired connections placed from the isolators' outputs to the JTAG connections on our own PCB.

The connections connect +3V3, GND, JTAG_TRST, TMS, TCK, TDO and TDI, but not the SCI_RX or SCI_TX. To test this method of connection, we replaced our own board in this setup and connected a second launchpad - this one with the isolators removed and the uC remaining. This works fine.

However, when substituting our own PCB for the second launchpad we see the following errors when attempting to load the code (using either CCS v6.2 or the UniFlash tool):

C28xx: Writing Flash @ Address 0x003f6a9e of Length 0x000000b5 (page 0)

C28xx: Erasing Flash Sector A
C28xx: Erasing Flash Sector B
C28xx: Erasing Flash Sector C
C28xx: Erasing Flash Sector D
C28xx: Writing Flash @ Address 0x003f7ff6 of Length 0x00000002 (page 0)
C28xx: Writing Flash @ Address 0x003f68e8 of Length 0x000001b6 (page 0)
C28xx: Writing Flash @ Address 0x003f6000 of Length 0x000008e8 (page 0)
C28xx: Flash Programmer: Error encountered when writing to flash memory
C28xx: File Loader: Memory write failed: Unknown error
C28xx: GEL: File: projectDir\Debug\projectName.out: Load failed.

And the following error message in a message box:

File: projectDir\Debug\projectName.out: Load failed.

Where projectDir and projectName match my file system and .out file as expected.

I have checked the gel file is specified correctly (using the one from the device support files), tried changing the uC on the PCB with a new one - to no effect.

The fact that the setup works with another launchpad and not with our PCB points to the schematic for the uC on our PCB being at fault, but I have not yet been able to find any issue with the signals measured on any of the pins.

The JTAG signals all seem fine, until they stop, The test pins is left floating as specified, the power, gnd and reset lines all hold steady, pull-ups, pull-downs and capacitances all seem to match those specified and the launchpad board... at a loss as what to try next really!

Is there any way to get more information on what is causing the error messages? 

Is there any specific documentation on schematic and layout for integrating the F2802x?

Has anyone else had similar issues before?

Thanks, T

  • Hi Toby,

    Toby Mole said:

    we replaced our own board in this setup and connected a second launchpad - this one with the isolators removed and the uC remaining. This works fine.

    However, when substituting our own PCB for the second launchpad we see the following errors when attempting to load the code (using either CCS v6.2 or the UniFlash tool):

    This setup should work but I hope you've followed the design guidelines or launchpad/controlCard schematics while designing your custom board.

    Toby Mole said:
    Is there any way to get more information on what is causing the error messages? 

    This primarily indicates that either your flash memory is corrupted or maybe locked.

    Toby Mole said:
    Is there any specific documentation on schematic and layout for integrating the F2802x?

    Simply follow the F28027 launchpad or controlCard schematics and verify that your custom board is laid out correctly.

    Regards,

    Gautam 

  • Hi Gautam,

    Thanks for your suggestions. 
    We Have just now solved the issue however! Despite many eyes, we did not notice that the power line was glitching down to around 2v5 when Flash writing started. This was due to our 3v3 regulator not providing enough current to supply the Piccolo during flashing.

    This is odd as the current supplied is above that detailed in the Piccolo specification. However, switching to powering via the launchpad's 3v3 voltage regulator (which has a higher current limit) during programming solved the issue.
    I do note that the hardware design guide mentions:

    "If your application uses in-circuit Flash programming, consider the extra current drawn (~ 200 mA) by the Flash circuits from 1.8 V rail during the program/erase cycles."

    And:

    "Select the VDD (3.3 V) and VCORE voltage regulators that have a current capacity of ~ x2 total peak current and low noise/ripple"

    I think perhaps our designer was guided by the datasheet more so than the hardware guide.

    Thanks, T

  • Great!

    Gooluck & Regards,
    Gautam