Re: [Zephyr Main] WEST File Initialization Problem
M Rizwan Ghori <rizwanghori@...>
Dear All,
Thank you very much for your response. That problem is resolved by following your advised step. Moreover, now i was moving towards the HelloWorld example i received the following error.
mrg@mrg-Lenovo-ideapad-110-15ISK:~/zephyrproject/zephyr/samples/hello_world/build$ cmake -GNinja -DBOARD=qemu_x86 ..
Zephyr version: 1.14.0
CMake Error at /home/mrg/zephyrproject/zephyr/cmake/app/boilerplate.cmake:104 (message):
Source directory equals build directory. In-source builds are not
supported. Please specify a build directory, e.g. cmake -Bbuild -H.
Call Stack (most recent call first):
CMakeLists.txt:3 (include)
Kindly advise.....
Best Regards
Muhammad Rizwan Ghori
USM Fellow,
Universiti Sains Malaysia (USM),
From: Cufi, Carles <Carles.Cufi@...>
Sent: Sunday, March 31, 2019 6:07 PM To: rizwanghori@...; VanCutsem, Geoffroy; Marti Bolivar Cc: devel@... Subject: RE: [Zephyr-devel] [Zephyr Main] WEST File Initialization Problem Hi there,
This has been a bug that has popped up several times in the past with Ubuntu: https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1588562
As mentioned by others, please add the following line you your ~/.bashrc:
export PATH=$PATH:~/.local/bin
Regards,
Carles
From: devel@... <devel@...>
On Behalf Of via Lists.Zephyrproject.Org
Dear,
Thank you all for the quick response. Here is the copy paste code.
runs fine, after this i have run the following command and it echos the error shown below.
Command 'west' not found, did you mean:
command 'test' from deb coreutils
Try: sudo apt install <deb name>
Name: west Version: 0.5.7 Summary: Zephyr RTOS Project meta-tool (wrapper and bootstrap) Home-page: https://github.com/zephyrproject-rtos/west Author: Zephyr Project Author-email: devel@... License: UNKNOWN Location: /home/mrg/.local/lib/python3.6/site-packages Requires: configobj, PyYAML, colorama, pykwalify Files: ../../../bin/west west-0.5.7.dist-info/DESCRIPTION.rst west-0.5.7.dist-info/INSTALLER west-0.5.7.dist-info/METADATA west-0.5.7.dist-info/RECORD west-0.5.7.dist-info/WHEEL west-0.5.7.dist-info/entry_points.txt west-0.5.7.dist-info/metadata.json west-0.5.7.dist-info/top_level.txt west/_bootstrap/__init__.py west/_bootstrap/__pycache__/__init__.cpython-36.pyc west/_bootstrap/__pycache__/main.cpython-36.pyc west/_bootstrap/__pycache__/version.cpython-36.pyc west/_bootstrap/main.py west/_bootstrap/version.py west/_bootstrap/west-schema.yml
Kindly advise
Best Regards Muhammad Rizwan Ghori USM Fellow, School of Computer Sciences,
Universiti Sains Malaysia (USM),
From: VanCutsem, Geoffroy <geoffroy.vancutsem@...>
Can you paste on this thread what the output of “pip3 show –f west” and “echo $PATH” return?
From: devel@... [mailto:devel@...]
On Behalf Of M Rizwan Ghori
Dear, I am using Ubuntu 18.04. Moreover, the path of West file is after running the command "pip3 show -f west" is home/rizwan/.local/python 3.6/packages Subsequently, i have installed all the stuff related to Zephyr including Cmake and Zephyr sdk in a path /home/rizwan/zaphyr Kindly advise.
Rizwan
From: Marti Bolivar Sent: Friday, 29 March, 12:43 pm Subject: Re: [Zephyr-devel] [Zephyr Main] WEST File Initialization Problem To: M Rizwan Ghori Cc: Brett Preston, devel@... What version of Ubuntu are you using? If you ran "pip3 install --user west" and west cannot be run afterwards, it sounds like the directory that the west binary was installed into is not on your $PATH. Older versions of Ubuntu sometimes have this issue; I forget which ones. Usually this directory is ~/.local/bin. Please ensure this directory is on your PATH environment variable and try again. If that doesn't work, you can confirm where west was installed by running "pip3 show -f west"; check both the Location: value and the [...]/bin/west relative path in the Files: list that follows. Marti On Thu, Mar 28, 2019, 10:22 PM M Rizwan Ghori <rizwanghori@...> wrote:
|
|
Re: [Zephyr Main] WEST File Initialization Problem
Carles Cufi
Hi there,
This has been a bug that has popped up several times in the past with Ubuntu: https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1588562
As mentioned by others, please add the following line you your ~/.bashrc:
export PATH=$PATH:~/.local/bin
Regards,
Carles
From: devel@... <devel@...>
On Behalf Of via Lists.Zephyrproject.Org
Sent: 31 March 2019 08:13 To: VanCutsem, Geoffroy <geoffroy.vancutsem@...>; Marti Bolivar <marti@...> Cc: devel@... Subject: Re: [Zephyr-devel] [Zephyr Main] WEST File Initialization Problem
Dear,
Thank you all for the quick response. Here is the copy paste code.
runs fine, after this i have run the following command and it echos the error shown below.
Command 'west' not found, did you mean:
command 'test' from deb coreutils
Try: sudo apt install <deb name>
Name: west Version: 0.5.7 Summary: Zephyr RTOS Project meta-tool (wrapper and bootstrap) Home-page: https://github.com/zephyrproject-rtos/west Author: Zephyr Project Author-email: devel@... License: UNKNOWN Location: /home/mrg/.local/lib/python3.6/site-packages Requires: configobj, PyYAML, colorama, pykwalify Files: ../../../bin/west west-0.5.7.dist-info/DESCRIPTION.rst west-0.5.7.dist-info/INSTALLER west-0.5.7.dist-info/METADATA west-0.5.7.dist-info/RECORD west-0.5.7.dist-info/WHEEL west-0.5.7.dist-info/entry_points.txt west-0.5.7.dist-info/metadata.json west-0.5.7.dist-info/top_level.txt west/_bootstrap/__init__.py west/_bootstrap/__pycache__/__init__.cpython-36.pyc west/_bootstrap/__pycache__/main.cpython-36.pyc west/_bootstrap/__pycache__/version.cpython-36.pyc west/_bootstrap/main.py west/_bootstrap/version.py west/_bootstrap/west-schema.yml
Kindly advise
Best Regards Muhammad Rizwan Ghori USM Fellow, School of Computer Sciences, Universiti Sains Malaysia (USM),
From: VanCutsem, Geoffroy <geoffroy.vancutsem@...>
Can you paste on this thread what the output of “pip3 show –f west” and “echo $PATH” return?
From:
devel@... [mailto:devel@...]
On Behalf Of M Rizwan Ghori
Dear, I am using Ubuntu 18.04. Moreover, the path of West file is after running the command "pip3 show -f west" is home/rizwan/.local/python 3.6/packages Subsequently, i have installed all the stuff related to Zephyr including Cmake and Zephyr sdk in a path /home/rizwan/zaphyr Kindly advise.
Rizwan
From: Marti Bolivar Sent: Friday, 29 March, 12:43 pm Subject: Re: [Zephyr-devel] [Zephyr Main] WEST File Initialization Problem To: M Rizwan Ghori Cc: Brett Preston, devel@... What version of Ubuntu are you using? If you ran "pip3 install --user west" and west cannot be run afterwards, it sounds like the directory that the west binary was installed into is not on your $PATH. Older versions of Ubuntu sometimes have this issue; I forget which ones. Usually this directory is ~/.local/bin. Please ensure this directory is on your PATH environment variable and try again. If that doesn't work, you can confirm where west was installed by running "pip3 show -f west"; check both the Location: value and the [...]/bin/west relative path in the Files: list that follows. Marti On Thu, Mar 28, 2019, 10:22 PM M Rizwan Ghori <rizwanghori@...> wrote:
|
|
Re: [Zephyr Main] WEST File Initialization Problem
M Rizwan Ghori <rizwanghori@...>
Dear,
Thank you all for the quick response. Here is the copy paste code.
runs fine, after this i have run the following command and it echos the error shown below.
Kindly advise
Best Regards
Muhammad Rizwan Ghori
USM Fellow,
School of Computer Sciences,
Universiti Sains Malaysia (USM),
From: VanCutsem, Geoffroy <geoffroy.vancutsem@...>
Sent: Friday, March 29, 2019 2:15 PM To: M Rizwan Ghori; Marti Bolivar Cc: Brett Preston; devel@... Subject: RE: [Zephyr-devel] [Zephyr Main] WEST File Initialization Problem Can you paste on this thread what the output of “pip3 show –f west” and “echo $PATH” return?
From: devel@... [mailto:devel@...]
On Behalf Of M Rizwan Ghori
Dear, I am using Ubuntu 18.04. Moreover, the path of West file is after running the command "pip3 show -f west" is home/rizwan/.local/python 3.6/packages Subsequently, i have installed all the stuff related to Zephyr including Cmake and Zephyr sdk in a path /home/rizwan/zaphyr Kindly advise.
Rizwan
From: Marti Bolivar Sent: Friday, 29 March, 12:43 pm Subject: Re: [Zephyr-devel] [Zephyr Main] WEST File Initialization Problem To: M Rizwan Ghori
Cc: Brett Preston,
devel@... What version of Ubuntu are you using? If you ran "pip3 install --user west" and west cannot be run afterwards, it sounds like the directory that the west binary was installed into is not on your $PATH. Older versions of Ubuntu sometimes have this issue; I forget which ones. Usually this directory is ~/.local/bin. Please ensure this directory is on your PATH environment variable and try again. If that doesn't work, you can confirm where west was installed by running "pip3 show -f west"; check both the Location: value and the [...]/bin/west relative path in the Files: list that follows. Marti On Thu, Mar 28, 2019, 10:22 PM M Rizwan Ghori <rizwanghori@...> wrote:
|
|
Re: [Zephyr Main] WEST File Initialization Problem
This is most likely what Marti said, you need to add ~/.local/bin to your PATH:
$ export PATH=$PATH:~/.local/bin
And try again.
If that works, you can make this change permanent via ~/.bashrc
Geoffroy
On 31 Mar 2019, at 08:13, M Rizwan Ghori <rizwanghori@...> wrote:
|
|
MCUMGR SMP implementations
Rodrigo Peixoto <rodrigopex@...>
Hi all. My company is developing two boards let's call them Board A and Board B for illustrating purpose. Board A is simple it has some sensors and it has a shell interface for communicating with the other one. Board B is the "gateway" and has Internet connectivity through the Cellular network. They had to be created separately. We need to upgrade the firmware of both boards in the field. For now, Zephyr only supports FOTA over Bluetooth and Shell/UART, right? So I guess we'll need: 1 - to create a Shell SMP Client at Board B that will be able to upgrade the firmware of Board A using a version of the firmware received by the internet; 2 - to implement a different SMP Server at Board B to receive its own firmware by the Internet as well. Do you have any start point, tips, something that could help here? The future plan, after I made customs SMP Client and Server, is creating an SMP Server over Bluetooth Mesh. In another project, we will need that. Is anybody working with it already? Thank you. Best regards, Rodrigo Peixoto Co-founder and Technical advisor +55 (82) 98144-8585 http://ayna.tech | Skype: rodrigopex ![]()
|
|
henry.wagner@...
After implementing a throughput test for BLE using #nrf52840 hardware and Zephyr 1.14-rc1, notice some curious behavior in data we are collecting. The test seems to show that sending data from the central (client) to peripheral (server) throughput performance is relatively balanced per connection but one peripheral seems to get little data and one peripheral get more. In data flow from the peripherals to the central, it is much more unbalanced with one or two peripherals having all the throughput and the others having none.
The central to peripheral is 1:N where the central is a single point source. The many peripherals to central is an N:1 with many sources. In my case N is 1 up to 5, but would like to be greater. The overall aggregate throughput is constant, just not evenly distributed among the BLE devices or comm directions. Using DLE and 2M PHY Any thoughts to why this behavior is present and how to diagnose/resolve to produce consistent and balanced throughput among the BLE devices? Do I have something misconfigured in my devices? Can share if that will help.
|
|
Re: SDK migration 0.9.5 -> 0.10.0 increase CPU usage
Nashif, Anas
Nicolas, Can you please open an issue on GH with all this data? Can you also provide some info about how you measure the numbers below?
Thanks, Anas
From: devel@...
[mailto:devel@...] On Behalf Of nicolas lantz
Sent: Friday, March 29, 2019 10:24 AM To: Nashif, Anas <anas.nashif@...>; devel@... Cc: Zięcik, Piotr <piotr.ziecik@...> Subject: Re: [Zephyr-devel] SDK migration 0.9.5 -> 0.10.0 increase CPU usage
Hi, Nicolas LANTZ M : +33 (0)6 19 07 43 43 T : +33 (0)9 52 96 81 86 www.ubicore.net Le 27/03/2019 à 17:19, nicolas lantz a écrit :
|
|
Re: SDK migration 0.9.5 -> 0.10.0 increase CPU usage
nicolas lantz
Hi,
toggle quoted messageShow quoted text
I confirm that (in my test case) New SDK 0.10.0 toolchain seems to significantly increase CPU usage, the new SDK 0.10.0 Newlib a lot. The details of my investigation below... ------------------------------------------------------------------ Test case ------------------------------------------------------------------ I do CPU average usage test on an audio compression task using the opus codec. ------------------------------------------------------------------ Measures ------------------------------------------------------------------ With CONFIG_SPEED_OPTIMIZATIONS=y SDK 0.9.5 - Newlibc => 51% CPU usage - minimal lib => 58% CPU usage SDK 0.10.0 - Newlibc => 75% CPU usage - minimal lib => 60% CPU usage ------------------ This gives ------------------ CPU usage between SDK 0.9.5 and SDK 0.10.0 with Newlibc : +47% CPU usage between SDK 0.9.5 and SDK 0.10.0 with minimal lib : +3% ------------------------------------------------------------------ Investigations ------------------------------------------------------------------ SDK 0.9.5 is built on newllib 2.4.0 SDK 0.10.0 is built on newlib 3.1.0, But it seem that there is no difference on string function source code (memmove, memcpy, memset), ------------------------------------------------------------------ Assumption (in my test case) ------------------------------------------------------------------ SDK 0.10.0 toolchain reduce the CPU performance vs the SDK 0.9.5 of about 3% Newlibc is compiled differently between the SDK 0.9.5 and the SDK 0.10.0 as it increase the CPU usage of about 47-3 = 44% On SDK 0.9.5 Newlib is more efficient that minial lib of about 58-51 = 7% ------------------------------------------------------------------ Trial : ------------------------------------------------------------------ I replace the source code of the three more used function (memmove, memcpy, memset) in minimal lib with the one from Newlib source. I build my projet with the SDK 0.10.0 ------------------ Measures ------------------ CPU usage : 53% => gain from minimal libc current source code of -13% => gain from Newlib : - 41% => I find the performance I had with NewLib and SDK 0.9.5 with additional CPU usage of about 4% ------------------------------------------------------------------ Suggestions for improvement ------------------------------------------------------------------ - compile newlib differently in SDK - use improved code for the minimal lib Nicolas Nicolas LANTZ M : +33 (0)6 19 07 43 43 T : +33 (0)9 52 96 81 86 www.ubicore.net Le 27/03/2019 à 17:19, nicolas lantz a
écrit :
Anas,
|
|
Re: Syntax in dts file for defining a GPIO output based on nxp,kinetis-gpio.yaml
#defines
Bo.Kragelund@...
Thank you for your quick assistance yesterday Andrei.
Maybe I misunderstood your last point, but as I see it, it is the name "test_pin" in my example, which needs to remain the same across dts files for other boards to keep the same generated macro name in the dts configurations. It is also the name "test_pin" that is added as a header comment in the auto generated file generated_dts_board.h as /* test_pin */ I think the name "_test" is just a name for the dts node itself and not used anywhere. Bonus info: Using a "_" in the begining of the dts node name "_test" actually puts the generated macro names in the top of the auto generated file generated_dts_board.h, which might be a help to distinguish between your own definitions and the definitions made in zephyr already. Probably because the dts nodes are generated in alphabetic order. Best regards, Bo
|
|
Re: [Zephyr Main] WEST File Initialization Problem
Can you paste on this thread what the output of “pip3 show –f west” and “echo $PATH” return?
From: devel@... [mailto:devel@...]
On Behalf Of M Rizwan Ghori
Sent: Friday, March 29, 2019 6:08 AM To: Marti Bolivar <marti@...> Cc: Brett Preston <bpreston@...>; devel@... Subject: Re: [Zephyr-devel] [Zephyr Main] WEST File Initialization Problem
Dear, I am using Ubuntu 18.04. Moreover, the path of West file is after running the command "pip3 show -f west" is home/rizwan/.local/python 3.6/packages Subsequently, i have installed all the stuff related to Zephyr including Cmake and Zephyr sdk in a path /home/rizwan/zaphyr Kindly advise.
Rizwan
From: Marti Bolivar Sent: Friday, 29 March, 12:43 pm Subject: Re: [Zephyr-devel] [Zephyr Main] WEST File Initialization Problem To: M Rizwan Ghori Cc: Brett Preston,
devel@... What version of Ubuntu are you using? If you ran "pip3 install --user west" and west cannot be run afterwards, it sounds like the directory that the west binary was installed into is not on your $PATH. Older versions of Ubuntu sometimes have this issue; I forget which ones. Usually this directory is ~/.local/bin. Please ensure this directory is on your PATH environment variable and try again. If that doesn't work, you can confirm where west was installed by running "pip3 show -f west"; check both the Location: value and the [...]/bin/west relative path in the Files: list that follows. Marti On Thu, Mar 28, 2019, 10:22 PM M Rizwan Ghori <rizwanghori@...> wrote:
|
|
Re: [Zephyr Main] WEST File Initialization Problem
Marti Bolivar <marti@...>
On Thu, Mar 28, 2019, 11:07 PM M Rizwan Ghori <rizwanghori@...> wrote:
Is this correct? The lack of / before "home" and the space between "python" and "3.6" makes me suspect this was retyped by hand instead of copy/pasted. Please copy/paste whenever possible; it avoids typos. If it is correct, please make sure this directory is on your PATH and try again as suggested. Again, it is better if you copy paste the actual commands you typed and their output. Please do not try to summarize the results or refer to online documents. It leaves me guessing about what is actually happening on your computer instead of showing me directly. Thanks, Marti
|
|
Re: [Zephyr Main] WEST File Initialization Problem
M Rizwan Ghori <rizwanghori@...>
Dear,
I am using Ubuntu 18.04.
Moreover, the path of West file is after running the command
"pip3 show -f west"
is
home/rizwan/.local/python 3.6/packages
Subsequently, i have installed all the stuff related to Zephyr including Cmake and Zephyr sdk in a path
/home/rizwan/zaphyr
Kindly advise.
Rizwan
From: Marti Bolivar
Sent: Friday, 29 March, 12:43 pm
Subject: Re: [Zephyr-devel] [Zephyr Main] WEST File Initialization Problem
To: M Rizwan Ghori
Cc: Brett Preston, devel@...
What version of Ubuntu are you using?
If you ran "pip3 install --user west" and west cannot be run afterwards, it sounds like the directory that the west binary was installed into is not on your $PATH. Older versions of Ubuntu sometimes have this issue; I forget which ones.
Usually this directory is ~/.local/bin. Please ensure this directory is on your PATH environment variable and try again.
If that doesn't work, you can confirm where west was installed by running "pip3 show -f west"; check both the Location: value and the [...]/bin/west relative path in the Files: list that follows.
Marti
On Thu, Mar 28, 2019, 10:22 PM M Rizwan Ghori <rizwanghori@...> wrote:
|
|
Re: [Zephyr Main] WEST File Initialization Problem
Marti Bolivar <marti@...>
What version of Ubuntu are you using? If you ran "pip3 install --user west" and west cannot be run afterwards, it sounds like the directory that the west binary was installed into is not on your $PATH. Older versions of Ubuntu sometimes have this issue; I forget which ones. Usually this directory is ~/.local/bin. Please ensure this directory is on your PATH environment variable and try again. If that doesn't work, you can confirm where west was installed by running "pip3 show -f west"; check both the Location: value and the [...]/bin/west relative path in the Files: list that follows. Marti
On Thu, Mar 28, 2019, 10:22 PM M Rizwan Ghori <rizwanghori@...> wrote:
|
|
Re: [Zephyr Main] WEST File Initialization Problem
M Rizwan Ghori <rizwanghori@...>
Hi,
Thank you for your kind response. I am using Ubuntu OS for the project. I have followed all the installation steps given on webpage (Linux)
https://docs.zephyrproject.org/latest/getting_started/installation_linux.html
Moreover, after following all the steps of aforementioned link, i started the next step given on the following link.
https://docs.zephyrproject.org/latest/getting_started/index.html#get-the-source-code
west --versionError Received on Execution of the aforementioned commands: No command 'west' found, did you mean: Command 'test' from package 'coreutils' (main) west: command not found
Best Regards
Muhammad Rizwan Ghori
USM Fellow,
Universiti Sains Malaysia (USM),
From: Marti Bolivar <marti@...>
Sent: Friday, March 29, 2019 8:44:47 AM To: Brett Preston Cc: M Rizwan Ghori; devel@... Subject: Re: [Zephyr-devel] [Zephyr Main] WEST File Initialization Problem Hi,
Happy to try to help, but could you please provide details? The below email is a bit vague: "commands given on the website cannot recognize the West file" doesn't provide much context on what went wrong.
- what is your host operating system?
- what commands did you type?
- what was the output?
- what output did you expect?
Feel free to just copy and paste rather than taking screenshots of the terminal window.
Thanks,
Marti
On Thu, Mar 28, 2019, 9:39 PM Brett Preston <bpreston@...> wrote:
|
|
Re: [Zephyr Main] WEST File Initialization Problem
Marti Bolivar <marti@...>
Hi, Happy to try to help, but could you please provide details? The below email is a bit vague: "commands given on the website cannot recognize the West file" doesn't provide much context on what went wrong. - what is your host operating system? - what commands did you type? - what was the output? - what output did you expect? Feel free to just copy and paste rather than taking screenshots of the terminal window. Thanks, Marti
On Thu, Mar 28, 2019, 9:39 PM Brett Preston <bpreston@...> wrote:
|
|
Re: [Zephyr Main] WEST File Initialization Problem
Sorry - forwarding from the main mail list to devel@...
On Thu, Mar 28, 2019 at 8:37 PM M Rizwan Ghori <rizwanghori@...> wrote:
--
|
|
Zephyr v1.14.0-rc3 Tagged
Kumar Gala
Hi all,
We have just tagged Zephyr 1.14.0-rc3. At this point ONLY PRs related to docs or related to a GitHub issue / bug will go in. If a PR fixes a bug it MUST have an associated GitHub issue. Our bug counts are looking pretty good for the release at this point: 6 - High [Goal 0] 26 - Medium [Goal 20] 57 - Low [Goal 50] The final release is tentatively scheduled for the 12th of April. The full release log can be found here: https://github.com/zephyrproject-rtos/zephyr/releases/tag/v1.14.0-rc3 Thanks to everybody who contributed to this release! Kumar
|
|
Re: Syntax in dts file for defining a GPIO output based on nxp,kinetis-gpio.yaml
#defines
Andrei Gansari
Hello,
Yes, my example was hardcoded in regard to port and pin number. Your example makes them configurable via dts, while code remains the same.
I only have to point another thing: the generated macros name will remain the same in other dts configurations if you keep the same name across dts (in the example: _test {} ).
Regards, Andrei
From: devel@... <devel@...>
On Behalf Of Bo.Kragelund via Lists.Zephyrproject.Org
Sent: Thursday, March 28, 2019 5:06 PM To: devel@... Cc: devel@... Subject: Re: [Zephyr-devel] Syntax in dts file for defining a GPIO output based on nxp,kinetis-gpio.yaml #defines
Hello Andrei, _test { compatible = "gpio-xxx"; test_pin { gpios = <&gpiob 22 0>; label = "My test pin"; }; };
/* test_pin */ #define DT_GPIO_OUT_TEST_PIN_GPIO_CONTROLLER "GPIO_1" #define DT_GPIO_OUT_TEST_PIN_GPIO_FLAGS 0 #define DT_GPIO_OUT_TEST_PIN_GPIO_PIN 22 #define DT_GPIO_OUT_TEST_PIN_LABEL "My test pin"
We don't use alias because we want to see in the code, that the defines comes from dts.
gpio_pin_configure(wdt_device, DT_GPIO_OUT_TEST_PIN_GPIO_PIN, GPIO_DIR_OUT | DT_GPIO_OUT_TEST_PIN_GPIO_FLAGS); gpio_pin_write(wdt_device, DT_GPIO_OUT_TEST_PIN_GPIO_PIN, 1);
I guess this is a way to do it, if you want to keep your code independant of pin numbers etc.
|
|
Re: Syntax in dts file for defining a GPIO output based on nxp,kinetis-gpio.yaml
#defines
Bo.Kragelund@...
Hello Andrei,
And thank you very much for your quick answer. I really appriciate the quick link to where I can find the documentation and also the example you have provided. I am also aware of, that it will be in the code, that you configure the pin to be input or output. But what is not so great is, that we would very much like to define the port and pin number at the dts level for the specific boards, that we support. We want the code to be generic and not be changed, if a new board will use another pin for the same function. This is what zephyr has achieved by making the gpio-leds.yaml and then setup the leds in the board specific dts files. By doing this, along with using alias, you simply refer to the define LED0_GPIO_PIN in your code across all boards without knowing what pin it is and what port in the code, which we like. We have actually made our own gpio-xxx.yaml, which looks similar to gpio-leds.yaml and placed it in the same location as gpio-leds.yaml. Then we put the following lines in the dts file for the given board: _test {
compatible = "gpio-xxx";
test_pin {
gpios = <&gpiob 22 0>;
label = "My test pin";
};
};
This will create the following in the auto generated header file: /* test_pin */
#define DT_GPIO_OUT_TEST_PIN_GPIO_CONTROLLER "GPIO_1"
#define DT_GPIO_OUT_TEST_PIN_GPIO_FLAGS 0
#define DT_GPIO_OUT_TEST_PIN_GPIO_PIN 22
#define DT_GPIO_OUT_TEST_PIN_LABEL "My test pin"
The code will then have lines like this: wdt_device = device_get_binding(DT_GPIO_OUT_TEST_PIN_GPIO_CONTROLLER); gpio_pin_configure(wdt_device, DT_GPIO_OUT_TEST_PIN_GPIO_PIN, GPIO_DIR_OUT | DT_GPIO_OUT_TEST_PIN_GPIO_FLAGS);
gpio_pin_write(wdt_device, DT_GPIO_OUT_TEST_PIN_GPIO_PIN, 1);
Of course you have to write the dts lines with the exact same names in all dts files supporting this function. Best regards, Bo
|
|
Re: Syntax in dts file for defining a GPIO output based on nxp,kinetis-gpio.yaml
#defines
Andrei Gansari
Hello Bo,
We have a general help page for Device Tree: https://docs.zephyrproject.org/latest/guides/dts/index.html
In your particular case, you need to set port b pin 22 as output.
Device Tree: The purpose of DT is to describe the HW of the board (boot time @ Linux, compile time @ Zephyr). K64F’s DT file is found in: boards/arm/frdm_k64f/frdm_k64f.dts I expect this is what you are looking at. It also includes file dts/arm/nxp/nxp_k6x.dtsi where port b is set using nxp,kinetis-gpio.yaml. Dtsi file is a generic dts include file that describes the SoC (we may have another board with the same SoC on it). Add the following to frdm_k64f.dts to use gpiob from nxp_k6x.dtsi: &gpiob { status = "ok"; }; You can comment out/remove the following to remove he led configuration on the same pin: red_led: led_0 { gpios = <&gpiob 22 0>; label = "User LD1"; };
Code: You can’t configure a pin as in/out, using DT, we have board’s pinmux.c (in boards/arm/frdm_k64f) to do that. This is because GPIO should be dynamic during the application. pinmux_pin_set(portb, 22, PORT_PCR_MUX(kPORT_MuxAsGpio)); The code above sets pin as GPIO (for the led in the case above). Then set pin to output and send a signal: #include <gpio.h>
pinmux_pin_set(portb, 22, PORT_PCR_MUX(kPORT_MuxAsGpio));
struct device *gpiob = device_get_binding(DT_NXP_KINETIS_GPIO_GPIO_B_LABEL);
gpio_pin_configure(gpiob, 22, GPIO_DIR_OUT); gpio_pin_write(gpiob, 22, 0);
DT_NXP_KINETIS_GPIO_GPIO_B_LABEL can be found in files zephyr/include/generated/generated_dts_board*** (relative to build folder) this is the effect of setting portb in dts.
Regards, Andrei Gânsari
From: devel@... <devel@...>
On Behalf Of Bo.Kragelund via Lists.Zephyrproject.Org
Sent: Thursday, March 28, 2019 12:57 PM To: devel@... Cc: devel@... Subject: [Zephyr-devel] Syntax in dts file for defining a GPIO output based on nxp,kinetis-gpio.yaml #defines
Hello developers! leds { compatible = "gpio-leds"; red_led: led_0 { gpios = <&gpiob 22 0>; label = "User LD1"; }; };
But in general, I believe the idea is to define GPIO in the dts file based on the
nxp,kinetis-gpio.yaml file created for this purpose, instead of the gpio-keys.yaml file. "#cells": - pin - flags
Since I am rather new in dts and yaml syntax, I hope someone can help me with the syntax for setting port b, pin 22, and no flags, based on the nxp,kinetis-gpio.yaml file...
|
|