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.

[参考译文] TMS320F28P650DH:双核计划的问题

Guru**** 2903660 points

Other Parts Discussed in Thread: UNIFLASH, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1643727/tms320f28p650dh-questions-to-dual-core-program

器件型号: TMS320F28P650DH
Thread 中讨论的其他器件: UNIFLASHC2000WARE

尊敬的团队:

我的一位客户使用 F28P65、有一些需要澄清的困惑、您能看一下并解释一下吗? 非常感谢。

当对双核进行编程时

  1. 在 CCS 中、在对 CPU2 的闪存进行编程之前、我们    是否必须始终首先在 CPU1 的 On‑Chip Flash 插件中执行 Configure Clock?
  2. ‑双核‑F28P65 器件、是否有官方推荐的简化型闪存 I ² C 编程流程?
  3. ‑大规模生产时、CPU1 和 CPU2 的编程步骤是否是自动执行的(例如,使用脚本或命令行工具)、因此我们不必手动配置存储体映射、而是每次执行步骤‑By‑step flashing?

关于双 μ‑内核固件通信和升级、我想确认建议的实施方法:
  1. 升级 CPU2 的固件时、CPU2 是否必须保持复位或停止状态、或者是否正在运行?
  2. 是否建议 CPU1 直接写入分配给 CPU2 的闪存存储体、然后将这些存储体移交给 CPU2 并让 CPU1 事后启动 CPU2?
  3. 在‑过程中、是否有关于闪存 API 调用应执行的位置、RAM 的使用限制以及切换存储体所有权的适当时间的官方指南?
  4. 是否有任何关于 F28P65 上的双‑核心升级的官方示例或参考文档?

‑还‑到、双 μ C 内核闪存对闪存组映射和擦除范围非常敏感。 我想确认以下几点:
  1. CPU1 和 CPU2 的闪存‑存储体所有权是否与各自工程的链接器/映射文件完全匹配?
  2. 在刷写 CPU2 时、我们是否应始终使用“仅扇区必要(用于程序加载)“擦除模式、而不是更宽的擦除范围?
  3. ‑双核‑F28P65 工程、是否有官方推荐的闪存组分配示例?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:

    该专家目前已离职。 请预计回复将延迟到下周。

    此致、

    Allison

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

    您好、Shengyue、

    在 CCS 中、在对 CPU2 的闪存进行编程之前、我们必须始终 首先在 CPU1 的 ON μ C 芯片闪存插件中执行“配置时钟“?

    否、这不是必需的

    对于双‑μ 核 F28P65 器件、是否有官方推荐的简化型闪存 编程流程?

    这是用于开发还是用于生产? 不同第 3 部分的闪存编程解决方案可能具有不同的实现方式。 在 TI 方面、我们提供 Uniflash 工具、用户可以在其中加载.out/.bin、然后创建批处理文件来执行一系列步骤。

    在进入大规模生产阶段时、CPU1 和 CPU2 的编程步骤是否可以自动执行(例如,使用脚本或命令行工具)、因此我们无需手动配置存储体映射、而无需每次执行步骤‑逐个‑step 刷写?

    在 TI 端、提供了 Uniflash、可以使用 CLI。 如需更多信息、请 访问:CCStudio UniFlash 快速入门指南

    此致、

    Marlyn

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

    您好:

    关于双 μ‑内核固件通信和升级、我想确认建议的实施方法:

    升级 CPU2 的固件时、CPU2 必须保持复位或停止状态、还是运行?

    只要 CPU2 未从正在修改的闪存组执行代码、就可以继续运行。

    是否建议 CPU1 直接写入分配给 CPU2 的闪存组、然后将这些闪存组移交给 CPU2 并让 CPU1 之后启动 CPU2?

    这是实现选择。 在我们的参考示例中、CPU2 处理 FWU 并拥有所有不活动的组及其自己的活动组。 您所描述的方法同样有效。 无论哪个 CPU 正在对 FWU 数据进行编程、都必须拥有其正在编程的闪存组。

    在升级过程中、是否有关于闪存 API 调用应执行的位置、RAM‑使用限制以及切换银行所有权的适当时间的官方指南?

    除了闪存 API 指南中记录的限制外、没有任何正式规定(闪存操作应从单独的闪存组执行,而不是从被擦除/编程的闪存组执行、或者从 RAM 执行)。 编程完成后、可随时切换组所有权。

    F28P65 上是否有任何有关双‑核心升级的正式示例或参考文档?

    请参阅 C2000Ware_driverlib/f28p65x/examples/c28x_dual/flash_kernel 下的 can_flash_lfu_sbl_f28p65x 示例

    CPU1 和 CPU2 的闪存‑存储体所有权是否必须与其各自项目的链接器/映射文件完全匹配?

    是的。 如果 CPU 没有闪存存储体、则无法访问该闪存存储体。

    在刷写 CPU2 时、我们是否应该始终使用“仅必要的扇区(用于程序加载)“擦除模式、而不是更宽的擦除范围?

    这由你决定。 只要链接器文件不包含分配给 CPU1 的任何区域、它就会起作用。 您还可以为每个 CPU 选择要使用的组。

    对于双核 F28P65 工程、是否有官方推荐的闪存‑库分配示例?

    任何多核工程(例如上面提到的 LED 闪烁或 CAN 双核 LFU 示例)都应该可行。 重要的一点是确保正确配置闪存插件。

    此致、

    Alex