驱动牛犊
|
阅读:1934回复:0
程序运行速度疑问
程序如下:
*(volatile short *)(Bankaddr)=1; *(volatile short *)(Bankaddr)=0; 这段对外设地址访问的程序,在驱动程序里面的速度和在应用程序里面的速度相差一倍 在应用程序里,外设地址是通过mmap映射的 在驱动程序里,外设地址是通过ioremap映射的, (我将访问外设的时序参数设定的一样。并且编译应用程序时,带上了优化参数O2, 将驱动程序和应用程序反汇编,代码也差不多,没有什么太大区别) 为何驱动程序运行的速度要比应用程序快一倍左右呢,(我是通过示波器测量数据总线发现的) (目标板是linux2.6.31+s3c6410) 图片:bank time.JPG |
|