本周,我的一个学生给我发了一个邮件,询问如何Linux下如何往外设写数据. 邮件如下.
这可以说是用Linux开发嵌入式产品的人首先会遇到的一个典型问题. 那我们如何才能往设备写数据呢?
用户态的程序是运行在虚拟空间的,因此不能直接访问外设也就是设备
这个时间就需要驱动程序来帮忙.
Linux提供了函数在内核与用户程序之间复制数据.
这样当数据从用户态复制到驱动中后,就可以通过绑定物理地址到内核空间来进行设备的读写.
当然如果是数据量非常大,也可以直接映射物理地址到用户空间的一个指针上. 以便快速读写
具体参考《Linux Device Drivers》 |