ARMulator model之Timer的使用

上篇说明了系统自带的Interrupt控制模块的使用,这一篇讲述下另外一个重要的外围模块Timer。

 

 

Timer模块同样也是系统自动加载的模块之一,其寄存器组映射的位置PERIPHERAL_TIMER_BASE为0x0a800000。Timer模块的原始时钟默认为20MHz。

下面描述每个寄存器的用法:

 

REG_TIMER1_LOAD:加载值寄存器。

W:设定加载值。遗憾的是只有16位的宽度,高位保留不可写入。

R:读取设定的加载值。

 

REG_TIMER1_VALUE:计数值寄存器。

W:None

R:读取当前的计数值。

 

REG_TIMER1_CONTROL:控制寄存器。

W:比较复杂。

Bit7:使能位,写1使能,写0停止计数。

Bit6:模式位,0为FREE,第一次计数后,Load值为0xFFFF。1为PERIODIC,每次都Load设置的加载值。

Bit3+Bit2:分频控制。00为1分频,01为16分频,10为256分频,11保留。

R:读取控制寄存器当前的值。

 

REG_TIMER1_INT_CLR:中断清除寄存器。

W:清除中断,只需要往Bit0上写1就可以清除中断。

R:None

 

REG_TIMER1_RESERVED0:未知,系统保留。

 

Timer2的寄存器组与Timer一致,没有任何差别。

 

最新下载 : http://www.hugacy.com/read.php?tid=15 如果你是一个ARM平台的video算法爱好者,或者开发优化工程师,你将会从这里领略到ARM模拟器带来的无穷魅力。 armulator.exe是最快的ARM指令集模拟器(性能是qemu的两倍),支持ARM7,ARM9,ARM11,Cortex/Thumb,可直接运行ELF和WINCE程序。(ELF程序用armcc或者arm gcc编译,WINCE程序用pb等编译) 。 如果只想关注应用程序开发,尤其做算法优化,比如汇编(甚至neon)优化,完全不想关心底层平台和操作系统,就请使用ARM模拟器,只要你的程序编译出来能在ARM+Linux的开发板上跑,就能在这个模拟器上运行。反之亦可。 使用高性能ARM模拟器,就可以体验ARM平台开发优化video codec的威力,不再需要去采购动辄几千元的ARM11, Cortex开发版,仅仅需要一台装有windows的PC,在ARM模拟器的帮助下,带领你进入arm平台video开发优化的世界。使用ARM模拟器最终开发出的video版本,不加任何修改就可以运行在真实的ARM产品平台上,执行结果绝无任何差异。 <**任何个人和团体学习者,及教育机构,在非赢利前提下,均可以无偿体验和使用ARM模拟器,商业使用请联系作者**> 使用方法极其简单,比如在开发板上运行./x264 --help 在PC上使用模拟器的方法:armulator.exe x264 --help 本压缩包中的x264使用源代码版本x264-snapshot-20100824,具体生成过程如下: 1. 官方网站下载x264源代码并解压缩 2. 在host主机上执行./configure --disable-asm 3. 修改config.mak a. ARCH=ARM b. CC=arm-none-linux-gnueabi-gcc (请先指定好你的交叉编译器路径) c. AR=arm-none-linux-gnueabi-ar 4. 修改config.h,去掉一行#define ARCH_X86 1 5. make 对于neon汇编优化,需要在config.mak中增加AS=arm-none-linux-gnueabi-as,需要4.3.3以后的交叉编译器. <**压缩包中的包含的x264,仅作讨论交流之用,对于任何其它使用,不承担由其产生的一切后果**>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值