Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Of course they did that. It's a HAL (hardware abstraction library).

That also means that simple projects are abstracted from the hardware. Means I can go across a dozen different CPU arch and board/pin layouts, and I change nothing in my source. I only change my target and it just works.

I did that when I went from a board operating at 16MHz/atmel to a STmicro running 50MHz. No change in my source. And that's really valuable in rapid prototyping.

Once I settled in on a board and everything, I could do it the "right way" aka the old waterfall-gile embedded approach and get things tweaked and optimized.



The problem is that a lot of this abstraction is done at runtime, not compile time. Your binaries become bloated, your application slow, and you end up using a microcontroller with three times the resources you actually need just to support all the dead weight.


A lot of firmware people consider HAL libraries as harmful. In general, microcontroller companies as pretty terrible at software.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: