nRF52840 interrupt causing reset

Hello guys,

I'm trying to run uart example from https://github.com/andenore/NordicSnippets/blob/master/examples/uart/main.c extended by interrupts call after transmission end on nRF52840 Dongle. I'm not able to successfully make CPU to call an interrupt handler. Bypassing "NVIC_SetVector", causes handler to not be called at all. And when I call "NVIC_SetVector" on configuration step and point to my interrupt handler, cpu restart after interrupt is enabled. I read that the interrupts are managed by the MBR that my board has, is this require some special configuration? I'm using an nRF Connect Programmer to upload hex file.

Programmer v3.0.0

I tried with and without softdevice, with handler name "UART0_IRQHandler" and "UARTE0_UART0_IRQHandler", with different interrupt priorities and different interrupts enabled. It's always same effect, restart or no reaction at all. As far I can tell without debugger, interrupt routine is never called. I will appreciate the help very much. I just started with nRF52 and I'm already pulling my hair out ;)

I'm using Visual Studio Code 1.68.1, with nRF Connect for VS Code Extension Pack v2022.5.1, project use nRF SDK in version 1.9.1.

uart.c

#include "uart.h"

#define RING_BUF_SIZE 4096
uint8_t txRingBufferData[RING_BUF_SIZE];
struct ring_buf txRingBuffer;
static uint8_t txBuffer[30];

void UART0_IRQHandler(void){
    if (NRF_UARTE0->EVENTS_ENDTX) {
        if (!ring_buf_is_empty(&txRingBuffer)) {
            uint32_t dataSize = ring_buf_get(&txRingBuffer, txBuffer, sizeof(txBuffer));
            NRF_UARTE0->TXD.PTR = (uint32_t)&txBuffer;
            NRF_UARTE0->TXD.MAXCNT = dataSize;
            NRF_UARTE0->TASKS_STARTTX = 1;
        }

        NRF_UARTE0->EVENTS_ENDTX = 0;
    }
}

void uart_init(uint32_t txPin, uint32_t rxPin, uint32_t baudrate) {
    // Disable UART
    NRF_UARTE0->ENABLE = (UARTE_ENABLE_ENABLE_Disabled << UARTE_ENABLE_ENABLE_Pos);
    
    // Configure the UARTE with no flow control, one parity bit and 115200 baud rate
	NRF_UARTE0->CONFIG = (UART_CONFIG_HWFC_Disabled << UART_CONFIG_HWFC_Pos) | (UARTE_CONFIG_PARITY_Excluded << UART_CONFIG_PARITY_Pos); 
	NRF_UARTE0->BAUDRATE = baudrate;
	
	// Select TX and RX pins
	NRF_UARTE0->PSEL.TXD = (txPin << UARTE_PSEL_TXD_PIN_Pos) & UARTE_PSEL_TXD_PIN_Msk;
	NRF_UARTE0->PSEL.RXD = (rxPin << UARTE_PSEL_RXD_PIN_Pos) & UARTE_PSEL_RXD_PIN_Msk;

    ring_buf_init(&txRingBuffer, sizeof(txRingBufferData), txRingBufferData);

    // Enable the UART (starts using the TX/RX pins)
	NRF_UARTE0->ENABLE = UARTE_ENABLE_ENABLE_Enabled << UARTE_ENABLE_ENABLE_Pos;

    // Enable UART TX End interrupt only
    NRF_UARTE0->INTENSET = (UARTE_INTENSET_ENDTX_Set << UARTE_INTENSET_ENDTX_Pos);

    NVIC_SetVector(UARTE0_UART0_IRQn, (uint32_t)UART0_IRQHandler);

    NVIC_SetPriority(UARTE0_UART0_IRQn, 6);
    NVIC_ClearPendingIRQ(UARTE0_UART0_IRQn);
    NVIC_EnableIRQ(UARTE0_UART0_IRQn);
}

void uart_send(const uint8_t *data, uint32_t size) {
    int rb_len = ring_buf_put(&txRingBuffer, data, size);
    // // if (rb_len < size) {
    // //     LOG_ERR("Drop %u bytes", size - rb_len);
    // // }

    uint32_t dataSize = ring_buf_get(&txRingBuffer, txBuffer, sizeof(txBuffer));
    NRF_UARTE0->TXD.PTR = (uint32_t)&txBuffer;
    NRF_UARTE0->TXD.MAXCNT = dataSize;
    NRF_UARTE0->EVENTS_ENDTX = 0;
    NRF_UARTE0->TASKS_STARTTX = 1;
}

main.c

#include "nrf.h"
#include "uart.h"

#define PIN_LED_STATUS (6UL)
#define PIN_LED_GREEN  (9UL)
#define PIN_LED_RED    (8UL)
#define PIN_LED_BLUE   (12UL)
#define PIN_TXD        (29)
#define PIN_RXD        (31)

void main(void) {
	NRF_P0->PIN_CNF[PIN_LED_STATUS] = (GPIO_PIN_CNF_DIR_Output << GPIO_PIN_CNF_DIR_Pos) |
                                (GPIO_PIN_CNF_DRIVE_S0S1 << GPIO_PIN_CNF_DRIVE_Pos) |
                                (GPIO_PIN_CNF_INPUT_Connect << GPIO_PIN_CNF_INPUT_Pos) |
                                (GPIO_PIN_CNF_PULL_Disabled << GPIO_PIN_CNF_PULL_Pos) |
                                (GPIO_PIN_CNF_SENSE_Disabled << GPIO_PIN_CNF_SENSE_Pos);
	NRF_P0->PIN_CNF[PIN_LED_RED] = (GPIO_PIN_CNF_DIR_Output << GPIO_PIN_CNF_DIR_Pos) |
                                (GPIO_PIN_CNF_DRIVE_S0S1 << GPIO_PIN_CNF_DRIVE_Pos) |
                                (GPIO_PIN_CNF_INPUT_Connect << GPIO_PIN_CNF_INPUT_Pos) |
                                (GPIO_PIN_CNF_PULL_Disabled << GPIO_PIN_CNF_PULL_Pos) |
                                (GPIO_PIN_CNF_SENSE_Disabled << GPIO_PIN_CNF_SENSE_Pos);
	NRF_P0->PIN_CNF[PIN_LED_BLUE] = (GPIO_PIN_CNF_DIR_Output << GPIO_PIN_CNF_DIR_Pos) |
                                (GPIO_PIN_CNF_DRIVE_S0S1 << GPIO_PIN_CNF_DRIVE_Pos) |
                                (GPIO_PIN_CNF_INPUT_Connect << GPIO_PIN_CNF_INPUT_Pos) |
                                (GPIO_PIN_CNF_PULL_Disabled << GPIO_PIN_CNF_PULL_Pos) |
                                (GPIO_PIN_CNF_SENSE_Disabled << GPIO_PIN_CNF_SENSE_Pos);
  
	NRF_P1->PIN_CNF[PIN_LED_GREEN] = (GPIO_PIN_CNF_DIR_Output << GPIO_PIN_CNF_DIR_Pos) |
                                (GPIO_PIN_CNF_DRIVE_S0S1 << GPIO_PIN_CNF_DRIVE_Pos) |
                                (GPIO_PIN_CNF_INPUT_Connect << GPIO_PIN_CNF_INPUT_Pos) |
                                (GPIO_PIN_CNF_PULL_Disabled << GPIO_PIN_CNF_PULL_Pos) |
                                (GPIO_PIN_CNF_SENSE_Disabled << GPIO_PIN_CNF_SENSE_Pos);
  
	NRF_P0->OUTSET = (1UL << PIN_LED_STATUS);
	NRF_P0->OUTSET = (1UL << PIN_LED_BLUE);
	NRF_P0->OUTCLR = (1UL << PIN_LED_RED);
	NRF_P1->OUTSET = (1UL << PIN_LED_GREEN);

	// Enable HF clock
	NRF_CLOCK->EVENTS_HFCLKSTARTED = 0;
	NRF_CLOCK->TASKS_HFCLKSTART = 1;
	while (NRF_CLOCK->EVENTS_HFCLKSTARTED == 0) {}

	// Enable LF clock
	NRF_CLOCK->LFCLKSRC = CLOCK_LFCLKSRC_SRC_Xtal;
	NRF_CLOCK->EVENTS_LFCLKSTARTED = 0;
    NRF_CLOCK->TASKS_LFCLKSTART = 1;
    while (NRF_CLOCK->EVENTS_LFCLKSTARTED == 0) {}

	NRF_P0->OUTSET = (1UL << PIN_LED_RED);
	NRF_P0->OUTCLR = (1UL << PIN_LED_STATUS);
	
	uart_init(PIN_TXD, PIN_RXD, UARTE_BAUDRATE_BAUDRATE_Baud115200);
	
	while (1) {
		uint8_t buf1[] = "Foo baz, some entry.\r\n";
		uart_send(buf1, sizeof(buf1));

		uint32_t volatile tmo = 5000000;
    	//while (tmo--);

		// uint8_t buf2[] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse aliquet placerat nunc vitae luctus.\r\n";
		// uart_send(buf2, sizeof(buf2));

		tmo = 10000000;
    	while (tmo--);
	}

}

Build log:

> Executing task: nRF Connect: Build: radio_module/build (active) <

Building radio_module
west build --build-dir e:\nRF52\Projects\radio_module\build e:\nRF52\Projects\radio_module

[0/1] Re-running CMake...
Including boilerplate (Zephyr base (cached)): C:/Users/Marek/ncs/v1.9.1/zephyr/cmake/app/boilerplate.cmake
-- Application: E:/nRF52/Projects/radio_module
-- Zephyr version: 2.7.99 (C:/Users/Marek/ncs/v1.9.1/zephyr), build: v2.7.99-ncs1-1
-- Found west (found suitable version "0.12.0", minimum required is "0.7.1")
-- Board: nrf52840dongle_nrf52840
-- Cache files will be written to: C:/Users/Marek/ncs/v1.9.1/zephyr/.cache
-- Found dtc: C:/Users/Marek/ncs/v1.9.1/toolchain/opt/bin/dtc.exe (found suitable version "1.4.7", minimum required is "1.4.6")
-- Found toolchain: gnuarmemb (c:/Users/Marek/ncs/v1.9.1/toolchain/opt)
-- Found BOARD.dts: C:/Users/Marek/ncs/v1.9.1/zephyr/boards/arm/nrf52840dongle_nrf52840/nrf52840dongle_nrf52840.dts
-- Generated zephyr.dts: E:/nRF52/Projects/radio_module/build/zephyr/zephyr.dts
-- Generated devicetree_unfixed.h: E:/nRF52/Projects/radio_module/build/zephyr/include/generated/devicetree_unfixed.h
-- Generated device_extern.h: E:/nRF52/Projects/radio_module/build/zephyr/include/generated/device_extern.h
-- Including generated dts.cmake file: E:/nRF52/Projects/radio_module/build/zephyr/dts.cmake
Parsing C:/Users/Marek/ncs/v1.9.1/zephyr/Kconfig
Loaded configuration 'E:/nRF52/Projects/radio_module/build/zephyr/.config'
Configuration saved to 'E:/nRF52/Projects/radio_module/build/zephyr/.config'
Kconfig header saved to 'E:/nRF52/Projects/radio_module/build/zephyr/include/generated/autoconf.h'
-- Configuring done
-- Generating done
-- Build files have been written to: E:/nRF52/Projects/radio_module/build
[1/154] Generating misc/generated/syscalls.json, misc/generated/struct_tags.json
[2/154] Building C object zephyr/CMakeFiles/offsets.dir/arch/arm/core/offsets/offsets.c.obj
[3/154] Generating include/generated/offsets.h
[4/154] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/dec.c.obj
[5/154] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/crc7_sw.c.obj
[6/154] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/crc32c_sw.c.obj
[7/154] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/cbprintf.c.obj
[8/154] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/hex.c.obj
[9/154] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/crc8_sw.c.obj
[10/154] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/crc16_sw.c.obj
[11/154] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/crc32_sw.c.obj
[12/154] Building C object zephyr/soc/arm/common/cortex_m/CMakeFiles/soc__arm__common__cortex_m.dir/arm_mpu_regions.c.obj
[13/154] Building C object CMakeFiles/app.dir/src/uart.c.obj
../src/uart.c: In function 'uart_send':
e:\nRF52\Projects\radio_module\src\uart.c:49:9: warning: unused variable 'rb_len' [-Wunused-variable]
   49 |     int rb_len = ring_buf_put(&txRingBuffer, data, size);
      |         ^~~~~~
