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.

[参考译文] PROCESSOR-SDK-AM335X:问题引导自定义目标、MLO 在进入 board_init_f ()前停止并在中断中挂起

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1126897/processor-sdk-am335x-problem-boot-custom-target-mlo-stop-before-entering-board_init_f-and-hangs-in-interrupt

器件型号:PROCESSOR-SDK-AM335X
主题中讨论的其他器件:TIDA-01568

我正在尝试启动一个新目标、但遇到了意外的问题。

新目标与我的第一个目标非常相似、大致基于 BeagleBone Black。

在新目标中、我们已用单独的电力线替换了电源 TPS 芯片。 这一切似乎都正常、所有电压都正常。  

我正在调试 MLO、方法是在不同的位置添加环路、然后连接 Code Composer Studio。 此外、我还在对我的旧目标执行同样的操作来验证。

我已经在 board_init_f()中放置了第一个循环,在我的旧目标中连接到该循环不会出现问题。

在我的新目标中,我没有命中循环,而是一个中断_FIQ ()矢量。

两个目标都从 SD 卡引导、在插入该卡之前、它们将在串行端口上跟踪 CCCC...。

是否有人知道我可以寻找什么。 我的理解是,当我输入 board_init_f()...时,甚至没有执行 DRAM 初始化。

请告知:-)我卡住了;-)

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

    您好!
    有关电路板移植、JTAG 调试、SPL/u-boot 启动流程的一些指针、请参阅 e2e 帖子...
    e2e.ti.com/.../4151233
    最棒的
    -香港

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

    你(们)好

    感谢您的快速响应。 我很好地参与了 JTAG 调试 MLO 启动。

    它会在过程的早期进入_data_abort 中断。  我在 AM335x 的 board.c 中发现这种情况发生在该函数中:

    静态空 rtc32k_unlock (struct Davinci_RTC * RTC)

     /*
     *解锁 RTC 的寄存器。 有关更多详细信息、请参阅
     TRM 的* RTC_SS 部分。 为了解锁、我们需要
     *按此顺序写入这些特定值(密钥)。
     *
     writel (RTC_KICK0R_we、&RTC->kick0r);
     writel (RTC_KICK1R_we、&RTC->kick1r);

    上述函数通过 将 RTC 指针参数设置为 RTC_BASE (值为0x44E3E000)从 rtc32k_enable()调用。

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

    我可以取出#define CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC、以便 MLO 跳过初始化 RTC。

    然后 MLO 将完成并写入到控制台.....

    但是、我在 u-boot 中的某个位置获得了新的数据中止。 U-boot 还会写入终端、包括数据中止信息:

    CPsw、USB_ether
    数据中止
    PC:[<9ff696b4>] LR:[<9ff558df>]
    重新分配 PC:[<808166b4>] LR:[<8028df>]
    SP:9ef32e70 IP:00000000 FP:80800020
    R10:00000001 R9:9ef32ed8 R8:4030cdcc
    R7:9ff9ce1c R6:9ff9cd94 R5:9ff9ce20 R4:1f753000
    r3:44e3e000 r2:b0010000 r1:9ff9f0b0:00000000
    标志:模式 SVC_32上 nZcv IRQ 关闭 FIQ
    正在重置 CPU ...

    看起来是相关的、因为它还包含 RF3中的 RTC 基址。

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

    尊敬的 Thomas:
    在 AM335x 电路板移植链接中、
    software-dl.ti.com/.../U-Boot.html
    有一节介绍"删除对 RTC 的依赖"。
    您是否尝试过所述的选项?
    最棒的
    -香港

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

    我正在处理这个。

    我认为我发现了问题、但没有找到解决方案、我正在努力进行验证。

    新电源设计不控制 RTC_PWRONRSTn 信号、它接地。 因此、我认为我必须消除对 RTC 的依赖。   TIDA-01568中介绍了一些作为电源参考的补丁、但这些补丁适用于 SDK 版本4。