1、背景介绍
采用复旦微的ZYNQ,跑linux操作系统,在应用程序中使用usleep进行延时时,发现存在10ms以下采用usleep试验都为10ms的情况
2、解决办法
使能设备树中的PS TTC设备,默认不是打开的
timer@e0024000 {compatible = "snps,dw-apb-timer";interrupts = <0x0 0x21 0x4>;reg = <0xe0024000 0x1000>;clocks = <0x7 0x3a 0x7 0x3e>;clock-names = "timer", "pclk";status = "disabled";};
需要把status的disabled状态改为okay。
3、测试验证
测试结果如下
可以看到,这样就能得到10ms以下的时间精度