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.

[参考译文] 创建可加载映像文件并将其写入 SPI NOR

Guru**** 691310 points
Other Parts Discussed in Thread: TMS320C6678, TMS320C6657
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1103391/creating-and-writing-loadable-image-file-to-spi-nor

Thread 中讨论的其他器件:TMS320C6678TMS320C6657

亲爱的朋友、您好!

我想让.out 应用程序的可加载映像文件写入 EVMK2H 板。如链接(https://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_Foundational_Components.html#k2h-k2e-k2l)中所述 、我使用以下命令生成了两个文件:

  1. out2rprc.exe [.out 文件][rprc output]
  2. MulticoreImageGen.exe LE 55 [输出名称] 0 [rprc 输出]

然后、我将使用从第二阶段生成的文件:

我连接到电路板

连接到 ARM 内核并对其进行初始化

连接到 DSP 内核0并加载 SPI_FLASH_writer.out

在这里、示例 NOR 引导示例工作正常、示例已成功写入电路板、但无法写入我们的主应用程序、并出现如下错误:

*** PDK SPI 闪存写入器***
正在打开 SPI 句柄...
SPI 句柄已打开!
正在解析配置文件并将内容刷写到 SPI NOR ...
解析的配置行、接收的参数:fileName = multicore_generated、address = 0x80000000
       multicore_generated 的大小为0x91464
       正在将二进制文件加载到内存...
       已完成将二进制文件加载到内存中!
       刷新内存时出错! 错误代码-3
解析配置文件时出错!

即使我尝试写入存储器地址80000、也会成功、但在将 DIP 开关置于 SPI 上后、我的程序将无法运行、也无法启动并重新启动器件。

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

      

    我创建了可引导映像并将应用程序二进制文件刷写到 NOR 存储器中。 (请注意、这位于 C6657/C6678 EVM 的 DSP 侧)  

    能够从 NOR 引导应用程序。 我尚未尝试使用 SPI 闪存。

    让我尝试一下 K2H 的 SPI 和 ARM 端、然后返回给您。

    如果您想使用 NOR 闪存启动应用、请按照此处给出的步骤操作:  

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1073147/faq-tms320c6678-how-to-flash-the-ibl-intermediate-boot-loader-into-eeprom-and-how-to-flash-the-application-binary-into-nor-how-to-boot-the-ibl-application-binary 

    此致

    Shankari G

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

    感谢您的关注。

    再加上您在上面提到的内容、您能帮助我从用户应用程序(.out)文件中生成(.dat)和(.bin)文件吗? 我搜索并尝试了不同的方法来实现它、但我没有得到结果。 我只有(.out)文件、并且需要生成(.dat)或(.bin)文件、以将文件加载到存储器浏览器中的地址0x8000000000、并通过 norwriter_evmk2X.out 或 SPI_flash_writer.out 将其刷写到配置文件中的存储器地址80000。

    我获得结果的唯一方法仅基于(KeystoneII_Boot_Examples_UserGuide.pdf -第7页):

    1.通过 CCS v9.3连接到 evmk2h 板(该板处于不引导模式(0001)))

    2.连接到 ARM core0并使用 xtcievmk2x_arm.gel 初始化内核

    3.连接到 DSP core0并加载 norwriter_evmk2X.out

    4. 通过存储器浏览器窗口将 spiImage.dat 文件加载到存储器地址0x80000000中

    5.恢复闪存的运行

    6.关闭电路板电源,将 DIP 开关更改为 SPI NOR 模式(0010)

    7.最后、我看到我们希望在 UART 控制台上看到的结果(Tera Term)如下所示:(PDF 中提到)

    核心0站着...
    核心1的标准是...
    酷睿2标准...
    酷睿3标准...

    但我需要从用户应用程序(.out)文件生成(.dat)以刷写它,而不是梯形示例 dat 文件。

    如果我需要做更多的事情、请帮助我。

    谢谢。

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

    Majid、

    在最新的处理器 SDK 6.3中,不需要将---".out "转换为.bin/dat。

    我们可以直接引导.out。

    我只在 K2X 电路板的 DSP 侧进行了尝试、而不在 ARM 侧进行了尝试。

    让我试一下、然后回来...

    同时、以下是所执行的步骤。

    ----------

    步骤4 -刷写应用程序

    本演示采用的示例二进制文件是 UART_BasicExample_C6657_c66xTestProject。

    2.位于 C:\ti\pdk_c665x_2_0_16\packages\MyExampleProjects\UART_BasicExample_C6657_c66xTestProject

    3.使用 CCS 9.3构建和创建应用程序二进制文件

    应用二进制文件 UART_BasicExample_C6657_c66xTestProject.out 将位于 "C:\ti\pdk_c665x_2_0_16\packages/MyExampleProjects\UART_BasicExample_C6657_c66xTestProject\Debug\"

    5.使用 NOR 编写器将应用二进制文件刷写到 NOR 存储器中。

    1. 将 EVM 设置为 不引导。 加电、在 CCS 中启动目标配置、并连接到内核0。 确保使用 GEL 文件并初始化 DDR。
    2. 将要刷写的 UART-APP 二进制文件复制到"C:\ti\pdk_c665x_2_0_16\packages/ti\boot\writer\nor\evmc6657l\bin"目录中。
    3. 将您在上一步中复制的二进制文件重命名为“app.bin”。
    4. 在 CCS 中、选择"Core 0"并打开"Memory Browser"
    5. 在“Memory Browser”(内存浏览器)窗口中,右键单击并选择“Load Memory”(加载内存)
    6. 将 app.bin 加载到0x80000000。 为此、选择文件的 app.bin、单击 Next、然后输入0x8000000作为 Start Address (选择的类型大小应为32位)
    7. 加载 C:\ti\pdk_c665x_2_0_16\packages/ti\boot\writer\normc6657l\bin\norwriter_evm6657l.out
    8. 运行 Core 0。 这将对闪存进行编程。

    如果成功,控制台将打印“NOR programming completed successfully"

    --------

    此致

    Shankari G

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

    Majid、

    只需将应用程序".out"重命名为"app.bin"即可。

    2.我在最新的 Processor SDK 6.3中找不到 SPI 闪存写入器。 因此、我使用了位于"C:\ti\pdk_c665x_2_0_16\packages/ti\boot\writer\norm\evmc6657l\bin"的 NOR_FLASH 编写器

    3.尝试我之前的帖子中给出的步骤一一对应。

    此致

    Shankari G

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

    我没有目录(evmc6657l)、因此:

    (我的 PDK 为 pdk_k2hk _4_0_16)

    (使用 CCS v 9.3)

    首先、我创建了一 个新的 CCS 工程类型(c66xx [C6000])

    然后、我从项目模板和示例框中选择了基本示例> hello world、然后单击完成。 我构建它是为了生成(.out)文件。

    我将应用程序(.out)重命名为 app.bin 并将其放入目录(C:\ti\pdk_k2hk _4_0_16\packages/ti\boot\writer\nor\evmk2h\bin)

    现在、正如我在第二次答复中所描述的、我连接到电路板并初始化 ARM 内核0、 然后连接到 DSP 内核0、并从上面提到的路径加载 norwriter_evmk2h.out 应用。恢复应用后、它处理了刷写并验证了应用、最后我收到消息、也成功完成了编程、 但是、当我停止 CCS 并更改 DIP 开关和为电路板通电时、我看不到串行端口上有什么东西、也没有发生任何事情。

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

    SPI 闪存写入器位于(C:\ti\pdk_k2hk _4_0_16\packages/ti\boot\sbl\tools\flashWriter\spi\bin\evmK2H)中

    此外、我在(C:\ti\pdk_k2hk_4_0_16)中没有(MyExampleProjects\UART_BasicExample_C6657_c66xTestProject)作为 SDK 版本06.03的平台开发套件目录、即使我的(pdk_keystone2_3_00_03_15)和 mcs06.0_2版本中也没有它。

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

    Majid、

    我理解你。

    此外、我在(C:\ti\pdk_k2hk_4_0_16)中没有(MyExampleProjects\UART_BasicExample_C6657_c66xTestProject)作为 SDK 版本06.03的平台开发套件目录、即使我的(pdk_keystone2_3_00_03_15)和 mcs06.0_2版本中也没有它。

    它以脚本的形式存在。

    我们必须使用脚本生成这些"MyExampleProjects"。

    当我们生成时  、总共将得到96个示例。

    这些示例项目需要我们按照此链接中给出的步骤生成...  网址:https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1083353/faq-66ak2h14-how-to-generate-the-ccs-pdk-examples-for-66ak2h14---k2h-evm

     

    此致

    Shankari G

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

    我不理解相位:

    3.使用 CCS 9.3构建和创建应用程序二进制文件

    ------------------------

    您是指调试目录中的(.out)文件吗? 如何使用 CCS 9.3创建应用程序二进制文件?

    UART_BasicExample_C6657_c66xTestProject 是否与 EVMK2H 兼容?

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

    问: UART_BasicExample_C6657_c66xTestProject 是否与 EVMK2H 兼容?

    是的,它是兼容的。 它在 EVMK2H 上进行了测试。

    问: 我不理解相位:

    3.使用 CCS 9.3构建和创建应用程序二进制文件

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1083353/faq-66ak2h14-how-to-generate-the-ccs-pdk-examples-for-66ak2h14---k2h-evm

    以上链接给出了六个步骤。 哪一步。您无法执行???

    此致

    Shankari G

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

    谢谢、但我在下载96个示例后获得了这些文件:

    之后、我将其导入到 CCS v9.3中并编译它。只需将文件 UART_BasicExample_K2H_c66xTestProject.out 复制到目录 C:\ti\pdk_k2hk _4_0_16\packages/ti\boot\writer\nore\evmk2h\bin 并将其重命名为 app.bin。

    现在、我对配置进行了 lunched 并连接到 ARM 内核0、然后使用 GEL 文件对其进行初始化、 然后、我连接到 DSP 内核0、并使用 GEL 文件初始化该内核。最后打开存储器浏览器并按照您所说的那样将 app.bin 文件加载到地址0x8000000、然后在 DSP 内核0上加载 norwriter_evmk2h.out 并运行它。

    我收到了以下消息:

    [C66xx_0] NOR 编写器实用程序版本01.00.04

    刷写扇区0 (0字节3014656)
    闪存扇区1 (65536字节3014656)
    闪存扇区2 (131072字节3014656)
    闪存扇区3 (196608字节、3014656)
    闪存扇区4 (262144字节3014656)
    闪存扇区5 (327680字节3014656)
    闪存扇区6 (3014656的393216字节)
    闪存扇区7 (458752字节3014656)
    闪存扇区8 (524288字节3014656)
    闪存扇区9 (589824字节3014656)
    闪存扇区10 (655360字节3014656)
    闪存扇区11 (720896字节3014656)
    闪存扇区12 (786432字节、3014656)
    闪存扇区13 (851968字节3014656)
    闪存扇区14 (917504字节3014656)
    闪存扇区15 (983040字节3014656)
    闪存扇区16 (1048576字节3014656)
    闪存扇区17 (114112字节3014656)
    闪存扇区18 (1179648字节3014656)
    闪存扇区19 (1245184字节3014656)
    闪存扇区20 (1310720字节3014656)
    闪存扇区21 (1376256字节3014656)
    闪存扇区22 (1441792字节的3014656)
    闪存扇区23 (1507328字节3014656)
    闪存扇区24 (1572864字节3014656)
    闪存扇区25 (1638400字节3014656)
    闪存扇区26 (1703936字节3014656)
    闪存扇区27 (1769472字节3014656)
    闪存扇区28 (1835008字节3014656)
    闪存扇区29 (1900544字节、3014656)
    闪存扇区30 (1966080字节3014656)
    闪存扇区31 (3014656的2031616字节)
    闪存扇区32 (2097152字节3014656)
    闪存扇区33 (2162688字节3014656)
    闪存扇区34 (2228224字节3014656)
    闪存扇区35 (2293760字节3014656)
    闪存扇区36 (2359296字节3014656)
    闪存扇区37 (2424832字节3014656)
    闪存扇区38 (2490368字节3014656)
    闪存扇区39 (3014656的2555904字节)
    闪存扇区40 (2621440字节3014656)
    闪存扇区41 (2686976字节3014656)
    闪存扇区42 (2752512字节3014656)
    闪存扇区43 (2818048字节3014656)
    闪存扇区44 (2883584字节3014656)
    闪存扇区45 (2949120字节3014656)
    读取和验证扇区0 (3014656的0字节)
    读取和验证扇区1 (65536字节3014656)
    读取和验证扇区2 (3014656的131072字节)
    读取和验证扇区3 (196608字节3014656)
    读取和验证扇区4 (3014656的262144字节)
    读取和验证扇区5 (327680字节3014656)
    读取和验证扇区6 (3014656的393216字节)
    读取和验证扇区7 (458752字节3014656)
    读取和验证扇区8 (524288字节3014656)
    读取和验证扇区9 (589824字节3014656)
    读取和验证扇区10 (655360字节3014656)
    读取和验证扇区11 (720896字节3014656)
    读取和验证扇区12 (786432字节的3014656)
    读取和验证扇区13 (851968字节3014656)
    读取和验证扇区14 (917504字节3014656)
    读取和验证扇区15 (983040字节3014656)
    读取和验证扇区16 (3014656的1048576字节)
    读取和验证扇区17 (114112字节的3014656)
    读取和验证扇区18 (1179648字节3014656)
    读取和验证扇区19 (1245184字节3014656)
    读取和验证扇区20 (3014656的1310720字节)
    读取和验证扇区21 (1376256字节的3014656)
    读取和验证扇区22 (3014656的1441792字节)
    读取和验证扇区23 (1507328字节的3014656)
    读取和验证扇区24 (3014656的1572864字节)
    读取和验证扇区25 (3014656的1638400字节)
    读取和验证扇区26 (1703936字节3014656)
    读取和验证扇区27 (3014656的1769472字节)
    读取和验证扇区28 (3014656的1835008字节)
    读取和验证扇区29 (1900544字节、3014656)
    读取和验证扇区30 (1966080字节3014656)
    读取和验证扇区31 (3014656的2031616字节)
    读取和验证扇区32 (2097152字节3014656)
    读取和验证扇区33 (2162688字节3014656)
    读取和验证扇区34 (2228224字节3014656)
    读取和验证扇区35 (2293760字节3014656)
    读取和验证扇区36 (2359296字节3014656)
    读取和验证扇区37 (2424832字节3014656)
    读取和验证扇区38 (3014656的2490368字节)
    读取和验证扇区39 (3014656的2555904字节)
    读取和验证扇区40 (2621440字节3014656)
    读取和验证扇区41 (3014656的2686976字节)
    读取和验证扇区42 (3014656的2752512字节)
    读取和验证扇区43 (3014656的2818048字节)
    读取和验证扇区44 (2883584字节3014656)
    读取和验证扇区45 (2949120字节的3014656)
    NOR 编程成功完成

    一切都很成功、但当我停止 CCS、关闭电路板、将 DIP 开关更改为 SPI NOR BOOT 并再次将其打开时、我看不到 UART 上的任何内容。

    这是我的 Tera Term 设置、我将串行连接器连接到电路板上的 COM2:SoC UART 控制台、如快速入门指南中所示。

    我真的不知道我做了什么错?! ;(

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

    Majid、

    首先、恭喜。  

    您可以将 UART 映像加载到 SPI 中、也可以成功。 (从您的输出消息中可以看出这一点。 )。

    您的引导序列正在寻找 IBL。   很容易做到… 不用担心...

    --

    请按照常见问题解答中提供的视频--在下面的步骤4.f 中

    --

    在 EEPROM 中,使用 EEPROM_writer.out 加载 IBL (中间引导加载程序)。

    执行上电复位后,IBL 将首先启动,然后启动应用程序(如果是 UART)。

    --

    4.e)如何构建 IBL–

    请注意:给出了 C665x 的构建步骤。 在构建时,请提供“C6678”作为设备参数来代替 C665x

     

    4.f)如何将 IBL (中间引导加载程序)刷写到 EEPROM 中、以及如何将应用程序二进制文件刷写到 NOR 中? 如何引导 IBL +应用程序。

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1073147/faq-tms320c6678-how-to-flash-the-ibl-intermediate-boot-loader-into-eeprom-and-how-to-flash-the-application-binary-into-nor-how-to-boot-the-ibl-application-binary

     ----

    有关更多/完整的用户指南、请参阅 https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1082264/faq-tms320c6678-quick-set-up-guide-c6678-and-c6678-evm/4005920#4005920

    然后缓慢向下滚动并逐个读取...

    此致

    Shankari G

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

    感谢您的关注和提示、但我必须刷写 SPI NOR 存储器。 这是我必须做的一个示例、以编写示例应用并使映像文件在 SPI NOR 存储器上闪存。

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

    Majid、

    我提供的步骤仅适用于 SPI-NOR。

    请尝试这些。 同时、将 IBL 闪存到 EEPROM 中。

    它将按预期工作。

    请告诉我、它是如何为您服务的。

    此致

    Shankari G

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

    请告诉我为什么我应该在 EEPROM 中使用 IBL? (因为我只需要将应用程序刷写到 SPI NOR 中。)

    此外、我还有一个问题:

     -如何知道应用程序或源代码在 DSP 内核或 ARM 内核上运行?

     -如何证明我的代码/示例在 DSP 内核上运行?

    这些示例是否在 DSP 内核上运行?

     - UART_BasicExample_K2H_c66xTestProject

     - D:\ti\mcsdk\mcsdk_BIOS_3_00_03_15\examples\ndk\client\evmk2h

    --------------

    我无法通过将这些应用程序刷写到 SPI 获得任何结果、也不喜欢我们将 KeyStone II SPI NOR 示例刷写到 SPI NOR 中的方式。

    我不知道应该怎么做。

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

    Majid、

    IBL 表示中间引导加载程序。

    当您为 SPI 执行 DIP 开关设置、然后加电时、IBL 将首先出现、进而引导应用程序。

    有关 IBL 的更多详细信息、请访问 https://www.ti.com/lit/an/spracn2/spracn2.pdf

    有关 DSP 引导加载程序指南: https://www.ti.com/lit/ug/sprugy5c/sprugy5c.pdf

    [ EVM 上的 FPGA 固件将内核重定向到 EEPROM 上刷写的 IBL、然后将其定向到所需的引导模式。 但是、在定制设计中、由于成本和尺寸原因、添加额外的 EEPROM 来实现 IBL 可能不切实际。 C667x PG 2.0芯片解决了 PLL 锁定问题、不再需要在定制电路板上实现 IBL; C665x PG 1.0芯片不存在 PLL 锁定问题,因此也不需要在定制板上实现 IBL。]  

    如果您希望在没有 IBL 的情况下引导、直接作为 SPI 的 ROM 引导源、请使用以下源代码 :e2e.ti.com/.../3124.C6657_5F00_directROM_5F00_Boot_5F00_example.zip

    ----

    您的使用的是旧软件、即 i.e、MCSDK。 我建议您使用最新的 Processor SDK 6.3 PROCESSOR-SDK-RTOS-K2HK 06_03_00_106
    https://software-dl.ti.com/processor-sdk-rtos/esd/K2HK/latest/index_FDS.html

    ----

    此外、我还有一个问题:

     -如何知道应用程序或源代码在 DSP 内核或 ARM 内核上运行?

    答案:   

    UART_BasicExample_K2H_armDMATestproject

    UART_BasicExample_K2H_armExampleProject

    UART_BasicExample_K2H_armTestproject

    这些项目适用于 ARM 内核。 生成偶数名称的方式使其适用于 ARM 内核。  

     

    UART_BasicExample_K2H_c66xDMATestProject

    UART_BasicExample_K2H_c66xExampleProject

    UART_BasicExample_K2H_c66xTestProject

    这些项目适用于 K2H - C6678中的 DSP 内核。 C66x 的名称适用于 DSP 内核。

    为 K2H 的 DSP 和 ARM 内核生成 PDK 示例的步骤

       安装 PROCESSOR-SDK-RTOS-K2HK 06_03_00_106后、观察   C:\ti 下的 PDK 软件包"pdk_k2hk 4_0_16"

    1. 启动命令提示符
    2. 转至目录  C:\ti\pdk_k2hk _4_0_16\packages
    3. 运行 pdksetupenv.bat
      1. C:\ti\pdk_k2hk _4_0_16\packages/pdksetupenv.bat
    4. DSPCore 示例:
      1. C:\ti\pdk_k2hk _4_0_16\packages >pdkProjectCreate.bat k2h 所有极少的 DSP "C:\ti\pdk_k2hk _4_0_16\packages "
    5. ARMCore 示例:
      1. C:\ti\pdk_k2hk _4_0_16\packages >pdkProjectCreate.bat k2h 所有极少的 ARM "C:\ti\pdk_k2hk _4_0_16\packages "
    6. 它将在  C:\ti\pdk_k2hk _4_0_16\packages 下创建一个名为"MyExampleProjects"的文件夹

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1083353/faq-66ak2h14-how-to-generate-the-ccs-pdk-examples-for-66ak2h14---k2h-evm

    --------------

     -如何证明我的代码/示例在 DSP 内核上运行?

    答案:根据的 DIP 开关设置  

     1)  - ARM - SPI

     2)  - DSP- SPI  

    您可以区分开。  

    --

    除此之外、在构建程序时、SOC 定义将用于 构建配置中的"ARM"和"C66x"。  

     

    此致

    Shankari G

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

    尊敬的朋友、您在 nor_writer_input.txt 中的 C:\ti\pdk_k2hk _4_0_16\packages/ti\boot\writer\nore\evmk2h\bin 中输入什么?

    我应该输入这些值吗?

    file_name = app.bin
    START_addr = 0x8000000

    file_name = app.bin
    start_addr = 0

    此外、3124.C6657_directROM_Boot_example.zip 适用于 C6657。 它是否适用于 EVMK2h? 我不确定应该是6678或6657!

    (它是否适用于 DSP SPI 1010?)

    (它有任何输出吗? 我们如何知道它在电路板上运行?)

    谢谢

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

    Majid、

    在最新的处理器 SDK 6.3中,不需要将---".out "转换为.bin/dat。

    我们可以直接引导.out。

    我只在 K2X 电路板的 DSP 侧进行了尝试、而不在 ARM 侧进行了尝试。

    让我试一下、然后回来...

    同时、以下是所执行的步骤。

    ----------

    步骤4 -刷写应用程序

    本演示采用的示例二进制文件是 UART_BasicExample_C6657_c66xTestProject。

    2.位于 C:\ti\pdk_c665x_2_0_16\packages\MyExampleProjects\UART_BasicExample_C6657_c66xTestProject

    3.使用 CCS 9.3构建和创建应用程序二进制文件

    应用二进制文件 UART_BasicExample_C6657_c66xTestProject.out 将位于 "C:\ti\pdk_c665x_2_0_16\packages/MyExampleProjects\UART_BasicExample_C6657_c66xTestProject\Debug\"

    5.使用 NOR 编写器将应用二进制文件刷写到 NOR 存储器中。

    1. 将 EVM 设置为 不引导。 加电、在 CCS 中启动目标配置、并连接到内核0。 确保使用 GEL 文件并初始化 DDR。
    2. 将要刷写的 UART-APP 二进制文件复制到"C:\ti\pdk_c665x_2_0_16\packages/ti\boot\writer\nor\evmc6657l\bin"目录中。
    3. 将您在上一步中复制的二进制文件重命名为“app.bin”。
    4. 在 CCS 中、选择"Core 0"并打开"Memory Browser"
    5. 在“Memory Browser”(内存浏览器)窗口中,右键单击并选择“Load Memory”(加载内存)
    6. 将 app.bin 加载到0x80000000。 为此、选择文件的 app.bin、单击 Next、然后输入0x8000000作为 Start Address (选择的类型大小应为32位)
    7. 加载 C:\ti\pdk_c665x_2_0_16\packages/ti\boot\writer\normc6657l\bin\norwriter_evm6657l.out
    8. 运行 Core 0。 这将对闪存进行编程。

    如果成功,控制台将打印“NOR programming completed successfully"

    --------

    此致

    Shankari G

    --------------------------

    在这里、您提到的说明是基于 IBL 还是没有 IBL? (此外、它是否适用于 DSP SPI 或? 因为在刷写并设置 DIP 开关1010甚至 ARM SPI 0010之后、我在 UART 控制台上没有得到任何打印!!)

    此外、在构建 UART_BasicExample_K2H_c66xTestProject 之前、我应该在该项目的 Properties 窗口中设置哪些配置?

    我应该为变量及其前面的组合框、链接器命令文件和运行时支持库等字段设置哪些值? (我尝试了不同的值、例如 TCI6614和 TMS320C6678以及 TMS320C6657)

    我的板是 EVMK2H

    我不确定是 c6678还是 c6657、还是其他什么?

    谢谢。

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

    4.f)如何将 IBL (中间引导加载程序)刷写到 EEPROM 中、以及如何将应用程序二进制文件刷写到 NOR 中? 如何引导 IBL +应用程序。

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1073147/faq-tms320c6678-how-to-flash-the-ibl-intermediate-boot-loader-into-eeprom-and-how-to-flash-the-application-binary-into-nor-how-to-boot-the-ibl-application-binary

    我按照上面链接中所述的所有说明操作、但在启动 IBL 后、我没有在 UART 上启动 IBL 和 IBL 版本、在启动应用程序后、在 UART 上也没有获得任何结果。

    此外、我的 EVMK2H 板上只有一个软件、但您提到了我们应该设置的操作期间的4个软件。如 SW3 SW4 SW5 SW6。 (我没有。)

    我只使用板上的一个软件执行了所有操作、但我没有得到这样的结果。

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

    Majid、

    在 K2H 中、DSP 端内核为 C6678。

    好的、好的。 我知道。

    让我们做一件事。  

    让我远程控制您的机器、并尝试指导您解决这些问题。

    请在您的机器中安装 anyDesk,并使用您的 anyDesk 号码回复我....

    同时、请尝试提供的可用文档和指针。

    此致

    Shankari G

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

    亲爱的朋友、您好!

    感谢您的关注。

    我在前三份答复中提出了一些不明确的问题。 请帮帮我并说明问题。

     此外、您能否告诉我、我们将映像刷写到的地址0x8000000是针对代码在 DSP 内核上运行的情况、还是针对代码在 ARM 内核上运行的情况?

    1.1 "Keystone II 引导示例"软件包的 SPI 示例是否在 ARM 内核或 DSP 内核上工作? 使用 DIP 软件0010可以正常工作、但使用 DIP 软件1010无法正常工作、并且不会在 UART 上打印任何内容。

     2. DIP 软件0010意味着引导加载程序是 ARM、代码在 DSP 内核上运行? 还是意味着引导加载程序是 ARM、代码在 ARM 内核上运行?

    ------------------------

    3.

    尊敬的朋友、您在 nor_writer_input.txt 中的 C:\ti\pdk_k2hk _4_0_16\packages/ti\boot\writer\nore\evmk2h\bin 中输入什么?

    我应该输入这些值吗?

    file_name = app.bin
    START_addr = 0x8000000

    file_name = app.bin
    start_addr = 0

    此外、3124.C6657_directROM_Boot_example.zip 适用于 C6657。 它是否适用于 EVMK2h? 我不确定应该是6678或6657!

    (它是否适用于 DSP SPI 1010?)

    (它有任何输出吗? 我们如何知道它在电路板上运行?)

    谢谢

    ----------------------

    4.

    4.f)如何将 IBL (中间引导加载程序)刷写到 EEPROM 中、以及如何将应用程序二进制文件刷写到 NOR 中? 如何引导 IBL +应用程序。

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1073147/faq-tms320c6678-how-to-flash-the-ibl-intermediate-boot-loader-into-eeprom-and-how-to-flash-the-application-binary-into-nor-how-to-boot-the-ibl-application-binary

    我按照上面链接中所述的所有说明操作、但在启动 IBL 后、我没有在 UART 上启动 IBL 和 IBL 版本、在启动应用程序后、在 UART 上也没有获得任何结果。

    此外、我的 EVMK2H 板上只有一个软件、但您提到了我们应该设置的操作期间的4个软件。如 SW3 SW4 SW5 SW6。 (我没有。)

    我只使用板上的一个软件执行了所有操作、但我没有得到这样的结果。

    --------------------------------------------

    实际上、您是否会向我发送一封电子邮件地址来向您发送 AnyDesk 代码并设置在线和可用时间?

    非常感谢您、因为这是我的最后到期日期。

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

    清真寺

    问题1:

    --------------------

    此外、您能否告诉我、我们将映像刷写到的地址0x8000000是针对代码在 DSP 内核上运行的情况、还是针对代码在 ARM 内核上运行的情况?

    答:这两个都不是。 地址0x8000000是 MSMC RAM。 此 MSMC RAM 存储器 对于 ARM 和 DSP 内核都是通用的

    首先、将代码加载到 MSMC RAM 中、然后使用 NOR_writer 程序将其从 MSMC RAM 复制到 NOR 闪存中。

    --------------------

    问题2:  

    1.1 "Keystone II 引导示例"软件包的 SPI 示例是否在 ARM 内核或 DSP 内核上工作? 使用 DIP 软件0010可以正常工作、但使用 DIP 软件1010无法正常工作、并且不会在 UART 上打印任何内容。

    使用 DIP 软件0010 --这用于 ARM SPI。 如果我们加载 UART 代码(为 ARM 架构构建),它将在 K2H 的 ARM 内核上运行。

    相同的 UART 示例正在为 DSP 架构进行构建。  我们可以为 DSP 构建并使其在 K2H 的 DSP 内核上运行。 DSP-SPI 的 DIP 软件为1010  

    --------------------

    问题3:  

    尊敬的朋友、您在 nor_writer_input.txt 中的 C:\ti\pdk_k2hk _4_0_16\packages/ti\boot\writer\nore\evmk2h\bin 中输入什么?

    我应该输入这些值吗?

    file_name = app.bin
    START_addr = 0x8000000

    file_name = app.bin
    start_addr = 0

    答案:

    nor_writer_input.txt -->

    file_name = app.bin (app.bin,用于应用程序代码.... UART)

    start_addr = 0

    ----

    eepromwriter_input.txt -->  

    file_name = i2crom.bin
    BUS_addr = 0x51
    start_addr = 0
    swap_data = 0

    ..................................................................

     此外、3124.C6657_directROM_Boot_example.zip 适用于 C6657。 它是否适用于 EVMK2h? 我不确定应该是6678或6657!

    (它是否适用于 DSP SPI 1010?)

    (它有任何输出吗? 我们如何知道它在电路板上运行?)

    你是对的… 是的、它适用于 C6657。 会告诉你 K2H 的直接 ROM 引导示例,如果存在....

    我希望我的答案 对我有所帮助。。

    此致

    Shankari G

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

    相同的 UART 示例正在为 DSP 架构进行构建。  我们可以为 DSP 构建并使其在 K2E 的 DSP 内核上运行。 DSP-SPI 的 DIP 软件为1010

    --------

    谢谢

    您可以给我电话吗?我如何为 DSP 架构构建它? 或者、KeyStone ii 用于 DSP 的示例在哪里? 如果您是"UART_BasicExample_K2H_c66xTestProject"、 则我构建了该项目并对其进行了闪存、但复位电路板后、我没有在 UART 上获得任何内容。

    此外、您还提到了 K2E。 为什么选择 k2e? 我的板是 EVMK2H。 有什么不是我注意的吗?

    谢谢

    实际上、我需要知道问题对我来说是什么。

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

    Majid、

    这是我一侧的拼写错误。 它仅为 K2H。 我已编辑我的帖子。

    ----

    UART_BasicExample_K2H_c66xTestProject  

    UART_BasicExample_K2H_c66xDMATestProject  

    UART_BasicExample_K2H_c66xExampleProject

    这三个示例适用于 K2H 的 DSP 内核

    ----

    UART_BasicExample_K2H_armDMATestproject

    UART_BasicExample_K2H_armExampleProject

    UART_BasicExample_K2H_armTestproject

    这三个示例适用于 K2H 的 ARM 内核

    ----

    对于 K2H 的 C6678- DSP 架构、请单击此链接以构建和刷写 IBL。

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1073147/faq-tms320c6678-how-to-flash-the-ibl-intermediate-boot-loader-into-eeprom-and-how-to-flash-the-application-binary-into-nor-how-to-boot-the-ibl-application-binary

     

    此致

    Shankari。

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

    根据   您之前提到的例程、我已经多次使用 IBL 和不使用 IBL 测试了第一个 UART_BasicExample_K2H_c66xTestProject 和最后一个 UART_BasicExample_K2H_c66xExampleProject、但在复位电路板并将 DIP 软件置于两种模式(1010和0010)后、我没有在 UART 上看到任何内容。

    您能否帮助我或通过 AnyDesk 进行连接以了解如何刷写? 我可以在大约3到4小时后在 PC 上使用。

    我真的很感谢你。

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

    Majid、

    在 K2H EVM 上、我已经在 DSP 侧和 ARM 侧测试了 UART 示例。 在 K2H EVM 上、它在"无引导"模式下与 CCS 和仿真器完美配合。

    我为您创建了一个视频。 请按照下面提供的视频进行操作。

    让我们一步一步。

    只需按照说明操作即可。

    1.首先验证 UART 程序是否在 K2H EVM 的 DSP 端工作。

    请告诉我、它是如何为您服务的。

    e2e.ti.com/.../K2H_5F00_Uart_5F00_DSP_5F00_Side_5F00_Noboot.mp4

    此致

    Shankari G

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

    感谢您的澄清

    我的操作与您的操作相同、并在第一个 DSP 内核上运行它。

    这不是我的问题、因为我在第一个 DSP 内核上成功运行了它。

    我的问题是在器件上永久刷写、每次打开器件时、这些消息都打印在 UART 上、并且每次启动电路板时这个测试项目都会运行。这就是我无法完成的操作。 我需要在器件上永久刷写/启动它、而不仅仅是作为测试执行运行它。

    此致

    Majid A

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

    好的、

    让我也在 K2H 上执行刷写步骤、然后返回给您。

    此致

    Shankari G

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

    Majid、

    我同意,Keystone II ( K2H/K2E )设备的引导和刷写步骤与 KeyStone I ( C6657/C6678)设备不匹配。

    很麻烦,是的……但会解决它。

    请给我更多时间。

    感谢您的耐心等待。

    此致

    Shankari G

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

    感谢您的关注

    我真的很想了解问题是什么。

    此致

    Majid

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

    Majid、

    好消息

    能够使用 SPI 闪存写入器成功刷写 K2H 板上的 SBL (辅助引导加载程序)+ UART 应用程序。

    我将很快向您分享闪烁步骤+视频。

    这一次,你,将能够成功。

    此致

    Shankari G

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

    Majid、

    这就是我所做的。 请按顺序缓慢地执行这些步骤。 保持与我使用的相同的文件名...以获得快速结果...

    步骤1:

    使用 CCS 构建 UART_BasicExample_K2H_c66xTestProject 并创建 ".out"--> "UART_BasicExample_K2H_c66xTestProject.out"

    步骤2:

    1.将.out 文件 UART_BasicExample_K2H_c66xTestProject.out 从路径中复制-- C:\ti\pdk_k2hk 4_0_16\packages/MyExampleProjects_DSP\UART_BasicExample_K2H_c66xTestProject\Debug 到路径中--- C:\ti\pdk_k2hk _4_0_16\packages/ti\boot\sbl\tools\out2rprc\bin

    步骤3:

    1.打开命令提示符

    2.转至路径-  C:\ti\pdk_k2hk _4_0_16\packages/ti\boot\sbl\tools\out2rprc\bin

        C:\Users\Admin>CD C:\ti\pdk_k2hk _4_0_16\packages/ti\boot\sbl\tools\out2rprc\bin

    3.在命令行中执行 out2rprc 以将.out 转换为 rprc 格式

        C:\ti\pdk_k2hk _4_0_16\packages/ti\boot\sbl\tools\out2rprc\bin>out2rprc.exe UART_BasicExample_K2H_c66xTestProject.out app.rprc

    4.将 app.rprc 从路径--C:\ti\pdk_k2hk _4_0_16\packages/ti\boot\sbl\tools\out2rprc\bin --复制到路径 C:\ti\pdk_k2hk 4_0_16\packages\ti\boot\sbl\tools\out2rprc\bin

    5.  在命令行中执行 MulticoreImageGen.exe,将 app.rprc 转换 为可引导文件格式

        C:\Users\Admin>CD C:\ti\pdk_k2hk _4_0_16\packages/ti\boot\sbl\tools\multicoreImageGen\bin

       C:\ti\pdk_k2hk _4_0_16\packages/ti\boot\sbl\tools\multicoreImageGen\bin>MulticoreImageGen.exe LE 55 app 5 app.rprc

    此步骤将生成可引导应用程序

    6.将应用程序从 C:\ti\pdk_k2hk _4_0_16\packages/ti\boot\sbl\tools\multicoreImageGen\bin 复制到路径 C:\ti\pdk_k2hk _4_0_16\packages/ti\boot\sbl\tools\flashWriter\spi\bin\evmK2H

    7.将 MLO 文件(从路径 "C:\ti\pdk_k2hk _4_0_16\packages/ti\boot\sbl\binary\evmK2H\spi\bin" --复制 到路径 C:\ti\pdk_k2hk _4_0_16\packages/ti\boot\sb\sbin\evm\spi\tools\evm\bin\k2hk

    8.在 K2H 板中,DIP 开关设置应为 SW1 - 0001 -无引导模式。  

      -->连接仿真器的 USB 电缆  

      -->连接 COM 端口的 USB 电缆-->在 PC 中打开设备管理器-->使用相应的端口号打开 PuTTy。  

    9.启动 K2H 目标配置文件、首先连接 ARM 内核、等待 GEL 完成。 连接 DSP 内核、等待 GEL 完成。

    10。加载并运行位于 C:\ti\pdk_k2hk _4_0_16\packages/ti\boot\sbl\tools\flashWriter\spi\bin\evmK2H 的"spi_flash_writer.out"。

    11.我们完成了!!

    --

    12.关闭电源并将 DIP 开关设置设为 SW1 -- 0010 -- ARM-SPI

       --> MLO -- SBL 将在 ARM 上运行,初始化将会发生

       -->它跳转至 UART 应用程序并在 DSP 上运行。

    步骤8 - 11的视频

    e2e.ti.com/.../K2H_5F00_flashing_5F00_MLO_5F00_APP.mp4

    步骤12的视频

    e2e.ti.com/.../K2H_5F00_booting_5F00_MLO_5F00_APP.mp4

    此致

    Shankari G

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

    首先、感谢您的关注和所做的一切。

    很抱歉耽误了时间、因为我没有再用电路板测试它。

    我遵循了您在最新帖子和视频中提到的所有步骤。

    所有版本、地址、名称和目录看起来都相同。

    我在工作中看到的唯一区别是、当您加载并运行 SPI_FLASH_writer.out 时、它首先自动刷写 MLO 文件、然后刷写应用文件、但在这里它只刷写应用文件、而不关心 MLO 文件。

    谢谢

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

    重新加载图像。 没有看到。

    -Shankari G

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

    我刷新了两个不同器件上的页面、我可以正确看到所有具有不同标题的图像!