您的位置:首页 > 其它

字符设备驱动第十四课----IO读写

2016-12-08 16:28 176 查看

概述

1.内存屏障

往往操作外设IO是这样的过程:
虚拟地址对应的内存空间->高速缓存->外设控制器->输出


因此,当要让外设输出时,单纯的操作内存空间不一定能达到目的,有可能本次操作外设输出的是前几次高速缓存中的东西。故要达到实时性还要清缓存。这就是内存屏障。解决内存屏障问题就要使用内核提供的专用接口函数,不能单纯地只往你某个映射好的内存地址中写值。

2.接口函数

void ioread(u16 off, u32 v, u32 mask, u32 *val)


void iowrite(u16 off, u32 v, u32 mask, u32 *dst);


工程实例

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: