Hi all,
I'm trying to use rtc0 with my custom board build with an nrf9151, but I got a secure fault. I've activated rtc in an overlay file
&rtc0 {
status = "okay";
};
In my prj.conf
CONFIG_COUNTER=y CONFIG_RTC=y CONFIG_CLOCK_CONTROL=y CONFIG_CLOCK_CONTROL_NRF=y
But when I'm trying to init rtc with the following code,
#define RTC_NODE DT_NODELABEL(rtc0)
const struct device *rtc_dev;
static uint32_t unix_timestamp_base = 0;
atomic_t rtc_synchro = ATOMIC_INIT(0);
int init_rtc(const uint32_t timestamp_start)
{
if (!device_is_ready(rtc_dev)) {
printk("RTC device not ready\n");
return -1;
}
unix_timestamp_base = timestamp_start;
counter_start(rtc_dev);
atomic_set(&rtc_synchro, 1);
return 0;
}
I got the following error:
RTC device not ready [00:00:02.957,824] <err> os: ***** SECURE FAULT ***** [00:00:02.957,824] <err> os: Address: 0x8 [00:00:02.957,855] <err> os: Attribution unit violation [00:00:02.957,855] <err> os: r0/a1: 0x00000000 r1/a2: 0x00000005 r2/a3: 0x00000004 [00:00:02.957,885] <err> os: r3/a4: 0x2001c94c r12/ip: 0x00000004 r14/lr: 0x000537cb [00:00:02.957,916] <err> os: xpsr: 0x01000000 [00:00:02.957,946] <err> os: Faulting instruction address (r15/pc): 0x00053730 [00:00:02.957,977] <err> os: >>> ZEPHYR FATAL ERROR 41: Unknown error on CPU 0 [00:00:02.958,007] <err> os: Current thread: 0x2001c648 (unknown) [00:00:03.052,246] <err> os: Halting system
I've check my dts file after build the app and rtc0 is activated
....
rtc0: rtc@14000 {
compatible = "nordic,nrf-rtc";
reg = < 0x14000 0x1000 >;
cc-num = < 0x4 >;
interrupts = < 0x14 0x1 >;
status = "okay";
clock-frequency = < 0x8000 >;
prescaler = < 0x1 >;
};
....
Ps: I build my app with non secure for my custom board