Date   

Delayed vs non-delayed Workqueues usage

todd_mullanix@...
 

Hi,

It's not clear to me what's the recommended usage of delayed vs non-delayed Workqueues. I see one of the example on https://docs.zephyrproject.org/1.9.0/kernel/threads/workqueues.html
struct device_info {
    struct k_work work;
    char name[16]
} my_device;

void my_isr(void *arg)
{
    ...
    if (error detected) {
        k_work_submit(&my_device.work);
    }
    ...
}

void print_error(struct k_work *item) { struct device_info *the_device = CONTAINER_OF(item, struct device_info, work); printk("Got error on device %s\n", the_device->name); }
So if there is "extra" application content (name), it is placed after the struct k_work and the handler function will reference it accordingly. What if I wanted to send a k_delayed_work element to the same Workqueue. Can you intermix k_work and k_delayed_work structures on the same Workqueue? How do you know which structure type to use in the CONTAINER_OF? Do you have a "type" field before the k_work or k_delayed_work structure that the handler can query to determine what the real structure definition is?


Re: Zephyr Release 2.1: Status Nov 11, 2019

David Leach
 

Let me add a bit of emphasis. If you are working on a bug fix for a bug marked as “low priority” you should stop and move to one marked “medium” or “high” priority. We can pick up the low priority bugs at the beginning of the next release cycle.

 

From: devel@... <devel@...> On Behalf Of David Leach via Lists.Zephyrproject.Org
Sent: Tuesday, November 19, 2019 5:29 PM
To: devel@...
Cc: devel@...
Subject: [Zephyr-devel] Zephyr Release 2.1: Status Nov 11, 2019

 

The v2.1.0-rc1 is under test. The release schedule was to have a RC3 tagged by this weekend but we have not achieved RC2 level of quality yet. Current tradition is to have zero high priority bugs before tagging RC2 and we are at 4 right now. For this and due to US holiday crunch, we are shifting out the 2.1.0 release dates by a week.

 

Note, to allow sufficient test cycle before final release, the RC3 candidate tag will be applied when we reach 0 high priority bugs and 20 medium priority bugs.

 

https://github.com/zephyrproject-rtos/zephyr/wiki/Program-Management

 

If there are outstanding bugfix PRs that need to get into the 2.1 release than tag them with the “v2.1.0” milestone and work with the maintainers to approve and merge the PR.

 

Issues statistics:

 

Priority

Count

Change from last report

High

4

+2

Medium

41

+3

Low

198

+37

No priority

2

-1

 

Over the last 4 weeks we have opened 149 new issues and closed 154 with 245 active issues. A burst of new issues have come in from Coverity scans which had been blocked for some period of time.

 

David Leach

 

NXP Semiconductors

phone: +1.210.241.6761

Email: david.leach@...

 

 


Cancelled Event: Zephyr Project: Dev Meeting - Thursday, 21 November 2019 #cal-cancelled

devel@lists.zephyrproject.org Calendar <devel@...>
 

Cancelled: Zephyr Project: Dev Meeting

This event has been cancelled.

When:
Thursday, 21 November 2019
8:00am to 9:00am
(UTC-08:00) America/Los Angeles

Where:
https://zoom.us/j/993312203

Organizer: devel@...

Description:
Join Zoom Meeting
https://zoom.us/j/993312203

One tap mobile
+16699006833,,993312203# US (San Jose)
+16465588656,,993312203# US (New York)

Dial by your location
        +1 669 900 6833 US (San Jose)
        +1 646 558 8656 US (New York)
        +1 877 369 0926 US Toll-free
        +1 855 880 1246 US Toll-free
Meeting ID: 993 312 203
Find your local number: https://zoom.us/u/ankEMRagf


回复: [Zephyr-devel] How to add support for Silabs EFM32JG12B?

nie ninesun
 

I had added boards stk-3700 of EFM32GG for zephyr .I take the efm32hg as reference. the address is https://github.com/niexuzhong/STK3700-for-zephyr   you have to add boards and socs file.
EFM32 STK3700 starter kit porting on zephyr . Contribute to niexuzhong/STK3700-for-zephyr development by creating an account on GitHub.
github.com


发件人: devel@... <devel@...> 代表 Christian Taedcke <hacking@...>
发送时间: 2019年11月19日 20:02
收件人: devel@... <devel@...>
主题: [Zephyr-devel] How to add support for Silabs EFM32JG12B?
 
Hello,

i want to add support for the Silabs EFM32JG12B soc. It is nearly the same as the already supported EFM32PG12B. It has the exact same peripherals, memory etc, only a different core. The EFM32JG12B has a Cortex-M3, the EFM32PG12B a Cortex-M4.
Because of this Silabs does not provide an extra development board, since binaries built for the EFM32JG12B can run on the EFM32PG12B. So the recommended development board for the EFM32JG12B is efm32pg_stk3402a

Questions:

1. How to deal with a soc that only differs in the core? I would like to reuse (without copying) a lot of stuff from the efm32pg12b (i.e. the folder soc/arm/silabs_exx32/efm32pg12b and the device tree stuff). Any hints on how to do that?
2. Since there is no development board for the EFM32JG12B soc, i would like to add the possibility to the board efm32pg_stk3402a to compile for the EFM32JG12B instead of the EFM32PG12B. Is that possible or are there other recommendations?

Regards,
Christian


Is the devicetree in zephyr sdk supports the dynamic running time flow control ?

"曹子龙
 

Hi folks:

   I know the device three mechanism is also applied in zephyr sdk, but it seems something diffferent  compare with in linux.

 in linux, the dtsi script file would be compiled to a binary blob which would be pared in running time, so, the driver would do some dynamically decision in running time to different branch.

but in zephyr sdk, the dts are commpiled to a intermidate dts script file, which would be parsed by tools before building process are held.
finally, the dts configuration would convert to header files,and just used in compile time, so cant  used to do the branch control like linux.

is this right?  and is there anyway to get the configuration in runtime in zephyr?

thnks for your help.


曹子龙

珠海全志科技股份有限公司      BU1-PSW

地址:广东省珠海市高新区唐家湾镇科技2路9号

TEL:13824125580

Email:caozilong@...

网址: http://www.allwinnertech.com

 



Zephyr Release 2.1: Status Nov 11, 2019

David Leach
 

The v2.1.0-rc1 is under test. The release schedule was to have a RC3 tagged by this weekend but we have not achieved RC2 level of quality yet. Current tradition is to have zero high priority bugs before tagging RC2 and we are at 4 right now. For this and due to US holiday crunch, we are shifting out the 2.1.0 release dates by a week.

 

Note, to allow sufficient test cycle before final release, the RC3 candidate tag will be applied when we reach 0 high priority bugs and 20 medium priority bugs.

 

https://github.com/zephyrproject-rtos/zephyr/wiki/Program-Management

 

If there are outstanding bugfix PRs that need to get into the 2.1 release than tag them with the “v2.1.0” milestone and work with the maintainers to approve and merge the PR.

 

Issues statistics:

 

Priority

Count

Change from last report

High

4

+2

Medium

41

+3

Low

198

+37

No priority

2

-1

 

Over the last 4 weeks we have opened 149 new issues and closed 154 with 245 active issues. A burst of new issues have come in from Coverity scans which had been blocked for some period of time.

 

David Leach

 

NXP Semiconductors

phone: +1.210.241.6761

Email: david.leach@...

 

 


Upcoming Event: Zephyr Project: APIs - Tue, 11/19/2019 9:00am-10:00am, Please RSVP #cal-reminder

devel@lists.zephyrproject.org Calendar <devel@...>
 

Reminder: Zephyr Project: APIs

When: Tuesday, 19 November 2019, 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

Or iPhone one-tap :
    US: +16465588656,,177647878# or +16699006833,,177647878# 
Or Telephone:
    Dial(for higher quality, dial a number based on your current location): 
        US: +1 646 558 8656 or +1 669 900 6833 or +1 855 880 1246 (Toll Free) or +1 877 369 0926 (Toll Free)
    Meeting ID: 177 647 878
    International numbers available: https://zoom.us/zoomconference?m=ioAR9GK1OE5LkN1ojt-heTCl7yPcJrhY


 Live meeting minutes: https://docs.google.com/document/d/1lv-8B5QE2m4FjBcvfqAXFIgQfW5oz6306zJ7GIZIWCk/edit?usp=sharing


Release notes 2.1 prep

David Leach
 

Folks,

 

As we get closer to completing release v2.1.0 we need the release notes updated with the major accomplishes and changes made to the various subsystems. Please start providing updates for us to merge in the following sections:

 

  • Kernel
  • Architectures
  • Boards & SoC Support
  • Drivers and Sensors
  • Networking
  • Bluetooth
  • Build and infrastructure
  • Libraries/Subsystems
  • HALs
  • Documentation
  • Tests and Samples

 

David

David Leach

 

NXP Semiconductors

phone: +1.210.241.6761

Email: david.leach@...

 

 


API meeting: agenda

Carles Cufi
 

Hi all,

This week we will look at:

- PWM: Add support for inverted PWM signals
- PR: https://github.com/zephyrproject-rtos/zephyr/pull/20657

