I'm struggling with SDKConnect and the device tree stuff... and finding it hard to get good examples or docs TBH
So, I have the sample dts files for the nRF5340DK, which defines the config for the 'uart0' node:
I'm struggling with SDKConnect and the device tree stuff... and finding it hard to get good examples or docs TBH
So, I have the sample dts files for the nRF5340DK, which defines the config for the 'uart0' node:
BrianW said:I'm still stuck with 1 point: I would like to pass the alias name ('myconsole') to the function so that I can call it for multiple uart configurations... however, the use of the string "myconsole" in the macros makes this impossible (resolved at compile time). Am I right in thinking there is no way to find nodes in the DTS dynamically (ie with the node label, name or alias only known at run time)?
I am a little confused. How is the alias defined at runtime? In Zephyr, everything on the Devicetree is defined in compile time. Dynamic update of the Devicetree is not supported.
It is not clear to me what "myconsole" is in your application. If it is the console that is printk() get routed to by default, then you could just use DT_CHOSEN(zephyr_console) like in my sample code.
In Zephyr, everything on the Devicetree is defined in compile time. Dynamic update of the Devicetree is not supported.
I think this is what I was not really grasping, the concept that the DTS is that part you update per board and is then static for that particular hardware. I was thinking of a 'config file' that would be dynamic and change at run time to suit the specific device environment (eg select different uart configs based on a device name..).
BrianW said:I think this is what I was not really grasping, the concept that the DTS is that part you update per board and is then static for that particular hardware.
I believe that you have gotten it correct now though
What I have heard in passing, but not verified, is the Devicetree solution does support dynamic changes. However, this is only in Linux, and not in Zephyr.