HomeNewsLinksMailing ListsDevelopersTechnical SpecsInformationNavigate our site
 

Corel VNC Programming Concerns

Low Level Items

Start Up Items

Flash access

At power up, all StrongARM reads will come from the FLASH ROM, until the first StrongARM write occurs. This gives us a few cycles of execution where the StrongARM fetches the reset vector code. This will appear to be location 0 of the FLASH. Fairly quickly, we should add 0x4100.0000 to the program counter, so that instruction fetches are from the FLASH address space. Then, issue a store instruction, which will change the memory map to the final one.

Memory

  1. configure DRAM controller
    1. set up address mux size, timing, refresh, etc (0x4200.00xx)
  2. test the RAM size
  3. test the RAM

Devices

  1. set up the '553 PCI arbiter
  2. set up the FB PCI port
  3. poll the PCI devices and assert VendorID && DeviceID (0x7B00.00xx)
  4. set the PCI device addresses (0x7B00.00xx)

Interrupts

  1. set up the FB interrupt controller
  2. set up the '553 interrupt controller

DMA

  1. disable FB DMA manager
  2. set up '553 DMA manager

Memory Manager

  1. turn on ICache
  2. set memory pages as follows; logical addresses will be determined by the OS
 
Name Range Cachable Burst/ 
Bufferable
Comment
RAM 0-0x01FF.FFFF y y will be subdivided by the OS
FLASH 0x4100.0000-0x410F.FFFF y n you will probably want to set up an alias which is non-cachable, non-burst, for when you want to write to the FLASH
FLUSH_SPACE 0x5000.0000-0x78FF.FFFF y y this space is used for cache flushes
PCI_MANAGEMENT 0x7900.0000-0x7BFF.FFFF n n
IO 0x7C00.0000-0x7CFF.FFFF n n general IO access
VGA 0x8000.0000-0x801F.FFFF y y direct, burst access to VGA image
ETHER100 0x9000.0000-0x900F.FFFF y y direct, burst access to Ether100
Bulk IO 0xA000.0000-0xFFFF.FFFF n n reserved for future I/O devices with large memory space
 
  1. turn on DCache

Serial Port (Console)

  1. by now, the PCI port to the SuperIO chip should be running
  2. set SuperIO PnP ports: 7C03.13F0, ports write CR07, assert CR20, CR21, write CR60, CR61, CRF0
  3. select 24MHz clock
  4. set UART ports: (0x7C03.120x), write UCR, HSR, baud rate (24MHz/115K/16=13!)
up: TOC
 
 
 

Site maintained by:
webmaster@netwinder.org