All Forums
 Microsoft Windows CE
 CE Downloads and Documents
 Persistent Registry Driver (OEM RAM-based)
 Forum Locked  Topic Locked
 Send Topic to a Friend
 Printer Friendly
Author Topic  

akidder

1519 Posts

Posted - 12 Mar 2003 :  15:27:54  Show Profile  Email Poster

Important: This post describes the ADS-designed OEM implementation of registry persistence used in ADS CE 3.0 and early 4.x builds. Beginning in 2004, ADS shifted to hive-based registries and away from the driver described in post, which has been deprecated.

Please see topic 1469 for further details about hive-based registries.



Persistent Registry Driver (Registry Backup)

The ADS Windows CE Registry Backup driver saves the full system registry to flash and restores it upon boot. This creates non-volatile, persistent storage of the system registry without the need for backup battery power.

Beta versions of this driver are available in all CE builds for the BitsyPlus (3.0 and CE.NET).

Theory of Operation

When an application calls the RegFlushKey() API, this driver saves the registry to onboard flash. The registry will be restored the next time CE cold boots. You can test the features of this driver by using the WindowsMgrReg.exe application. This application allows you to save, restore and erase the saved registry space.

Note that this driver takes care of half the task of persisting driver installations. You will still have to copy DLLs and other files needed for drivers and applications using ADSCopy or your own file loader.

The Bitsy Plus driver saves the registry to the region immediately below the flash disk. Upcoming products (e.g. BitsyX) are expected to save the registry to the region of flash immediately above the system files at the bottom of flash (see the CE memory map for details). The memory map will reserve 512kiB of flash for this purpose.

Boot Messages and Troubleshooting

You will see one of the following messages on the debug port during boot:
  • Saved Registry will be restored.
  • The saved registry was read from flash and loaded into CE.

  • Registry area is blank.
  • Saved registry area is formatted and blank. Registry not loaded.

  • Invalid Checksum. Skip restoring Registry.
    Saved CRC = 0x%x, Calculated CRC = 0x%x
  • The data in the registry area did not match the checksum. Data is considered corrupted or invalid and is not loaded.

  • Warning!! Registry BackUp and FlashFx use same area.
    Warning!! Please reconfigure FlashFX Start Address and Length.
    Skip restoring saved Registry.
  • The driver detected flash disk headers in the region of memory that the registry backup was planning to use. The flash is considered in use and not avaialable to the registry backup.

    This message is generated when the driver detects a block of flash that appears to have flash disk information on it. It can be displayed in error if you are upgrading from a smaller build of CE.

    If you are confident that the entries in ADSLOAD.REG for the flash disk are correct, run the WindowsMgrReg.exe application or perform a low-level format of this region of flash to prepare it for use by the driver.



Edited by akidder 27-Aug-2004: Add paragraph about errors that occur when upgrading from a smaller CE image.
Edited by akidder 12-Jul-2007: Add deprecation notice and reference to new information at topic 1469. Topic no longer sticky.

akidder

1519 Posts

Posted - 30 Mar 2004 :  14:23:40  Show Profile  Email Poster
#adsload.reg_precedence

Precedence of ADSLOAD.REG

ADSLOAD.REG loads after the persistent registry. This means that settings in ADSLOAD.REG always supercede the persistent registry.

See forum topic 1374 for a method of disabling the ADSLOAD.REG loader.
Go to Top of Page
  Topic  
 Forum Locked  Topic Locked
 Send Topic to a Friend
 Printer Friendly
Jump To:
Eurotech Support Forums © Eurotech Inc. Go To Top Of Page
This page was generated in 0.02 seconds. Snitz Forums 2000