Help flashing Zephyr to a Reel bord
#reel_board
#flash
Marco Cavallini
Hello,
I started experimenting Zephyr and I followed the Getting Started guide https://docs.zephyrproject.org/latest/getting_started/index.html In such page you are mentioning the Phytec reel_board as the official reference board, so I bought it. Unfortunately I am unable to find any document explaining in detail how to connect and program it. The board is totally unusable and Phytec support is not very useful. When I connect the board to my Linux PC using the USB cable it isn't detected from lsusb nor dmesg I am not able to understand how to flash Zephyr on it. Does anybody can give me advice how to use this reference board with Zephyr? Thanks -- Marco
|
|
Using the loramac-node module
forum.contas@...
I'm starting a simple project for testing the Zephyr port of the Loramac-node, but it's failing to compile.
I've added the necessary prj.conf config lines: CONFIG_LORA=y CONFIG_HAS_SEMTECH_LORAMAC=y CONFIG_HAS_SEMTECH_RADIO_DRIVERS=y And I'm using one of the sample apps provided by the loramac-node module. Compilation always fails because it can't find any of the loramac-node include .h files, but checking the build files, it seems the paths are there for the Zephyr CMakeList.txt module file, and also west list command works and shows that the loramac-node module is available. Any ideas or tips?
|
|
Carles Cufi
Hi Nikos,
The Cryptocell requires proprietary software that is not part of Zephyr. If you’d like to use the Cryptocell I recommend you take a look at Nordic’s Zephyr-based SDK, the nRF Connect SDK: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/index.html
Regards,
Carles
From: users@... <users@...>
On Behalf Of Nikos Karamolegkos via lists.zephyrproject.org
Sent: 02 October 2020 16:59 To: users@... Subject: [Zephyr-users] Hardware acceleration using cryptocell engine in #nrf52840 #crypto
Hello, I am going to use mbedtls library in order for sha256 hash calculation and ECDSA verify using nrf52840-dk. I can not find any configuration parameter for hardware acceleration. The device supports the cryptocell 310 engine. Is this
enabled/supported by zephyr's mbedtls? If yes, is there any parameter to enable it or disable it?
|
|
Nikos Karamolegkos
Hello, I am going to use mbedtls library in order for sha256 hash calculation and ECDSA verify using nrf52840-dk. I can not find any configuration parameter for hardware acceleration. The device supports the cryptocell 310 engine. Is this enabled/supported by zephyr's mbedtls? If yes, is there any parameter to enable it or disable it?
Also, has anybody idea what is it "better" to use tinycrypt or mbedtls? I already use mbedtls as transport layer security for the LWM2M for this reason I am considering to use it for hashing etc (is already imported).
|
|
Re: STM32: Ethernet Driver not working on F7 and H7 with 2.4.0
#networking
#driver
#ethernet
#stm32
Dejavu, I think I have seen this question before. I don’t have a H7 or F7, but I remember a similar question was posted in April. Here is what it said, unfortunately there was no follow up to say if this helped or not.:
Hi Erik,
you are running out of RX network buffers. Try to increase the value of CONFIG_NET_BUF_RX_COUNT and optionally CONFIG_NET_PKT_RX_COUNT options.
Cheers, Jukka
On Sun, 2020-04-19 at 23:58 -0700,
erik.samyn@... wrote:
> Hi, > > I'm implementing mqtt on an nucleo stm32 board (stm32f767zi). The > communication from the broker seemed to work OK at first, however when > stressing the communication a bit the next error appears multiple > times in the log: > ==> "<err> eth_stm32_hal: Failed to obtain RX buffer". > > What can be the cause of this? > > Kind regards > > Erik Samyn >
Lawrence King Principal Developer +1(416)627-7302
From: users@... <users@...>
On Behalf Of andreas.eberhart@...
Dear all,
Has anyone encountered this behavior with the Ethernet driver on the STM32? It seems like the ethernet driver (eth_stm_32_hal.c) is not able to pass on the received packets to the buffer using net_pkt_rx_alloc_with_buffer().
|
|
STM32: Ethernet Driver not working on F7 and H7 with 2.4.0
#networking
#driver
#ethernet
#stm32
andreas.eberhart@...
Dear all,
We try to run the net/sockets/packet sample on both, the Nucleo F746ZG and the H747I Discovery Board an run into the following issue with version 2.4.0 (works fine with 2.3.0 on F7): Has anyone encountered this behavior with the Ethernet driver on the STM32? It seems like the ethernet driver (eth_stm_32_hal.c) is not able to pass on the received packets to the buffer using net_pkt_rx_alloc_with_buffer(). Regards, Andreas
|
|
Re: LWM2M client to nrf582540-DK
#nrf52840
#networking
Nikos Karamolegkos
Hi all, I would like to ask you if I can change the lwm2m observer period. There is enough delay (some seconds), after calling lwm2m_engine_set_u8("5/0/3", STATE_IDLE) until the server get informed.
|
|
STM32: Moving devices pin configuration to device tree
Erwan Gouriou
TL;DR: - Upcoming device tree based pin configuration for STM32 based boards - Script generated, SoC package specific *-pinctrl.dtsi files are available in hal_stm32 modules - Each *.pcintrl.dtsi file provides a complete set of valid pin configurations for targeted STM32 package - Generation script is provided and can be used to generate new pin configuration variants (low power, ...) - One driver (STM32 serial) and two boards converted today as proof of concept - Contributions are welcome to achieve deprecation of existing pinmux.c files within V2.5.0 merge window To all STM32 users and developers, We're in the final step of reviewing PR #25996 "stm32: devices signals configuration from dt pinctrl nodes": https://github.com/zephyrproject-rtos/zephyr/pull/25996 This PR introduces the required material to enable device pin configuration using device tree. With this method, device pin configuration should no longer be done in pinmux.c board file, but in .dts file. For instance, to enable PB6 as TX and PB7 as RX on USART1, the following lines should be added in .dts board file, in usart1 node: &usart1 { current-speed = <115200>;+ pinctrl-0 = <&usart1_tx_pb6 &usart1_rx_pb7>; + pinctrl-names = "default"; status = "okay"; }; As a consequence, pin configuration can now be done at device driver level, opening the way to dynamic pin configuration, which could be useful in various fields such as low power management. Also, it provides flexibility in application configuration as pin configurations could then be modified in using overlays. Pin control nodes are defined using Linux pinctrl bindings. For instance, usart1_tx_pb6 is defined as +usart1_tx_pb6: usart1_tx_pb6 { + pinmux = <STM32_PINMUX('B', 6, AF7)>; + bias-pull-up; +}; Definition of nodes usart1_tx_pb6 and usart1_rx_pb7 could be provided manually but to assist in board configuration, SoC variant package specific -pinctrl.dtsi files are provided and should be included in the board dts files. For instance, for board disco_l475_iot1: #include <st/l4/stm32l475Xg.dtsi> +#include <st/l4/stm32l475r(c-e-g)tx-pinctrl.dtsi> #include "arduino_r3_connector.dtsi" *-pinctrl.dtsi files provide known working pin configurations which could be overwritten at board level to fit a specific need. These files are hosted in hal_stm32 module (under dts/st/), one for each STM32 SoC package. These files are generated from STM32 .xml description files (currently delivered in ST STM32CubeMx tool). Using the appropriate -pinctrl.dtsi file allows benefiting from the full list of valid pinctrl nodes for a SoC package that is used on a board, reducing the risk of pin misconfiguration. The -pinctrl.dtsi generation script is also provided and could be used to add or modify pinctrl node variants, or to provide a new set of -pinctrl.dtsi files if a new STM32 SoC shows up. This new method could coexist with current pinmux.c configuration (beware of the pin conflicts as usual, though). For now, PR #25996 only provides the tooling for dts based pin configuration. Only one driver (STM32 serial) and 2 boards have been modified as proof of concept (cf PR for more details). Next step is to extend its usage to existing STM32 boards and drivers. Target is to get rid of in tree pinmux.c files for V2.5.0, so their usage could be deprecated. I invite STM32 codeowners and contributors to help us in this task. Out of tree users are also encouraged to perform this change on their respective boards. Big thanks to Gerard Marull-Paretas (@gmarull) who helped me with this PR and provided the pinctrl.dtsi files generation script. Cheers Erwan
|
|
RFC: API Change: k_work
Peter A. Bigot
In accordance with policy
your attention is drawn to #28794
which summarizes and outlines the motivation for a change to the
k_work infrastructure, specifically with how k_delayed_work
functions behave. These changes are motivated by #27356.
Please raise high level concerns in that issue, and the specific changes in #28589. Peter
|
|
Stefan Hristozov
Hi all,
I have a set up consisting of nRF52840 and Raspberry Pi4 communicating over IPSP. The nRF52840 application needs to send data with 6,4KByte/s. My nRF52840 prj.conf is: # Thread Priorities
CONFIG_NUM_COOP_PRIORITIES=2
CONFIG_NUM_PREEMPT_PRIORITIES=3
# Timer
CONFIG_COUNTER=y
# PWM
CONFIG_PWM=y
# SPI
CONFIG_SPI=y
# Generic networking options
CONFIG_NETWORKING=y
CONFIG_NET_UDP=y
CONFIG_NEWLIB_LIBC=y
# Socket
CONFIG_NET_SOCKETS=y
CONFIG_NET_SOCKETS_POSIX_NAMES=y
CONFIG_NET_SOCKETS_POLL_MAX=4
# CoAP
CONFIG_COAP=y
CONFIG_COAP_WELL_KNOWN_BLOCK_WISE=n
# Kernel options
CONFIG_ENTROPY_GENERATOR=y
CONFIG_TEST_RANDOM_GENERATOR=y
# Logging
CONFIG_PRINTK=y
CONFIG_NET_LOG=y
# # Network Shell
CONFIG_NET_SHELL=y
# Configuration
CONFIG_NET_CONFIG_SETTINGS=y
CONFIG_NET_CONFIG_BT_NODE=y
CONFIG_NET_MAX_CONTEXTS=6
CONFIG_NET_PKT_RX_COUNT=10
CONFIG_NET_PKT_TX_COUNT=10
CONFIG_NET_BUF_RX_COUNT=20
CONFIG_NET_BUF_TX_COUNT=20
CONFIG_NET_L2_BT=y
# IPv6 Support
CONFIG_NET_IPV4=n
CONFIG_NET_IPV6=y
CONFIG_NET_CONFIG_MY_IPV6_ADDR="2001:db8::1"
CONFIG_NET_CONFIG_PEER_IPV6_ADDR="2001:db8::2"
# RAM configuration
CONFIG_INIT_STACKS=y
CONFIG_MAIN_STACK_SIZE=10240
CONFIG_HEAP_MEM_POOL_SIZE=10240
# Configure Bluetooth LE
CONFIG_BT=y
CONFIG_BT_DEBUG_LOG=n
CONFIG_BT_SMP=y
CONFIG_BT_PERIPHERAL=y
CONFIG_BT_CENTRAL=y
CONFIG_BT_L2CAP_DYNAMIC_CHANNEL=y
CONFIG_BT_CTLR_DATA_LENGTH_CLEAR=y
CONFIG_BT_CTLR_DATA_LENGTH_MAX=251
CONFIG_BT_DEVICE_NAME="medisec-dev"
CONFIG_BT_DATA_LEN_UPDATE=y
CONFIG_BT_AUTO_DATA_LEN_UPDATE=y
CONFIG_BT_PERIPHERAL_PREF_MAX_INT=7
CONFIG_BT_PERIPHERAL_PREF_MIN_INT=6
CONFIG_BT_L2CAP_TX_MTU=2000
CONFIG_BT_CTLR_PHY_2M=y
Unfortunately I get the following warning: [00:00:20.695,800] <wrn> bt_l2cap: No credits to transmit packet How to get rid of that? BR Stefan
|
|
ninja: error: loading 'build.ninja' - Windows
Kashyap Gada <gada.kashyap@...>
Dear All, I tried to install basic zephyr installation from the getting started page on windows. Everything installed fine. When I am trying to build sample blink project by calling - west build -p auto -b nucleo_l053r8 samples\basic\blinky I get the following error. ninja: error: loading 'build.ninja': The system cannot find the file specified. FATAL ERROR: command exited with status 1: 'C:\Program Files\CMake\bin\cmake.EXE' --build 'D:\Software\zephyr\zephyrproject\zephyr\build' Environment variables are set as per the toolchain tutorial D:\Software\zephyr\zephyrproject\zephyr>echo %ZEPHYR_TOOLCHAIN_VARIANT% gnuarmemb D:\Software\zephyr\zephyrproject\zephyr>echo %GNUARMEMB_TOOLCHAIN_PATH% C:\gnu_arm_embedded I don't how to go ahead please help. Regards Kashyap
|
|
ninja: error when build in the share fold of VM
#west
mfinmuch@...
I execute ubuntu18 in VM and test zephyr project is successful
However, since the program cannot be transferred under win, do zephyr project in the shared folder
But, west cannot create the build.ninja file in the build folder I command on ubuntu 18 is successful /zephyrproject/zephyr/samples/hello_world$ west build -p auto -b nrf52840dk_nrf52840 I command in share fold(/mnt/hgfs/..) /mnt/hgfs/ble/zephyrproject/zephyr/samples/hello_world$ west build -p auto -b nrf52840dk_nrf52840
ninja: error: loading 'build.ninja': No such file or directory
FATAL ERROR: command exited with status 1: /usr/bin/cmake --build /mnt/hgfs/ble/zephyrproject/zephyr/samples/hello_world/build
and I check where two folds different, under /build it doesn't have build.ninja How to solve the problem that make me can run the zephyr project in vm share fold
|
|
robin@...
I'm running Zephyr OS on a stm32f429i-eval (similar to the stm32f429-disc1 except for the crystal).
|
|
Arnaud Mouiche
Are you in interruption context when trying to read/write in the
callback ?
toggle quoted messageShow quoted text
I doubt this is a good idea to access a filesystem from such place... (may sleep, may block...) You should defer the read/write see https://docs.zephyrproject.org/latest/reference/kernel/threads/workqueue.html#system-workqueue & co Arnaud
Le 22/09/2020 à 14:26, Nikos
Karamolegkos a écrit :
Update: if I write and read in a function without some condition (i.e button is pressed) works fine. The problem is when the write/read process is taking place to button_pressed callback function.
|
|
Nikos Karamolegkos
Update: if I write and read in a function without some condition (i.e button is pressed) works fine. The problem is when the write/read process is taking place to button_pressed callback function.
|
|
Nikos Karamolegkos
Hello again,
I am following the NVS sample to create my own code in order to write to the NVS filesystem. The idea is to change a uint8 variable in the NVS when the button is pressed. Therefore, when the button is pressed I use the nvs_write function to change the variable value and the function returns 1(which means that one byte was written) . If I read the variable value after the write function I see the previous value of the variable. Is there any bug?
|
|
API meeting cancelled today
Carles Cufi
Hi all,
In order to focus on the release itself I have cancelled the API meeting today. Next week it will take place as usual. Regards, Carles
|
|
Chettimada, Vinayak Kariappa
Hi,
Regards, Vinayak
From: users@... <users@...>
On Behalf Of valens.dsilva via lists.zephyrproject.org
Sent: 22 September 2020 02:29 To: users@... Subject: [Zephyr-users] #ble #hci #usb
Hi,
When I use btmon to list the supported commands of the adapter I do not see commands such as:
|
|
valens.dsilva@...
Hi,
I am new to Zephyr and I'm trying to expose the LE PHY setting to a RPI Linux Host system. The controller is an nrf52840 dongle acting as a HCI USB device. The dongle will interact with the BLuez stack on the Pi (Bluez 5.55) I have the following prj.conf setting which I took from this person https://devzone.nordicsemi.com/f/nordic-q-a/65679/zephyr-os---nrf52840-dongle-with-long-range?ReplySortBy=CreatedDate&ReplySortOrder=Descending
When I use btmon to list the supported commands of the adapter I do not see commands such as:
Can someone point me to missing CONFIG values I need? Thanks
|
|
Using: Windows 10, nRF Connect v3.5.0, SES v4.52, ncs v1.3.0, zephyr v2.3.0 I have a custom board based on the Nordic Thingy91 and the Asset Tracker application. There is also an LIS2DW12 present on SPI. In "prj.conf", I added these lines: CONFIG_SENSOR=y
CONFIG_TEMP_USE_EXTERNAL=y
CONFIG_TEMP_USE_SIM=n
CONFIG_SENSOR_SIM=n
CONFIG_SPI=y
CONFIG_SPI_NRFX=y
CONFIG_SPI_3=y
CONFIG_ACCEL_USE_EXTERNAL=y
CONFIG_LIS2DW12=y
CONFIG_ACCEL_DEV_NAME="LIS2DW12"
CONFIG_LIS2DW12_ODR_1_6=y
CONFIG_LIS2DW12_ACCEL_RANGE_2G=y
I modified the Thingy91 board devicetree file "thingy91_nrf9160_common.dts": &spi3 {
compatible = "nordic,nrf-spim";
status = "okay";
sck-pin = <16>;
mosi-pin = <13>;
miso-pin = <14>;
cs-gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
lis2dw12 {
compatible = "stm,lis2dw12";
label = "LIS2DW12";
spi-max-frequency = <10000000>;
int1-gpios = <&gpio0 17 GPIO_ACTIVE_HIGH>;
};
};
In "lis2dw12.c", I added these lines to the top:
#define DT_DRV_COMPAT stm_lis2dw12 #define LIS2DW12 DT_INST(0, stm_lis2dw12)
In SES, it builds quite far, but I get an error: C:/engr/ncs/v1.3.0/zephyr/drivers/sensor/lis2dw12/lis2dw12.c:227: undefined reference to `lis2dw12_spi_init' In "lis2dw12.c", this section is grayed out: #if DT_ANY_INST_ON_BUS_STATUS_OKAY(spi)
#include <drivers/spi.h>
#elif DT_ANY_INST_ON_BUS_STATUS_OKAY(i2c)
#include <drivers/i2c.h>
#endif
Which means it never includes the spi.h file. What am I missing? I can force the issue, but it just shifts the problem and doesn't solve it.
|
|