參考資訊:
https://www.st.com/resource/en/datasheet/dm00071990.pdf
https://www.st.com/resource/en/user_manual/dm00093903-discovery-kit-with-stm32f429zi-mcu-stmicroelectronics.pdf
https://www.st.com/resource/en/reference_manual/dm00031020-stm32f405-415-stm32f407-417-stm32f427-437-and-stm32f429-439-advanced-arm-based-32-bit-mcus-stmicroelectronics.pdf
Button測試使用B1 USER(PA-0)

GPIO-A Clock

Mode

Pull-up

Input

main.s
.equiv PORTA_BASE, 0x40020000
.equiv PORTG_BASE, 0x40021800
.equiv GPIO_MODER, 0x0000
.equiv GPIO_PUPDR, 0x000c
.equiv GPIO_IDR, 0x0010
.equiv GPIO_ODR, 0x0014
.equiv RCC_BASE, 0x40023800
.equiv RCC_AHB1ENR, 0x0030
.thumb
.cpu cortex-m4
.syntax unified
.global _start
.text
.org 0x0000
_start:
.word 0x20008000
.word reset
.org 0x0100
.thumb_func
reset:
ldr r0, =RCC_BASE
ldr r1, [r0, #RCC_AHB1ENR]
orr r1, #(1 << 6) | (1 << 0)
str r1, [r0, #RCC_AHB1ENR]
ldr r0, =PORTG_BASE
ldr r1, =(1 << 26)
str r1, [r0, #GPIO_MODER]
ldr r0, =PORTA_BASE
ldr r1, [r0, #GPIO_MODER]
bic r1, #3
str r1, [r0, #GPIO_MODER]
ldr r1, [r0, #GPIO_PUPDR]
bic r1, #3
orr r1, #2
str r1, [r0, #GPIO_PUPDR]
0:
ldr r0, =PORTA_BASE
ldr r1, [r0, #GPIO_IDR]
lsl r1, #13
ldr r0, =PORTG_BASE
str r1, [r0, #GPIO_ODR]
b 0b
.end
完成
