Recent Posts
CAN Bus Programming With STM32, Developing with FreeRTOS, libopencm3 and GCC
Posted by
onUsing FreeRTOS and libopencm3 rather than the Arduino software environment, this book will assist you in developing multi-tasking applications that go beyond Arduino norms.
In addition to the standard peripherals found in the typical Arduino device, the STM32 system includes a USB controller, RTC (Real Time Clock), DMA (Direct Memory Access controller), CAN Bus, and more.
Each chapter includes precise explanations of the STM32 hardware capabilities to help you get started with the device, including GPIO and various other ST Microelectronics peripherals like USB and CAN Bus controller.
The reader will discover how to download and set up the libopencm3 + FreeRTOS development environment, using GCC. With everything set up, you will leverage FreeRTOS to perform tasks, queues, and mutexes. Furthermore, you determine how to operate the I2C bus to add GPIO using the PCF8574 chip, and how to create PWM output for RC control using hardware timers.
Furthermore, the book introduces new concepts that are required to master the STM32, such as how to extend code with GCC overlays using an external Winbond W25Q32 flash chip.
The reader's knowledge is tested at the end of each chapter with exercises. Upon finishing this book, you will be ready to work with any of the devices in the STM32 family.
XNUCLEO-F411RE - STM32 NUCLEO Development Board
The affordable STM32 Nucleo boards enable anyone to try out new ideas and instantly build prototypes with any STM32 MCU. Sharing identical connectors, the STM32 Nucleo boards can be effortlessly extended by a considerable number of functional application hardware add-ons (Nucleo-64 include Arduino Uno rev3 & ST morpho compatible connectors).
The STM32 Nucleo boards integrate an ST-Link debugger/programmer, so there is no requirement for a separate probe. The STM Nucleo boards come with a complete STM32 software HAL library in combination with various software examples, and they work seamlessly with a wide range of development environments including IAR EWARM, Keil MDK-ARM, mbed and GCC/LLVM-based IDEs.