From 4147226709a4cf86c4435a146f834255bbf8a267 Mon Sep 17 00:00:00 2001 From: a74589669 <290198252@qq.com> Date: Sun, 11 Aug 2019 23:54:03 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A06=E4=B8=AA=E8=BD=B4=E6=96=B9?= =?UTF-8?q?=E5=90=91=E9=A9=B1=E5=8A=A8=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Listings/roboticarm_controller.map | 515 +++++++++--------- .../Objects/roboticarm_controller.axf | Bin 348968 -> 349868 bytes roboticarm_controller/interrupt.c | 30 + roboticarm_controller/main.c | 21 +- 4 files changed, 309 insertions(+), 257 deletions(-) diff --git a/roboticarm_controller/Listings/roboticarm_controller.map b/roboticarm_controller/Listings/roboticarm_controller.map index 28f1d6d..d08d5fa 100644 --- a/roboticarm_controller/Listings/roboticarm_controller.map +++ b/roboticarm_controller/Listings/roboticarm_controller.map @@ -4,6 +4,7 @@ Component: ARM Compiler 5.06 update 6 (build 750) Tool: armlink [4d35ed] Section Cross References + main.o(i.GPIO_Direction_Init) refers to gpio.o(i.GPIO_SetMode) for GPIO_SetMode main.o(i.NRF24L01Init) refers to clk.o(i.CLK_EnableModuleClock) for CLK_EnableModuleClock main.o(i.NRF24L01Init) refers to sys.o(i.SYS_ResetModule) for SYS_ResetModule main.o(i.NRF24L01Init) refers to clk.o(i.CLK_SetModuleClock) for CLK_SetModuleClock @@ -18,6 +19,7 @@ Section Cross References main.o(i.ParsePackage) refers to main.o(.data) for Axis1 main.o(i.main) refers to rt_memclr_w.o(.text) for __aeabi_memclr4 main.o(i.main) refers to gpio.o(i.GPIO_SetMode) for GPIO_SetMode + main.o(i.main) refers to main.o(i.GPIO_Direction_Init) for GPIO_Direction_Init main.o(i.main) refers to spi_hal.o(i.Spi_init) for Spi_init main.o(i.main) refers to 24l01.o(i.RX_Mode) for RX_Mode main.o(i.main) refers to main.o(i.PWMInit) for PWMInit @@ -479,72 +481,72 @@ Image Symbol Table ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit2.o ABSOLUTE ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit3.o ABSOLUTE ../clib/angel/boardlib.s 0x00000000 Number 0 boardshut.o ABSOLUTE - ../clib/angel/handlers.s 0x00000000 Number 0 __scatter_copy.o ABSOLUTE ../clib/angel/handlers.s 0x00000000 Number 0 __scatter_zi.o ABSOLUTE + ../clib/angel/handlers.s 0x00000000 Number 0 __scatter_copy.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 rtexit.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 rtexit2.o ABSOLUTE ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry.o ABSOLUTE ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry2.o ABSOLUTE ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry4.o ABSOLUTE - ../clib/angel/kernel.s 0x00000000 Number 0 rtexit.o ABSOLUTE - ../clib/angel/kernel.s 0x00000000 Number 0 rtexit2.o ABSOLUTE ../clib/angel/rt.s 0x00000000 Number 0 rt_raise.o ABSOLUTE ../clib/angel/scatter.s 0x00000000 Number 0 __scatter.o ABSOLUTE ../clib/angel/startup.s 0x00000000 Number 0 __main.o ABSOLUTE - ../clib/angel/sys.s 0x00000000 Number 0 sys_stackheap_outer.o ABSOLUTE ../clib/angel/sys.s 0x00000000 Number 0 libspace.o ABSOLUTE ../clib/angel/sys.s 0x00000000 Number 0 use_no_semi.o ABSOLUTE ../clib/angel/sys.s 0x00000000 Number 0 indicate_semi.o ABSOLUTE + ../clib/angel/sys.s 0x00000000 Number 0 sys_stackheap_outer.o ABSOLUTE ../clib/angel/sysapp.c 0x00000000 Number 0 sys_exit.o ABSOLUTE ../clib/angel/sysapp.c 0x00000000 Number 0 sys_command.o ABSOLUTE + ../clib/armsys.c 0x00000000 Number 0 argv_veneer.o ABSOLUTE + ../clib/armsys.c 0x00000000 Number 0 argv_veneer.o ABSOLUTE ../clib/armsys.c 0x00000000 Number 0 _get_argv_nomalloc.o ABSOLUTE - ../clib/armsys.c 0x00000000 Number 0 argv_veneer.o ABSOLUTE - ../clib/armsys.c 0x00000000 Number 0 argv_veneer.o ABSOLUTE ../clib/armsys.c 0x00000000 Number 0 no_argv.o ABSOLUTE ../clib/heapalloc.c 0x00000000 Number 0 hrguard.o ABSOLUTE ../clib/heapaux.c 0x00000000 Number 0 heapauxi.o ABSOLUTE - ../clib/libinit.s 0x00000000 Number 0 libshutdown.o ABSOLUTE - ../clib/libinit.s 0x00000000 Number 0 libinit2.o ABSOLUTE ../clib/libinit.s 0x00000000 Number 0 libinit.o ABSOLUTE + ../clib/libinit.s 0x00000000 Number 0 libinit2.o ABSOLUTE + ../clib/libinit.s 0x00000000 Number 0 libshutdown.o ABSOLUTE ../clib/libinit.s 0x00000000 Number 0 libshutdown2.o ABSOLUTE ../clib/memcpset.s 0x00000000 Number 0 rt_memclr_w.o ABSOLUTE ../clib/misc.s 0x00000000 Number 0 printf_stubs.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __printf_flags.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_wp.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __2printf.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_hex_int_ll.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_hex_ptr.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_hex_int_ptr.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_hex_ll_ptr.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_hex_int_ll_ptr.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __printf_flags_ss.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 noretval__2printf.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __printf.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_flags.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 __printf_ss.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __printf_wp.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_hex_ll.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_flags_ss.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_hex_int.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_intcommon.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 __printf_flags_wp.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 __printf_ss_wp.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 __printf_flags_ss_wp.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __2printf.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_char_common.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_hex_int.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 __printf_nopercent.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_intcommon.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_char_common.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 noretval__2printf.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_char_file.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_percent_end.o ABSOLUTE ../clib/printf_percent.s 0x00000000 Number 0 _printf_percent.o ABSOLUTE ../clib/printf_percent.s 0x00000000 Number 0 _printf_x.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_segv_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_formal.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_pvfn_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_stak_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_cppl_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_rtred_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_outer.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_abrt_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_other.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_general.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_exit.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_percent_end.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_abrt_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_outer.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_pvfn_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_formal.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_stak_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_exit.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 __raise.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_general.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_cppl_inner.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_fpe_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_segv_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_other.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_rtred_inner.o ABSOLUTE ../clib/signal.s 0x00000000 Number 0 defsig.o ABSOLUTE ../clib/stdlib.c 0x00000000 Number 0 exit.o ABSOLUTE ../fplib/fpinit.s 0x00000000 Number 0 fpinit.o ABSOLUTE @@ -650,53 +652,54 @@ Image Symbol Table CLK_GetPLLClockFreq 0x000006c9 Thumb Code 84 system_m451series.o(i.CLK_GetPLLClockFreq) i.CLK_SetModuleClock 0x0000072c Section 0 clk.o(i.CLK_SetModuleClock) i.EINT0_IRQHandler 0x00000780 Section 0 24l01.o(i.EINT0_IRQHandler) - i.GPIO_SetMode 0x000007e0 Section 0 gpio.o(i.GPIO_SetMode) - i.Hard_Fault_Handler 0x0000080c Section 0 retarget.o(i.Hard_Fault_Handler) - __tagsym$$used 0x0000080d Number 0 retarget.o(i.Hard_Fault_Handler) - i.NRF24L01_Read_Buf 0x00000838 Section 0 24l01.o(i.NRF24L01_Read_Buf) - i.NRF24L01_RxPacket 0x0000086c Section 0 24l01.o(i.NRF24L01_RxPacket) - i.NRFSetTxMode 0x000008b4 Section 0 24l01.o(i.NRFSetTxMode) - i.PWM0P0_IRQHandler 0x0000094c Section 0 interrupt.o(i.PWM0P0_IRQHandler) - i.PWM1P0_IRQHandler 0x000009cc Section 0 interrupt.o(i.PWM1P0_IRQHandler) - i.PWMInit 0x00000a14 Section 0 main.o(i.PWMInit) - i.PWM_ClearPeriodIntFlag 0x00000b60 Section 0 pwm.o(i.PWM_ClearPeriodIntFlag) - i.PWM_ConfigOutputChannel 0x00000b6c Section 0 pwm.o(i.PWM_ConfigOutputChannel) - i.PWM_DisableOutput 0x00000cdc Section 0 pwm.o(i.PWM_DisableOutput) - i.PWM_EnableOutput 0x00000ce8 Section 0 pwm.o(i.PWM_EnableOutput) - i.PWM_EnablePeriodInt 0x00000cf4 Section 0 pwm.o(i.PWM_EnablePeriodInt) - i.PWM_Start 0x00000d08 Section 0 pwm.o(i.PWM_Start) - i.ParsePackage 0x00000d10 Section 0 main.o(i.ParsePackage) - i.RX_Mode 0x00000d98 Section 0 24l01.o(i.RX_Mode) - i.SPI_DisableAutoSS 0x00000e38 Section 0 spi.o(i.SPI_DisableAutoSS) - i.SPI_Open 0x00000e44 Section 0 spi.o(i.SPI_Open) - i.SYS_ResetModule 0x000010e4 Section 0 sys.o(i.SYS_ResetModule) - i.SendChar 0x00001114 Section 0 retarget.o(i.SendChar) - i.SendChar_ToUART 0x00001120 Section 0 retarget.o(i.SendChar_ToUART) - i.Spi_init 0x00001150 Section 0 spi_hal.o(i.Spi_init) - i.SystemCoreClockUpdate 0x000011f4 Section 0 system_m451series.o(i.SystemCoreClockUpdate) - i.SystemInit 0x00001258 Section 0 system_m451series.o(i.SystemInit) - i.__NVIC_EnableIRQ 0x000012cc Section 0 main.o(i.__NVIC_EnableIRQ) - __NVIC_EnableIRQ 0x000012cd Thumb Code 26 main.o(i.__NVIC_EnableIRQ) - i._is_digit 0x000012e6 Section 0 __printf_wp.o(i._is_digit) - i.delayAny 0x000012f4 Section 0 spi_hal.o(i.delayAny) - i.delay_s 0x00001302 Section 0 24l01.o(i.delay_s) - i.ferror 0x00001310 Section 0 retarget.o(i.ferror) - i.fputc 0x00001318 Section 0 retarget.o(i.fputc) - i.main 0x00001328 Section 0 main.o(i.main) - i.nrf_read 0x00001360 Section 0 spi_hal.o(i.nrf_read) - i.nrf_write 0x0000137c Section 0 spi_hal.o(i.nrf_write) - i.nrf_writebuf 0x0000139a Section 0 spi_hal.o(i.nrf_writebuf) - i.spi_disable 0x000013c8 Section 0 spi_hal.o(i.spi_disable) - i.spi_enable 0x000013dc Section 0 spi_hal.o(i.spi_enable) - i.spi_read 0x000013f0 Section 0 spi_hal.o(i.spi_read) - i.spi_send 0x00001410 Section 0 spi_hal.o(i.spi_send) - i.stackDump 0x00001430 Section 0 retarget.o(i.stackDump) - stackDump 0x00001431 Thumb Code 70 retarget.o(i.stackDump) - x$fpl$fpinit 0x000014d8 Section 10 fpinit.o(x$fpl$fpinit) - $v0 0x000014d8 Number 0 fpinit.o(x$fpl$fpinit) - .constdata 0x000014e2 Section 40 _printf_hex_int.o(.constdata) - uc_hextab 0x000014e2 Data 20 _printf_hex_int.o(.constdata) - lc_hextab 0x000014f6 Data 20 _printf_hex_int.o(.constdata) + i.GPIO_Direction_Init 0x000007e0 Section 0 main.o(i.GPIO_Direction_Init) + i.GPIO_SetMode 0x00000850 Section 0 gpio.o(i.GPIO_SetMode) + i.Hard_Fault_Handler 0x0000087c Section 0 retarget.o(i.Hard_Fault_Handler) + __tagsym$$used 0x0000087d Number 0 retarget.o(i.Hard_Fault_Handler) + i.NRF24L01_Read_Buf 0x000008a8 Section 0 24l01.o(i.NRF24L01_Read_Buf) + i.NRF24L01_RxPacket 0x000008dc Section 0 24l01.o(i.NRF24L01_RxPacket) + i.NRFSetTxMode 0x00000924 Section 0 24l01.o(i.NRFSetTxMode) + i.PWM0P0_IRQHandler 0x000009bc Section 0 interrupt.o(i.PWM0P0_IRQHandler) + i.PWM1P0_IRQHandler 0x00000aac Section 0 interrupt.o(i.PWM1P0_IRQHandler) + i.PWMInit 0x00000b2c Section 0 main.o(i.PWMInit) + i.PWM_ClearPeriodIntFlag 0x00000c78 Section 0 pwm.o(i.PWM_ClearPeriodIntFlag) + i.PWM_ConfigOutputChannel 0x00000c84 Section 0 pwm.o(i.PWM_ConfigOutputChannel) + i.PWM_DisableOutput 0x00000df4 Section 0 pwm.o(i.PWM_DisableOutput) + i.PWM_EnableOutput 0x00000e00 Section 0 pwm.o(i.PWM_EnableOutput) + i.PWM_EnablePeriodInt 0x00000e0c Section 0 pwm.o(i.PWM_EnablePeriodInt) + i.PWM_Start 0x00000e20 Section 0 pwm.o(i.PWM_Start) + i.ParsePackage 0x00000e28 Section 0 main.o(i.ParsePackage) + i.RX_Mode 0x00000eb0 Section 0 24l01.o(i.RX_Mode) + i.SPI_DisableAutoSS 0x00000f50 Section 0 spi.o(i.SPI_DisableAutoSS) + i.SPI_Open 0x00000f5c Section 0 spi.o(i.SPI_Open) + i.SYS_ResetModule 0x000011fc Section 0 sys.o(i.SYS_ResetModule) + i.SendChar 0x0000122c Section 0 retarget.o(i.SendChar) + i.SendChar_ToUART 0x00001238 Section 0 retarget.o(i.SendChar_ToUART) + i.Spi_init 0x00001268 Section 0 spi_hal.o(i.Spi_init) + i.SystemCoreClockUpdate 0x0000130c Section 0 system_m451series.o(i.SystemCoreClockUpdate) + i.SystemInit 0x00001370 Section 0 system_m451series.o(i.SystemInit) + i.__NVIC_EnableIRQ 0x000013e4 Section 0 main.o(i.__NVIC_EnableIRQ) + __NVIC_EnableIRQ 0x000013e5 Thumb Code 26 main.o(i.__NVIC_EnableIRQ) + i._is_digit 0x000013fe Section 0 __printf_wp.o(i._is_digit) + i.delayAny 0x0000140c Section 0 spi_hal.o(i.delayAny) + i.delay_s 0x0000141a Section 0 24l01.o(i.delay_s) + i.ferror 0x00001428 Section 0 retarget.o(i.ferror) + i.fputc 0x00001430 Section 0 retarget.o(i.fputc) + i.main 0x00001440 Section 0 main.o(i.main) + i.nrf_read 0x0000147c Section 0 spi_hal.o(i.nrf_read) + i.nrf_write 0x00001498 Section 0 spi_hal.o(i.nrf_write) + i.nrf_writebuf 0x000014b6 Section 0 spi_hal.o(i.nrf_writebuf) + i.spi_disable 0x000014e4 Section 0 spi_hal.o(i.spi_disable) + i.spi_enable 0x000014f8 Section 0 spi_hal.o(i.spi_enable) + i.spi_read 0x0000150c Section 0 spi_hal.o(i.spi_read) + i.spi_send 0x0000152c Section 0 spi_hal.o(i.spi_send) + i.stackDump 0x0000154c Section 0 retarget.o(i.stackDump) + stackDump 0x0000154d Thumb Code 70 retarget.o(i.stackDump) + x$fpl$fpinit 0x000015f4 Section 10 fpinit.o(x$fpl$fpinit) + $v0 0x000015f4 Number 0 fpinit.o(x$fpl$fpinit) + .constdata 0x000015fe Section 40 _printf_hex_int.o(.constdata) + uc_hextab 0x000015fe Data 20 _printf_hex_int.o(.constdata) + lc_hextab 0x00001612 Data 20 _printf_hex_int.o(.constdata) .data 0x20000000 Section 12 main.o(.data) .data 0x2000000c Section 21 24l01.o(.data) ifinit 0x20000020 Data 1 24l01.o(.data) @@ -895,48 +898,49 @@ Image Symbol Table CLK_GetHCLKFreq 0x000005f1 Thumb Code 12 clk.o(i.CLK_GetHCLKFreq) CLK_SetModuleClock 0x0000072d Thumb Code 78 clk.o(i.CLK_SetModuleClock) EINT0_IRQHandler 0x00000781 Thumb Code 82 24l01.o(i.EINT0_IRQHandler) - GPIO_SetMode 0x000007e1 Thumb Code 44 gpio.o(i.GPIO_SetMode) - Hard_Fault_Handler 0x0000080d Thumb Code 18 retarget.o(i.Hard_Fault_Handler) - NRF24L01_Read_Buf 0x00000839 Thumb Code 50 24l01.o(i.NRF24L01_Read_Buf) - NRF24L01_RxPacket 0x0000086d Thumb Code 68 24l01.o(i.NRF24L01_RxPacket) - NRFSetTxMode 0x000008b5 Thumb Code 132 24l01.o(i.NRFSetTxMode) - PWM0P0_IRQHandler 0x0000094d Thumb Code 108 interrupt.o(i.PWM0P0_IRQHandler) - PWM1P0_IRQHandler 0x000009cd Thumb Code 60 interrupt.o(i.PWM1P0_IRQHandler) - PWMInit 0x00000a15 Thumb Code 312 main.o(i.PWMInit) - PWM_ClearPeriodIntFlag 0x00000b61 Thumb Code 12 pwm.o(i.PWM_ClearPeriodIntFlag) - PWM_ConfigOutputChannel 0x00000b6d Thumb Code 354 pwm.o(i.PWM_ConfigOutputChannel) - PWM_DisableOutput 0x00000cdd Thumb Code 12 pwm.o(i.PWM_DisableOutput) - PWM_EnableOutput 0x00000ce9 Thumb Code 12 pwm.o(i.PWM_EnableOutput) - PWM_EnablePeriodInt 0x00000cf5 Thumb Code 20 pwm.o(i.PWM_EnablePeriodInt) - PWM_Start 0x00000d09 Thumb Code 8 pwm.o(i.PWM_Start) - ParsePackage 0x00000d11 Thumb Code 112 main.o(i.ParsePackage) - RX_Mode 0x00000d99 Thumb Code 140 24l01.o(i.RX_Mode) - SPI_DisableAutoSS 0x00000e39 Thumb Code 10 spi.o(i.SPI_DisableAutoSS) - SPI_Open 0x00000e45 Thumb Code 646 spi.o(i.SPI_Open) - SYS_ResetModule 0x000010e5 Thumb Code 48 sys.o(i.SYS_ResetModule) - SendChar 0x00001115 Thumb Code 12 retarget.o(i.SendChar) - SendChar_ToUART 0x00001121 Thumb Code 44 retarget.o(i.SendChar_ToUART) - Spi_init 0x00001151 Thumb Code 138 spi_hal.o(i.Spi_init) - SystemCoreClockUpdate 0x000011f5 Thumb Code 74 system_m451series.o(i.SystemCoreClockUpdate) - SystemInit 0x00001259 Thumb Code 104 system_m451series.o(i.SystemInit) - _is_digit 0x000012e7 Thumb Code 14 __printf_wp.o(i._is_digit) - delayAny 0x000012f5 Thumb Code 14 spi_hal.o(i.delayAny) - delay_s 0x00001303 Thumb Code 14 24l01.o(i.delay_s) - ferror 0x00001311 Thumb Code 8 retarget.o(i.ferror) - fputc 0x00001319 Thumb Code 16 retarget.o(i.fputc) - main 0x00001329 Thumb Code 52 main.o(i.main) - nrf_read 0x00001361 Thumb Code 28 spi_hal.o(i.nrf_read) - nrf_write 0x0000137d Thumb Code 30 spi_hal.o(i.nrf_write) - nrf_writebuf 0x0000139b Thumb Code 46 spi_hal.o(i.nrf_writebuf) - spi_disable 0x000013c9 Thumb Code 14 spi_hal.o(i.spi_disable) - spi_enable 0x000013dd Thumb Code 14 spi_hal.o(i.spi_enable) - spi_read 0x000013f1 Thumb Code 28 spi_hal.o(i.spi_read) - spi_send 0x00001411 Thumb Code 28 spi_hal.o(i.spi_send) - _fp_init 0x000014d9 Thumb Code 10 fpinit.o(x$fpl$fpinit) - __fplib_config_fpu_vfp 0x000014e1 Thumb Code 0 fpinit.o(x$fpl$fpinit) - __fplib_config_pureend_doubles 0x000014e1 Thumb Code 0 fpinit.o(x$fpl$fpinit) - Region$$Table$$Base 0x0000150c Number 0 anon$$obj.o(Region$$Table) - Region$$Table$$Limit 0x0000152c Number 0 anon$$obj.o(Region$$Table) + GPIO_Direction_Init 0x000007e1 Thumb Code 102 main.o(i.GPIO_Direction_Init) + GPIO_SetMode 0x00000851 Thumb Code 44 gpio.o(i.GPIO_SetMode) + Hard_Fault_Handler 0x0000087d Thumb Code 18 retarget.o(i.Hard_Fault_Handler) + NRF24L01_Read_Buf 0x000008a9 Thumb Code 50 24l01.o(i.NRF24L01_Read_Buf) + NRF24L01_RxPacket 0x000008dd Thumb Code 68 24l01.o(i.NRF24L01_RxPacket) + NRFSetTxMode 0x00000925 Thumb Code 132 24l01.o(i.NRFSetTxMode) + PWM0P0_IRQHandler 0x000009bd Thumb Code 216 interrupt.o(i.PWM0P0_IRQHandler) + PWM1P0_IRQHandler 0x00000aad Thumb Code 112 interrupt.o(i.PWM1P0_IRQHandler) + PWMInit 0x00000b2d Thumb Code 312 main.o(i.PWMInit) + PWM_ClearPeriodIntFlag 0x00000c79 Thumb Code 12 pwm.o(i.PWM_ClearPeriodIntFlag) + PWM_ConfigOutputChannel 0x00000c85 Thumb Code 354 pwm.o(i.PWM_ConfigOutputChannel) + PWM_DisableOutput 0x00000df5 Thumb Code 12 pwm.o(i.PWM_DisableOutput) + PWM_EnableOutput 0x00000e01 Thumb Code 12 pwm.o(i.PWM_EnableOutput) + PWM_EnablePeriodInt 0x00000e0d Thumb Code 20 pwm.o(i.PWM_EnablePeriodInt) + PWM_Start 0x00000e21 Thumb Code 8 pwm.o(i.PWM_Start) + ParsePackage 0x00000e29 Thumb Code 112 main.o(i.ParsePackage) + RX_Mode 0x00000eb1 Thumb Code 140 24l01.o(i.RX_Mode) + SPI_DisableAutoSS 0x00000f51 Thumb Code 10 spi.o(i.SPI_DisableAutoSS) + SPI_Open 0x00000f5d Thumb Code 646 spi.o(i.SPI_Open) + SYS_ResetModule 0x000011fd Thumb Code 48 sys.o(i.SYS_ResetModule) + SendChar 0x0000122d Thumb Code 12 retarget.o(i.SendChar) + SendChar_ToUART 0x00001239 Thumb Code 44 retarget.o(i.SendChar_ToUART) + Spi_init 0x00001269 Thumb Code 138 spi_hal.o(i.Spi_init) + SystemCoreClockUpdate 0x0000130d Thumb Code 74 system_m451series.o(i.SystemCoreClockUpdate) + SystemInit 0x00001371 Thumb Code 104 system_m451series.o(i.SystemInit) + _is_digit 0x000013ff Thumb Code 14 __printf_wp.o(i._is_digit) + delayAny 0x0000140d Thumb Code 14 spi_hal.o(i.delayAny) + delay_s 0x0000141b Thumb Code 14 24l01.o(i.delay_s) + ferror 0x00001429 Thumb Code 8 retarget.o(i.ferror) + fputc 0x00001431 Thumb Code 16 retarget.o(i.fputc) + main 0x00001441 Thumb Code 56 main.o(i.main) + nrf_read 0x0000147d Thumb Code 28 spi_hal.o(i.nrf_read) + nrf_write 0x00001499 Thumb Code 30 spi_hal.o(i.nrf_write) + nrf_writebuf 0x000014b7 Thumb Code 46 spi_hal.o(i.nrf_writebuf) + spi_disable 0x000014e5 Thumb Code 14 spi_hal.o(i.spi_disable) + spi_enable 0x000014f9 Thumb Code 14 spi_hal.o(i.spi_enable) + spi_read 0x0000150d Thumb Code 28 spi_hal.o(i.spi_read) + spi_send 0x0000152d Thumb Code 28 spi_hal.o(i.spi_send) + _fp_init 0x000015f5 Thumb Code 10 fpinit.o(x$fpl$fpinit) + __fplib_config_fpu_vfp 0x000015fd Thumb Code 0 fpinit.o(x$fpl$fpinit) + __fplib_config_pureend_doubles 0x000015fd Thumb Code 0 fpinit.o(x$fpl$fpinit) + Region$$Table$$Base 0x00001628 Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x00001648 Number 0 anon$$obj.o(Region$$Table) Axis1 0x20000000 Data 2 main.o(.data) Axis2 0x20000002 Data 2 main.o(.data) Axis3 0x20000004 Data 2 main.o(.data) @@ -968,146 +972,147 @@ Memory Map of the image Image Entry point : 0x00000141 - Load Region LR_IROM1 (Base: 0x00000000, Size: 0x00001584, Max: 0x00040000, ABSOLUTE) + Load Region LR_IROM1 (Base: 0x00000000, Size: 0x000016a0, Max: 0x00040000, ABSOLUTE) - Execution Region ER_IROM1 (Exec base: 0x00000000, Load base: 0x00000000, Size: 0x0000152c, Max: 0x00040000, ABSOLUTE) + Execution Region ER_IROM1 (Exec base: 0x00000000, Load base: 0x00000000, Size: 0x00001648, Max: 0x00040000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x00000000 0x00000000 0x00000140 Data RO 1380 RESET startup_m451series.o - 0x00000140 0x00000140 0x00000008 Code RO 1484 * !!!main c_w.l(__main.o) - 0x00000148 0x00000148 0x00000034 Code RO 1648 !!!scatter c_w.l(__scatter.o) - 0x0000017c 0x0000017c 0x0000001a Code RO 1650 !!handler_copy c_w.l(__scatter_copy.o) + 0x00000000 0x00000000 0x00000140 Data RO 1386 RESET startup_m451series.o + 0x00000140 0x00000140 0x00000008 Code RO 1490 * !!!main c_w.l(__main.o) + 0x00000148 0x00000148 0x00000034 Code RO 1654 !!!scatter c_w.l(__scatter.o) + 0x0000017c 0x0000017c 0x0000001a Code RO 1656 !!handler_copy c_w.l(__scatter_copy.o) 0x00000196 0x00000196 0x00000002 PAD - 0x00000198 0x00000198 0x0000001c Code RO 1652 !!handler_zi c_w.l(__scatter_zi.o) - 0x000001b4 0x000001b4 0x00000000 Code RO 1479 .ARM.Collect$$_printf_percent$$00000000 c_w.l(_printf_percent.o) - 0x000001b4 0x000001b4 0x00000006 Code RO 1478 .ARM.Collect$$_printf_percent$$0000000C c_w.l(_printf_x.o) - 0x000001ba 0x000001ba 0x00000004 Code RO 1491 .ARM.Collect$$_printf_percent$$00000017 c_w.l(_printf_percent_end.o) - 0x000001be 0x000001be 0x00000002 Code RO 1520 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o) - 0x000001c0 0x000001c0 0x00000004 Code RO 1526 .ARM.Collect$$libinit$$00000001 c_w.l(libinit2.o) - 0x000001c4 0x000001c4 0x00000000 Code RO 1529 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o) - 0x000001c4 0x000001c4 0x00000000 Code RO 1532 .ARM.Collect$$libinit$$0000000A c_w.l(libinit2.o) - 0x000001c4 0x000001c4 0x00000000 Code RO 1534 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o) - 0x000001c4 0x000001c4 0x00000000 Code RO 1536 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o) - 0x000001c4 0x000001c4 0x00000000 Code RO 1539 .ARM.Collect$$libinit$$00000011 c_w.l(libinit2.o) - 0x000001c4 0x000001c4 0x00000000 Code RO 1541 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o) - 0x000001c4 0x000001c4 0x00000000 Code RO 1543 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o) - 0x000001c4 0x000001c4 0x00000000 Code RO 1545 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o) - 0x000001c4 0x000001c4 0x00000000 Code RO 1547 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o) - 0x000001c4 0x000001c4 0x00000000 Code RO 1549 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o) - 0x000001c4 0x000001c4 0x00000000 Code RO 1551 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o) - 0x000001c4 0x000001c4 0x00000000 Code RO 1553 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o) - 0x000001c4 0x000001c4 0x00000000 Code RO 1555 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o) - 0x000001c4 0x000001c4 0x00000000 Code RO 1557 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o) - 0x000001c4 0x000001c4 0x00000000 Code RO 1559 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o) - 0x000001c4 0x000001c4 0x00000000 Code RO 1563 .ARM.Collect$$libinit$$0000002C c_w.l(libinit2.o) - 0x000001c4 0x000001c4 0x00000000 Code RO 1565 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o) - 0x000001c4 0x000001c4 0x00000000 Code RO 1567 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o) - 0x000001c4 0x000001c4 0x00000000 Code RO 1569 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o) - 0x000001c4 0x000001c4 0x00000002 Code RO 1570 .ARM.Collect$$libinit$$00000033 c_w.l(libinit2.o) - 0x000001c6 0x000001c6 0x00000002 Code RO 1590 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o) - 0x000001c8 0x000001c8 0x00000000 Code RO 1603 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o) - 0x000001c8 0x000001c8 0x00000000 Code RO 1605 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o) - 0x000001c8 0x000001c8 0x00000000 Code RO 1608 .ARM.Collect$$libshutdown$$00000007 c_w.l(libshutdown2.o) - 0x000001c8 0x000001c8 0x00000000 Code RO 1611 .ARM.Collect$$libshutdown$$0000000A c_w.l(libshutdown2.o) - 0x000001c8 0x000001c8 0x00000000 Code RO 1613 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o) - 0x000001c8 0x000001c8 0x00000000 Code RO 1616 .ARM.Collect$$libshutdown$$0000000F c_w.l(libshutdown2.o) - 0x000001c8 0x000001c8 0x00000002 Code RO 1617 .ARM.Collect$$libshutdown$$00000010 c_w.l(libshutdown2.o) - 0x000001ca 0x000001ca 0x00000000 Code RO 1486 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o) - 0x000001ca 0x000001ca 0x00000000 Code RO 1493 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o) - 0x000001ca 0x000001ca 0x00000006 Code RO 1505 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o) - 0x000001d0 0x000001d0 0x00000000 Code RO 1495 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o) - 0x000001d0 0x000001d0 0x00000004 Code RO 1496 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o) - 0x000001d4 0x000001d4 0x00000000 Code RO 1498 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o) - 0x000001d4 0x000001d4 0x00000008 Code RO 1499 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o) - 0x000001dc 0x000001dc 0x00000002 Code RO 1524 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o) - 0x000001de 0x000001de 0x00000000 Code RO 1572 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o) - 0x000001de 0x000001de 0x00000004 Code RO 1573 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o) - 0x000001e2 0x000001e2 0x00000006 Code RO 1574 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o) - 0x000001e8 0x000001e8 0x0000001c Code RO 1265 .emb_text retarget.o - 0x00000204 0x00000204 0x00000074 Code RO 1381 .text startup_m451series.o - 0x00000278 0x00000278 0x00000018 Code RO 1433 .text c_w.l(noretval__2printf.o) - 0x00000290 0x00000290 0x00000058 Code RO 1440 .text c_w.l(_printf_hex_int.o) - 0x000002e8 0x000002e8 0x0000010e Code RO 1466 .text c_w.l(__printf_wp.o) - 0x000003f6 0x000003f6 0x0000004e Code RO 1480 .text c_w.l(rt_memclr_w.o) - 0x00000444 0x00000444 0x00000006 Code RO 1482 .text c_w.l(heapauxi.o) - 0x0000044a 0x0000044a 0x000000b2 Code RO 1487 .text c_w.l(_printf_intcommon.o) - 0x000004fc 0x000004fc 0x00000024 Code RO 1489 .text c_w.l(_printf_char_file.o) - 0x00000520 0x00000520 0x00000030 Code RO 1507 .text c_w.l(_printf_char_common.o) - 0x00000550 0x00000550 0x0000004a Code RO 1509 .text c_w.l(sys_stackheap_outer.o) - 0x0000059a 0x0000059a 0x00000012 Code RO 1513 .text c_w.l(exit.o) - 0x000005ac 0x000005ac 0x00000008 Code RO 1521 .text c_w.l(libspace.o) - 0x000005b4 0x000005b4 0x0000000c Code RO 1582 .text c_w.l(sys_exit.o) - 0x000005c0 0x000005c0 0x00000002 Code RO 1593 .text c_w.l(use_no_semi.o) - 0x000005c2 0x000005c2 0x00000000 Code RO 1595 .text c_w.l(indicate_semi.o) - 0x000005c2 0x000005c2 0x0000002c Code RO 411 i.CLK_EnableModuleClock clk.o + 0x00000198 0x00000198 0x0000001c Code RO 1658 !!handler_zi c_w.l(__scatter_zi.o) + 0x000001b4 0x000001b4 0x00000000 Code RO 1485 .ARM.Collect$$_printf_percent$$00000000 c_w.l(_printf_percent.o) + 0x000001b4 0x000001b4 0x00000006 Code RO 1484 .ARM.Collect$$_printf_percent$$0000000C c_w.l(_printf_x.o) + 0x000001ba 0x000001ba 0x00000004 Code RO 1497 .ARM.Collect$$_printf_percent$$00000017 c_w.l(_printf_percent_end.o) + 0x000001be 0x000001be 0x00000002 Code RO 1526 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o) + 0x000001c0 0x000001c0 0x00000004 Code RO 1532 .ARM.Collect$$libinit$$00000001 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1535 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1538 .ARM.Collect$$libinit$$0000000A c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1540 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1542 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1545 .ARM.Collect$$libinit$$00000011 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1547 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1549 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1551 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1553 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1555 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1557 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1559 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1561 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1563 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1565 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1569 .ARM.Collect$$libinit$$0000002C c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1571 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1573 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1575 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000002 Code RO 1576 .ARM.Collect$$libinit$$00000033 c_w.l(libinit2.o) + 0x000001c6 0x000001c6 0x00000002 Code RO 1596 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o) + 0x000001c8 0x000001c8 0x00000000 Code RO 1609 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o) + 0x000001c8 0x000001c8 0x00000000 Code RO 1611 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o) + 0x000001c8 0x000001c8 0x00000000 Code RO 1614 .ARM.Collect$$libshutdown$$00000007 c_w.l(libshutdown2.o) + 0x000001c8 0x000001c8 0x00000000 Code RO 1617 .ARM.Collect$$libshutdown$$0000000A c_w.l(libshutdown2.o) + 0x000001c8 0x000001c8 0x00000000 Code RO 1619 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o) + 0x000001c8 0x000001c8 0x00000000 Code RO 1622 .ARM.Collect$$libshutdown$$0000000F c_w.l(libshutdown2.o) + 0x000001c8 0x000001c8 0x00000002 Code RO 1623 .ARM.Collect$$libshutdown$$00000010 c_w.l(libshutdown2.o) + 0x000001ca 0x000001ca 0x00000000 Code RO 1492 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o) + 0x000001ca 0x000001ca 0x00000000 Code RO 1499 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o) + 0x000001ca 0x000001ca 0x00000006 Code RO 1511 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o) + 0x000001d0 0x000001d0 0x00000000 Code RO 1501 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o) + 0x000001d0 0x000001d0 0x00000004 Code RO 1502 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o) + 0x000001d4 0x000001d4 0x00000000 Code RO 1504 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o) + 0x000001d4 0x000001d4 0x00000008 Code RO 1505 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o) + 0x000001dc 0x000001dc 0x00000002 Code RO 1530 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o) + 0x000001de 0x000001de 0x00000000 Code RO 1578 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o) + 0x000001de 0x000001de 0x00000004 Code RO 1579 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o) + 0x000001e2 0x000001e2 0x00000006 Code RO 1580 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o) + 0x000001e8 0x000001e8 0x0000001c Code RO 1271 .emb_text retarget.o + 0x00000204 0x00000204 0x00000074 Code RO 1387 .text startup_m451series.o + 0x00000278 0x00000278 0x00000018 Code RO 1439 .text c_w.l(noretval__2printf.o) + 0x00000290 0x00000290 0x00000058 Code RO 1446 .text c_w.l(_printf_hex_int.o) + 0x000002e8 0x000002e8 0x0000010e Code RO 1472 .text c_w.l(__printf_wp.o) + 0x000003f6 0x000003f6 0x0000004e Code RO 1486 .text c_w.l(rt_memclr_w.o) + 0x00000444 0x00000444 0x00000006 Code RO 1488 .text c_w.l(heapauxi.o) + 0x0000044a 0x0000044a 0x000000b2 Code RO 1493 .text c_w.l(_printf_intcommon.o) + 0x000004fc 0x000004fc 0x00000024 Code RO 1495 .text c_w.l(_printf_char_file.o) + 0x00000520 0x00000520 0x00000030 Code RO 1513 .text c_w.l(_printf_char_common.o) + 0x00000550 0x00000550 0x0000004a Code RO 1515 .text c_w.l(sys_stackheap_outer.o) + 0x0000059a 0x0000059a 0x00000012 Code RO 1519 .text c_w.l(exit.o) + 0x000005ac 0x000005ac 0x00000008 Code RO 1527 .text c_w.l(libspace.o) + 0x000005b4 0x000005b4 0x0000000c Code RO 1588 .text c_w.l(sys_exit.o) + 0x000005c0 0x000005c0 0x00000002 Code RO 1599 .text c_w.l(use_no_semi.o) + 0x000005c2 0x000005c2 0x00000000 Code RO 1601 .text c_w.l(indicate_semi.o) + 0x000005c2 0x000005c2 0x0000002c Code RO 417 i.CLK_EnableModuleClock clk.o 0x000005ee 0x000005ee 0x00000002 PAD - 0x000005f0 0x000005f0 0x00000010 Code RO 416 i.CLK_GetHCLKFreq clk.o - 0x00000600 0x00000600 0x00000064 Code RO 605 i.CLK_GetPLLClockFreq pwm.o - 0x00000664 0x00000664 0x00000064 Code RO 1033 i.CLK_GetPLLClockFreq spi.o - 0x000006c8 0x000006c8 0x00000064 Code RO 1388 i.CLK_GetPLLClockFreq system_m451series.o - 0x0000072c 0x0000072c 0x00000054 Code RO 426 i.CLK_SetModuleClock clk.o - 0x00000780 0x00000780 0x00000060 Code RO 169 i.EINT0_IRQHandler 24l01.o - 0x000007e0 0x000007e0 0x0000002c Code RO 571 i.GPIO_SetMode gpio.o - 0x0000080c 0x0000080c 0x0000002c Code RO 1267 i.Hard_Fault_Handler retarget.o - 0x00000838 0x00000838 0x00000032 Code RO 172 i.NRF24L01_Read_Buf 24l01.o - 0x0000086a 0x0000086a 0x00000002 PAD - 0x0000086c 0x0000086c 0x00000048 Code RO 173 i.NRF24L01_RxPacket 24l01.o - 0x000008b4 0x000008b4 0x00000098 Code RO 175 i.NRFSetTxMode 24l01.o - 0x0000094c 0x0000094c 0x00000080 Code RO 366 i.PWM0P0_IRQHandler interrupt.o - 0x000009cc 0x000009cc 0x00000048 Code RO 367 i.PWM1P0_IRQHandler interrupt.o - 0x00000a14 0x00000a14 0x0000014c Code RO 5 i.PWMInit main.o - 0x00000b60 0x00000b60 0x0000000c Code RO 613 i.PWM_ClearPeriodIntFlag pwm.o - 0x00000b6c 0x00000b6c 0x00000170 Code RO 617 i.PWM_ConfigOutputChannel pwm.o - 0x00000cdc 0x00000cdc 0x0000000c Code RO 631 i.PWM_DisableOutput pwm.o - 0x00000ce8 0x00000ce8 0x0000000c Code RO 651 i.PWM_EnableOutput pwm.o - 0x00000cf4 0x00000cf4 0x00000014 Code RO 653 i.PWM_EnablePeriodInt pwm.o - 0x00000d08 0x00000d08 0x00000008 Code RO 671 i.PWM_Start pwm.o - 0x00000d10 0x00000d10 0x00000088 Code RO 6 i.ParsePackage main.o - 0x00000d98 0x00000d98 0x000000a0 Code RO 180 i.RX_Mode 24l01.o - 0x00000e38 0x00000e38 0x0000000a Code RO 1046 i.SPI_DisableAutoSS spi.o - 0x00000e42 0x00000e42 0x00000002 PAD - 0x00000e44 0x00000e44 0x000002a0 Code RO 1053 i.SPI_Open spi.o - 0x000010e4 0x000010e4 0x00000030 Code RO 1196 i.SYS_ResetModule sys.o - 0x00001114 0x00001114 0x0000000c Code RO 1269 i.SendChar retarget.o - 0x00001120 0x00001120 0x00000030 Code RO 1270 i.SendChar_ToUART retarget.o - 0x00001150 0x00001150 0x000000a4 Code RO 283 i.Spi_init spi_hal.o - 0x000011f4 0x000011f4 0x00000064 Code RO 1389 i.SystemCoreClockUpdate system_m451series.o - 0x00001258 0x00001258 0x00000074 Code RO 1390 i.SystemInit system_m451series.o - 0x000012cc 0x000012cc 0x0000001a Code RO 7 i.__NVIC_EnableIRQ main.o - 0x000012e6 0x000012e6 0x0000000e Code RO 1468 i._is_digit c_w.l(__printf_wp.o) - 0x000012f4 0x000012f4 0x0000000e Code RO 284 i.delayAny spi_hal.o - 0x00001302 0x00001302 0x0000000e Code RO 182 i.delay_s 24l01.o - 0x00001310 0x00001310 0x00000008 Code RO 1272 i.ferror retarget.o - 0x00001318 0x00001318 0x00000010 Code RO 1274 i.fputc retarget.o - 0x00001328 0x00001328 0x00000038 Code RO 9 i.main main.o - 0x00001360 0x00001360 0x0000001c Code RO 285 i.nrf_read spi_hal.o - 0x0000137c 0x0000137c 0x0000001e Code RO 287 i.nrf_write spi_hal.o - 0x0000139a 0x0000139a 0x0000002e Code RO 288 i.nrf_writebuf spi_hal.o - 0x000013c8 0x000013c8 0x00000014 Code RO 289 i.spi_disable spi_hal.o - 0x000013dc 0x000013dc 0x00000014 Code RO 290 i.spi_enable spi_hal.o - 0x000013f0 0x000013f0 0x00000020 Code RO 291 i.spi_read spi_hal.o - 0x00001410 0x00001410 0x00000020 Code RO 292 i.spi_send spi_hal.o - 0x00001430 0x00001430 0x000000a8 Code RO 1276 i.stackDump retarget.o - 0x000014d8 0x000014d8 0x0000000a Code RO 1580 x$fpl$fpinit fz_wm.l(fpinit.o) - 0x000014e2 0x000014e2 0x00000028 Data RO 1441 .constdata c_w.l(_printf_hex_int.o) - 0x0000150a 0x0000150a 0x00000002 PAD - 0x0000150c 0x0000150c 0x00000020 Data RO 1646 Region$$Table anon$$obj.o + 0x000005f0 0x000005f0 0x00000010 Code RO 422 i.CLK_GetHCLKFreq clk.o + 0x00000600 0x00000600 0x00000064 Code RO 611 i.CLK_GetPLLClockFreq pwm.o + 0x00000664 0x00000664 0x00000064 Code RO 1039 i.CLK_GetPLLClockFreq spi.o + 0x000006c8 0x000006c8 0x00000064 Code RO 1394 i.CLK_GetPLLClockFreq system_m451series.o + 0x0000072c 0x0000072c 0x00000054 Code RO 432 i.CLK_SetModuleClock clk.o + 0x00000780 0x00000780 0x00000060 Code RO 175 i.EINT0_IRQHandler 24l01.o + 0x000007e0 0x000007e0 0x00000070 Code RO 4 i.GPIO_Direction_Init main.o + 0x00000850 0x00000850 0x0000002c Code RO 577 i.GPIO_SetMode gpio.o + 0x0000087c 0x0000087c 0x0000002c Code RO 1273 i.Hard_Fault_Handler retarget.o + 0x000008a8 0x000008a8 0x00000032 Code RO 178 i.NRF24L01_Read_Buf 24l01.o + 0x000008da 0x000008da 0x00000002 PAD + 0x000008dc 0x000008dc 0x00000048 Code RO 179 i.NRF24L01_RxPacket 24l01.o + 0x00000924 0x00000924 0x00000098 Code RO 181 i.NRFSetTxMode 24l01.o + 0x000009bc 0x000009bc 0x000000f0 Code RO 372 i.PWM0P0_IRQHandler interrupt.o + 0x00000aac 0x00000aac 0x00000080 Code RO 373 i.PWM1P0_IRQHandler interrupt.o + 0x00000b2c 0x00000b2c 0x0000014c Code RO 6 i.PWMInit main.o + 0x00000c78 0x00000c78 0x0000000c Code RO 619 i.PWM_ClearPeriodIntFlag pwm.o + 0x00000c84 0x00000c84 0x00000170 Code RO 623 i.PWM_ConfigOutputChannel pwm.o + 0x00000df4 0x00000df4 0x0000000c Code RO 637 i.PWM_DisableOutput pwm.o + 0x00000e00 0x00000e00 0x0000000c Code RO 657 i.PWM_EnableOutput pwm.o + 0x00000e0c 0x00000e0c 0x00000014 Code RO 659 i.PWM_EnablePeriodInt pwm.o + 0x00000e20 0x00000e20 0x00000008 Code RO 677 i.PWM_Start pwm.o + 0x00000e28 0x00000e28 0x00000088 Code RO 7 i.ParsePackage main.o + 0x00000eb0 0x00000eb0 0x000000a0 Code RO 186 i.RX_Mode 24l01.o + 0x00000f50 0x00000f50 0x0000000a Code RO 1052 i.SPI_DisableAutoSS spi.o + 0x00000f5a 0x00000f5a 0x00000002 PAD + 0x00000f5c 0x00000f5c 0x000002a0 Code RO 1059 i.SPI_Open spi.o + 0x000011fc 0x000011fc 0x00000030 Code RO 1202 i.SYS_ResetModule sys.o + 0x0000122c 0x0000122c 0x0000000c Code RO 1275 i.SendChar retarget.o + 0x00001238 0x00001238 0x00000030 Code RO 1276 i.SendChar_ToUART retarget.o + 0x00001268 0x00001268 0x000000a4 Code RO 289 i.Spi_init spi_hal.o + 0x0000130c 0x0000130c 0x00000064 Code RO 1395 i.SystemCoreClockUpdate system_m451series.o + 0x00001370 0x00001370 0x00000074 Code RO 1396 i.SystemInit system_m451series.o + 0x000013e4 0x000013e4 0x0000001a Code RO 8 i.__NVIC_EnableIRQ main.o + 0x000013fe 0x000013fe 0x0000000e Code RO 1474 i._is_digit c_w.l(__printf_wp.o) + 0x0000140c 0x0000140c 0x0000000e Code RO 290 i.delayAny spi_hal.o + 0x0000141a 0x0000141a 0x0000000e Code RO 188 i.delay_s 24l01.o + 0x00001428 0x00001428 0x00000008 Code RO 1278 i.ferror retarget.o + 0x00001430 0x00001430 0x00000010 Code RO 1280 i.fputc retarget.o + 0x00001440 0x00001440 0x0000003c Code RO 10 i.main main.o + 0x0000147c 0x0000147c 0x0000001c Code RO 291 i.nrf_read spi_hal.o + 0x00001498 0x00001498 0x0000001e Code RO 293 i.nrf_write spi_hal.o + 0x000014b6 0x000014b6 0x0000002e Code RO 294 i.nrf_writebuf spi_hal.o + 0x000014e4 0x000014e4 0x00000014 Code RO 295 i.spi_disable spi_hal.o + 0x000014f8 0x000014f8 0x00000014 Code RO 296 i.spi_enable spi_hal.o + 0x0000150c 0x0000150c 0x00000020 Code RO 297 i.spi_read spi_hal.o + 0x0000152c 0x0000152c 0x00000020 Code RO 298 i.spi_send spi_hal.o + 0x0000154c 0x0000154c 0x000000a8 Code RO 1282 i.stackDump retarget.o + 0x000015f4 0x000015f4 0x0000000a Code RO 1586 x$fpl$fpinit fz_wm.l(fpinit.o) + 0x000015fe 0x000015fe 0x00000028 Data RO 1447 .constdata c_w.l(_printf_hex_int.o) + 0x00001626 0x00001626 0x00000002 PAD + 0x00001628 0x00001628 0x00000020 Data RO 1652 Region$$Table anon$$obj.o - Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x0000152c, Size: 0x000004f8, Max: 0x00008000, ABSOLUTE) + Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x00001648, Size: 0x000004f8, Max: 0x00008000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x20000000 0x0000152c 0x0000000c Data RW 10 .data main.o - 0x2000000c 0x00001538 0x00000015 Data RW 184 .data 24l01.o - 0x20000021 0x0000154d 0x00000003 PAD - 0x20000024 0x00001550 0x00000008 Data RW 1277 .data retarget.o - 0x2000002c 0x00001558 0x0000002c Data RW 1391 .data system_m451series.o - 0x20000058 - 0x00000040 Zero RW 183 .bss 24l01.o - 0x20000098 - 0x00000060 Zero RW 1522 .bss c_w.l(libspace.o) - 0x200000f8 - 0x00000000 Zero RW 1379 HEAP startup_m451series.o - 0x200000f8 - 0x00000400 Zero RW 1378 STACK startup_m451series.o + 0x20000000 0x00001648 0x0000000c Data RW 11 .data main.o + 0x2000000c 0x00001654 0x00000015 Data RW 190 .data 24l01.o + 0x20000021 0x00001669 0x00000003 PAD + 0x20000024 0x0000166c 0x00000008 Data RW 1283 .data retarget.o + 0x2000002c 0x00001674 0x0000002c Data RW 1397 .data system_m451series.o + 0x20000058 - 0x00000040 Zero RW 189 .bss 24l01.o + 0x20000098 - 0x00000060 Zero RW 1528 .bss c_w.l(libspace.o) + 0x200000f8 - 0x00000000 Zero RW 1385 HEAP startup_m451series.o + 0x200000f8 - 0x00000400 Zero RW 1384 STACK startup_m451series.o ============================================================================== @@ -1120,8 +1125,8 @@ Image component sizes 544 58 0 21 64 5758 24l01.o 144 10 0 0 0 16279 clk.o 44 0 0 0 0 1223 gpio.o - 200 32 0 0 0 1048 interrupt.o - 550 48 0 12 0 238565 main.o + 368 40 0 0 0 1144 interrupt.o + 666 58 0 12 0 239075 main.o 532 30 0 0 0 5564 pwm.o 324 132 0 8 0 5801 retarget.o 782 42 0 0 0 3315 spi.o @@ -1131,7 +1136,7 @@ Image component sizes 316 54 0 44 0 33267 system_m451series.o ---------------------------------------------------------------------- - 3992 488 352 88 1088 317075 Object Totals + 4276 506 352 88 1088 317681 Object Totals 0 0 32 0 0 0 (incl. Generated) 6 0 0 3 0 0 (incl. Padding) @@ -1192,15 +1197,15 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug - 5026 522 394 88 1184 313675 Grand Totals - 5026 522 394 88 1184 313675 ELF Image Totals - 5026 522 394 88 0 0 ROM Totals + 5310 540 394 88 1184 314181 Grand Totals + 5310 540 394 88 1184 314181 ELF Image Totals + 5310 540 394 88 0 0 ROM Totals ============================================================================== - Total RO Size (Code + RO Data) 5420 ( 5.29kB) + Total RO Size (Code + RO Data) 5704 ( 5.57kB) Total RW Size (RW Data + ZI Data) 1272 ( 1.24kB) - Total ROM Size (Code + RO Data + RW Data) 5508 ( 5.38kB) + Total ROM Size (Code + RO Data + RW Data) 5792 ( 5.66kB) ============================================================================== diff --git a/roboticarm_controller/Objects/roboticarm_controller.axf b/roboticarm_controller/Objects/roboticarm_controller.axf index 5f358b75011e66df3f3559279820061b8b72b2db..2dc36dbc0ec8f9556d3cf4e6043c6832d791d85f 100644 GIT binary patch delta 12226 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 Bp;rI^ delta 11642 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 K_4S`~djAI%C?Jgh diff --git a/roboticarm_controller/interrupt.c b/roboticarm_controller/interrupt.c index 4ebde1e..4109690 100644 --- a/roboticarm_controller/interrupt.c +++ b/roboticarm_controller/interrupt.c @@ -8,17 +8,32 @@ void PWM0P0_IRQHandler(void) if(Axis1 != 0){ PWM_EnableOutput(PWM0, PWM_CH_0_MASK); + if(Axis1 > 0){ + PB4 = 1; + }else{ + PB4 = 0; + } } else{ PWM_DisableOutput(PWM0, PWM_CH_0_MASK); } if(Axis2 != 0){ PWM_EnableOutput(PWM0, PWM_CH_1_MASK); + if(Axis2 > 0){ + PB8 = 1; + }else{ + PB8 = 0; + } } else{ PWM_DisableOutput(PWM0, PWM_CH_1_MASK); } if(Axis3 != 0){ + if(Axis3 > 0){ + PB9 = 1; + }else{ + PB9 = 0; + } PWM_EnableOutput(PWM0, PWM_CH_3_MASK); } else{ @@ -26,6 +41,11 @@ void PWM0P0_IRQHandler(void) } if(Axis4 != 0){ PWM_EnableOutput(PWM0, PWM_CH_4_MASK); + if(Axis4 > 0){ + PB11 = 1; + }else{ + PB11 = 0; + } }else{ PWM_DisableOutput(PWM0, PWM_CH_4_MASK); } @@ -37,11 +57,21 @@ void PWM0P0_IRQHandler(void) void PWM1P0_IRQHandler(void){ if(Axis5 != 0){ PWM_EnableOutput(PWM1, PWM_CH_0_MASK); + if(Axis5 > 0){ + PE5 = 1; + }else{ + PE5 = 0; + } }else{ PWM_DisableOutput(PWM1, PWM_CH_0_MASK); } if(Axis6 != 0){ PWM_EnableOutput(PWM1, PWM_CH_1_MASK); + if(Axis6 > 0){ + PA9 = 1; + }else{ + PA9 = 0; + } }else{ PWM_DisableOutput(PWM1, PWM_CH_1_MASK); } diff --git a/roboticarm_controller/main.c b/roboticarm_controller/main.c index e419caf..bd87c2e 100644 --- a/roboticarm_controller/main.c +++ b/roboticarm_controller/main.c @@ -10,6 +10,23 @@ short Axis4 = 0; short Axis5 = 0; short Axis6 = 0; +void GPIO_Direction_Init(){ + GPIO_SetMode(PB,BIT4,GPIO_MODE_OUTPUT); //white + GPIO_SetMode(PB,BIT8,GPIO_MODE_OUTPUT); // yellow + GPIO_SetMode(PB,BIT9,GPIO_MODE_OUTPUT); // grey + GPIO_SetMode(PB,BIT11,GPIO_MODE_OUTPUT); //green + + GPIO_SetMode(PE,BIT5,GPIO_MODE_OUTPUT); // zise + GPIO_SetMode(PA,BIT9,GPIO_MODE_OUTPUT); // blue + + PB4 = 0; + PB8 = 0; + PB9 = 0; + PB11 = 0; + + PE5 = 0; + PA9 = 0; +} void NRF24L01Init(){ @@ -66,7 +83,7 @@ void PWMInit (){ // PWM0 channel 2 frequency is 300Hz, duty 50% PWM_ConfigOutputChannel(PWM0, 1, 20, 50); // PWM0 channel 0 frequency is 100Hz, duty 30%, - PWM_ConfigOutputChannel(PWM0, 3, 20, 30); + PWM_ConfigOutputChannel(PWM0, 3, 200, 30); // PWM0 channel 2 frequency is 300Hz, duty 50% PWM_ConfigOutputChannel(PWM0, 4, 20, 50); @@ -112,7 +129,7 @@ int ParsePackage(unsigned char *dat){ int main(){ unsigned char recv[32] = {0}; GPIO_SetMode(PC,BIT9,GPIO_MODE_INPUT); //IRQ - + GPIO_Direction_Init(); Spi_init(); RX_Mode(); PWMInit ();