
Linux
Wrixn
Linux 、Yocto 、BSP嵌入式开发工程师
展开
-
Linux内核模块函数调用及命名空间(1)
内核模块是如何开始和结束的 用户程序通常从函数main()开始,执行一系列的指令并且当指令执行完成后结束程序。内核模块有一点不同。内核模块要么从函数init_module 或是你用宏module_init指定的函数调用开始。这就是内核模块 的入口函数。它告诉内核模块提供那些功能扩展并且让内核准备好在需要时调用它。当它完成这些后,该函数就执行结束了。模块在被内核调用前也什么都不做。转载 2013-02-01 19:49:15 · 1294 阅读 · 0 评论 -
Linux内核模块函数调用及命名空间(2)
命名空间 如果你只是写一些短小的C程序,你可为你的变量起一个方便的和易于理解的变量名。 但是,如果你写的代码只是许多其它人写的代码的一部分,你的全局一些就会与其中的全局变量发生冲突。 另一个情况是一个程序中有太多的难以理解的变量名,这又会导致变量命名空间污染 在大型项目中,必须努力记住保留的变量名,或为独一无二的命名使用一种统一的方法。 当编写内核代码时,即使是最小的模块也会同转载 2013-02-01 19:56:34 · 1090 阅读 · 0 评论 -
Linux内核模块函数调用及命名空间(3)
系统安装时,所有的这些设备文件都是由命令mknod建立的。去建立一个新的名叫 coffee',主设备号为12和从设备号为2的设备文件,只要简单的 执行命令mknod /dev/coffee c 12 2。你并不是必须将设备文件放在目录 /dev中,这只是一个传统。Linus本人是这样做的,所以你最好也不例外。但是,当你测试一个模块时,在工作目录建立一个设备文件也不错。 只要保证完成后将它放在驱动程转载 2013-02-01 20:51:08 · 829 阅读 · 0 评论