Adding CMSIS Config Wizard to SES Projects

The CMSIS Config Wizard provides a GUI interface to many options which are otherwise tricky to set in sdk_config.h. To add it to your project, follow the instructions in this YouTube video, which I have summarised in text form below.

First install Java. You might be lucky and already have Java installed, eg if you go to your Windows Settings - Apps & features and search for Java, if you see Java SE Development Kit then it is installed.

File - Open Studio Folder - External Tools Configuration
Paste in the following to replace the existing contents

<tools>
  <!-- PC-lint - http://www.gimpel.com/html/pcl.htm -->
  <if host_os="win">
    <item name="Tool.PClint">
      <menu>&amp;PC-lint (Unit Check)</menu>
      <text>PC-lint (Unit Check)</text>
      <tip>Run a PC-lint unit checkout on the selected file or folder</tip>
      <key>Ctrl+L, Ctrl+P</key>
      <match>*.c;*.cpp</match>
      <message>Linting</message>
      <commands>
        &quot;$(LINTDIR)/lint-nt&quot; -v -incvar(__CW_ARM) -i$(LINTDIR)/lnt co-gcc.lnt $(DEFINES) $(INCLUDES) -D__GNUC__ -u -b +macros +macros -w2 -e537 +fie +ffn -width(0,4) -hF1 &quot;-format=%f:%l:%C:\s%t:\s%m [-e%n]&quot; &quot;$(InputPath)&quot;
      </commands>
    </item>
  
    <item name="Tool.CMSIS_Config_Wizard" wait="no">
        <menu>&amp;CMSIS Configuration Wizard</menu>
        <text>CMSIS Configuration Wizard</text>
        <tip>Open a configuration file in CMSIS Configuration Wizard</tip>
        <key>Ctrl+Y</key>
        <match>*config*.h</match>
        <message>CMSIS Config</message>
        <commands>
          java -jar &quot;$(CMSIS_CONFIG_TOOL)&quot; &quot;$(InputPath)&quot;
        </commands>
    </item>
</if>
</tools>  

Save this file, close and restart SES (a project reload is insufficient).

Project - Options - Common - Build - Project Macros - set to

CMSIS_CONFIG_TOOL=../../../../../../external_tools/cmsisconfig/CMSIS_Configuration_Wizard.jar

Because nRF5_SDK_12.3.0_d7731ad does not come with external_tools folder, copy it from nRF5_SDK_12.3.0_d7731ad_ses to your SDK root (at the same level as components, documentation, examples, external).

Right click on sdk_config.h - CMSIS Configuation Wizard is now available (be patient, it can take about a second to show up).

Config Wizard Useage

A commonly used option is Logging. For example, logging over RTT can be turned on with

nRF-Log - NRF_LOG_ENABLED
nRF_Log - NRF_LOG_BACKEND_SERIAL_USES_RTT

After you change options, click the Save icon and reload the sdk_config.h file in SES before building. Then Build & Debug, View - Debug Terminal, for example: