⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme.txt

📁 wicebootloader design in platform builder
💻 TXT
字号:
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this source code is subject to the terms of the Microsoft end-user
// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
// If you did not accept the terms of the EULA, you are not authorized to use
// this source code. For a copy of the EULA, please see the LICENSE.RTF on your
// install media.
//

                                  ===================
                                   TABLE OF CONTENTS 
                                  ===================

   This file includes:

   ---Instructions for booting an x86 system with a CE/PC Boot Disk
   ---Choosing the correct Video/Display card on the target system
   ---Using LOADCEPC /L option with the FLAT driver
          
            ===========================================================
             Instructions for booting a CE/PC with the CE/PC Boot Disk
            ===========================================================
1. CREATE THE BOOT DISK
   There are two ways to create the CE/PC Boot Disk:
    (a) Use the CEPCBOOT.144 disk image provided in: %CEPBDir%\cepb\utilities.
        -- Install the websetup application (note that this only needs to be
           done once) by executing websetup.exe in %CEPBDir%\cepb\utilities.
	-- Once websetup is installed, "executing" cepcboot.144 (either by
           running "cepcboot.144" from the command line or double-clicking on
           the cepcboot.144 icon in File Explorer) will start the websetup
           application.
        -- Insert a floppy disk in the drive and follow the on-screen
           instructions to create a CE/PC Boot Disk.
    (b) Create a bootable MS-DOS disk by following the instructions that
        came with your MS-DOS version.
        -- Copy himem.sys from your MS-DOS distribution to the boot floppy.
        -- Copy all the boot disk files from the 
           %_WINCEROOT%\public\common\oak\csp\i486\dos\bootdisk directory.
        -- Optionally copy the Ethernet boot loader (eboot.bin) or serial
           boot loader (sboot.bin) images from a recent CE/PC build to the
           disk (this would only be necessary if you've updated the loader
           code).

2. INSTALL AND CONFIGURE AN ETHERNET ADAPTER (Ethernet boot loader only)
   (a) Install a supported Ethernet network card (read the Platform Builder
       documentation for a current list of the default network cards supported).
   (b) Configure the card's IO base address and IRQ values by editing the
       autoexec.bat file on the CE/PC Boot Disk.  Here is how the two values
       are used by the loader:

       * IRQ == 0 and IOBASE == 0
         - Scan the PCI bus and use the first Ethernet controller found.
       * IRQ == val and IOBASE == 0
         - Scan the PCI bus for the Ethernet controller with an IRQ == val.
          Once found, read the IOBASE value from the PCI configuration header.
       * IRQ == val1 and IOBASE == val2
         - Scan the PCI bus for the Ethernet controller with an IRQ == val1
           and with an IOBASE == val2.  If no such controller is found on the
           the PCI bus, assume it's an NE2000-compatible ISA device.
   
      For PCI-based Ethernet controllers, the controller type is determined
      by looking up the PCI vendor and device IDs in a table.  Note that this
      table (located in the CE/PC eboot directory) may need to be updated if
      your card type isn't detected (and it's not a NE2000-compatible card).

3. MAKE SURE PC IS CONFIGURED TO AVOID DEVICE INTERRUPT CONFLICTS
      Since Windows CE is not a Plug-and-Play operating system, you will need 
      to configure the CE/PC correctly and ensure that there are no device 
      conflicts.  The following table shows the default IRQ/IO base settings
      most of the devices and drivers in a Windows CE OS image. Please note 
      that some of the drivers use the same IRQ. This means that you cannot use 
      both devices managed by these drivers at the same time unless the drivers
      support interrupt sharing.  Interrupt sharing on a CE/PC is determined
      by the BIOS and the BIOS typically provides a way to configure interrupts
      to avoid conflicts for devices that don't support interrupt sharing.

	        IRQ       IOBase    Memory   DMA Channel  Comments
               -------------------------------------------------
