ackyee 发表于 2022-3-18 10:10:22

碰到ZYNQ PS,PL共同死机的情况了,请教有什么办法自动复位吗

如题, 不确定是不是 设备没固定好哪里碰线了,结果就是PS 和PL 共同死在那里了

因为我的系统是带电池供电的自杀电路的,所以一旦系统死机了,终端将无法关机

而且PS 和PL 共同死机状态下好像 看门口也不起作用了


现在暂时 不考虑 什么状况引起的死机, 就想听听大神的建议,这种情况有没有办法软件或者硬件复位系统的

kitten 发表于 2022-3-18 10:20:48

加个SmartReset芯片,ST/TI等厂家很多可选

kitten 发表于 2022-3-18 10:21:26

可以长按按键重启,也可以用组合按键重启。

ackyee 发表于 2022-3-18 10:27:44

kitten 发表于 2022-3-18 10:21
可以长按按键重启,也可以用组合按键重启。
(引用自3楼)

是单独独立的吗? 有没有型号推荐

wye11083 发表于 2022-3-18 10:30:12

本帖最后由 wye11083 于 2022-3-18 10:34 编辑

共同死机考虑PS和PL互锁了吧。。如果你是在中断里喂狗,那么真不好意思,会继续喂狗{:lol:}{:lol:} 典型的卡死是CPU直接跑飞了,但是在带有MMU且跑着linux的系统上面。。几乎不会存在,顶天了出kernel panic。还有,你确定你wdt开了? 检查寄存器吧。或者做个实验,拿个小镊子短接内存的某根脚,等足够长的时间(wdt超时)应该就自动重启了。

另外zynq这么贵,你还有货? {:lol:}你确定wdt可以复位到fsbl? 仔细看看um,重点是确认重启到fsbl的要求,因为连PL都彻底完蛋了,那就只能从fsbl重开了。

简单瞅了一眼,如果ps+pl互锁,那么你得用swdt。。普通arm的标准wdt只能重启ps。

kitten 发表于 2022-3-18 10:36:03

本帖最后由 kitten 于 2022-3-18 10:38 编辑

ackyee 发表于 2022-3-18 10:27
是单独独立的吗? 有没有型号推荐
(引用自4楼)

是独立的,型号太多了,例如STM6519    STM6524,第一个是单按钮复位,第二个是双按钮组合复位。   还有直接带负载开关的。可以直接切断电源,你最好去ST和TI官网看看,根据你的项目选个更合适的。
https://www.ti.com.cn/zh-cn/power-management/supervisor-reset-ic/products.html#p2192=Push-button
https://www.st.com/content/st_com/zh/products/reset-and-supervisor-ics/smart-reset-ics.html#products

ackyee 发表于 2022-3-18 10:43:26

本帖最后由 ackyee 于 2022-3-18 10:49 编辑

wye11083 发表于 2022-3-18 10:30
共同死机考虑PS和PL互锁了吧。。如果你是在中断里喂狗,那么真不好意思,会继续喂狗 典型的 ...
(引用自5楼)

哈哈 也算写了10多年的代码了怎么会出现看门狗丢中断里的情况呢,不过今天确实没加看门狗,只是碰到了这个情况上来资讯下(每次都要拔电池 太无奈了,原先 STM32加FPGA组合的时候没出现过这种情况)

{:sweat:}调试了两周 出现了两次这个情况第一次 怀疑是程序在FSBL加载阶段受到干扰死掉了 ,(如果是FSBL 阶段受到干扰,这种加看门狗是无解的把?)

今天这次是 开在那里就死掉了,不过今天板子没固定 在手上调试的过程中死的,应该是碰线了, 但是感觉应该不是DDR碰线 否则 PL不应该死才对


原先还想着 PL 端做个硬件看门狗。出现问题了 PL 直接关闭电池供电,结果今天连PL 都挂了


对了今天软件上没加看门狗   ,所以这种情况下看门狗能不能看门成功 还不是很确定,回头加个看门狗看看

感谢大牛耐心回复
{:lol:}

ackyee 发表于 2022-3-18 10:44:00

kitten 发表于 2022-3-18 10:36
是独立的,型号太多了,例如STM6519    STM6524,第一个是单按钮复位,第二个是双按钮组合复位。   还有 ...
(引用自6楼)

谢谢你的指点   我去查下资料

kitten 发表于 2022-3-18 10:52:59

本帖最后由 kitten 于 2022-3-18 10:54 编辑

ackyee 发表于 2022-3-18 10:44
谢谢你的指点   我去查下资料
(引用自8楼)

不可拆卸电池或者断电的设备,最好都加一个这样的IC,避免拆开外壳的尴尬。现在手机基本上都有这个功能的。早期的苹果好像没有,死机以后只能等他自己耗完电才能开机。

kitten 发表于 2022-3-18 10:55:24

测试下   

wye11083 发表于 2022-3-18 11:01:22

本帖最后由 wye11083 于 2022-3-18 11:02 编辑

ackyee 发表于 2022-3-18 10:43
哈哈 也算写了10多年的代码了怎么会出现看门狗丢中断里的情况呢,不过今天确实没加看门狗,只是碰到了 ...
(引用自7楼)

如果fsbl也死了,你(1)更新vivado,zynq更新了好多版本silicon,启动初始化ddr阶段有坑,(2)测试ddr是不是会出现启动失败的情况。

还有,fsbl如果挂了,那么你可以改fsbl,异常之后直接重启fsbl。。fsbl这块你把它当成stm32就好。除非你spi频率太太太高了,连fsbl程序都加载失败了。

ackyee 发表于 2022-3-18 16:21:24

wye11083 发表于 2022-3-18 11:01
如果fsbl也死了,你(1)更新vivado,zynq更新了好多版本silicon,启动初始化ddr阶段有坑,(2)测试ddr ...
(引用自11楼)

如果是初始化工作后DDR 导致的死机会有可能影响 PL 工作吗?   感觉也挺奇怪的
还有就是怀疑可能 1.0或者 1.8短路了下

wye11083 发表于 2022-3-18 22:09:02

ackyee 发表于 2022-3-18 16:21
如果是初始化工作后DDR 导致的死机会有可能影响 PL 工作吗?   感觉也挺奇怪的
还有就是怀疑可能 1.0 ...
(引用自12楼)

ps死掉就是程序跑飞了呗。但是有mmu的机器中断是会继续跑的(所谓out-of-order)。所以一定不要在中断里面喂狗。
页: [1]
查看完整版本: 碰到ZYNQ PS,PL共同死机的情况了,请教有什么办法自动复位吗