Hacker News new | ask | show | jobs
by blippage 1587 days ago
I've downloaded Zephyr, but haven't produced anything useful with it. I was put off by the learning curve. It also suffers from a lot of these OS's do: layer upon layer of abstraction. I also hate everyone's weird and wonderful build tool.

Some stuff looks like it might be implemented well in these OS's, like using DMA, and suchlike. So they could possibly be fast. And yet, I think the way to bet is that they will be slower. Get comfortable with CMSIS, and your results are likely to be substantially faster.

Maybe throw in a bit of FreeRTOS if you feel you need it. I haven't experimented with tinygo yet, but I wonder if that's the way to go if you want concurrency.

I think that the whole notion of abstracting away the machine is an ill-conceived idea anyway, particularly when it comes to microcontrollers. The whole point of mcus is to use their particular features and strengths, which basically the opposite of abstraction.

I dunno, if something is complicated enough to use Zephyr, then maybe it's complicated enough to just ditch it and use a Raspberry Pi.

1 comments

There's this intersection point in the MCU/SoC world where you can get by with a Cortex-M3/M4/M7 and need solid multitasking but don't have an MMU. ucLinux is a dead end, and then you have FreeRTOS (sorry, AmazonRTOS) or ThreadX (cough, AzureRTOS). And if you can afford GreenHills Integrity you probably aren't reading HN anyway.

I spent a year hacking with a Broadcom-supplied fork of Zephyr to Cortex-A and it was just a mess. It never worked right. Maybe it does now and it's mainline but I wouldn't trust it.

For a project started by WindRiver, taken over by Intel, then released to OSS it's mind-boggling how bad of a state it was in given its age.