0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CSU SWDT、LPD SWDT和FPD SWDT的关系与使用

XILINX开发者社区 来源:XILINX开发者社区 作者: Longley Zhang 2022-06-15 11:52 次阅读

本文作者:赛灵思工程师 Longley Zhang

1简介

在Zynq MPSoC的器件里,PS (Processing System )集成了三个看门狗,分别是CSU SWDT,LPD SWDT和FPD SWDT。

CSU SWDT用于保护CSU与PMU及其相关连接。

LPD SWDT主要用于保护RPU系统及其相关连接。

FPD SWDT主要用于保护APU系统及其相关连接。

如果你的程序跑在APU上,并且你需要使用两个看门狗,那么除了FPD SWDT外,你是可以使用LPD SWDT。

2对应关系

LPD SWDT和FPD SWDT是提供给用户的应用程序使用的,CSU SWDT主要是由PMUFW和CSU BOOTROM使用的。所以通常情况下,用户可以在自己的应用程序里使用LPD SWDT和FPD SWDT。当客户需要使用时,需要在Vivado里需要使能相关的SWDT。但Vivado里的命名是SWDT0和SWDT1:

75a23dee-ebd2-11ec-ba43-dac502259ad0.png

而在UG1087的寄存器手册里,SWDT有三个代码段CSU_WDT, SWDT, WDT:

75c1aa8a-ebd2-11ec-ba43-dac502259ad0.png

所以有很多用户并不清楚这里面的对应关系。工具命名与手册命名的对应关系可以在UG1085里找到:

75e1a5b0-ebd2-11ec-ba43-dac502259ad0.png

3在Petalinux里的使用

Linux里,AMD Xilinx提供了SWDT的驱动,具体的介绍和测试方法可以参考下面wiki页面。

只需要按照该页面的方法,去使能驱动,修改dts和使能ENABLE_EM, 就能在Linux里使用LPD SWDT或FPD SWDT,这里不再详述。

当LPD或FPD SWDT超时后,SWDT并不会直接复位整个系统,而是把超时错误传达给PMU,由PMU决定下一步的错误处理方式(关于PMU的错误处理机制,可以参考UG1085的第6章)。而ENABLE_EM就是使能PMUFW里的错误处理模块,如果不使能该模块,当SWDT超时后,什么操作也不会发生。

PMUFW提供了一套完整的SWDT复位方案。当用户使能ENABLE_RECOVERY后,如果FSBL跑在APU上,PMUFW会初始化FPD SWDT,默认设定时间为60秒。这样在FSBL执行完后,用户自动获取SWDT的监控,通常60秒足够用户启动后续的u-boot或Linux。如果60秒不够,用户可以在u-boot阶段喂一次狗(重启SWDT),或者在PMUFW工程里添加一个定义RECOVERY_TIMEOUT,把需要的时间定义成RECOVERY_TIMEOUT。(注意,这里需要在Vivado工程里使能TTC。)

如果CPU在复位过程中出现挂死现象,建议用户把ENABLE_ESCALATION也添加上。如果PMUFW还有空间的话,建议把CHECK_HEALTHY_BOOT也使能上。下表来自UG1137,是系统重启方案的推荐设置以及空间占用情况的总结。

75fd68ae-ebd2-11ec-ba43-dac502259ad0.png

关于ENABLE_RECOVERY,ENABLE_ESCALATION和CHECK_HEALTHY_BOOT的更多介绍,请用户参考 UG1137。

4CSU WDT的使用

CSU WDT的使用比较简单,只需要在PMUFW里使能ENABLE_WDT,就能让CSU WDT监测PMU的运行。FSBL启动后,CSU WDT会设置为90毫秒超时,而PMUFW会有一个task每50毫秒喂一次狗。

请注意,如果用户在PMUFW里添加了自己的代码,并且使能了CSU WDT,那需要注意CSU WDT的超时时间。因为如果你在你的代码里添加了延迟(比如sleep),如果延时超过90毫秒,会导致CSU WDT触发从而产生异常。

5参考文档

本文只是简单的介绍了看门狗(SWDT)在Zynq MPSoC在使用上的一下简单技巧,帮助用户快速地使用看门狗功能。如果想了解看门狗(SWDT)的完整功能,请仔细阅读下面的参考文档。

原文标题:开发者分享|看门狗 (SWDT) 在Zynq MPSoC 上的使用技巧

文章出处:【微信公众号:XILINX开发者社区】欢迎添加关注!文章转载请注明出处。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 看门狗
    +关注

    关注

    10

    文章

    540

    浏览量

    70249
  • Linux
    +关注

    关注

    87

    文章

    10986

    浏览量

    206713
  • Zynq
    +关注

    关注

    9

    文章

    598

    浏览量

    46608
  • MPSoC
    +关注

    关注

    0

    文章

    194

    浏览量

    24109

