How to clean and recreate a corrupted SFR database?

24-May-2024

Possible errors are:

  • CPU variant not found
  • Invalid SoC
  • Error reading INI file (Errors when trying to perform memory writes contained in an initialization file)
  • SoC not specified
  • Empty Programmable memory devices list in Hardware | Options
  • Empty Boot Core selection in Hardware | CPU Options | Reset
  • Empty Special Functions Registers (SFR) window
  • Error in the initialization file or error message: Line 7: [SoCCore.cpp]
  • If your INI or CPP file is reported missing
  • Error 88


Possible solutions

winIDEA 9.21.41 and newer

SFR database corruption is detected and SFRs are recreated automatically.

When the SFR database is recreated, custom SFRs are deleted. 


winIDEA 9.21.38 - 9.21.40

First, check if the folder for the SFR database location exists on your PC:

1. Open Tools | Options | SFRs

2. If the SFR database does exist (indicated in the Default field), then press Recreate database.

Create a new workspace and open the SFR Window via View | Special Function Registers. You should see the SFRs of your configured device.

It is recommended to prepare a PC working environment.


winIDEA 9.21.11 - 9.21.30

Click Debug | Debug Options SFRs | Recreate database


winIDEA 9.21.10 and older

Manually recreate the database:

1. Click Debug | Debug Options | SFRs | Open. This will open the folder which contains the SFR database.

2. Close winIDEA.

3. In the opened folder, go up one level and delete the SFR folder.

4. Open winIDEA. The SFR database will be recreated. Depending on your PC it might take a couple of minutes.

Was this answer helpful?