APIC Timer

apicTimerInit


#define APIC_REG_TIMER 0x320 /* LVT (Timer)      */
#define APIC_REG_TIMER_ICR 0x380 /* Timer Initial Count Reg    */
#define APIC_REG_TIMER_CCR 0x390 /* Timer Current Count Reg    */
#define APIC_REG_TIMER_CONFIG 0x3e0 /* Timer Divide Config Reg    */




10.5.4  APIC Timer


the divide configuration register
000: Divide by 2
001: Divide by 4
010: Divide by 8
011: Divide by 16
100: Divide by 32
101: Divide by 64
110: Divide by 128
111: Divide by 1




the initial-countregister -- read-write register
A write of 0 to the initial-count register effectively stops the local APIC timer, in both one-shot and periodic mode.




the current-count register -- read only
In one-shot mode, the 
timer is started by programming its initial-count register. The initial count value is then copied into the current-
count register and count-down begins. After the timer reaches zero, an timer interrupt is generated and the timer 
remains at its 0 value until reprogrammed. 


In periodic mode, the current-count register is automatically reloaded from the initial-count register when the 
count reaches 0.
If during the count-down 
process the initial-count register is set, counting will restart, using the new initial-count value. 


the LVT timer register
The timer can be configured through the timer LVT entry for one-shot or periodic operation.


The time base for the timer is derived from the processor’s bus clock, divided by the value specified in the divide 
configuration register.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值