[{"data":1,"prerenderedAt":278},["ShallowReactive",2],{"/blog/zephyr-v4-4-0":3,"/blog/zephyr-v4-4-0-surround":271},{"id":4,"title":5,"authors":6,"badge":12,"body":14,"date":256,"description":257,"extension":258,"image":259,"meta":260,"navigation":261,"path":262,"seo":263,"sitemap":264,"stem":265,"tags":266,"__hash__":270},"posts/3.blog/20260525.zephyr-v4-4-0.md","Infuse-IoT SDK: Zephyr v4.4.0",[7],{"name":8,"to":9,"avatar":10},"Jordan Yates","/about/team",{"src":11},"/images/team/headshot-jordan.png",{"label":13},"Embeint",{"type":15,"value":16,"toc":249},"minimark",[17,28,31,48,57,62,65,96,111,115,118,139,148,162,166,175],[18,19,20],"p",{},[21,22],"img",{"alt":23,"className":24,"src":26,"width":27},"Embeint Blog Pictures",[25],"rounded-lg","/images/blog/20262525.zephyr-v4-4-0.png",1200,[18,29,30],{},"Zephyr v4.4.0 released last month, and we have been busy upgrading and validating Infuse-IoT\nfor the new release to ensure applications upgrade as smoothly as possible. As Infuse-IoT is a full application\nstack and not just a networking management library, this is always an involved process.",[18,32,33,34,41,42,47],{},"At the same time as Zephyr was updated to Zephyr v4.4.0, our nRF-SDK ",[35,36,40],"a",{"href":37,"rel":38},"https://github.com/Embeint/sdk-nrf",[39],"nofollow","export"," that integrates Nordic specific functionality (Bluetooth SoftDevice, LTE Modem, etc) was updated to ",[35,43,46],{"href":44,"rel":45},"https://docs.nordicsemi.com/bundle/ncs-3.3.0/page/nrf/releases_and_maturity/releases/release-notes-3.3.0.html",[39],"v3.3.0",".",[18,49,50,51,56],{},"Of course existing users can continue to use the Zephyr ",[35,52,55],{"href":53,"rel":54},"https://github.com/Embeint/infuse-sdk/tree/zephyr-v4.3",[39],"v4.3.0 based branch",", which will continue to receive bugfixes as required.",[58,59,61],"h2",{"id":60},"new-capabilities","New Capabilities",[18,63,64],{},"Our initial efforts have been focused on a smooth transition, but Zephyr v4.4.0 contains a host of new functionality\nthat we are excited to integrate in the future.",[66,67,68,72,81,90,93],"ul",{},[69,70,71],"li",{},"NAND flash support (Already present in v4.3.0 based Infuse-IoT)",[69,73,74,75,80],{},"Nordic Semiconductor ",[35,76,79],{"href":77,"rel":78},"https://www.nordicsemi.com/Products/nRF54LM20B",[39],"nRF54LM20"," (with integrated NPU) support",[69,82,83,84,89],{},"A ",[35,85,88],{"href":86,"rel":87},"https://docs.zephyrproject.org/latest/services/connectivity/lora_lorawan/index.html",[39],"native Zephyr"," LoRa backend, with LoRaWAN support on the way",[69,91,92],{},"More efficient Cortex-M switching",[69,94,95],{},"Core cryptography library rework, with the core algorithm implementations extracted from MbedTLS to TF-PSA-Crypto",[18,97,98,99,104,105,110],{},"Check out the official ",[35,100,103],{"href":101,"rel":102},"https://www.zephyrproject.org/zephyr-rtos-4-4-now-available-wireguard-wi-fi-direct-openrisc-and-more/",[39],"release announcement"," and ",[35,106,109],{"href":107,"rel":108},"https://docs.zephyrproject.org/latest/releases/release-notes-4.4.html",[39],"release notes"," for a more complete list of features.",[58,112,114],{"id":113},"upgrade-challenges","Upgrade Challenges",[18,116,117],{},"Zephyr v4.4.0 comes with the standard array of identifier renamings, everything from Kconfig symbols to function names.\nOnce found, these are easily rectified with a global find and replace.",[18,119,120,121,126,127,132,133,138],{},"The big challenge this release cycle was keeping the acceleration of our core cryptographic functions after the split of\n",[35,122,125],{"href":123,"rel":124},"https://github.com/Mbed-TLS/mbedtls",[39],"MbedTLS"," into MbedTLS and ",[35,128,131],{"href":129,"rel":130},"https://github.com/Mbed-TLS/TF-PSA-Crypto",[39],"TF-PSA-Crypto",".\nThis is a great change for the future as it extracts the core cryptography implementation from the TLS codebase, but it comes\nwith a fundamental rework of the way operations are accelerated. Unfortunately the current tooling for accelerators is\nunder-developed, with no built-in support for the majority of operations and an\n",[35,134,137],{"href":135,"rel":136},"https://github.com/Mbed-TLS/TF-PSA-Crypto/blob/development/docs/psa-driver-example-and-guide.md#process-for-entry-points-where-auto-generation-is-not-implemented",[39],"official recommendation","\nto manually patch the auto-generated files.",[18,140,141,142,147],{},"Since all Infuse-IoT packets are encrypted with the ChaCha20-Poly1305 AEAD algorithm, we get big efficiency gains\nfrom accelerating this function. The Nordic supplied ",[35,143,146],{"href":144,"rel":145},"https://github.com/nrfconnect/sdk-oberon-psa-crypto",[39],"Oberon software acceleration"," provides a 3x speedup that we are not willing to give up.",[18,149,150,151,155,156,161],{},"As of Zephyr v4.4.0 there is no way for Zephyr applications or modules to integrate acceleration without forking the\n",[152,153,154],"code",{},"tf-psa-crypto"," module, so we have ",[35,157,160],{"href":158,"rel":159},"https://github.com/zephyrproject-rtos/zephyr/pull/109634",[39],"proposed"," a solution\nupstream to resolve this issue for all users in the future. Naturally this is already available in Infuse-IoT SDK, with\nacceleration of ChaCha20-Poly1305 and the SHA hashing algorithms available on Nordic SoCs.",[58,163,165],{"id":164},"embeint-upstream-contributions","Embeint Upstream Contributions",[18,167,168,169,174],{},"Zephyr is the core of our ecosystem offering, and Embeint strives to contribute as much as possible back to the project upstream. Over the course of the Zephyr v4.4.0 release cycle, we had ",[35,170,173],{"href":171,"rel":172},"https://github.com/zephyrproject-rtos/zephyr/pulls?q=is%3Apr+author%3AJordanYates+merged%3A2025-11-12..2026-04-13",[39],"49 PRs"," merged upsteam, including:",[66,176,177,188,198,208,219,229,239],{},[69,178,179,184,185],{},[35,180,183],{"href":181,"rel":182},"https://github.com/zephyrproject-rtos/zephyr/pull/103793",[39],"#103793",": ",[152,186,187],{},"modules: trusted-firmware-m: Enable OTA upgrades from Zephyr v4.x",[69,189,190,184,195],{},[35,191,194],{"href":192,"rel":193},"https://github.com/zephyrproject-rtos/zephyr/pull/100845",[39],"#100845",[152,196,197],{},"flash: spi_nand: initial generic driver",[69,199,200,184,205],{},[35,201,204],{"href":202,"rel":203},"https://github.com/zephyrproject-rtos/zephyr/pull/100411",[39],"#100411",[152,206,207],{},"utils: timeutil: option to disable clock skew",[69,209,210,184,215,218],{},[35,211,214],{"href":212,"rel":213},"https://github.com/zephyrproject-rtos/zephyr/pull/105242",[39],"#105242",[152,216,217],{},"scripts: west_commands: tab completion for board revisions",":",[69,220,221,184,226],{},[35,222,225],{"href":223,"rel":224},"https://github.com/zephyrproject-rtos/zephyr/pull/99351",[39],"#99351",[152,227,228],{},"audio: common PDM channel configuration",[69,230,231,184,236],{},[35,232,235],{"href":233,"rel":234},"https://github.com/zephyrproject-rtos/zephyr/pull/95362",[39],"#95362",[152,237,238],{},"lora: optional packet CRC and lora_airtime",[69,240,241,184,246],{},[35,242,245],{"href":243,"rel":244},"https://github.com/zephyrproject-rtos/zephyr/pull/75802",[39],"#75802",[152,247,248],{},"storage: disk_access: add disk_access_erase",{"title":250,"searchDepth":251,"depth":251,"links":252},"",2,[253,254,255],{"id":60,"depth":251,"text":61},{"id":113,"depth":251,"text":114},{"id":164,"depth":251,"text":165},"2026-05-25T00:00:00.000Z","Infuse-IoT SDK updated to Zephyr v4.4.0.","md",{"src":26},{},true,"/blog/zephyr-v4-4-0",{"title":5,"description":257},{"loc":262},"3.blog/20260525.zephyr-v4-4-0",[267,268,269],"Embedded","Zephyr","Infuse-IoT","5afltNjLfq74H0G7wzEBqVJD8CQubU5TfI4TccN8BoA",[272,277],{"title":273,"path":274,"stem":275,"description":276,"children":-1},"Zephyr: Resizing devicetree partitions","/blog/resizing-zephyr-devicetree-partitions","3.blog/20251108.resizing-zephyr-devicetree-partitions","Resize partitions from their default sizes to optimise flash usage.",null,1779925794601]