UNPKG

seb-cli-tool

Version:

SEB CLI - Smart Embedded Board Configuration Tool - Cloud-First MCU Management

450 lines (435 loc) 8.55 kB
# STM32L476RG MCU Definition # STM32L476 Nucleo-64 / Ultra-Low-Power Industrial Applications # ARM Cortex-M4, 80MHz, 1MB Flash, 128KB RAM mcu: name: stm32l476rg family: stm32l4 architecture: ARM Cortex-M4 package: lqfp64 flash_size: 1MB ram_size: 128KB max_frequency: 80MHz # Clock configuration clock: hse_frequencies: [8MHz, 12MHz, 16MHz, 24MHz, 32MHz] sysclk_frequencies: [80MHz] pll_configs: 80MHz: pllm: 1 plln: 20 pllp: 2 # Pin alternate function mappings for LQFP64 pin_alternate_functions: # Port A (0-15) PA0: UART2_TX: 7 TIM2_CH1: 1 TIM5_CH1: 2 ADC1_IN0: 0 PA1: UART2_RX: 7 TIM2_CH2: 1 TIM5_CH2: 2 ADC1_IN1: 0 PA2: UART2_TX: 7 TIM2_CH3: 1 TIM5_CH3: 2 ADC1_IN2: 0 PA3: UART2_RX: 7 TIM2_CH4: 1 TIM5_CH4: 2 ADC1_IN3: 0 PA4: SPI1_NSS: 5 TIM3_CH2: 2 ADC1_IN4: 0 PA5: SPI1_SCK: 5 TIM2_CH1: 1 ADC1_IN5: 0 PA6: SPI1_MISO: 5 TIM3_CH1: 2 ADC1_IN6: 0 PA7: SPI1_MOSI: 5 TIM3_CH2: 2 ADC1_IN7: 0 PA8: I2C3_SCL: 4 TIM1_CH1: 1 USART1_CK: 7 PA9: I2C3_SMBA: 4 TIM1_CH2: 1 USART1_TX: 7 PA10: I2C2_SDA: 4 TIM1_CH3: 1 USART1_RX: 7 PA11: CAN1_RX: 9 TIM1_CH4: 1 USART1_CTS: 7 USB_DM: 14 PA12: CAN1_TX: 9 TIM1_ETR: 1 USART1_RTS: 7 USB_DP: 14 PA13: JTMS_SWDIO: 0 PA14: JTCK_SWCLK: 0 PA15: JTDI: 0 SPI3_NSS: 6 TIM2_CH1: 1 # Port B (0-15) PB0: TIM3_CH3: 2 ADC1_IN8: 0 PB1: TIM3_CH4: 2 ADC1_IN9: 0 PB2: BOOT1: 0 PB3: JTDO: 0 SPI3_SCK: 6 TIM2_CH2: 1 PB4: NJTRST: 0 SPI3_MISO: 6 TIM3_CH1: 2 PB5: I2C1_SMBA: 4 TIM3_CH2: 2 PB6: I2C1_SCL: 4 TIM4_CH1: 2 USART1_TX: 7 PB7: I2C1_SDA: 4 TIM4_CH2: 2 USART1_RX: 7 PB8: I2C1_SCL: 4 TIM4_CH3: 2 TIM10_CH1: 3 PB9: I2C1_SDA: 4 TIM4_CH4: 2 TIM11_CH1: 3 PB10: I2C2_SCL: 4 USART3_TX: 7 PB11: I2C2_SDA: 4 USART3_RX: 7 PB12: SPI2_NSS: 5 I2S2_WS: 5 PB13: SPI2_SCK: 5 I2S2_CK: 5 PB14: SPI2_MISO: 5 I2S2EXT_SD: 5 TIM1_CH2N: 1 PB15: SPI2_MOSI: 5 I2S2_SD: 5 TIM1_CH3N: 1 # Port C (0-15) PC0: ADC1_IN10: 0 PC1: ADC1_IN11: 0 PC2: SPI2_MISO: 5 I2S2EXT_SD: 5 PC3: SPI2_MOSI: 5 I2S2_SD: 5 PC4: ADC1_IN12: 0 PC5: ADC1_IN13: 0 PC6: TIM3_CH1: 2 TIM8_CH1: 3 PC7: TIM3_CH2: 2 TIM8_CH2: 3 PC8: TIM3_CH3: 2 TIM8_CH3: 3 PC9: TIM3_CH4: 2 TIM8_CH4: 3 PC10: SPI3_SCK: 6 I2S3_CK: 6 USART3_TX: 7 PC11: SPI3_MISO: 6 I2S3EXT_SD: 6 USART3_RX: 7 PC12: SPI3_MOSI: 6 I2S3_SD: 6 USART3_CK: 7 PC13: LED: 0 PC14: OSC32_IN: 0 PC15: OSC32_OUT: 0 # Port D (0-2) PD0: CAN1_RX: 9 TIM4_ETR: 2 PD1: CAN1_TX: 9 TIM4_CH1: 2 PD2: TIM3_ETR: 2 # Pin mappings for common functions pin_mappings: uart: uart1_tx: PA9 uart1_rx: PA10 uart2_tx: PA2 uart2_rx: PA3 uart3_tx: PB10 uart3_rx: PB11 spi: spi1_sck: PA5 spi1_miso: PA6 spi1_mosi: PA7 spi1_cs: PA4 spi2_sck: PB13 spi2_miso: PB14 spi2_mosi: PB15 spi2_cs: PB12 i2c: i2c1_scl: PB6 i2c1_sda: PB7 i2c2_scl: PB10 i2c2_sda: PB11 can: can1_rx: PA11 can1_tx: PA12 usb: usb_dm: PA11 usb_dp: PA12 led: user_led: PC13 debug: swdio: PA13 swclk: PA14 # Peripherals configuration peripherals: uart: uart1: baudrate: 115200 pins: tx: PA9 rx: PA10 uart2: baudrate: 115200 pins: tx: PA2 rx: PA3 spi: spi1: mode: 0 speed: 1000000 pins: sck: PA5 miso: PA6 mosi: PA7 cs: PA4 i2c: i2c1: speed: 100000 pins: scl: PB6 sda: PB7 gpio: - pin: PC13 mode: output initial_state: low description: User LED # System configuration system: clock: hse: 8MHz pll: true sysclk: 80MHz power: voltage: 3.3V sleep_modes: [sleep, stop, standby, shutdown] ultra_low_power: true debug: interface: SWD pins: swdio: PA13 swclk: PA14 # Board information board_info: name: STM32L476 Nucleo-64 manufacturer: STMicroelectronics description: Ultra-low-power ARM Cortex-M4 MCU for battery-powered industrial applications features: - ARM Cortex-M4 at 80MHz - 1MB Flash, 128KB RAM - Ultra-low-power operation - Multiple low-power modes - USB OTG FS - Multiple UART/SPI/I2C interfaces - CAN bus support - Advanced timers - 12-bit ADC - Industrial temperature range - Battery backup domain documentation: datasheet: "https://www.st.com/resource/en/datasheet/stm32l476rg.pdf" reference_manual: "https://www.st.com/resource/en/reference_manual/dm00083560.pdf" programming_manual: "https://www.st.com/resource/en/programming_manual/pm0214-stm32f4xxx-cortexm4-programming-manual-stmicroelectronics.pdf" # Use cases use_cases: - name: Battery-Powered Sensors description: IoT sensors, environmental monitoring complexity: intermediate - name: Wearable Devices description: Health monitors, fitness trackers complexity: intermediate - name: Smart Meters description: Energy monitoring, utility meters complexity: advanced - name: Industrial IoT description: Remote monitoring, predictive maintenance complexity: advanced - name: Medical Devices description: Portable medical equipment, patient monitors complexity: advanced - name: Energy Harvesting description: Solar-powered devices, vibration harvesters complexity: advanced # Community resources community: forums: - "https://community.st.com/s/topic/0TO0X000000qTdVWAU/stm32l4" - "https://www.st.com/en/evaluation-tools/nucleo-l476rg.html" tutorials: - "https://www.st.com/en/evaluation-tools/nucleo-l476rg.html" - "https://www.st.com/en/development-tools/stm32cubemx.html" examples: - "https://github.com/STMicroelectronics/STM32CubeL4" - "https://github.com/STMicroelectronics/STM32CubeL4/tree/master/Projects/NUCLEO-L476RG" # Memory layout memory: flash: start: 0x08000000 size: 1MB sectors: - start: 0x08000000 size: 16KB - start: 0x08004000 size: 16KB - start: 0x08008000 size: 16KB - start: 0x0800C000 size: 16KB - start: 0x08010000 size: 64KB - start: 0x08020000 size: 128KB - start: 0x08040000 size: 128KB - start: 0x08060000 size: 128KB - start: 0x08080000 size: 128KB - start: 0x080A0000 size: 128KB - start: 0x080C0000 size: 128KB - start: 0x080E0000 size: 128KB ram: start: 0x20000000 size: 128KB regions: - start: 0x20000000 size: 96KB description: Main RAM - start: 0x20018000 size: 32KB description: SRAM2 # Interrupts interrupts: - name: EXTI0 irq: 6 description: External interrupt line 0 - name: EXTI1 irq: 7 description: External interrupt line 1 - name: EXTI2 irq: 8 description: External interrupt line 2 - name: EXTI3 irq: 9 description: External interrupt line 3 - name: EXTI4 irq: 10 description: External interrupt line 4 - name: EXTI9_5 irq: 23 description: External interrupt lines 5-9 - name: EXTI15_10 irq: 40 description: External interrupt lines 10-15 - name: USART1 irq: 37 description: USART1 global interrupt - name: USART2 irq: 38 description: USART2 global interrupt - name: USART3 irq: 39 description: USART3 global interrupt - name: SPI1 irq: 35 description: SPI1 global interrupt - name: SPI2 irq: 36 description: SPI2 global interrupt - name: I2C1_EV irq: 31 description: I2C1 event interrupt - name: I2C1_ER irq: 32 description: I2C1 error interrupt - name: I2C2_EV irq: 33 description: I2C2 event interrupt - name: I2C2_ER irq: 34 description: I2C2 error interrupt - name: CAN1_RX0 irq: 19 description: CAN1 RX0 interrupt - name: CAN1_TX irq: 20 description: CAN1 TX interrupt - name: USB_HP irq: 74 description: USB high priority interrupt - name: USB_LP irq: 67 description: USB low priority interrupt