我已经在 Zynq-7000 和 Petalinux 2021.1 上使用 Yocto 设置了 Linux 系统。我当前的任务是每 2 秒重置一次硬件看门狗。一旦我的系统已经启动并运行,重置看门狗就不是问题了。然而,我在启动过程中重置看门狗时面临着挑战。
我的理解是u-boot阶段需要不到2秒的时间,所以此时重置看门狗是不必要的。然而,内核启动和用户连接之间存在大约 40 秒的显着差距。
有人对如何解决这个问题有任何想法或建议吗?
我尝试在内核开始时启动服务,但没有成功。
非常感谢您的帮助!
布恩。
听起来像是内核模块的工作。 检查以下模块之一是否是您正在寻找的内容: https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842055/Cadence+WDT+驱动程序\ https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841776/Axi+Watchdog
如果没有,您可以编写一个小内核模块并将其放入
initrd
/initramfs
中,以便在启动时加载它。
initramfs
还支持在启动时运行一些 shell 脚本,但我不确定它在 Petalinux 上如何工作。
如果时间还来不及,您可以构建包含驱动程序(内置)的内核。有一种名为
initcall
的机制控制内置模块初始化的顺序。
https://0xax.gitbooks.io/linux-insides/content/Concepts/linux-cpu-3.html