数码营电子:基于微型控制器的编程、电路设计与电子产品制做。邮箱:shumaying@hotmail.com

STM32CubeMX

From 数码营电子实验室
Jump to navigation Jump to search
  • STM32CubeMX is a graphical tool that allows a very easy configuration of STM32 microcontrollers and microprocessors, as well as the generation of the corresponding initialization C code for the Arm® Cortex®-M core or a partial Linux® Device Tree for Arm® Cortex®-A core), through a step-by-step process.
  • The first step consists in selecting the STMicroelectronics STM32 microcontroller or microprocessor that matches the required set of peripherals.
  • For microprocessors, the second step allows to configure the GPIOs and the clock setup for the whole system, and to interactively assign peripherals either to the Arm® Cortex®-M or to the Cortex®A world. Specific utilities, such as DDR configuration and tuning, make it easy to get started with STM32 microprocessors. For Cortex®-M core, the configuration includes additional steps that are exactly similar to those described for microcontrollers.
  • For microcontrollers and microprocessor Arm® Cortex®-M, the second step consists in configuring each required embedded software thanks to a pinout-conflict solver, a clock-tree setting helper, a power-consumption calculator, and an utility that configures the peripherals (such as GPIO or USART) and the middleware stacks (such as USB or TCP/IP).
  • Eventually the user launches the generation that matches the selected configuration choices. This step provides the initialization C code for the Arm® Cortex®-M, ready to be used within several development environments, or a partial Linux® device tree for the Arm® Cortex®-A.
  • STM32CubeMX is delivered within STM32Cube.

Image.en.feature-description-STM32CubeMX.jpg

 Key Features
  1. Intuitive STM32 microcontroller and microprocessor selection
  2. Rich easy-to-use graphical user interface allowing the configuration of:
 *Pinout with automatic conflict resolution
 *Peripherals and middleware functional modes with dynamic validation of parameter constraints for Arm® Cortex®-M core
 *Clock tree with dynamic validation of the configuration
 *Power sequence with estimated consumption results
 *Generation of initialization C code project, compliant with IAR™, Keil® and GCC compilers, for Arm® Cortex®-M core
 *Generation of a partial Linux® Device Tree for Arm® Cortex®-A core (STM32 microprocessors)
  1. Availability as standalone software running on Windows®, Linux® and macOS® (macOS is a trademark of Apple Inc. registered in the U.S. and other countries.) operating systems, or through Eclipse plug-in


 Glossary
  1. Linux® Device Tree:
  • The Device Tree is a data structure for describing hardware.
  • A device tree is a tree data structure that describes the hardware configuration of the system to the Linux operating system. During boot, the Linux kernel will use the information in the device tree to recognize, load appropriate drivers and manage the hardware devices in the system.
  • The primary purpose of Device Tree in Linux is to provide a way to describe non-discoverable hardware. This information was previously hard coded in source code. Some more background on what Device Tree is, advantages, and competing solutions.
  • Device Tree Embedded Kernel Linux When porting drivers on a specific board for a comparatively new linux kernel, it is common to edit the linux device tree files to put together all the device configurations with register values, working modes and pin control offsets set to expected values.
  • A device tree is a tree data structure that describes the hardware configuration of the system to the Linux operating system. During boot, the Linux kernel will use the information in the device tree to recognize, load appropriate drivers and manage the hardware devices in the system.
  • The \"Device Tree\" is a relatively new (for ARM Linux) frameworkfor specifying the hardware configuration of a board to the Linux Kernel.
  • Given the correct device tree, the same compiled kernel can support different hardware configurations within a wider architecture family. The Linux kernel for the ARC, ARM, C6x, H8/300, MicroBlaze, MIPS, NDS32, Nios II, OpenRISC, PowerPC, RISC-V, SuperH, and Xtensa architectures reads device tree information; on ARM, device trees have been mandatory for all new SoCssince 2012. This can be seen as a remedy to the vast number of forks (of Linux and Das U-Boot) that have historically been created to s…
  • Linux Device Tree Include File. DTSI file is a Linux Device Tree Include File. The Device Tree is a data structure for describing hardware. Device Tree Compiler (dtc) - converts between the human editable device tree source "dts" format and the compact device tree blob "dtb" representation usable by the Linux kernel.
Qrcode for gh a3b9e9962ce8 1280.jpg