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.

[参考译文] TMS320F28P650DK:flash_kernel_c28x_dual_ex1_c28x1

Guru**** 2515700 points
Other Parts Discussed in Thread: C2000WARE, SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1559229/tms320f28p650dk-flash_kernel_c28x_dual_ex1_c28x1

器件型号:TMS320F28P650DK
Thread 中讨论的其他器件:C2000WARESysConfig

工具/软件:

您好、专家、我想使用制造商提供的 flash_kernel_c28x_dual_ex1_c28x1 文件和官方上层计算机软件 C2000Ware_XX\utilities\flash_programmers\serial_flash_programmer。

我的当前配置

CPU1 的起始地址

CPU1 分配闪存区域

CPU2 的起始地址

3 操作上层计算机软件

这时、上部计算机软件开始在 CPU1_txt 中刻录;第 1 点 — 在 DFU CPU1 操作后的结果

问题

<<我的想法是首先下载 CPU1 的数据流、然后下载 CPU2 的数据流、然后运行 CPU1。 但在我为 CPU1 下载上部计算机后、它就发出了错误消息。 我可以询问这里需要更改什么吗?

<<如何操作嵌入在闪存 (BANK0)、CPU1 (BANK1) 和 CPU2 (BANK2、BANK3、BANK4) 中的 flash_kernel_c28x_dual_c28x1?    

<<CPU1、CPU2 和 flash_kernel_c28x_dual_ex1_c28x1 是单独的工程。 应该如何集成和配置这些工程?

<<每个 CPU 指定应如何操作不同的存储体区域?

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

    您好、

    该错误消息指示其无法对存储体区域进行编程、因为 CPU1 没有存储体 2、因此在 0x82007 地址位置出现编程错误。

    需要为 CPU1 提供闪存组 2 的所有权、才能在此处加载 CPU2 应用程序。

    CPU1 还控制任一 CPU 的存储体所有权。

    谢谢、

    Charles

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

    非常感谢您的答复。 但是、当我将 CPU1 修改为具有 Bank2 时、程序仍会报告错误。

    <<Hello expert、由于 CPU2 消耗了大量存储器、因此会向其分配存储体 2、BANK3 和 BANK4。 但是、如果 CPU1 需要对 BANK2、BANK3 和 BANK4 的访问权限、则 CPU2 无法运行。 应如何避免这种情况?

    <<CPU1、CPU2 和 flash_kernel_c28x_dual_ex1_c28x1 是单独的工程。 应该如何集成和配置这些工程?

    <<示例程序 flash_kernel_c28x_dual_ex1_c28x1 当前在 RAM 中运行;如何修改配置以在闪存存储器中运行?

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

    您好、

    对于该错误、您能否确认闪存存储体中的数据是 128 位对齐的 (ALIGN8)?

    <<Hello expert、由于 CPU2 消耗了大量存储器、因此会向其分配存储体 2、BANK3 和 BANK4。 但是、如果 CPU1 需要对 BANK2、BANK3 和 BANK4 的访问权限、则 CPU2 无法运行。 应如何避免这种情况?

    CPU1 对闪存 2、存储体和 BANK4 的访问权限只能由 SCI 闪存主机编程器加载数据。 在默认器件上、CPU1 将拥有全部 5 个存储体、可通过 SCI 闪存主机编程器进行下载。 CPU1 程序下载完毕后、您可以选择要为 CPU2 下载的选项、然后继续运行 CPU1 应用程序。 运行的 CPU1 应用程序可以为 CPU2 配置存储体。  

    <<CPU1、CPU2 和 flash_kernel_c28x_dual_ex1_c28x1 是单独的工程。 应该如何集成和配置这些工程?

    闪存内核工程可以作为 RAM 构建形式存在。 CPU1 和 CPU2 应用程序工程可作为闪存构建配置存在。

    <<示例程序 flash_kernel_c28x_dual_ex1_c28x1 当前在 RAM 中运行;如何修改配置以在闪存存储器中运行?

    有关为此内核创建闪存构建配置的示例、您可以查看 F28003x 版本的  flash_kernel_ex3_sci_flash_kernel  工程:

    C:\ti\C2000Ware_6_00_00\driverlib\f28003x\examples\flash\ccs\flash_ex3_sci_flash_kernel

    和查看[BANK0_LDFU]配置。

    谢谢。此致、
    Charles

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

    ----- 对于该错误、您能否确认闪存存储体中的数据是 128 位对齐的 (ALIGN8)?

    <<闪存在;μ s 之前按此方式配置

    CPU1

    CPU2

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

    您好、

    好的、我可以问您正在使用的 CCS 版本 12.8.1 吗? 数据缓冲区长度不正确似乎是对齐问题。 您能否尝试将 CPU1 的默认 LED 闪烁示例加载到器件中、并将其配置与示例进行比较?

    谢谢。此致、

    Charles

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

    非常感谢您的回复、我使用的 CCS 版本是 12.5、我自己调试了它。

    我想引导工程存储 BANK0(扇区 0 — 扇区 22);CPU1 从 BANK0 的存储扇区 23 开始;由于我们的工程配置了 SysConfig、因此未为特定扇区配置此起始地址。

    问题:如果我想使用 CPU1 起始地址 BANK0 配置扇区 23、应该如何写入代码?

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

    嗨、Nie、

    目前无法使用 SysConfig 使此器件的起始地址位于各扇区之间、但如果不使用 SysConfig 生成的链接器 cmd 文件、您仍然可以拆分存储器部分。

    您可以在本地将链接器 cmd 文件复制到工程并更新此文件。  

    谢谢

    Aswin