I have a deep appreciation of these hardware topics -- the sheer ability to squeeze out extra performance and implement features at such a low-level with such little hardware, beyond the initial scope of its creators, really conveys a sense of elegance and planning that seems lost in our current world of brute-force methods
Not OP, but I’ve dabbled in nRF91 recently and found that once your application starts doing anything interesting (MCUboot, OTA, softSIM, etc.) the code size explodes. It is particularly difficult to keep TFM down to a manageable size. 1 MB of flash really doesn’t go that far these days.
Years ago I worked on the nRF52 series with the “old” SDK and felt I had much greater control. I understood the build system. Maybe I’m just grumpy and don’t like change…
That's a Zephyr thing. Same on STM32, add an otherwise trivial driver for some peripheral that has a bunch of dependencies, and then your codesize explodes by 60KB.
Nordic is one of the largest contributors to Zephyr though. I get the feeling that they are pushing hard to make it the de-facto RTOS for embedded stuff.
I feel like the whole Zephyr ecosystem is geared towards reducing "time to blinky on every devkit you have" at the expense of mid- to late-stage development efforts. Driver maintainers want their stuff to work out of the box, so they enable _everything_ and code size becomes the end customer's problem.
grumble grumble, I don't like where this is heading.
I have a deep appreciation of these hardware topics -- the sheer ability to squeeze out extra performance and implement features at such a low-level with such little hardware, beyond the initial scope of its creators, really conveys a sense of elegance and planning that seems lost in our current world of brute-force methods
Author here -- thanks for posting! Happy to discuss Nordic chipsets, Wi-Fi support, etc. if anyone has any questions or follow up topics.
Thoughts on Zephyr? Especially wrt code size. I've heard all kinds of things regarding the requirement for it with Nordic chips
Not OP, but I’ve dabbled in nRF91 recently and found that once your application starts doing anything interesting (MCUboot, OTA, softSIM, etc.) the code size explodes. It is particularly difficult to keep TFM down to a manageable size. 1 MB of flash really doesn’t go that far these days.
Years ago I worked on the nRF52 series with the “old” SDK and felt I had much greater control. I understood the build system. Maybe I’m just grumpy and don’t like change…
That's a Zephyr thing. Same on STM32, add an otherwise trivial driver for some peripheral that has a bunch of dependencies, and then your codesize explodes by 60KB.
Nordic is one of the largest contributors to Zephyr though. I get the feeling that they are pushing hard to make it the de-facto RTOS for embedded stuff.
I feel like the whole Zephyr ecosystem is geared towards reducing "time to blinky on every devkit you have" at the expense of mid- to late-stage development efforts. Driver maintainers want their stuff to work out of the box, so they enable _everything_ and code size becomes the end customer's problem.
grumble grumble, I don't like where this is heading.