Date   

Event: Zephyr: Architecture WG - 06/21/2022 #cal-reminder

Group Notification <noreply@...>
 

Reminder: Zephyr: Architecture WG

When:
06/21/2022
8:00am to 9:00am
(UTC-07:00) America/Los Angeles

Where:
Microsoft Teams Meeting

Organizer: devel@...

An RSVP is requested. Click here to RSVP

Description:

Meeting decisions/discussions in their respective PRs, tracked here: https://github.com/zephyrproject-rtos/zephyr/projects/18


________________________________________________________________________________
+1 321-558-6518 United States, Orlando (Toll)
Conference ID: 317 990 129#
Local numbers | Reset PIN | Learn more about Teams | Meeting options
 
 
________________________________________________________________________________


Re: Zephyr SMP support for Arm MCUs

Andy Ross
 

(Sorry for the delay, had to figure out how to get a new address subscribed.)
 
Carlo Caione wrote:
> Keith Morgan wrote:
>> I am interested in Zephyr SMP support for the Arm M class of
>> microcontrollers [...] Is there by chance now a porting guide for
>> SMP that I could follow?
>
> There is no guide still (AFAIK), but [1] could be a good starting point.
>
> But there are some prerequisites and low-hanging fruits that you
> could work on before tackling the task as a whole. For example
> cortex-M doesn't support CONFIG_USE_SWITCH that is needed to support
> SMP (but you can still use that in !SMP).
 
(Brief aside: is there specific hardware you're looking at for this
port?  I'm not aware of any multiprocessor Cortex M boards but would
be very curious to see one.)
 
Indeed, there's no single document to step you through this.  The
truth is that there really isn't a lot of mandatory complexity, most
SMP features are optional and you can start bringup with a subset.
 
But Carlo identifies the big one: SMP requires the newer ("switch")
context switch primitive, which also requires a modification to the
interrupt exit path.  The ARM32 arch in Zephyr is still using the
older ("swap") mechanism, which uses scheduler internals in a way that
isn't MP-safe.  This is where most of your work is going to be spent
for sure.
 
After that: you need an implementation of arch_curr_cpu() that will
return a pointer to the cpu struct for the current processor.  This
gets hardware dependent, most multiprocessor architectures have a
scratch-ish register that can be used for this, but the details are
sometimes weird (e.g. x86_64 uses a segment register to point to a
per-cpu region that contains the pointer).
 
Somewhat obviously, you need to implement arch_start_cpu() to launch
the secondary cores at boot.  Again, different devices can have very
different power-on behavior, but Zephyr's rule is that only CPU 0
should begin running in Zephyr code (i.e. at z_cstart()), and that the
other ones shouldn't do anythign detectable until after after core 0
enters arch_start_cpu() with their index.
 
Most of the other stuff is either already present (ARM32 gets working
atomics support via gcc intrinsics already) or something to worry
about later (interprocessor interrupts are technically an optional
feature even though skipping them requires a hard busy loop in the
idle thread).
 
But... as far as development process, you do this the way you think
you might: set CONFIG_SMP=y on your working uniprocessor platform,
build, and see what fails.
 
Andy
 


Architecture WG meeting: agenda

Carles Cufi
 


Re: Zephyr SMP support for Arm MCUs

Carlo Caione
 

On 21/06/2022 01:25, Keith Morgan via lists.zephyrproject.org wrote:
I am interested in Zephyr SMP support for the Arm M class of microcontrollers [1]. It’s not clear from the Zephyr SMP documentation [2] which architectures Zephyr currently supports, but I’ve gathered from other links that ARC, RISC-V and ARM A class are supported – possibly others as well.
According to a thread on this list back in October of 2020 [3], “to fully implement SMP you'll need per-cpu variables, IPIs, some extra arch_* APIs implemented, etc.”
It sounds like a porting guide did not exist back then. Is there by chance now a porting guide for SMP that I could follow? If not, could somebody provide a little more guidance as to how to get started?
There is no guide still (AFAIK), but [1] could be a good starting point.

But there are some prerequisites and low-hanging fruits that you could work on before tackling the task as a whole. For example cortex-M doesn't support CONFIG_USE_SWITCH that is needed to support SMP (but you can still use that in !SMP).

So I guess that should be the really first step for you, the rest can follow.

Cheers!

[1] https://docs.zephyrproject.org/latest/kernel/services/smp/smp.html
[2] https://docs.zephyrproject.org/latest/kconfig.html#CONFIG_USE_SWITCH

--
Carlo Caione


Zephyr SMP support for Arm MCUs

Keith Morgan
 

I am interested in Zephyr SMP support for the Arm M class of microcontrollers [1]. It’s not clear from the Zephyr SMP documentation [2] which architectures Zephyr currently supports, but I’ve gathered from other links that ARC, RISC-V and ARM A class are supported – possibly others as well.

 

