Cancelled Event: Zephyr Project: Dev Meeting - Thursday, 8 August 2019
#cal-cancelled
devel@lists.zephyrproject.org Calendar <devel@...>
Cancelled: Zephyr Project: Dev Meeting This event has been cancelled. When: Where: Organizer: Description:
|
|
Re: Adafruit Feature nRF52 bit bang i2c
Tomas McGuinness <tomasmcguinness@...>
After some reading, I settled on these settings:
CONFIG_I2C=y CONFIG_I2C_LOG_LEVEL_INF=y CONFIG_I2C_LOG_LEVEL_ERR=y CONFIG_I2C_LOG_LEVEL_DBG=y
CONFIG_I2C_NRFX=y CONFIG_I2C_0=y CONFIG_I2C_0_NRF_TWI=y
CONFIG_SENSOR=y CONFIG_BME280=y
With your DTS configuration of
&i2c0 { bme280@76 { compatible = "bosch,bme280"; label = "BME280"; reg = <0x76>; }; };
I get this trace!
Everything seems to be working now.
***** Booting Zephyr OS build zephyr-v1.14.0-2748-g4eb85176e325 ***** Simple Light Dev 0x20004350 name BME280 nt: 8 [temp: 22.950000; press: 100.875410; humidity: 51.296875 0:00:00.000,000] <dbg> mpu.region_init: [0] 0x00000000 0x07020024 [00:00:00.000,000] <dbg> mpu.region_init: [1] 0x20000000 0x110b001e [00:00:00.000,000] <dbg> bt_hci_core.bt_hci_driver_register: Registered Controller [00:00:00.000,000] <dbg> BME280.bme280_chip_init: BME280 chip detected [00:00:00.005,126] <dbg> temp_nrf5.temp_nrf5_init: temp: 22.950000; press: 100.875074; humidity: 51.296875 temp: 22.950000; press: 100.874640; humidity: 51.296875 temp: 22.950000; press: 100.874640; humidity: 51.286132 temp: 22.950000; press: 100.874980; humidity: 51.296875
Thanks for pointing me in the right direction, Benjamin!
Tom
Sent from Mail for Windows 10
From: Tomas McGuinness
Benjamin,
I added that entry to a file called nrf52_adafruit_feather.overlay
I had to add CONFIG_I2C_0=y to my proj file also, so it includes these settings now:
CONFIG_I2C=y CONFIG_I2C_0=y
CONFIG_SENSOR=y CONFIG_BME280=y
However, when I flash the adafruit, I get a serious looking error message:
***** Booting Zephyr OS build zephyr-v1.14.0-2748-g4eb85176e325 ***** Simple Light [00:00:00.012,939] <err> os: ***** USAGE FAULT ***** [00:00:00.012,939] <err> os: Attempt to execute undefined instruction [00:00:00.012,969] <err> os: r0/a1: 0x20004324 r1/a2: 0x0000000a r2/a3: 0x0000d4e6 [00:00:00.013,000] <err> os: r3/a4: 0x20001d28 r12/ip: 0x20001c94 r14/lr: 0x00000aab [00:00:00.013,000] <err> os: xpsr: 0x61000000 [00:00:00.013,031] <err> os: Faulting instruction address (r15/pc): 0x00000aba [00:00:00.013,031] <err> os: >>> ZEPHYR FATAL ERROR 0: CPU exception [00:00:00.013,031] <err> os: Current thread: 0x20000f54 (unknown) [00:00:00.072,937] <err> os: Halting system
Sent from Mail for Windows 10
From: Benjamin Lindqvist <benjamin.lindqvist@...>
You need to add the bme280 to your device tree file. Something like:
&i2c0 { };
On Mon, Aug 5, 2019 at 3:04 PM Tomas McGuinness <tomasmcguinness@...> wrote:
|
|
Re: STM32WB55 BLE address
Marcio Montenegro
Thanks, I'll check it out.
On Wed, Aug 7, 2019, 13:57 Rob Weber <rob@...> wrote: Hello,
|
|
Re: STM32WB55 BLE address
Rob Weber
Hello,
On Tue, Aug 06, 2019 at 11:26:59AM -0300, Marcio Montenegro wrote: I am evaluating STM32WB55 board HCI driver.I have not yet worked with any of the bluetooth APIs, but this thread peaked my interest because I am also evaluating the STM32WB55 for an upcoming project. I did a quick search through the bluetooth API and found the function bt_ctlr_set_public_addr [1]. I started digging into its implementation, but I was not able to figure out how this function relates to the rest of the bluetooth system, or how it relates to the STM32WB55 LL/HAL. I would recommend trying this function to see if it meets your needs. Please let me know if it works! I'm definitely curious to know how this might work with the STM32WB55. Cheers, Rob Weber [1] https://docs.zephyrproject.org/latest/reference/bluetooth/controller.html#_CPPv323bt_ctlr_set_public_addrPK4u8_t
|
|
Re: Adafruit Feature nRF52 bit bang i2c
Benjamin Lindqvist
It's not easy to comment on what caused the usage fault without knowing what code is actually running on the device.
On Wed, Aug 7, 2019 at 3:02 PM Tomas McGuinness <tomasmcguinness@...> wrote:
|
|
Re: Adafruit Feature nRF52 bit bang i2c
Tomas McGuinness <tomasmcguinness@...>
Benjamin,
I added that entry to a file called nrf52_adafruit_feather.overlay
I had to add CONFIG_I2C_0=y to my proj file also, so it includes these settings now:
CONFIG_I2C=y CONFIG_I2C_0=y
CONFIG_SENSOR=y CONFIG_BME280=y
However, when I flash the adafruit, I get a serious looking error message:
***** Booting Zephyr OS build zephyr-v1.14.0-2748-g4eb85176e325 ***** Simple Light [00:00:00.012,939] <err> os: ***** USAGE FAULT ***** [00:00:00.012,939] <err> os: Attempt to execute undefined instruction [00:00:00.012,969] <err> os: r0/a1: 0x20004324 r1/a2: 0x0000000a r2/a3: 0x0000d4e6 [00:00:00.013,000] <err> os: r3/a4: 0x20001d28 r12/ip: 0x20001c94 r14/lr: 0x00000aab [00:00:00.013,000] <err> os: xpsr: 0x61000000 [00:00:00.013,031] <err> os: Faulting instruction address (r15/pc): 0x00000aba [00:00:00.013,031] <err> os: >>> ZEPHYR FATAL ERROR 0: CPU exception [00:00:00.013,031] <err> os: Current thread: 0x20000f54 (unknown) [00:00:00.072,937] <err> os: Halting system
Sent from Mail for Windows 10
From: Benjamin Lindqvist <benjamin.lindqvist@...>
Sent: Monday, August 5, 2019 2:13:04 PM To: Tomas McGuinness <tomasmcguinness@...> Subject: Re: [Zephyr-devel] Adafruit Feature nRF52 bit bang i2c You need to add the bme280 to your device tree file. Something like:
&i2c0 {
bme280@76 { compatible = "bosch,bme280"; label = "BME280"; reg = <0x76>; }; };
On Mon, Aug 5, 2019 at 3:04 PM Tomas McGuinness <tomasmcguinness@...> wrote:
|
|
Upcoming Event: Zephyr Project: APIs - Tue, 08/06/2019 9:00am-10:00am, Please RSVP
#cal-reminder
devel@lists.zephyrproject.org Calendar <devel@...>
Reminder: Zephyr Project: APIs When: Tuesday, 6 August 2019, 9:00am to 10:00am, (GMT-07: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/
|
|
STM32WB55 BLE address
Marcio Montenegro
Hi all, I am evaluating STM32WB55 board HCI driver. During my test I found that BLE public address is 02:80:e1:00:00:00 But this microcontroller has an internal flash register to store BLE address and device id. I would like to know the best way to change the address BLE in this case. Best regards, Marcio BLE Stack initialization: [00:00:00.015,000] <dbg> bt_settings.bt_settings_init: Bluetooth initialized Configuration mode: waiting connections... [00:00:00.187,000] <inf> bt_hci_core: Identity: 02:80:e1:00:00:00 (public) [00:00:00.187,000] <inf> bt_hci_core: HCI: version 5.0 (0x09) revision 0x0026, manufacturer 0x0030 [00:00:00.187,000] <inf> bt_hci_core: LMP: version 5.0 (0x09) subver 0x2126 Get correct BLE address: udn = LL_FLASH_GetUDN(); if(udn != 0xFFFFFFFF) { company_id = LL_FLASH_GetSTCompanyID(); device_id = LL_FLASH_GetDeviceID(); bd_addr_udn[0] = (uint8_t)(udn & 0x000000FF); bd_addr_udn[1] = (uint8_t)( (udn & 0x0000FF00) >> 8 ); bd_addr_udn[2] = (uint8_t)( (udn & 0x00FF0000) >> 16 ); bd_addr_udn[3] = (uint8_t)device_id; bd_addr_udn[4] = (uint8_t)(company_id & 0x000000FF);; bd_addr_udn[5] = (uint8_t)( (company_id & 0x0000FF00) >> 8 ); bd_addr = (const uint8_t *)bd_addr_udn; }
|
|
API meeting: Agenda
Carles Cufi
Hi all,
This week we will look at: Agenda: - GPIO: Quick confirmation of API suitability * See: https://github.com/zephyrproject-rtos/zephyr/issues/15611#issuecomment-516488369 - Sensor API: Update on progress if contributors present 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: ARMv8 Cortex-M TrustZone configuration
Kevin Townsend
Hi Johnny, This doesn't use the LPC55S69-EVK at the moment -- it's based on a development board designed by ARM -- but it is relevant to your question and gives an initial example of TF-M in the secure processing environment (SPE) and Zephyr in the NSPE: This PR in it's current state can't be merged since there are some CI issues to resolve (work ongoing there), but if you look at samples/tfm_integration you will find a basic example that documents how the image merge and signing process works for this setup. If you're interested in getting involved with TF-M and Zephyr, any participation and contributions are of course always welcome, and I would suggest joining the Zephyr Slack where most of the adtive contributors are day to day. #general is a good place to start, but #memoryprotection may be of interest to you as well. Best regards, Kevin
On Tue, 6 Aug 2019 at 14:17, Johnny Daniels via Lists.Zephyrproject.Org <0x450=protonmail.ch@...> wrote:
|
|
ARMv8 Cortex-M TrustZone configuration
Johnny Daniels
Hello Zephyr devel universe, I have an NXP LPC55S69-EVK development board. It is based on an ARMv8 Cortex-M CPU with the TrustZone extension. Zephyr officially supports this board. I want to run Zephyr OS inside the Non-Secure World and have the Secure World free for other services. Question 1: Is this possible with the current version of the Zephyr project? If the answer to the above question is yes, then Question 2: How to achieve this separation using Zephyr's build system? Can you point me to a documentation? I can see GitHub issues and KConfig parameters which suggest that this should theoretically be possible. What I expect is something similar to: - The Zephyr build system should produce 2 binaries (for the Secure and Non-Secure worlds respectively) and 1 shared library, which is statically linked to the Non-Secure binary (for the Non-Secure-Callable veneers). - The Secure binary is the bootloader, the code which configures the TrustZone separation and then starts the Non-Secure kernel. - The Non-Secure binary starts with the kernel initialisation and continues until the execution of the application threads. - Executing `west flash` should be able to flash the Secure and Non-Secure binaries independently from one another. Question 3: From the kernel developer's perspective: What do you guys expect from Zephyr's users? How should users configure the Secure/Non-Secure domains? Regards, Johnny
|
|
Re: Why the smp version of zephyr kernel "idle" task implent the "k_busy_wait(100)" delay?
Andy Ross
FWIW: the reason for the busy wait is to reduce the number of calls to k_yield() which needs to enter the scheduler and obviously take a spinlock for synchronization. If you have one CPU spinning on the scheduler lock, the other is going to constantly have to contend for it and you get a performance disaster.
FWIW: we have an IPI framework now. This is straightforward to fix.
Andy
On 8/4/19 5:41 PM, Boie, Andrew P
wrote:
|
|
Re: [EXT] [Zephyr-users] Zephyr SDK 0.10.2-rc1 available
Kumar Gala
Yeah, that’s merged now.
toggle quoted messageShow quoted text
:) - k
On Aug 5, 2019, at 4:01 AM, Andrei Gansari <andrei.gansari@...> wrote:
|
|
Re: Adafruit Feature nRF52 bit bang i2c
Benjamin Lindqvist
You need to add the bme280 to your device tree file. Something like: &i2c0 { bme280@76 { compatible = "bosch,bme280"; label = "BME280"; reg = <0x76>; }; };
On Mon, Aug 5, 2019 at 3:04 PM Tomas McGuinness <tomasmcguinness@...> wrote:
|
|
Adafruit Feature nRF52 bit bang i2c
Tomas McGuinness <tomasmcguinness@...>
Hello,
I’m quite new to Zephyr and I’m trying to connect a BME280 to an Adafruit Feature nRF52832. As the I2C device driver isn’t available on the Adafruit Feature nRF52832, I want to try and use the Big Bang approach. I’m using the latest build of Zephyr.
My prj.config includes these settings:
CONFIG_I2C=y CONFIG_I2C_GPIO=y
CONFIG_SENSOR=y CONFIG_BME280=y
When I try and build the project using west, I get
west build -b nrf52_adafruit_feather
In file included from C:/Development/zephyrproject/zephyr/drivers/sensor/bme280/bme280.c:24: C:/Development/zephyrproject/zephyr/drivers/sensor/bme280/bme280.h:111:2: error: #error "BME280 device type not specified" #error "BME280 device type not specified" ^~~~~ C:/Development/zephyrproject/zephyr/drivers/sensor/bme280/bme280.c: In function 'bme280_init': C:/Development/zephyrproject/zephyr/drivers/sensor/bme280/bme280.c:357:22: warning: unused variable 'data' [-Wunused-variable] struct bme280_data *data = dev->driver_data; ^~~~ In file included from C:/Development/zephyrproject/zephyr/include/drivers/sensor.h:23, from C:/Development/zephyrproject/zephyr/drivers/sensor/bme280/bme280.c:11: C:/Development/zephyrproject/zephyr/drivers/sensor/bme280/bme280.c: At top level: C:/Development/zephyrproject/zephyr/drivers/sensor/bme280/bme280.c:385:29: error: 'DT_INST_0_BOSCH_BME280_LABEL' undeclared here (not in a function); did you mean 'DT_INST_0_SOC_NV_FLASH_LABEL'? DEVICE_AND_API_INIT(bme280, DT_INST_0_BOSCH_BME280_LABEL, bme280_init, &bme280_data, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/Development/zephyrproject/zephyr/include/device.h:107:11: note: in definition of macro 'DEVICE_AND_API_INIT' .name = drv_name, .init = (init_fn), \ ^~~~~~~~ [79/177] Building C object zephyr/drivers/i2c/CMakeFiles/drivers__i2c.dir/i2c_gpio.c.obj C:/Development/zephyrproject/zephyr/drivers/i2c/i2c_gpio.c:94:12: warning: 'i2c_gpio_init' defined but not used [-Wunused-function] static int i2c_gpio_init(struct device *dev) ^~~~~~~~~~~~~ C:/Development/zephyrproject/zephyr/drivers/i2c/i2c_gpio.c:89:30: warning: 'api' defined but not used [-Wunused-variable] static struct i2c_driver_api api = { ^~~
I know the Adafruit supports I2c (since it marks two pins for it). I also look at a look at the dts file for this board and can see an etry:
&i2c0 { sda-pin = <25>; scl-pin = <26>; };
Is support for the i2c device a work in progress?
Any help would be appreciated.
Sent from Mail for Windows 10
|
|
Re: [EXT] [Zephyr-users] Zephyr SDK 0.10.2-rc1 available
Andrei Gansari
Will not work in current mainline, unless you apply https://github.com/zephyrproject-rtos/zephyr/pull/17984
toggle quoted messageShow quoted text
Andrei Gansari
-----Original Message-----
From: users@... <users@...> On Behalf Of Kumar Gala via Lists.Zephyrproject.Org Sent: Friday, August 2, 2019 6:36 PM To: zephyr-devel <zephyr-devel@...>; zephyr-users@... Cc: users@... Subject: [EXT] [Zephyr-users] Zephyr SDK 0.10.2-rc1 available Caution: EXT Email Hi, Latest version of the SDK can be found here: https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fzephyrproject-rtos%2Fsdk-ng%2Freleases%2Ftag%2Fv0.10.2-rc1&data=02%7C01%7Candrei.gansari%40nxp.com%7C76dce26ca04a4a350c2108d7175f282f%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637003569775968607&sdata=XyPtEs%2BkmpQap%2FxD9M%2BGu5tHNKtCM11tpNN3IIISgls%3D&reserved=0 Please download and try things out and report any issues. Changes since the last release: • Updated to QEMU 4.0.0 • Added aarch64 qemu target for use w/Cortex-R support (for xlnx-zcu102 target) • Updated openocd for bug fix on TI CC13x2/CC26x2 platforms. - k
|
|
Re: Why the smp version of zephyr kernel "idle" task implent the "k_busy_wait(100)" delay?
Boie, Andrew P
There’s an open bug for this:
https://github.com/zephyrproject-rtos/zephyr/issues/6157
Andrew
From: devel@... <devel@...>
On Behalf Of "???
Hi everyone:
whey the SMP version of zephyr kernel idle task has involke the "k_busy_wait"? and it is especially unreasonable to pass the delay time with 100. why not 200, 300, 400..... and so on?
i cant very catch the comment with reason " to prevent the lock condentation" if there are lock condention exists, can the contention corner case be avoided just with a deay time?? i just cant understand the present implementation thanks for your kindly help.
void idle(void *unused1, void *unused2, void *unused3)
while (true) {
曹子龙 珠海全志科技股份有限公司 BU1-PSW 地址:广东省珠海市高新区唐家湾镇科技2路9号 TEL:13824125580 Email:caozilong@... 网址: http://www.allwinnertech.com
|
|
Why the smp version of zephyr kernel "idle" task implent the "k_busy_wait(100)" delay?
"曹子龙
Hi everyone:
whey the SMP version of zephyr kernel idle task has involke the
"k_busy_wait"? and it is especially unreasonable to pass the delay time
with 100. why not 200, 300, 400..... and so on? i
cant very catch the comment with reason " to prevent the lock
condentation" if there are lock condention exists, can the contention
corner case be avoided just with a deay time?? i just cant understand the present implementation thanks for your kindly help. void idle(void *unused1, void *unused2, void *unused3) { ARG_UNUSED(unused1); ARG_UNUSED(unused2); ARG_UNUSED(unused3); while (true) { k_busy_wait(100); k_yield(); } 曹子龙 珠海全志科技股份有限公司 BU1-PSW 地址:广东省珠海市高新区唐家湾镇科技2路9号 TEL:13824125580 Email:caozilong@... 网址: http://www.allwinnertech.com
|
|
Request for comments: standard practice for driver-specific extensions
Peter A. Bigot
As discussed in TSC 2019-06-26 there is a need to provide access to extended capabilities when there’s an existing generic subsystem API (like GPIO or COUNTER), but a specific device has additional features that can’t be expressed. Zephyr draft PR 17072 presents a technical solution using a stubbed real-world device. It now includes a documentation update with the technical details. Zephyr issue 11993 provides some background. Zephyr PR 17631 provides the complete ready-to-merge device implementation for an I2C-based high accuracy real-time clock that can be used as a 1 Hz counter. In the devel review telecon 2019-08-01 we agreed to ask TSC to vote in the 2019-08-07 meeting (next week) on whether the approach described in 11072 is acceptable. Please review and provide feedback on #17072 in preparation for that vote. If approved #17631 may be a candidate feature for v2.0.0.
|
|
Zephyr SDK 0.10.2-rc1 available
Kumar Gala
Hi,
Latest version of the SDK can be found here: https://github.com/zephyrproject-rtos/sdk-ng/releases/tag/v0.10.2-rc1 Please download and try things out and report any issues. Changes since the last release: • Updated to QEMU 4.0.0 • Added aarch64 qemu target for use w/Cortex-R support (for xlnx-zcu102 target) • Updated openocd for bug fix on TI CC13x2/CC26x2 platforms. - k
|
|