2410下寄存器地址虚实映射.docVIP

  • 4
  • 0
  • 约7.05千字
  • 约 6页
  • 2018-05-27 发布于河南
  • 举报
2410下寄存器地址虚实映射

2410下寄存器地址虚实映射的实现 我们知道在我们的驱动里面一般操作的寄存器的地址都是虚拟地址,?然而一般在cpu的datasheet里描述的寄存器的地址都是物理地址,?那linux内核是如何把我们驱动中指定操作的虚拟地址转换成正真可寻址并操作的物理地址的呢??这篇文档以s3c2410为例,?将详细的描述这么一个实现流程。 ???????S3c2410使用的是arm920T的核,它支持MMU,正因为这样它才可以进行虚拟地址到物理地址的转换。而诸如使用arm7核的CPU一般都无法进行类似的转换,?就在于它没有MMU,所以它上面能跑的操作系统也是去掉了MMU功能后的linux如uClinux,?关于MMU的原理可参考相关文档。 我们先来看文件Map.h include\asm-arm\arch-s3c2410\Map.h: #ifndef __ASSEMBLY__ #define S3C2410_ADDR(x)????((void __iomem __force *)0xF0000000 + (x)) #else #define S3C2410_ADDR(x)????(0xF0000000 + (x)) #endif ? #define S3C2400_ADDR(x)????S3C2410_ADDR(x) ? /* interrupt controller is the first t

文档评论(0)

1亿VIP精品文档

相关文档