在启动内核步骤上喂狗
2011-10-12 17:26
316 查看
----------------------------------------------------------------
转载请注明出处和作者联系方式:
文章出处: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_inflate/inflate.c)
在改函数的for循环上加入:
#ifdef ARCH_HAS_DECOMP_WDOG
arch_decomp_wdog();
#endif
至此,内核解压部分喂狗已经解决。
4. 驱动喂狗
core_initcall(hw_wdt_init);
将驱动的init函数使用core_initcall方法,提前加载
转载请注明出处和作者联系方式:
文章出处: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_inflate/inflate.c)
在改函数的for循环上加入:
#ifdef ARCH_HAS_DECOMP_WDOG
arch_decomp_wdog();
#endif
至此,内核解压部分喂狗已经解决。
4. 驱动喂狗
core_initcall(hw_wdt_init);
将驱动的init函数使用core_initcall方法,提前加载
相关文章推荐
- DM6446 EVM板 Uboot与内核烧写和启动步骤详细说明
- 移植u-boot-2011.03到S3C2440(utu2440)的方法与步骤###4.支持内核启动
- 移植u-boot-2011.03到S3C2440(utu2440)的方法与步骤###8. u-boot引导启动nand flash中内核和根文件系统cramfs和用户文件系统yaffs2支持
- Android内核开发:如何统计系统的启动时间
- Linux0.11内核--启动引导过程
- 内核启动全过程
- Redhat enterprise linux 6上android内核调试平台搭建步骤
- 在menuconfig中配置Linux内核裁剪的具体步骤(2)
- Linux内核源码分析--内核启动命令行的传递过程(Linux-3.0 ARMv7)
- 详解appium+python 启动一个app步骤
- Linux 文件系统、启动过程 之 内核剖析 读笔
- centos 6.5内核编译步骤及配置详解
- Linux操作系统内核启动参数详细解析
- uboot启动内核的实现
- uCOS-II内核之初始化及启动
- linux系统修改启动logo的步骤
- Beaglebone Black——理论篇beaglebone black启动——从串口获得SPL、U-BOOT,TFTP服务器获得内核,NFS服务器挂载根文件系统
- ARM Linux启动流程分析——内核自解压阶段
- linux内核启动过程分析(一) arm
- linux内核启动日志