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 */
@Edvin Sir
I add "DEBUG" to preprocessor definitions
and I also changed NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED
to 0 in sdk_config.h.
and I am not able to find why error_code 4
please help me
Thank you
Did you see Turbo J's comment, that you replied to? It is a communication error on the UART. Are you using the UART for anything in your application? If so, are you using the correct baud rate on the other end of the UART (from the PC)?
yes, I am using UART in my application. In which I am using the nRF UART android app to receive some data and also transmit data to BLE to perform the task.
and I didn't get an option to set the baud rate in the nRF UART APP.
Thank you
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.
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.