D90

From Nikon Hacker
Jump to: navigation, search
D90
Camera image
Camera Announced August 2008
Latest Official Firmware A:1.00
B:1.01
Patches on
Nikon Patch
Yes
Wikipedia-puzzleglobe.png Wikipedia has an article named Nikon D90

Hardware

Much of this is gleamed from the Service Manual. Diagrams are checked into the source repository in the arch/ dir. They require https://sourceforge.net/p/gablock/code/ to create.


Architecture

D90 base.png

Block Diagram

D90.png

CM Board - uC #1

FR80 - Fujitsu FR MB91F637 / 1010 M90 / E1

Is this the "B" Proc?

Features

"For home electric equipment, camera, AV products, etc." (from product guide and wikipedia fr80 entry)

  • MB91635 Series Product
  • Scalar processor, 5-stage pipeline
  • DMAC (8 ch.)
  • 10-bit A/D converter(31 ch. × 2 unit)
  • 8-bit D/A converter(3 ch.)
  • Multi function serial interface (UART/SIO/I2C): 12 ch
  • Reload timer (16 bit × 3 ch.)
  • U/D counter(16 bit × 4 ch.)
  • Base timer (16 bit × 16 ch.)
  • External interrupt input (32 ch. + NMI)
  • Input capture(32 bit × 8 ch.)
  • Output compare(32 bit × 8 ch.)
  • free-run timer(32 bit × 2 ch.)
  • Watch timer
  • Maximum operating frequency: 60 MHz
  • External bus mode
  • RAM: 48 KB
  • Flash: 512 KB
  • 144-pin LQFP (0.5mm)
  • VDD: 2.7-3.6V

Memory Architecture

From [[1]] Managing the memory space in bytes Order to improve efficiency, space allocated to a predetermined area and direct address space vector table

Direct address space

  • Direct address to the address space of the lower address space. To gain access to this area only in the instruction operand information without using a general-purpose registers.

vector table area

  • Table Base Register (TBR) 1K bytes from the address shown in the area of ​​the contents of the vector address area to store EIT.
  • TBR In the reset is to 0x000FFC00, from the vector table area will 0x000FFFFF 0x000FFC00.

General Purpose Registers

  • R0-R12 General-purpose register
  • R13: Accumulator (AC), base address registers in a load / store instruction
  • R14: frame pointer (FP), in the index register load / store instruction
  • R15: USP or SSP, in the index register load / store instruction

Dedicated register

  • PC: Program Counter (PC)
  • PS: program status (PS)
  • TBR: table base register (TBR)
  • RP: return pointer (RP)
  • SSP: System stack pointer (SSP)
  • USP: User Stack Pointer (USP)
  • MD: multiply and divide register (MD)

Table Base Register (TBR) 1K bytes from the address shown in the area of ​​the contents of the vector address area to store EIT. TBR In the reset is to 0x000FFC00, from the vector table area will 0x000FFFFF 0x000FFC00.

CM Board - uP #2

Nikon ??? MFQP45

DG Board - uP #1

Nikon ExPeed EI-149(?)

DG Board - IC #1

DG Board - IC #2

Nikon EL-148?

DG Board - Memory ICs

Samsung