Re: SDK 0.11.1 Release
Nashif, Anas
Hi,
Thanks Kumar. Please note that this version of the SDK is now required for development on master and is enabled in CI. Anas On 03/02/2020, 05:56, "users@lists.zephyrproject.org on behalf of Kumar Gala" <users@lists.zephyrproject.org on behalf of kumar.gala@linaro.org> wrote: Hi, Some minor fixes that got missed for the v0.11.0 release. Mostly impacts OpenOCD and newlib usage. The SDK can be found here: https://github.com/zephyrproject-rtos/sdk-ng/releases/tag/v0.11.1 Please download and try things out and report any issues. OpenOCD: • Fixed missing commits from rebase - related to ARC and Zephyr RTOS awareness Newlib: • Removed setting -DMISSING_SYSCALL_NAMES on builds. Make syscall function names consistent and naming compatible with 3rd party GNU toolchains. Thanks to all that contributed fixes and enhancements to this version of the SDK. - k
|
|
SDK 0.11.1 Release
Kumar Gala
Hi,
Some minor fixes that got missed for the v0.11.0 release. Mostly impacts OpenOCD and newlib usage. The SDK can be found here: https://github.com/zephyrproject-rtos/sdk-ng/releases/tag/v0.11.1 Please download and try things out and report any issues. OpenOCD: • Fixed missing commits from rebase - related to ARC and Zephyr RTOS awareness Newlib: • Removed setting -DMISSING_SYSCALL_NAMES on builds. Make syscall function names consistent and naming compatible with 3rd party GNU toolchains. Thanks to all that contributed fixes and enhancements to this version of the SDK. - k
|
|
Pauli
Dear all,
if somebody tumbles here with google about the parity, i found no way to do it from device tree, but 8-databits, even parity, 1 stopbit seems to work in my case with patch pasted below. There are devicetree bindings on the same file, but nothing regarding the parity (i could make pull for this single case, but i guess the modifications should go to serial-device tree bindings, and that sounds like larger pull that i am afraid i do not have time). Also, ror the record: with this setup one can use HC-05 with stm32_min_dev board, and with burned in st-system bootloader one can achive "update over bluetooth" using stm32loader.py: shell command to enter bootloader (writes to backup registers that next reset jump to bootloader, followed by system reset) -- and then closes command terminal and runs stm32loader.py over bluetooth. Br, Pauli diff --git a/drivers/serial/uart_stm32.c b/drivers/serial/uart_stm32.c index 3d0dd1ca84..03948225a0 100644 --- a/drivers/serial/uart_stm32.c +++ b/drivers/serial/uart_stm32.c @@ -671,8 +671,8 @@ static int uart_stm32_init(struct device *dev) /* 8 data bit, 1 start bit, 1 stop bit, no parity */ LL_USART_ConfigCharacter(UartInstance, - LL_USART_DATAWIDTH_8B, - LL_USART_PARITY_NONE, + LL_USART_DATAWIDTH_9B, + LL_USART_PARITY_EVEN, LL_USART_STOPBITS_1); if (config->hw_flow_control) {
|
|
Re: Adding a costume module to my project
#west
Bolivar, Marti
Hi,
toggle quoted messageShow quoted text
Please check your build directory's zephyr_modules.txt file to make sure it is being included in the list. If it's not, please check where you are setting ZEPHYR_EXTRA_MODULES again. If it is present in zephyr_modules.txt but you're not seeing it get compiled, please try debugging with this PR: https://github.com/zephyrproject-rtos/zephyr/pull/22321 If that patch doesn't generate any errors, I suspect your module's CMakeLists.txt is not building the source code. HTH, Marti "Stefan Hristozov via Lists.Zephyrproject.Org" <stefan.hristozov=aisec.fraunhofer.de@lists.zephyrproject.org> writes:
Hi,
|
|
Re: Adding a costume module to my project
#west
Stefan Hristozov
Hi,
toggle quoted messageShow quoted text
I moved set ( $ENV{ZEPHYR_EXTRA_MODULES} pbs_path/module1) before include ( $ENV{ZEPHYR_BASE} /cmake/app/boilerplate.cmake NO_POLICY_SCOPE) project (NONE) Unfortunately I am still getting the same linker error. Best regards Stefan Am 01/29/2020 um 02:10 AM schrieb Bolivar, Marti:
"stefan.hristozov via Lists.Zephyrproject.Org" --
Stefan Hristozov Department Hardware Security Fraunhofer Institute for Applied and Integrated Security AISEC Lichtenbergstraße 11, 85748 Garching near Munich, Germany Tel. +49 89 32299 86 157 stefan.hristozov@aisec.fraunhofer.de http://www.aisec.fraunhofer.de http://twitter.com/FraunhoferAISEC
|
|
Re: Adding a costume module to my project
#west
Bolivar, Marti
"stefan.hristozov via Lists.Zephyrproject.Org"
<stefan.hristozov=aisec.fraunhofer.de@lists.zephyrproject.org> writes: Hi,Looking at this quickly, ZEPHYR_EXTRA_MODULES needs to be set before including the boilerplate file, not before. You can also set it as an ordinary CMake variable; you don't need to set it in the environment. HTH, Marti Best regards
|
|
Adding a costume module to my project
#west
Stefan Hristozov
Hi,
I want to add a module to my project. My folder structure looks like this: <top dir> |---modules | |---module1 | | |---CMakeLists.txt | | |---inc | | |---src | | |---zephyr | | |---module.yml | |---module2 |---app |---app1 Where modules/module1/CMakeLists.txt: zephyr_interface_library_named(test) target_include_directories(test INTERFACE inc) zephyr_library() zephyr_library_sources( src/test.c ) zephyr_library_link_libraries(test) target_link_libraries(test INTERFACE zephyr_interface) modules/module1/zephyr/module.yml: build: cmake: . app/app1/CMakeLists.txt: cmake_minimum_required(VERSION 3.13.1)
include($ENV{ZEPHYR_BASE}/cmake/app/boilerplate.cmake NO_POLICY_SCOPE)
project(NONE)
set($ENV{ZEPHYR_EXTRA_MODULES} pbs_path/module1)
FILE(GLOB app_sources src/*.c)
target_sources(app PRIVATE ${app_sources})
target_include_directories(app PRIVATE $ENV{ZEPHYR_BASE}/subsys/net/ip)
target_link_libraries(app PRIVATE test)
Unfortunately, with this set up module1 doesn't get compiled and I get a linker error when I try to use functions from that module. I assume that something goes wrong with ZEPHYR_EXTRA_MODULES but I don't know what. Best regards Stefan
|
|
Pauli
Hello all,
I have been doing development with stm32f103 (blue-pill) board - and it has the system bootloader burned in. The bootloader uses settings 115200, 1 stop, even parity [1]. I would like to change my "normal" uart settings accordingly. I tried googling for device tree bindings, but it seems like there is no bindings for parity at device-tree level? If device tree has no support for parity - i guess it is OK to re-initialize the uart with proper settings in early "application" main() ? Long story: I have successfully flashed the device with UART_1 using stm32loader.py over wire and wireless. Now final aim is to do firmware upgrade with the system bootloader over bluetooth by connecting HC-05 to the serial port and enter the bootloader programatically (by writing certain value to backup-registers, and checking that value on early boot). It shall require (for simplicity) that "normal mode" and "bootloader mode" shall use same uart settings. I tested that flashing over bluetooth seems to work ( but is painfully slow ). [1] St / AN3155 Br, Pauli
|
|
API meeting: Agenda
Carles Cufi
Hi all,
I cannot attend today so Peter Bigot will kindly chair the meeting instead. The discussion will be centered exclusively around the completion of the GPIO transition into its new API. - Driver conversion check: - https://github.com/zephyrproject-rtos/zephyr/issues/18530 - Users conversion check: - https://github.com/zephyrproject-rtos/zephyr/issues/20017 - Walk-through of the proposed merge procedure by the topic-gpio branch active manager, Peter Bigot: - https://github.com/zephyrproject-rtos/zephyr/issues/21789#issuecomment-578810880 - Establish a timeline for completion of the full process 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: Sample app hello_world fails with z_arm_usage_fault in arm_core_mpu_enable when linked in RAM
robmcgurrin@...
Hi Maureen, Thank you for your reply. I will give it a try. Just to follow up, what if I want to run my code out of SDRAM? Thanks Rob
On Mon, Jan 27, 2020 at 4:04 PM Maureen Helm (OSS) <maureen.helm@...> wrote:
|
|
Bluetooth peripheral - correct way of updating internal characteristic's value
Martin Kozusky
Hello,
I have defined characteristic, which can be read, it's user_data is pointing to buffer1. Now when I want to read the data by central, Characteristic Attribute read callback is called. In this callback, I can do something like in "samples/bluetooth/peripheral" static ssize_t read_vnd(struct bt_conn *conn, const struct bt_gatt_attr *attr, void *buf, u16_t len, u16_t offset) { const char *value = attr->user_data; return bt_gatt_attr_read(conn, attr, buf, len, offset, value, strlen(value)); } and just return the content of buffer1 itself (if I am correct and attr->user_data points to it) now the question is - I have a new content for buffer1 prepared in buffer2 and in procedure called from main(), I do memcpy(buffer1,buffer2,sizeof(buffer1)). Can it happen, that the memcpy instructions are interrupted by read callback, so that buffer1 is inconsistent and I should use some locking mechanism (which one?) or is memcpy safe operation and buffer1 should always be ok? Or is there any other suggested way of updating characteristic's value than just modifying the buffer1 directly? Thanks.
|
|
Re: Sample app hello_world fails with z_arm_usage_fault in arm_core_mpu_enable when linked in RAM
Maureen Helm
Hi Rob, You can set the following Kconfigs in your prj.conf:
CONFIG_CODE_ITCM=y CONFIG_DATA_DTCM=y
See soc/arm/nxp_imx/rt/Kconfig.soc for more details.
Maureen
From: users@... <users@...>
On Behalf Of robmcgurrin via Lists.Zephyrproject.Org
Sent: Friday, January 24, 2020 12:22 PM To: users@... Cc: users@... Subject: [Zephyr-users] Sample app hello_world fails with z_arm_usage_fault in arm_core_mpu_enable when linked in RAM
Hi, #ifdef CONFIG_XIP #define ROMABLE_REGION SRAM #define RAMABLE_REGION SRAM #else #define ROMABLE_REGION SRAM #define RAMABLE_REGION SRAM #endif And then I added this to prj.conf CONFIG_HAVE_CUSTOM_LINKER_SCRIPT=y CONFIG_CUSTOM_LINKER_SCRIPT="foo_linker.ld"
|
|
Re: Feedback requested on west manifest imports
Bolivar, Marti
Hello,
I've cut a new west pre-release today (0.6.99.dev5) which is feature complete for manifest imports. The main new feature since 0.6.99.dev4 is you can now use whitelists and blacklists to filter what projects you import, with a slight change of plan from the original proposal which is reflected in the documentation. We'd like to wrap up this west release in the next week or two, so if you have any more feedback, please let us know! This introductory file is still valid: https://github.com/mbolivar/my-zephyr-app/blob/master/README.rst The working documentation build is still here: https://builds.zephyrproject.org/zephyrproject-rtos/zephyr/20433/docs/guides/west/manifest.html#manifest-imports You may need to clear your browser cache and reload to get the latest build. Thanks, Marti
|
|
Sample app hello_world fails with z_arm_usage_fault in arm_core_mpu_enable when linked in RAM
robmcgurrin@...
Hi,
I am running on a nxp i.mx RT1064 eval, board mimxrt1064_evk. I created a custom linker file to link the app to SRAM. Here are the mods I made to the default linker file include/arch/arm/aarch32/cortex_m/scripts/linker.ld to force everything into SRAM: #ifdef CONFIG_XIP
#define ROMABLE_REGION SRAM
#define RAMABLE_REGION SRAM
#else
#define ROMABLE_REGION SRAM
#define RAMABLE_REGION SRAM
#endif
And then I added this to prj.confCONFIG_HAVE_CUSTOM_LINKER_SCRIPT=y
CONFIG_CUSTOM_LINKER_SCRIPT="foo_linker.ld" When I run the app I get this fault: z_arm_usage_fault () at arch/arm/core/aarch32/fault_s.S:92 Any suggestions? Is there a better way to link my app to RAM? Thanks in advance, Rob
|
|
Re: Windows hosted development
Carles Cufi
Hi Peter,
As you will have noticed in our Getting Started Guide for Windows (https://docs.zephyrproject.org/latest/getting_started/index.html), we only really propose two solutions:
So I really don’t think that the statement “Getting started guide has too many open ended solutions for windows host” is accurate.
Regarding your requirements:
Windows IDE-support of some kind, such as visual studio or eclipse, including both build and debug working out of the box.
Those are easily achieved using the default cmd.exe instructions and then either Eclipse or VS Code. In fact, the section describing Eclipse debugging assumes running on a Windows host: https://docs.zephyrproject.org/latest/application/index.html?highlight=eclipse#eclipse-debugging
If you’d like to contribute instructions on how to use VS Code instead, please do so as a pull request. A starting point for that might be: https://github.com/bus710/zephyr-rtos-development-in-linux Most of the instructions in that GitHub repo should apply to Windows.
Regards,
Carles
From: users@... <users@...>
On Behalf Of PeterFromSwe via Lists.Zephyrproject.Org
Sent: 23 January 2020 15:45 To: users@... Cc: users@... Subject: [Zephyr-users] Windows hosted development
Hi
Are options for windows development documented somewhere. Getting started guide has too many open ended solutions for windows host I think.
There are so many alternatives such as Two separate physical boxes including everything. Turn chair to switch... Windows host with some remote desktop to physical machine. Windows host with some remote desktop to virtualmachine. Windows host with shared folders to virtualmachine and ssh. Windows host with linux subsystem Windows host with CMD (Possibly Linux host combinations as well but that is another topic...)
What is important to achieve is Windows IDE-support of some kind, such as visual studio or eclipse, including both build and debug working out of the box.
Riot has a convenient virtual machine (through vagrant) for builds and windows hosted debugging in eclipse supported through shared folders to vm. Maybe some inspiration from there?
Regards /Peter
|
|
SDK 0.11.0 Release
Kumar Gala
Hi,
Latest version of the SDK can be found here: https://github.com/zephyrproject-rtos/sdk-ng/releases/tag/v0.11.0 Please download and try things out and report any issues. General: • Replaced riscv32 tools with multilib for riscv64 toolchain • Dropped package of MIPS toolchain at this point • Removed x86 IAMCU toolchain • Improved install process / packaging of tools • can get individual arch toolchains • don't need to install as root • prompt for setting up env for you • Replaced multiple x86 toolchains with single x86_64 toolchain for 32 & 64-bit • Improve support for building on Ubuntu 18.04 host • ARM aarch64 support • Added SPARC support [experimental] OpenOCD: • Bump baseline to 20200116 • Removed support for Quark • Various ARC fixes/updates QEMU: • Bump to version 4.2.0 • Pull in Xilinx Cortex-R support • Pull in LEON2 SPARC support GCC: • Bumped to GCC 9.2.0 Host Tools: • Removed sound-open-firmware-tools as it wasnt used NEWLIB: • Added nano-variant builds • Enabled long-long support in full newlib build • Support newlib retargetable locking configuration Thanks to all that contributed fixes and enhancements to this version of the SDK. - k
|
|
Windows hosted development
Hi Are options for windows development documented somewhere. Getting started guide has too many open ended solutions for windows host I think. There are so many alternatives such as Two separate physical boxes including everything. Turn chair to switch... Windows host with some remote desktop to physical machine. Windows host with some
remote desktop to virtualmachine.
Windows host with shared folders to virtualmachine and ssh. Windows host with linux subsystem Windows host with CMD (Possibly Linux host combinations as well but that is another topic...) What is important to achieve is Windows IDE-support of some kind, such as visual studio or eclipse, including both build and debug working out of the box. Riot has a convenient virtual machine (through vagrant) for builds and windows hosted debugging in eclipse supported through shared folders to vm. Maybe some inspiration from there? Regards /Peter
|
|
UART DFU from nRF9160 to nRF52840
ljaynes87@...
I am looking to DFU an nrf52840 over UART from an nRF9160. The board is set up similar to the Thingy:91. The firmware will be downloaded over LTE on the 9160 and will need to be sent over to the 52840 via UART. Would be best place to start be the smp_svr sample? I know the sample instructions suggest using the mcumgr Command-Line Tool but I need to do this from the 9160. Does the smp_svr provide support for the 9160 to run the DFU commands and start an update on the 52840?
|
|
Re: API meeting: agenda
Carles Cufi
Hi all,
toggle quoted messageShow quoted text
I'd like to amend the agenda for today's meeting with the following PRs which have been waiting for resolution for a while: - PR: Validate pin ordinals in wrapper functions - https://github.com/zephyrproject-rtos/zephyr/pull/20115 - PR: Add discussion of terms that define API behavior - https://github.com/zephyrproject-rtos/zephyr/pull/21678 Regards, Carles
-----Original Message-----
|
|
Re: Signaling/Messaging Userspace from Kernel
Justin Huang
Thank you Andrew very much for the explanation! Very helpful.
Justin
From: Boie, Andrew P <andrew.p.boie@...>
Sent: Sunday, January 19, 2020 5:49 PM To: Justin Huang <justin.y.huang@...>; users@... <users@...> Subject: RE: [Zephyr-users] Signaling/Messaging Userspace from Kernel
If you look closely you will see that there is no capability for user mode functions to install a callback handler. This type of operation is supervisor mode only.
In the callback handler the application has registered from supervisor mode (typically at application initialization), use an IPC object to wake up a user thread for further processing.
There’s some example code in samples/userspace/prod_consumer
This is something we’d like to iterate on further so if you can come up with some scenarios that you don’t think are well supported please file GH enhancement tickets and assign to me for further discussion.
HTH, Andrew
From: users@... <users@...>
On Behalf Of Justin Huang
Hi,
Could someone shed some light on ways in Zephyr for Kernel to signal, or send a message to, threads running in the userspace?
I see some examples using callback functions, but wonder if that is a good practice: it is generally a security risk to run a function provided by a userspace application in the supervisor mode.
Any thoughts/pointers/suggestions would be greatly appreciated.
Many thanks in advance and with kind regards,
Justin
|
|