Intro
Hardware
331x/3330
Interrupts
I/O Map
Memory Ranges
Timers
GenSIO
ARM
DSP
Phone models
Peripherals
Nokia OS
Software
Glossary of Terms
Todo
Credits
Forum
Guestbook
Timers
DCT3 has a heck of a lot of timers for such a small device, here are the known ones:
Timer 0: (programmable timer)
I/O 0x0F (byte) is clock divider
I/O 0x10 (halfword) is the current value read register
I/O 0x12 (halfword) is the destination (next interrupt) register
Clock speed is 33055Hz/(divider+1)
When the current value reaches the destination IRQ 4 is generated. Timer is not
reset on reaching it's desination.
Timer 1: (yet another timer)
I/O 0x04 (halfword) is the current value read register
Clock speed is 1057Hz
When the current value reaches 0x7FFF *interrupt* is generated, and the timer is reset to 0.
ASIC watchdog timer
I/O 0x03 (byte) sets the current value in seconds. Value 0xFF disables the timer.
When the value reaches zero, the MAD is reset
CCont watchdog timer
CCont 0x05 sets the current value in seconds. Value 0x3F disables the timer.
When the value reaches zero, the phone is turned off
Last updated: 2005-02-21 14:19
This site is the result of a great deal of assembly code reading, research, countless (mostly futile)
searches for data sheets, cross-referencing and analysing. If you use this information in any
way please mention wumpus <blacksphere@goliath.darktech.org>
(and others in the credits section) in the credits of your program/document. And tell me :) If you have more information please contribute.
If you just copy this, stick your name on it and call it yours I hope you get your genitals bitten off
by a three headed monkey. Have a nice day.
No mobile phones were harmed in the production of this site.