在启动内核步骤上喂狗

本文介绍了在Linux内核启动过程中,如何在解压缩阶段和驱动初始化时设置和喂养看门狗定时器,以防止系统在长时间操作后因无响应而重启。主要涉及arch/arm/mach-davinci/include/mach/uncompress.h中的宏定义,arch/arm/boot/compressed/misc.c中的调用,以及lib/decompress_inflate.c和lib/zlib_inflate/inflate.c中的喂狗代码插入。
摘要由CSDN通过智能技术生成
----------------------------------------------------------------
转载请注明出处和作者联系方式:
文章出处:http://blog.csdn.net/pengguowen
作者:        pengguowen<imlvye#gmail.com>
----------------------------------------------------------------
1. 在 arch/arm/mach-davinci/include/mach/uncompress.h中实现
#define arch_decomp_setup() epcs6190_wdt_setup()
#define arch_decomp_wdog()  epcs6190_wdt_feed()
    两个宏定义
2. 在arch/arm/boot/compressed/misc.c文件中的decompress_kernel 调用arch_decomp_setup及arch_decomp_wdog函数进行第一次喂狗。
3. decompress函数是内核解压花费最多时间的部分,如果使用GZIP方法对内核压缩,需要修改lib/decompress_inflate.c文件:
    在gunzip函数的zlib_inflate函数调用前后加入以下语句进行喂狗:
#ifdef ARCH_HAS_DECOMP_WDOG
arch_decomp_wdog();
#endif
   zlib_inflate函数需要花费大量时间,在该函数上加入喂狗代码:(lib/zlib
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值