内核访问外设I/O资源的方式

http://blogold.chinaunix.net/u3/104898/showart_2216642.html

}
module_init(sram_init);
module_exit(sram_exit);

在开发板上运行结果如下:
/ # insmod bin/sram.ko
Request SRAM mem region ............
Hello,sram!      ß 这句即打印的SRAM内的字符串
/ # rmmod sram
Release SRAM mem region success!
SRAM is close

实验发现可以通过映射后的地址正常访问SRAM。

最后,这里举SRAM作为例子的还有一个原因是通过静态映射方式访问SRAM的话,我们可以预先知道SRAM映射后的内核虚拟地址(通过 IOADDRESS计算)。这样的话就可以尝试在SRAM上做点文章。比如写个内存分配的MODULE管理SRAM或者其他方式,将一些critical 的数据放在SRAM内运行,这样可以提高一些复杂程序的运行效率(SRAM速度比SDRAM快多了),比如音视频的编解码过程中用到的较大的buffer 等。

 原文地址 http://blog.chinaunix.net/u3/99873/showart_2057181.html

相关文章: