Professional Documents
Culture Documents
Processor-Based System
Windows® CE 5.0 Build Guide
1.0 Scope
The purpose of this document is to provide instructions on how to build a Windows® CE 5.0 image for an
RMI Alchemy™ Au1200™ processor-based system.
This is revision C of this document. The changes from revision B (dated September 2005) are:
• Reformatted document for clarity.
• Added sections:
— Section 2.3.1.2 "How to Rebuild Windows® CE Kernel" on page 3
— Section 2.3.1.3 "How to Rebuild a Driver" on page 3
— Section 2.4.1 "Load Windows® CE Bootloader" on page 4
— Section 2.5 "Adding the Media Components for the DBAu1200™ Development Board" on page 7
— Section 3.0 "Debugging with the RMI Alchemy™ BSP" on page 9
— Section 4.0 "Creating an Execute-in-Place (XIP) Image" on page 10
Note: The Au1200 BSP installation requires that Platform Builder be installed first. Leave the default path as
“c:\WinCE50” and click Install.
4) Setup TFTP transfer service.
— Obtain the Windows TFTP files and install them into the c:\tftpboot directory.
— Double click on tftpd32.exe and check that the base directory is set to c:\tftpboot and the IP address is in the server
interfaces. (If running under Windows XP Service Pack 2, be sure to select unblock if the firewall is on.)
4) Boot CLI.
— To set the board to automatically start the bootloader every time it is booted (the quotes are required):
YAMON> set start “go bfd00000”
— Alternately, to manually boot CLI each time:
YAMON> go bfd00000
— Set the S6.8 switch to the ON position to boot from Platform Builder. Set the switch to the OFF position to boot from
compact flash.
5) Booting from Compact Flash.
To prepare the Compact Flash card for booting Windows CE:
— Insert the Compact Flash card into a PCMCIA slot.
— Allow it to format the newly detected removable drive. Choose the FAT file system.
— Copy the nk.bin file to the root of the Compact Flash card.
— Insert the Compact Flash card into the development board and be sure the jumper, S6.8, is set to OFF. Make sure the
CLI is running, which defaults to booting from the Compact Flash card. Boot up the board and if the start parameter is
not set, type in:
YAMON> go bfd00000
— Press enter. The following is an example of what is displayed:
Microsoft Windows CE Ethernet Bootloader Common Library Version 1.1 Built Jul 19
2005 11:28:16
Bsquare Loader (EBOOT)
Build Timestamp Mon May 3 15:12:22 2004
AMD Alchemy Au1xxx/Db1xxx
Au1xxx AA (PRId 03030200) @ 396MHZ
BootArgs are at A00FFC00, SIG = 544F4F42
Free Memory starts at 0x00059FFC
Change S5.8 to ON for EBOOT, OFF for CLI
Type "help" for command listing, or "help <cmd>" for specific help
HeapBase = 0x80019FFC, Size=262144
Setting up TOY completed
— Type in:
>atacard
The CLI bootloader then enables the PCMCIA socket and loads nk.bin from the Compact Flash card. When the image is
fully loaded, Windows CE should start up automatically.
Note: Make sure a monitor is hooked up to the board.
2.5 Adding the Media Components for the DBAu1200™ Development Board
Verify that the DCOM modules are added to the Windows CE build.
1) Adding Project Files.
Media components for the RMI Alchemy™ DBAu1200™ development board are bundled with the “RMI Alchemy™
Au1200™ Windows CE Source - 6.50 MB (MSI)” download. They can be found at:
c:\WINCE500\PLATFORM\DB1200\src\drivers\MAE1200\ and
c:\WINCE500\PLATFORM\DB1200\src\drivers\MediaCodecs\
For a binary MSI file, both pbmxl projects must be included.
For a source MSI file, the MAE project and the five individual codec projects (mp2split.dll, maimpadec.dll, maimpvdec.dll,
amdmpadmo.dll, amdmpvdmo.dll) need to beincluded.
To add the media components, insert the project files into Platform Builder:
— Click in the Workspace window and select the “File View” tab.
— Right click on “Projects” and select “Insert Existing Project…”
— Navigate to the media component projects and click open.
Add Projects:
— /MAE1200/mae1200.pbpxml
— /MediaCodecs/amdmpadmo.pbpxml
— /MediaCodecs/amdmpvdmo.pbpxml
— /MediaCodecs/mp2split.pbpxml
— /MediaCodecs/maimpadec.pbpxml
— /MediaCodecs/maimpvdec.pbpxml
— /MediaCodecs/MediaCodecs.pbpxml
Once all projects are added, perform another sysgen step to build them and make an image including them.
2) Building the project files individually.
Each project can then be built independently when changes are made. Once changed, projects are built by right clicking on
them and choosing “build current project”.
Note: Checking the option “clean before building” is recommended for individual builds.
Once the build is complete, run Build OS->Make Run-Time Image to include the updated component into the nk.bin image.
3) Adding graphedt.exe to the image.
To use graphedt on Windows CE 5.0:
— Build OS->Open Release Directory
— Set WINCEREL=1
— graphedt uses Microsoft Foundation Classes (MFC), so set SYSGEN_MFC=1. To avoid an entire rebuild, run
"sysgen -p dcom mfc"
— sysgen -p directx graphedt
graphedt.exe should now be in _flatreleasedir.
— Add graphedt to \windows\release directory. In the ParameterView tab of your workspace, edit the DB1200->Project
Specific Files->project.bib and add the following line:
graphedt.exe $(_FLATRELEASEDIR)\graphedt.exeNK
Once complete, perform another sysgen or manually copy this file to your release directory and do a Build OS->Make Run-
time Image.
UART
EBOOT/EBOOT/serialio.c - CE booter console
KERNEL/HAL/debugio.c - CE kernel messages, e.g. RETAILMSG()
DRIVERS/SERIAL - CE driver
MAC
EBOOT/COMMON/LDREBOOT/auether.c - CE booter EBOOT download
KERNEL/KITL/macDrvr.c - CE kernel KITL transport
DRIVERS/ETHERNET - CE NDIS driver
Note: There are three distinct address space domains in the CE BSP:
• CE bootloader
• CE kernel
• CE drivers
This means that symbols (e.g., function names , variables, etc.) declared in one address space domain are not visible to
another address space domain. It is possible for the same symbol to appear in each address space domain, but each is
unique to the address space domain, meaning that its value is not shared across domains.
To enable KITL debugging (which will utilize MAC0 for the transport), the KITL option must be enabled in the kernel config-
uration. KITL is enabled by default when a new CE platform configuration is created, but the following demonstrates how to
enable (or disable) KITL manually.
The values for ROMSTART and ROMSIZE must reflect the same values utilized in the MEMORY section for the Flash
address and size. The SRE=ON option causes the file NK.sre to be created which can then be programmed using a part pro-
grammer, or YAMON.
Note: The FILES\config.bib file contains settings for both an XIP image and a non-XIP image. The environment variable,
IMGFLASH, is utilized to control which settings are used at NK.BIN build time. (See Platform Builder on-line help
for the “romimage” tool for details on the contents and options of the config.bib file.) Once the config.bib file has
been modified to describe the Flash memory, it should also be copied into %_FLATRELEASEDIR% to replace the
“makeimg”-cached version for the platform configuration already built.
2) Build and boot a normal (e.g., non-XIP) image just to make sure there are no other errors.
3) From within the Platform Builder command shell, execute the following to create the XIP image:
C:> set IMGFLASH=1
C:> makeimg
C:> copy nk.sre c:\tftpboot
When the above steps are complete, a file named NK.sre is created, which can be downloaded to the on-board Flash, start-
ing at the Flash start address provided in the config.bib file.
Below is an example utilizing the RMI Alchemy DBAu1550™ development board, which has 64 MB of Flash. The sample
steps apply to any RMI Alchemy reference platform, but the addresses change depending upon the amount of Flash on the
board (for example, the DBAU1500 has 32 MB of Flash).
YAMON> erase 9c000000 3c00000
This process takes several minutes to erase/blank the 60 MB of Flash that will contain the CE image. With the Flash
blanked, the CE image can now be programmed:
YAMON> load /nk.sre
This step also takes several minutes.
YAMON> go 9c000000
at which point the kernel boots:
Windows CE Kernel for MIPS Built on Jun 24 2004 at 18:24:50
+OEMInit
RMI Alchemy DBAU1550
...
RMI’s products are not designed, intended, authorized or warranted for use as
components in systems intended for surgical implant into the body, or in other
applications intended to support or sustain life, or in any other application in which
the failure of RMI’s product could create a situation where personal injury, death, or
severe property or environmental damage may occur. RMI reserves the right to
discontinue or make changes to its products at any time without notice.
www.RazaMicro.com
TRADEMARKS
RMI is a registered trademark and RMI Alchemy, Au1200, DBAu1200, and DBAu1550 are trademarks of Raza Microelectronics, Inc.
Microsoft and Windows are registered trademarks of Microsoft Corporation in the United States and/or other jurisdictions.
Other product names used in this publication are for identification purposes only and may be trademarks of their respective companies.