Dear All,
I am trying to run a simple program that beacons, prints a message to the UART and toggles a pin on a custom nRF52833 based board. I am using softdevice s113 and nRF5_SDK_16.0.0
My code works on my DK, but not on my board which weird (I am using the NRF52833-QDAA package). On my board I am using the DCDC converter instead of the LDO. My main is the following:
/** * Copyright (c) 2014 - 2019, Nordic Semiconductor ASA * * All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer. * * 2. Redistributions in binary form, except as embedded into a Nordic * Semiconductor ASA integrated circuit in a product or a software update for * such product, must reproduce the above copyright notice, this list of * conditions and the following disclaimer in the documentation and/or other * materials provided with the distribution. * * 3. Neither the name of Nordic Semiconductor ASA nor the names of its * contributors may be used to endorse or promote products derived from this * software without specific prior written permission. * * 4. This software, with or without modification, must only be used with a * Nordic Semiconductor ASA integrated circuit. * * 5. Any software provided in binary form under this license must not be reverse * engineered, decompiled, modified and/or disassembled. * * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * */ /** @file * * @defgroup ble_sdk_app_beacon_main main.c * @{ * @ingroup ble_sdk_app_beacon * @brief Beacon Transmitter Sample Application main file. * * This file contains the source code for an Beacon transmitter sample application. */ #include <stdbool.h> #include <stdint.h> #include "nordic_common.h" #include "nrf_soc.h" #include "nrf_sdh.h" #include "nrf_sdh_ble.h" #include "ble_advdata.h" #include "app_timer.h" #include "nrf_pwr_mgmt.h" #include "nrf_drv_gpiote.h" #include "nrf_delay.h" #include "nrf_log.h" #include "nrf_log_ctrl.h" #include "nrf_log_default_backends.h" #define APP_BLE_CONN_CFG_TAG 1 /**< A tag identifying the SoftDevice BLE configuration. */ #define NON_CONNECTABLE_ADV_INTERVAL MSEC_TO_UNITS(100, UNIT_0_625_MS) /**< The advertising interval for non-connectable advertisement (100 ms). This value can vary between 100ms to 10.24s). */ #define APP_BEACON_INFO_LENGTH 0x17 /**< Total length of information advertised by the Beacon. */ #define APP_ADV_DATA_LENGTH 0x15 /**< Length of manufacturer specific data in the advertisement. */ #define APP_DEVICE_TYPE 0x02 /**< 0x02 refers to Beacon. */ #define APP_MEASURED_RSSI 0xC3 /**< The Beacon's measured RSSI at 1 meter distance in dBm. */ #define APP_COMPANY_IDENTIFIER 0x0059 /**< Company identifier for Nordic Semiconductor ASA. as per www.bluetooth.org. */ #define APP_MAJOR_VALUE 0x01, 0x02 /**< Major value used to identify Beacons. */ #define APP_MINOR_VALUE 0x03, 0x04 /**< Minor value used to identify Beacons. */ #define APP_BEACON_UUID 0x01, 0x12, 0x23, 0x34, \ 0x45, 0x56, 0x67, 0x78, \ 0x89, 0x9a, 0xab, 0xbc, \ 0xcd, 0xde, 0xef, 0xf0 /**< Proprietary UUID for Beacon. */ #define DEAD_BEEF 0xDEADBEEF /**< Value used as error code on stack dump, can be used to identify stack location on stack unwind. */ #if defined(USE_UICR_FOR_MAJ_MIN_VALUES) #define MAJ_VAL_OFFSET_IN_BEACON_INFO 18 /**< Position of the MSB of the Major Value in m_beacon_info array. */ #define UICR_ADDRESS 0x10001080 /**< Address of the UICR register used by this example. The major and minor versions to be encoded into the advertising data will be picked up from this location. */ #endif static ble_gap_adv_params_t m_adv_params; /**< Parameters to be passed to the stack when starting advertising. */ static uint8_t m_adv_handle = BLE_GAP_ADV_SET_HANDLE_NOT_SET; /**< Advertising handle used to identify an advertising set. */ static uint8_t m_enc_advdata[BLE_GAP_ADV_SET_DATA_SIZE_MAX]; /**< Buffer for storing an encoded advertising set. */ /**@brief Struct that contains pointers to the encoded advertising data. */ static ble_gap_adv_data_t m_adv_data = { .adv_data = { .p_data = m_enc_advdata, .len = BLE_GAP_ADV_SET_DATA_SIZE_MAX }, .scan_rsp_data = { .p_data = NULL, .len = 0 } }; static uint8_t m_beacon_info[APP_BEACON_INFO_LENGTH] = /**< Information advertised by the Beacon. */ { APP_DEVICE_TYPE, // Manufacturer specific information. Specifies the device type in this // implementation. APP_ADV_DATA_LENGTH, // Manufacturer specific information. Specifies the length of the // manufacturer specific data in this implementation. APP_BEACON_UUID, // 128 bit UUID value. APP_MAJOR_VALUE, // Major arbitrary value that can be used to distinguish between Beacons. APP_MINOR_VALUE, // Minor arbitrary value that can be used to distinguish between Beacons. APP_MEASURED_RSSI // Manufacturer specific information. The Beacon's measured TX power in // this implementation. }; /**@brief Callback function for asserts in the SoftDevice. * * @details This function will be called in case of an assert in the SoftDevice. * * @warning This handler is an example only and does not fit a final product. You need to analyze * how your product is supposed to react in case of Assert. * @warning On assert from the SoftDevice, the system can only recover on reset. * * @param[in] line_num Line number of the failing ASSERT call. * @param[in] file_name File name of the failing ASSERT call. */ void assert_nrf_callback(uint16_t line_num, const uint8_t * p_file_name) { app_error_handler(DEAD_BEEF, line_num, p_file_name); } /**@brief Function for initializing the Advertising functionality. * * @details Encodes the required advertising data and passes it to the stack. * Also builds a structure to be passed to the stack when starting advertising. */ static void advertising_init(void) { uint32_t err_code; ble_advdata_t advdata; uint8_t flags = BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED; ble_advdata_manuf_data_t manuf_specific_data; manuf_specific_data.company_identifier = APP_COMPANY_IDENTIFIER; #if defined(USE_UICR_FOR_MAJ_MIN_VALUES) // If USE_UICR_FOR_MAJ_MIN_VALUES is defined, the major and minor values will be read from the // UICR instead of using the default values. The major and minor values obtained from the UICR // are encoded into advertising data in big endian order (MSB First). // To set the UICR used by this example to a desired value, write to the address 0x10001080 // using the nrfjprog tool. The command to be used is as follows. // nrfjprog --snr <Segger-chip-Serial-Number> --memwr 0x10001080 --val <your major/minor value> // For example, for a major value and minor value of 0xabcd and 0x0102 respectively, the // the following command should be used. // nrfjprog --snr <Segger-chip-Serial-Number> --memwr 0x10001080 --val 0xabcd0102 uint16_t major_value = ((*(uint32_t *)UICR_ADDRESS) & 0xFFFF0000) >> 16; uint16_t minor_value = ((*(uint32_t *)UICR_ADDRESS) & 0x0000FFFF); uint8_t index = MAJ_VAL_OFFSET_IN_BEACON_INFO; m_beacon_info[index++] = MSB_16(major_value); m_beacon_info[index++] = LSB_16(major_value); m_beacon_info[index++] = MSB_16(minor_value); m_beacon_info[index++] = LSB_16(minor_value); #endif manuf_specific_data.data.p_data = (uint8_t *) m_beacon_info; manuf_specific_data.data.size = APP_BEACON_INFO_LENGTH; // Build and set advertising data. memset(&advdata, 0, sizeof(advdata)); advdata.name_type = BLE_ADVDATA_NO_NAME; advdata.flags = flags; advdata.p_manuf_specific_data = &manuf_specific_data; // Initialize advertising parameters (used when starting advertising). memset(&m_adv_params, 0, sizeof(m_adv_params)); m_adv_params.properties.type = BLE_GAP_ADV_TYPE_NONCONNECTABLE_NONSCANNABLE_UNDIRECTED; m_adv_params.p_peer_addr = NULL; // Undirected advertisement. m_adv_params.filter_policy = BLE_GAP_ADV_FP_ANY; m_adv_params.interval = NON_CONNECTABLE_ADV_INTERVAL; m_adv_params.duration = 0; // Never time out. err_code = ble_advdata_encode(&advdata, m_adv_data.adv_data.p_data, &m_adv_data.adv_data.len); APP_ERROR_CHECK(err_code); err_code = sd_ble_gap_adv_set_configure(&m_adv_handle, &m_adv_data, &m_adv_params); APP_ERROR_CHECK(err_code); } /**@brief Function for starting advertising. */ static void advertising_start(void) { ret_code_t err_code; err_code = sd_ble_gap_adv_start(m_adv_handle, APP_BLE_CONN_CFG_TAG); APP_ERROR_CHECK(err_code); } /**@brief Function for initializing the BLE stack. * * @details Initializes the SoftDevice and the BLE event interrupt. */ static void ble_stack_init(void) { ret_code_t err_code; err_code = nrf_sdh_enable_request(); APP_ERROR_CHECK(err_code); // Configure the BLE stack using the default settings. // Fetch the start address of the application RAM. uint32_t ram_start = 0; err_code = nrf_sdh_ble_default_cfg_set(APP_BLE_CONN_CFG_TAG, &ram_start); APP_ERROR_CHECK(err_code); // Enable BLE stack. err_code = nrf_sdh_ble_enable(&ram_start); APP_ERROR_CHECK(err_code); } /**@brief Function for initializing logging. */ static void log_init(void) { ret_code_t err_code = NRF_LOG_INIT(NULL); APP_ERROR_CHECK(err_code); NRF_LOG_DEFAULT_BACKENDS_INIT(); } /**@brief Function for initializing timers. */ static void timers_init(void) { ret_code_t err_code = app_timer_init(); APP_ERROR_CHECK(err_code); } /**@brief Function for initializing power management. */ static void power_management_init(void) { ret_code_t err_code; err_code = nrf_pwr_mgmt_init(); APP_ERROR_CHECK(err_code); } /**@brief Function for handling the idle state (main loop). * * @details If there is no pending log operation, then sleep until next the next event occurs. */ static void idle_state_handle(void) { if (NRF_LOG_PROCESS() == false) { nrf_pwr_mgmt_run(); } } /** * @brief Function for application main entry. */ int main(void) { // Initialize. log_init(); timers_init(); power_management_init(); ble_stack_init(); advertising_init(); sd_power_dcdc_mode_set(NRF_POWER_DCDC_ENABLE); ret_code_t err_code; err_code = nrf_drv_gpiote_init(); APP_ERROR_CHECK(err_code); nrf_drv_gpiote_out_config_t out_config = NRFX_GPIOTE_CONFIG_OUT_SIMPLE(0); err_code = nrf_drv_gpiote_out_init(0, &out_config); APP_ERROR_CHECK(err_code); // Start execution. NRF_LOG_INFO("Beacon example started."); advertising_start(); // Enter main loop. for (;; ) { nrf_delay_ms(500); nrf_gpio_pin_toggle(0); NRF_LOG_INFO("HERE"); } } /** * @} */
This is my .emProject:
<!DOCTYPE CrossStudio_Project_File> <solution Name="uart_pca10100" target="8" version="2"> <project Name="uart_pca10100"> <configuration Name="Common" arm_architecture="v7EM" arm_core_type="Cortex-M4" arm_endian="Little" arm_fp_abi="Hard" arm_fpu_type="FPv4-SP-D16" arm_linker_heap_size="8192" arm_linker_process_stack_size="0" arm_linker_stack_size="8192" arm_linker_treat_warnings_as_errors="No" arm_simulator_memory_simulation_parameter="RWX 00000000,00100000,FFFFFFFF;RWX 20000000,00010000,CDCDCDCD" arm_target_device_name="nRF52833_xxAA" arm_target_interface_type="SWD" c_user_include_directories="../../../config;../../../../../../components;../../../../../../components/ble/ble_advertising;../../../../../../components/ble/ble_dtm;../../../../../../components/ble/ble_racp;../../../../../../components/ble/ble_services/ble_ancs_c;../../../../../../components/ble/ble_services/ble_ans_c;../../../../../../components/ble/ble_services/ble_bas;../../../../../../components/ble/ble_services/ble_bas_c;../../../../../../components/ble/ble_services/ble_cscs;../../../../../../components/ble/ble_services/ble_cts_c;../../../../../../components/ble/ble_services/ble_dfu;../../../../../../components/ble/ble_services/ble_dis;../../../../../../components/ble/ble_services/ble_gls;../../../../../../components/ble/ble_services/ble_hids;../../../../../../components/ble/ble_services/ble_hrs;../../../../../../components/ble/ble_services/ble_hrs_c;../../../../../../components/ble/ble_services/ble_hts;../../../../../../components/ble/ble_services/ble_ias;../../../../../../components/ble/ble_services/ble_ias_c;../../../../../../components/ble/ble_services/ble_lbs;../../../../../../components/ble/ble_services/ble_lbs_c;../../../../../../components/ble/ble_services/ble_lls;../../../../../../components/ble/ble_services/ble_nus;../../../../../../components/ble/ble_services/ble_nus_c;../../../../../../components/ble/ble_services/ble_rscs;../../../../../../components/ble/ble_services/ble_rscs_c;../../../../../../components/ble/ble_services/ble_tps;../../../../../../components/ble/common;../../../../../../components/ble/nrf_ble_gatt;../../../../../../components/ble/nrf_ble_qwr;../../../../../../components/ble/peer_manager;../../../../../../components/boards;../../../../../../components/libraries/atomic;../../../../../../components/libraries/atomic_fifo;../../../../../../components/libraries/atomic_flags;../../../../../../components/libraries/balloc;../../../../../../components/libraries/bootloader/ble_dfu;../../../../../../components/libraries/button;../../../../../../components/libraries/cli;../../../../../../components/libraries/crc16;../../../../../../components/libraries/crc32;../../../../../../components/libraries/crypto;../../../../../../components/libraries/csense;../../../../../../components/libraries/csense_drv;../../../../../../components/libraries/delay;../../../../../../components/libraries/ecc;../../../../../../components/libraries/experimental_section_vars;../../../../../../components/libraries/experimental_task_manager;../../../../../../components/libraries/fds;../../../../../../components/libraries/fstorage;../../../../../../components/libraries/gfx;../../../../../../components/libraries/gpiote;../../../../../../components/libraries/hardfault;../../../../../../components/libraries/hci;../../../../../../components/libraries/led_softblink;../../../../../../components/libraries/log;../../../../../../components/libraries/log/src;../../../../../../components/libraries/low_power_pwm;../../../../../../components/libraries/mem_manager;../../../../../../components/libraries/memobj;../../../../../../components/libraries/mpu;../../../../../../components/libraries/mutex;../../../../../../components/libraries/pwm;../../../../../../components/libraries/pwr_mgmt;../../../../../../components/libraries/queue;../../../../../../components/libraries/ringbuf;../../../../../../components/libraries/scheduler;../../../../../../components/libraries/sdcard;../../../../../../components/libraries/slip;../../../../../../components/libraries/sortlist;../../../../../../components/libraries/spi_mngr;../../../../../../components/libraries/stack_guard;../../../../../../components/libraries/strerror;../../../../../../components/libraries/svc;../../../../../../components/libraries/timer;../../../../../../components/libraries/twi_mngr;../../../../../../components/libraries/usbd;../../../../../../components/libraries/usbd/class/audio;../../../../../../components/libraries/usbd/class/cdc;../../../../../../components/libraries/usbd/class/cdc/acm;../../../../../../components/libraries/usbd/class/hid;../../../../../../components/libraries/usbd/class/hid/generic;../../../../../../components/libraries/usbd/class/hid/kbd;../../../../../../components/libraries/usbd/class/hid/mouse;../../../../../../components/libraries/usbd/class/msc;../../../../../../components/libraries/util;../../../../../../components/nfc/ndef/conn_hand_parser;../../../../../../components/nfc/ndef/conn_hand_parser/ac_rec_parser;../../../../../../components/nfc/ndef/conn_hand_parser/ble_oob_advdata_parser;../../../../../../components/nfc/ndef/conn_hand_parser/le_oob_rec_parser;../../../../../../components/nfc/ndef/connection_handover/ac_rec;../../../../../../components/nfc/ndef/connection_handover/ble_oob_advdata;../../../../../../components/nfc/ndef/connection_handover/ble_pair_lib;../../../../../../components/nfc/ndef/connection_handover/ble_pair_msg;../../../../../../components/nfc/ndef/connection_handover/common;../../../../../../components/nfc/ndef/connection_handover/ep_oob_rec;../../../../../../components/nfc/ndef/connection_handover/hs_rec;../../../../../../components/nfc/ndef/connection_handover/le_oob_rec;../../../../../../components/nfc/ndef/generic/message;../../../../../../components/nfc/ndef/generic/record;../../../../../../components/nfc/ndef/launchapp;../../../../../../components/nfc/ndef/parser/message;../../../../../../components/nfc/ndef/parser/record;../../../../../../components/nfc/ndef/text;../../../../../../components/nfc/ndef/uri;../../../../../../components/nfc/platform;../../../../../../components/nfc/t2t_lib;../../../../../../components/nfc/t2t_parser;../../../../../../components/nfc/t4t_lib;../../../../../../components/nfc/t4t_parser/apdu;../../../../../../components/nfc/t4t_parser/cc_file;../../../../../../components/nfc/t4t_parser/hl_detection_procedure;../../../../../../components/nfc/t4t_parser/tlv;../../../../../../components/softdevice/common;../../../../../../components/softdevice/s113/headers;../../../../../../components/softdevice/s113/headers/nrf52;../../../../../../components/toolchain/cmsis/include;../../../../../../external/fprintf;../../../../../../external/segger_rtt;../../../../../../external/utf_converter;../../../../../../integration/nrfx;../../../../../../integration/nrfx/legacy;../../../../../../modules/nrfx;../../../../../../modules/nrfx/drivers/include;../../../../../../modules/nrfx/hal;../../../../../../modules/nrfx/mdk;../config;../../../../../../components/libraries/bootloader;../../../../../../components/libraries/bootloader/dfu;../../../../../../components/libraries/bootloader/ble_dfu;../../../../../../components/libraries/svc" c_preprocessor_definitions="APP_TIMER_V2;APP_TIMER_V2_RTC1_ENABLED;BOARD_PCA10100;CONFIG_GPIO_AS_PINRESET;FLOAT_ABI_HARD;INITIALIZE_USER_SECTIONS;NO_VTOR_CONFIG;NRF52833_XXAA;NRF_SD_BLE_API_VERSION=7;S113;SOFTDEVICE_PRESENT;" debug_target_connection="J-Link" gcc_entry_point="Reset_Handler" macros="CMSIS_CONFIG_TOOL=../../../../../../external_tools/cmsisconfig/CMSIS_Configuration_Wizard.jar" debug_register_definition_file="../../../../../../modules/nrfx/mdk/nrf52833.svd" debug_additional_load_file="../../../../../../components/softdevice/s113/hex/s113_nrf52_7.0.1_softdevice.hex" debug_start_from_entry_point_symbol="No" gcc_debugging_level="Level 3" linker_output_format="hex" linker_printf_width_precision_supported="Yes" linker_printf_fmt_level="long" linker_scanf_fmt_level="long" linker_section_placement_file="flash_placement.xml" linker_section_placement_macros="FLASH_PH_START=0x0;FLASH_PH_SIZE=0x80000;RAM_PH_START=0x20000000;RAM_PH_SIZE=0x20000;FLASH_START=0x1c000;FLASH_SIZE=0x64000;RAM_START=0x2000260c;RAM_SIZE=0x1d9f4" linker_section_placements_segments="FLASH RX 0x0 0x80000;RAM RWX 0x20000000 0x20000" project_directory="" project_type="Executable" /> <folder Name="Segger Startup Files"> <file file_name="$(StudioDir)/source/thumb_crt0.s" /> </folder> <folder Name="nRF_Log"> <file file_name="../../../../../../components/libraries/log/src/nrf_log_backend_rtt.c" /> <file file_name="../../../../../../components/libraries/log/src/nrf_log_backend_serial.c" /> <file file_name="../../../../../../components/libraries/log/src/nrf_log_backend_uart.c" /> <file file_name="../../../../../../components/libraries/log/src/nrf_log_default_backends.c" /> <file file_name="../../../../../../components/libraries/log/src/nrf_log_frontend.c" /> <file file_name="../../../../../../components/libraries/log/src/nrf_log_str_formatter.c" /> </folder> <folder Name="nRF_Libraries"> <file file_name="../../../../../../components/libraries/button/app_button.c" /> <file file_name="../../../../../../components/libraries/util/app_error.c" /> <file file_name="../../../../../../components/libraries/util/app_error_handler_gcc.c" /> <file file_name="../../../../../../components/libraries/util/app_error_weak.c" /> <file file_name="../../../../../../components/libraries/scheduler/app_scheduler.c" /> <file file_name="../../../../../../components/libraries/timer/app_timer2.c" /> <file file_name="../../../../../../components/libraries/util/app_util_platform.c" /> <file file_name="../../../../../../components/libraries/crc16/crc16.c" /> <file file_name="../../../../../../components/libraries/timer/drv_rtc.c" /> <file file_name="../../../../../../components/libraries/fds/fds.c" /> <file file_name="../../../../../../components/libraries/hardfault/hardfault_implementation.c" /> <file file_name="../../../../../../components/libraries/util/nrf_assert.c" /> <file file_name="../../../../../../components/libraries/atomic_fifo/nrf_atfifo.c" /> <file file_name="../../../../../../components/libraries/atomic_flags/nrf_atflags.c" /> <file file_name="../../../../../../components/libraries/atomic/nrf_atomic.c" /> <file file_name="../../../../../../components/libraries/balloc/nrf_balloc.c" /> <file file_name="../../../../../../external/fprintf/nrf_fprintf.c" /> <file file_name="../../../../../../external/fprintf/nrf_fprintf_format.c" /> <file file_name="../../../../../../components/libraries/fstorage/nrf_fstorage.c" /> <file file_name="../../../../../../components/libraries/fstorage/nrf_fstorage_sd.c" /> <file file_name="../../../../../../components/libraries/memobj/nrf_memobj.c" /> <file file_name="../../../../../../components/libraries/pwr_mgmt/nrf_pwr_mgmt.c" /> <file file_name="../../../../../../components/libraries/ringbuf/nrf_ringbuf.c" /> <file file_name="../../../../../../components/libraries/experimental_section_vars/nrf_section_iter.c" /> <file file_name="../../../../../../components/libraries/sortlist/nrf_sortlist.c" /> <file file_name="../../../../../../components/libraries/strerror/nrf_strerror.c" /> </folder> <folder Name="None"> <file file_name="../../../../../../modules/nrfx/mdk/ses_startup_nrf52833.s" /> <file file_name="../../../../../../modules/nrfx/mdk/ses_startup_nrf_common.s" /> <file file_name="../../../../../../modules/nrfx/mdk/system_nrf52833.c" /> </folder> <folder Name="Board Definition"> <file file_name="../../../../../../components/boards/boards.c" /> </folder> <folder Name="nRF_Drivers"> <file file_name="../../../../../../integration/nrfx/legacy/nrf_drv_clock.c" /> <file file_name="../../../../../../integration/nrfx/legacy/nrf_drv_uart.c" /> <file file_name="../../../../../../modules/nrfx/soc/nrfx_atomic.c" /> <file file_name="../../../../../../modules/nrfx/drivers/src/nrfx_clock.c" /> <file file_name="../../../../../../modules/nrfx/drivers/src/nrfx_gpiote.c" /> <file file_name="../../../../../../modules/nrfx/drivers/src/prs/nrfx_prs.c" /> <file file_name="../../../../../../modules/nrfx/drivers/src/nrfx_uart.c" /> <file file_name="../../../../../../modules/nrfx/drivers/src/nrfx_uarte.c" /> <file file_name="../../../../../../modules/nrfx/drivers/src/nrfx_wdt.c" /> <file file_name="../../../../../../modules/nrfx/drivers/src/nrfx_saadc.c" /> <file file_name="../../../../../../modules/nrfx/drivers/src/nrfx_pwm.c" /> </folder> <folder Name="Application"> <file file_name="../../../main.c" /> <file file_name="../config/sdk_config.h" /> </folder> <folder Name="nRF_Segger_RTT"> <file file_name="../../../../../../external/segger_rtt/SEGGER_RTT.c" /> <file file_name="../../../../../../external/segger_rtt/SEGGER_RTT_Syscalls_SES.c" /> <file file_name="../../../../../../external/segger_rtt/SEGGER_RTT_printf.c" /> </folder> <folder Name="nRF_BLE"> <file file_name="../../../../../../components/ble/peer_manager/auth_status_tracker.c" /> <file file_name="../../../../../../components/ble/common/ble_advdata.c" /> <file file_name="../../../../../../components/ble/ble_advertising/ble_advertising.c" /> <file file_name="../../../../../../components/ble/common/ble_conn_params.c" /> <file file_name="../../../../../../components/ble/common/ble_conn_state.c" /> <file file_name="../../../../../../components/ble/common/ble_srv_common.c" /> <file file_name="../../../../../../components/ble/peer_manager/gatt_cache_manager.c" /> <file file_name="../../../../../../components/ble/peer_manager/gatts_cache_manager.c" /> <file file_name="../../../../../../components/ble/peer_manager/id_manager.c" /> <file file_name="../../../../../../components/ble/nrf_ble_gatt/nrf_ble_gatt.c" /> <file file_name="../../../../../../components/ble/nrf_ble_qwr/nrf_ble_qwr.c" /> <file file_name="../../../../../../components/ble/peer_manager/peer_data_storage.c" /> <file file_name="../../../../../../components/ble/peer_manager/peer_database.c" /> <file file_name="../../../../../../components/ble/peer_manager/peer_id.c" /> <file file_name="../../../../../../components/ble/peer_manager/peer_manager.c" /> <file file_name="../../../../../../components/ble/peer_manager/peer_manager_handler.c" /> <file file_name="../../../../../../components/ble/peer_manager/pm_buffer.c" /> <file file_name="../../../../../../components/ble/peer_manager/security_dispatcher.c" /> <file file_name="../../../../../../components/ble/peer_manager/security_manager.c" /> </folder> <folder Name="UTF8/UTF16 converter"> <file file_name="../../../../../../external/utf_converter/utf.c" /> </folder> <folder Name="nRF_SoftDevice"> <file file_name="../../../../../../components/softdevice/common/nrf_sdh.c" /> <file file_name="../../../../../../components/softdevice/common/nrf_sdh_ble.c" /> <file file_name="../../../../../../components/softdevice/common/nrf_sdh_soc.c" /> </folder> </project> <configuration Name="Release" c_preprocessor_definitions="NDEBUG" gcc_optimization_level="Optimize For Size" /> <configuration Name="Debug" c_preprocessor_definitions="DEBUG; DEBUG_NRF" gcc_optimization_level="None"/> </solution>
If I upload a simple sketch that blinks an LED on my board, without the softdevice it the LED blinks. So what am I missing here? I repeat that on the DK it seems to work just fine