home.social

#zephyr — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #zephyr, aggregated by home.social.

fetched live
  1. I really need to work out a better way to include libraries into #Zephyr applications. My current setup (using projects in a West manifest, and then a bunch of CMake mumbo-jumbo feels wrong). Perhaps using FetchContent?

  2. I really need to work out a better way to include libraries into #Zephyr applications. My current setup (using projects in a West manifest, and then a bunch of CMake mumbo-jumbo feels wrong). Perhaps using FetchContent?

  3. Note that all of this worked, and as far as I can tell, nothing on my side changed, and it suddenly didn't work any more. Yet, if I look at the commits from the last few weeks, I don't see anything that would indicate any possible area. #Zephyr

  4. Note that all of this worked, and as far as I can tell, nothing on my side changed, and it suddenly didn't work any more. Yet, if I look at the commits from the last few weeks, I don't see anything that would indicate any possible area. #Zephyr

  5. It seems like it should *only* be in libapp.a, so why is it ending up in libzephyr.a? Shouldn't that *just* be OS-level code, and not anything from my code?

    And yet, there it is (nm -C):

    utils.cpp.obj:
    00000000 T coherent::utils::get_random_uint8(unsigned char)
    00000000 T coherent::utils::get_random_uint8(unsigned char, unsigned char)
    00000000 T coherent::utils::get_random_uint8()
    00000000 T coherent::utils::get_random_uint32(unsigned int)
    00000000 T coherent::utils::get_random_uint32(unsigned int, unsigned int)
    00000000 T coherent::utils::get_random_uint32()

    What, for the love of Zeus, is going on here? #Zephyr

  6. It seems like it should *only* be in libapp.a, so why is it ending up in libzephyr.a? Shouldn't that *just* be OS-level code, and not anything from my code?

    And yet, there it is (nm -C):

    utils.cpp.obj:
    00000000 T coherent::utils::get_random_uint8(unsigned char)
    00000000 T coherent::utils::get_random_uint8(unsigned char, unsigned char)
    00000000 T coherent::utils::get_random_uint8()
    00000000 T coherent::utils::get_random_uint32(unsigned int)
    00000000 T coherent::utils::get_random_uint32(unsigned int, unsigned int)
    00000000 T coherent::utils::get_random_uint32()

    What, for the love of Zeus, is going on here? #Zephyr

  7. OK, this is the thing that's happening again... maybe I didn't fix it? First, the error (tweaked to reduce lots of noise)

    .../ld.bfd: zephyr/libzephyr.a(utils.cpp.obj): in function `coherent::utils::get_random_uint8(unsigned char, unsigned char)':
    /Users/petrilli/workspace/foo/lib/coherent-common/src/utils.cpp:22: multiple definition of `coherent::utils::get_random_uint8(unsigned char, unsigned char)'; app/libapp.a(utils.cpp.obj):/Users/petrilli/workspace/foo/lib/coherent-common/src/utils.cpp:22: first defined here

    Which, as best as I can unravel, means that for some reason, Cmake put the utils.cpp.obj compiled file into two different libraries, and then tried to link them together. Yes, that seems bad.

    But why? I have one of these in the application CMakeLIst.txt:

    add_subdirectory_ifdef(CONFIG_COHERENT_COMMON ../../lib/coherent-common coherent-common)

    That should look at the configuration, and add the top-level directory to all the search paths. Great, that's working just fine it seems.

    Then in the coherent-common, I have this in CMakeList.txt:

    if(CONFIG_COHERENT_COMMON)
    zephyr_library_sources(src/utils.cpp)
    zephyr_include_directories(include)
    endif()

    Again, I'm being super careful right now with not using any globbing. What's even more confusing is... this is triggered even if I never include the header file and never call any functions in the library. It *should* be pruning all that out in the process.

    #Zephyr

  8. OK, this is the thing that's happening again... maybe I didn't fix it? First, the error (tweaked to reduce lots of noise)

    .../ld.bfd: zephyr/libzephyr.a(utils.cpp.obj): in function `coherent::utils::get_random_uint8(unsigned char, unsigned char)':
    /Users/petrilli/workspace/foo/lib/coherent-common/src/utils.cpp:22: multiple definition of `coherent::utils::get_random_uint8(unsigned char, unsigned char)'; app/libapp.a(utils.cpp.obj):/Users/petrilli/workspace/foo/lib/coherent-common/src/utils.cpp:22: first defined here

    Which, as best as I can unravel, means that for some reason, Cmake put the utils.cpp.obj compiled file into two different libraries, and then tried to link them together. Yes, that seems bad.

    But why? I have one of these in the application CMakeLIst.txt:

    add_subdirectory_ifdef(CONFIG_COHERENT_COMMON ../../lib/coherent-common coherent-common)

    That should look at the configuration, and add the top-level directory to all the search paths. Great, that's working just fine it seems.

    Then in the coherent-common, I have this in CMakeList.txt:

    if(CONFIG_COHERENT_COMMON)
    zephyr_library_sources(src/utils.cpp)
    zephyr_include_directories(include)
    endif()

    Again, I'm being super careful right now with not using any globbing. What's even more confusing is... this is triggered even if I never include the header file and never call any functions in the library. It *should* be pruning all that out in the process.

    #Zephyr

  9. @azonenberg so, single stepping through the code, the RNG comes up, the entropy sources are running, all the conditioning is working, it's dropping 32b into RNG_DR (the data register), that's constantly changing ..

    So I can't figure out why it thinks the RNG is broken?

    But since it looks like the problem is now in #Zephyr misunderstanding result codes?

    Computers were a mistake.

  10. @azonenberg so, single stepping through the code, the RNG comes up, the entropy sources are running, all the conditioning is working, it's dropping 32b into RNG_DR (the data register), that's constantly changing ..

    So I can't figure out why it thinks the RNG is broken?

    But since it looks like the problem is now in #Zephyr misunderstanding result codes?

    Computers were a mistake.

  11. I wonder what it would take to get LispBM running along side #Zephyr as an extension/scripting layer? There is an example that is walked through, but I feel like this is just using Zephyr as the bottom layer and not as a peer.

    Much to think about.

    I'd honestly like to use Micropython, but it's just too porky. Performance is fine, but if I'm gonna blow that much memory, I might as well use wasm and let someone bring whatever they want.

    lispbm.com/pages/lispbm-zephyr

  12. I wonder what it would take to get LispBM running along side #Zephyr as an extension/scripting layer? There is an example that is walked through, but I feel like this is just using Zephyr as the bottom layer and not as a peer.

    Much to think about.

    I'd honestly like to use Micropython, but it's just too porky. Performance is fine, but if I'm gonna blow that much memory, I might as well use wasm and let someone bring whatever they want.

    lispbm.com/pages/lispbm-zephyr

  13. Zephyr HTTP server (4.0.0 – 4.4.x) is affected by CVE-2026-8023 (HIGH): improper path handling enables unauthenticated remote file access via path traversal (../). Patch status unclear — check advisories & restrict exposure. radar.offseq.com/threat/cve-20 #OffSeq #Zephyr #Infosec #PathTraversal

  14. Zephyr 4.0.0 – 4.4.0 is affected by CVE-2026-10646 (HIGH, CVSS 7.4): use-after-free in getaddrinfo() can cause memory corruption via spoofed DNS responses. Patch pending — limit untrusted network access. radar.offseq.com/threat/cve-20 #OffSeq #Zephyr #CVE #Security

  15. CVE-2026-10643: Zephyr (3.6.0 – 4.4.0) HIGH severity bug enables out-of-bounds kernel heap writes via recvmsg() with IP_PKTINFO. Local users can exploit for memory corruption or escalation. Patch pending — check advisories. radar.offseq.com/threat/cve-20 #OffSeq #Zephyr #CVE202610643 #infosec

  16. And now I have a choice to make... do I rewrite the stm32c5x.c handling of flash erase for #Zephyr to properly account for the EDATA flash (starting at 0x0840 0000), or just "lose" 64K of flash on the chip?

    So weird that ST submitted the code originally (2025-12-16) but it doesn't fully support this part of the chip? That's a lot of storage on an embedded chip to leave on the table.

    I'm just trying to figure out if there's more that needs to be done than just passing LL_FLASH_ERASE_EDATA_AREA instead in erase_page()?

    I think the root of the problem is that I'm not sure how Zephyr deals with multiple different flashes on the same SOC? EDATA is different with either 1.5K or 2K page sizes (versus 8K), depending on some register bits (EDATASEL), so while it's contiguous with the rest of the flash, it isn't the same.

    This may be why it isn't supported... because Zephyr doesn't seem to have a really clear way to implement this.

    Gonna stew on this. Right now, I can burn other flash for configuration storage, but I resent having that much space wasted for no reason.

  17. And now I have a choice to make... do I rewrite the stm32c5x.c handling of flash erase for #Zephyr to properly account for the EDATA flash (starting at 0x0840 0000), or just "lose" 64K of flash on the chip?

    So weird that ST submitted the code originally (2025-12-16) but it doesn't fully support this part of the chip? That's a lot of storage on an embedded chip to leave on the table.

    I'm just trying to figure out if there's more that needs to be done than just passing LL_FLASH_ERASE_EDATA_AREA instead in erase_page()?

    I think the root of the problem is that I'm not sure how Zephyr deals with multiple different flashes on the same SOC? EDATA is different with either 1.5K or 2K page sizes (versus 8K), depending on some register bits (EDATASEL), so while it's contiguous with the rest of the flash, it isn't the same.

    This may be why it isn't supported... because Zephyr doesn't seem to have a really clear way to implement this.

    Gonna stew on this. Right now, I can burn other flash for configuration storage, but I resent having that much space wasted for no reason.

  18. Zephyr <=4.4.0 Bluetooth Host ISO path has CVE-2026-10658 (HIGH). Missing SDU header length checks can cause denial of service (kernel assert) or OOB reads if CONFIG_BT_ISO_RX is enabled. Evaluate mitigations now. radar.offseq.com/threat/cve-20 #OffSeq #Zephyr #CVE #Bluetooth

  19. Генерация тестовой документации с ИИ

    Всем привет! Продолжаю цикл статей про применение ИИ в тестировании. В первой я рассказывала о том, зачем мы пошли в пилот по применению ИИ в тестировании. Во второй — как собирать контекст. В третьей — как тестировать требования, когда контекст уже готов. Сегодня про следующий этап: генерацию тестовой документации : тест-кейсы, чек-листы, матрица покрытия и т.д. Небольшой спойлер: в конце статьи вас ждет ссылка на репозиторий с инструкциями и промтами.

    habr.com/ru/companies/rgs_it/a

    #ии #тестирование #ai #тесткейсы #чеклист #тестовая_документация #zephyr

  20. Lost in #MicroPython build mit #zephyr. Projekt baut, aber gewünschtes Modul wird nicht reinkompiliert. Falls jmd mehr Ahnung hat, gerne melden ;-)

  21. Lost in #MicroPython build mit #zephyr. Projekt baut, aber gewünschtes Modul wird nicht reinkompiliert. Falls jmd mehr Ahnung hat, gerne melden ;-)

  22. HAPS: Гелий, планер и стратосферная базовая станция 6G

    Надвигающийся стандарт сотовой связи 6G принесет нам много новинок, которые я уже разбирал подробно. Лично для меня самой внезапной оказалась концепция HAPS. Напомню, что HAPS расшифровывается как High Altitude Platform Station — высотные платформенные станции. Своей сутью это летающие базовые станции, которые могут надолго зависать над определенным районом и обеспечивать его связью. Плюсов от такого подхода прилично. Судите сами. Мы можем оперативно развернуть связь в любой точке земного шара. В горах, на море или там, где произошло стихийное бедствие и наземная инфраструктура связи погребена под руинами. Если сравнивать с космической связью (тем же Старлинком) то HAPS находятся куда ниже низкоорбитальных спутников. Формально в документах Международного союза электросвязи HAPS — это станция на объекте на высоте 20–50 км. На практике большинство сценариев смотрит в сторону стратосферных высот около 20 км: выше погоды и коммерческой авиации, но на порядок ниже спутниковых орбит. Напомню, что типовая LEO-орбита порядка 500 км. А это значит, что мы можем себе позволить меньшие задержки и меньшую мощность передатчика в сотовом телефоне. Получается, одни плюсы. Только вот есть несколько вопросов. А как к HAPS подвести канал связи? А как туда подвести питание? А как создатели 6G вообще себе представляют атмосферный объект, который днями висит на месте и не падает? Что ж, давайте разбираться!

    habr.com/ru/companies/beget/ar

    #HAPS #HTA #LTA #беспилотник #дрон #6G #3GPP #Zephyr #StarLink #Loon

  23. The Great Castle Adventure (2009: Windows) – Review

    Before reading my review, I would like to outline the criteria I use for video game reviews. Like last time, I will refer to Super Mario Brothers X and Super Mario Brothers X2 as SMBX and SMBX2 to make my review concise. I will refer to this episode as TGCA. Once again, I will be reviewing another SMBX episode, this time, The Great Castle Adventure! The Great Castle Adventure is another one of the earliest SMBX episodes. However, this episode is the first one not developed by SMBX creator […]

    doomfan1.wordpress.com/2026/05

  24. The Great Castle Adventure (2009: Windows) – Review

    Before reading my review, I would like to outline the criteria I use for video game reviews. Like last time, I will refer to Super Mario Brothers X and Super Mario Brothers X2 as SMBX and SMBX2 to make my review concise. I will refer to this episode as TGCA. Once again, I will be reviewing another SMBX episode, this time, The Great Castle Adventure! The Great Castle Adventure is another one of the earliest SMBX episodes. However, this episode is the first one not developed by SMBX creator […]

    doomfan1.wordpress.com/2026/05

  25. Zephyr as base for open PLC platform - Colibri #4

    In this episode, we introduce the Zephyr Project, a very popular Real-Time Operating System (RTOS) and showcase that the Colibri hardware has (for the most part) been successfully adapted for Zephyr.

    #zephyrproject #zephyr #stm32world #homeautomation #industrialautomation #makers #makersgonnamake #plc #plc_programming #homeassistant #colibri #currentmakers

    youtube.com/watch?v=08TAfotF3ok

  26. Zephyr as base for open PLC platform - Colibri #4

    In this episode, we introduce the Zephyr Project, a very popular Real-Time Operating System (RTOS) and showcase that the Colibri hardware has (for the most part) been successfully adapted for Zephyr.

    #zephyrproject #zephyr #stm32world #homeautomation #industrialautomation #makers #makersgonnamake #plc #plc_programming #homeassistant #colibri #currentmakers

    youtube.com/watch?v=08TAfotF3ok

  27. 🚀 A Reims, Latitude (📷) a terminé l'assemblage de son premier modèle de test du second étage de son lanceur #Zephyr. Les essais vont bientôt démarrer sur le site Titan sur l'aéroport de Vatry

  28. 🚀 A Reims, Latitude (📷) a terminé l'assemblage de son premier modèle de test du second étage de son lanceur #Zephyr. Les essais vont bientôt démarrer sur le site Titan sur l'aéroport de Vatry

  29. One of my fun tasks for the next 2 days: Getting to work on an Nucleo-H563ZI using a iC7 pro.

    Extended goal: and on top of that.

  30. Keychron/Keychron-Keyboards-Hardware-Design

    All the industrial design files for Keychron keyboards and mice. Includes CAD models (case, plate, stabilizer, encoder, keycap) for Q, Q Pro, Q HE, K Pro, K Max, K HE, V Max, P HE series and M1–M7 mice. 100+ models. STEP/DXF/PDF formats.

    This project is source-available. Commercial use is strictly prohibited.
    Language: Python

    Stars: 1310 Issues: 4 Forks: 99
    github.com/Keychron/Keychron-K

    #3d_printing #cad #gaming #gaming_keyboard #gaming_mouse #hardware_designs #keyboard #keyboard_firmware #keychron #mechanical_keyboard #mouse #qmk #qmk_firmware #zephyr #zmk #zmk_firmware

  31. Keychron/Keychron-Keyboards-Hardware-Design

    All the industrial design files for Keychron keyboards and mice. Includes CAD models (case, plate, stabilizer, encoder, keycap) for Q, Q Pro, Q HE, K Pro, K Max, K HE, V Max, P HE series and M1–M7 mice. 100+ models. STEP/DXF/PDF formats.

    This project is source-available. Commercial use is strictly prohibited.
    Language: Python

    Stars: 1310 Issues: 4 Forks: 99
    github.com/Keychron/Keychron-K

    #3d_printing #cad #gaming #gaming_keyboard #gaming_mouse #hardware_designs #keyboard #keyboard_firmware #keychron #mechanical_keyboard #mouse #qmk #qmk_firmware #zephyr #zmk #zmk_firmware

  32. There is a #MeshCore port for #Zephyr now! Looking forward to using this and to not needing to mess with #Arduino and #PlatformIO anymore.

    github.com/liquidraver/ZephCore

  33. There is a #MeshCore port for #Zephyr now! Looking forward to using this and to not needing to mess with #Arduino and #PlatformIO anymore.

    github.com/liquidraver/ZephCore

  34. Part 2 of our blog post series about our work on the Zephyr Demo has just been published:
    rcn.pages.igalia.com/blog/post

    If you missed Part 1, check out Ricardo Cañuelo’s page:
    rcn.pages.igalia.com/blog/

    #Zephyr #OpenSource #RTOS #IoT