Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

app_error_handler_gcc.c/app_error_handler_iar.c ASM expected a ")" error

Hello,

While importing the needed libraries for a project I stumbled upon an error in the app_error_handler_gcc.c and app_error_handler_iar.c files. The error is

nrflibraries\nRF5_SDK_15.3.0_59ac345\components\libraries\util\app_error_handler_iar.c(73): error:  #18: expected a ")"

This happens in the following block of code:

void app_error_handler(ret_code_t error_code, uint32_t line_num, const uint8_t * p_file_name)
{
    __ASM volatile(
    "push {lr}                      \n"
    /* reserve space on stack for error_info_t struct */
    "sub sp, sp, %0                 \n"

    /* prepare error_info_t struct */
    "str r0, [sp, %1]               \n"
    "str r1, [sp, %3]               \n"
    "str r2, [sp, %2]               \n"

    /* prepare arguments and call function: app_error_fault_handler */
    "ldr.n r0, 1f                   \n"
    "mov r1, LR                     \n"
    "mov r2, sp                     \n"

    /* call app_error_fault_handler */
    "bl %c5                         \n"

    /* release stack */
    "add sp, sp, %0                 \n"
    "pop {pc}                       \n"

    "DATA                           \n"
    "1:                             \n"
    " DC32 %c4                      \n"

    : /* Outputs */
    : /* Inputs */
    "i" (APP_ERROR_ERROR_INFO_SIZE_ALIGNED_8BYTE),
    "i" (APP_ERROR_ERROR_INFO_OFFSET_ERR_CODE),
    "i" (APP_ERROR_ERROR_INFO_OFFSET_P_FILE_NAME),
    "i" (APP_ERROR_ERROR_INFO_OFFSET_LINE_NUM),
    "i" (NRF_FAULT_ID_SDK_ERROR),
    "i" (app_error_fault_handler)
    : /* CLobbers */
    "r0", "r1", "r2"
    );


The error points towards the start of  : /* Outputs */
As I am not familiar with ASM and expect libraries to be working, I'd like to know how I can fix this.

Related