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.

TMS320F28335: 烧录问题

Part Number: TMS320F28335
Other Parts Discussed in Thread: UNIFLASH, C2000WARE,

在我烧录的时候出现如下问题
C28xx: Error occurred during flash operation: Timed out waiting for target to halt while executing FlashAPIInterface28335V2_10.out
C28xx: Error occurred during flash operation: Timed out waiting for target to halt while executing FlashAPIInterface28335V2_10.out
C28xx: Flash operation timed out waiting for the algorithm to complete. Operation cancelled.
C28xx: File Loader: Memory write failed: Unknown error
C28xx: GEL: File: F:\WORK\ZKY\105\code\RIU_105\Debug\RIU_105.out: Load failed.
芯片和烧录器没有问题,另一个工程可以烧录

  • 您现在是flash运行的工程? 

    根据您收到的错误消息,您的闪存似乎已耗尽。看起来您的耗尽恢复算法也超时(也就是由于闪存处于深度耗尽状态,您无法恢复部件)。

  • 可是我尝试过,用Uniflash全部擦除之后再烧录也是这种情况

  • 并且,另一个工程可以正常烧录

  • 请问应该如何去解决这个问题,我这个是另外新建了一个工程,但是发现烧录不进去的情况

  • 若是可以的话,请您上传一下工程,我们在开发板上测试一下,谢谢

  • 6116.demo.zipSunsan,请尽快尝试一下,然后回复我一下,感谢感谢

  • 我现在发现,只有我目前在使用的这个工程可以烧录进去,并且在这个工程基础上做了修改的可以烧录,其他任何工程debug的时候都会有这种问题
    C28xx: Error occurred during flash operation: Timed out waiting for target to halt while executing FlashAPIInterface28335V2_10.out
    C28xx: Error occurred during flash operation: Timed out waiting for target to halt while executing FlashAPIInterface28335V2_10.out
    C28xx: Flash operation timed out waiting for the algorithm to complete. Operation cancelled.
    C28xx: File Loader: Memory write failed: Unknown error
    C28xx: GEL: File: E:\workspace\ADC_SCI\Debug\ADC_SCI.out: Load failed.

  • 我在28335 控制卡上的测试结果如下:

    可以在CCS内成功烧录调试

  • 对的,我发现是只有一个工程可以烧录成功,就是在DSP内现在正在跑的工程可以烧录,修改完也可以烧录,但是我随便换一个工程就会出现这样的烧录问题
    C28xx: Error occurred during flash operation: Timed out waiting for target to halt while executing FlashAPIInterface28335V2_10.out
    C28xx: Error occurred during flash operation: Timed out waiting for target to halt while executing FlashAPIInterface28335V2_10.out
    C28xx: Flash operation timed out waiting for the algorithm to complete. Operation cancelled.
    C28xx: File Loader: Memory write failed: Unknown error
    C28xx: GEL: File: E:\workspace\ADC_SCI\Debug\ADC_SCI.out: Load failed.

  • 其他任何工程debug的时候都会有这种问题

    TI例程也会出现这样的问题?

  • 是的,TI的例程也出现了这样的问题,就是除了DSP目前正在跑的工程外,任何工程都烧录不进去,报错信息就是我上传的这个

  • 请问这个问题应该如何去解决,我尝试把28335FLASH擦除了之后,重新上电也无法烧录,只能烧录擦除之前在跑的那个程序

  • Q: How does depletion occur?

    A: If the erase operation is interrupted and not allowed to complete, the device may become depleted. When this happens, the device may then begin to fail to erase. The erase algorithm should not be stopped, as this can also affect the CSM passwords. The Flash API has a depletion recovery function to try to recover flash that has been "over-erased". If the flash programming process was interrupted during the erase stage, it is possible that the timed loops that do the erasing process were disturbed.

    The CCS On Chip Flash Programmer does have support for the depletion recovery function. You will see it listed in the as one of the options that can be selected under "Operations" in the flash plug-in GUI. You can get additional information on this by clicking on the "Help" button, go to the search tab and enter "depletion".

    The depletion recovery also looks for sectors that are in depletion and attempts to recover them. All sectors on the device are checked.

    The current maximum timeout for the algorithm is approx 35 seconds per sector that is in depletion. Typically, only one sector would be in depletion unless erase has been called multiple times on multiple sectors without running to completion. If a longer timeout can be tolerated, the depletion recovery can be used multiple times.

    There is no guarantee that this algorithm will be able to bring a sector out of depletion within a reasonable amount of time. The deeper in depletion the part is, the longer it will take to recover. The Flash API erase function has been implemented to erase the flash in such a manner that it is not put into deep depletion. However, if the CPU is halted during an erase pulse for a long period of time, the part can be put into a deep depletion that may not be recoverable in an acceptable time period.

    This algorithm cannot recover the part if the flash passwords are unknown. For example, if power is lost during the erase of sector A, where the CSM passwords are located, then the device may be permanently locked and the recovery algorithm cannot operate on the flash.

    If the depletion recovery step fails then replacement is the only option.

    请您看一下上面的说明,一般来说,只能更换芯片了

  • 我在uniflash上可以擦除,但是load之前的擦除是无法擦除的,耗尽恢复在uniflash上可以完成吗

  • 您可以看一下C2000ware内是指南

    C2000Ware\libraries\flash_api\f2833x\28335\docs

    18.10. Depletion Recovery Function

    TMS320F28335:
    extern Uint16 Flash28335_DepRecover(void);