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.

[参考译文] TMS320C6657:IBL 编程指令

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1025078/tms320c6657-ibl-programming-instruction

器件型号:TMS320C6657

在 evmc6657-instructions.txt 中、我找到了以下内容:

在 C6657 EVM 上使用 IBL 的步骤

1、在总线地址0x51的 EEPROM 上编程"IBL"
(a)对 MCSDK 发行版中的 C6657 EVM 使用 I2C EEPROM 写入器。
(b)通过 I2C 总线将 i2crom_0x51_c6657_le.bin (IBL 图像)编程到 EEPROM
地址0x51。

从 IBL build_instructions.tx 可以构建两种方法。

对于 C6657低成本 EVM:

使 EVM_c6657_i2c ENDIAN=Little I2C_BUS_ADDR=0x51
输出图像:
IBL 图像:bin/i2crom_0x51_c6657_le.dat (CCS 数据格式)
:bin/i2crom_0x51_c6657_le.bin (原始二进制文件)

使 EVM_c6657_i2c ENDIAN=BIC_BUS_ADDR=0x51
输出图像:
IBL 图像:bin/i2crom_0x51_c6657_be.dat (CCS 数据格式)
:bin/i2crom_0x51_c6657_be.bin (原始二进制文件)

Q1)那么、我应该将哪个端字节序用于构建?

 从 SPRUGY5C 可以看到、构建输出必须由一组实用程序进行转换、以便 EEPROM 就绪。

Q2)、那么我是否需要对构建输出执行该操作?

Q3)我已经阅读过提到 c6657需要 iblInit 和 iblMain 的文章。 上面生成的.bin 是否已经包含这两个文件?

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

    尊敬的客户:

    Q1)那么、我应该将哪个端字节序用于构建?

    您可以对构建使用小端字节序。

    有关闪存二进制文件和映像格式、请访问以下链接:  

    10.1.目标—处理器 SDK RTOS 文档

    Flashwriters

    • [C66x] eepromdwriter_ .out -将内容写入 EVM EEPROM 闪存
    • [C66x]北作家_ .out -将内容写入 EVM 或闪存
    • [C66x] nandwriter_ .out -将内容写入 EVM NAND 闪存

    闪存映像

    • [C66x] eeprom50.bin -地址0x50的 EEPROM 二进制文件。 C66x 的默认设置是 POST 应用程序。
    • [C66x] eeprom51.bin -地址0x51的 EEPROM 二进制文件。 C66x 的默认值是中间引导加载程序(IBL)。

    此致

    Shankari

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

    我还有另外两个问题呢?

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

    尊敬的客户:

    美好的一天!        

    请参阅此文档。 已在我以前的帖子中发布。

    10.1.目标—处理器 SDK RTOS 文档

    请参考。

    http://software-dl.ti.com/processor-sdk-rtos/esd/docs/05_02_00_10/rtos/index_Foundational_Components.html#c66x

           Q2)、那么我是否需要对构建输出执行该操作?  

           SPRUGY5C、我感觉构建输出必须由一组实用程序进行转换、以便 EEPROM 就绪。

    不需要。  

           Q3)我已经阅读过提到 c6657需要 iblInit 和 iblMain 的文章。 上面生成的.bin 是否已经包含这两个文件?

    是的。 生成的容器是完整的 IBL。

    • [C66x] eeprom51.bin -地址0x51的 EEPROM 二进制文件。 C66x 的默认值是中间引导加载程序(IBL)

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

    • [C66x] eeprom50.bin -地址0x50的 EEPROM 二进制文件。 C66x 的默认设置是 POST 应用程序。
    • POST (开机自检)引导旨在在引导时进行快速自诊断。 POST 应用程序本身位于中

      [SDK 安装路径]/pdk_boot_post <platform> <version> 封装/ti/boot/post 
      

      此应用程序应已编译并刷写到开箱即用的 EEPROM 中。 以下说明仅用于重新编译或重新闪存。

    此致

    Shankari

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

    我按照 PDSK 文档继续执行 EEPROM 编程过程:

    但是,我认为,在这里概述的步骤中必须有一些内容没有涉及。 当我运行 EEPROM 写入器时、它在 eepromwriter.c 的以下行失败:

    它似乎正在寻找一种叫做 i2crom.bin 的东西。 那么、我是否错过了上面提到的步骤中未包括的步骤? 或者、i2crom.bin 是否与文档中描述的 app.bin 相同?

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

    尊敬的客户:

    你好!

          查尔斯说:“ 似乎正在寻找一种叫做 i2crom.bin 的东西。 那么、我是否错过了上面提到的步骤中未包括的步骤?  或者 、i2crom.bin 是否与文档中描述的 app.bin 相同? "

    是的、app.bin 是给定的通用名称、适用于 SDK 步骤中要刷写的所有二进制文件。   对于 IBL、i2crom.bin 是要刷写的二进制文件。 app.bin 就是 i2crom.bin。

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

    在 eepromdwriter.c 中、它从  eepromdwriter_input.txt 读取文件名、总线地址、起始地址、交换数据。

     eepromwriter_input.txt 中的文件名为"i2crom.bin"。 "

    因此,将您构建的 IBL 二进制文件(从日志“i2crom_0x51_c6657_be.bin ”中)重命名为 i2crom.bin

    将 BUS_addr 更改为0x51、  因为  IBL 在总线地址0x51处刷写到 I2C EEPROM 中

    此致

    Shankari

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

    如果写入器正在从文件中读取.bin、为什么在运行 EEPROM 写入器之前有一个步骤将.bin 加载到存储器中? 那么、该步骤是否无用?

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

    查尔斯

    1. eepromdwriter.c 从 eepromwriter_input.txt 读取文件名 i2crom",以查找二进制文件的长度(i2crom.bin),从而知道要写入的字节数。  

    2.此二进制文件 i2crom.bin 将加载到 MSMC RAM 中,地址为( 0x0C000000 ),从中挑选数据并进行写入/刷写,最多可达字节总数。

    CCS 首先将二进制文件加载到 MSMC RAM 中、闪存写入器从 MSMC RAM 中选择数据、并将闪存存储器中选择数据。

    对于刷写、它不会使用二进制文件(复制到路径...\pdk_c665x_2_0_16\packages/ti\boot\writer\EEPROM\evmc6657l\bin)中的数据。

    它仅用于计算二进制文件的数据长度。 (i2crom.bin)  

    希望这对您有所帮助?

    此致

    Shankari

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

    感谢您的解释。