上一页 1 ··· 221 222 223 224 225 226 227 228 229 ··· 280 下一页
摘要: 一个不同是 printk 允许你根据消息的严重程度对其分类, 通过附加不同的记录级别或者 优先级在消息上. 你常常用一个宏定义来指示记录级别. 例如, KERN_INFO, 我们之前曾 在一些打印语句的前面看到过, 是消息记录级别的一种可能值. 记录宏定义扩展成一个字 串, 在编译时与消息文本连接在 阅读全文
posted @ 2019-06-29 13:10 樊伟胜 阅读(2767) 评论(0) 推荐(0) 编辑
摘要: Unix 系统已经长时间支持名为 readv 和 writev 的 2 个系统调用. 这些 read 和 write 的"矢量"版本使用一个结构数组, 每个包含一个缓存的指针和一个长度值. 一个 readv 调 用被期望来轮流读取指示的数量到每个缓存. 相反, writev 要收集每个缓存的内容到一 阅读全文
posted @ 2019-06-29 13:08 樊伟胜 阅读(444) 评论(0) 推荐(0) 编辑
摘要: scull 使用的内存区, 也称为一个设备, 长度可变. 你写的越多, 它增长越多; 通过使用 一个短文件覆盖设备来进行修整. scull 驱动引入 2 个核心函数来管理 Linux 内核中的内存. 这些函数, 定义在 <linux/slab.h>, 是: void *kmalloc(size_t 阅读全文
posted @ 2019-06-29 13:07 樊伟胜 阅读(462) 评论(0) 推荐(0) 编辑
摘要: 我们开始在真实的 scull 函数中使用它们. open 方法 open 方法提供给驱动来做任何的初始化来准备后续的操作. 在大部分驱动中, open 应当 进行下面的工作: 检查设备特定的错误(例如设备没准备好, 或者类似的硬件错误 如果它第一次打开, 初始化设备 如果需要, 更新 f_op 指针 阅读全文
posted @ 2019-06-29 13:06 樊伟胜 阅读(428) 评论(0) 推荐(0) 编辑
摘要: 在内部, scull 使用一个 struct scull_dev 类型的结构表示每个设备. 这个结构定义为: struct scull_dev { struct scull_qset *data; /* Pointer to first quantum set */ int quantum; /* 阅读全文
posted @ 2019-06-29 13:05 樊伟胜 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 注册 driver_register 通过 module_init(s3c2410_nand_init);注册 Nand Flash 驱动. 在 s3c2410_nand_init ()中通过 driver_register()注册 s3c2410_nand_driver 驱动程序,如下所示: st 阅读全文
posted @ 2019-06-29 12:35 樊伟胜 阅读(185) 评论(0) 推荐(0) 编辑
摘要: device_driver include/linux/device.h struct device_driver { const char * name; /* 驱动名称 */ struct bus_type * bus; /* 总线类型 */ struct completion unloaded 阅读全文
posted @ 2019-06-29 12:04 樊伟胜 阅读(305) 评论(0) 推荐(0) 编辑
摘要: Nand Flash 设备添加时数据结构包含关系 struct mtd_partition partition_info[] --> struct s3c2410_nand_set nandset --> struct s3c2410_platform_nand superlpplatfrom -- 阅读全文
posted @ 2019-06-29 12:03 樊伟胜 阅读(196) 评论(0) 推荐(0) 编辑
摘要: s3c2410 专有数据结构 s3c2410_nand_set struct s3c2410_nand_set { int nr_chips; /* 芯片的数目 */ int nr_partitions; /* 分区的数目 */ char *name; /* 集合名称 */ int nr_map; 阅读全文
posted @ 2019-06-29 12:03 樊伟胜 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 1.1 U-BOOT 对从 Nand Flash 启动的支持 1.1.1 从 Nand Flash 启动 U-BOOT 的基本原理 1. 前 4K 的问题 如果 S3C2410 被配置成从 Nand Flash 启动(配置由硬件工程师在电路板设置), S3C2410 的 Nand Flash 控制器 阅读全文
posted @ 2019-06-29 12:02 樊伟胜 阅读(366) 评论(0) 推荐(0) 编辑
上一页 1 ··· 221 222 223 224 225 226 227 228 229 ··· 280 下一页