Occasional Problem Starting Up


We are chasing down several issues starting up on WinCE with an Apalis T30. One of the problems is a crash in our application, which I have a support case about. This is a slightly different case.

We have a fixture that turns our device on an off, then tests for our application life. I do not know if this particular problem start after we added a custom splash screen or not, but about one out of every 200 times that we power on the device, the device displays just the splash screen, and never launches our application. The splash screen just stays there. I have the serial debug turned on, and the full output is below.

Toradex Windows CE 8.0 IMAGE 2.0 for Tegra Built Feb  6 2017
INFO:OALLogSetZones: dpCurSettings.ulZoneMask: 0xb
L2 cache enabled
MainMemoryEndAddress adjusted from 0x86000000 to 0x9C000000
Main Phys Mem: 0x80000000:0x9BFFFFFF
Carveout Phys: 0x9C000000:0x9FFFFFFF
Cold boot selected
WatchDog Enabled (5000 ms)
SMP: Active CPUs = 4
Extended Mem : 0xA0000000:0xFFEFFFFF
Chip Id: 0x30 (Handheld SOC) Major: 0x1 Minor: 0x3 SKU: 0xb1
NVRM Initialized shmoo database
PllClocks(Mhz): X=1300, M=800, C=600, P=408, A=24.576
SysClocks(Mhz): CPU=1300, AVP=240, SysBus=240, Mem=400, EMem=800
GraphicClocks(Mhz): Host=106, 3D=133, 2D=133, Epp=133, Mpe=133, Vde=408
Loading FlashFileSystem(eMMC)...
Done FlashFileSystem(eMMC)(1)
Loading Audio...Done
Loading Serial4(UART_D)...Done Serial4(0)
Loading Serial2(UART_B)...Done Serial2(0)
Loading Serial3(UART_C)...Done Serial3(0)
Loading SDIO(SDIO3)...Done(2)
Loading SDIO(SDIO1)...Done(3)
Loading PCIe...PCIE: port 0: link down, aborting
                                                PCIE: port 1: link down, aborting
                                                                                 PCIE: port 2: link up in 0 us
Loading USBFunction(Port1)...Done
RNDISFN:: MTU Default:      [8064] bytes.
RNDISFN:: Max OUT transfer: [8192] bytes.
RNDISFN:: ThreadPriority    [109].
RNDISFN:: USFN [DOES NOT HAVE] DMA capabilityRNDISFN:: Host MAC  = 80-00-60-0F-E8-00.
RNDISFN:: Device MAC = 82-00-60-0F-E8-00.
RndisFn!ReadConfigurationValues: InternetSharing enabled [0]
RndisFn:: Host MAC afer registry consideration: [80 00 60 0F E8 00]
Bus:Device:Function: VendorID,DeviceID
0:0:0: 0x10de,0xe1c Virtual P2P to 1
0:1:0: 0x10de,0xe1d Virtual P2P to 2
0:2:0: 0x10de,0xe1d Virtual P2P to 3
3:0:0: 0x8086,0x157b
Loading I21x Ethernet...Done
Loading USBHost(Port2)...PCIe: Slot Clock Request Change (0x0)
Loading USBHost(Port3)...Done
Loading DisplayDriver...Done(30)
Set LCD to 1024x600 (58Hz)
Set CRT to 1024x768 (60Hz)
Set CRT to 1024x768 (60Hz)
Loading Keyboard/MouseDriver...Done
UnfdMutiTchDrv 2.0 loading...done
SoftRTC enabled
RTC Time restored (19.06.2017 15:41:33)
MultiTchHwAdapt loading...done


Did you maybe disable the explorer? If yes. Could you enable it and then do the reboot test?
Maybe it is your application that is not starting and it will get stuck inside Splash screen?

Yes, I do, and yes, I think you are right. When this occurs, I definitely am not getting any serial debug logging from my application. Nor am I getting any exceptions from Windows. So the question is, why is it not starting up occasionally?

I launch my app with a .lnk in the \Flashdisk\AutoRun folder. Would adding it to the registry be more robust?


  • I don’t think AutoRun is the issue. Could you put a simple application that only calls http://developer.toradex.com/knowledge-base/ioctl-hal-reboot into AutoRun and keep it rebooting.

  • When it does not start, are you able to start application manually from AutoRun folder?

  • Also, how early in your application do you do any printouts? Maybe its the dependency of your application that is not yet ready?

When it does not start, I cannot do anything. I cannot even get Explorer to launch using the same USB with \AutoRun\exploror.lnk that I use all the time. This makes me think that there is something in the OS startup not calling AutoRun. Again, this is maybe one out of 150 start-ups, on average.

My application does not write to Debug.WriteLine() until late in it’s startup.

@luka.tx I have added more debug statements to our app. Yes, it does seem to always be launched, though when we see this behavior, the system does not respond to putting a USB with AutoRun\explorer.lnk into the USB drive.

Within our application, the hang seems to be the when trying to read an ini file for the first time. Is this a problem with low level code and the FlashDisk? I am suspicious of the line: which does not normally pop up into the serial debug:

EMEM_DEC_ERR by host1xdmar @ 0x470fa9d0 (Status = 0x20000016)

I do not see anything about EMEM_DEC_ERR on the web. This error is about one out of every 200 system startups and occurs just before any of my application code debug lines are produced, which now occur very early at startup.