LPT:	        None      278                             Reserved
Debug Serial    None      3F8			
Timer Tick       0                                        Reserved
Keyboard         1                                        Reserved
Cascade          2                                        Reserved
COM1:            3        2F8                             Reserved
Serial           3        2F8
COM2:            4        3E8                             Reserved
USB Serial 
SL11 driver      4        390			
FastIR           5        2E8                     3
Debug Ether
(ISA)            5        340	
Floppy           6                                        Reserved
RTC              8                                        Reserved
Debug Ether
(PCI)            9         0		
Product Ether
PCI              NA        NA			
Audio            10     220-22f                   5	
USB UHCI         10       D801		
PCMCIA           11	3E0/3E2	  D0000-D7FFF,
                                  Slot2: D8000
Mouse            12                                       Reserved
Co-Processor     13                                       Reserved
IDE Controller   14                                       Reserved
Product Ether  
(ISA)            15			
USB OHCI         15     ffbfe000 			
DiskOnChip      None     None      C8000, D0000, 
                                     D8000		

   *** NOTE: If resolving an interrupt conflict changes the interrupt IRQ
       assigned to the Ethernet controller, you may need to revisit step #2
       above to assign a different IRQ in autoexec.bat.

4. CONNECT A TERMINAL EMULATOR TO THE CE/PC
   (a) Connect your desktop system to the COM1 port on the CE/PC with a NULL 
       modem cable.
   (b) Start a terminal emulator program on the desktop (example: Hyperterm)
       and configure the connection for 38400 baud, no parity, 8 data bits, 1
       stop bit and no flow control.

5. CONFIGURE AN ETHERNET CONNECTION FOR DOWNLOADING AND DEBUGGING
   (a) Start Platform Builder and open either a project (that has already been
       built) or the NK.BIN image that resulted from building a project.
   (b) Choose Configure Remote Connection from the Target menu.	
   (c) Select Ethernet in the drop-down menu titled "Download".
   (d) Select Ethernet in the drop-down menu titled "Kernel Transport".
   (e) Choose the Configure button associated with the Download option.  This
       will open a new dialog.
   (f) Insert the CE/PC Boot Disk in your CE/PC.
   (g) Boot the CE/PC.
   (h) Once the CE/PC Boot Disk has booted, the terminal emulator will display
       the device name and you'll see it sending out a series of "BOOTME"
       messages.  At the same time, you should see the device name appear in
       the Configure Ethernet Download Service dialog.  When it appears, select
       the device name and click OK.
   (i) Choose OK to close the Configure Remote Services dialog box.

6. DOWNLOAD THE OS IMAGE TO THE TARGET DEVICE.
   (a) Choose Download / Initialize on the Target menu.
   (b) Reset the CE/PC.
       The status bar displays a progress bar and a message indicating the 
       progress of the download.  When the download is finished, the debugger 
       begins operating automatically (if you have built a debugger OS image).
     
    

                 =====================================================
                   Using serial ports with your CE/PC
                 =====================================================

Windows CE and the bootstrap images (sboot.bin and eboot.bin) will use
the serial port at IO address 0x3F8 (normally considered COM1), if present,
to output debug information.  The port will be opened at 38400 baud, no
parity, 8 data bits, 1 stop bit.

The sboot.bin serial download image will use the serial port at IO address
0x2F8 (normally COM2).  By default, sboot.bin downloads at 115200/8/N/1, but
this can be configured by editing platform\CEPC\sboot\main.c, changing the
DEF_BAUD_RATE macro at the top of the file and any other settings in other
macros, and recompiling sboot.bin.

To avoid hardware conflicts, neither of these serial utilities are interrupt-
driven, so the IRQ settings for the CE/PC's serial ports are not relevant
to their behavior.

    

                 =====================================================
                   Choosing the correct Video/Display card on CE/PC
                 =====================================================

Starting with Windows CE 3.0, the default display driver in all the build
lab's BIN images was switched to the FLAT driver (from the old S3Trio64 driver). 
The FLAT driver will work with any video card that has a VESA video BIOS, 
VBE 2.x or later.  VBE 2.x is an older specification, so many of the latest 
video cards support VBE 2.x by default and hence will work with the FLAT driver.

