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.

[参考译文] F28M36P63C2:FlashAPI 示例重置目标

Guru**** 2539500 points
Other Parts Discussed in Thread: CONTROLSUITE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/609326/f28m36p63c2-flashapi-example-resets-target

器件型号:F28M36P63C2
Thread 中讨论的其他器件:controlSUITE

我使用示例 FLASH_programming_m3来了解 FlashAPI 库。 当在 Concerto 控制卡上运行时、它会持续复位目标并且不会写入闪存。 我尝试单步执行代码、但未成功发现问题所在。 所有状态检查都返回成功。 (Fapi_Status_Success =0)。 更糟糕的是、它最终应该是在一个 example_error 函数中、但实际上不是。 请提出任何建议。  

谢谢

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

    在编译工程时、您是否收到任何警告? 如果是、并且它与 driverlib.lib 的 ramfuncs 相关、则必须重建 driverlib 并使用重建的库以及 flash_programming_m3示例。

    尝试重建的 driverlib 库后、请告诉我。

    谢谢、此致、
    Vamsi
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我只会收到警告:
    警告:创建不带 SECTIONS 规范的输出段"ramfuncs"
    完成构建目标:flash_programming_m3.out

    我将尝试重建 driverlib、看看它是否有用。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此外、我确实发现将闪存组设置为零以外的任何值都会正确返回错误。
    如果设置为 FlashBank0、则目标将复位并持续重新启动。


    // Fapi_setActiveFlashBank 函数设置闪存组和 FMC
    //用于在组上执行进一步的闪存操作
    oReturnCheck = Fapi_setActiveFlashBank (Fapi_FlashBank0);
    if (oReturnCheck!= Fapi_Status_Success)

    //检查闪存 API 文档以了解可能的错误
    Example_Error (oReturnCheck);
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    瑞吉斯

    是的、您提到的警告是问题的原因。
    重建 driverlib 库后、请确保使用重建后的库。

    您已验证是否正确报告了非 Bank0参数的错误。

    谢谢、此致、
    Vamsi
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我创建了一个新的库项目并包含了来自 Mware/driverlib 的所有文件。 我删除了旧的 driverlib.lib、并将新的 driverlib.lib 添加到 flash_programming_m3中。(它在我的工作区中)我仍会遇到相同的错误。 我还从编译中排除了 driverlib、它没有给出任何额外的错误。

    driverlib 文件夹以及 CSS/调试/文件夹中包含源文件。 编译中应包含哪些内容。 您能否概述一下库中包含的需求。 尽管这是一个 TI 示例、但我可能无法正确设置项目。
    感谢你的帮助。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    瑞吉斯

    我没有创建新的库项目。  我只需将 driverlib 项目从 Mware 导入 CCS、然后使用编译器版本16.9.1.LTS 重新编译。  导入工程时、我确保取消选中"Copy project in to workspace"按钮、以便新编译的库将替换 controlSUITE\device_support\f28m36x\V210\Mware\driverlib\ccs\Debug 文件夹中的旧库。

    重新编译 driverlib 后、我刷新了闪存编程项目并检查了 driverlib 库的日期、以确保将最新编译的库拉入我的闪存编程项目。  然后我重建了闪存编程项目-未出现警告/错误。  我能够使用项目成功地对闪存进行编程/擦除。

    如果我使用旧的 driverlib 文件、我会遇到与您相同的问题。  我在内部提交了一个 TT、以在发布新器件支持文件时更新 driverlib 库。

    如果您希望我附加 driverlib 库、请告诉我。

    谢谢、此致、
    Vamsi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、如果您可以附加 drivelib.lib、我将不胜感激。 我也会尝试您建议的方法。
    谢谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我按您所说的那样进行了编译、但仍有同样的问题。
    我的编译器是 V15.12、我正在使用 Ubuntu。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    pbist.h 宏具有相同的名称时出错。
    我在我的系统上更正了此问题。

    #define PBIST_ALGO_TRXORR_G80x10000000// 27三路读取 XOR 读取:C28自检 ROM1
    #define PBIST_ALGO_TRXORR_G80x20000000// 28三重读取异或读取:M3自检 ROM
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    瑞吉斯

    请尝试附加的 driverlib 库、并告诉我 goes.e2e.ti.com/.../driverlib.lib 是如何实现的

    关于 pbist.h 宏:我将与相应的专家联系并提交一个 TT 进行修复。  感谢您的关注。  希望您使用的是最新版本。

    谢谢、此致、
    Vamsi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我的 Windows 系统取得了一些成功。 我将在 Linux 系统上尝试附加的 driverlib。
    此外、TI-RTOS 封装为2.16.01.14 (C2000的最新版本)、包含重复的宏定义。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    随附的 driverlib.lib 版本纠正了我在 Linux 系统上的问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    瑞吉斯

    很高兴它能为您提供帮助。 正如我提到的、我提交了一个 TT 来发布更新的 driverlib。
    我要关闭此主题。

    谢谢、此致、
    Vamsi
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能给我一些见解吗?为什么我的 driverlib.lib 构建不起作用、而您的构建却起作用? 可能是我使用15.12.3版之后的编译器版本?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    瑞吉斯

    您在 Linux 上看到任何构建错误还是在运行时不工作? 我只在 Windows 上运行、按照前面提到的步骤 Vamsi、没有问题。

    您的编译器版本可以、这就是我使用的版本。

    此致
    Chris
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我得到 ramfunc 警告。 将 driverlib 替换为 Vamsis 版本可纠正此问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    瑞吉斯

    如果使用的编译器版本高于15.9、则不应收到 ramfunc 警告。 请确认您确实更改了它。
    我刚刚在 Linux 上尝试过、导入了 driverlib 项目和 flash_programming_m3。 已使用15.12.3.LTS 进行重建、我没有看到警告。 您是否正在使用 F28M36x V210器件支持包?

    此致
    Chris
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的回复。
    我确认编译器为15.12.3。
    我对这种情况还有点陌生、我如何确定支持包。 我正在使用来自 Mware V202a 的文件(如果有用)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    瑞吉斯

    您可以通过 controlSUITE 路径或随附的清单来确定它。
    (例如:C:\ti\controlSUITE\device_support\f28m36x\V210)<-这是器件支持包的 V210。

    如果您使用的是 v202、则 Mware driverlib 将不包含切换到使用.TI.ramfunc 段的更新。 请切换到最新文件。

    此致
    Chris
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    版本为 V208。 我将升级到 V210并重试!
    感谢您的观看。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这解决了该问题。 我复制了 V210、但必须重新构建它。 在我完成之后、一切都正常了。 再次感谢!