Full description not available
J**M
Excellent introduction to libopencm3 and FreeRTOS
I've been using STM's HAL libraries but find them too high level, while bare metal programming (search for Frank Duignan's excellent posts online) are a bit too low level for me. I wanted to get to know the libopencm3 libraries as an option and this book did it for me while introducing FreeRTOS at the same time. The author does give helpful pointers on where to find more detailed information in STM32 F1 reference manual and the libopencm3 documentation. I may find myself eventually reading all 1000+ pages of the RM0008 manual, but reading this book first gave me a good overview and understanding. You can check out the contents of each chapter on apress dot com
N**L
Good introduction to electronics & embedded hardware
It throws you in the deep end if you are new to electronics and C programming but I liked that. I am about half way through the book and have found that all the open source software installed well on my Linux Ubuntu system. All of the projects have worked so far and I have learnt an enormous amount. The author has taken into account forum discussions on the STM32 blue pill chip which is at the heart of the book. This means he knows in advance how to avoid certain pitfalls. Highly recommended.
M**R
Exactly what it says on the tin
Really good start into the STM32, libopencm3 and FreeRTOS. An enjoyable informative read regardless of which STM32 board you are going for. It's timeless, no nonsense development style probably means it will be a good start into firmware for many years to come.
K**A
A slightly chaotic book with some helpful parts
This is my second review of a book I got to learn STM32 programming. And the second one when I give 4 stars for the effort, where 3 would be more objective.However, TL;DR: This is probably the best book for beginners on this subject I've seen.First of all, I hate the visual design of the book. I really wish in this time and age that we had books like this printed in colour. But that is not my problem - there are many black and white books (a majority even) but the way this one is designed makes things difficult to discern. But kudos for using line numbers. It makes reading what the author is referring to so much easier. This should be a norm for programming books.Secondly, this starts as a book for people who jump the ship from Arduino to the world of serious programming of ARM Cortex-M MCUs. But the further you go the more in deep muddy waters you find yourself. For example, what's push-pull versus open drain? If you know only Arduino world or even AVR 8-bit MCUs then GPIO ports with two dozen possible combination of options is overwhelming, and I don't feel the author explained things clearly enough. Another example - UART, the author says the GPIO port clock and UART clock need to be enabled, but why? Some explanation on which options should be used and what happens when you choose 10 MHz on the port pin instead of 2 MHz? Well I don't know that from reading the first half of the book and I doubt I'll find it by the end.My kudos, however, for choosing to use only barebones compilers and tools. Most IDEs are Windows only (and I'm on a Mac) and even then the most basic license can cost $/€150-1000 if you don't want to work under some (sometimes so unwisely) limiting constraints. I love the fact the author presents open source FreeRTOS and libopencm3 projects both of which are not trivial to understand, but are fairly approachable and not that difficult to start using them. It's regrettable that the author doesn't explain very thoroughly what certain functions do - but this is understandable from the premise of the book having been written for Arduino aficionados. Yet I had went through a book on AVR programming from Make and there I learned a lot about how to set bit in registers and how to check flags and use some very low level commands. Here everything is abstracted away, where I think deeper understanding could be useful (even if it was a short part of every chapter with some more detailed info).Very useful parts of the book are lists of functions (and their arguments) related to a particular subject and 'ducks in a row' list of steps and gotchas. This is certainly useful as a reference and guide for the readers.Overall I think, even though there is a lot I don't like about the book, that this is one of the best books on the subject, and certainly the best a beginner coming from Arduino/AVR world can currently get.
C**S
Did get me started but I was expecting a more bare metal approach
TLDR: Overall yes this book did get me started, but heavy reliance on libopencm3 and FreeRTOS wasn't quite my style. I was expecting a more bare metal approach, like "Make: AVR Programming" by Elliot Williams. where he highlights parts of the the AVR manual that the reader should pay attension to, guiding the reader in learning how to read the AVR datasheets and manuals.This book did give me insights on how to start, the downside is perhaps the heavy reliance on libopencm3 and FreeRTOS. For people who are software engineers and are able to write Makefiles to compile C programs, this book doesn't quite cover the importance of linker scripts, code overlays, and vector tables untill much much later (chapter 9: code overlays). I was perhaps expecting the book to be a little more bare metal, starting from teaching the reader how to read the manual and do things without external libraries to start. A good example would be "Make: AVR Programming" by Elliot Williams, where he guides the user through minimal basics, and ramps up quickly to enable the reader to do i2C, USART, PWM, SPI communication. I appreciate that STM32 is extremely configurable and that libopencm3 and FreeRTOS does do a lot of the heavy lifting, but it comes at the cost of hiding details that would enable the reader to learn more about the STM32F1 chip.
A**R
Beginning STM32: Developing with FreeRTOS, libopencm3 and GCC
Good book for learning the basics of STM32. Nothing bad about it.
M**L
Five Stars
Programming in Linux aspecially phisical computing is so exaiting!
Trustpilot
1 day ago
2 weeks ago