I'm currently trying to get my X86 CEPC to boot from an IDE attached CF card
and I'm having a problem getting the bootloader to read the nk.bin file on
the card. Using VS2005 and Windows CE 6 R3 with all service packs installed.
The CF card was created using the setup disk image that came with platform
builder using the fdisk, format and mkdisk utils. I've also made sure the
boot.ini is calling out my nk.bin file.
Here is the output from the serial port during boot-up, with error code
explanations from the bootloader's debug.h added for clarity:
Microsoft Windows CE BIOS Bootloader Version 2.2 (Built Jul 14 2005)
INFO: code=0x4. <- File found
INFO: code=0x4.
INFO: code=0x4.
ERROR: code=0xC. <- Reached EOF cluster in FAT file chain
ERROR: code=0xB. <- Cannot read record information
INFO: code=0x37. <- Trying backup image file
INFO: code=0x4.
Jumping to image (address=0x13C58C)
Microsoft Windows CE Bootloader Common Library Version 1.4 Built May 12 2007
12:22:44
Microsoft Windows CE Ethernet Bootloader 3.7 for CE/PC (May 12 2007)
...
From this point on, the device boot up using the eboot and starts sending
BOOTME's over ethernet. If platform builder responds, the same nk.bin get
transfered and runs just fine.
I initially thought that maybe the nk.bin file was getting corrupted somehow
while being transfered to the CF card. I was initially doing this via a USB
card reader attached to my development platform. So I also tried transfering
the file over via a USB drive and using the command line to copy the file on
the target system. Got the exact same result either way...
I also did notice that the file name on my development system is NK.bin and
the boot.ini is looking for nk.bin (lower case), but changing the case on
this to match made no difference. Didn't think it would as the eboot.bix is
all lower case in the ini and all uppercase on the disk and it's working
fine...
One thought is that I've had to disable the DMA in both my BIOS and ATAPI
drivers for these CF cards to work reliably. I'm assuming that the BIOS boot
loader does not over-ride the BIOS setting on this, but I'm not certain.
If anyone could provide insight on this or other ideas on what to check, I'd
greatly appreciate it. Thanks in advance!