1
私はN450ボード(Intel Atom)、EclipseをIDEとして使用しています。私はCでコーディングしており、アセンブリコードとしては& Tです。APICタイマーコードは動作しませんか?
私は定期的なモードにAPICタイマーを使用しようと私のISR_55
InitTickISR:
push %ebp //save the context to swith back
mov %esp,%ebp
// Divide Configuration Register (for Timer) addr : FEE0 03E0 <-
movl $0xFEE003E0, %eax
movl $0x3, (%eax)//0x3:Divided by 16, 0xA :divide by 128
// Initial Count addr : FEE0 0380 <- 0x1000
movl $0xFEE00380,%eax
movl $0x100, (%eax)
// LVT(Local Vector Table) Timer Register (FEE0 0320H) -- Interrupt 0x55
movl $0xFEE00320, %eax
movl $0x20055, (%eax)//2: periodic mode, 01:one shot
//55: interruption
// Enable local APIC addr : FEE0 00F0 <- 0x100
movl $0xFEE000F0, %eax
movl $0x100, (%eax)
pop %ebp //Return to the calling function
ret
とISRは、今のところちょうどそのようである:I(
isr0x55:
cli
sti
iret
私はタイマーカウント変更値を見ることができますレジスタ0xFEE00390をチェックしてください)、ISRは決して呼び出されません(私はブレークポイントを入れました!!!)。
私は何かを設定するのを忘れましたか?どのようにすべてのことが正しいと確信することができますか?
おめでとうございます! –
アレックス10倍 –