<>
谁能帮我查一下苹果5型号是MD297Z/A序列號是c38k4gkdtwd是不是真的啊
>
}
<>
1)实验平台:正点原子Linux开发板
>
<>
31/* 映射後的寄存器虚拟地址指针 */
>
<>
89 * @return : 读取的字节数如果为负值,表示读取失败
>
<>
102 * @return : 写入的字节数如果为负值,表示写入失败
>
<>
158/* 获取设备树中的属性数据 */
>
<>
dtsled.c攵件中的内容和第四十二章的newchrled.c文件中的内容基本一样只是dtsled.c中包含了处理设备树的代码,我们重点来看一下这部分代码
>
<>
第46行,在设备结構体dtsled_dev中添加了成员变量ndnd是device_node结构体类型指针,表示设备节点如果我们要读取设备树某个节点的属性值,首先要先得到这个节点一般在設备结构体中添加device_node指针变量来存放这个节点。
>
<>
第199~203行使用"古老"的iorema函数完成内存映射,将获取到的regdata数组中的寄存器物理地址转换为虚拟地址
>
<>
第205~209行,使用of_ioma函数一次性完成读取reg属性以及内存映射of_ioma函数是设备树推荐使用的OF函数。
>
<>
本章直接使用第四十二章的测试A将上一章的ledA.c文件複制到本章实验工程下即可。
>
<>
编写Makefile文件本章实验的Makefile文件和第四十章实验基本一样,只是将obj-m变量的值改为dtsled.oMakefile内容如下所示:
>
<>
输入如下命令編译出驱动模块文件:
>
<>
编译成功以后就会生成一个名为"dtsled.ko"的驱动模块文件。
>
<>
输入如下命令编译测试ledA.c这个测试程序:
>
<>
编译成功以后就会生成ledA这個应用程序
>
<>
demod //第一次加载驱动的时候需要运行此命令
>
<>
驱动加载成功以后会在终端中输出一些信息,如图44.4.2.1所示:
>
<>
图44.4.2.1 驱动加载成功以后输出的信息
>
<>
驱动加载成功以后就可以使用ledA软件来测试驱动是否工作正常输入如下命令打开LED灯:
>
<>
输入上述命令以后观察I.MX6U-ALHA开发板上的红色LED灯是否点煷,如果点亮的话说明驱动工作正常在输入如下命令关闭LED灯:
>
<>
输入上述命令以后观察I.MX6U-ALHA开发板上的红色LED灯是否熄灭。如果要卸载驱动的话輸入如下命令即可:
>
}