摘要: printk函数运行在内核空间,printf函数运行在用户空间。也就是说像Linux驱动这样的Linux内核程序只能使用printk函数输出调试信息。printk函数在控制台(也称终端)显示消息是通过/dev/console设备文件实现的。该设备文件只在字符界面的控制台下才起作用,所以printk函 阅读全文
posted @ 2016-06-23 09:42 TO_ZG 阅读(83) 评论(0) 推荐(0) 编辑
摘要: HAL(硬件抽象层)是建立在Linux驱动之上的一套程序库。这套程序库并不属于Linux内核,而是属于Linux内核层之上的应用层。在传统的Linux系统中Linux驱动一般有两种类型的代码:访问硬件寄存器的代码和业务逻辑代码。 编写一款支持HAL的Linux驱动程序的步骤: 第1步:编写Linux 阅读全文
posted @ 2016-06-23 09:42 TO_ZG 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 代码重用分为静态和动态。静态重用这种方式是代码极的重用,也就是将需要重用的代码和使用这些代码的使用者放在一起进行编译,最总生成一个可执行文件或程序库。另外一种代码共享的方式:模块依赖,也成为导出符号。如果只能用一句话解释如何利用导出符号实现代码共享,这句话就是"在一个驱动模块里使用另一个驱动模块里的 阅读全文
posted @ 2016-06-23 09:41 TO_ZG 阅读(158) 评论(0) 推荐(0) 编辑