前面我们学习了demo1的驱动的编写,在写LED的时候,我们可以在demo1的基础上修改。
1.首先就是修改名字,把所有的demo改成led,使用一个字符串替换指令。
2.设备号要变
3.想操作硬件,LED的初始化,亮灭
LED的初始化,在open的时候实现。
亮灭在write的时候实现。
现在就是写LED的初始化:
这里我们没有头文件,所以要自己定义这俩个的值。
这俩个定义的数是常量 所以我们不能直接给这俩个数赋值。
所以我们定义一个俩个指针。
因为这里的0x56000010是虚拟地址,所以不能这样写。所以要去访问0x56000010的实际硬件地址。怎么做的?
那就是向内核请求这个地址
传递参数是物理地址,和大小,返回一个void*。