Error in configuring UART pins in SDK2.3.0

Hi there,

I have recently switched my complete "Bluetooth Peripheral" Project from the SDK version 1.9.1 to 2.3.0 

I have been facing some of the pin control issue for the UART, as I have observe you have change the way the UART is working and added the pinctrl functionality.

Previously on the 1.9.1, I was using the UART pins shown under.

&uart0 {
	rts-pin = < 0xff >;
	cts-pin = < 0xff >;
};

&uart2 {
	current-speed = <9600>;
	status = "okay";
	tx-pin = <4>;  
	rx-pin = <5>;
	rts-pin = < 0xff >;
	cts-pin = < 0xff >;
	rx-pull-up;
};

I am using this UART2 for communicating with the BMS(Battery management system), but now in the new SDK when using the same pin configuration, I am getting the error 

"d:\v2.3.0\zephyr\include\zephyr\toolchain\gcc.h:78:36: error: static assertion failed: "/soc/peripheral@50000000/uart@b000 defined without required pin configuration""

"d:\v2.3.0\zephyr\include\zephyr\toolchain\gcc.h:78:36: error: static assertion failed: "/soc/peripheral@50000000/uart@b000 has legacy *-pin properties defined although PINCTRL is enabled"

I am using SDK 2.3.0, and my board is the Nordic Thingy53.

Could you please advise on how to resolve this error and properly configure the UART on my SoC?

Regards 
Sachin

Parents
  • I'm afraid your moving outside my area of experience as I have only worked with the nRF9160. Has your program ever run with ncs 2.3.0? Or is this error simply the result of fixing one problem and exposing the next? I'm guessing this isn't related to UART anymore. If not already done, you should ensure the UART is ready (i.e. device_is_ready(bms_uart) is true. This also tests for non-null).

    I'd probably start running this in the debugger and trying to locate the module/thread which triggers the error. While I only have limited experience interpreting error logs such as the one you've posted, I am suspicious of the 'faulting instruction address' being zero. I have seen something like this when an attempt to dereference a null function pointer is attempted. Could also be caused by memory corruption of a function pointer.

  • Has your program ever run with ncs 2.3.0? Or is this error simply the result of fixing one problem and exposing the next?

    I was working with ncs 1.9.1 till yesterday, having same config for uart and same as device_gets_binding.

    And I faced no problem communication with UART, getting data from it and all.

    But today I switched to ncs2.3.0 which is having pinctrl added and the device_gets_binding is also not working.

    Please help me in resolving this device pointer issue for UART

Reply
  • Has your program ever run with ncs 2.3.0? Or is this error simply the result of fixing one problem and exposing the next?

    I was working with ncs 1.9.1 till yesterday, having same config for uart and same as device_gets_binding.

    And I faced no problem communication with UART, getting data from it and all.

    But today I switched to ncs2.3.0 which is having pinctrl added and the device_gets_binding is also not working.

    Please help me in resolving this device pointer issue for UART

Children
No Data
Related