Re: Is the devicetree in zephyr sdk supports the dynamic running time flow control ?
On Wed., Nov. 20, 2019, 6:11 a.m. "曹子龙, <caozilong@...> wrote:
Personally, I think that the build-time / compile-time DeviceTree usage in Zephyr is actually pretty elegant.
However, there is nothing stopping anyone from adding a libfdt to Zephyr for runtime examination of device tree binaries. It's just not as common to do so on a microcontroller platform.
Once you have the .dtb, you can quite easily convert it to a C array using something like xxd.
I would strongly encourage gzip compression to be used for compressing the .dtb though (assuming it was constant data and the dtb was only there for examination). Otherwise it will take up precious code space. At least if memory is dynamically allocated for the uncompressed dtb it can be freed and reused later.
Due to Zephyr's conversion of DTB data to C preprocessor symbols, I do not see live device tree modification being a thing that will be supported in Zephyr anytime soon.