Re: SOC_DIR not populated


Dan Kalowsky <dank@...>
 

Sorry for the delay in response, got pulled into other duties and was not able to follow up on this in the immediate time frame.



On Thu, Aug 6, 2020 at 11:27 PM Rasmussen, Torsten <Torsten.Rasmussen@...> wrote:

Hi,

 

Find answers inline.

And for convenience, a link to the fix: https://github.com/dkalowsk/broked_zephyr/pull/1


Thank you for this PR.  More importantly, thank you for fixing the documentation in the follow up PR and pointing out that this is a breaking change for others.

One additional note that should be added here, when using the files as corrected to build, they fail to find the linker.ld file found in the soc_a in the example.

The fix is to change the arm/product/CMakeLists.txt file like so:

- add_subdirectory(${SOC_SERIES})
+ add_subdirectory(${CONFIG_SOC_SERIES})

This seems to allow everything to work correctly in the compile time frame.  You may want to include that detail as well if it is correct.  Note the demo repo needs to be cleaned up to compile anything at all, don't trust it.  This seems odd because I believed that Zephyr dropped the CONFIG_ prefix from everything internally before using it, yet in this case the variable has data only when prefixed.
 

Ok, a little bit of history.

Originally, all ROOTs where a single root only, including BOARD_ROOT.

Now, this for sure has its limitation, as people would like to be able to specify more than one root in order to support both in- and out-of-tree BOARDS, SOC, DTS, and so on.

So BOARD_ROOT was the first to be cleaned up.

https://github.com/zephyrproject-rtos/zephyr/pull/10267

 

so there has been request for other ROOTs to be extended to support multiple roots.

https://github.com/zephyrproject-rtos/zephyr/issues/25215

 

There are also several users with out-of-tree SoCs, who are using both Zephyr SoCs and out-of-tree SoCs, and everyone must make there own way of ensuring that their SOC_ROOT gets set correctly.

I have seen this as a common approach:

if(BOARD STREQUAL my_custom_soc_board)
  set(BOARD_ROOT some/out/of/tree/soc/path)
endif()


Thank you for the history.  From my island, I don't see this as a correct usage/behavior, but I am clearly in the minority. 
 
 

Let me know if there are still issues with the linker script location.


See note above.
 

--
"Do you expect me to talk?"
"No Mr. Bond, I expect you to die."

Join devel@lists.zephyrproject.org to automatically receive all group messages.