Timer does not work properly

I set a timer on the net core of nrf5340. The timer sets an interrupt of 10s. After the chip is reset and runs for 10s, the while (1) of the main function is interrupted, but it doesn't seem to enter the interrupt function. I don't know where the problem is. The following my initialization code, please help me see, thank you.

const nrfx_timer_t TIMER_FC = NRFX_TIMER_INSTANCE(0);


void timer_fc_event_handler(nrf_timer_event_t event_type, void* p_context)
{
    switch (event_type)
    {
	case NRF_TIMER_EVENT_COMPARE0:
            printk("test\r\n");
        break;
            
        default:
            //Do nothing.
            break;
    }
}


void timer_fc_init(void)
{
    uint32_t time_ms = 10000; 
    uint32_t time_ticks;

    nrfx_err_t err_code;
	
    nrfx_timer_config_t timer_cfg = NRFX_TIMER_DEFAULT_CONFIG;

    timer_cfg.bit_width = NRF_TIMER_BIT_WIDTH_32;
    timer_cfg.p_context = timer_fc_event_handler;
    timer_cfg.frequency = NRF_TIMER_FREQ_16MHz;
    timer_cfg.interrupt_priority = 7;
    timer_cfg.mode = NRF_TIMER_MODE_TIMER;
    
    err_code = nrfx_timer_init(&TIMER_FC, &timer_cfg, timer_fc_event_handler);
	  
    time_ticks = nrfx_timer_ms_to_ticks(&TIMER_FC, time_ms);

    nrfx_timer_extended_compare(
         &TIMER_FC, NRF_TIMER_CC_CHANNEL0, time_ticks, NRF_TIMER_SHORT_COMPARE0_CLEAR_MASK, true);

    IRQ_DIRECT_CONNECT(TIMER0_IRQn, 0,
			   timer_fc_event_handler, 0);

    irq_enable(TIMER1_IRQn);

    nrfx_timer_enable(&TIMER_FC);
}


void main(void)
{
	int err;
        uint32_t temp;
        uint8_t rx_data[100];


        PA_Init();
        PA_mode_set(pa_rx_mode);
        ANT_Switch_set(ant4);

        printk("This RX NET Core\r\n");

        NRF_CLOCK->EVENTS_HFCLKSTARTED = 0;
        NRF_CLOCK->TASKS_HFCLKSTART = 1;
        while (NRF_CLOCK->EVENTS_HFCLKSTARTED == 0);

        printk("clock init\r\n");
        
        printk("channel set:%d\r\n", esb_set_rf_channel(86));
        err = esb_start_rx();

        //radio_registers_read();
        
        printk("channel:%d\r\n",NRF_RADIO->FREQUENCY);

        timer_fc_init();

        while(1)
        {
            printk("main while\r\n");
            k_sleep(K_MSEC(2000));
        }
}

