Each winIDEA version comes with an SFR package, which is regularly updated. When winIDEA is ran for the first time the SFR package is extracted to a database, which is then used to show the SFRs. In the SFRs page of the Debug Options dialog, you can select which SFRs will be used in winIDEA.
Debug Options dialog, SFRs page
Use Internal (winIDEA) SFRs
If checked SFRs provided by winIDEA will be used. CPU name is displayed on the right.
Use CPU reported by the debugger plugin - SFRs that belong to the CPU that is selected in Hardware / Emulation Options will be used.
Use this CPU - Select the CPU and winIDEA will show the SFRs for that specific CPU. List of supported CPUs is available in the drop down menu.
Default - this will use the database that was extracted the first time winIDEA was run. If a newer version of winIDEA is started, the database will be overwritten with the newer version of the SFRs.
•Always use SFRs distributed with winIDEA - winIDEA will always use SFRs distributed with it. This means that even if older winIDEA is ran, then SFRs will be overwritten with this older version.
•Check for online updates - current version of the SFRs is compared to the SFRs in the online repository. If the online repository contains newer SFRs complete database will be overwritten with the new SFRs. Note that this option is disabled if option Always use SFRs distributed with winIDEA is enabled.
Custom - specify a custom location for the database. This option is intended for cases where multiple winIDEA versions are used at the same time. Each winIDEA version should have a separate SFR folder, to avoid constant updates of the SFR database.
Any changes to the database will be lost as soon as a different winIDEA version is opened / online update is performed. For manual changes to the SFRs read the Creating your own SFR file chapter.
Use External (3rd party) SFRs
If checked external SFRs will be used.
Specification format - defines the format of the external description file.
File Path - specifies the path to the external description file. The path is kept relative to winIDEA installation folder.
winIDEA .sfr files include more than just the list of special function registers - they include information about flash layout and programming, which winIDEA relies on. If only external SFRs will be used then winIDEA SFR specification format must be used in order to provide necessary information.
External SFR configuration allows usage of winIDEA internal SFR definitions also for 3rd party isystem.open plugins.
Note: If both internal and external SFRs are used, the register definitions will be merged. The merging occurs on the top level. For example, if both internal and external SFRs define a group with the same name, this group will appear twice in the list of SFRs - one instance for internal and one instance for external SFRs.
We recommend first making an online update of the SFRs. Updated SFRs are located in folder %APPDATA%/ASYST/winIDEA/SFR. Copy the CPU family folder (not only the CPU folder) to desired location (for example in the winIDEA workspace folder) and use that as a base for editing:
CPU family folder
Select the .sfr file found in the copied folder as an external SFR with winIDEA SFR specification format.
For example, if you were provided a newer .svd file from the silicon vendor, copy the new .svd file to the CPU SFR folder (next to the .sfr file). Open the .sfr file and add a line at the end:
Erase the existing SVD lines if you wish not to include them in the SFR list.
For more information on winIDEA SFR format, please read the winIDEA SFR specification format chapter.