To verify if your video card works with the FLAT driver, there is a new tool 
called VESATEST.EXE that is included on the CEPC boot floppy.  VESATEST detects 
if your video hardware supports VBE 2.x and what video modes the card supports. 
To run this tool 
   (a) Choose the "Run VesaTest program and list valid display modes" option 
       when you boot CE/PC or 
   (b) Boot to DOS prompt and run VESATEST.EXE program.

The video cards that are known to work with the FLAT driver are:

a. ATI Rage Fury, ATI Expert2000, ATI RagePro, ATI Expert98, ATI XL series
b. Diamond Stealth S540
c. Number Nine SR9
d. Creative Labs TNT2 and TNT2 Ultra
e. Diamond Viper V770 and V770 Ultra
f. Voodoo3 2000 and 3000 series
g. Matrox G400 and G200 series
h. Latest versions of the S3 Virge GX, GX/2, VX cards.

Note: Some older model display cards such as ATI Mach32/64, S3Trio64, 
Cirrus Logic 5434, and older versions of the S3 Virge or S3 Virge DX, etc. 
do not support VBE 2.x, so these cards will not work with the FLAT driver. 
To use these cards, you will have to include either the 
VGA8BPP or the S3Virge display driver in the OS image.

Note: VESATEST.EXE is a Microsoft tool that is provided to you AS-IS 
with no testing or support, hence use at your own risk. Microsoft does not 
provide any redistribution rights to the VESATEST tool.


                 =====================================================
                   Using new LOADCEPC /L option with the FLAT driver
                 =====================================================

The FLAT display driver in Windows CE 3.0 uses a new /L: cmdline switch to 
LOADCEPC, it does not accept the old /D: switch which only works on the 
VGA8BPP driver.  Here's the new switch and a description of each param:

    /L:DXxDYxBPP[:PXxPY] (the L can be upper or lower case 
                          just like all the other switches)

where:

DX          Required param. Sets the displayable area width 
            (can be any arbitrary value)
DY          Required param. Sets the displayable area height 
            (can be any arbitrary value)
BPP         Required param. Sets the color depth in bits per pixel 
            (8, 16, 24, or 32)
PX          Optional param (PY must also be specified). 
            Sets the physical screen width.
            Default is next closest value >= DX
PY          Optional param (PX must also be specified). 
            Sets the physical screen height.
            Default is next closest value >= DY

If no physical display size is specified, then LOADCEPC performs a 2D distance 
calculation to find the mode that is closest in size to DX/DY with the 
requested BPP value. If DX/DY exactly match a physical mode, then that mode 
will be chosen since the 2D distance will be 0.

Examples:
--------
1. loadcepc /v /e:300:5 /l:240x320x16 eboot.bin

   Use this to get a 240x320 screen (similar to the screen on a 
   Palm-size PC device) in 16bpp mode. Since the physical size was not 
   specified, this will auto pick the next largest physical 
   mode that can contain a 240x320 display - in this case, it would 
   likely pick a 640x480 mode, but on some hardware it might pick 
   something like 512x384 or whatever the hardware supports.

2. loadcepc /v /e:300:5 /l:1600x1200x8 eboot.bin

   This sets a really large 8bpp mode (assuming the hardware can 
   support it).  Since physical size was not specified, this will 
   auto pick the next largest physical mode that can contain 
   a 1600x1200 display. In this case it would more than likely pick 
   a 1600x1200 physical mode also.

3. loadcepc /v /e:300:5 /l:768x576x8:1024x768 eboot.bin

   This selects a 768 x 576 displayable area with 8bpp color and 
   specifies a 1024x768 physical display mode.

4. loadcepc /v /e:300:5 /l:240x320x8:1024x768 eboot.bin

   This selects a 240x320 displayable area with 8bpp color and specifies 
   a 1024x768 physical display mode (handy for laptop/embedded use where 
   an LCD display only supports one physical size). 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -