This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nRF9160 DK secure boot baud 9600

Dear, 

secure_boot

I tried to change baud of UART0 from 115200 to 9600  

nrf9160_pca10090.overlay 

/* needed to get the NRF_UARTE2 defined */
&uart2 {
	current-speed = <19200>;
	status = "ok";
	tx-pin = <18>;
	rx-pin = <17>;
	rts-pin = <19>;
	cts-pin = <21>;
};

&uart0 {
	status = "ok";
	current-speed = <9600>;
	tx-pin = <29>;
	rx-pin = <28>;
	rts-pin = <27>;
	cts-pin = <26>;
};

and nrf9160_pca10090.dts

/*
 * Copyright (c) 2017 Linaro Limited
 * Copyright (c) 2018 Nordic Semiconductor ASA
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;
#include <nordic/nrf9160_xxaa.dtsi>

/ {
	model = "Nordic PCA10090 Dev Kit";
	compatible = "nordic,pca10090-dk", "nordic,nrf9160-xxaa";

	chosen {
		zephyr,console = &uart0;
		zephyr,sram = &sram0;
		zephyr,flash = &flash0;
	};

	aliases {
		led0 = &led0;
		led1 = &led1;
		led2 = &led2;
		led3 = &led3;
		sw0 = &button2;
		sw1 = &button3;
		sw2 = &button0;
		sw3 = &button1;
	};

	leds {
		compatible = "gpio-leds";
		led0: led_0 {
			gpios = <&gpio0 2 GPIO_INT_ACTIVE_LOW>;
			label = "Green LED 0";
		};
		led1: led_1 {
			gpios = <&gpio0 3 GPIO_INT_ACTIVE_LOW>;
			label = "Green LED 1";
		};
		led2: led_2 {
			gpios = <&gpio0 4 GPIO_INT_ACTIVE_LOW>;
			label = "Green LED 2";
		};
		led3: led_3 {
			gpios = <&gpio0 5 GPIO_INT_ACTIVE_LOW>;
			label = "Green LED 3";
		};
	};

	buttons {
		compatible = "gpio-keys";
		button0: button_0 {
			gpios = <&gpio0 8 GPIO_PUD_PULL_UP>;
			label = "Switch 1";
		};
		button1: button_1 {
			gpios = <&gpio0 9 GPIO_PUD_PULL_UP>;
			label = "Switch 2";
		};
		button2: button_2 {
			gpios = <&gpio0 6 GPIO_PUD_PULL_UP>;
			label = "Push button 1";
		};
		button3: button_3 {
			gpios = <&gpio0 7 GPIO_PUD_PULL_UP>;
			label = "Push button 2";
		};
	};

	sram0_bsd: memory@20010000 {
		device_type = "memory";
		compatible = "mmio-sram";
	};
};

&uart0 {
	status = "ok";
	current-speed = <9600>;
	tx-pin = <29>;
	rx-pin = <28>;
	rts-pin = <27>;
	cts-pin = <26>;
};

&uart1 {
	status = "ok";
	current-speed = <115200>;
	tx-pin = <1>;
	rx-pin = <0>;
	rts-pin = <14>;
	cts-pin = <15>;
};

&gpiote {
	status = "ok";
};

&gpio0 {
	status = "ok";
};

&timer0 {
	status = "ok";
};

&flash0 {
	/*
	 * For more information, see:
	 * http://docs.zephyrproject.org/devices/dts/flash_partitions.html
	 */
	partitions {
		compatible = "fixed-partitions";
		#address-cells = <1>;
		#size-cells = <1>;

		boot_partition: partition@0 {
			label = "mcuboot";
			reg = <0x00000000 0x10000>;
		};
		slot0_partition: partition@10000 {
			label = "image-0";
		};
#if defined(CONFIG_ARM_TRUSTZONE_M)
		slot0_ns_partition: partition@40000 {
			label = "image-0-nonsecure";
		};
#endif
		slot1_partition: partition@80000 {
			label = "image-1";
		};
#if defined(CONFIG_ARM_TRUSTZONE_M)
		slot1_ns_partition: partition@b0000 {
			label = "image-1-nonsecure";
		};
#endif
		scratch_partition: partition@f0000 {
			label = "image-scratch";
			reg = <0x000f0000 0xa000>;
		};

		storage_partition: partition@fa000 {
			label = "storage";
			reg = <0x000fa000 0x00006000>;
		};
	};
};

#if defined(CONFIG_ARM_TRUSTZONE_M)
/ {
	sram0_ns: memory@20020000 {
		device_type = "memory";
		compatible = "mmio-sram";
	};
};
#endif

/* Include partition configuration file */
#include "nrf9160_pca10090_partition_conf.dts"

Then, run LTE Link Monitor of nRF Connect 

Look like it DID NOT work with 9600 bps baud?

and I tried another app: Termite 

the reports came, but for a short time (4s), Termite terminated automatically !!  

My hex file: secure_boot_9600.hex

Plz, can you tell me why? I couldnt use 9600 bps baud?

Thanks, 

Regards, 

hng

Parents
  • Hello, 

    Can you please elaborate on what you are trying to accomplish? I have not been able to reproduce your issue yet, or look into your code, but will soon.
    The LTE Link Monitor has a fixed baud rate of 115200, from what I understand. 

    Have you tried to set the baud rate in zephyr\ext\hal\nordic\nrfx_config_nrf9160.h? Or look at one of the Zephyr examples?

    // <o> NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE  - Default Baudrate
    
    // <323584=> 1200 baud
    // <643072=> 2400 baud
    // <1290240=> 4800 baud
    // <2576384=> 9600 baud
    // <3862528=> 14400 baud
    // <5152768=> 19200 baud
    // <7716864=> 28800 baud
    // <8388608=> 31250 baud
    // <10289152=> 38400 baud
    // <15007744=> 56000 baud
    // <15400960=> 57600 baud
    // <20615168=> 76800 baud
    // <30801920=> 115200 baud
    // <61865984=> 230400 baud
    // <67108864=> 250000 baud
    // <121634816=> 460800 baud
    // <251658240=> 921600 baud
    // <268435456=> 1000000 baud
    
    #ifndef NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE
    #define NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE 30801920
    #endif

    Kind regards,
    Øyvind

  • Hello again, 

    I was able to configure the Secure Boot to use baud rate 9600. See screenshot from Termite:


    Be aware that this only applies for Secure Boot, but the application itself will still have baud rate 115200 as can be seen in the bottom of the screenshot.

    Best regards,
    Øyvind

  • Thank Øyvind

    Ja, the problem is nRF Connect LTE Link Monitor has 115200 bps baud, NOT autobaud. But, I am confusing why my Termite terminated automatically after 4-5s. But it may be my computer problem.

    Thanks so much

    Regards, 

    hng

Reply Children
No Data
Related