Zephyr Toolchain Working Group - Thu, 02/20/2020
#cal-notice
devel@lists.zephyrproject.org Calendar <noreply@...>
Zephyr Toolchain Working Group When: Where: Description: Topic: Zephyr Toolchain Working Group Join Zoom Meeting Meeting ID: 967 549 258 One tap mobile Dial by your location
|
|
Upcoming Event: Zephyr Toolchain Working Group - Thu, 02/20/2020 9:00am-10:00am
#cal-reminder
devel@lists.zephyrproject.org Calendar <devel@...>
Reminder: Zephyr Toolchain Working Group When: Thursday, 20 February 2020, 9:00am to 10:00am, (GMT-06:00) America/Chicago Where:https://zoom.us/j/967549258 Organizer: Maureen Helm Description: Zephyr Working Group is inviting you to a scheduled Zoom meeting. Topic: Zephyr Toolchain Working Group Join Zoom Meeting Meeting ID: 967 549 258 One tap mobile Dial by your location
|
|
Zephyr Toolchain Working Group Meeting – 20 Feb 2020
Rasmussen, Torsten
Hi All,
For today’s meeting let’s go through existing issues / PRs relevant for the working group.
Where: Agenda
Feel free to send a mail, if you would like additional topics to be discussed.
Best regards
Torsten T. Rasmussen
Live meeting minutes: https://docs.google.com/document/d/1IQKBK-GcJNZG0O9QArqYfvb6Huk5xHscN-XIGEZr-z8/edit#heading=h.x36xe8bnwr9r
|
|
Dev-Review Meeting Agenda Feb 20
Kumar Gala
All,
Meeting Minutes: https://docs.google.com/document/d/1vfgwa1oRVuLA0f4VZW9pMBD2n2kf7ZgI9QCw_4s01gA/edit?usp=sharing General: • Kumar on vacation next 2 weeks, Marti will lead meetings GitHub PR/Issues: • n/a Device Tree: • Modified plan for topic-devicetree - from discussion last week. Plan is now to treat topic-devicetree as a normal topic branch and have PRs go through normal review. I’ve posted an initial set of DT_INST conversions. Next major batch requires closing on https://github.com/zephyrproject-rtos/zephyr/pull/22612 for nodelabel support • DT Naming consistent convention - https://github.com/zephyrproject-rtos/zephyr/issues/22964 • Loss of configurability from Kconfig -> DT - https://github.com/zephyrproject-rtos/zephyr/pull/22772 • System initialization in DT dependency ordinal order - Marti • “Naming” one device for unique purpose (OpenISA system timer, STM32 lptimer) • usage of aliases for samples/tests • fixed non-alias reference to specific nodes: https://github.com/zephyrproject-rtos/zephyr/issues/19285 • clearly define constraints on identifier/property name conflicts https://github.com/zephyrproject-rtos/zephyr/issues/21369
|
|
Re: make menuconfig for STM32MP157 activating STM32Cube ?
friedtj@...
This answered the question: adding a Kconfig with the STM32Cube modules
toggle quoted messageShow quoted text
solved the issue, without including objects in the CMakeLists.txt despite having STM32Cube in $ZEPHYR_BASE/../modules/hal/stm32/stm32cube. Thank you, Jean-Michel ----- Mail original ----- De: "Erwan Gouriou" <erwan.gouriou@linaro.org> À: friedtj@free.fr Cc: "devel" <devel@lists.zephyrproject.org> Envoyé: Mardi 18 Février 2020 08:56:39 Objet: Re: [Zephyr-devel] make menuconfig for STM32MP157 activating STM32Cube ? Hi, Can you check following readme section and see if it answers your point? https://github.com/zephyrproject-rtos/hal_stm32/blob/master/README.rst#use-stm32cube-in-your-application Cheers Erwan
Le sam. 15 févr. 2020 à 17:45, < friedtj@free.fr > a écrit :
I am building https://github.com/STMicroelectronics/logicanalyser (RPMSG and VirtIO example for the STM32MP157 using OpenAMP) for Zephyr and have been facing the issue of linking with the STM32Cube library functions. I am using the external arm-none-eabi-gcc compilation toolchain under Debian/GNU Linux with export ZEPHYR_TOOLCHAIN_VARIANT=cross-compile export CROSS_COMPILE=/usr/bin/arm-none-eabi- The tree structure I have (west init && cd zephyr && west update) has created modules/hal/stm32/stm32cube/ at the same level than zephyr. This ST example relies heavily on the STM32Cube framework I had to link with. I achieved a functional result by adding in my CMakeLists.txt the following statement target_sources(app PRIVATE src/main.c src/rpmsg_hdr.c src/openamp.c src/mbox_ipcc.c src/rsc_table.c src/copro_sync.c $ENV{ZEPHYR_BASE}/../modules/hal/stm32/stm32cube/stm32mp1xx/drivers/src/stm32mp1xx_hal_dma.c $ENV{ZEPHYR_BASE}/../modules/hal/stm32/stm32cube/stm32mp1xx/drivers/src/stm32mp1xx_hal_gpio.c $ENV{ZEPHYR_BASE}/../modules/hal/stm32/stm32cube/stm32mp1xx/drivers/src/stm32mp1xx_hal_rcc_ex.c $ENV{ZEPHYR_BASE}/../modules/hal/stm32/stm32cube/stm32mp1xx/drivers/src/stm32mp1xx_hal_ipcc.c $ENV{ZEPHYR_BASE}/../modules/hal/stm32/stm32cube/stm32mp1xx/drivers/src/stm32mp1xx_hal_cortex.c $ENV{ZEPHYR_BASE}/../modules/hal/stm32/stm32cube/stm32mp1xx/drivers/src/stm32mp1xx_hal_tim_ex.c $ENV{ZEPHYR_BASE}/../modules/hal/stm32/stm32cube/stm32mp1xx/drivers/src/stm32mp1xx_hal_pwr.c $ENV{ZEPHYR_BASE}/../modules/hal/stm32/stm32cube/stm32mp1xx/drivers/src/stm32mp1xx_hal_tim.c) following the advice I read at https://github.com/intel/zephyr/tree/master/ext/hal/st/stm32cube stating "Plus add HAL driver file (when needed): obj-$(CONFIG_SERIAL_HAS_DRIVER) += stm32yyxx/drivers/src/stm32yyxx_hal_uart.o" This is most probably *not* the right way and hence my question to this list: if I wish to activate these functions in STM32Cube, make menuconfig in the build directory shows -*- <HAS_STM32CUBE> in red, but then all other subsystems (eg - - <USE_STM32_HAL_DMA> or - - <USE_STM32_HAL_IPCC>) which I believe would fill the cmake configuration file properly are disabled and cannot be enabled. I fail to understand what option prevents me from activating these functionalities. Could anyone explain what I am doing wrong in this configuration ? Thank you, Jean-Michel
|
|
Re: west imports and destination paths
Marc Reilly
Hi Carles,
Thats it, thanks very much, added my $0.02 Cheers Marc
|
|
Re: west imports and destination paths
Carles Cufi
Hi Marc,
This sounds like it’s covered in this issue: https://github.com/zephyrproject-rtos/west/issues/367
Please comment on it to make sure it covers all of your requirements.
Regards,
Carles
From: devel@... <devel@...>
On Behalf Of Marc Reilly via Lists.Zephyrproject.Org
Sent: 19 February 2020 10:18 To: devel@... Cc: devel@... Subject: [Zephyr-devel] west imports and destination paths
Hi all,
I like the (new?) west import feature, it makes it easy to checkout zephyr and associated modules along side an application/project.
Is there a way to specify where a 'sub-modules' of an import will end up? At the moment it seems to just be relative to the base folder. From what I can tell, specifying a path as the import value itself is mainly concerned with how west _sources_ the import, not where it ends up.
An example, with a basic west.yml file (like Example 1.1 of current docs) which is effectively:
#west.yml manifest: projects: - name: my-app remote: whatever - name: zephyr remote: as_normal import: true #
when zephyr is imported, zephyr's modules end up in the 'base' west folder, like this:
.../my-project - west.yml - my-app/ - bootloader/ - tools/ - modules/ - zephyr/
But what I'd like to end up with is zephyr and submodules under their own subfolder, something like:
.../my-project - west.yml - my-app/ - zephyrproject/ - bootloader/ - tools/ - modules/ - zephyr/
(ie, bootloader, tools, modules, etc are all siblings of the zephyr/ folder which was the nominated import)
So I alter the path for the zephyr project in the west.wml like so:
#west.yml v2 manifest: projects: - name: my-app remote: whatever - name: zephyr remote: as_normal import: true path: zephyrproject/zephyr
But what this yields is only the zephyr project ends up at the desired path, it's modules still end up in the base folder something like this:
.../my-project - west.yml - my-app/ - zephyrproject/ - zephyr/ - bootloader/ - tools/ - modules/
Is there a way to make it so that the zephyr imported modules end up where I want them? (eg the folders zephyr, bootloader, tools, modules etc all end up in a nominated sub folder)
Cheers, Marc
|
|
west imports and destination paths
Marc Reilly
Hi all, I like the (new?) west import feature, it makes it easy to checkout zephyr and associated modules along side an application/project. Is there a way to specify where a 'sub-modules' of an import will end up? At the moment it seems to just be relative to the base folder. From what I can tell, specifying a path as the import value itself is mainly concerned with how west _sources_ the import, not where it ends up. An example, with a basic west.yml file (like Example 1.1 of current docs) which is effectively: #west.yml manifest: projects: - name: my-app remote: whatever - name: zephyr remote: as_normal import: true # when zephyr is imported, zephyr's modules end up in the 'base' west folder, like this: .../my-project - west.yml - my-app/ - bootloader/ - tools/ - modules/ - zephyr/ But what I'd like to end up with is zephyr and submodules under their own subfolder, something like: .../my-project - west.yml - my-app/ - zephyrproject/ - bootloader/ - tools/ - modules/ - zephyr/ (ie, bootloader, tools, modules, etc are all siblings of the zephyr/ folder which was the nominated import) So I alter the path for the zephyr project in the west.wml like so: #west.yml v2 manifest: projects: - name: my-app remote: whatever - name: zephyr remote: as_normal import: true path: zephyrproject/zephyr But what this yields is only the zephyr project ends up at the desired path, it's modules still end up in the base folder something like this: .../my-project - west.yml - my-app/ - zephyrproject/ - zephyr/ - bootloader/ - tools/ - modules/ Is there a way to make it so that the zephyr imported modules end up where I want them? (eg the folders zephyr, bootloader, tools, modules etc all end up in a nominated sub folder) Cheers, Marc
|
|
Upcoming Event: Zephyr Project: APIs - Tue, 02/18/2020 9:00am-10:00am, Please RSVP
#cal-reminder
devel@lists.zephyrproject.org Calendar <devel@...>
Reminder: Zephyr Project: APIs When: Tuesday, 18 February 2020, 9:00am to 10:00am, (GMT-08:00) America/Los Angeles Where:https://zoom.us/j/177647878 An RSVP is requested. Click here to RSVP Organizer: devel@... Description: Join from PC, Mac, Linux, iOS or Android: https://zoom.us/j/177647878 Live meeting minutes: https://docs.google.com/
|
|
API meeting: agenda
Carles Cufi
Hi all,
The topics for today: - Discussion on whether to move the hw_info API to stable - PR: generalize async notification and add queued operation manager - https://github.com/zephyrproject-rtos/zephyr/pull/22853 - Defining the expected behavior of API calls in different contexts: settle on documentation guidelines - https://github.com/zephyrproject-rtos/zephyr/issues/18970 Additional items in the "Triage" column in the GitHub project may be discussed if time permits. If you want an item included in the meeting, please add it to the GitHub project. https://github.com/zephyrproject-rtos/zephyr/wiki/Zephyr-Committee-and-Working-Group-Meetings#zephyr-api-discussion https://github.com/zephyrproject-rtos/zephyr/projects/18 https://docs.google.com/document/d/1lv-8B5QE2m4FjBcvfqAXFIgQfW5oz6306zJ7GIZIWCk/edit Regards, Carles
|
|
Re: make menuconfig for STM32MP157 activating STM32Cube ?
Arnaud POULIQUEN
Hi,
toggle quoted messageShow quoted text
Regarding your link : https://github.com/intel/zephyr/tree/master/ext/hal/st/stm32cube Seems that you don't point to the good zephyr project Please refer to https://github.com/zephyrproject-rtos for the code Stm32cube HALs are available here: https://github.com/zephyrproject-rtos/hal_stm32/tree/master/stm32cube If you want an example of OpenAMP implementation for stm32mp1 : https://github.com/zephyrproject-rtos/zephyr/pull/16985 Regards, Arnaud
-----Original Message-----
|
|
Mayank <mayank7117@...>
Hi Johan,
Should i go with the Hardware flow control as enable to solve the buffer flow issue ? Not using HWFC could have any other adverse effect? As my current implementation is based on flow control as disabled, from processor side i have written beacon scanning application which scans beacons for 10 secs and then immediately flushes the UART buffer. So is it sufficient or still it would be better to go with the HWFC. Thanks, Mayank
|
|
Hi Mayank,
On 18. Feb 2020, at 11.29, Mayank <mayank7117@gmail.com> wrote: I have a doubt regarding one of the sample application of zephyr (samples/bluetooth/hci_uart).You might get lucky with disabling hardware flow control, however this standard HCI transport officially requires it (see Vol 4, Part A section 3 in Bluetooth Core Specification 5.2). Q2: Can i implement software flow control in hci_uart application ? If yes then how?Yes, but it should be its own application rather than an extension of samples/bluetooth/hci_uart. The standard HCI transport for UART in the situation where you don’t have hardware flow control available is is called the Three-wire UART transport protocol and you can find it in Vol 4, Part D of the Bluetooth Core Specification 5.2. We don't currently have a sample application for this, but a contribution would be very welcome. We do have an HCI driver in drivers/bluetooth/hci/h5.c, but that’s the host side implementation of this transport (you’re interested in the controller side). Q3: What is the meaning of this flag in zephyr confiuration : CONFIG_BT_HCI_ACL_FLOW_CONTROL?I don’t think I can explain it any better than its Kconfig documentation (please read it if you haven’t!), but it’s not something that’s directly relevant for you regarding the UART setup, since ACL flow control is a higher level construct. Since you’re doing a controller-only build you may want to enable it (the host can then later choose if it wants to use it or not), but this is not going to help you with the HCI transport situation. Johan
|
|
lairdjm
Hi, > Q1: As i'm not using HW flow control, Can i have any flow control related problem if there will be more number of devices/beacons available for the scanning. Yes, that is the purpose of flow control, to prevent one device sending data when the over side is unable to handle it. Will you see that issue? We can’t give you an answer to that, it’s application, area and hardware dependant e.g. if your main CPU has a UART buffer size of 16 bytes and is busy with a critical task, the nRF52840 could then send e.g. 20 bytes of data and overflow the UART buffer, then when your CPU is finished with the critical task, it’s lost at least 4 bytes.
The hardware flow control is actually handled in-hardware on the nRF52840, it does not have hardware to support software flow control so if you wanted to add that, you’d have to create all the code for it Thanks,
From: devel@...
<devel@...> On Behalf Of Mayank via Lists.Zephyrproject.Org
Sent: 18 February 2020 09:29 To: devel@... Cc: devel@... Subject: [Zephyr-devel] hci_uart application with flow control disable #ble #hci #nrf52480 #uart #samples
EXTERNAL EMAIL: Be careful with attachments and links. Hi All,
|
|
Mayank <mayank7117@...>
Hi All,
I have a doubt regarding one of the sample application of zephyr (samples/bluetooth/hci_uart). This 'hci_uart' application has Hardware flow control enable by default in its nrf.conf file. (CONFIG_UART_0_NRF_FLOW_CONTROL=y) I have build this sample app with CONFIG_UART_0_NRF_FLOW_CONTROL=n. So, i have only configured Tx, Rx from zephyr side. I have one custom board based on IMX6ULL processor, and on that i have connected nordic's nRF52840 chip over UART ( Flashed nRF52840 with above mentioned hci_uart application). Purpose: To scan BLE beacons for 10 seconds, Sleep for 10 sec, Scan for 10 sec, and so on (Continuous). From processor side also i have disabled the hardware flow control (Hence,Only using Tx, Rx). Q1: As i'm not using HW flow control, Can i have any flow control related problem if there will be more number of devices/beacons available for the scanning. Q2: Can i implement software flow control in hci_uart application ? If yes then how? Q3: What is the meaning of this flag in zephyr confiuration : CONFIG_BT_HCI_ACL_FLOW_CONTROL? NOTE: Currently i'm not observing any problem while scanning around 70 beacons exists in the surrounding environment.
|
|
Re: make menuconfig for STM32MP157 activating STM32Cube ?
Erwan Gouriou
Hi, Can you check following readme section and see if it answers your point? Cheers Erwan
Le sam. 15 févr. 2020 à 17:45, <friedtj@...> a écrit : I am building https://github.com/STMicroelectronics/logicanalyser (RPMSG
|
|
Re: add pyocd user scripy cause pylint issue
FrankLi
Thanks mbolivar give the solution:
|
|
make menuconfig for STM32MP157 activating STM32Cube ?
friedtj@...
I am building https://github.com/STMicroelectronics/logicanalyser (RPMSG
and VirtIO example for the STM32MP157 using OpenAMP) for Zephyr and have been facing the issue of linking with the STM32Cube library functions. I am using the external arm-none-eabi-gcc compilation toolchain under Debian/GNU Linux with export ZEPHYR_TOOLCHAIN_VARIANT=cross-compile export CROSS_COMPILE=/usr/bin/arm-none-eabi- The tree structure I have (west init && cd zephyr && west update) has created modules/hal/stm32/stm32cube/ at the same level than zephyr. This ST example relies heavily on the STM32Cube framework I had to link with. I achieved a functional result by adding in my CMakeLists.txt the following statement target_sources(app PRIVATE src/main.c src/rpmsg_hdr.c src/openamp.c src/mbox_ipcc.c src/rsc_table.c src/copro_sync.c $ENV{ZEPHYR_BASE}/../modules/hal/stm32/stm32cube/stm32mp1xx/drivers/src/stm32mp1xx_hal_dma.c $ENV{ZEPHYR_BASE}/../modules/hal/stm32/stm32cube/stm32mp1xx/drivers/src/stm32mp1xx_hal_gpio.c $ENV{ZEPHYR_BASE}/../modules/hal/stm32/stm32cube/stm32mp1xx/drivers/src/stm32mp1xx_hal_rcc_ex.c $ENV{ZEPHYR_BASE}/../modules/hal/stm32/stm32cube/stm32mp1xx/drivers/src/stm32mp1xx_hal_ipcc.c $ENV{ZEPHYR_BASE}/../modules/hal/stm32/stm32cube/stm32mp1xx/drivers/src/stm32mp1xx_hal_cortex.c $ENV{ZEPHYR_BASE}/../modules/hal/stm32/stm32cube/stm32mp1xx/drivers/src/stm32mp1xx_hal_tim_ex.c $ENV{ZEPHYR_BASE}/../modules/hal/stm32/stm32cube/stm32mp1xx/drivers/src/stm32mp1xx_hal_pwr.c $ENV{ZEPHYR_BASE}/../modules/hal/stm32/stm32cube/stm32mp1xx/drivers/src/stm32mp1xx_hal_tim.c) following the advice I read at https://github.com/intel/zephyr/tree/master/ext/hal/st/stm32cube stating "Plus add HAL driver file (when needed): obj-$(CONFIG_SERIAL_HAS_DRIVER) += stm32yyxx/drivers/src/stm32yyxx_hal_uart.o" This is most probably *not* the right way and hence my question to this list: if I wish to activate these functions in STM32Cube, make menuconfig in the build directory shows -*- <HAS_STM32CUBE> in red, but then all other subsystems (eg - - <USE_STM32_HAL_DMA> or - - <USE_STM32_HAL_IPCC>) which I believe would fill the cmake configuration file properly are disabled and cannot be enabled. I fail to understand what option prevents me from activating these functionalities. Could anyone explain what I am doing wrong in this configuration ? Thank you, Jean-Michel
|
|
SDK 0.11.2 Release
Kumar Gala
Hi,
Some fixes based on usage of SDK v0.11.x and addition of some new xtensa variants to enable work from the Sound Open Firmware Project (https://www.sofproject.org). The SDK can be found here: https://github.com/zephyrproject-rtos/sdk-ng/releases/tag/v0.11.2 Please download and try things out and report any issues. • Fixed issue with setjmp/longjmp not existing on x86 32-bit build • Fixed python support on GDB: NOTE: Since python support is enabled in GDB the host system needs python3.6 installed. Otherwise you might get an error like: arm-zephyr-eabi-gdb: error while loading shared libraries: libpython3.6m.so.1.0: cannot open shared object file: No such file or directory On newer fedora systems this can show up and be fixed by: sudo dnf install python36 • Added support for Intel BDW and BDW Audio DSP xtensa toolchains. • Added support for NXP IMX8 and IMX8M Audio DSP xtensa toolchains. • Updated xtensa targets to GDB 8.3.1 (except S1000) Thanks to all that contributed fixes and enhancements to this version of the SDK. - k
|
|
Re: Getting Started Guide
Tommy Lin (林志聰) <Tommy.Lin@...>
Hi Andrew Sorry, I have attached btmon log to Attachment.
I have found a similar problem as following:
following up above link , I don’t set the static address manually , but it show an abnormal behavior after auto-power root@localhost:~# btattach -B /dev/serial/by-id/usb-FTDI_Quad_RS232-HS-if01-port0 -S 1000000 -P h4 & [1] 4014 Attaching Primary controller to /dev/serial/by-id/usb-FTDI_Quad_RS232-HS-if01-port0 root@localhost:~# Switched line discipline from 0 to 15 Device index 0 attached root@localhost:~# btmgmt --index 0 [hci0]# auto-power Waiting for index 0 to appear [hci0]#
Can Zephyr Kernel: 2.2.0 support nRF51 chip ?
Thank You, Tommy
From: Boie, Andrew P <andrew.p.boie@...>
Sent: Friday, February 14, 2020 3:44 AM To: Tommy Lin (林志聰) <Tommy.Lin@...>; Cufi, Carles <Carles.Cufi@...>; zephyr-devel@... Cc: devel@...; Isaac Chen (陳尚航) <Isaac_Chen@...> Subject: RE: [Zephyr-devel] Getting Started Guide
Tommy,
when reporting issues, either here or in GitHub, can you copy/paste your terminal output instead of posting screen shots?
Andrew
From:
devel@... <devel@...>
On Behalf Of Tommy Lin (???)
Hi Carles, Thanks for your suggestion. Now, I can download code and build it successfully. Kernel: 2.2.0 SDK: 0.11.1
When I burn zephyr.hex into our chip (NRF51824) , and I encounter an issue. In my previous version (kernel: 1.13 SDK: 0.9.5) , the issue is absence .
Could you give us some suggestions.
Thank You Tommy From: Cufi, Carles <Carles.Cufi@...>
Hi there,
Zephyr requires Python 3.6 or later, and from your log you seem to be using Python 3.5.
Please update your Python installation. If you are on Ubuntu something like this should work:
sudo apt install python3.7 sudo update-alternatives --config python3
Carles
From:
devel@... <devel@...>
On Behalf Of Tommy Lin (???) via Lists.Zephyrproject.Org
Hi Zephyr, I following Getting Started Guide . https://docs.zephyrproject.org/latest/getting_started/index.html
In ‘west update’ , I encounter an error:
My PC is Ubuntu 16.04 LTS Could you give us some suggestions
Thank You, Tommy
|
|