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.

[参考译文] Linux/DRA77P:XIP 从256MB 引导、在热复位后无法正常工作

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/674269/linux-dra77p-xip-boot-from-256mb-nor-not-working-after-a-warm-reset

器件型号:DRA77P

工具/软件:Linux

您好!

我有一个基于 J6P 的定制板、在 XIP 模式下从256MB 引导、但未连接到 GPMC。

虽然它都在冷启动模式下工作、并且在发出冷重启时、电路板在热重启后不会启动。 经过短暂的硬件模拟之后、我发现 GPMC_A27引脚在热重启后保持高电平、导致处理器找不到 SPL。

如果我在 NOR 闪存器件内部将 SPL 的副本放置在相对偏移量0x80000 (128M)处、则电路板能够引导(但我无法按照此路径进行操作、因为此副本会与另一个分区重叠)。

我需要热重启功能、以便通过 SAR RAM 进行条件重启。

这是一个已知问题吗? 是否有任何解决方案/解决方法?

谢谢你

此致、

弗朗西斯科

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

    尊敬的 Francesco:

    您的 sysboot 引脚配置是什么?

    谢谢、

    STAN

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

    我的 sysboot 配置如下:

    SYSBOOT15=1
    SYSBOOT14 = 0
    SYSBOOT13=1
    SYSBOOT12 = 0
    SYSBOOT11 = 0
    SYSBOOT10=1
    SYSBOOT9=0
    SYSBOOT8=1
    SYSBOOT7=1
    SYSBOOT6=0
    SYSBOOT5=1
    SYSBOOT4=1
    SYSBOOT3=0
    SYSBOOT2=1
    SYSBOOT1 = 0
    SYSBOOT0=1

    谢谢、

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

    Francesco、

    您可以尝试使用 sysboot15 = 0吗? 以下内容适用:

    "0-允许通过软件重新配置拉电阻器。 GPMC_A[n:19]上的内部下拉电阻
    默认情况下启用、以允许 GPMC 引导。 需要拉低 GPMC_A[n:19]
    在引导期间访问闪存存储器中的低位地址位置(n =[27:24、
    22:19]、取决于存储器卷)。"

    此致、

    STAN

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

    遗憾的是、将 sisboot15更改为0没有帮助。

    下拉电阻器被启用、由 CTRL_CORE_BOOTTrap 确认:

    devmem2 0x4a0026c4
    映射到地址 bb6f97000的内存。
    在地址0x4A0026C4 (0xb6f976c4)处读取:0x000025B5

    但仍然无法执行热重启。

    谢谢、

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

    Francesco、

    您能否为故障情况提供 CTRL_CORE_PAD_GPMC_A27寄存器(地址0x4A0034AC)的数据?

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

    CTRL_CORE_PAD_GPMC_A27寄存器在工作和故障情况下通过 XDS200读取的值始终为0x00040000。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    对于 GPMC XIP 引导模式、ROM 仅配置地址行 GPMC_A18:A0、因此我怀疑在 ROM 之外、GPMC_A27的主引导焊盘配置被代码配置为1、因此在热复位时、您会观察到 GPMC_A27设置为1。 如果您可以控制热复位、您可以尝试通过 PAD 配置将 GPMC_A27设置为0、然后将热复位置为有效。

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

    您好!

    这似乎解决了我的问题。 我要附加应用的补丁。

    谢谢你

    此致、

    弗朗西斯科

    e2e.ti.com/.../0001_2D00_ARM_2D00_DRA7xx_2D00_introduce_2D00_a_2D00_workaround_2D00_for_2D00_GPMC_2D00_warm_2D00_rebo.patch.txt