AnasSarkiz/usb-c-pd-brushed-motor
USB-C PD-powered motor controller with protected input, selectable 5/9/12 V buck supply, MCU qualification, PWM H-bridge drive, overvoltage sensing, regenerative energy-dump resistors, and safety interlocks.
- Version
- 0.0.1-a48-cloud-pipeline9-unrouted-c41d79a-305b1e7a
- License
- unset
- Stars
- 0
firmware/stm32g030f6.ld
ENTRY(Reset_Handler)
MEMORY {
FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 32K
RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 8K
}
_estack = ORIGIN(RAM) + LENGTH(RAM);
_stack_limit = _estack - 2048;
SECTIONS {
.isr_vector : { . = ALIGN(256); KEEP(*(.isr_vector)) } > FLASH
.text : { *(.text*) *(.rodata*) . = ALIGN(4); } > FLASH
.ARM.exidx : { *(.ARM.exidx*) } > FLASH
.data : {
. = ALIGN(4); _sdata = .; *(.data*) . = ALIGN(4); _edata = .;
} > RAM AT> FLASH
_sidata = LOADADDR(.data);
.bss (NOLOAD) : {
. = ALIGN(4); _sbss = .; *(.bss*) *(COMMON) . = ALIGN(4); _ebss = .;
} > RAM
_end = .;
/DISCARD/ : { *(.comment*) *(.note*) }
}
ASSERT(_end <= _stack_limit, "STM32G030F6 RAM exceeds reserved 2KiB stack envelope")
ASSERT(LOADADDR(.data) + SIZEOF(.data) <= ORIGIN(FLASH) + LENGTH(FLASH), "STM32G030F6 flash overflow")