Hardfault at 00000008 CONFIG_NUM_MBOX_ASYNC_MSGS

Hello,

I have an application and I am using a nrf52833, as soon as i flash my application I am getting a hardfault prior to the main call.
As in below snap:

I do not know what to make of this, kindly suggest.

Thanks,

  • Hello,

    I found the source of hard fault issue.

    I wanted to have memory partitioning, for which I edited the "pm_static.yaml" file and "bl653_dvk.dts" files

    As soon as I removed the "pm_static.yaml" from my project, The restart was not happening and image is working fine.

    Please fine the below attached files and kindly suggest what is wrong with my "pm_static.yaml" file:

    app:
      address: 0x10200
      end_address: 0x70000
      region: flash_primary
      size: 0x5fe00
    external_flash:
      address: 0x0000
      end_address: 0x100000
      region: external_flash
      size: 0x100000
    mcuboot:
      address: 0x0
      end_address: 0x10000
      placement:
        before:
        - mcuboot_primary
      region: flash_primary
      size: 0x10000
    mcuboot_pad:
      address: 0x10000
      end_address: 0x10200
      placement:
        before:
        - mcuboot_primary_app
      region: flash_primary
      size: 0x200
    mcuboot_primary:
      address: 0x10000
      end_address: 0x70000
      orig_span: &id001
      - mcuboot_pad
      - app
      region: flash_primary
      size: 0x60000
      span: *id001
    mcuboot_primary_app:
      address: 0x10200
      end_address: 0x70000
      orig_span: &id002
      - app
      region: flash_primary
      size: 0x5fe00
      span: *id002
    mcuboot_secondary:
      address: 0x0
      device: IS25
      end_address: 0x60000
      placement:
        align:
          start: 0x4
      region: external_flash
      share_size:
      - mcuboot_primary
      size: 0x60000
    settings_storage:
      address: 0x70000
      end_address: 0x80000
      placement:
        before:
        - end
      region: flash_primary
      size: 0x10000
    sram_primary:
      address: 0x20000000
      end_address: 0x20020000
      region: sram_primary
      size: 0x20000
    

    And my dts file is:

    /*
     * Copyright (c) 2020 Laird Connectivity
     *
     * SPDX-License-Identifier: Apache-2.0
     */
    
    /dts-v1/;
    #include <nordic/nrf52833_qiaa.dtsi>
    
    / {
    	model = "Laird BL653 Dev Kit";
    	compatible = "lairdconnect,bl653_dvk";
    
    	chosen {
    		zephyr,console = &uart0;
    		zephyr,shell-uart = &uart0;
    		zephyr,uart-mcumgr = &uart0;
    		zephyr,bt-mon-uart = &uart0;
    		zephyr,bt-c2h-uart = &uart0;
    		zephyr,sram = &sram0;
    		zephyr,flash = &flash0;
    		zephyr,code-partition = &slot0_partition;
    	};
    
    	leds {
    		compatible = "gpio-leds";
    		led1: led_1 {
    			gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
    			label = "Blue LED 1";
    		};
    		led2: led_2 {
    			gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
    			label = "Blue LED 2";
    		};
    		led3: led_3 {
    			gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
    			label = "Blue LED 3";
    		};
    		led4: led_4 {
    			gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;
    			label = "Blue LED 4";
    		};
    	};
    
    	buttons {
    		compatible = "gpio-keys";
    		button1: button_1 {
    			gpios = <&gpio0 11 GPIO_PULL_UP>;
    			label = "Push button switch 1 (SW1)";
    		};
    		button2: button_2 {
    			gpios = <&gpio0 12 GPIO_PULL_UP>;
    			label = "Push button switch 2 (SW2)";
    		};
    		button3: button_3 {
    			gpios = <&gpio0 24 GPIO_PULL_UP>;
    			label = "Push button switch 3 (SW9)";
    		};
    		button4: button_4 {
    			gpios = <&gpio0 22 GPIO_PULL_UP>;
    			label = "Push button switch 4 (SW10)";
    		};
    	};
    
    	/* These aliases are provided for compatibility with samples */
    	aliases {
    		led0 = &led1;
    		led1 = &led2;
    		led2 = &led3;
    		led3 = &led4;
    		sw0 = &button1;
    		sw1 = &button2;
    		sw2 = &button3;
    		sw3 = &button4;
    	};
    };
    
    &adc {
    	status = "okay";
    };
    
    &gpiote {
    	status = "okay";
    };
    
    &gpio0 {
    	status = "okay";
    };
    
    &gpio1 {
    	status = "okay";
    };
    
    &uart0 {
    	compatible = "nordic,nrf-uart";
    	current-speed = <115200>;
    	status = "okay";
    	tx-pin = <6>;
    	rx-pin = <8>;
    	rts-pin = <5>;
    	cts-pin = <7>;
    };
    
    &i2c0 {
    	compatible = "nordic,nrf-twi";
    	status = "okay";
    	sda-pin = <26>;
    	scl-pin = <27>;
    
    	dac0: mcp4725@60 {
    		/* MCP4725 not populated at factory */
    		compatible = "microchip,mcp4725";
    		reg = <0x60>;
    		label = "MCP4725";
    		#io-channel-cells = <1>;
    		status = "disabled";
    	};
    };
    
    &pwm0 {
    	status = "okay";
    	ch0-pin = <13>;
    };
    
    &spi1 {
    	compatible = "nordic,nrf-spi";
    	status = "okay";
    	sck-pin = <41>;
    	mosi-pin = <40>;
    	miso-pin = <4>;
    	cs-gpios = <&gpio1 23 0>;
    };
    /* 
    &flash0 {
    	partitions {
    		compatible = "fixed-partitions";
    		#address-cells = <1>;
    		#size-cells = <1>;
    
    		boot_partition: partition@0 {
    			label = "mcuboot";
    			reg = <0x000000000 0xC000>;
    		};
    		slot0_partition: partition@c000 {
    			label = "image-0";
    			reg = <0x0000C000 0x32000>;
    		};
    		slot1_partition: partition@3e000 {
    			label = "image-1";
    			reg = <0x0003E000 0x32000>;
    		};
    		scratch_partition: partition@70000 {
    			label = "image-scratch";
    			reg = <0x00070000 0xA000>;
    		};
    		storage_partition: partition@7a000 {
    			label = "storage";
    			reg = <0x0007A000 0x00006000>;
    		};
    	};
    };
    */
    
    &flash0 {
    	partitions {
    		compatible = "fixed-partitions";
    		#address-cells = <1>;
    		#size-cells = <1>;
    
    		boot_partition: partition@0 {
    			label = "mcuboot";
    			reg = <0x000000000 0x10000>;
    		};
    		slot0_partition: partition@10000 {
    			label = "image-0";
    			reg = <0x00010000 0x60000>;
    		};
    		
    		storage_partition: partition@70000 {
    			label = "storage";
    			reg = <0x00070000 0x0010000>;
    		};
    	};
    };
    
    zephyr_udc0: &usbd {
    	compatible = "nordic,nrf-usbd";
    	status = "okay";
    };
    

    Regards,

  • Yes, I added a new pm_static.yaml into project

    pm_static.yaml" file:

    I think something wrong here

  • Can you check my pm_static.yml file and see if anything wrong there..?

    As soon as I removed the "pm_static.yaml" from my project, The restart was not happening and image is working fine.
  • Have you made any changes to the pm_static.yaml file?

    Hi ,

    Can you help me figure out what is wrong with the defined file..?

    "pm_static.yaml" file:
Related