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/startup_stm32g030f6.S

.syntax unified
.cpu cortex-m0plus
.thumb
.section .isr_vector,"a",%progbits
.global motor_vectors
motor_vectors:
  .word _estack, Reset_Handler, Default_Handler, Default_Handler
  .word 0,0,0,0,0,0,0,Default_Handler,0,0,Default_Handler,Default_Handler
  /* IRQ0..31 positions independently checked against ST device enumeration. */
  .word Default_Handler,0,Default_Handler,Default_Handler
  .word Default_Handler,Default_Handler,Default_Handler,EXTI4_15_IRQHandler
  .word 0,Default_Handler,Default_Handler,Default_Handler
  .word Default_Handler,Default_Handler,Default_Handler,0
  .word TIM3_IRQHandler,0,0,Default_Handler
  .word 0,Default_Handler,Default_Handler,Default_Handler
  .word Default_Handler,Default_Handler,Default_Handler,Default_Handler
  .word Default_Handler,0,0,0
.section .text.Reset_Handler,"ax",%progbits
.thumb_func
.global Reset_Handler
Reset_Handler:
  cpsid i
  ldr r0,=_sidata
  ldr r1,=_sdata
  ldr r2,=_edata
1:
  cmp r1,r2
  bcs 2f
  ldr r3,[r0]
  str r3,[r1]
  adds r0,r0,#4
  adds r1,r1,#4
  b 1b
2:
  ldr r1,=_sbss
  ldr r2,=_ebss
  movs r3,#0
3:
  cmp r1,r2
  bcs 4f
  str r3,[r1]
  adds r1,r1,#4
  b 3b
4:
  bl motor_main
  b Default_Handler
.section .text.Default_Handler,"ax",%progbits
.thumb_func
.global Default_Handler
Default_Handler:
  cpsid i
  bl motor_emergency_halt
  b Default_Handler
.section .note.GNU-stack,"",%progbits