05 2020 档案

摘要:以led为例子 非设备树 这样需要在open read write函数中 对硬件做处理 通用性较差/* 1. 确定主设备号 */ static int major = 0; /* 3. 实现对应的open/read/write等函数,填入file_operations结构体 */ static in 阅读全文
posted @ 2020-05-13 19:42 不明白就去明白 阅读(255) 评论(0) 推荐(0) 编辑
摘要:完成通用功能需要Makfile和Makefile.build。自动生成通用模板的应用为CreatMakfile。测试用目录如下: 因为CreatMakefile.c中的扫描部分和顶层Makfile的obj-y中的定义全部与src有关。所以项目结构为CreatMakfile和src文件夹并列,且源文件 阅读全文
posted @ 2020-05-11 19:25 不明白就去明白 阅读(360) 评论(0) 推荐(0) 编辑
摘要:gcc 命令的常用选项 选项 解释 -ansi 只支持 ANSI 标准的 C 语法。这一选项将禁止 GNU C 的某些特色, 例如 asm 或 typeof 关键词。 -c 只编译并生成目标文件。 -DMACRO 以字符串“1”定义 MACRO 宏。 -DMACRO=DEFN 以字符串“DEFN”定 阅读全文
posted @ 2020-05-11 11:54 不明白就去明白 阅读(1815) 评论(0) 推荐(0) 编辑
摘要:GCC编译时可以使用如下参数:-finput-charset 指定源文件的编码(若不指定,默认是UTF-8)-fexec-charset 指定多字节字符串(const char*)常量在编译后的程序里保存的编码集(若不指定,默认是UTF-8)-fwide-exec-charset 指定宽字节字符串( 阅读全文
posted @ 2020-05-11 11:43 不明白就去明白 阅读(3701) 评论(0) 推荐(1) 编辑
摘要:使用“include FILENAMES...”,make程序处理时,如果“FILENAMES”列表中的任何一个文件不能正常读取而且不存在一个创建此文件的规则时make程序将会提示错误并退出。使用“-include FILENAMES...”的情况是,当所包含的文件不存在或者不存在一个规则去创建它, 阅读全文
posted @ 2020-05-11 11:36 不明白就去明白 阅读(687) 评论(0) 推荐(0) 编辑
摘要:学习Makfile需要掌握的基础知识: 一、基础规则: 目标(target)…:依赖(prerequiries)… <tab>命令(command) #以TAB开头 make命令的使用:执行 make 命令时,它会去当前目录下查找名为“Makefile”的文件,并根据它的指示去执行操作,生成第一个目 阅读全文
posted @ 2020-05-10 00:29 不明白就去明白 阅读(327) 评论(0) 推荐(0) 编辑
摘要:示例: ①基础,根据最基础的规则编写。这条规则的作用:判断这些依赖文件,如果发现某个依赖文件被修改过(make会比较依赖文件和目标文件的时间,比如比目标文件时间新,认为被修改过),就会执行命令,来重新生成目标文件。简单暴力,但是效率低 test : main.c sub.c sub.h gcc -o 阅读全文
posted @ 2020-05-09 22:08 不明白就去明白 阅读(204) 评论(0) 推荐(0) 编辑
摘要:当时的驱动文件这样写的request_irq(gpio_keys_100ask[i].irq, gpio_key_isr, IRQF_TRIGGER_RISING | IRQF_TRIGGER_HIGH, "100ask_gpio_key", &gpio_keys_100ask[i]);改成这样:r 阅读全文
posted @ 2020-05-09 15:21 不明白就去明白 阅读(1876) 评论(0) 推荐(0) 编辑
摘要:加载驱动用到加载命令: 加载:insmod或者modprobe 例如 insmod drv.ko 卸载:rmmod(推荐)或者modprobe -r卸载掉驱动模块所依赖的其他模块(前提是这些依赖模块已经没有被其他模块所使用) insmod命令不能解决模块的依赖关系。modporbe会分析模块的一台关 阅读全文
posted @ 2020-05-09 15:19 不明白就去明白 阅读(1129) 评论(0) 推荐(0) 编辑