摘要: 对于复杂的Linux驱动及HAL等程序库,需要使用各种方法对其进行调试,例如,设置断点、逐步跟踪代码、输出调试信息等。Printk函数运行在内核空间,printf函数运行在用户空间。 初始化Linux驱动 Static int _init printk_demo_init(void) 卸载Linux 阅读全文
posted @ 2016-07-03 19:14 软件1311班47 阅读(108) 评论(0) 推荐(0) 编辑
摘要: HAL ( Hardware Abstraction Layer,硬件抽象层 )是建立在Linux 驱动之上的一套程序库。这套程序库并不属于Linux 内核, 而是属于Linux 内核层之上的应用层。 统一硬件的调用接口。由于HAL 有标准的调用接口,所以可以利用HAL屏蔽Linux 驱动复杂、不统 阅读全文
posted @ 2016-07-03 19:11 软件1311班47 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 这章将介绍蜂鸣器的实现原犁,并实现一个完整的蜂呜器驱动(可以打开和关闭蜂鸣 器).Linux驱动的代码重用,可以采用标准的C程序的方法将要重用的代码放在其他的文件中。如果要使用某些功能,include相应的头文件即可,也可以是另外一种动态重用的方式,也是一个Linux驱动可以使用另外一个Linux驱 阅读全文
posted @ 2016-07-03 19:09 软件1311班47 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 本章学习了搭建S3C6410开发板的测试环境,主要都是围绕S3C6410开发板进行的。这个开发板是由三星公司推出的一款低功耗、高性价比的RISC处理器,基于ARM11的内核。一、搭建编译环境所需要的交叉编译工具链:S3C6410X Tool Chain 4.2.2 - EABI V0.0 - cro 阅读全文
posted @ 2016-06-05 19:42 软件1311班47 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 本章是第一个linux驱动程序,统计单词个数。编写linux驱动程序的步骤,步骤如下: 1建立linux驱动骨架。 Module_init 和module_exit宏制定 2注册和注销设备文件 Misc_register mics_deregister 3.指定驱动相关信息 Module_autho 阅读全文
posted @ 2016-06-05 19:41 软件1311班47 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 本章学习控制发光二极管,通过直接与硬件交互完成,控制开发板上的四个小灯。编写驱动步骤如下: 1使用cdev_init初始化cdev 2指定设备号 3使用cdev_add函数将字符设备添加到内核中的字符设备组中 4使用class_creat宏创建struct class 5使用device_creat 阅读全文
posted @ 2016-06-05 19:40 软件1311班47 阅读(72) 评论(0) 推荐(0) 编辑