Beginning STM32: Developing with FreeRTOS, libopencm3 and GCC
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.
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
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.
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.
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!
E**D
Excellent value.
This is a must have book if you want to try your hand at programming an ARM without using the Arduino framework. Well thought out content with great examples. Pretty much everything in this book is online in some shape or form, but what is your time worth?
A**1
This is a how-to for STM32, FreeRTOS, libopencm3, and gcc for makers and engineers.
Some context and perspective. I am an experienced software engineer working mostly on embedded Linux. I started tinkering with Arduino a couple of years ago, and yes they are fun, but the single threading causes complications that are inherently not present in multi-threaded systems.The author offers a set of recipes for using the various peripherals on the STM32, and doing so with FreeRTOS and thus providing a multi-threaded environment.Whats great about this book is that the author has provided a functional framework from which to quickly get started with working examples, and explanations. Sure I could do the research, and figure out the details, but its far more fun to make progress upfront rather than spend days/weeks/months getting started.I think this book works for the maker, all the way to an experienced engineer. Although I'm writing this before doing the exercises, I'm unconcerned that there might be some technical errors or typos that could cause some headaches (if they exist) because the book illustrates the things that need to be configured, how to configure them, and how to use them. I fully expect to have to troubleshoot things that I setup/implement incorrectly, or where there might be a typo.
A**A
Excellent STM32 book
If you want to program STM32 more seriously instead of playing around with Arduino, then this book is for you.
F**R
Un livre complet au allure de tutoriel
Ce livre est parfait si vous souhaitez commencer à programmer avec votre STM32 dans un environnement Open-Source. Cependant il n'est pas adapté aux débutants en informatique car il faut connaître les commandes Linux et l'architecture des microcontrôleurs.
M**O
Lettura consigliata per iniziare con gli STM32 e FreeRTOS
Un libro molto ben scritto e molto scorrevole con un mucchio di esempi, dedicato però a chi già sa programmare in C (o C++) a livello intermedio. Già durante la configurazione dell’ambiente di sviluppo possono verificarsi intoppi dovuti all’evoluzione del software e delle procedure di installazione sui vari sistemi operativi, per cui è necessaria un minimo di esperienza pregressa con la configurazione delle toolchain di GCC.Dopodiché tutti gli esempi sono disponibili su GitHub, il testo è chiaro e semplice da seguire, le sezioni importanti e quelle che devono essere sempre presenti sono indicate con chiarezza.Assolutamente raccomandato a tutti quelli a cui i vari Arduino e similari iniziano a stare stretti e vogliono iniziare a guardare oltre il mondo degli ATMega e della programmazione a singolo task.
ترست بايلوت
منذ شهر
منذ شهر