- GPIO: Update on progress
- Look at the PRs with driver conversion (https://github.com/zephyrproject-rtos/zephyr/issues/18530)
- Check users of GPIO APIs: https://github.com/zephyrproject-rtos/zephyr/issues/20017
- Tips for converting users can be found here: https://github.com/zephyrproject-rtos/zephyr/issues/20017#issuecomment-549315497 (thanks Peter!)
- Any additional outstanding PRs to topic-gpio

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


How to add support for Silabs EFM32JG12B?

Christian Taedcke
 

Hello,

i want to add support for the Silabs EFM32JG12B soc. It is nearly the same as the already supported EFM32PG12B. It has the exact same peripherals, memory etc, only a different core. The EFM32JG12B has a Cortex-M3, the EFM32PG12B a Cortex-M4.
Because of this Silabs does not provide an extra development board, since binaries built for the EFM32JG12B can run on the EFM32PG12B. So the recommended development board for the EFM32JG12B is efm32pg_stk3402a

Questions:

1. How to deal with a soc that only differs in the core? I would like to reuse (without copying) a lot of stuff from the efm32pg12b (i.e. the folder soc/arm/silabs_exx32/efm32pg12b and the device tree stuff). Any hints on how to do that?
2. Since there is no development board for the EFM32JG12B soc, i would like to add the possibility to the board efm32pg_stk3402a to compile for the EFM32JG12B instead of the EFM32PG12B. Is that possible or are there other recommendations?

Regards,
Christian


回复: [EXT] [Zephyr-devel] about Dual Mac application for zephyr

nie ninesun
 

Thank for your suggestion. about the handling many network interface. Can zephyr handler the multi network card like switch or I have to add extra code to handle it? or Is there any document about such function?  

发件人: devel@... <devel@...> 代表 Tomasz Bursztyka <tomasz.bursztyka@...>
发送时间: 2019年11月18日 17:19
收件人: Andrei Gansari <andrei.gansari@...>; xz_nie@... <xz_nie@...>; devel@... <devel@...>
主题: Re: [EXT] [Zephyr-devel] about Dual Mac application for zephyr
 
Hi,

Indeed the driver requires another instance to be added. Hopefully it's
trivial, basically a copy-paste of the existing one minor tiny
modifications. The annoying part will be modifying Kconfig as ethernet
drivers do not take fully advantage of device-tree yet.

Zephyr supports as many network interface as you can provide. I guess
about MAC you talk about MAC addresses and not MAC stack.
You will have to select the unique mac address option, this one will
pick up the hardware one.

Tomasz

> Hello Nie,

> First you have a limitation in the fact the ethernet driver
> (eth_mcux) for this board is implemented as single instance, you need
> 2 instances (new feature implementation).
> I’m also not sure the OS supports multiple eth stacks.

> Regards,
> Andrei Gansari

> From: devel@... <devel@...>
> On Behalf Of nie ninesun via Lists.Zephyrproject.Org
> Sent: Monday, November 18, 2019 8:03 AM
> To: devel@...
> Cc: devel@...
> Subject: [EXT] [Zephyr-devel] about Dual Mac application for zephyr

> Caution: EXT Email
>
> Hi Guys:
>         I get an i.mxRT106x development kit board recently. It is
> developed by third party . This boards have two Ethernet port.The
> processor is i.mxRT1061, I hope to link several boards as an network.
> but I don't find any example about two Mac in zephyr application. Can
> anyone give some suggestions about it? Thank you!
> best regards
>





Re: Simultaneous BLE connection with different PHY speeds

Chettimada, Vinayak Kariappa
 

Hi Jos,
 
Currently, by default all BLE connections default to 2Mbps if supported by both local and peer device. If you have mixed peers with support for 2 Mbps absent in some of them, then you will notice that simultaneous connections are at different PHY speeds (1 and 2 Mbps).
 
There is no public API yet in Zephyr to switch PHY by application code at runtime, you are welcome to open a GH issue detailing your intended API use cases to switch PHY, or even better contribute by pushing a PR to get the feature started.
 
Regards,
Vinayak
 

From: devel@... <devel@...> On Behalf Of josef via Lists.Zephyrproject.Org
Sent: 14 November 2019 17:31
To: devel@...
Cc: devel@...
Subject: [Zephyr-devel] Simultaneous BLE connection with different PHY speeds
 
Hi everyone,

I am building a Zephyr based USB-BLE dongle, which works already quite good for multiple simultaneous 1Mbps connections connections.

Does anyone know if it is possible to have simultaneous connections at different PHY speeds (coded PHY and 1Mbps) or is the PHY speed set once and needs to be the same for all simultaneous connections?

Best regards,
Jos
 


Re: [EXT] [Zephyr-devel] about Dual Mac application for zephyr

Tomasz Bursztyka
 

Hi,

Indeed the driver requires another instance to be added. Hopefully it's
trivial, basically a copy-paste of the existing one minor tiny
modifications. The annoying part will be modifying Kconfig as ethernet
drivers do not take fully advantage of device-tree yet.

Zephyr supports as many network interface as you can provide. I guess
about MAC you talk about MAC addresses and not MAC stack.
You will have to select the unique mac address option, this one will
pick up the hardware one.

Tomasz

Hello Nie,

First you have a limitation in the fact the ethernet driver
(eth_mcux) for this board is implemented as single instance, you need
2 instances (new feature implementation).
I’m also not sure the OS supports multiple eth stacks.

Regards,
Andrei Gansari

From: devel@lists.zephyrproject.org <devel@lists.zephyrproject.org>
On Behalf Of nie ninesun via Lists.Zephyrproject.Org
Sent: Monday, November 18, 2019 8:03 AM
To: devel@lists.zephyrproject.org
Cc: devel@lists.zephyrproject.org
Subject: [EXT] [Zephyr-devel] about Dual Mac application for zephyr

Caution: EXT Email

Hi Guys:
I get an i.mxRT106x development kit board recently. It is
developed by third party . This boards have two Ethernet port.The
processor is i.mxRT1061, I hope to link several boards as an network.
but I don't find any example about two Mac in zephyr application. Can
anyone give some suggestions about it? Thank you!
best regards


Re: [EXT] [Zephyr-devel] about Dual Mac application for zephyr

Loic Poulain
 



On Mon, 18 Nov 2019 at 10:11, Andrei Gansari <andrei.gansari@...> wrote:

Hello Nie,

 

First you have a limitation in the fact the ethernet driver (eth_mcux) for this board is implemented as single instance, you need 2 instances (new feature implementation).

I’m also not sure the OS supports multiple eth stacks.


Multiple network interfaces can be supported.
It should be relatively easy to add multiple-instance support to eth_mcux driver since it already works with context.

Regards,
Loic


Re: [EXT] [Zephyr-devel] about Dual Mac application for zephyr

Andrei Gansari
 

Hello Nie,

 

First you have a limitation in the fact the ethernet driver (eth_mcux) for this board is implemented as single instance, you need 2 instances (new feature implementation).

I’m also not sure the OS supports multiple eth stacks.

 

Regards,

Andrei Gansari

 

From: devel@... <devel@...> On Behalf Of nie ninesun via Lists.Zephyrproject.Org
Sent: Monday, November 18, 2019 8:03 AM
To: devel@...
Cc: devel@...
Subject: [EXT] [Zephyr-devel] about Dual Mac application for zephyr

 

Caution: EXT Email

Hi Guys:

        I get an i.mxRT106x development kit board recently. It is developed by third party . This boards have two Ethernet port.The processor is i.mxRT1061, I hope to link several boards as an network. but I don't find any example about two Mac in zephyr application. Can anyone give some suggestions about it? Thank you!

best regards 


about Dual Mac application for zephyr

nie ninesun
 

Hi Guys:
        I get an i.mxRT106x development kit board recently. It is developed by third party . This boards have two Ethernet port.The processor is i.mxRT1061, I hope to link several boards as an network. but I don't find any example about two Mac in zephyr application. Can anyone give some suggestions about it? Thank you!
best regards 


FW: [platformio/platformio-core] ZephyrProject integration (#1613)

Nashif, Anas
 

Hi,

 

Please try and give feedback directly in the github issue.

 

Anas

 

From: Ivan Kravets <notifications@...>
Reply to: platformio/platformio-core <reply+AABL6MJFWZJEWCBOTKRR2TF33W3VNEVBNHHBGJB67E@...>
Date: Saturday, 16 November 2019 at 18:23
To: platformio/platformio-core <platformio-core@...>
Cc: Anas Nashif <anas.nashif@...>, Mention <mention@...>
Subject: Re: [platformio/platformio-core] ZephyrProject integration (#1613)

 

Hey all,

We have a piece of good news. We've finally added support for Zephyr RTOS and would be glad to get some feedback. It was the most complicated integration for the last 6 years :) We even did some changes to our PlatformIO Core Build API. So, the only latest development version of PlatformIO Core will be compatible with Zephyr. All our efforts were directed on keeping the same workflow which we have with other frameworks (ARM mbed, ESP-IDF, Arduino, etc.). It means that we are still fully independent from operating system and IDE. No need to install any software, make, cmake, ninja, toolchains, different Python packages, other system-related tools.

Integration

We did pure native integration and PlatformIO build system will be used. It's based on top of SCons and is super fast and smart. You can use Python language to control and extend the build process using Advanced Scripting or quick shortcuts with build_*** options for platformio.ini.

The source code is here https://github.com/platformio/zephyr/tree/v2.0-branch/scripts/platformio
It actually parses Zephyr CMake configuration and constructs PlatformIO build environment. This is a good solution because of no need to do any changes to default Zephyr tools, scripts, and source code.

P.S: Thanks, @valeros, for the great professional work on this! 👍

Supported IDE and OS

You have a choice between 10+ different IDEs and all popular operating systems (Windows, macOS, Linux 32/64, Linux ARMv6+). Any combination of IDE+OS provides the same reproducibility with ZERO changes.

Supported dev/platforms

Currently, 3 development platforms are Zephyr-enabled:

·         https://github.com/platformio/platform-nordicnrf52

·         https://platformio.org/platforms/ststm32

·         https://github.com/platformio/platform-ststm32

Support for other dev/platforms and boards will be added next week.

How to try it?

1.       You need to have the latest development version of PlatformIO Core. If you use CLI, just run pio upgrade --dev. Or, open PlatformIO IDE for VSCode, click on "terminal icon" on the bottom toolbar and run the same command pio upgrade --dev. It should be 4.1.1-b1 or above.

2.       You will need to use a development version of dev/platform mentioned above.

Project Examples

See projects with zephyr- prefix:

·         https://github.com/platformio/platform-nordicnrf52/tree/develop/examples

·         https://platformio.org/platforms/ststm32/tree/develop/examples

·         https://github.com/platformio/platform-ststm32/tree/develop/examples

You can open/import any project and try it. The only change which you need to do is switching platform to development version:

[env:nrf52_board]
 
platform = https://github.com/platformio/platform-nordicnrf52.git
 
framework = zephyr
 
board = ...
 
 
 
[env:stm32_board]
 
platform = https://github.com/platformio/platform-ststm32.git
 
framework = zephyr
 
board = ...
 
 
 
[env:sifive_board]
 
platform = https://github.com/platformio/platform-sifive.git
 
framework = zephyr
 
board = ...

Configuration

We will provide soon extra information in our documentation on how to configure Zephyr RTOS within the PlatformIO project. In short, you can use any example from Zephyr repository with small changes:

1.       Create zephyr folder in the root of PlatformIO project and move here all related Zephyr's files (CMakeLists.txt, prj.conf, sample.yaml)

2.       Edit relative source paths in CMakeLists.txt, see example here https://github.com/platformio/platform-nordicnrf52/blob/develop/examples/zephyr-ble-beacon/zephyr/CMakeLists.txt#L7

The rest configuration should be done in CMakeLists.txt. It's the same when you use the official Zephyr build tools.

Demo

Below are a few demos from different IDEs with PIO Unified Debugger and SiFive HiFive1 Rev B board:

PlatformIO IDE for VSCode

Screen Shot 2019-11-17 at 00 31 44

CLion with PlatformIO plugin

Screen Shot 2019-11-17 at 00 27 34

Old-school Eclipse

Screen Shot 2019-11-17 at 00 43 04


Your feedback is very important to us.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.


Re: CONFIG_CODE_DATA_RELOCATION may conflict with __ramfunc on Cortex-M7

baudiffred@...
 

In general, it does not appear that code and data relocation currently manages the MPU.  For example, z_arch_configure_static_mpu_regions() had no provision for a potential SRAM region of execution generated by this feature.   This renders the code relocation unusable in userspace implementations.  Since zephyr will disable all unused MPU regions, it isn't possible to simply enable access to these regions at boot.  Zephyr modifications will be required.  

A combination of custom linker scripts and appropriate hooks for user additions to MPU configuration and section initialization may be more flexible and direct.


Simultaneous BLE connection with different PHY speeds

josef@...
 

Hi everyone,

I am building a Zephyr based USB-BLE dongle, which works already quite good for multiple simultaneous 1Mbps connections connections.

Does anyone know if it is possible to have simultaneous connections at different PHY speeds (coded PHY and 1Mbps) or is the PHY speed set once and needs to be the same for all simultaneous connections?

Best regards,
Jos


Cancelled Event: Zephyr Project: Dev Meeting - Thursday, 14 November 2019 #cal-cancelled

devel@lists.zephyrproject.org Calendar <devel@...>
 

Cancelled: Zephyr Project: Dev Meeting

This event has been cancelled.

When:
Thursday, 14 November 2019
8:00am to 9:00am
(UTC-08:00) America/Los Angeles

Where:
https://zoom.us/j/993312203

Organizer: devel@...

Description:
Join Zoom Meeting
https://zoom.us/j/993312203

One tap mobile
+16699006833,,993312203# US (San Jose)
+16465588656,,993312203# US (New York)

Dial by your location
        +1 669 900 6833 US (San Jose)
        +1 646 558 8656 US (New York)
        +1 877 369 0926 US Toll-free
        +1 855 880 1246 US Toll-free
Meeting ID: 993 312 203
Find your local number: https://zoom.us/u/ankEMRagf

1321 - 1340 of 7807