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

Adapting NRF52832 example to custom board with NRF52810

My custom board with NRF52810 is done and I'm now trying to get some examples working. I am adapting blinky_s132 in SES. To do this I edited the project options including disabling the FPU, defining BOARD_CUSTOM, chaning the device definition to NRF52810_XXAA, and some other changes. I've attached the SES project file. I also opened this project file in a text editor and changed  ...

arm_target_device_name="nRF52810_xxAA"

I also created a custom_board.h which I have attached. The program compiles correctly and programs fine but when debugging it seems to get stuck in a trap. I don't think SES has registered that I'm using 52810 instead of 52832 as can be seem by the flash and ram usage . Can you help me resolve this?

By the way, I can't seem to upload more than one file for some reason.

  • I'm still having problems with my NRF52810 board. I can run non-softdevice examples fine. Here are the steps I'm taking to get the ble_app_gatts_c_pca10040e project working in SES.

    1. open this project in SES.

    2. Change project options for "common" config.. Preproccesor macros set to

    APP_TIMER_V2

    APP_TIMER_V2_RTC1_ENABLED

    BOARD_CUSTOM

    CONFIG_GPIO_AS_PINRESET

    FLOAT_ABI_SOFT

    INITIALIZE_USER_SECTIONS

    NO_VTOR_CONFIG

    NRF52810_XXAA

    NRF52_PAN_74

    NRF_SD_BLE_API_VERSION=7

    S112

    SOFTDEVICE_PRESENT

    3. created custom_board.c by copying board_pca10040.c and removing defines that do not apply.

    4. Comment out contents of buttons_leds_init() function in main.c because I have no buttons on my board.

    5. Open nrfGo Studio, program s112 softdevice followed by the new project hex file. I've tried both the "Debug" and "release" without success. If I attache the debugger, reset and then pause the program, I always end up at the same instruction:

    4770        bx lr

    I've attached a screen cap of that program location I get trapped in. Can you see any mistake I'm making?

  • Hi, 

    cory123 said:
    I can run non-softdevice examples fine.

     Do you use the same setting in Setp.2 & 3? 

    Please start a terminal emulator like PuTTY and connect to the used COM port with the following UART settings and provide the log:

    • Baud rate: 115.200
    • 8 data bits
    • 1 stop bit
    • No parity
    • HW flow control: None

    -Amanda H.

  • I am using the same custom_board.h in both projects. Here is the preprocessor macros from my blinky project:

    BOARD_CUSTOM
    BSP_DEFINES_ONLY
    CONFIG_GPIO_AS_PINRESET
    FLOAT_ABI_SOFT
    INITIALIZE_USER_SECTIONS
    NO_VTOR_CONFIG
    NRF52810_XXAA
    NRF52_PAN_74

    And is the preprocessor macros for the BLE GATTS example:

    APP_TIMER_V2

    APP_TIMER_V2_RTC1_ENABLED

    BOARD_CUSTOM

    CONFIG_GPIO_AS_PINRESET

    FLOAT_ABI_SOFT

    INITIALIZE_USER_SECTIONS

    NO_VTOR_CONFIG

    NRF52810_XXAA

    NRF52_PAN_74

    NRF_SD_BLE_API_VERSION=7

    S112

    SOFTDEVICE_PRESENT

    The only differences I see are...

    APP_TIMER_V2

    APP_TIMER_V2_RTC1_ENABLED

    BSP_DEFINES_ONLY

    NRF_SD_BLE_API_VERSION=7

    S112

    SOFTDEVICE_PRESENT

    I don't have a serial port on my NRF52810 board. Do you mean an emulated serial port over the debugger or a physical serial port?

  • Hi, 

    Could you enable the RTT log in the sdk_config.h as follwing and provide it?

    //==========================================================
    // <e> NRF_LOG_BACKEND_RTT_ENABLED - nrf_log_backend_rtt - Log RTT backend
    //==========================================================
    #ifndef NRF_LOG_BACKEND_RTT_ENABLED
    #define NRF_LOG_BACKEND_RTT_ENABLED 1
    #endif

    It will show in the Segger. 

    -Amanda H.

  • I enabled RTT as suggested and also disabled deferred logging with...

    NRF_LOG_DEFERRED=0

    I can now see RTT output from this I added in main.c .....

    NRF_LOG_WARNING("hello you\n");

    I am getting no RTT output from the SoftDevice or any other RTT output at all. When the SVCALL(SD_SOFTDEVICE_ENABLE ...) is called the program runs until it gets trapped (see screencap). Am I programming the SoftDevice incorrectly? I'm can't seem to figure this one out!

Related