Share via


MIPSII and MIPSIV Kernel (Windows Embedded CE 6.0)

1/5/2010

Before control is transferred to the kernel, the boot loader calls the StartUp routine to put the CPU into an initialized state. OEMs may also have to perform additional SDB/CPU specific initializations as mentioned in the user manual.

The following table shows the MIPS-based BSP and source file locations included in Platform Builder for which the StartUp function is specified.

BSP Source file

NEC Solution Gear 2-Vr5500

%_WINCEROOT%\Platform\SG2_VR5500\Src\OAL

OEMs developing for the MIPS processor using the MIPS kernel should perform the following tasks:

  • Set the CPU to run in uncached mode
  • Clear watch registers
  • Set up configuration registers
  • Set BCU registers
  • Initialize and invalidate the CPU cache
  • Clear the HAL timer
  • Initialize memory controllers, if necessary

After the final step, StartUp must call KernelStart to allow the kernel to initialize. The function address for KernelStart should preferably be an uncached and unmapped addressed in kernel segment 1 (kseg1).

Kseg1 is an address range defined in the MIPS architecture and has the following specific access characteristics: the CPU should be in kernel mode, there are no TLB mappings, and the address range is noncacheable.

See Also

Concepts

CPU Initialization
OAL StartUp Function Implementation