imx6q-sabresd板子在3.14.52版本reboot命令不成功

赵文彬龙 2016-12-08 09:28:17
你好:
板子相关信息:imx6q
内核版本:3.14.52
我在板子启动之后执行reboot命令:
root@imx6qsabresd:/# reboot
The system is going down for reboot NOW! (ttymxc0) (Thu Sep 1 09:57:12 2016)
INIT: Switching to runlevel: 6
INIT: Sending processes the TERM signal
root@imx6qsabresd:/# Stopping Dropbear SSH server: stopped /usr/sbin/dropbear (pid 428)
dropbear.
* Stopping Avahi mDNS/DNS-SD Daemon: avahi-daemon

** (oprofile-server:487): WARNING **: Avahi error: Daemon connection fail[ ok ]
Stopping advanced power management daemon: no /usr/sbin/apmd found; none killed
apmd.
Stopping system message bus: dbus.
stopping mountd: done
stopping nfsd: done
Stopping OProfileUI server
Stopping syslogd/klogd: stopped syslogd (pid 456)
stopped klogd (pid 459)
done
stopping statd: done
Stopping Telephony daemon
ALSA: Storing mixer settings...
Stopping rpcbind daemon...
done.
Stopping Linux NFC daemon
Deconfiguring network interfaces... done.
Sending all processes the TERM signal...
logout
Sending all processes the KILL signal...
Unmounting remote filesystems...
Deactivating swap...
Unmounting local filesystems...
Rebooting... reboot: Restarting system
mxc_restart: Watchdog reset failed to assert reset
就卡在这个了地方。
我的板子运行频率是800Mhz,那个看门狗选择的工作模式是ldo-bypass ,看门狗2。
首先板子应该没有问题的,运行3.0.35的时候是reboot正常的,一切OK。就是3.14.52不成功。
我直接操作寄存器验证如下:
在打断uboot正常启动之后直接:=> mw.w 0x20bc000 0x34,可以正常复位启动,并且打印说Reset cause: WDOG。
在启动系统之后执行:root@imx6qsabresd:~# /unit_tests/memtool -16 0x20bc000=0x34
root@imx6qsabresd:~# /unit_tests/memtool -16 0x20bc000=0x34
Writing 16-bit value 0x34 to address 0x020BC000
root@imx6qsabresd:~#

U-Boot 2015.04-imx_v2015.04_3.14.52_1.1.0_ga+g6cf684a (Sep 02 2016 - 18:29:31)

CPU: Freescale i.MX6Q rev1.5 at 792 MHz
CPU: Temperature 49 C
Reset cause: WDOG
Board: MX6-SabreSD
I2C: ready
DRAM: 1 GiB

执行到这个地方就不动了!!能否给点建议!!谢.
...全文
2023 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinaunixj 2017-12-19
  • 打赏
  • 举报
回复
请问,你是怎么解决的?
赵文彬龙 2016-12-08
  • 打赏
  • 举报
回复

这个是相关控制看门狗的寄存器,刚刚在uboot的时候执行mw.w 0x20bc000 0x34其实是对第一个看门狗操作,但是实际上ido-bypass模式时候选择的是第二个看门狗,第一个看门狗是disablesd状态的,怎么就可以reset成功呢,两个看门狗不能同时是ok状态,否则就卡在vpu的启动的那个地方了。
赵文彬龙 2016-12-08
  • 打赏
  • 举报
回复
在系统起来之后我对设备节点这样操作了下:echo s > /dev/watchdog
root@freescale ~$ dmesg | grep dog
------/driver/watchdog/imx2_wdt.c:imx2_wdt_probe------begin
imx2-wdt 20c0000.wdog: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=0)
------/driver/watchdog/imx2_wdt.c:imx2_wdt_probe------end
-----/driver/watchdog/imx2_wdt.c/imx2_wdt_close-----begin
imx2-wdt 20c0000.wdog: Unexpected close: Expect reboot!
-----/driver/watchdog/imx2_wdt.c/imx2_wdt_close-----end
root@freescale ~$
那个log是我加的打印,怎么这个看门狗关闭了呢??在启动打印中也有这句话imx2-wdt 20c0000.wdog: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=0)说明看门狗还是启动了。怎么后来就关闭了呢!!

赵文彬龙 2016-12-08
  • 打赏
  • 举报
回复
能否给点指点呢。谢谢呢。

1,318

社区成员

发帖
与我相关
我的任务
社区描述
主要是开发驱动技术
社区管理员
  • 驱动程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