Friday, November 30, 2007

Creation of nk.nb0 file (nb0)

The nk.bin file is the Windows CE binary image that is usually transfered from Platform Builder to the Windows CE device, but for platforms you need to provide the nk.nb0 files. The nb0 files is a raw version of an bin file, that means that this file can be directly loaded in the SDRAM and executed from there.

Manual generation of an nb0 :
Platform builder environment provide two tools for the generation of the nb0 files. The first one Viewbin used to see the properties of the bin file, the second one Cvrtbin used to convert the bin file into an nb0 file using the information provided by viewbin.
So open your OSDesign and go to Build -> Open Release Directory in Build Window, it will show up a command line window setup for your project.
Use : viewbin nk.bin
ViewBin... nk.bin
Image Start = 0x00220000, length = 0x00AC136C
Start address = 0x0023D618
Checking record #72 for potential TOC (ROMOFFSET = 0x80000000)
Found pTOC = 0x80ce02c0
ROMOFFSET = 0x80000000
Done.

Using this output, the following code example shows the syntax used to create an nk.nb0 file, using the values found in the Image Start and length lines:
cvrtbin -r -a 00220000 -l 00ac136c -w 32 nk.bin

Values may vary for your nk.bin as those information are related to the settings of your BSP and OSDesign.

- Nicolas

Tuesday, November 20, 2007

Static IP address for KITL (VMINI)

When you want to connect to your Windows CE device using KITL over Ethernet and having the network support enable, you have to select the following components and settings in your OSDesign :
  • TCP/IP
  • Wired Local Area Network (802.3, 802.5)
  • KITL support in you OSDesign settings
At this time the VIMINI driver is mounted on your system to provide access to the network API and support even if your physical network interface is already handled by KITL. This Virtual network interface (Virtual Mini Adapter) requires an IP address like another network interface.
If your network have a DHCP server enable, this interface will get an IP Address automatically. If it's not the case, you will have a default IP address (169.254.50.67) associated to this network interface and unfortunately this interface cannot be used as is. You must provide a valid IP address to this VMINI network driver through the registry.
; Enable static IP address for VMINI1
[HKEY_LOCAL_MACHINE\Comm\VMINI1\Parms\Tcpip]
"EnableDHCP"=dword:0 ; Disable the DHCP/ enable static IP
"IPAddress"="192.168.1.3"
"SubnetMask"="255.255.255.0"
Note : VMINI1 is the correct key path to point to the registry settings used by this driver.
Those settings must be added to your project.reg as those settings are specific to your current OSDesign and not linked to the BSP.
Using the same technique you can set a Static IP address to other network interfaces available on your device.

In the case of the usage of the Emulator BSP, the network interface used in this case is not VMINI1 but the NE20001 driver provided by Microsoft, emulating the access to your real network interface. In this particular case the registry settings will be :
; Enable static IP address
[HKEY_LOCAL_MACHINE\Comm\NE20001\Parms\Tcpip]
"EnableDHCP"=dword:0 ; Disable the DHCP/ enable static IP
"IPAddress"="192.168.1.3"
"SubnetMask"="255.255.255.0"

- Nicolas

Wednesday, November 14, 2007

Windows Embedded CE 6.0 R2

Windows Embedded CE 6.0 R2 (Release 2) has been released and is available for download from the Microsoft Website (link).

This version include the following new features :

  • Support for Remote Desktop Protocol (RDP) 6.0. RDP 6.0 includes support for Secure Sockets Layer/Transport Layer Security (SSL/TLS), Network Level Authentication, Server Authentication, and 32-bit color graphics.
  • Support for Microsoft Web Services on Devices (WSDAPI), which is an unmanaged code implementation of the Devices Profile for Web Services (DPWS) protocol standard.
  • Support for Video over IP telephony calls.
  • Additional Voice over IP (VoIP) functionality, including a VoIP boot loader application and resources for QVGA landscape mode and QVGA portrait mode user interfaces.
  • Support for the Pocket Outlook Object Model (POOM) and ActiveSync in the VoIP Home Screen and VoIP Contacts applications.
  • New sample board support packages (BSPs).
  • Support for Auto Proxy Configuration Support in Internet Explorer 6 for Windows Embedded CE.
  • New driver that supports USB CCID Smart Card readers.
  • Support for Windows Media Player OLE Control Extension (OCX) 7.
  • New componentized flash driver and new partition driver for the management of flash memory.
  • Improved Secure Digital (SD) bus driver that supports SDHC specification 2.00 functionality, for example Secure Digital High-Capacity (SDHC) cards.
  • Sample Serial ATA driver, extended from the ATAPI driver, which supports the Promise PDC40518 SATA card.
  • Support for pluggable third-party font drivers.
  • Support for Extended File Allocation Table (ExFAT) and FAT32 on the x86 BIOS Loader, which provides access beyond 2 gigabytes (GB) of hard disk space.
This release also includes the QFE for Windows Embedded CE 6.0 'till August 2007, and requires the installation of CE 6.0 SP1. For all the requirements of this release you can go here.

More details on this release will be available later....

- Nicolas

Tuesday, November 6, 2007

Subversion (SVN) and Visual Studio 2005

Tigris, the subversion (SVN) software developer group, is currently working on the integration of the support of Subversion under Visual Studio 2005. The Ankhsvn plug-in give you a chance from VS2005 to manage files version control on C#, C++ projects.


Unfortunately you could not use this plug in to manage files under version control for a BSP.

For downloads go to http://ankhsvn.tigris.org/

- Nicolas

Windows Embedded CE 6.0 Webcast

Microsoft in partnership with Adeneo organize a live webcast on Windows Embedded CE 6.0. Two sessions are planed in the next few days to give you a chance to discover the Windows Embedded CE 6.0 environment. The first session will be an introduction to Windows Embedded CE 6.0, and the second, do by myself, will focus on the development of device drivers under Windows Embedded CE 6.0 R2.

Scheduled Sessions :
- Introduction to Windows Embedded CE 6.0 and Platform Builder (details and registration)
Speaker : Nick MCCarty - Software Embedded Engineer with 1 year experience in Windows CE

Date : November 07 2007 @ 1:00 PM - 2:00 PM PST

- Development of Drivers with Windows Embedded CE 6.0 R2 (details and registration)
Speaker : Nicolas BESSON - Embedded Project Manager with 6 years experience in Windows CE
Date : December 05 2007 @ 1:00 PM - 2:00 PM PST

I'm waiting for you for those two events.
- Nicolas