STM32G474RE (Cortex-M4F, Firmware)
Führt echte Firmware (Zephyr / STM32Cube, ELF oder HEX, z. B. für nucleo_g474re gebaut) auf einem emulierten Cortex-M4F mit 170 MHz aus: GPIO, EXTI, USART/LPUART, TIM-PWM, ADC, SPI, I2C.
Wichtige Daten
- Kategorie
- ICs
- Simulationsmodell
- Mikrocontroller mit echter Firmware
- Hersteller-Teilenummer
- STM32G474RET6
- Referenzpräfix
- U
- Pins
- 54
- 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
- stm32g474
- 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 / 96 KB
- Versorgungspins
- VDD / GND
- Zugeordnete GPIO-Pins
- 52
Pins 54
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_IN1ADC2_IN1 | Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung) |
| PA1 | PA1Ein-/Ausgang | TIM2_CH2TIM5_CH2ADC1_IN2ADC2_IN2 | Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung) |
| PA2 | PA2Ein-/Ausgang | TIM2_CH3TIM5_CH3TIM15_CH1USART2_TXLPUART1_TXADC1_IN3 | Serielle Konsole: USART2 geht auf Nucleo-64-Boards zum virtuellen COM-Port des ST-LINK |
| PA3 | PA3Ein-/Ausgang | TIM2_CH4TIM5_CH4TIM15_CH2USART2_RXLPUART1_RXADC1_IN4 | Serielle Konsole: USART2 geht auf Nucleo-64-Boards zum virtuellen COM-Port des ST-LINK |
| PA4 | PA4Ein-/Ausgang | TIM3_CH2ADC2_IN17 | Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung) |
| PA5 | PA5Ein-/Ausgang | TIM2_CH1SPI1_SCKADC2_IN13 | Benutzer-LED LD2 auf Nucleo-64-Boards; auch SPI1 SCK |
| PA6 | PA6Ein-/Ausgang | TIM16_CH1TIM3_CH1SPI1_MISOADC2_IN3 | SPI-Daten ein (MISO): von DOUT / SDO des Bausteins |
| PA7 | PA7Ein-/Ausgang | TIM17_CH1TIM3_CH2TIM1_CH1NSPI1_MOSIADC2_IN4 | SPI-Daten aus (MOSI): an DIN / SDA / SDI des Bausteins |
| PA8 | PA8Ein-/Ausgang | TIM1_CH1I2C2_SDAI2C3_SCL | I²C-Takt: Sensoren, Displays; Pull-up (etwa 4,7 kΩ) zur Versorgung |
| PA9 | PA9Ein-/Ausgang | TIM1_CH2I2C2_SCLUSART1_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_CH4USB_DM | USB-Full-Speed-Daten (nur echter Chip, nicht simuliert) |
| PA12 | PA12Ein-/Ausgang | USB_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 | I2C1_SDAUSART2_TXSWCLK | SWD-Debug: frei lassen, um den echten Chip zu flashen und zu debuggen |
| PA15 | PA15Ein-/Ausgang | TIM2_CH1I2C1_SCLUSART2_RXJTDI | Serielle Daten ein: vom TX-Pin des anderen Geräts |
| PB0 | PB0Ein-/Ausgang | TIM3_CH3ADC1_IN15 | Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung) |
| PB1 | PB1Ein-/Ausgang | TIM3_CH4ADC1_IN12 | Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung) |
| PB2 | PB2Ein-/Ausgang | ADC2_IN12 | Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung) |
| PB3 | PB3Ein-/Ausgang | TIM2_CH2SPI1_SCKSPI3_SCKUSART2_TXSWO | Serielle Daten aus: zum RX-Pin des anderen Geräts (Konsole, GPS, Module) |
| PB4 | PB4Ein-/Ausgang | TIM3_CH1SPI1_MISOSPI3_MISOUSART2_RXNJTRST | Serielle Daten ein: vom TX-Pin des anderen Geräts |
| PB5 | PB5Ein-/Ausgang | TIM3_CH2I2C3_SDASPI1_MOSISPI3_MOSI | SPI-Daten aus (MOSI): an DIN / SDA / SDI des Bausteins |
| PB6 | PB6Ein-/Ausgang | TIM4_CH1USART1_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 | TIM16_CH1TIM4_CH3I2C1_SCLBOOT0 | Bei diesem Chip BOOT0: muss beim Reset Low sein, um aus dem Flash zu starten (Standard-Option-Bytes) |
| PB9 | PB9Ein-/Ausgang | TIM17_CH1TIM4_CH4I2C1_SDA | I²C-Daten: Pull-up (etwa 4,7 kΩ) zur Versorgung |
| PB10 | PB10Ein-/Ausgang | TIM2_CH3USART3_TXLPUART1_TX | Serielle Daten aus: zum RX-Pin des anderen Geräts (Konsole, GPS, Module) |
| PB11 | PB11Ein-/Ausgang | TIM2_CH4USART3_RXLPUART1_RXADC1_IN14ADC2_IN14 | Serielle Daten ein: vom TX-Pin des anderen Geräts |
| PB12 | PB12Ein-/Ausgang | ADC1_IN11 | Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung) |
| PB13 | PB13Ein-/Ausgang | TIM1_CH1NSPI2_SCK | SPI-Takt: Displays, Flash, SD-Karten |
| PB14 | PB14Ein-/Ausgang | TIM1_CH2NTIM15_CH1SPI2_MISOADC1_IN5 | SPI-Daten ein (MISO): von DOUT / SDO des Bausteins |
| PB15 | PB15Ein-/Ausgang | TIM1_CH3NTIM15_CH2SPI2_MOSIADC2_IN15 | SPI-Daten aus (MOSI): an DIN / SDA / SDI des Bausteins |
| PC0 | PC0Ein-/Ausgang | TIM1_CH1LPUART1_RXADC1_IN6ADC2_IN6 | Serielle Daten ein: vom TX-Pin des anderen Geräts |
| PC1 | PC1Ein-/Ausgang | TIM1_CH2LPUART1_TXADC1_IN7ADC2_IN7 | Serielle Daten aus: zum RX-Pin des anderen Geräts (Konsole, GPS, Module) |
| PC2 | PC2Ein-/Ausgang | TIM1_CH3ADC1_IN8ADC2_IN8 | Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung) |
| PC3 | PC3Ein-/Ausgang | TIM1_CH4ADC1_IN9ADC2_IN9 | Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung) |
| PC4 | PC4Ein-/Ausgang | I2C2_SCLUSART1_TXADC2_IN5 | Serielle Daten aus: zum RX-Pin des anderen Geräts (Konsole, GPS, Module) |
| PC5 | PC5Ein-/Ausgang | USART1_RXADC2_IN11 | Serielle Daten ein: vom TX-Pin des anderen Geräts |
| PC6 | PC6Ein-/Ausgang | TIM3_CH1TIM8_CH1 | PWM-Ausgang: LED-Dimmung, Servos, Motortreiber |
| PC7 | PC7Ein-/Ausgang | TIM3_CH2TIM8_CH2 | PWM-Ausgang: LED-Dimmung, Servos, Motortreiber |
| PC8 | PC8Ein-/Ausgang | TIM3_CH3TIM8_CH3I2C3_SCL | I²C-Takt: Sensoren, Displays; Pull-up (etwa 4,7 kΩ) zur Versorgung |
| PC9 | PC9Ein-/Ausgang | TIM3_CH4TIM8_CH4I2C3_SDA | I²C-Daten: Pull-up (etwa 4,7 kΩ) zur Versorgung |
| PC10 | PC10Ein-/Ausgang | SPI3_SCKUSART3_TX | Serielle Daten aus: zum RX-Pin des anderen Geräts (Konsole, GPS, Module) |
| PC11 | PC11Ein-/Ausgang | I2C3_SDASPI3_MISOUSART3_RX | Serielle Daten ein: vom TX-Pin des anderen Geräts |
| 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) | |
| PF0 | PF0Ein-/Ausgang | ADC1_IN10OSC_IN | Hauptquarz / externer Takt (HSE) – auf den meisten Boards kein GPIO |
| PF1 | PF1Ein-/Ausgang | SPI2_SCKADC2_IN10OSC_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 |
Leiterplatte
LQFP-64_10x10mm_P0.5mm| Bauform | Land-Pattern | Status | Quelle |
|---|---|---|---|
| LQFP64 · STM32G474RET6 | LQFP-64_10x10mm_P0.5mm | Geprüftes Land-Pattern | KiCad-10.0.7-Bibliothek: Symbol STM32G474R_B-C-E_Tx (Pin-Nummern), Footprint Package_QFP:LQFP-64_10x10mm_P0.5mm (IPC-7351B-Landmuster) |