We are using a BitxyXB board with WinCE build 5.00.50. It works fine but some of the units into which he Bitsy boards go into have shown random power reset. It happens at a random time and after a couple of months of continuous operation in active mode (application always running). At this moment we would like to find out what is causing the bitsy to reset. To enable me to debug this, the queries I have are 1. Is there a way to capture what triggered the POR using some software features 2. Is there a way to read some register to know that the unit is about to reset and possibly pre-empt it?
Hi. Thanks for your post. We don't have any reports of BitsyXb reboot problems, and the product has been fielded for many years now.
Here are the areas I'd investigate: - Power supply and power wiring. We have seen loose power wiring result in product resets. - Watchdog timers. Are you using them? If so, your app could be taking too long to pet the dog.
The BitsyXb is pretty durable, so I am not immediately concerned about heat or vibration.
One software option is the Reset Controller Status Register (RCSR) at physical address 0x40F00030. It will tell you what the boot cause was. You can read it when your application starts up to watch for abnormal/unexpected boot modes.
The RCSR presents the following four bits: bit 0 Hardware reset has occurred since the last time the CPU cleared this bit. bit 1 Watchdog reset has occurred since the last time the CPU or hardware reset cleared this bit. bit 2 Sleep mode has occurred since the last time the CPU or hardware reset cleared this bit. bit 3 GPIO reset has occurred since the last time the CPU or hardware reset cleared this bit.
One caveat is that the bootloader could be clearing bits. You'd have to try it out to confirm.
If you can email (support.us@eurotech.com) the serial numbers of the BitsyXbs you have seen faults occur on, we can let you know how old they are and if they have had problems reported previously.
Keep us posted on what you find. We are interested. Let us know how we can help.
Hi We tried reading the register, but looks like the bootloader is resetting the bits during boot up. We are using 2 versions of bootloader (Ver 2.23 and Ver 2.4). The ver 2.4 is used on an older version of Bitsy board (with 64Mb RAM) and the 2.24 with a newer version of Bitsy (with 128Mb of RAM).
My further queries are below 1. Is there a way to stop the bootloader from clearing the bits? 2. Is there a way to track the memory usage through the application using some APIs? 3. Should there be some configuration change made do use the complete 128Mb RAM? Currently we do not modify the code that we had initially written for use on the 64Mb of RAM.
Thanks for the updates. Here are responses to your questions:
1. I took a look at the bootloader code and think I see where the RCSR is getting cleared. We would have to build a custom bootloader that would not clear those bits.
However, I believe the BitsyXb CE bootloader stores the RCSR and PSSR register contents at physical address 0xA0085000 as an unsigned long. RCSR is the lower word and PSSR is the upper word. Try reading it from there.
2. You can see current memory allocation under Control Panel > System. We illustrate use of CE memory APIs at Topic 734.
3. For BitsyXbs with 128 MB DRAM, the ADSLOAD/SYSLOAD.HWT file should have the following entry: [TAGS] DramSizeInMB 0x80
You can find a copy of the HWT file your system is using in the \Temp folder.
We'll be glad to work with you directly on to resolve the problem you are seeing with resets. Please contact us directly at support.us@eurotech.com with further questions about it.