Using Eboot
- 1 Trizeps VI Eboot
- 1.1.1 Transport setting
- 1.1.2 DHCP or static IP
- 1.1.3 KITL Settings
- 1.2 Connect & Download with Eboot
- 1.3 KITL
- 2 Trizeps IV & Trizeps V Eboot (new version, since 2009Q1-BSP)
- 2.1 Build Eboot
- 2.2 Modify Eboot
- 2.2.1 Transport setting
- 2.2.2 DHCP or static IP
- 2.2.3 KITL Settings
- 2.2.4 Image Start-Offset
- 2.3 Connect & Download with Eboot
- 2.4 Making eboot persistant
- 2.5 KITL
- 3 Trizeps IV Eboot (old version, prior 2009Q1)
- 3.1 Build Eboot
- 3.2 Modify Eboot
- 3.2.1 Transport setting
- 3.2.2 DHCP or static IP
- 3.2.3 Changing Image Start-Offset
- 3.3 Connect & Download with Eboot
- 3.4 KITL
- 4 Related Articles
Eboot is a Microsoft-specific implementation of a bootloader for Windows Embedded CE. It features image download, store and boot capabilities with an integration in the Platform-Builder IDE.
For Trizeps IV & Trizeps V, Seco delivers a sample eboot in the Board Support Packages (Microsoft) (.\src\bootloader\eboot
) for customers who would like to use it for training purposes.
It is booted from the Seco bootloader.
This article describes how to use eboot with Trizeps4 and Windows Embedded CE6. If you have a BSP prior to 2009Q1, you should take a look at the Patches & Workaround for Board-Support-Packages (RNDIS-KITL support). Other implementations of eboot work similarly (i.e. for Windows CE5 or Trizeps5).
Trizeps VI got an eboot
-command built in.
Trizeps VI Eboot
To download an image using eboot, simply call:
:) eboot
from the bootloader command prompt.
The default setting of the eboot-command is:
use on-board ethernet-controller.
DHCP enabled.
This can be overriden by passing additional command-line parameters.
Transport setting
Eboot supports the on-board ethernet-controller and RNDIS(USB-Function) as transport. To use RNDIS pass rndis
to the command-line.
ie.:
:) eboot rndis
If you want to use the ethernet-transport (default), you may also boot with:
:) eboot eth
DHCP or static IP
If you don't work on a network containing a DHCP-server, you may want to enter a static IP-address.
To use a static IP-address pass ipAddress=ipnumber
to the command-line.
ie.:
Note that the IP-address is coded hexadecimal: 192.168.254.1 (c0.a8.fe.01)
RNDIS will default to the static IP: 192.168.254.1
KITL Settings
The kitl-settings are not read by eboot, but they are used by the booted Windows Embedded CE image.
To enable kitl, pass kitl to the command-line.
ie.:
If no value is passed to kitl, kitl will boot with DHCP and VMINI enabled. VMINI is a virtual ethernet adapter that sits on top of kitl and allows TCP/IP connectivity while the ethernet-adapter is used for kitl-debugging.
kitl-flags |
|
---|---|
0x01 | Kitl enable |
0x04 | DHCP enable |
0x08 | VMINI enable |
To disable VMINI unset the VMINI-flag:
This will enable KITL (0x01), DHCP (0x04) and disable VMINI (0x08).
Connect & Download with Eboot
Prepare a SD-Card to contain a file
autoboot.bat
with following contents:
Insert SD-Card.
Apply power to the board.
In Platform-Builder open the Connectivity Options dialog ( Target→Connectivity Options..).
Verify
Ethernet
is selected as Download, even if you use RNDIS.Press Download Settings button.
Wait until device will appear in the
Active Target devices:
-list.Select it and close dialog with OK.
Target→Attach Device
Now eboot should connect to Platform-builder and download the Windows Embedded CE 6 image. If you have problems, view the output on COM1: (38K4, 8N1) and verify thatDownload Image
in the Core Service Settings is not set to Never
. Disable your firewall.
KITL
If you want to use KITL after downloading the image, make following changes to your autoboot.bat-file:
Where transport is either eth for ethernet or rndis for USB-function.
In the Target Device Connectivity Options
-dialog, verify that Use device name from bootloader
is checked in the Transport Settings.
Trizeps IV & Trizeps V Eboot (new version, since 2009Q1-BSP)
In the 2009Q1-BSP major improvements where made to eboot. Parameters, like if to use USB or ethernet as transport or if to use a static IP-address can be given through the bootloader-command-line. Now Windows Embedded CE images are automatically copied to the end of RAM. So no change of EXECUTABLE_PHYSICAL is needed for bigger images anymore.
Build Eboot
After you have done a build of your Windows Embedded CE6 Image, a file named eboot.nb0 should be in your _FLATRELEASEDIR. If you have done some changes to the eboot-source and only want to rebuild it:
Open your Platform-Builder project with Microsoft Visual Studio.
View the Solution Explorer and expand the node:
ProjectName→.\WINCE600\tr4conxs\SRC\BOOTLOADER
.Right-Click
eboot
and select Rebuild.
Modify Eboot
The default setting of the eboot-sample is:
use on-board ethernet-controller.
DHCP enabled.
This can be overriden by passing command-line parameters.
Transport setting
Eboot supports the on-board ethernet-controller and RNDIS(USB-Function) as transport (Trizeps4). Trizeps5 currently only supports ethernet-transport. To use RNDIS pass rndis
to the command-line.
ie.:
If you want to use the default, you should boot with:
Note that this is not necessary for eboot. But it is for the CE-image, when using kitl.
DHCP or static IP
If you don't work on a network containing a DHCP-server, you may want to enter a static IP-address.
To use a static IP-address pass ipAddress=ipnumber
to the command-line.
ie.:
Note that the IP-address is coded hexadecimal: 192.168.254.1 (c0.a8.fe.01)
RNDIS will default to the static IP: 192.168.254.1
KITL Settings
The kitl-settings are not read by eboot, but they are used by the booted Windows Embedded CE image.
To enable kitl, pass kitl to the command-line.
ie.:
If no value is passed to kitl, kitl will boot with DHCP enabled and VMINI disabled. VMINI is a virtual ethernet adapter that sits on top of kitl and allows TCP/IP connectivity while the ethernet-adapter is used for kitl-debugging.
kitl-flags |
|
---|---|
0x01 | Kitl enable |
0x04 | DHCP enable |
0x08 | VMINI enable |
To enable VMINI set the VMINI-flag:
This will enable KITL (0x01), DHCP (0x04) and VMINI (0x08).
Image Start-Offset
Please note that eboot will load the image to the end of RAM. This will leave RAM-Size minus Image-Size(nk_ram.nb0) to use as Storage and Program-RAM.
Too big images (typical debug images) might not load correctly, because too less RAM is left for the operating system. See How to Debug a Windows Embedded CE 6 Image for a workaround. Alternativly you may use a 128MB-RAM Trizeps-module.
Connect & Download with Eboot
Copy eboot.nb0 to a SD-Card.
Create file
autoboot.bat
with following contents:
Insert SD-Card.
Apply power to the board.
In Platform-Builder open the Connectivity Options dialog ( Target→Connectivity Options..).
Verify
Ethernet
is selected as Download, even if you use RNDIS.Press Download Settings button.
Wait until device will appear in the
Active Target devices:
-list.Select it and close dialog with OK.
Target→Attach Device
Now eboot should connect to Platform-builder and download the Windows Embedded CE 6 image. If you have problems, view the output on COM1: (38K4, 8N1) and verify thatDownload Image
in the Core Service Settings is not set to Never
. Disable your firewall.
Making eboot persistant
If you don't want to start eboot through a SD-card, you may store it to flash. For this use the flash-version, named ebootrom.nb0.
Enter the bootloader-command-prompt (Press <ESC> on startup with COM1: at 38,4kBaud, 8n1).
Type:
boot mmc ebootrom.nb0
Create a boot-script; ie.: fscript.bat.
Store this boot-script with:
store fscript.bat
Example of a boot-script:
KITL
If you want to use KITL after downloading the image, make following changes to your autoboot.bat-file:
Where transport is either dm9k_base for ethernet or rndis for USB-function.
In the Target Device Connectivity Options
-dialog, verify that Use device name from bootloader
is checked in the Transport Settings.
Trizeps IV Eboot (old version, prior 2009Q1)
Build Eboot
After you have done a build of your Windows Embedded CE6 Image, a file named eboot.nb0 should be in your _FLATRELEASEDIR. If you have done some changes to the eboot-source and only want to rebuild it:
Open your Platform-Builder project with Microsoft Visual Studio.
View the Solution Explorer and expand the node:
ProjectName→.\WINCE600\tr4conxs\SRC\BOOTLOADER
.Right-Click
eboot
and select Rebuild.
Modify Eboot
The default setting of the eboot-sample is:
use on-board ethernet-controller.
DHCP enabled.
Copy Windows Embedded CE Image to 32MB offset in RAM.
Transport setting
Eboot supports the on-board ethernet-controller and RNDIS(USB-Function) as transport (Trizeps4). Trizeps5 currently only supports ethernet-transport. To change to RNDIS, set PLAT_EBOOT_RNDIS=1 ( Project→ProjectName Properties→Configuration Properties→Environment) and rebuild eboot.
DHCP or static IP
If you don't work on a network containing a DHCP-server, you may want to enter a static IP-address.
Open loader.h
found in the eboot source-directory (.\tr4conxs\src\bootloader\eboot\main).
To use a static IP, change USE_DHCP to 0. As you can see, RNDIS uses the static IP: 192.168.254.1 with a Subnet-Mask of 255.255.255.0.
Changing Image Start-Offset
Unlike the Seco Bootloader, the eboot sample does not support dynamic loading of the Windows Embedded CE 6 image to the end of RAM.
The RAM between RAM-adress 0 and image start-offset is used as free RAM by the operating system. The Start-Offset can be adjusted by changing the value of EXECUTABLE_PHYSICAL.
( see mt6_io.inc in .\tr4conxs\src\inc):
Note that the RAM-base is 0xa0000000. The default is 32MB (0x02000000). This leaves 32MB for the Windows Embedded CE image on a 64MB-module and 32MB of RAM for the operating system. Note that system may fail to boot if the offset is too big or too small. Use the method described in How to Debug a Windows Embedded CE 6 Image to reduce size of a debug image. Alternativly you may use a 128MB-RAM Trizeps-module.
Connect & Download with Eboot
Copy eboot.nb0 to a SD-Card.
Create file
autoboot.bat
with following contents:
Insert SD-Card.
Apply power to the board.
In Platform-Builder open the Connectivity Options dialog ( Target→Connectivity Options..).
Verify
Ethernet
is selected as Download, even if you use RNDIS.Press Download Settings button.
Wait until device will appear in the
Active Target devices:
-list.Select it and close dialog with OK.
Target→Attach Device
Now eboot should connect to Platform-builder and download the Windows Embedded CE 6 image. If you have problems, view the output on COM1: (38K4, 8N1) and verify thatDownload Image
in the Core Service Settings is not set to Never
. Disable your firewall.
KITL
If you want to use KITL after downloading the image, make following changes to your autoboot.bat-file:
Where transport is either dm9k_base for ethernet or rndis for USB-function.
In the Target Device Connectivity Options
-dialog, verify that Use device name from bootloader
is checked in the Transport Settings.