原文标题:开发者分享|看门狗 (SWDT) 在Zynq MPSoC 上的使用技巧

文章出处:【微信号:gh_2d1c7e2d540e,微信公众号:XILINX开发者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    看门狗在Zynq MPSoC上的使用技巧

    在Zynq MPSoC的器件里,PS (Processing System )集成了三个看门狗,分别是CSU SWDTLPD SWDTFPD
    的头像 发表于 06-30 09:47 920次阅读
    看门狗在Zynq MPSoC上的使用技巧

    SWDT在AMD Versal™ Adaptive SoC中的应用案例分享

    系统看门狗定时器(System WatchDog Timer)通常用于嵌入式系统,可以有效的防止软件错误、系统死锁、篡改以及意外行为,帮助维护健康和安全的系统。
    的头像 发表于 04-15 10:36 418次阅读
    <b class='flag-5'>SWDT</b>在AMD Versal™ Adaptive SoC中的应用案例分享

    FPD LINK III

    有人了解FPD LINK III吗?
    发表于 10-29 19:50

    Zynq系统看门狗问题

    大家好。我正在尝试运行一个简单的程序,使用de SWDT,但我得到了一个意想不到的行为。我正在使用ZedBoard。我运行的代码如下:#包括#包括#包括#包括#包括#define
    发表于 04-03 07:29

    华大HC32A460 系列介绍(二)

    ,一个外部低速振荡器,两个 PLL 时钟,一个内部高速振荡器,一个内部中速振荡器,一个内部低速振荡器,一个 SWDT 专用内部低速振荡器,时钟预分频器,时钟多路复用和时钟门控电路。时钟控制单元还提供时钟
    发表于 03-29 12:45

    深度剖析FPD Link

    FPD Link 器件广泛的应用于汽车影音娱乐以及ADAS系统中高清视频数据的传输。本文主要总结了FPD Link 串行、解串芯片的主要功能模块的基本工作原理以及其在链路中的作用,便于工程师们快速
    发表于 11-03 06:54

    Energy harvesting and LPD当ST25管脚置于LPD模式时,EH是否仍然有效?

    Energy harvesting and LPD:当ST25管脚置于LPD模式时,EH是否仍然有效(目标是降低EH模式下的整体功耗)?
    发表于 01-16 07:40

    P89V51RD2单片机看门狗的使用方法

    P89V51RD2看门狗的启动和关闭通过WDTC寄存器的SWDT位实现,该位被置位启动看门狗,该位被清零时关闭看门狗。要使能WDT复位,用户必须将WDTC寄存器的WDRE位置1。当看门狗使能且发生溢
    发表于 11-18 11:39 52次下载

    平板显示器(FPD)

    平板显示器(FPD) 平板显示器(FPD)的定义: FPD(Flat Panel Display)顾名思义,就是屏幕呈平面的电视,它是相对于传
    发表于 10-30 22:14 1719次阅读

    什么是平板显示器(FPD)

    平板显示器(FPD) 平板显示器(FPD)的英文全称:Flat Panel Display FPD(Flat Panel Display)顾名思义,就是屏幕呈平面的电
    发表于 10-30 22:16 3699次阅读

    MPSoC SWDT在Standalone下的应用有哪些?

    工程师根据FSBL的main.c中的InitWatchDog( ),添加代码后,依然不能使MPSoC的PS复位。
    的头像 发表于 09-19 11:15 1384次阅读
    MPSoC <b class='flag-5'>SWDT</b>在Standalone下的应用有哪些?

    基于ZCU106单板的功耗优化

    UART 0 F. GPIO MIO G. SWDT 0/1 H. TTC 0/1/2/3 I. DDR 16-bit J. DPLL/RPLL 在关闭其他外设,尽可能降低各个模块的频率后,FPD功耗是447mw,LPD是13
    的头像 发表于 10-10 16:43 1926次阅读
    基于ZCU106单板的功耗优化

    干货:PSoC SWDT在Standalone下的应用

    SWDT 在 Standalone 下的例子 xwdtps_polled_example.c,不能实现 MPSoC 的 PS 复位。SWDT 例子来自于目录 /Xilinx/SDK/2018.3/data
    的头像 发表于 10-30 10:13 670次阅读

    C1M-A1/2 SWDT 用户手册 HW

    C1M-A1/2 SWDT 用户手册 HW
    发表于 02-02 19:18 0次下载
    C1M-A1/2 <b class='flag-5'>SWDT</b> 用户手册 HW

    C1M-A1/2SWDT 用户手册 HW

    C1M-A1/2 SWDT 用户手册 HW
    发表于 07-04 19:04 0次下载
    C1M-A1/2<b class='flag-5'>SWDT</b> 用户手册 HW