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.

[FAQ] TMS320C6678: 如何将 IBL(中间引导加载程序)刷写到 EEPROM 中,以及如何将应用程序二进制文件刷写到 NOR 中?如何引导 IBL + 应用程序二进制文件?

Part Number: TMS320C6678

问:

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

如何在使用 CCS 9.3 的 C6678 EVM 上引导 IBL + 应用程序二进制文件?

  • 答:

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

    如何在使用 CCS 9.3 C6657 EVM 上引导 IBL + 应用程序二进制文件?

    先决条件 

    1. 从以下位置安装 processor_sdk_rtos_c667x_6_03_00_106:http://software-dl.ti.com/processor-sdk-rtos/esd/C667x/latest/index_FDS.html
    2. 从以下位置安装 CCS 9.3:0.00012 | TI.com
    3. 选择 C:\ti 作为安装目录

    1 步:-- 构建 IBL

    1. 通过以下链接构建 IBL:- 
    2. 构建 IBL“bin”后,将在 C:\ti\pdk_c667x_2_0_16\packages\ti\boot\ibl\src\make\bin 中生成 IBL 二进制文件

    2 步:-- 刷写 IBL

    1. 将以下 DIP 开关设置为“NO-BOOT”模式:SW3、SW4、SW5 和 SW6

                SW3(关、开、开、开),

                SW4(开、开、开、开),

                SW5(开、开、开、开),

                SW6(开、开、开、开)

    1. 修改位于“C:\ti\pdk_c667x_2_0_16\packages\ti\boot\writer\eeprom\evmc6578l\bin”中的txt

    file_name = i2crom.bin

    bus_addr = 0x51

    start_addr = 0

    swap_data = 0

    1. 刷写步骤如下(使用 EEPROM 写入器将 IBL 刷写到 EEPROM 中)
    2. 将 C6678EVM 设置为“NO BOOT”。加电,在 CCS 中启动目标配置,并连接到“Core 0”。确保使用 GEL 文件并初始化 DDR。
    3. 将要刷写的 IBL 二进制文件复制到“C:\ti\pdk_c667x_2_0_16\packages\ti\boot\writer\eeprom\evmc6678l\bin”目录。
    4. 将在上一步中复制的二进制文件重命名为“bin”。
    5. 在 CCS 中,选择“Core 0”并打开“Memory Browser”。在“Memory Browser”窗口中,右键点击并选择“Load Memory”
    6. 将“bin”加载到 0x0C000000。为此,请选择 i2crom.bin 文件并选择文件类型为二进制。点击“Next”,然后输入 0x0C000000 作为“Start Address”
    7. 加载 C:\ti\pdk_c667x_2_0_16\packages\ti\boot\writer\eeprom\evmc6678l\bin\eepromwriter_evm6678l.out
    8. 运行“Core 0”。这将对闪存进行编程。

    如果成功,控制台将打印“EEPROM programming completed successfully”

    3 - 引导 IBL

    1. 将 DIP 开关设置更改为 NOR 引导

        SW3(关、关、开、关),

        SW4(开、开、开、开),

        SW5(开、开、开、关),

        SW6(开、开、开、开)

    1. 打开超级终端或 Tera term/Putty 并连接 UART
    2. 观察 IBL 引导,版本为0.0.15 或 1.0.017

    4 - 刷写应用

    1. 本演示所采用的示例二进制文件是 UART_BasicExample_C6678_c66xTestProject。
    2. 位于C:\ti\pdk_c667x_2_0_16\packages\MyExampleProjects\UART_BasicExample_C6678_c66xTestProject
    3. 使用 CCS 9.3 创建和编译应用二进制文件
    4. 应用二进制文件out 将位于“C:\ti\pdk_c667x_2_0_16\packages\MyExampleProjects\UART_BasicExample_C6678_c66xTestProject\Debug\”
    5. 使用 NOR 写入器将应用二进制文件刷写到 NOR 存储器中。
    6. 将 EVM 设置为 NO BOOT。加电,在 CCS 中启动目标配置,并连接到“Core 0”。确保使用 GEL 文件并初始化 DDR。
    7. 将要刷写的 UART 应用二进制文件复制到“C:\ti\pdk_c667x_2_0_16\packages\ti\boot\writer\nor\evmc6678l\bin”目录。
    8. 将在上一步中复制的二进制文件重命名为“bin”。
    9. 在 CCS 中,选择“Core 0”并打开“Memory Browser”
    10. 在“Memory Browser”窗口中,右键点击并选择“Load Memory”
    11. 将bin 加载到 0x8000000。为此,请选择 app.bin 作为文件,点击“Next”,然后输入 0x8000000 作为“Start Address”(所选类型大小应为 32 位)
    12. 加载C:\ti\pdk_c667x_2_0_16\packages\ti\boot\writer\nor\evmc6657l\bin\norwriter_evm6678l.out
    13. 运行“Core 0”。这将对闪存进行编程。

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

    5 - 引导 IBL + 应用二进制文件

    1. 将 DIP 开关设置更改为 NOR 引导

                  SW3(关、关、开、关),

                  SW4(开、开、开、开),

                SW5(开、开、开、关),

                SW6(开、开、开、开)

    1. 打开超级终端或 putty 并连接 UART
    2. 观察 IBL 引导,版本为0.0.15 或 1.0.017
    3. 观察 IBL 跳转至 UART 应用。