Parents
  • "irq_enable(TIMER1_IRQn);"

    Should be "irq_enable(TIMER0_IRQn);".

  • Thank you for your reminder. I have corrected this error. The problem still hasn't been solved. After the chip is reset, five main while are printed, that is, 10s later, the interrupt function set by timer is triggered, but test is not printed. When I enter debug, I see that after entering the interrupt function, it has been looping in it and does not return to the Mian. Please help me analyze the problems, thank you.

  • I'll try to replicate your issue, what sdk version are you using? 

    Can you share any config and cmakelist file that are relevant?

  • Thank you for your patience. The SDK version used is v1.5.0, and the following are some of my configuration files. Thank you.

  • The following is the content of zephyr.dts

    /dts-v1/;
    
    / {
    	#address-cells = < 0x1 >;
    	#size-cells = < 0x1 >;
    	model = "Nordic NRF5340 DK NRF5340 Network";
    	compatible = "nordic,nrf5340-dk-nrf5340-cpunet";
    	chosen {
    		zephyr,entropy = &rng;
    		zephyr,flash-controller = &flash_controller;
    		zephyr,console = &uart0;
    		zephyr,shell-uart = &uart0;
    		zephyr,uart-mcumgr = &uart0;
    		zephyr,bt-mon-uart = &uart0;
    		zephyr,bt-c2h-uart = &uart0;
    		zephyr,sram = &sram1;
    		zephyr,flash = &flash1;
    		zephyr,code-partition = &slot0_partition;
    		zephyr,ipc_shm = &sram0_shared;
    	};
    	aliases {
    		led0 = &led0;
    		led1 = &led1;
    		led2 = &led2;
    		led3 = &led3;
    		sw0 = &button0;
    		sw1 = &button1;
    		sw2 = &button2;
    		sw3 = &button3;
    	};
    	soc {
    		#address-cells = < 0x1 >;
    		#size-cells = < 0x1 >;
    		compatible = "nordic,nRF5340-CPUNET-QKAA", "nordic,nRF5340-CPUNET", "nordic,nRF53", "simple-bus";
    		interrupt-parent = < &nvic >;
    		ranges;
    		nvic: interrupt-controller@e000e100 {
    			compatible = "arm,v8m-nvic";
    			reg = < 0xe000e100 0xc00 >;
    			interrupt-controller;
    			#interrupt-cells = < 0x2 >;
    			arm,num-irq-priority-bits = < 0x3 >;
    			phandle = < 0x1 >;
    		};
    		systick: timer@e000e010 {
    			compatible = "arm,armv8m-systick";
    			reg = < 0xe000e010 0x10 >;
    			status = "disabled";
    		};
    		sram0: memory@20000000 {
    			compatible = "mmio-sram";
    			reg = < 0x20000000 0x80000 >;
    		};
    		sram1: memory@21000000 {
    			compatible = "mmio-sram";
    			reg = < 0x21000000 0x10000 >;
    		};
    		clock: clock@41005000 {
    			compatible = "nordic,nrf-clock";
    			reg = < 0x41005000 0x1000 >;
    			interrupts = < 0x5 0x1 >;
    			status = "okay";
    			label = "CLOCK";
    		};
    		dppic: dppic@4100f000 {
    			compatible = "nordic,nrf-dppic";
    			reg = < 0x4100f000 0x1000 >;
    			status = "okay";
    			label = "DPPIC";
    		};
    		ecb: ecb@4100d000 {
    			compatible = "nordic,nrf-ecb";
    			reg = < 0x4100d000 0x1000 >;
    			interrupts = < 0xd 0x1 >;
    			status = "okay";
    			label = "ECB";
    		};
    		egu0: egu@41014000 {
    			compatible = "nordic,nrf-egu";
    			reg = < 0x41014000 0x1000 >;
    			interrupts = < 0x14 0x1 >;
    			status = "okay";
    			label = "EGU_0";
    		};
    		ficr: ficr@1ff0000 {
    			compatible = "nordic,nrf-ficr";
    			reg = < 0x1ff0000 0x1000 >;
    			status = "okay";
    		};
    		gpio0: gpio@418c0500 {
    			compatible = "nordic,nrf-gpio";
    			gpio-controller;
    			reg = < 0x418c0500 0x300 >;
    			#gpio-cells = < 0x2 >;
    			label = "GPIO_0";
    			status = "okay";
    			port = < 0x0 >;
    			phandle = < 0x2 >;
    		};
    		gpio1: gpio@418c0800 {
    			compatible = "nordic,nrf-gpio";
    			gpio-controller;
    			reg = < 0x418c0800 0x300 >;
    			#gpio-cells = < 0x2 >;
    			ngpios = < 0x10 >;
    			label = "GPIO_1";
    			status = "okay";
    			port = < 0x1 >;
    		};
    		gpiote: gpiote@4100a000 {
    			compatible = "nordic,nrf-gpiote";
    			reg = < 0x4100a000 0x1000 >;
    			interrupts = < 0xa 0x5 >;
    			status = "okay";
    			label = "GPIOTE_0";
    		};
    		i2c0: i2c@41013000 {
    			#address-cells = < 0x1 >;
    			#size-cells = < 0x0 >;
    			reg = < 0x41013000 0x1000 >;
    			clock-frequency = < 0x186a0 >;
    			interrupts = < 0x13 0x1 >;
    			status = "disabled";
    			label = "I2C_0";
    		};
    		ipc: ipc@41012000 {
    			compatible = "nordic,nrf-ipc";
    			reg = < 0x41012000 0x1000 >;
    			interrupts = < 0x12 0x1 >;
    			status = "okay";
    			label = "IPC";
    		};
    		power: power@41005000 {
    			compatible = "nordic,nrf-power";
    			reg = < 0x41005000 0x1000 >;
    			interrupts = < 0x5 0x1 >;
    			status = "okay";
    		};
    		rng: random@41009000 {
    			compatible = "nordic,nrf-rng";
    			reg = < 0x41009000 0x1000 >;
    			interrupts = < 0x9 0x1 >;
    			status = "okay";
    			label = "RNG";
    		};
    		rtc0: rtc@41011000 {
    			compatible = "nordic,nrf-rtc";
    			reg = < 0x41011000 0x1000 >;
    			cc-num = < 0x4 >;
    			interrupts = < 0x11 0x1 >;
    			status = "okay";
    			label = "RTC_0";
    		};
    		rtc1: rtc@41016000 {
    			compatible = "nordic,nrf-rtc";
    			reg = < 0x41016000 0x1000 >;
    			cc-num = < 0x4 >;
    			interrupts = < 0x16 0x1 >;
    			status = "okay";
    			label = "RTC_1";
    		};
    		spi0: spi@41013000 {
    			#address-cells = < 0x1 >;
    			#size-cells = < 0x0 >;
    			reg = < 0x41013000 0x1000 >;
    			interrupts = < 0x13 0x1 >;
    			status = "disabled";
    			label = "SPI_0";
    		};
    		temp: temp@41010000 {
    			compatible = "nordic,nrf-temp";
    			reg = < 0x41010000 0x1000 >;
    			interrupts = < 0x10 0x1 >;
    			status = "okay";
    			label = "TEMP_0";
    		};
    		timer0: timer@4100c000 {
    			compatible = "nordic,nrf-timer";
    			status = "okay";
    			reg = < 0x4100c000 0x1000 >;
    			cc-num = < 0x8 >;
    			interrupts = < 0xc 0x1 >;
    			prescaler = < 0x0 >;
    			label = "TIMER0";
    		};
    		timer1: timer@41018000 {
    			compatible = "nordic,nrf-timer";
    			status = "okay";
    			reg = < 0x41018000 0x1000 >;
    			cc-num = < 0x8 >;
    			interrupts = < 0x18 0x1 >;
    			prescaler = < 0x0 >;
    			label = "TIMER1";
    		};
    		timer2: timer@41019000 {
    			compatible = "nordic,nrf-timer";
    			status = "okay";
    			reg = < 0x41019000 0x1000 >;
    			cc-num = < 0x8 >;
    			interrupts = < 0x19 0x1 >;
    			prescaler = < 0x0 >;
    			label = "TIMER2";
    		};
    		uart0: uart@41013000 {
    			compatible = "nordic,nrf-uarte";
    			reg = < 0x41013000 0x1000 >;
    			interrupts = < 0x13 0x1 >;
    			status = "okay";
    			label = "UART_0";
    			current-speed = < 0x1c200 >;
    			tx-pin = < 0x21 >;
    			rx-pin = < 0x20 >;
    			rts-pin = < 0xb >;
    			cts-pin = < 0xa >;
    		};
    		uicr: uicr@1ff8000 {
    			compatible = "nordic,nrf-uicr";
    			reg = < 0x1ff8000 0x1000 >;
    			status = "okay";
    		};
    		vmc: vmc@41081000 {
    			compatible = "nordic,nrf-vmc";
    			reg = < 0x41081000 0x1000 >;
    			status = "okay";
    		};
    		wdt: wdt0: watchdog@4100b000 {
    			compatible = "nordic,nrf-watchdog";
    			reg = < 0x4100b000 0x1000 >;
    			interrupts = < 0xb 0x1 >;
    			status = "okay";
    			label = "WDT";
    		};
    	};
    	cpus {
    		#address-cells = < 0x1 >;
    		#size-cells = < 0x0 >;
    		cpu@1 {
    			device_type = "cpu";
    			compatible = "arm,cortex-m33";
    			reg = < 0x1 >;
    			#address-cells = < 0x1 >;
    			#size-cells = < 0x1 >;
    			mpu: mpu@e000ed90 {
    				compatible = "arm,armv8m-mpu";
    				reg = < 0xe000ed90 0x40 >;
    				arm,num-mpu-regions = < 0x8 >;
    			};
    		};
    	};
    	flash_controller: flash-controller@41080000 {
    		compatible = "nordic,nrf53-flash-controller";
    		reg = < 0x41080000 0x1000 >;
    		#address-cells = < 0x1 >;
    		#size-cells = < 0x1 >;
    		label = "NRF_FLASH_DRV_NAME";
    		flash1: flash@1000000 {
    			compatible = "soc-nv-flash";
    			label = "NRF_FLASH";
    			erase-block-size = < 0x800 >;
    			write-block-size = < 0x4 >;
    			reg = < 0x1000000 0x40000 >;
    			partitions {
    				compatible = "fixed-partitions";
    				#address-cells = < 0x1 >;
    				#size-cells = < 0x1 >;
    				boot_partition: partition@0 {
    					label = "mcuboot";
    					reg = < 0x0 0xc000 >;
    				};
    				slot0_partition: partition@c000 {
    					label = "image-0";
    					reg = < 0xc000 0x12000 >;
    				};
    				slot1_partition: partition@1e000 {
    					label = "image-1";
    					reg = < 0x1e000 0x12000 >;
    				};
    				scratch_partition: partition@30000 {
    					label = "image-scratch";
    					reg = < 0x30000 0xa000 >;
    				};
    				storage_partition: partition@3a000 {
    					label = "storage";
    					reg = < 0x3a000 0x6000 >;
    				};
    			};
    		};
    	};
    	leds {
    		compatible = "gpio-leds";
    		led0: led_0 {
    			gpios = < &gpio0 0x1c 0x1 >;
    			label = "Green LED 0";
    		};
    		led1: led_1 {
    			gpios = < &gpio0 0x1d 0x1 >;
    			label = "Green LED 1";
    		};
    		led2: led_2 {
    			gpios = < &gpio0 0x1e 0x1 >;
    			label = "Green LED 2";
    		};
    		led3: led_3 {
    			gpios = < &gpio0 0x1f 0x1 >;
    			label = "Green LED 3";
    		};
    	};
    	buttons {
    		compatible = "gpio-keys";
    		button0: button_0 {
    			gpios = < &gpio0 0x17 0x11 >;
    			label = "Push button 1";
    		};
    		button1: button_1 {
    			gpios = < &gpio0 0x18 0x11 >;
    			label = "Push button 2";
    		};
    		button2: button_2 {
    			gpios = < &gpio0 0x8 0x11 >;
    			label = "Push button 3";
    		};
    		button3: button_3 {
    			gpios = < &gpio0 0x9 0x11 >;
    			label = "Push button 4";
    		};
    	};
    	reserved-memory {
    		#address-cells = < 0x1 >;
    		#size-cells = < 0x1 >;
    		ranges;
    		sram0_shared: memory@20070000 {
    			reg = < 0x20070000 0x10000 >;
    		};
    	};
    };
    

