I can see in Segger Embedded Studio v4.52 under the Build Tab, there are two methods to build the project.
1- Build > Build zephyr/zephyr.elf
2- Build > Build solution
What is the difference between the two methods?
Kind regards
I can see in Segger Embedded Studio v4.52 under the Build Tab, there are two methods to build the project.
1- Build > Build zephyr/zephyr.elf
2- Build > Build solution
What is the difference between the two methods?
Kind regards
Hi!
The answer to your question has to do with the difference between "Solutions" and "Projects". Here is the SES documentation for this.
So "Build zephyr/<file>" builds a single project. Note that when building an application with a single image you will see this option ("build zephyr/zephyr.elf") while if you try with a multi-image application you will see "build zephyr/merged.hex". )
"Build solution" builds all the projects in the current solution, as it's possible to have several independent projects in one solution.
You can also read about Zephyr's build overview in Build Overview.
Let me know if this answered your question!
Best regards,
Heidi
Thank you Heidi.
I tend to build under Segger Embedded Studio, so, all the steps are hidden away. But it is good to be aware of what is going on in the background just things go wrong.
Looking at the example 'light controller' solution I can see many projects but the build shows only Build zephyr/zephyr.elf. There is no mention of the zephyr/merged.hex.
Which file in the build process tells SES that we are building a single or multiple images?
Kind regards
Mohamed
Good morning Heidi,
Any update on why the light intensity controller project stopped loading?
I restarted my machine and tried to re-load it this morning but it is still failing to load with the same error message. I already sent you the zipped up project. Thank you.
Kind regards
Mohamed
Hi!
The problem with your sample is the .overlay file. That isn't the correct way to set up the ADC peripheral.
However, I'm still working on finding a solution to this and I will get back to you later on in the week.
Best regards,
Heidi
Hi Heidi,
Spot on!
I managed to get the 'light intensity controller' project to load successfully. This is what I did: I deleted the content of the build folder and got rid of the overlay DT overlay file. However, I do need to the overlay file and I am eagerly looking forward to your solution.
Thank you.
Kind regards
Mohamed
Hi!
It's been a few days so I just wanted to let you know that I am working on this. But it's proving to be more difficult than expected.
I have successfully built the application with this ADC configuration in the overlay file where the node is compatible with "voltage-divider", based on the Battery Voltage Measurement sample in NCS.
&adc { status = "okay"; }; / { vbatt { compatible = "voltage-divider"; io-channels = <&adc 4>; output-ohms = <180000>; full-ohms = <(1500000 + 180000)>; }; };
However, I have been trying to make the node compatible with "nordic, nrf-saadc", but there are a few issues, like the interrupts-field being required, but then seeing the error:
Warning (interrupts_property): /node@0: Missing interrupt-parent
&adc { status = "okay"; }; / { n: node@0 { //EDIT: Incorrect compatible = "nordic,nrf-saadc"; io-channels = <&adc 4>; reg = <1 2>; //EDIT: Incorrect interrupts = <14 1>; #io-channel-cells = <1>; label = "ADC_0"; }; };
I'm still waiting for advice from an NCS developer on how to do this correctly, so I will update you when I hear back.
Hopefully, the information provided above might help you get somewhere in your development in the meantime.
Best regards,
Heidi
Thank you Heidi for persevering with this problem.
While waiting for a solution I would like you to clarify the following,
n: node@0 { is the @0 referring to instance 0 (zero) of the adc node named "adc@0"?
label = "ADC_0"; can we put any string for label or must we use "ADC_0" as it is expected somewhere else or because of the @0?
reg = <1 2>; what information is the <1 2> conveying to us?
Thank you
Kind regards
Mohamed
Thank you Heidi for persevering with this problem.
While waiting for a solution I would like you to clarify the following,
n: node@0 { is the @0 referring to instance 0 (zero) of the adc node named "adc@0"?
label = "ADC_0"; can we put any string for label or must we use "ADC_0" as it is expected somewhere else or because of the @0?
reg = <1 2>; what information is the <1 2> conveying to us?
Thank you
Kind regards
Mohamed