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