Reply
  • The following is the content of zephyr.dts

    /dts-v1/;
    
    / {
    	#address-cells = < 0x1 >;
    	#size-cells = < 0x1 >;
    	model = "Nordic NRF5340 DK NRF5340 Network";
    	compatible = "nordic,nrf5340-dk-nrf5340-cpunet";
    	chosen {
    		zephyr,entropy = &rng;
    		zephyr,flash-controller = &flash_controller;
    		zephyr,console = &uart0;
    		zephyr,shell-uart = &uart0;
    		zephyr,uart-mcumgr = &uart0;
    		zephyr,bt-mon-uart = &uart0;
    		zephyr,bt-c2h-uart = &uart0;
    		zephyr,sram = &sram1;
    		zephyr,flash = &flash1;
    		zephyr,code-partition = &slot0_partition;
    		zephyr,ipc_shm = &sram0_shared;
    	};
    	aliases {
    		led0 = &led0;
    		led1 = &led1;
    		led2 = &led2;
    		led3 = &led3;
    		sw0 = &button0;
    		sw1 = &button1;
    		sw2 = &button2;
    		sw3 = &button3;
    	};
    	soc {
    		#address-cells = < 0x1 >;
    		#size-cells = < 0x1 >;
    		compatible = "nordic,nRF5340-CPUNET-QKAA", "nordic,nRF5340-CPUNET", "nordic,nRF53", "simple-bus";
    		interrupt-parent = < &nvic >;
    		ranges;
    		nvic: interrupt-controller@e000e100 {
    			compatible = "arm,v8m-nvic";
    			reg = < 0xe000e100 0xc00 >;
    			interrupt-controller;
    			#interrupt-cells = < 0x2 >;
    			arm,num-irq-priority-bits = < 0x3 >;
    			phandle = < 0x1 >;
    		};
    		systick: timer@e000e010 {
    			compatible = "arm,armv8m-systick";
    			reg = < 0xe000e010 0x10 >;
    			status = "disabled";
    		};
    		sram0: memory@20000000 {
    			compatible = "mmio-sram";
    			reg = < 0x20000000 0x80000 >;
    		};
    		sram1: memory@21000000 {
    			compatible = "mmio-sram";
    			reg = < 0x21000000 0x10000 >;
    		};
    		clock: clock@41005000 {
    			compatible = "nordic,nrf-clock";
    			reg = < 0x41005000 0x1000 >;
    			interrupts = < 0x5 0x1 >;
    			status = "okay";
    			label = "CLOCK";
    		};
    		dppic: dppic@4100f000 {
    			compatible = "nordic,nrf-dppic";
    			reg = < 0x4100f000 0x1000 >;
    			status = "okay";
    			label = "DPPIC";
    		};
    		ecb: ecb@4100d000 {
    			compatible = "nordic,nrf-ecb";
    			reg = < 0x4100d000 0x1000 >;
    			interrupts = < 0xd 0x1 >;
    			status = "okay";
    			label = "ECB";
    		};
    		egu0: egu@41014000 {
    			compatible = "nordic,nrf-egu";
    			reg = < 0x41014000 0x1000 >;
    			interrupts = < 0x14 0x1 >;
    			status = "okay";
    			label = "EGU_0";
    		};
    		ficr: ficr@1ff0000 {
    			compatible = "nordic,nrf-ficr";
    			reg = < 0x1ff0000 0x1000 >;
    			status = "okay";
    		};
    		gpio0: gpio@418c0500 {
    			compatible = "nordic,nrf-gpio";
    			gpio-controller;
    			reg = < 0x418c0500 0x300 >;
    			#gpio-cells = < 0x2 >;
    			label = "GPIO_0";
    			status = "okay";
    			port = < 0x0 >;
    			phandle = < 0x2 >;
    		};
    		gpio1: gpio@418c0800 {
    			compatible = "nordic,nrf-gpio";
    			gpio-controller;
    			reg = < 0x418c0800 0x300 >;
    			#gpio-cells = < 0x2 >;
    			ngpios = < 0x10 >;
    			label = "GPIO_1";
    			status = "okay";
    			port = < 0x1 >;
    		};
    		gpiote: gpiote@4100a000 {
    			compatible = "nordic,nrf-gpiote";
    			reg = < 0x4100a000 0x1000 >;
    			interrupts = < 0xa 0x5 >;
    			status = "okay";
    			label = "GPIOTE_0";
    		};
    		i2c0: i2c@41013000 {
    			#address-cells = < 0x1 >;
    			#size-cells = < 0x0 >;
    			reg = < 0x41013000 0x1000 >;
    			clock-frequency = < 0x186a0 >;
    			interrupts = < 0x13 0x1 >;
    			status = "disabled";
    			label = "I2C_0";
    		};
    		ipc: ipc@41012000 {
    			compatible = "nordic,nrf-ipc";
    			reg = < 0x41012000 0x1000 >;
    			interrupts = < 0x12 0x1 >;
    			status = "okay";
    			label = "IPC";
    		};
    		power: power@41005000 {
    			compatible = "nordic,nrf-power";
    			reg = < 0x41005000 0x1000 >;
    			interrupts = < 0x5 0x1 >;
    			status = "okay";
    		};
    		rng: random@41009000 {
    			compatible = "nordic,nrf-rng";
    			reg = < 0x41009000 0x1000 >;
    			interrupts = < 0x9 0x1 >;
    			status = "okay";
    			label = "RNG";
    		};
    		rtc0: rtc@41011000 {
    			compatible = "nordic,nrf-rtc";
    			reg = < 0x41011000 0x1000 >;
    			cc-num = < 0x4 >;
    			interrupts = < 0x11 0x1 >;
    			status = "okay";
    			label = "RTC_0";
    		};
    		rtc1: rtc@41016000 {
    			compatible = "nordic,nrf-rtc";
    			reg = < 0x41016000 0x1000 >;
    			cc-num = < 0x4 >;
    			interrupts = < 0x16 0x1 >;
    			status = "okay";
    			label = "RTC_1";
    		};
    		spi0: spi@41013000 {
    			#address-cells = < 0x1 >;
    			#size-cells = < 0x0 >;
    			reg = < 0x41013000 0x1000 >;
    			interrupts = < 0x13 0x1 >;
    			status = "disabled";
    			label = "SPI_0";
    		};
    		temp: temp@41010000 {
    			compatible = "nordic,nrf-temp";
    			reg = < 0x41010000 0x1000 >;
    			interrupts = < 0x10 0x1 >;
    			status = "okay";
    			label = "TEMP_0";
    		};
    		timer0: timer@4100c000 {
    			compatible = "nordic,nrf-timer";
    			status = "okay";
    			reg = < 0x4100c000 0x1000 >;
    			cc-num = < 0x8 >;
    			interrupts = < 0xc 0x1 >;
    			prescaler = < 0x0 >;
    			label = "TIMER0";
    		};
    		timer1: timer@41018000 {
    			compatible = "nordic,nrf-timer";
    			status = "okay";
    			reg = < 0x41018000 0x1000 >;
    			cc-num = < 0x8 >;
    			interrupts = < 0x18 0x1 >;
    			prescaler = < 0x0 >;
    			label = "TIMER1";
    		};
    		timer2: timer@41019000 {
    			compatible = "nordic,nrf-timer";
    			status = "okay";
    			reg = < 0x41019000 0x1000 >;
    			cc-num = < 0x8 >;
    			interrupts = < 0x19 0x1 >;
    			prescaler = < 0x0 >;
    			label = "TIMER2";
    		};
    		uart0: uart@41013000 {
    			compatible = "nordic,nrf-uarte";
    			reg = < 0x41013000 0x1000 >;
    			interrupts = < 0x13 0x1 >;
    			status = "okay";
    			label = "UART_0";
    			current-speed = < 0x1c200 >;
    			tx-pin = < 0x21 >;
    			rx-pin = < 0x20 >;
    			rts-pin = < 0xb >;
    			cts-pin = < 0xa >;
    		};
    		uicr: uicr@1ff8000 {
    			compatible = "nordic,nrf-uicr";
    			reg = < 0x1ff8000 0x1000 >;
    			status = "okay";
    		};
    		vmc: vmc@41081000 {
    			compatible = "nordic,nrf-vmc";
    			reg = < 0x41081000 0x1000 >;
    			status = "okay";
    		};
    		wdt: wdt0: watchdog@4100b000 {
    			compatible = "nordic,nrf-watchdog";
    			reg = < 0x4100b000 0x1000 >;
    			interrupts = < 0xb 0x1 >;
    			status = "okay";
    			label = "WDT";
    		};
    	};
    	cpus {
    		#address-cells = < 0x1 >;
    		#size-cells = < 0x0 >;
    		cpu@1 {
    			device_type = "cpu";
    			compatible = "arm,cortex-m33";
    			reg = < 0x1 >;
    			#address-cells = < 0x1 >;
    			#size-cells = < 0x1 >;
    			mpu: mpu@e000ed90 {
    				compatible = "arm,armv8m-mpu";
    				reg = < 0xe000ed90 0x40 >;
    				arm,num-mpu-regions = < 0x8 >;
    			};
    		};
    	};
    	flash_controller: flash-controller@41080000 {
    		compatible = "nordic,nrf53-flash-controller";
    		reg = < 0x41080000 0x1000 >;
    		#address-cells = < 0x1 >;
    		#size-cells = < 0x1 >;
    		label = "NRF_FLASH_DRV_NAME";
    		flash1: flash@1000000 {
    			compatible = "soc-nv-flash";
    			label = "NRF_FLASH";
    			erase-block-size = < 0x800 >;
    			write-block-size = < 0x4 >;
    			reg = < 0x1000000 0x40000 >;
    			partitions {
    				compatible = "fixed-partitions";
    				#address-cells = < 0x1 >;
    				#size-cells = < 0x1 >;
    				boot_partition: partition@0 {
    					label = "mcuboot";
    					reg = < 0x0 0xc000 >;
    				};
    				slot0_partition: partition@c000 {
    					label = "image-0";
    					reg = < 0xc000 0x12000 >;
    				};
    				slot1_partition: partition@1e000 {
    					label = "image-1";
    					reg = < 0x1e000 0x12000 >;
    				};
    				scratch_partition: partition@30000 {
    					label = "image-scratch";
    					reg = < 0x30000 0xa000 >;
    				};
    				storage_partition: partition@3a000 {
    					label = "storage";
    					reg = < 0x3a000 0x6000 >;
    				};
    			};
    		};
    	};
    	leds {
    		compatible = "gpio-leds";
    		led0: led_0 {
    			gpios = < &gpio0 0x1c 0x1 >;
    			label = "Green LED 0";
    		};
    		led1: led_1 {
    			gpios = < &gpio0 0x1d 0x1 >;
    			label = "Green LED 1";
    		};
    		led2: led_2 {
    			gpios = < &gpio0 0x1e 0x1 >;
    			label = "Green LED 2";
    		};
    		led3: led_3 {
    			gpios = < &gpio0 0x1f 0x1 >;
    			label = "Green LED 3";
    		};
    	};
    	buttons {
    		compatible = "gpio-keys";
    		button0: button_0 {
    			gpios = < &gpio0 0x17 0x11 >;
    			label = "Push button 1";
    		};
    		button1: button_1 {
    			gpios = < &gpio0 0x18 0x11 >;
    			label = "Push button 2";
    		};
    		button2: button_2 {
    			gpios = < &gpio0 0x8 0x11 >;
    			label = "Push button 3";
    		};
    		button3: button_3 {
    			gpios = < &gpio0 0x9 0x11 >;
    			label = "Push button 4";
    		};
    	};
    	reserved-memory {
    		#address-cells = < 0x1 >;
    		#size-cells = < 0x1 >;
    		ranges;
    		sram0_shared: memory@20070000 {
    			reg = < 0x20070000 0x10000 >;
    		};
    	};
    };
    

Children
No Data
Related