[14/154] Building C object CMakeFiles/app.dir/src/main.c.obj
[15/154] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/cbprintf_packaged.c.obj
[16/154] Building C object modules/nrf/drivers/hw_cc310/CMakeFiles/..__nrf__drivers__hw_cc310.dir/hw_cc310.c.obj
[17/154] Building C object zephyr/drivers/timer/CMakeFiles/drivers__timer.dir/sys_clock_init.c.obj
[18/154] Building C object modules/nrf/lib/fatal_error/CMakeFiles/..__nrf__lib__fatal_error.dir/fatal_error.c.obj
[19/154] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/fdtable.c.obj
[20/154] Building C object zephyr/boards/boards/arm/nrf52840dongle_nrf52840/CMakeFiles/boards__arm__nrf52840dongle_nrf52840.dir/board.c.obj
[21/154] Building C object zephyr/soc/arm/nordic_nrf/nrf52/CMakeFiles/soc__arm__nordic_nrf__nrf52.dir/soc.c.obj
[22/154] Linking C static library zephyr\soc\arm\common\cortex_m\libsoc__arm__common__cortex_m.a
[23/154] Building C object zephyr/soc/arm/nordic_nrf/nrf52/CMakeFiles/soc__arm__nordic_nrf__nrf52.dir/power.c.obj
[24/154] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/C_/Users/Marek/ncs/v1.9.1/modules/hal/nordic/nrfx/mdk/system_nrf52840.c.obj
[25/154] Linking C static library app\libapp.a
[26/154] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/nrfx_glue.c.obj
[27/154] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/C_/Users/Marek/ncs/v1.9.1/modules/hal/nordic/nrfx/helpers/nrfx_flag32_allocator.c.obj
[28/154] Building C object zephyr/drivers/gpio/CMakeFiles/drivers__gpio.dir/gpio_nrfx.c.obj
[29/154] Linking C static library modules\nrf\drivers\hw_cc310\lib..__nrf__drivers__hw_cc310.a
[30/154] Linking C static library zephyr\boards\boards\arm\nrf52840dongle_nrf52840\libboards__arm__nrf52840dongle_nrf52840.a
[31/154] Linking C static library modules\nrf\lib\fatal_error\lib..__nrf__lib__fatal_error.a
[32/154] Building C object zephyr/drivers/timer/CMakeFiles/drivers__timer.dir/nrf_rtc_timer.c.obj
[33/154] Building C object zephyr/kernel/CMakeFiles/kernel.dir/errno.c.obj
[34/154] Linking C static library zephyr\soc\arm\nordic_nrf\nrf52\libsoc__arm__nordic_nrf__nrf52.a
[35/154] Building C object zephyr/drivers/clock_control/CMakeFiles/drivers__clock_control.dir/clock_control_nrf.c.obj
[36/154] Linking C static library zephyr\drivers\gpio\libdrivers__gpio.a
[37/154] Building C object zephyr/kernel/CMakeFiles/kernel.dir/device.c.obj
[38/154] Building C object zephyr/kernel/CMakeFiles/kernel.dir/version.c.obj
[39/154] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/C_/Users/Marek/ncs/v1.9.1/modules/hal/nordic/nrfx/drivers/src/nrfx_clock.c.obj
[40/154] Building C object zephyr/kernel/CMakeFiles/kernel.dir/fatal.c.obj
[41/154] Building C object zephyr/kernel/CMakeFiles/kernel.dir/banner.c.obj
[42/154] Linking C static library zephyr\drivers\timer\libdrivers__timer.a
[43/154] Building C object zephyr/kernel/CMakeFiles/kernel.dir/main_weak.c.obj
[44/154] Building C object zephyr/kernel/CMakeFiles/kernel.dir/init.c.obj
[45/154] Linking C static library zephyr\drivers\clock_control\libdrivers__clock_control.a
[46/154] Building C object zephyr/kernel/CMakeFiles/kernel.dir/idle.c.obj
[47/154] Building C object zephyr/kernel/CMakeFiles/kernel.dir/kheap.c.obj
[48/154] Building C object zephyr/kernel/CMakeFiles/kernel.dir/sem.c.obj
[49/154] Building C object zephyr/kernel/CMakeFiles/kernel.dir/mem_slab.c.obj
[50/154] Building C object zephyr/kernel/CMakeFiles/kernel.dir/stack.c.obj
[51/154] Building C object zephyr/kernel/CMakeFiles/kernel.dir/mailbox.c.obj
[52/154] Building C object zephyr/kernel/CMakeFiles/kernel.dir/xip.c.obj
[53/154] Building C object zephyr/kernel/CMakeFiles/kernel.dir/system_work_q.c.obj
[54/154] Building C object zephyr/kernel/CMakeFiles/kernel.dir/thread.c.obj
[55/154] Building C object zephyr/kernel/CMakeFiles/kernel.dir/msg_q.c.obj
[56/154] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/C_/Users/Marek/ncs/v1.9.1/modules/hal/nordic/nrfx/drivers/src/nrfx_gpiote.c.obj
[57/154] Building C object zephyr/kernel/CMakeFiles/kernel.dir/condvar.c.obj
[58/154] Building C object zephyr/kernel/CMakeFiles/kernel.dir/mutex.c.obj
[59/154] Building C object zephyr/kernel/CMakeFiles/kernel.dir/timer.c.obj
[60/154] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/notify.c.obj
[61/154] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/thread_entry.c.obj
[62/154] Building C object zephyr/kernel/CMakeFiles/kernel.dir/mempool.c.obj
[63/154] Building C object zephyr/kernel/CMakeFiles/kernel.dir/queue.c.obj
[64/154] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/multi_heap.c.obj
[65/154] Building C object zephyr/kernel/CMakeFiles/kernel.dir/pipes.c.obj
[66/154] Building C object zephyr/kernel/CMakeFiles/kernel.dir/timeout.c.obj
[67/154] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/printk.c.obj
[68/154] Linking C static library modules\hal_nordic\nrfx\libmodules__hal_nordic__nrfx.a
[69/154] Building ASM object zephyr/CMakeFiles/zephyr.dir/soc/arm/nordic_nrf/common/soc_nrf_common.S.obj
[70/154] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/timeutil.c.obj
[71/154] Building C object zephyr/CMakeFiles/zephyr.dir/misc/generated/configs.c.obj
[72/154] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/sem.c.obj
[73/154] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/rb.c.obj
[74/154] Building C object zephyr/kernel/CMakeFiles/kernel.dir/work.c.obj
[75/154] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/reboot.c.obj
[76/154] Building C object zephyr/CMakeFiles/zephyr.dir/soc/arm/nordic_nrf/validate_enabled_instances.c.obj
[77/154] Building C object zephyr/CMakeFiles/zephyr.dir/soc/arm/nordic_nrf/validate_base_addresses.c.obj
[78/154] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/cbprintf_complete.c.obj
[79/154] Building ASM object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/cpu_idle.S.obj
[80/154] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/bitarray.c.obj
[81/154] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/tracing/tracing_none.c.obj
[82/154] Generating linker_zephyr_pre1.cmd
[83/154] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/pm/policy/residency.c.obj
[84/154] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/onoff.c.obj
[85/154] Generating linker_zephyr_pre0.cmd
[86/154] Building C object zephyr/kernel/CMakeFiles/kernel.dir/sched.c.obj
[87/154] Building ASM object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/nmi_on_reset.S.obj
[88/154] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/heap-validate.c.obj
[89/154] Building C object zephyr/arch/common/CMakeFiles/isr_tables.dir/isr_tables.c.obj
[90/154] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/pm/constraint.c.obj
[91/154] Building C object zephyr/CMakeFiles/zephyr.dir/C_/Users/Marek/ncs/v1.9.1/nrfxlib/crypto/nrf_cc310_platform/src/nrf_cc3xx_platform_abort_zephyr.c.obj
[92/154] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/ring_buffer.c.obj
[93/154] Building C object zephyr/CMakeFiles/zephyr.dir/C_/Users/Marek/ncs/v1.9.1/nrfxlib/crypto/nrf_cc310_platform/src/nrf_cc3xx_platform_mutex_zephyr.c.obj
[94/154] Building C object zephyr/arch/common/CMakeFiles/arch__common.dir/sw_isr_common.c.obj
[95/154] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/heap.c.obj
[96/154] Building ASM object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/isr_wrapper.S.obj
[97/154] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/pm/pm.c.obj
[98/154] Building ASM object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/exc_exit.S.obj
[99/154] Building ASM object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/swap_helper.S.obj
[100/154] Building C object zephyr/CMakeFiles/zephyr_pre0.dir/misc/empty_file.c.obj
[101/154] Building ASM object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/fault_s.S.obj
[102/154] Linking C static library zephyr\arch\common\libisr_tables.a
[103/154] Building ASM object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/vector_table.S.obj
[104/154] Linking C static library zephyr\kernel\libkernel.a
[105/154] Building ASM object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/reset.S.obj
[106/154] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/swap.c.obj
[107/154] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/nmi.c.obj
[108/154] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/prep_c.c.obj
[109/154] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/irq_manage.c.obj
[110/154] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/thread.c.obj
[111/154] Building C object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/irq_init.c.obj
[112/154] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/fatal.c.obj
[113/154] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/atoi.c.obj
[114/154] Linking C static library zephyr\libzephyr.a
[115/154] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/bsearch.c.obj
[116/154] Building C object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/fpu.c.obj
[117/154] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/strtoul.c.obj
[118/154] Linking C static library zephyr\arch\common\libarch__common.a
[119/154] Building C object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/thread_abort.c.obj
[120/154] Building C object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/scb.c.obj
[121/154] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/strtol.c.obj
[122/154] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/abort.c.obj
[123/154] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/string/strstr.c.obj
[124/154] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/string/strncasecmp.c.obj
[125/154] Building C object zephyr/arch/arch/arm/core/aarch32/mpu/CMakeFiles/arch__arm__core__aarch32__mpu.dir/arm_core_mpu.c.obj
[126/154] Linking C static library zephyr\arch\arch\arm\core\aarch32\libarch__arm__core__aarch32.a
[127/154] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/string/strspn.c.obj
[128/154] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/malloc.c.obj
[129/154] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/qsort.c.obj
[130/154] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdout/stdout_console.c.obj
[131/154] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdout/fprintf.c.obj
[132/154] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/exit.c.obj
[133/154] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/string/string.c.obj
[134/154] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdout/sprintf.c.obj
[135/154] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/time/gmtime.c.obj
[136/154] Building C object zephyr/arch/arch/arm/core/aarch32/mpu/CMakeFiles/arch__arm__core__aarch32__mpu.dir/arm_mpu.c.obj
[137/154] Linking C static library zephyr\lib\libc\minimal\liblib__libc__minimal.a
[138/154] Building C object zephyr/lib/posix/CMakeFiles/lib__posix.dir/pthread_common.c.obj
[139/154] Building C object zephyr/lib/posix/CMakeFiles/lib__posix.dir/nanosleep.c.obj
[140/154] Building C object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/fault.c.obj
[141/154] Linking C static library zephyr\arch\arch\arm\core\aarch32\mpu\libarch__arm__core__aarch32__mpu.a
[142/154] Linking C static library zephyr\lib\posix\liblib__posix.a
[143/154] Linking C static library zephyr\arch\arch\arm\core\aarch32\cortex_m\libarch__arm__core__aarch32__cortex_m.a
[144/154] Linking C executable zephyr\zephyr_pre0.elf

[145/154] Generating dev_handles.c
[146/154] Building C object zephyr/CMakeFiles/zephyr_pre1.dir/misc/empty_file.c.obj
[147/154] Building C object zephyr/CMakeFiles/zephyr_pre1.dir/dev_handles.c.obj
[148/154] Linking C executable zephyr\zephyr_pre1.elf

[149/154] Generating linker.cmd
[150/154] Generating isr_tables.c, isrList.bin
[151/154] Building C object zephyr/CMakeFiles/zephyr_final.dir/misc/empty_file.c.obj
[152/154] Building C object zephyr/CMakeFiles/zephyr_final.dir/isr_tables.c.obj
[153/154] Building C object zephyr/CMakeFiles/zephyr_final.dir/dev_handles.c.obj
[154/154] Linking C executable zephyr\zephyr.elf
Memory region         Used Size  Region Size  %age Used
           FLASH:       21520 B      1020 KB      2.06%
            SRAM:       10336 B       256 KB      3.94%
        IDT_LIST:          0 GB         2 KB      0.00%

Parents Reply Children
No Data
Related