STM32F411RE (Cortex-M4F, Firmware)
Führt echte Firmware (Zephyr / STM32Cube, ELF oder HEX, z. B. für nucleo_f411re gebaut) auf einem emulierten Cortex-M4F mit 96 MHz aus: GPIO, EXTI, USART, TIM-PWM, ADC, SPI, I2C.
Wichtige Daten
- Kategorie
- ICs
- Simulationsmodell
- Mikrocontroller mit echter Firmware
- Hersteller-Teilenummer
- STM32F411RET6
- Referenzpräfix
- U
- Pins
- 55
- Land-Pattern
- LQFP-64_10x10mm_P0.5mm
Hinweise
Die Firmware läuft Befehl für Befehl auf einem emulierten CPU-Kern. Die nachgebildeten Peripherieblöcke (GPIO, Timer, UART, SPI, I²C, ADC und weitere, siehe Beschreibung) wirken auf die Pins der Schaltung, sodass die Analogteile rund um den Chip dieselben Spannungen und dasselbe Timing sehen wie auf einer echten Platine.
- Rechtsklick auf das Bauteil und „Im Code-Editor öffnen“ wählen, um seinen Code zu schreiben und zu kompilieren; „Serieller Monitor“ zeigt seine UART-Ausgabe.
- Alternativ im Inspektor eine Demo-Firmware oder eine eigene ELF-/Intel-HEX-/BIN-Datei laden.
- GPIO-Pins sind echte Schaltungspins: eine LED an einem Ausgang braucht einen Vorwiderstand, ein Eingang einen definierten Pegel (Pull-up oder Pull-down).
- Der Debugger in der Code-Ansicht hält an Haltepunkten und zeigt Register, Variablen und den Aufrufstapel.
Simulationsmodell
Ein emulierter CPU-Kern führt das Firmware-Binary Befehl für Befehl aus. Die GPIO-Pins sind Pins der Analogschaltung: Ausgänge treiben über einen Treiberwiderstand, Eingänge lesen die Spannung mit Schaltschwellen.
- Baustein
- stm32f411
- CPU-Kern
- ARM Cortex-M4F
- Emulator
- ARM-Cortex-M-Emulator
- Firmware
- Bare-Metal-C (arm-none-eabi-gcc) oder Zephyr-Projekt in der Code-Ansicht, oder eigene ELF-/Intel-HEX-/BIN-Datei
- Flash / RAM für Firmware
- 512 KB / 128 KB
- Versorgungspins
- VDD / GND
- Zugeordnete GPIO-Pins
- 51
Pins 55
simuliertnur echter ChipPin-Funktionen aus dem Emulator und dem Datenblatt.
| Pin | Name | Funktionen | Verwendung |
|---|---|---|---|
| VDD | VDDVersorgung | Versorgung 3,3 V: 100 nF an jedem VDD-Pin plus ein 4,7-µF-Pufferkondensator | |
| GND | GNDMasse | Masse | |
| PA0 | PA0Ein-/Ausgang | TIM2_CH1TIM5_CH1ADC1_IN0 | Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung) |
| PA1 | PA1Ein-/Ausgang | TIM2_CH2TIM5_CH2ADC1_IN1 | Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung) |
| PA2 | PA2Ein-/Ausgang | TIM2_CH3TIM5_CH3TIM9_CH1USART2_TXADC1_IN2 | Serielle Konsole: USART2 geht auf Nucleo-64-Boards zum virtuellen COM-Port des ST-LINK |
| PA3 | PA3Ein-/Ausgang | TIM2_CH4TIM5_CH4TIM9_CH2USART2_RXADC1_IN3 | Serielle Konsole: USART2 geht auf Nucleo-64-Boards zum virtuellen COM-Port des ST-LINK |
| PA4 | PA4Ein-/Ausgang | ADC1_IN4 | Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung) |
| PA5 | PA5Ein-/Ausgang | TIM2_CH1SPI1_SCKADC1_IN5 | Benutzer-LED LD2 auf Nucleo-64-Boards; auch SPI1 SCK |
| PA6 | PA6Ein-/Ausgang | TIM3_CH1SPI1_MISOADC1_IN6 | SPI-Daten ein (MISO): von DOUT / SDO des Bausteins |
| PA7 | PA7Ein-/Ausgang | TIM1_CH1NTIM3_CH2SPI1_MOSIADC1_IN7 | SPI-Daten aus (MOSI): an DIN / SDA / SDI des Bausteins |
| PA8 | PA8Ein-/Ausgang | TIM1_CH1I2C3_SCL | I²C-Takt: Sensoren, Displays; Pull-up (etwa 4,7 kΩ) zur Versorgung |
| PA9 | PA9Ein-/Ausgang | TIM1_CH2USART1_TX | Serielle Daten aus: zum RX-Pin des anderen Geräts (Konsole, GPS, Module) |
| PA10 | PA10Ein-/Ausgang | TIM1_CH3USART1_RX | Serielle Daten ein: vom TX-Pin des anderen Geräts |
| PA11 | PA11Ein-/Ausgang | TIM1_CH4USART6_TXOTG_FS_DM | USB-Full-Speed-Daten (nur echter Chip, nicht simuliert) |
| PA12 | PA12Ein-/Ausgang | USART6_RXOTG_FS_DP | USB-Full-Speed-Daten (nur echter Chip, nicht simuliert) |
| PA13 | PA13Ein-/Ausgang | SWDIO | SWD-Debug: frei lassen, um den echten Chip zu flashen und zu debuggen |
| PA14 | PA14Ein-/Ausgang | SWCLK | SWD-Debug: frei lassen, um den echten Chip zu flashen und zu debuggen |
| PA15 | PA15Ein-/Ausgang | TIM2_CH1USART1_TXJTDI | Serielle Daten aus: zum RX-Pin des anderen Geräts (Konsole, GPS, Module) |
| PB0 | PB0Ein-/Ausgang | TIM1_CH2NTIM3_CH3ADC1_IN8 | Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung) |
| PB1 | PB1Ein-/Ausgang | TIM1_CH3NTIM3_CH4ADC1_IN9 | Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung) |
| PB2 | PB2Ein-/Ausgang | BOOT1 | BOOT1: beim Reset Low halten |
| PB3 | PB3Ein-/Ausgang | TIM2_CH2I2C2_SDASPI1_SCKSPI3_SCKUSART1_RXSWO | Serielle Daten ein: vom TX-Pin des anderen Geräts |
| PB4 | PB4Ein-/Ausgang | TIM3_CH1I2C3_SDASPI1_MISOSPI3_MISONJTRST | SPI-Daten ein (MISO): von DOUT / SDO des Bausteins |
| PB5 | PB5Ein-/Ausgang | TIM3_CH2SPI1_MOSISPI3_MOSI | SPI-Daten aus (MOSI): an DIN / SDA / SDI des Bausteins |
| PB6 | PB6Ein-/Ausgang | TIM4_CH1I2C1_SCLUSART1_TX | Serielle Daten aus: zum RX-Pin des anderen Geräts (Konsole, GPS, Module) |
| PB7 | PB7Ein-/Ausgang | TIM4_CH2I2C1_SDAUSART1_RX | Serielle Daten ein: vom TX-Pin des anderen Geräts |
| PB8 | PB8Ein-/Ausgang | TIM4_CH3TIM10_CH1I2C1_SCL | I²C-Takt: Sensoren, Displays; Pull-up (etwa 4,7 kΩ) zur Versorgung |
| PB9 | PB9Ein-/Ausgang | TIM4_CH4TIM11_CH1I2C1_SDAI2C2_SDA | I²C-Daten: Pull-up (etwa 4,7 kΩ) zur Versorgung |
| PB10 | PB10Ein-/Ausgang | TIM2_CH3I2C2_SCLSPI2_SCK | SPI-Takt: Displays, Flash, SD-Karten |
| PB12 | PB12Ein-/Ausgang | Allzweck-I/O: LEDs (mit Vorwiderstand), Taster (mit Pull-up) | |
| PB13 | PB13Ein-/Ausgang | TIM1_CH1NSPI2_SCK | SPI-Takt: Displays, Flash, SD-Karten |
| PB14 | PB14Ein-/Ausgang | TIM1_CH2NSPI2_MISO | SPI-Daten ein (MISO): von DOUT / SDO des Bausteins |
| PB15 | PB15Ein-/Ausgang | TIM1_CH3NSPI2_MOSI | SPI-Daten aus (MOSI): an DIN / SDA / SDI des Bausteins |
| PC0 | PC0Ein-/Ausgang | ADC1_IN10 | Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung) |
| PC1 | PC1Ein-/Ausgang | ADC1_IN11 | Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung) |
| PC2 | PC2Ein-/Ausgang | SPI2_MISOADC1_IN12 | SPI-Daten ein (MISO): von DOUT / SDO des Bausteins |
| PC3 | PC3Ein-/Ausgang | SPI2_MOSIADC1_IN13 | SPI-Daten aus (MOSI): an DIN / SDA / SDI des Bausteins |
| PC4 | PC4Ein-/Ausgang | ADC1_IN14 | Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung) |
| PC5 | PC5Ein-/Ausgang | ADC1_IN15 | Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung) |
| PC6 | PC6Ein-/Ausgang | TIM3_CH1USART6_TX | Serielle Daten aus: zum RX-Pin des anderen Geräts (Konsole, GPS, Module) |
| PC7 | PC7Ein-/Ausgang | TIM3_CH2USART6_RX | Serielle Daten ein: vom TX-Pin des anderen Geräts |
| PC8 | PC8Ein-/Ausgang | TIM3_CH3 | PWM-Ausgang: LED-Dimmung, Servos, Motortreiber |
| PC9 | PC9Ein-/Ausgang | TIM3_CH4I2C3_SDA | I²C-Daten: Pull-up (etwa 4,7 kΩ) zur Versorgung |
| PC10 | PC10Ein-/Ausgang | SPI3_SCK | SPI-Takt: Displays, Flash, SD-Karten |
| PC11 | PC11Ein-/Ausgang | SPI3_MISO | SPI-Daten ein (MISO): von DOUT / SDO des Bausteins |
| PC12 | PC12Ein-/Ausgang | SPI3_MOSI | SPI-Daten aus (MOSI): an DIN / SDA / SDI des Bausteins |
| PC13 | PC13Ein-/Ausgang | Benutzertaster B1 auf Nucleo-64-Boards (gedrückt = Low) | |
| PC14 | PC14Ein-/Ausgang | OSC32_IN | 32,768-kHz-Quarz für die RTC; schwache Ausgänge, keine schnellen Signale |
| PC15 | PC15Ein-/Ausgang | OSC32_OUT | 32,768-kHz-Quarz für die RTC; schwache Ausgänge, keine schnellen Signale |
| PD2 | PD2Ein-/Ausgang | Allzweck-I/O: LEDs (mit Vorwiderstand), Taster (mit Pull-up) | |
| PH0 | PH0Ein-/Ausgang | OSC_IN | Hauptquarz / externer Takt (HSE) – auf den meisten Boards kein GPIO |
| PH1 | PH1Ein-/Ausgang | OSC_OUT | Hauptquarz / externer Takt (HSE) – auf den meisten Boards kein GPIO |
| NRST | NRSTEin-/Ausgang | Reset, Low-aktiv: interner Pull-up, 100 nF nach GND, optional Taster nach GND | |
| BOOT0 | BOOT0Eingang | BOOT0: 10 kΩ nach GND, um aus dem Flash zu starten | |
| VCAP1 | VCAP1Analog | 4,7 µF Keramik (Low-ESR) nach GND für den Kernregler |
Leiterplatte
LQFP-64_10x10mm_P0.5mm| Bauform | Land-Pattern | Status | Quelle |
|---|---|---|---|
| LQFP64 · STM32F411RET6 | LQFP-64_10x10mm_P0.5mm | Geprüftes Land-Pattern | KiCad-10.0.7-Bibliothek: Symbol STM32F411R_C-E_Tx (Pin-Nummern), Footprint Package_QFP:LQFP-64_10x10mm_P0.5mm (IPC-7351B-Landmuster) |
| |||