Hi, could you recommend me an embedded C book or course?, a time ago I read a book about C but was not oriented to embedded (I work with microcontrollers)
Hi, could you recommend me an embedded C book or course?, a time ago I read a book about C but was not oriented to embedded (I work with microcontrollers)
Microchip have some online C programming courses, which may be a starting point or refresher.
Would also suggest, pick up a couple of normal C and C++ books, plus Python, can recommend the classics Brian Kernighan and Dennis Ritchie as well as Bjarne Stroustrup as well as the very much beginners book Problem Solving and Program Design in C by Jeri R. Hanly and Elliot B. Koffman. And then have GNU C/C++ toolchain tutorials (can be online) at a minimum, make sure it includes make and gdb. All of this is not embedded, but they are the extra tools in your bag that will help.
I appear to have this one by Elecia White in my further reading to do list:
https://www.oreilly.com/library/view/making-embedded-systems/9781098151539/
I have that one too. I read it .
I got mileage out of the power saving parts of that book, and the general principles.
I haven't seen a better generic embedded book yet.
That looks interesting! And a lot more modern hehe.
Just remembered one more book that was invaluable to me indirectly; uC/OS by Labrosse. Although I barely used that OS, it taught how OS's worked, which really gets one into very simple OS principles, regardless of the specific microcontroller or OS. It could also be supplemented with more theoretical/academic books on OS principles depending on how interested one is in that area (worth just getting a pass to a uni library and seeing the books there, to get an overview). Also one soon sees the similarities with other OS's, and the commonalities in OS system calls, by reading around without too much care if it's embedded focused to a degree.
Making Embedded Systems is unique in one way: it's not about code. I'd consider it an architecture book. For low power embedded systems with microcontrollers.
The author says (paraphrased): once you developed a commercial design on an Arduino, you realise that it will not last on a battery for 1 day. Welcome to embedded design.
My colleague and I wrote an online book about C coding for microcontrollers: embeetle.com/
I looked at your link but I didn't spot anything with special relevance to micro controllers - did I miss something ?
MK
The general purpose books are fine, and worth reading - if you plan to buy one I suggest at least considering
"Modern C, Jans Gustedt, third edition, ISBN 9781633437777", it's only just become available and its cost about £45 form Amazon. It's long, thorough and covers C23. If you want a comprehensive reference it won't be cheap, and you may as well get one that covers the latest C standard.
But the issues of embedded code on micro controllers vary a lot depending on what you are doing. The current trend is towards treating micros like mainframes with complex layers of abstraction and huge efforts to hide the hardware. Zephyr and PlatformIO exemplify this approach. If you want to go that way I can't help you.
If, on the other hand, you want to control the micro yourself, at the register level, expect to invest much blood and sweat. Your reward will be 10x (absurd generalisation here) the performance on the right projects and you won't be replaced by an AI any time soon. Unfortunately, as Jan has observed, there are few books (I don't actually know of any) that will help you much.
App notes, articles and data sheets are likely to be your primary sources.
MK
It is specifically written for microcontrollers. Some chapters focus on the language itself, other chapters dive into how that applies on microcontrollers.