According to a thread on this list back in October of 2020 [3], “to fully implement SMP you'll need per-cpu variables, IPIs, some extra arch_* APIs implemented, etc.”

 

It sounds like a porting guide did not exist back then. Is there by chance now a porting guide for SMP that I could follow? If not, could somebody provide a little more guidance as to how to get started?

 

Thanks.

 

-Keith

 

 

[1] https://community.arm.com/arm-community-blogs/b/embedded-blog/posts/white-paper-multi-core-microcontroller-design-with-cortex-m-processors-and-coresight-soc

 

[2] https://docs.zephyrproject.org/latest/kernel/services/smp/smp.html

 

[3] https://lists.zephyrproject.org/g/devel/topic/smp_support_for_arm/77261991

 


Re: Event: Zephyr Memory Footprint - biweekly discussion - 06/20/2022 #cal-reminder

Rob Woolley
 

Cancelling the meeting this week due to the US holiday.

Regards,

Rob

 

From: devel@... <devel@...> On Behalf Of Group Notification
Sent: Monday, June 20, 2022 10:45 AM
To: devel@...
Subject: [Zephyr-devel] Event: Zephyr Memory Footprint - biweekly discussion - 06/20/2022 #cal-reminder

 

[Please note: This e-mail is from an EXTERNAL e-mail address]

Reminder: Zephyr Memory Footprint - biweekly discussion

When:
06/20/2022
8:00am to 9:00am
(UTC-07:00) America/Los Angeles

Where:
Microsoft Teams Meeting

Organizer: devel@...

An RSVP is requested. Click here to RSVP

Description:
Working doc: https://docs.google.com/document/d/1bnQLJKVhgI3zkk3MsSXun8onEsA8z1Rf5ohdbCHASmU/edit#heading=h.x36xe8bnwr9r

________________________________________________________________________________

Microsoft Teams meeting

Join on your computer or mobile app

Click here to join the meeting

Or call in (audio only)

+1 321-558-6518,,546018126# United States, Orlando

Phone Conference ID: 546 018 126#

 

 

________________________________________________________________________________


Event: Zephyr Memory Footprint - biweekly discussion - 06/20/2022 #cal-reminder

Group Notification <noreply@...>
 

Reminder: Zephyr Memory Footprint - biweekly discussion

When:
06/20/2022
8:00am to 9:00am
(UTC-07:00) America/Los Angeles

Where:
Microsoft Teams Meeting

Organizer: devel@...

An RSVP is requested. Click here to RSVP

Description:
Working doc: https://docs.google.com/document/d/1bnQLJKVhgI3zkk3MsSXun8onEsA8z1Rf5ohdbCHASmU/edit#heading=h.x36xe8bnwr9r

________________________________________________________________________________
Microsoft Teams meeting
Join on your computer or mobile app
Click here to join the meeting
Or call in (audio only)
+1 321-558-6518,,546018126# United States, Orlando
Phone Conference ID: 546 018 126#
 
 
________________________________________________________________________________


Event: Zephyr Project: Dev Meeting - 06/16/2022 #cal-reminder

Group Notification <noreply@...>
 

Reminder: Zephyr Project: Dev Meeting

When:
06/16/2022
8:00am to 9:00am
(UTC-07:00) America/Los Angeles

Where:
Microsoft Teams Meeting

Organizer: devel@...

An RSVP is requested. Click here to RSVP

Description:

________________________________________________________________________________
+1 321-558-6518 United States, Orlando (Toll)
Conference ID: 483 314 739#
Local numbers | Reset PIN | Learn more about Teams | Meeting options
 
 
________________________________________________________________________________


回复: [Zephyr-devel] Welcome to devel@lists.zephyrproject.org

Yunqing Kou <yunqing.kou@...>
 

Hi,

        Glad to join this group. Thanks.

 

Best Regards,

Corey

 

发件人: Group Notification <devel+owner@...>
发送时间: 2022616 10:53
收件人: Yunqing Kou <yunqing.kou@...>
主题: [Zephyr-devel] Welcome to devel@...

 

Hello,

Welcome to the devel@... group at Zephyr Project. Please take a moment to review this message.

To learn more about the devel@... group, please visit https://lists.zephyrproject.org/g/devel

To start sending messages to members of this group, simply send email to devel@...

If you do not wish to belong to devel@..., you may unsubscribe by sending an email to devel+unsubscribe@...

To see and modify all of your groups, go to https://lists.zephyrproject.org

 

Regards,

The Zephyr-devel@... Moderator


Workqueue usage

Yunqing Kou <yunqing.kou@...>
 

Hi ,

        I have a question for work queue usage, below is my sample code, I don’t know where the problem is, anyone can help me? thanks.

 

typedef struct

{

    struct k_work work;

struct k_work_q work_q;

int  data;

} pon_wq_t;

 

pon_wq_t    pon_ploam_wq;

#define MY_STACK_SIZE 512

#define MY_PRIORITY -2

K_THREAD_STACK_DEFINE(my_stack_area, MY_STACK_SIZE);

 

plm_wq_init(){

    k_work_queue_init(&pon_ploam_wq.work_q);

    k_work_init(&(pon_ploam_wq.work), aal_ploam_wq_proc);

    k_thread_name_set(&pon_ploam_wq.work_q.thread, "ploam_workq");

    k_work_queue_start(&pon_ploam_wq.work_q, my_stack_area, K_THREAD_STACK_SIZEOF(my_stack_area), MY_PRIORITY, NULL);

}

 

plm_isr(ca_uint32_t plm_int){

  pon_ploam_wq.data = plm_int;

ret = k_work_submit(&pon_ploam_wq.work);

//ret = k_work_submit_to_queue(&pon_ploam_wq.work_q, &pon_ploam_wq.work);

 

}

 

void aal_plm_wq_proc(struct k_work *q_work)

{

    aal_xgpon_ploam_kmsg_t   *msg;

    ca_status_t              ret =  CA_E_OK;

    pon_wq_t         *wq = CONTAINER_OF(q_work, pon_wq_t, work);

 

    ca_printf("%s: data %d \r\n",__func__, wq->data);

}

 

Issues:

 

1.      If use k_work_submit, only two or three interrupts can be put into system work queue and aal_plm_wq_proc can be called. But the interrupts are generated continuously.

2.      If use k_work_submit_to_queue, interrupts can be put into the defined work queue continuously, but aal_plm_wq_proc is never called.

 

my zephyr version:

Zephyr version: 2.7.0

 

Best Regards,

Corey

 

发件人: Yunqing Kou
发送时间: 2022616 10:59
收件人: devel@...
主题: 回复: [Zephyr-devel] Welcome to devel@...

 

Hi,

        Glad to join this group. Thanks.

 

Best Regards,

Corey

 

发件人: Group Notification <devel+owner@...>
发送时间: 2022616 10:53
收件人: Yunqing Kou <yunqing.kou@...>
主题: [Zephyr-devel] Welcome to devel@...

 

Hello,

Welcome to the devel@... group at Zephyr Project. Please take a moment to review this message.

To learn more about the devel@... group, please visit https://lists.zephyrproject.org/g/devel

To start sending messages to members of this group, simply send email to devel@...

If you do not wish to belong to devel@..., you may unsubscribe by sending an email to devel+unsubscribe@...

To see and modify all of your groups, go to https://lists.zephyrproject.org

 

Regards,

The Zephyr-devel@... Moderator


Dev Review Agenda for June 16, 2022

Maureen Helm
 


Cancelled Event: Zephyr: Power Management Sync #cal-cancelled

Group Notification <noreply@...>
 

Cancelled: Zephyr: Power Management Sync

This event has been cancelled.

When:
Thursday, February 10, 2022
9:00am to 10:00am
(UTC-08:00) America/Los Angeles
Repeats: Weekly on Thursday

Where:
Microsoft Teams

Organizer: devel@...

Description:


________________________________________________________________________________
Microsoft Teams meeting
Join on your computer or mobile app
Click here to join the meeting
Or call in (audio only)
+1 321-558-6518,,677440320# United States, Orlando
Phone Conference ID: 677 440 320#
 
________________________________________________________________________________


API meeting renamed to Architecture WG

Carles Cufi
 

Hi all,

The API meeting has been renamed to the Architecture Working Group meeting.
The rest of the meeting information remains unchanged, summarized here:

https://github.com/zephyrproject-rtos/zephyr/wiki/Architecture-Working-Group

Thanks,

Carles


Updated Event: Zephyr: Architecture WG #cal-invite

Group Notification <noreply@...>
 

Zephyr: Architecture WG

When:
Tuesday, January 18, 2022
8:00am to 9:00am
(UTC-08:00) America/Los Angeles
Repeats: Weekly on Tuesday

Where:
Microsoft Teams Meeting

Organizer: devel@...

An RSVP is requested. Click here to RSVP

Description:

Meeting decisions/discussions in their respective PRs, tracked here: https://github.com/zephyrproject-rtos/zephyr/projects/18


________________________________________________________________________________
+1 321-558-6518 United States, Orlando (Toll)
Conference ID: 317 990 129#
Local numbers | Reset PIN | Learn more about Teams | Meeting options
 
 
________________________________________________________________________________


Updated Event: Zephyr Project: Architecture #cal-invite

Group Notification <noreply@...>
 

Zephyr Project: Architecture

When:
Tuesday, January 18, 2022
8:00am to 9:00am
(UTC-08:00) America/Los Angeles
Repeats: Weekly on Tuesday

Where:
Microsoft Teams Meeting

Organizer: devel@...

An RSVP is requested. Click here to RSVP

Description:

Meeting decisions/discussions in their respective PRs, tracked here: https://github.com/zephyrproject-rtos/zephyr/projects/18


________________________________________________________________________________
+1 321-558-6518 United States, Orlando (Toll)
Conference ID: 317 990 129#
Local numbers | Reset PIN | Learn more about Teams | Meeting options
 
 
________________________________________________________________________________


Re: Using iMX8M Mini UART 3 for M4 as a Bluetooth interface #bluetooth

pieter.degendt@...
 

Hi,

Make sure to disable the uart3 in linux/uboot. I'm unfamiliar with the domains though.

BR,
Pieter


Using iMX8M Mini UART 3 for M4 as a Bluetooth interface #bluetooth

pradeepkumar soman
 

Hi,

I want to use iMX8M Mini, UART 3 for M4 as a Bluetooth interface. M4 will be running with Zephyr OS.

On the EVK board UART3 is available from the header and the pin details for UART 3
TXD   -   Pin 8

RXD   -   Pin 10

In Zephyr (boards/arm/mimx8mm_evk/mimx8mm_evk.dts) I have modified the device tree like below.

zephyr,bt-uart = &uart3;

&uart3 {
status = "okay";
current-speed = <115200>;
};

 

Do I need to make any other changes? What about RDC domain settings?

Does  M4 need to be in RDC domain 1 and UART3 needs to be assigned to domain 1 ? Where do these changes are needed? Is it in Zephyr or in the u-boot?

 

Any help is appreciated.

Thanks in advance,

Best regards,
Pradeep


Using iMX8M Mini UART 3 for M4 as a Bluetooth interface #bluetooth

pradeepkumar soman
 

Hi,

I want to use iMX8M Mini, UART 3 for M4 as a Bluetooth interface. M4 will be running with Zephyr OS.

On the EVK board UART3 is available from the header and the pin details for UART 3
TXD   -   Pin 8

RXD   -   Pin 10

In Zephyr (boards/arm/mimx8mm_evk/mimx8mm_evk.dts) I have modified the device tree like below.

zephyr,bt-uart = &uart3;

&uart3 {
status = "okay";
current-speed = <115200>;
};

 

Do I need to do any other changes? What about RDC domain settings?

Does  M4 needs to be in RDC domain 1 and UART3 needs to be assigned to domain 1 ? Where this changes are needed? Is it in Zephyr or in the u-boot?

 

Any help is appreciated.

Thanks in advance,

Best regards,
Pradeep


Cancelled Event: Zephyr Project: APIs - Tuesday, June 14, 2022 #cal-cancelled

Group Notification <noreply@...>
 

Cancelled: Zephyr Project: APIs

This event has been cancelled.

When:
Tuesday, June 14, 2022
8:00am to 9:00am
(UTC-07:00) America/Los Angeles

Where:
Microsoft Teams Meeting

Organizer: devel@...

Description:

Meeting decisions/discussions in their respective PRs, tracked here: https://github.com/zephyrproject-rtos/zephyr/projects/18


________________________________________________________________________________
+1 321-558-6518 United States, Orlando (Toll)
Conference ID: 317 990 129#
Local numbers | Reset PIN | Learn more about Teams | Meeting options
 
 
________________________________________________________________________________


Re: espressif HAL usage

Dmitriy Korovkin
 

Would it help to add the espressif HAL module PATH to ZEPHYR_EXTRA_MODULES as of
set(ZEPHYR_EXTRA_MODULES $ENV{ZEPHYR_BASE}/../modules/hal/espressif)

or like this?

Regards,
Dmitriy Korovkin

On 2022-06-13 12:24, Ilan Ganor wrote:
**[Please note: This e-mail is from an EXTERNAL e-mail address]
I would like to use API from espressif HAL
for example: esp_efuse_mac_get_custom
I can include the h file using :
#include "esp_system.h"
but when I try to use one of the h included functions:
esp_efuse_mac_get_custom
I get compilation error:
main.c:116: undefined reference to `esp_efuse_mac_get_custom'
I think that I need to add entry in CMakeLists.txt
this is my current file :
# SPDX-License-Identifier: Apache-2.0
cmake_minimum_required(VERSION 3.20.0)
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
project(peripheral_hr)
FILE(GLOB app_sources src/*.c)
target_sources(app PRIVATE
  ${app_sources}
  )
zephyr_library_include_directories(${ZEPHYR_BASE}/samples/bluetooth)
any assistance is welcomed

221 - 240 of 8790