This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Segger Studio Backward Migration

Hello All,

As we all know Segger Studio is not supported by SDK12.3 by default. Porting to Ses is easy and help is available but it is for basic programs. if we want to use bootloader and FDS/fstorage modules then it is a lot confusing. Can we take Flash_placement.xml, SES_nRF52 Startup.s and thumb_ctrl0.s from SDK14.2 and use in sdk12.3 for SES support. Is it possible and if yes what changes are required in the files to do? We want to stick with the SDK12.3 because we want an SDK that supports both NRF52 and NRF51. I've tried by simply replacing the Flash_placment file but and changing macro names in the configuration but it didn't run. so I am thinking that NRF_startup files are designed may be in a way to support SES. SO please help me to take SES support from SDK14.2 and Migrate it towards SDK12.3

Thank you.

  • Hello,

    I've backported the ble_app_hrs ses project from SDK 15.2.0 to SDK 12.3.0 which you may serve as starting point, see attached. Please note that it has not been thoroughly, it  can be errors in the configuration that I've overlooked. 

    A short summary of what I did:

    • First I copied the example from SDK 15 to SDK 12, then opened the SES project file in a text editor and updated the include paths, source list, preprocessor defines and linker settings according to the project makefile and linker file found in the hrs example in sdk 12
    • Imported the new MDK directory, sdk_config tool, and the RTT files from sdk 15, see readme.txt in zip file. 

    Attachment: 

    nRF5_SDK_12.3.0_SES_51_example.zip

    Note: SDK has been stripped of dependencies that weren't needed to build this particular example Thus, the SES project directory and SDK 15 imports should be copied into a fresh SDK 12.3.0 copy so that you have a complete SDK to develop with. 

  • Thanks! Your example was very helpful for me also. It can be opened in SES v4.12 and works properly with nrf51 devkit.

    But now I need to port it to the custom board (based on nrf51822 QFAAH1). I tried to do expected adjustments (changing target, setting BOARD_CUSTOM macro and providing custom_board.h), but without any luck - in all cases it fails with "Stopped by vector catch" even before entering main(). Any ideas what I could be missing/how can I debug the problem further? I have tried to set up breakpoints in error handlers - non of them is getting hit.

  • It's most likely your RAM settings. xxAA has 16K of RAM instead of 32K that the xxAC variant on the Devkit has. Try to use the following configuration in your *emProject file:

          linker_section_placement_macros="FLASH_PH_START=0x0;FLASH_PH_SIZE=0x80000;RAM_PH_START=0x20000000;RAM_PH_SIZE=0x4000;FLASH_START=0x1b000;FLASH_SIZE=0x25000;RAM_START=0x20001fe8;RAM_SIZE=0x2018"
          linker_section_placements_segments="FLASH RX 0x0 0x40000;RAM RWX 0x20000000 0x4000"

Related