Bringup
Editor öffnen
Mikrocontroller mit echter FirmwareSTM32G474RET6stm32g474

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.

VDDGNDPA0PA1PA2PA3PA4PA5PA6PA7PA8PA9PA10PA11PA12PA13PA14PA15PB0PB1PB2PB3PB4PB5PB6PB7PB8PB9PB10PB11PB12PB13PB14PB15PC0PC1PC2PC3PC4PC5PC6PC7PC8PC9PC10PC11PC12PC13PC14PC15PD2PF0PF1NRSTSTM32G474RET6
Schaltplansymbol

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.

PinNameFunktionenVerwendung
VDDVDDVersorgungVersorgung 3,3 V: 100 nF an jedem VDD-Pin plus ein 4,7-µF-Pufferkondensator
GNDGNDMasseMasse
PA0PA0Ein-/AusgangTIM2_CH1TIM5_CH1ADC1_IN1ADC2_IN1Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung)
PA1PA1Ein-/AusgangTIM2_CH2TIM5_CH2ADC1_IN2ADC2_IN2Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung)
PA2PA2Ein-/AusgangTIM2_CH3TIM5_CH3TIM15_CH1USART2_TXLPUART1_TXADC1_IN3Serielle Konsole: USART2 geht auf Nucleo-64-Boards zum virtuellen COM-Port des ST-LINK
PA3PA3Ein-/AusgangTIM2_CH4TIM5_CH4TIM15_CH2USART2_RXLPUART1_RXADC1_IN4Serielle Konsole: USART2 geht auf Nucleo-64-Boards zum virtuellen COM-Port des ST-LINK
PA4PA4Ein-/AusgangTIM3_CH2ADC2_IN17Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung)
PA5PA5Ein-/AusgangTIM2_CH1SPI1_SCKADC2_IN13Benutzer-LED LD2 auf Nucleo-64-Boards; auch SPI1 SCK
PA6PA6Ein-/AusgangTIM16_CH1TIM3_CH1SPI1_MISOADC2_IN3SPI-Daten ein (MISO): von DOUT / SDO des Bausteins
PA7PA7Ein-/AusgangTIM17_CH1TIM3_CH2TIM1_CH1NSPI1_MOSIADC2_IN4SPI-Daten aus (MOSI): an DIN / SDA / SDI des Bausteins
PA8PA8Ein-/AusgangTIM1_CH1I2C2_SDAI2C3_SCLI²C-Takt: Sensoren, Displays; Pull-up (etwa 4,7 kΩ) zur Versorgung
PA9PA9Ein-/AusgangTIM1_CH2I2C2_SCLUSART1_TXSerielle Daten aus: zum RX-Pin des anderen Geräts (Konsole, GPS, Module)
PA10PA10Ein-/AusgangTIM1_CH3USART1_RXSerielle Daten ein: vom TX-Pin des anderen Geräts
PA11PA11Ein-/AusgangTIM1_CH4USB_DMUSB-Full-Speed-Daten (nur echter Chip, nicht simuliert)
PA12PA12Ein-/AusgangUSB_DPUSB-Full-Speed-Daten (nur echter Chip, nicht simuliert)
PA13PA13Ein-/AusgangSWDIOSWD-Debug: frei lassen, um den echten Chip zu flashen und zu debuggen
PA14PA14Ein-/AusgangI2C1_SDAUSART2_TXSWCLKSWD-Debug: frei lassen, um den echten Chip zu flashen und zu debuggen
PA15PA15Ein-/AusgangTIM2_CH1I2C1_SCLUSART2_RXJTDISerielle Daten ein: vom TX-Pin des anderen Geräts
PB0PB0Ein-/AusgangTIM3_CH3ADC1_IN15Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung)
PB1PB1Ein-/AusgangTIM3_CH4ADC1_IN12Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung)
PB2PB2Ein-/AusgangADC2_IN12Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung)
PB3PB3Ein-/AusgangTIM2_CH2SPI1_SCKSPI3_SCKUSART2_TXSWOSerielle Daten aus: zum RX-Pin des anderen Geräts (Konsole, GPS, Module)
PB4PB4Ein-/AusgangTIM3_CH1SPI1_MISOSPI3_MISOUSART2_RXNJTRSTSerielle Daten ein: vom TX-Pin des anderen Geräts
PB5PB5Ein-/AusgangTIM3_CH2I2C3_SDASPI1_MOSISPI3_MOSISPI-Daten aus (MOSI): an DIN / SDA / SDI des Bausteins
PB6PB6Ein-/AusgangTIM4_CH1USART1_TXSerielle Daten aus: zum RX-Pin des anderen Geräts (Konsole, GPS, Module)
PB7PB7Ein-/AusgangTIM4_CH2I2C1_SDAUSART1_RXSerielle Daten ein: vom TX-Pin des anderen Geräts
PB8PB8Ein-/AusgangTIM16_CH1TIM4_CH3I2C1_SCLBOOT0Bei diesem Chip BOOT0: muss beim Reset Low sein, um aus dem Flash zu starten (Standard-Option-Bytes)
PB9PB9Ein-/AusgangTIM17_CH1TIM4_CH4I2C1_SDAI²C-Daten: Pull-up (etwa 4,7 kΩ) zur Versorgung
PB10PB10Ein-/AusgangTIM2_CH3USART3_TXLPUART1_TXSerielle Daten aus: zum RX-Pin des anderen Geräts (Konsole, GPS, Module)
PB11PB11Ein-/AusgangTIM2_CH4USART3_RXLPUART1_RXADC1_IN14ADC2_IN14Serielle Daten ein: vom TX-Pin des anderen Geräts
PB12PB12Ein-/AusgangADC1_IN11Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung)
PB13PB13Ein-/AusgangTIM1_CH1NSPI2_SCKSPI-Takt: Displays, Flash, SD-Karten
PB14PB14Ein-/AusgangTIM1_CH2NTIM15_CH1SPI2_MISOADC1_IN5SPI-Daten ein (MISO): von DOUT / SDO des Bausteins
PB15PB15Ein-/AusgangTIM1_CH3NTIM15_CH2SPI2_MOSIADC2_IN15SPI-Daten aus (MOSI): an DIN / SDA / SDI des Bausteins
PC0PC0Ein-/AusgangTIM1_CH1LPUART1_RXADC1_IN6ADC2_IN6Serielle Daten ein: vom TX-Pin des anderen Geräts
PC1PC1Ein-/AusgangTIM1_CH2LPUART1_TXADC1_IN7ADC2_IN7Serielle Daten aus: zum RX-Pin des anderen Geräts (Konsole, GPS, Module)
PC2PC2Ein-/AusgangTIM1_CH3ADC1_IN8ADC2_IN8Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung)
PC3PC3Ein-/AusgangTIM1_CH4ADC1_IN9ADC2_IN9Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung)
PC4PC4Ein-/AusgangI2C2_SCLUSART1_TXADC2_IN5Serielle Daten aus: zum RX-Pin des anderen Geräts (Konsole, GPS, Module)
PC5PC5Ein-/AusgangUSART1_RXADC2_IN11Serielle Daten ein: vom TX-Pin des anderen Geräts
PC6PC6Ein-/AusgangTIM3_CH1TIM8_CH1PWM-Ausgang: LED-Dimmung, Servos, Motortreiber
PC7PC7Ein-/AusgangTIM3_CH2TIM8_CH2PWM-Ausgang: LED-Dimmung, Servos, Motortreiber
PC8PC8Ein-/AusgangTIM3_CH3TIM8_CH3I2C3_SCLI²C-Takt: Sensoren, Displays; Pull-up (etwa 4,7 kΩ) zur Versorgung
PC9PC9Ein-/AusgangTIM3_CH4TIM8_CH4I2C3_SDAI²C-Daten: Pull-up (etwa 4,7 kΩ) zur Versorgung
PC10PC10Ein-/AusgangSPI3_SCKUSART3_TXSerielle Daten aus: zum RX-Pin des anderen Geräts (Konsole, GPS, Module)
PC11PC11Ein-/AusgangI2C3_SDASPI3_MISOUSART3_RXSerielle Daten ein: vom TX-Pin des anderen Geräts
PC12PC12Ein-/AusgangSPI3_MOSISPI-Daten aus (MOSI): an DIN / SDA / SDI des Bausteins
PC13PC13Ein-/AusgangBenutzertaster B1 auf Nucleo-64-Boards (gedrückt = Low)
PC14PC14Ein-/AusgangOSC32_IN32,768-kHz-Quarz für die RTC; schwache Ausgänge, keine schnellen Signale
PC15PC15Ein-/AusgangOSC32_OUT32,768-kHz-Quarz für die RTC; schwache Ausgänge, keine schnellen Signale
PD2PD2Ein-/AusgangAllzweck-I/O: LEDs (mit Vorwiderstand), Taster (mit Pull-up)
PF0PF0Ein-/AusgangADC1_IN10OSC_INHauptquarz / externer Takt (HSE) – auf den meisten Boards kein GPIO
PF1PF1Ein-/AusgangSPI2_SCKADC2_IN10OSC_OUTHauptquarz / externer Takt (HSE) – auf den meisten Boards kein GPIO
NRSTNRSTEin-/AusgangReset, Low-aktiv: interner Pull-up, 100 nF nach GND, optional Taster nach GND

Leiterplatte

Geprüftes Land-PatternLQFP-64_10x10mm_P0.5mm
BauformLand-PatternStatusQuelle
LQFP64 · STM32G474RET6LQFP-64_10x10mm_P0.5mmGeprüftes Land-PatternKiCad-10.0.7-Bibliothek: Symbol STM32G474R_B-C-E_Tx (Pin-Nummern), Footprint Package_QFP:LQFP-64_10x10mm_P0.5mm (IPC-7351B-Landmuster)