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.

[参考译文] RTOS/TMS320C5535:通过 UART 的引导映像不起作用

Guru**** 2588275 points
Other Parts Discussed in Thread: TMS320C5535

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/635257/rtos-tms320c5535-boot-image-via-uart-not-working

器件型号:TMS320C5535

工具/软件:TI-RTOS

您好的社区成员:

此问题已得到解决。 请参阅 :www.deyisupport.com/.../142976.aspx

感谢 Kent Lu (AVNED 现场应用经理 )的帮助,   的帮助。

根据以下应用手册、C5535支持通过 UART 进行引导。  

http://www.ti.com/lit/an/sprabl7c/sprabl7c.pdf

在我的板     上,TMS320C5535 usrt 端口通过 Rx、Tx、RTS 和 CTS 连接到 ARM STM32f103VG。 共4行。

DSP 引脚:  P13   UART-RxD/I2C3-Rx/GP30

DSP 引脚: N12   UART-RTS/I2C3-CLK/GP28  

和速率  

但它不起作用!

有什么不同?  请参阅 :www.deyisupport.com/.../142976.aspx

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已将您的疑问转发给 C55x 软件专家。 他们的反馈应发布在此处。

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

    您好!

    听起来您非常接近让它正常工作。

    您说... "可以从 SPI EEPROM 引导、一切正常。"
    但是、如果您使用 UART 引导、则 SPI EEPROM = 0xFF (与步骤1 -擦除闪存至0xFF 后的状态相同)...
     这可能是由引脚复用差异或时钟差异引起的

    检查从 UART 引导的程序中的 EBSR 引脚多路复用器初始化。
    如果您未初始化 EBSR 引脚多路复用器、则它将保持引导加载程序使用的最后一个状态。
    问题:在您的设计中、哪些 C5535引脚连接到 SPI EEPROM?
       引导加载程序支持使用两组不同的 SPI 引脚从 SPI EEPROM 引导、可通过 EBSR 引脚复用寄存器(PPMODE 位)进行配置。
       它首先尝试 EBSR PPMODE =模式5 (LCD、UART 和 SPI)。 SPI_CLK 来自引脚 LCD_D[8]/I2S2_CLK/Gp[18]/SPI_CLK。 引导加载程序仅激活 SPI_CS0。
       如果采用此引脚多路复用配置的 SPI EEPROM 上没有有效的引导签名、则引导加载程序会尝试 EBSR PPMODE =模式6 (GPIO、SPI、I2S2、I2S3)。 LCD_EN_RDB/SPI_CLK 上的 SPI_CLK。 同样、引导加载程序仅激活 SPI_CS0。
       
    为了使用 UART 引导选项、引导加载程序必须先尝试、然后才能从两个 SPI 引导引脚多路复用器选项引导。 一旦达到 UART 引导选项、EBSR 引脚多路复用器 PPMODE 位就会改回 PPMODE =模式5 (LCD、UART 和 SPI)、以便通过 UART 进行引导... 因此、如果您的 SPI EEPROM 需要 PPMODE =模式6、并且通过 UART 引导的程序不会从模式5更改 PPMODE、则 SPI EEPROM 将不会有 SPI 活动。

    您能否在 EEPROM 中探测 SPI 信号? UART 活动结束后是否有任何活动?
       
    问题:什么是 SPI_CLK 频率? 如果您没有考虑引导程序在 UART 引导后的运行速度提高3倍(与 SPI 引导相比)、则 SPI_CLK 可能运行得太快。    
       如果 CLKSEL = 1、则引导加载程序使用系统时钟= CLKIN 进行 SPI 引导。 在 UART 引导期间、引导加载程序将 PLL 配置为使用系统时钟= CLKIN * 3。
       
    问题:您的 CLKIN 频率和 CLKSEL 引脚状态是什么? 我们可以根据 CLKIN 频率(如果使用而非 RTC 时钟)计算预期的波特率误差。
    "请注意、如果 CLK_SEL 设置为在 CLKIN 时使用 CLKIN、此设置可能会导致数据接收错误
    11.2896 MHz。 外部器件可通过在两者之间增加额外的时间来降低错误率
    帧(字节)。" SPRABL7C

    "为了降低接收错误的可能性、外部发送器应设置为使用两个停止位。" SPRABL7C
    我看到您在 UART 设置中使用1个停止位。 您可以尝试使用两个停止位吗?

    您问... “在传输中,如果发生错误(例如 :奇数校验错误),我能知道它并修复吗?”
    引导加载程序不支持任何错误检查、因此您必须将其添加到在初始 UART 启动后运行的用户代码中(当它写入 SPI EEPROM 时)
    当从 UART 引导的程序正在运行、然后完成时、您还可以使具有实时状态的 LED 闪烁。 我们通常将 XF 引脚连接到 LED 以获取状态。
       
    请告诉我们您是否能够使其正常工作、以及如何操作。
       
    希望这对您有所帮助、
    标记