SVD
alternative :
device:
name: ACME1234
architecture: ARM Cortex-M4
clock:
main_oscillator: 16MHz
pll:
input: main_oscillator
multiplier: 6
divider: 2
peripherals:
- name: UART1
base_address: 0x40001000
interrupts:
- name: UART1_RX
number: 20
priority: 2
- name: UART1_TX
number: 21
priority: 2
registers:
- name: DATA
offset: 0x00
size: 32
access: read-write
fields:
- name: RX_TX_DATA
bits: [0-7]
- name: PARITY_ERROR
bits: [8]
description: "0 = No error, 1 = Parity error"
# More registers...
timing_constraints:
- description: "Wait at least 1 us after enabling UART before first transmission"
- description: "Maximum baud rate change frequency: 10 kHz"
dependencies:
- "Changing system clock frequency affects UART baud rate"
- "DMA channel 2 can be used for automatic data transfer"
power_modes:
- name: SLEEP
wakeup_sources: [UART1_RX, RTC_ALARM]
- name: DEEP_SLEEP
wakeup_sources: [RTC_ALARM]
# More device-specific details...