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.

[参考译文] TMS320C6678:I2C 引导不工作

Guru**** 2581345 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/628562/tms320c6678-i2c-boot-not-working

器件型号:TMS320C6678

您好!

我们希望在我们的定制板中以 I2C 模式启动处理器。 处理器未启动。
因此、我们正在寻求您的帮助。 我们将根据 wiki 页面执行以下步骤。
 
引导应用( 附件中不包含 DSPC8682_EEPROM_1.OUT)转换根据 post_romparse.bat 完成  
附件。 此外、在转换过程中还会链接 post_8682_1.rmd、reboot_1.i2cmap 文件。
 
上述过程的输出(EEPROM_1_POST_8682.bin)将提供给 EEPROM 写入器程序
(C:\ti\mcsdk_2_01_02_06\tools\writer\EEPROM\tisbc6678l\)。
注意:当处理器处于 No e2e.ti.com/.../I2_5F00_boot_5F00_files.zipboot模式时、将加载写入器程序
 
程序日志如下所示
 
[C66xx_0] EEPROM 写入器实用程序版本01.00.05
 
从 DSP 存储器地址0x0c000000写入4168个字节到 EEPROM 总线地址0x0050,从器件地址0x0000...
从 EEPROM 总线地址0x0050读取4168字节到 DSP 存储器地址0x0c010000,从器件地址0x0000...
正在验证数据读取...
EEPROM 编程成功完成。
 
然后将引导模式更改为 I2C 引导模式(主器件)
boot_pararm (15下载到0)<=x"000b";
0xB->1011
1->Little Endian
101 (5)-> I2C 引导模式
0 ->参数索引
0 ->主模式
0 ->从 I2C 总线地址0x50处的 I2C EEPROM 引导
0 -> I2C 慢速模式(0 ->慢速和1 ->快速模式均已尝试)
 
00-> PCIe 端点
0->PCIe 子系统被启用。
 
是否缺少任何步骤? 请建议开启。

此致、

S.Sivanantam

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    I2_boot_files.zip 文件附加在之间(注意:当处理器处于 No I2_boot_files.zipboot 模式下时,将加载写入器程序)语句。 由此给您带来的不便、我们深表歉意。

    我们的板 EEPROM 地址为0x50、大小为 Atmel 的32KB。

    此致、
    S.Sivanantam
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们将对此进行研究。 反馈将发布在此处。

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

    您好!

    有人在研究这个问题吗?

    我们正在等待您的答复。

    此致、

    S.Sivanantam

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

    您是否曾尝试在 I2C EEPROM 引脚上放置一个示波器、以查看 ROM 代码是否能够从 EEPROM 读取? ROM 引导加载程序失败时、您是否已连接到 DSP 并观察到程序计数器位于何处? 您可以运行我们在此处提供的 Debug GEL 文件并报告器件状态。

    processors.wiki.ti.com/.../Keystone_Device_Architecture

    除了引导参数表之外、您还能说明您的 DETAT 寄存器设置是什么。 请提供位置0x026200020的完整值。

    此致、

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

    您好、Rahul、

    感谢您的回复。 请使用 c6678调试 GEL 查找器件状态寄存器日志

    (三
    C66xx_0:GEL 输出: ****** C6678自举配置
    C66xx_0:凝胶输出  
     
    C66xx_0:GEL 输出: ****** C6678器件状态寄存器(DEVSTAT)********
     
    C66xx_0:GEL 输出: bootcfg_DEVSTAT --> 0x0001000B  
     
    C66xx_0:GEL 输出: LENDIAN[0]->小端序
    C66xx_0:GEL 输出: BOOTMODE[3:1]--> I2C Boot Mode
    C66xx_0:GEL 输出: SmartReflex ID[5:4]--> 0
    C66xx_0:GEL 输出: mode[10]->主模式
    C66xx_0:GEL 输出: 地址[11]-->从 I2C EEPROM 引导至 I2C 总线地址0x50
    C66xx_0:GEL 输出: SPEED[12]--> I2C 数据速率设置为大约20kHz
    C66xx_0:GEL 输出: 参数 IDX[9:4]--> 0
    C66xx_0:GEL 输出: PCIESSEN[16]--> PCIe 子系统的电源域和时钟域的初始状态已启用
    C66xx_0:GEL 输出: PCIESSMODE[15:14]-> PCIe 处于端点模式
    C66xx_0:GEL 输出: PASSCLKSEL[17]-> SYSCLK / ALTCORECLK (由 CORECLKSEL 引脚控制)用作 PA_SS PLL 的输入
    C66xx_0:GEL 输出: SYSCLKOUTEN [0]->无时钟输出
     
    C66xx_0:GEL 输出: ****** C6678 DIEID 寄存器(DIEID)****
     
    C66xx_0:GEL 输出: DIEID0 --> 0x0F008010
    C66xx_0:GEL 输出: DIEID1 --> 0x0404276B
    C66xx_0:GEL 输出: DIEID2 --> 0x00000000
    C66xx_0:GEL 输出: DIEID3 --> 0x3A480021
    C66xx_0:GEL 输出: ****** C6678 MACID 寄存器(MACID
     
    C66xx_0:GEL 输出: MacID[31:0]-> 0x4C189859
    C66xx_0:GEL 输出: MacID[32:47]->0xB499
    C66xx_0:GEL 输出: BCast[16](广播接收)-->广播
    C66xx_0:GEL 输出: BCast[17](MAC 流控制)-->关闭
    C66xx_0:GEL 输出: 校验和[24:31]->0x85

    我将探测 i2c 行并更新您的信息。


    此致、

    S.Sivanantam

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    n`t 自举引脚似乎已正确配置为从 I2C 地址0x50读取数据,但您并未指示程序计数器的位置。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    PC 的位置为0x800340。  我通过加载示例代码 thro blakhawk 560v2 系统跟踪来检查 PC。

    查看 PC 的正确方法吗?

    此致、

    S.Sivanantam

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

    当您运行 Debug GEL 文件时、它应该会读取 PC。 另一种方法是了解使用仿真器连接到内核的方式。

    您n`t 的值很奇怪、因为 ROM 代码应该在该区域执行、以便在器件上进行 I2C 引导。 您能否将 Debug GEL 日志复制到文件并将其附加到此处以查看您的系统设置的完整视图。

    您在多少个电路板上对此进行了测试、在定制电路板上尝试之前、您是否在 EVM 上尝试过此图像?

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

    您好!

    我将映像刻录到另一个 EEPROM 中、其地址为0x51、并尝试引导。 它成功引导。

    EEPROM (0x50)中的相同过程也不起作用。

    我的转换过程中是否有任何问题?

    P.S:EEPROM 地址在引导模式中会相应地更改

    此致、

    S.Sivanantam