Hi
i am getting Fatal error while uploading code in my nRF52823 plz find attachment which i enclosed.
and showing break point at NRF_BREAKPOINT_COND; plz tell me what should i do ?
Thank you
Hi
i am getting Fatal error while uploading code in my nRF52823 plz find attachment which i enclosed.
and showing break point at NRF_BREAKPOINT_COND; plz tell me what should i do ?
Thank you
Try to add "DEBUG" to your preprocessor definitions, and see what the log says then.
1. Let me know if you are not sure how to define DEBUG in your preprocessor definitions.
2. The log will probably point to somewhere in your code where it says APP_ERROR_CHECK(err_code); What function call returned that err_code?
3. Your next mission is to find out why it returned that err_code.
BR,
Edvin
Thank you for replying fast
i added DEBUG in preprocessor definition as like this #define DUBUG
but i am not getting any msg in debug terminal
and one arrow (yellow color) indicating at NRF_BREAKPOINT_COND;
i dont know why this and i also attached a screenshot
Thank you
And this the code
/**
* Copyright (c) 2016 - 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.
*
*/
#include "app_error.h"
#include "nrf_log.h"
#include "nrf_log_ctrl.h"
#include "app_util_platform.h"
#include "nrf_strerror.h"
#define DEBUG
#if defined(SOFTDEVICE_PRESENT) && SOFTDEVICE_PRESENT
#include "nrf_sdm.h"
#endif
/*lint -save -e14 */
/**
* Function is implemented as weak so that it can be overwritten by custom application error handler
* when needed.
*/
__WEAK void app_error_fault_handler(uint32_t id, uint32_t pc, uint32_t info)
{
__disable_irq();
NRF_LOG_FINAL_FLUSH();
#ifndef DEBUG
NRF_LOG_ERROR("Fatal error");
#else
switch (id)
{
#if defined(SOFTDEVICE_PRESENT) && SOFTDEVICE_PRESENT
case NRF_FAULT_ID_SD_ASSERT:
NRF_LOG_ERROR("SOFTDEVICE: ASSERTION FAILED");
break;
case NRF_FAULT_ID_APP_MEMACC:
NRF_LOG_ERROR("SOFTDEVICE: INVALID MEMORY ACCESS");
break;
#endif
case NRF_FAULT_ID_SDK_ASSERT:
{
assert_info_t * p_info = (assert_info_t *)info;
NRF_LOG_ERROR("ASSERTION FAILED at %s:%u",
p_info->p_file_name,
p_info->line_num);
break;
}
case NRF_FAULT_ID_SDK_ERROR:
{
error_info_t * p_info = (error_info_t *)info;
NRF_LOG_ERROR("ERROR %u [%s] at %s:%u\r\nPC at: 0x%08x",
p_info->err_code,
nrf_strerror_get(p_info->err_code),
p_info->p_file_name,
p_info->line_num,
pc);
NRF_LOG_ERROR("End of error report");
break;
}
default:
NRF_LOG_ERROR("UNKNOWN FAULT at 0x%08X", pc);
break;
}
#endif
NRF_BREAKPOINT_COND;
// On assert, the system can only recover with a reset.
#ifndef DEBUG
NRF_LOG_WARNING("System reset");
NVIC_SystemReset();
#else
app_error_save_and_stop(id, pc, info);
#endif // DEBUG
}
/*lint -restore */
UART is a serial protocol. If you are not sure what it is, just comment out that line:
//APP_ERROR_HANDLER(p_event->data.error_communication);
Then look into it if you need to transmit serial data from your nRF to a computer via a wired connection.
Yay, another screenshot that shows ABSOLUTELY NOTHING NEW OR USEFUL.
The app_error_handling stuff unfortunately contains a "naked" function which "destroys" the otherwise useable stack trace. Thus the "wrong" value for the variables shown here. Try setting a breakpoint on the line 560.
You know you can copy and paste those error messages as text, right...?
I also highly recommend taking a beginner course in C microcontroller programming, since you seem to be unable to understand the NordicSemi example C code properly. Yes they use a ton of macros, but these are not at all difficult to understand or read.
Thank you it's working but I am not able to see the received data and how to send data
Did you see the messages before? If so, where? If not, where do you expect to see them?
ye this is the link
www.youtube.com/watch
ye this is the link
www.youtube.com/watch
could you please tell me is this the right code to send data using nRF UART app and also receive data from BLE?below is the path of my project
G:\EMBEDDEDBMY\nRF52832 new version\nRF5_SDK_15.3.0_59ac345\examples\ble_peripheral\ble_app_uart\pca10040\s132\ses
nRF UART app is connected with BLE but i am not able to send data or receive
Thank you
As Turbo J said, please check that you are using the correct baudrate on your UART terminal. I see from the youtube video that you use 115200 on your UART (arduino IDE) terminal. Is that also what you use in your Segger Embedded Studio project?
Check the function uart_init() in main.c.
static void uart_init(void) { uint32_t err_code; app_uart_comm_params_t const comm_params = { .rx_pin_no = RX_PIN_NUMBER, .tx_pin_no = TX_PIN_NUMBER, .rts_pin_no = RTS_PIN_NUMBER, .cts_pin_no = CTS_PIN_NUMBER, .flow_control = APP_UART_FLOW_CONTROL_DISABLED, .use_parity = false, #if defined (UART_PRESENT) .baud_rate = NRF_UART_BAUDRATE_115200 #else .baud_rate = NRF_UARTE_BAUDRATE_115200 #endif }; APP_UART_FIFO_INIT(&comm_params, UART_RX_BUF_SIZE, UART_TX_BUF_SIZE, uart_event_handle, APP_IRQ_PRIORITY_LOWEST, err_code); APP_ERROR_CHECK(err_code); }
What do you use as the .baud_rate?
The error did not show up in the video. What did you change so that this issue occured?
yes I am using the same baud rate
and I am using terminal software to receive the data and also for transmit
plz see in the screenshot
and this nRF UART APP which I am using to send the data
Thank you
BR
Saira
This is the path
G:\EMBEDDEDBMY\nRF52832 new version\nRF5_SDK_15.3.0_59ac345\examples\ble_peripheral\ble_app_uart\pca10040\s132\ses
Edvin said:The error did not show up in the video. What did you change so that this issue occured?