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.

[参考译文] CCS/AM3357:CPU 暂停时禁用看门狗

Guru**** 2589245 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/635191/ccs-am3357-watchdog-disable-while-cpu-is-paused

器件型号:AM3357

工具/软件:Code Composer Studio

我有一个 initramfs Linux 映像、我尝试加载到 RAM 以引导 Uboot 进入、但我遇到的问题是、在暂停 CPU 大约50秒后、它会在上载过程中重置。 我怀疑看门狗已跳闸并导致复位、但我不知道如何确认、也不知道如何防止这种情况。 是否可以从通过 JTAG 连接的 Code Composer Studio 停止看门狗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    软件团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Erich、

    请详细说明您要做的事情吗? 您将如何处理它?

    听起来好像您使用 initramfs 构建了一个内核? 该 initramfs 使用什么文件系统? 您是将其构建到 zImage 中还是将其保持分离?

    然后,是否使用 U-Boot 引导该 zImage? 如果是、您应该有一些控制台日志。 您能分享这些吗?

    您正在使用哪些版本的 U-Boot 和 Linux 内核? 它们是否来自 TI SDK?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我认为寄存器需要查看导致复位的原因是 PRM_RSTST。 这听起来像是看门狗计时器过期。 您能否创建一个 CCS .gel 文件、在连接到电路板时禁用看门狗计时器?

    Steve K.

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

    我有一个文件需要写入定制板上的 SD 卡、我知道如何执行该操作的唯一方法是将 initramfs Linux 映像加载到 RAM 中并引导到 RAM 中、然后插入一个包含该文件的 USB 驱动器、 然后从 USB 驱动器复制到 SD 卡。 initramfs Linux 映像是一个我很久以前就得到的二进制文件、所以我对它不是很了解、除了它具有自定义板所需的驱动程序和文件系统。 映像文件是 uImage,而不是 zImage。 u-boot 版本显示为2014.07。

    这是施加电源后的终端输出:

    U-Boot SPL 2014.07 (2015年11月13日- 14:50:34)
    读取 args
    spl_load_image_fat_os:读取图像时出错、错误--1
    读取 u-boot.img
    读取 u-boot.img
    
    
    U-Boot 2014.07 (2015年11月13日- 14:50:34)
    
    I2C:就绪
    DRAM:256 MIB:
    0 MMC MMC MMC:NAND
    :0 MMC MMC:OMAP / SD 1
    读取 uboot.env
    
    **无法从 mmc0:1 **读取"uboot.env"
    使用默认环境
    
    网络:未设置。 验证第一个电子保险丝 MAC
    cpsw、USB_ether
    按任意键停止自动引导:0
    U-Boot# 
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    看起来 PRM_RSTST 只是显示是否发生了复位、但不控制复位的预防。

    关于创建一个.gel 文件、我认为根据我目前的经验、这需要一点。 尽管如果我不能弄清楚这一点、我可能必须对此进行研究。

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

    是的、可以使用 GEL 脚本在 CCS 中禁用看门狗计时器。 在 CCS 安装 ccsv7/ccs_base/emulation/boards/evmam3358/gel 中找到 evmAM335x gel 文件

    如果打开该文件、则可以找到文件中定义的禁用看门狗功能。

    //看门狗被禁用以消除调试期间的热复位
    Disable_Watchdog ()
    {
    WR_MEM_32 (WDT1_WSPR、0x0000AAAA);
    WR_MEM_32 (WDT1_WSPR、0x00005555);
    }
    

    您需要将此函数添加为热菜单项(请参阅:热菜单 AM335x_EVM_v1_5_Initialization ())。 这将允许您 使用 CCS 中的"Script"菜单按需调用此函数。

    希望这对您有所帮助。

    此致、

    Rahul