发布时间:2013-03-27 09:38:45
NAND FLASH在linux-2.6.32中的驱动框架module_init(s3c2410_nand_init);static int __init s3c2410_nand_init(void){ .................. return platform_driver_register(&s3c24xx_nand_driver);}static struct platform_driver s3c24xx_nand_driver = { .probe = s3c24xx_.........【阅读全文】
发布时间:2013-03-25 09:17:47
__setup这条宏在Linux Kernel中使用最多的地方就是定义处理Kernel的启动参数的函数及数据结构,宏定义如下:#define __setup(str, fn) \__setup_param(str, fn, fn, 0)#define __setup_param(str, unique_id, fn, early) \static char __setup_str_##unique_id[] __initdata __aligned(1) = str; \static str.........【阅读全文】
发布时间:2013-03-07 12:13:57
linux设备驱动调试,我们在内核中看到内核使用dev_dbg来控制输出信息,这个函数的实质是调用 printk(KERN_DEBUG )来输出打印信息。要打开这个开关需要下面两步。 1、打开调试开关:你调试的文件中必然包含了,或者《linux /paltforam_device.h》,后者包含了前者,在包.........【阅读全文】
发布时间:2013-03-06 22:58:27
要了解Linux Kernel代码的分段信息,需要了解一下gcc的__attribute__的编绎属性或定义的函数或数,__attribute__主要用于改变所声明据的特性,它有很多子项,用于改变作用对象的特性。比如对函数,noline将禁止进行内联扩展、noreturn表示没有返回值、pure表明函数除返回值外,不会通过其它(如全局变量、指针)对函数.........【阅读全文】