finished lab 2
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -240,127 +240,127 @@ LOAD c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15
|
||||
0x08000000 g_pfnVectors
|
||||
0x08000188 . = ALIGN (0x4)
|
||||
|
||||
.text 0x08000188 0x29c
|
||||
.text 0x08000188 0x2c4
|
||||
0x08000188 . = ALIGN (0x4)
|
||||
*(.text)
|
||||
.text 0x08000188 0x6c c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o
|
||||
.text 0x080001f4 0x5c src/main.o
|
||||
.text 0x080001f4 0x84 src/main.o
|
||||
0x080001f4 main
|
||||
*(.text*)
|
||||
.text.Reset_Handler
|
||||
0x08000250 0x48 startup/startup_stm32.o
|
||||
0x08000250 Reset_Handler
|
||||
0x08000278 0x48 startup/startup_stm32.o
|
||||
0x08000278 Reset_Handler
|
||||
.text.Default_Handler
|
||||
0x08000298 0x2 startup/startup_stm32.o
|
||||
0x08000298 DebugMon_Handler
|
||||
0x08000298 HardFault_Handler
|
||||
0x08000298 SysTick_Handler
|
||||
0x08000298 PendSV_Handler
|
||||
0x08000298 NMI_Handler
|
||||
0x08000298 UsageFault_Handler
|
||||
0x08000298 Default_Handler
|
||||
0x08000298 MemManage_Handler
|
||||
0x08000298 SVC_Handler
|
||||
0x08000298 BusFault_Handler
|
||||
*fill* 0x0800029a 0x2
|
||||
0x080002c0 0x2 startup/startup_stm32.o
|
||||
0x080002c0 DebugMon_Handler
|
||||
0x080002c0 HardFault_Handler
|
||||
0x080002c0 SysTick_Handler
|
||||
0x080002c0 PendSV_Handler
|
||||
0x080002c0 NMI_Handler
|
||||
0x080002c0 UsageFault_Handler
|
||||
0x080002c0 Default_Handler
|
||||
0x080002c0 MemManage_Handler
|
||||
0x080002c0 SVC_Handler
|
||||
0x080002c0 BusFault_Handler
|
||||
*fill* 0x080002c2 0x2
|
||||
.text.__libc_init_array
|
||||
0x0800029c 0x50 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m/fpv4-sp/hard\libc.a(lib_a-init.o)
|
||||
0x0800029c __libc_init_array
|
||||
0x080002c4 0x50 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m/fpv4-sp/hard\libc.a(lib_a-init.o)
|
||||
0x080002c4 __libc_init_array
|
||||
.text.startup.register_fini
|
||||
0x080002ec 0x14 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m/fpv4-sp/hard\libc.a(lib_a-__call_atexit.o)
|
||||
.text.atexit 0x08000300 0xc c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m/fpv4-sp/hard\libc.a(lib_a-atexit.o)
|
||||
0x08000300 atexit
|
||||
0x08000314 0x14 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m/fpv4-sp/hard\libc.a(lib_a-__call_atexit.o)
|
||||
.text.atexit 0x08000328 0xc c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m/fpv4-sp/hard\libc.a(lib_a-atexit.o)
|
||||
0x08000328 atexit
|
||||
.text.__libc_fini_array
|
||||
0x0800030c 0x34 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m/fpv4-sp/hard\libc.a(lib_a-fini.o)
|
||||
0x0800030c __libc_fini_array
|
||||
0x08000334 0x34 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m/fpv4-sp/hard\libc.a(lib_a-fini.o)
|
||||
0x08000334 __libc_fini_array
|
||||
.text.__retarget_lock_acquire_recursive
|
||||
0x08000340 0x4 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m/fpv4-sp/hard\libc.a(lib_a-lock.o)
|
||||
0x08000340 __retarget_lock_acquire_recursive
|
||||
0x08000368 0x4 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m/fpv4-sp/hard\libc.a(lib_a-lock.o)
|
||||
0x08000368 __retarget_lock_acquire_recursive
|
||||
.text.__retarget_lock_release_recursive
|
||||
0x08000344 0x4 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m/fpv4-sp/hard\libc.a(lib_a-lock.o)
|
||||
0x08000344 __retarget_lock_release_recursive
|
||||
0x0800036c 0x4 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m/fpv4-sp/hard\libc.a(lib_a-lock.o)
|
||||
0x0800036c __retarget_lock_release_recursive
|
||||
.text.__register_exitproc
|
||||
0x08000348 0xc4 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m/fpv4-sp/hard\libc.a(lib_a-__atexit.o)
|
||||
0x08000348 __register_exitproc
|
||||
0x08000370 0xc4 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m/fpv4-sp/hard\libc.a(lib_a-__atexit.o)
|
||||
0x08000370 __register_exitproc
|
||||
*(.glue_7)
|
||||
.glue_7 0x0800040c 0x0 linker stubs
|
||||
.glue_7 0x08000434 0x0 linker stubs
|
||||
*(.glue_7t)
|
||||
.glue_7t 0x0800040c 0x0 linker stubs
|
||||
.glue_7t 0x08000434 0x0 linker stubs
|
||||
*(.eh_frame)
|
||||
.eh_frame 0x0800040c 0x0 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o
|
||||
.eh_frame 0x08000434 0x0 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o
|
||||
*(.init)
|
||||
.init 0x0800040c 0x4 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/fpv4-sp/hard/crti.o
|
||||
0x0800040c _init
|
||||
.init 0x08000410 0x8 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/fpv4-sp/hard/crtn.o
|
||||
.init 0x08000434 0x4 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/fpv4-sp/hard/crti.o
|
||||
0x08000434 _init
|
||||
.init 0x08000438 0x8 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/fpv4-sp/hard/crtn.o
|
||||
*(.fini)
|
||||
.fini 0x08000418 0x4 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/fpv4-sp/hard/crti.o
|
||||
0x08000418 _fini
|
||||
.fini 0x0800041c 0x8 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/fpv4-sp/hard/crtn.o
|
||||
0x08000424 . = ALIGN (0x4)
|
||||
0x08000424 _etext = .
|
||||
.fini 0x08000440 0x4 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/fpv4-sp/hard/crti.o
|
||||
0x08000440 _fini
|
||||
.fini 0x08000444 0x8 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/fpv4-sp/hard/crtn.o
|
||||
0x0800044c . = ALIGN (0x4)
|
||||
0x0800044c _etext = .
|
||||
|
||||
.vfp11_veneer 0x08000424 0x0
|
||||
.vfp11_veneer 0x08000424 0x0 linker stubs
|
||||
.vfp11_veneer 0x0800044c 0x0
|
||||
.vfp11_veneer 0x0800044c 0x0 linker stubs
|
||||
|
||||
.v4_bx 0x08000424 0x0
|
||||
.v4_bx 0x08000424 0x0 linker stubs
|
||||
.v4_bx 0x0800044c 0x0
|
||||
.v4_bx 0x0800044c 0x0 linker stubs
|
||||
|
||||
.iplt 0x08000424 0x0
|
||||
.iplt 0x08000424 0x0 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o
|
||||
.iplt 0x0800044c 0x0
|
||||
.iplt 0x0800044c 0x0 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o
|
||||
|
||||
.rodata 0x08000424 0x4
|
||||
0x08000424 . = ALIGN (0x4)
|
||||
.rodata 0x0800044c 0x4
|
||||
0x0800044c . = ALIGN (0x4)
|
||||
*(.rodata)
|
||||
*(.rodata*)
|
||||
.rodata._global_impure_ptr
|
||||
0x08000424 0x4 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m/fpv4-sp/hard\libc.a(lib_a-impure.o)
|
||||
0x08000424 _global_impure_ptr
|
||||
0x08000428 . = ALIGN (0x4)
|
||||
0x0800044c 0x4 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m/fpv4-sp/hard\libc.a(lib_a-impure.o)
|
||||
0x0800044c _global_impure_ptr
|
||||
0x08000450 . = ALIGN (0x4)
|
||||
|
||||
.rel.dyn 0x08000428 0x0
|
||||
.rel.iplt 0x08000428 0x0 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o
|
||||
.rel.dyn 0x08000450 0x0
|
||||
.rel.iplt 0x08000450 0x0 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o
|
||||
|
||||
.ARM.extab 0x08000428 0x0
|
||||
0x08000428 . = ALIGN (0x4)
|
||||
.ARM.extab 0x08000450 0x0
|
||||
0x08000450 . = ALIGN (0x4)
|
||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
||||
0x08000428 . = ALIGN (0x4)
|
||||
0x08000450 . = ALIGN (0x4)
|
||||
|
||||
.ARM 0x08000428 0x0
|
||||
0x08000428 . = ALIGN (0x4)
|
||||
0x08000428 __exidx_start = .
|
||||
.ARM 0x08000450 0x0
|
||||
0x08000450 . = ALIGN (0x4)
|
||||
0x08000450 __exidx_start = .
|
||||
*(.ARM.exidx*)
|
||||
0x08000428 __exidx_end = .
|
||||
0x08000428 . = ALIGN (0x4)
|
||||
0x08000450 __exidx_end = .
|
||||
0x08000450 . = ALIGN (0x4)
|
||||
|
||||
.preinit_array 0x08000428 0x0
|
||||
0x08000428 . = ALIGN (0x4)
|
||||
0x08000428 PROVIDE (__preinit_array_start, .)
|
||||
.preinit_array 0x08000450 0x0
|
||||
0x08000450 . = ALIGN (0x4)
|
||||
0x08000450 PROVIDE (__preinit_array_start, .)
|
||||
*(.preinit_array*)
|
||||
0x08000428 PROVIDE (__preinit_array_end, .)
|
||||
0x08000428 . = ALIGN (0x4)
|
||||
0x08000450 PROVIDE (__preinit_array_end, .)
|
||||
0x08000450 . = ALIGN (0x4)
|
||||
|
||||
.init_array 0x08000428 0x8
|
||||
0x08000428 . = ALIGN (0x4)
|
||||
0x08000428 PROVIDE (__init_array_start, .)
|
||||
.init_array 0x08000450 0x8
|
||||
0x08000450 . = ALIGN (0x4)
|
||||
0x08000450 PROVIDE (__init_array_start, .)
|
||||
*(SORT(.init_array.*))
|
||||
.init_array.00000
|
||||
0x08000428 0x4 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m/fpv4-sp/hard\libc.a(lib_a-__call_atexit.o)
|
||||
0x08000450 0x4 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m/fpv4-sp/hard\libc.a(lib_a-__call_atexit.o)
|
||||
*(.init_array*)
|
||||
.init_array 0x0800042c 0x4 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o
|
||||
0x08000430 PROVIDE (__init_array_end, .)
|
||||
0x08000430 . = ALIGN (0x4)
|
||||
.init_array 0x08000454 0x4 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o
|
||||
0x08000458 PROVIDE (__init_array_end, .)
|
||||
0x08000458 . = ALIGN (0x4)
|
||||
|
||||
.fini_array 0x08000430 0x4
|
||||
0x08000430 . = ALIGN (0x4)
|
||||
0x08000430 PROVIDE (__fini_array_start, .)
|
||||
.fini_array 0x08000458 0x4
|
||||
0x08000458 . = ALIGN (0x4)
|
||||
0x08000458 PROVIDE (__fini_array_start, .)
|
||||
*(SORT(.fini_array.*))
|
||||
*(.fini_array*)
|
||||
.fini_array 0x08000430 0x4 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o
|
||||
0x08000434 PROVIDE (__fini_array_end, .)
|
||||
0x08000434 . = ALIGN (0x4)
|
||||
0x08000434 _sidata = LOADADDR (.data)
|
||||
.fini_array 0x08000458 0x4 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o
|
||||
0x0800045c PROVIDE (__fini_array_end, .)
|
||||
0x0800045c . = ALIGN (0x4)
|
||||
0x0800045c _sidata = LOADADDR (.data)
|
||||
|
||||
.data 0x20000000 0x42c load address 0x08000434
|
||||
.data 0x20000000 0x42c load address 0x0800045c
|
||||
0x20000000 . = ALIGN (0x4)
|
||||
0x20000000 _sdata = .
|
||||
*(.data)
|
||||
@@ -373,14 +373,14 @@ LOAD c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15
|
||||
0x2000042c . = ALIGN (0x4)
|
||||
0x2000042c _edata = .
|
||||
|
||||
.jcr 0x2000042c 0x0 load address 0x08000860
|
||||
.jcr 0x2000042c 0x0 load address 0x08000888
|
||||
.jcr 0x2000042c 0x0 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o
|
||||
|
||||
.igot.plt 0x2000042c 0x0 load address 0x08000860
|
||||
.igot.plt 0x2000042c 0x0 load address 0x08000888
|
||||
.igot.plt 0x2000042c 0x0 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/fpv4-sp/hard/crtbegin.o
|
||||
0x2000042c . = ALIGN (0x4)
|
||||
|
||||
.bss 0x2000042c 0x40 load address 0x08000860
|
||||
.bss 0x2000042c 0x40 load address 0x08000888
|
||||
0x2000042c _sbss = .
|
||||
0x2000042c __bss_start__ = _sbss
|
||||
*(.bss)
|
||||
@@ -403,7 +403,7 @@ LOAD c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15
|
||||
0x2000046c __bss_end__ = _ebss
|
||||
|
||||
._user_heap_stack
|
||||
0x2000046c 0x404 load address 0x08000860
|
||||
0x2000046c 0x404 load address 0x08000888
|
||||
0x20000470 . = ALIGN (0x8)
|
||||
*fill* 0x2000046c 0x4
|
||||
0x20000470 PROVIDE (end, .)
|
||||
@@ -447,9 +447,9 @@ LOAD c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15
|
||||
0x0000020c 0x22 c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/fpv4-sp/hard/crtn.o
|
||||
OUTPUT(lab2barnestr.elf elf32-littlearm)
|
||||
|
||||
.debug_line 0x00000000 0xd7
|
||||
.debug_line 0x00000000 0x5e src/main.o
|
||||
.debug_line 0x0000005e 0x79 startup/startup_stm32.o
|
||||
.debug_line 0x00000000 0xe7
|
||||
.debug_line 0x00000000 0x6e src/main.o
|
||||
.debug_line 0x0000006e 0x79 startup/startup_stm32.o
|
||||
|
||||
.debug_info 0x00000000 0xf5
|
||||
.debug_info 0x00000000 0x76 src/main.o
|
||||
|
||||
Binary file not shown.
@@ -19,7 +19,7 @@
|
||||
# GPIOB Enable
|
||||
.equ RCC_GPIOBEN, 1<<1
|
||||
# Bit Set Reset Register
|
||||
.equ GPIOx_BSRR, 0x18
|
||||
.equ GPIOB_BSRR, 0x18
|
||||
|
||||
.equ GPIOB_BASE, 0x40020400
|
||||
# GPIO Mode Register
|
||||
@@ -55,33 +55,58 @@ main:
|
||||
|
||||
str r2, [r1, #GPIO_MODER]
|
||||
|
||||
turn_on:
|
||||
# Turn on all lights
|
||||
ldr r2, [r1, #GPIO_ODR]
|
||||
movw r3, #0xF7E0
|
||||
orr r2, r2, r3
|
||||
str r2, [r1, #GPIO_ODR]
|
||||
# Set the starting on bit (one less than the right most LED bit)
|
||||
movw r3, #0x0010
|
||||
|
||||
# Wait
|
||||
scroll_left:
|
||||
# Move ON bit one position to the left
|
||||
lsl r3, r3, #1
|
||||
# Read current data
|
||||
ldr r2, [r1, #GPIO_ODR]
|
||||
# Clear previous ON bit, default 0
|
||||
bic r2, r4
|
||||
# Write new data
|
||||
orr r2, r2, r3
|
||||
# Skip if PB11 "pin"
|
||||
cmp r3, 0x0800
|
||||
beq scroll_left
|
||||
# Write data back
|
||||
str r2, [r1, #GPIO_ODR]
|
||||
# Write the current ON bit to be cleared next cycle
|
||||
mov r4, r3
|
||||
bl delay
|
||||
|
||||
# Turn off all lights
|
||||
ldr r2, [r1, #GPIO_ODR]
|
||||
movw r3, #0xF7E0
|
||||
orr r2, r2, r3
|
||||
str r2, [r1, #GPIO_ODR]
|
||||
# Wait
|
||||
# Loop back until the leftmost pin is on
|
||||
cmp r3, 0x8000
|
||||
bne scroll_left
|
||||
|
||||
# Go back to turn on al lights
|
||||
b turn_on
|
||||
scroll_right:
|
||||
# Move ON bit one position to the right
|
||||
lsr r3, r3, #1
|
||||
# Read current data
|
||||
ldr r2, [r1, #GPIO_ODR]
|
||||
# Clear previous ON bit, default 0
|
||||
bic r2, r4
|
||||
# Write new data
|
||||
orr r2, r2, r3
|
||||
# Skip if PB11 "pin"
|
||||
cmp r3, 0x0800
|
||||
beq scroll_right
|
||||
# Write data back
|
||||
str r2, [r1, #GPIO_ODR]
|
||||
# Write the current ON bit to be cleared next cycle
|
||||
mov r4, r3
|
||||
bl delay
|
||||
# Loop back until the rightmost pin is on
|
||||
cmp r3, 0x0020
|
||||
bne scroll_right
|
||||
b scroll_left
|
||||
|
||||
delay:
|
||||
ldr r12, =0x002000000
|
||||
# Arbitrary delay length
|
||||
ldr r12, =0x00050000
|
||||
1:
|
||||
|
||||
subs r12, r12,#1
|
||||
# Bracnch backward to local label if not equal to 0
|
||||
# Branch backward to local label if not equal to 0
|
||||
bne 1b
|
||||
bx lr
|
||||
end:
|
||||
b end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user