Sunday, October 4, 2009

How Warm Boot is Implemented? [WinCE]

Usually Images stored in Flash media in the following manner:
1. Store eboot(include piece of code which will copy NK.BIN to RAM too) and NK.BIN in FLASH together.
2. At startup, eboot copy nk.bin into RAM and then jump to address (0x800XYYYY address of NK.BIN in RAM) when image is copied.
3. In warm boot, we issue JUMP instruction to PC to start from NK.BIN address at RAM(0x800XYYYY).
Warm boot is use to retain data into image even after reset. Cold boot will restored the system to it's previous state.
4. Before validating the warm boot, re validate flow as well.

Note: the following line

memset((LPVOID)RomHdr.ulRAMStart, 0, RomHdr.ulRAMEnd - RomHdr.ulRAMStart)

Clears the RAM addresses, make sure it is not getting called.

No comments:

Post a Comment

Please add your valuable feedback and suggestion...

Note: Only a member of this blog may post a comment.