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/TMS320F28069:通过 CCS 闪存固件正常、但 UniFlash 不是

Guru**** 2538470 points
Other Parts Discussed in Thread: UNIFLASH

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/595322/ccs-tms320f28069-flashen-firmware-over-ccs-is-ok-but-uniflash-not

器件型号:TMS320F28069
主题中讨论的其他器件:UNIFLASH

工具/软件:Code Composer Studio

您好!

情况是:

  • 固件可通过 CCS 刷写到 F28069中。 无论热重启(电源仍然打开)还是冷重启(电源关闭和打开)。 它的工作原理。
  • 如果我使用 UniFlash 以十六进制文件刷写、则会发出存储器违规警告、因为有一个很小的存储器部分分配给了非闪存范围。 在我修复了内存违例问题之后。 仍然不奏效。
  • 然后、我通过 UART 端口尝试了工具'C2Prog'以实现闪存。 F28069可以在热重启时启动、但在冷重启时出现问题。

所以、我感到困惑。 它是否与链接器文件有关? 我需要的是、加电后、F28069从闪存获取所有程序、并将其复制到 RAM 中、然后在 RAM 中运行。

此致、

工作日

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    您是否尝试使用 Uniflash 而不是.hex 刷写.out 文件?

    此致、
    Gautam
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Gautam、

    我已经做了一些更改、只是尝试使用 UniFlash 刷写.out 或.hex 文件。 两者都起作用。 "验证映像"也适用于两者。 但问题仍然存在、即:

    • 在闪存之后、我通过将非 XRS 引脚拉至低电平然后拉至高电平来复位 DSP。 程序运行良好。 (热复位)
    • 但是、如果我先关闭器件、然后再打开电源、则无法启动(冷复位)  

    十六进制文件看起来像第一行下面的图像、具有0x0000480的存储器地址、该地址分配在 RAM 而非闪存中。 我很困惑。

    如果我只使用 CCS 进行调试和闪存、一切都正常

    问题出在哪里?

    此致、

    工作日

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    WL、

    您能否确认您正在 UniFlash 和 CCS 中加载相同的程序、并且在"冷复位"后它在 CCS 情况下工作、但在 UniFlash 情况下不工作?

    您能否告诉我您使用的是 UniFlash 和 CCS 的哪个版本?

    基本而言、UniFlash 和 CCS 应以相同的方式加载程序、因此在 CCS 中工作而不是在 UniFlash 中工作是很奇怪的。

    谢谢、
    Ricky
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Ricky、

    感谢您的回复。 我在度假。

    我最终找到了问题所在。 它与用于 ADC 初始化的 TI 库的延迟函数有关。  必须修改该函数、否则无法正确初始化 ADC。 在开发过程中、我切换到了另一台计算机、但忘记了更改文件、包括延迟功能。 我认为 ADC 需要通过冷复位进行初始化、而不是通过热复位进行初始化。 如果 ADC 初始化不正确、则整个程序卡住。

    此致

    工作日