From af4026c8ab61a952db0717db0bbe3decd1b98ef2 Mon Sep 17 00:00:00 2001 From: 18650180552 Date: Sun, 5 Apr 2020 20:31:37 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AE=A1=E8=84=9A=E5=AF=B9=E5=BA=94=E7=9A=84?= =?UTF-8?q?=E8=BD=B4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Listings/roboticarm_controller.map | 628 +++++++++--------- .../Objects/roboticarm_controller.lnp | 6 +- nuvoton/m451/roboticarm_controller/global.h | 1 + .../m451/roboticarm_controller/interrupt.c | 33 +- nuvoton/m451/roboticarm_controller/main.c | 27 +- .../roboticarm_controller.uvoptx | 6 - .../roboticarm_controller.uvprojx | 2 +- 7 files changed, 358 insertions(+), 345 deletions(-) diff --git a/nuvoton/m451/roboticarm_controller/Listings/roboticarm_controller.map b/nuvoton/m451/roboticarm_controller/Listings/roboticarm_controller.map index 6904d6c..954da71 100644 --- a/nuvoton/m451/roboticarm_controller/Listings/roboticarm_controller.map +++ b/nuvoton/m451/roboticarm_controller/Listings/roboticarm_controller.map @@ -88,40 +88,15 @@ Section Cross References spi_hal.o(i.spi_disable) refers to spi_hal.o(i.delayAny) for delayAny spi_hal.o(i.spi_enable) refers to spi_hal.o(i.delayAny) for delayAny interrupt.o(i.PWM0P0_IRQHandler) refers to pwm.o(i.PWM_EnableOutput) for PWM_EnableOutput + interrupt.o(i.PWM0P0_IRQHandler) refers to pwm.o(i.PWM_ConfigOutputChannel) for PWM_ConfigOutputChannel interrupt.o(i.PWM0P0_IRQHandler) refers to pwm.o(i.PWM_DisableOutput) for PWM_DisableOutput interrupt.o(i.PWM0P0_IRQHandler) refers to pwm.o(i.PWM_ClearPeriodIntFlag) for PWM_ClearPeriodIntFlag interrupt.o(i.PWM0P0_IRQHandler) refers to main.o(.data) for Axis1 + interrupt.o(i.PWM0P0_IRQHandler) refers to interrupt.o(.data) for gServoMotorAngle interrupt.o(i.PWM1P0_IRQHandler) refers to pwm.o(i.PWM_EnableOutput) for PWM_EnableOutput interrupt.o(i.PWM1P0_IRQHandler) refers to pwm.o(i.PWM_DisableOutput) for PWM_DisableOutput interrupt.o(i.PWM1P0_IRQHandler) refers to pwm.o(i.PWM_ClearPeriodIntFlag) for PWM_ClearPeriodIntFlag interrupt.o(i.PWM1P0_IRQHandler) refers to main.o(.data) for Axis5 - retarget.o(.emb_text) refers to retarget.o(i.Hard_Fault_Handler) for Hard_Fault_Handler - retarget.o(i.Hard_Fault_Handler) refers to noretval__2printf.o(.text) for __2printf - retarget.o(i.Hard_Fault_Handler) refers to retarget.o(i.stackDump) for stackDump - retarget.o(i.SendChar) refers to retarget.o(i.SendChar_ToUART) for SendChar_ToUART - retarget.o(i._ttywrch) refers to retarget.o(i.SendChar) for SendChar - retarget.o(i.fgetc) refers to retarget.o(i.GetChar) for GetChar - retarget.o(i.fputc) refers to retarget.o(i.SendChar) for SendChar - retarget.o(i.stackDump) refers to _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) for _printf_percent - retarget.o(i.stackDump) refers to _printf_x.o(.ARM.Collect$$_printf_percent$$0000000C) for _printf_x - retarget.o(i.stackDump) refers to _printf_hex_int.o(.text) for _printf_longlong_hex - retarget.o(i.stackDump) refers to noretval__2printf.o(.text) for __2printf - startup_m451series.o(STACK) refers (Special) to heapauxi.o(.text) for __use_two_region_memory - startup_m451series.o(HEAP) refers (Special) to heapauxi.o(.text) for __use_two_region_memory - startup_m451series.o(RESET) refers (Special) to heapauxi.o(.text) for __use_two_region_memory - startup_m451series.o(RESET) refers to startup_m451series.o(STACK) for __initial_sp - startup_m451series.o(RESET) refers to startup_m451series.o(.text) for Reset_Handler - startup_m451series.o(RESET) refers to retarget.o(.emb_text) for HardFault_Handler - startup_m451series.o(RESET) refers to 24l01.o(i.EINT0_IRQHandler) for EINT0_IRQHandler - startup_m451series.o(RESET) refers to interrupt.o(i.PWM0P0_IRQHandler) for PWM0P0_IRQHandler - startup_m451series.o(RESET) refers to interrupt.o(i.PWM1P0_IRQHandler) for PWM1P0_IRQHandler - startup_m451series.o(.text) refers (Special) to heapauxi.o(.text) for __use_two_region_memory - startup_m451series.o(.text) refers to system_m451series.o(i.SystemInit) for SystemInit - startup_m451series.o(.text) refers to __main.o(!!!main) for __main - startup_m451series.o(.text) refers to startup_m451series.o(HEAP) for Heap_Mem - startup_m451series.o(.text) refers to startup_m451series.o(STACK) for Stack_Mem - system_m451series.o(i.SystemCoreClockUpdate) refers to system_m451series.o(i.CLK_GetPLLClockFreq) for CLK_GetPLLClockFreq - system_m451series.o(i.SystemCoreClockUpdate) refers to system_m451series.o(.data) for PllClock clk.o(i.CLK_DisableCKO) refers to clk.o(i.CLK_DisableModuleClock) for CLK_DisableModuleClock clk.o(i.CLK_EnableCKO) refers to clk.o(i.CLK_EnableModuleClock) for CLK_EnableModuleClock clk.o(i.CLK_EnableCKO) refers to clk.o(i.CLK_SetModuleClock) for CLK_SetModuleClock @@ -158,6 +133,33 @@ Section Cross References spi.o(i.SPI_Open) refers to spi.o(i.CLK_GetPLLClockFreq) for CLK_GetPLLClockFreq spi.o(i.SPI_SetBusClock) refers to clk.o(i.CLK_GetHCLKFreq) for CLK_GetHCLKFreq spi.o(i.SPI_SetBusClock) refers to spi.o(i.CLK_GetPLLClockFreq) for CLK_GetPLLClockFreq + retarget.o(.emb_text) refers to retarget.o(i.Hard_Fault_Handler) for Hard_Fault_Handler + retarget.o(i.Hard_Fault_Handler) refers to noretval__2printf.o(.text) for __2printf + retarget.o(i.Hard_Fault_Handler) refers to retarget.o(i.stackDump) for stackDump + retarget.o(i.SendChar) refers to retarget.o(i.SendChar_ToUART) for SendChar_ToUART + retarget.o(i._ttywrch) refers to retarget.o(i.SendChar) for SendChar + retarget.o(i.fgetc) refers to retarget.o(i.GetChar) for GetChar + retarget.o(i.fputc) refers to retarget.o(i.SendChar) for SendChar + retarget.o(i.stackDump) refers to _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) for _printf_percent + retarget.o(i.stackDump) refers to _printf_x.o(.ARM.Collect$$_printf_percent$$0000000C) for _printf_x + retarget.o(i.stackDump) refers to _printf_hex_int.o(.text) for _printf_longlong_hex + retarget.o(i.stackDump) refers to noretval__2printf.o(.text) for __2printf + startup_m451series.o(STACK) refers (Special) to heapauxi.o(.text) for __use_two_region_memory + startup_m451series.o(HEAP) refers (Special) to heapauxi.o(.text) for __use_two_region_memory + startup_m451series.o(RESET) refers (Special) to heapauxi.o(.text) for __use_two_region_memory + startup_m451series.o(RESET) refers to startup_m451series.o(STACK) for __initial_sp + startup_m451series.o(RESET) refers to startup_m451series.o(.text) for Reset_Handler + startup_m451series.o(RESET) refers to retarget.o(.emb_text) for HardFault_Handler + startup_m451series.o(RESET) refers to 24l01.o(i.EINT0_IRQHandler) for EINT0_IRQHandler + startup_m451series.o(RESET) refers to interrupt.o(i.PWM0P0_IRQHandler) for PWM0P0_IRQHandler + startup_m451series.o(RESET) refers to interrupt.o(i.PWM1P0_IRQHandler) for PWM1P0_IRQHandler + startup_m451series.o(.text) refers (Special) to heapauxi.o(.text) for __use_two_region_memory + startup_m451series.o(.text) refers to system_m451series.o(i.SystemInit) for SystemInit + startup_m451series.o(.text) refers to __main.o(!!!main) for __main + startup_m451series.o(.text) refers to startup_m451series.o(HEAP) for Heap_Mem + startup_m451series.o(.text) refers to startup_m451series.o(STACK) for Stack_Mem + system_m451series.o(i.SystemCoreClockUpdate) refers to system_m451series.o(i.CLK_GetPLLClockFreq) for CLK_GetPLLClockFreq + system_m451series.o(i.SystemCoreClockUpdate) refers to system_m451series.o(.data) for PllClock __2printf.o(.text) refers to _printf_char_file.o(.text) for _printf_char_file __2printf.o(.text) refers to retarget.o(.data) for __stdout noretval__2printf.o(.text) refers to _printf_char_file.o(.text) for _printf_char_file @@ -325,18 +327,6 @@ Removing Unused input sections from the image. Removing interrupt.o(.rev16_text), (4 bytes). Removing interrupt.o(.revsh_text), (4 bytes). Removing interrupt.o(.rrx_text), (6 bytes). - Removing interrupt.o(.data), (4 bytes). - Removing retarget.o(.rev16_text), (4 bytes). - Removing retarget.o(.revsh_text), (4 bytes). - Removing retarget.o(.rrx_text), (6 bytes). - Removing retarget.o(i.GetChar), (28 bytes). - Removing retarget.o(i.IsDebugFifoEmpty), (16 bytes). - Removing retarget.o(i._ttywrch), (12 bytes). - Removing retarget.o(i.fgetc), (10 bytes). - Removing retarget.o(i.kbhit), (16 bytes). - Removing system_m451series.o(.rev16_text), (4 bytes). - Removing system_m451series.o(.revsh_text), (4 bytes). - Removing system_m451series.o(.rrx_text), (6 bytes). Removing clk.o(.rev16_text), (4 bytes). Removing clk.o(.revsh_text), (4 bytes). Removing clk.o(.rrx_text), (6 bytes). @@ -465,8 +455,19 @@ Removing Unused input sections from the image. Removing sys.o(i.SYS_ReadPDID), (8 bytes). Removing sys.o(i.SYS_ResetCPU), (18 bytes). Removing sys.o(i.SYS_ResetChip), (18 bytes). + Removing retarget.o(.rev16_text), (4 bytes). + Removing retarget.o(.revsh_text), (4 bytes). + Removing retarget.o(.rrx_text), (6 bytes). + Removing retarget.o(i.GetChar), (28 bytes). + Removing retarget.o(i.IsDebugFifoEmpty), (16 bytes). + Removing retarget.o(i._ttywrch), (12 bytes). + Removing retarget.o(i.fgetc), (10 bytes). + Removing retarget.o(i.kbhit), (16 bytes). + Removing system_m451series.o(.rev16_text), (4 bytes). + Removing system_m451series.o(.revsh_text), (4 bytes). + Removing system_m451series.o(.rrx_text), (6 bytes). -164 unused section(s) (total 6856 bytes) removed from the image. +163 unused section(s) (total 6852 bytes) removed from the image. ============================================================================== @@ -478,75 +479,75 @@ Image Symbol Table RESET 0x00000000 Section 320 startup_m451series.o(RESET) ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit1.o ABSOLUTE - ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit3.o ABSOLUTE ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit2.o ABSOLUTE ../clib/angel/boardlib.s 0x00000000 Number 0 boardshut.o ABSOLUTE - ../clib/angel/handlers.s 0x00000000 Number 0 __scatter_zi.o ABSOLUTE + ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit3.o ABSOLUTE ../clib/angel/handlers.s 0x00000000 Number 0 __scatter_copy.o ABSOLUTE - ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry.o ABSOLUTE - ../clib/angel/kernel.s 0x00000000 Number 0 rtexit.o ABSOLUTE + ../clib/angel/handlers.s 0x00000000 Number 0 __scatter_zi.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry4.o ABSOLUTE ../clib/angel/kernel.s 0x00000000 Number 0 rtexit2.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 __rtentry.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 rtexit.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 use_no_semi.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 sys_stackheap_outer.o ABSOLUTE ../clib/angel/sys.s 0x00000000 Number 0 indicate_semi.o ABSOLUTE ../clib/angel/sysapp.c 0x00000000 Number 0 sys_command.o ABSOLUTE ../clib/angel/sysapp.c 0x00000000 Number 0 sys_exit.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/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/heapalloc.c 0x00000000 Number 0 hrguard.o ABSOLUTE ../clib/heapaux.c 0x00000000 Number 0 heapauxi.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/libinit.s 0x00000000 Number 0 libshutdown.o ABSOLUTE ../clib/libinit.s 0x00000000 Number 0 libinit.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 noretval__2printf.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 __2printf.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_hex_int.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __printf_nopercent.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __printf_flags_wp.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 __printf_flags_ss_wp.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_hex_ll_ptr.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_flags_wp.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 __printf_wp.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 __printf_flags_ss.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __printf_ss_wp.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 __printf_ss.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 __printf_flags.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_hex_int_ll_ptr.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_hex_ll_ptr.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_hex_int_ptr.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_hex_ptr.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_char_common.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_hex_int_ptr.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_ss_wp.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_hex_int_ll.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __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.c 0x00000000 Number 0 _printf_hex_ll.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_nopercent.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 noretval__2printf.o ABSOLUTE ../clib/printf_percent.s 0x00000000 Number 0 _printf_x.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/signal.c 0x00000000 Number 0 defsig_rtmem_formal.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_cppl_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_segv_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_outer.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_other.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 defsig_abrt_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_pvfn_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_general.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_other.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_cppl_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_outer.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 __raise.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_inner.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_abrt_inner.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_fpe_inner.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_rtred_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_pvfn_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 @@ -644,12 +645,12 @@ Image Symbol Table .text 0x000005c2 Section 0 indicate_semi.o(.text) i.CLK_EnableModuleClock 0x000005c2 Section 0 clk.o(i.CLK_EnableModuleClock) i.CLK_GetHCLKFreq 0x000005f0 Section 0 clk.o(i.CLK_GetHCLKFreq) - i.CLK_GetPLLClockFreq 0x00000600 Section 0 system_m451series.o(i.CLK_GetPLLClockFreq) - CLK_GetPLLClockFreq 0x00000601 Thumb Code 84 system_m451series.o(i.CLK_GetPLLClockFreq) - i.CLK_GetPLLClockFreq 0x00000664 Section 0 pwm.o(i.CLK_GetPLLClockFreq) - CLK_GetPLLClockFreq 0x00000665 Thumb Code 84 pwm.o(i.CLK_GetPLLClockFreq) - i.CLK_GetPLLClockFreq 0x000006c8 Section 0 spi.o(i.CLK_GetPLLClockFreq) - CLK_GetPLLClockFreq 0x000006c9 Thumb Code 84 spi.o(i.CLK_GetPLLClockFreq) + i.CLK_GetPLLClockFreq 0x00000600 Section 0 pwm.o(i.CLK_GetPLLClockFreq) + CLK_GetPLLClockFreq 0x00000601 Thumb Code 84 pwm.o(i.CLK_GetPLLClockFreq) + i.CLK_GetPLLClockFreq 0x00000664 Section 0 spi.o(i.CLK_GetPLLClockFreq) + CLK_GetPLLClockFreq 0x00000665 Thumb Code 84 spi.o(i.CLK_GetPLLClockFreq) + i.CLK_GetPLLClockFreq 0x000006c8 Section 0 system_m451series.o(i.CLK_GetPLLClockFreq) + 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_Direction_Init 0x000007e0 Section 0 main.o(i.GPIO_Direction_Init) @@ -660,58 +661,60 @@ Image Symbol Table 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 34 main.o(i.__NVIC_EnableIRQ) - i._is_digit 0x00001406 Section 0 __printf_wp.o(i._is_digit) - i.delayAny 0x00001414 Section 0 spi_hal.o(i.delayAny) - i.delay_s 0x00001422 Section 0 24l01.o(i.delay_s) - i.ferror 0x00001430 Section 0 retarget.o(i.ferror) - i.fputc 0x00001438 Section 0 retarget.o(i.fputc) - i.main 0x00001448 Section 0 main.o(i.main) - i.nrf_read 0x00001484 Section 0 spi_hal.o(i.nrf_read) - i.nrf_write 0x000014a0 Section 0 spi_hal.o(i.nrf_write) - i.nrf_writebuf 0x000014be Section 0 spi_hal.o(i.nrf_writebuf) - i.spi_disable 0x000014ec Section 0 spi_hal.o(i.spi_disable) - i.spi_enable 0x00001500 Section 0 spi_hal.o(i.spi_enable) - i.spi_read 0x00001514 Section 0 spi_hal.o(i.spi_read) - i.spi_send 0x00001534 Section 0 spi_hal.o(i.spi_send) - i.stackDump 0x00001554 Section 0 retarget.o(i.stackDump) - stackDump 0x00001555 Thumb Code 70 retarget.o(i.stackDump) - x$fpl$fpinit 0x000015fc Section 10 fpinit.o(x$fpl$fpinit) - $v0 0x000015fc Number 0 fpinit.o(x$fpl$fpinit) - .constdata 0x00001606 Section 40 _printf_hex_int.o(.constdata) - uc_hextab 0x00001606 Data 20 _printf_hex_int.o(.constdata) - lc_hextab 0x0000161a Data 20 _printf_hex_int.o(.constdata) + i.PWM1P0_IRQHandler 0x00000ad4 Section 0 interrupt.o(i.PWM1P0_IRQHandler) + i.PWMInit 0x00000b54 Section 0 main.o(i.PWMInit) + i.PWM_ClearPeriodIntFlag 0x00000ca0 Section 0 pwm.o(i.PWM_ClearPeriodIntFlag) + i.PWM_ConfigOutputChannel 0x00000cac Section 0 pwm.o(i.PWM_ConfigOutputChannel) + i.PWM_DisableOutput 0x00000e1c Section 0 pwm.o(i.PWM_DisableOutput) + i.PWM_EnableOutput 0x00000e28 Section 0 pwm.o(i.PWM_EnableOutput) + i.PWM_EnablePeriodInt 0x00000e34 Section 0 pwm.o(i.PWM_EnablePeriodInt) + i.PWM_Start 0x00000e48 Section 0 pwm.o(i.PWM_Start) + i.ParsePackage 0x00000e50 Section 0 main.o(i.ParsePackage) + i.RX_Mode 0x00000ed8 Section 0 24l01.o(i.RX_Mode) + i.SPI_DisableAutoSS 0x00000f78 Section 0 spi.o(i.SPI_DisableAutoSS) + i.SPI_Open 0x00000f84 Section 0 spi.o(i.SPI_Open) + i.SYS_ResetModule 0x00001224 Section 0 sys.o(i.SYS_ResetModule) + i.SendChar 0x00001254 Section 0 retarget.o(i.SendChar) + i.SendChar_ToUART 0x00001260 Section 0 retarget.o(i.SendChar_ToUART) + i.Spi_init 0x00001290 Section 0 spi_hal.o(i.Spi_init) + i.SystemCoreClockUpdate 0x00001334 Section 0 system_m451series.o(i.SystemCoreClockUpdate) + i.SystemInit 0x00001398 Section 0 system_m451series.o(i.SystemInit) + i.__NVIC_EnableIRQ 0x0000140c Section 0 main.o(i.__NVIC_EnableIRQ) + __NVIC_EnableIRQ 0x0000140d Thumb Code 34 main.o(i.__NVIC_EnableIRQ) + i._is_digit 0x0000142e Section 0 __printf_wp.o(i._is_digit) + i.delayAny 0x0000143c Section 0 spi_hal.o(i.delayAny) + i.delay_s 0x0000144a Section 0 24l01.o(i.delay_s) + i.ferror 0x00001458 Section 0 retarget.o(i.ferror) + i.fputc 0x00001460 Section 0 retarget.o(i.fputc) + i.main 0x00001470 Section 0 main.o(i.main) + i.nrf_read 0x000014ac Section 0 spi_hal.o(i.nrf_read) + i.nrf_write 0x000014c8 Section 0 spi_hal.o(i.nrf_write) + i.nrf_writebuf 0x000014e6 Section 0 spi_hal.o(i.nrf_writebuf) + i.spi_disable 0x00001514 Section 0 spi_hal.o(i.spi_disable) + i.spi_enable 0x00001528 Section 0 spi_hal.o(i.spi_enable) + i.spi_read 0x0000153c Section 0 spi_hal.o(i.spi_read) + i.spi_send 0x0000155c Section 0 spi_hal.o(i.spi_send) + i.stackDump 0x0000157c Section 0 retarget.o(i.stackDump) + stackDump 0x0000157d Thumb Code 70 retarget.o(i.stackDump) + x$fpl$fpinit 0x00001624 Section 10 fpinit.o(x$fpl$fpinit) + $v0 0x00001624 Number 0 fpinit.o(x$fpl$fpinit) + .constdata 0x0000162e Section 40 _printf_hex_int.o(.constdata) + uc_hextab 0x0000162e Data 20 _printf_hex_int.o(.constdata) + lc_hextab 0x00001642 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) - .data 0x20000024 Section 8 retarget.o(.data) - .data 0x2000002c Section 44 system_m451series.o(.data) - .bss 0x20000058 Section 64 24l01.o(.bss) - .bss 0x20000098 Section 96 libspace.o(.bss) - HEAP 0x200000f8 Section 0 startup_m451series.o(HEAP) - STACK 0x200000f8 Section 1024 startup_m451series.o(STACK) - Heap_Mem 0x200000f8 Data 0 startup_m451series.o(HEAP) - Stack_Mem 0x200000f8 Data 1024 startup_m451series.o(STACK) - __initial_sp 0x200004f8 Data 0 startup_m451series.o(STACK) + .data 0x20000024 Section 20 interrupt.o(.data) + lastStep 0x20000034 Data 4 interrupt.o(.data) + .data 0x20000038 Section 8 retarget.o(.data) + .data 0x20000040 Section 44 system_m451series.o(.data) + .bss 0x2000006c Section 64 24l01.o(.bss) + .bss 0x200000ac Section 96 libspace.o(.bss) + HEAP 0x20000110 Section 0 startup_m451series.o(HEAP) + STACK 0x20000110 Section 1024 startup_m451series.o(STACK) + Heap_Mem 0x20000110 Data 0 startup_m451series.o(HEAP) + Stack_Mem 0x20000110 Data 1024 startup_m451series.o(STACK) + __initial_sp 0x20000510 Data 0 startup_m451series.o(STACK) Global Symbols @@ -904,43 +907,43 @@ Image Symbol Table 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 0x00001407 Thumb Code 14 __printf_wp.o(i._is_digit) - delayAny 0x00001415 Thumb Code 14 spi_hal.o(i.delayAny) - delay_s 0x00001423 Thumb Code 14 24l01.o(i.delay_s) - ferror 0x00001431 Thumb Code 8 retarget.o(i.ferror) - fputc 0x00001439 Thumb Code 16 retarget.o(i.fputc) - main 0x00001449 Thumb Code 56 main.o(i.main) - nrf_read 0x00001485 Thumb Code 28 spi_hal.o(i.nrf_read) - nrf_write 0x000014a1 Thumb Code 30 spi_hal.o(i.nrf_write) - nrf_writebuf 0x000014bf Thumb Code 46 spi_hal.o(i.nrf_writebuf) - spi_disable 0x000014ed Thumb Code 14 spi_hal.o(i.spi_disable) - spi_enable 0x00001501 Thumb Code 14 spi_hal.o(i.spi_enable) - spi_read 0x00001515 Thumb Code 28 spi_hal.o(i.spi_read) - spi_send 0x00001535 Thumb Code 28 spi_hal.o(i.spi_send) - _fp_init 0x000015fd Thumb Code 10 fpinit.o(x$fpl$fpinit) - __fplib_config_fpu_vfp 0x00001605 Thumb Code 0 fpinit.o(x$fpl$fpinit) - __fplib_config_pureend_doubles 0x00001605 Thumb Code 0 fpinit.o(x$fpl$fpinit) - Region$$Table$$Base 0x00001630 Number 0 anon$$obj.o(Region$$Table) - Region$$Table$$Limit 0x00001650 Number 0 anon$$obj.o(Region$$Table) + PWM0P0_IRQHandler 0x000009bd Thumb Code 250 interrupt.o(i.PWM0P0_IRQHandler) + PWM1P0_IRQHandler 0x00000ad5 Thumb Code 112 interrupt.o(i.PWM1P0_IRQHandler) + PWMInit 0x00000b55 Thumb Code 312 main.o(i.PWMInit) + PWM_ClearPeriodIntFlag 0x00000ca1 Thumb Code 12 pwm.o(i.PWM_ClearPeriodIntFlag) + PWM_ConfigOutputChannel 0x00000cad Thumb Code 354 pwm.o(i.PWM_ConfigOutputChannel) + PWM_DisableOutput 0x00000e1d Thumb Code 12 pwm.o(i.PWM_DisableOutput) + PWM_EnableOutput 0x00000e29 Thumb Code 12 pwm.o(i.PWM_EnableOutput) + PWM_EnablePeriodInt 0x00000e35 Thumb Code 20 pwm.o(i.PWM_EnablePeriodInt) + PWM_Start 0x00000e49 Thumb Code 8 pwm.o(i.PWM_Start) + ParsePackage 0x00000e51 Thumb Code 112 main.o(i.ParsePackage) + RX_Mode 0x00000ed9 Thumb Code 140 24l01.o(i.RX_Mode) + SPI_DisableAutoSS 0x00000f79 Thumb Code 10 spi.o(i.SPI_DisableAutoSS) + SPI_Open 0x00000f85 Thumb Code 646 spi.o(i.SPI_Open) + SYS_ResetModule 0x00001225 Thumb Code 48 sys.o(i.SYS_ResetModule) + SendChar 0x00001255 Thumb Code 12 retarget.o(i.SendChar) + SendChar_ToUART 0x00001261 Thumb Code 44 retarget.o(i.SendChar_ToUART) + Spi_init 0x00001291 Thumb Code 138 spi_hal.o(i.Spi_init) + SystemCoreClockUpdate 0x00001335 Thumb Code 74 system_m451series.o(i.SystemCoreClockUpdate) + SystemInit 0x00001399 Thumb Code 104 system_m451series.o(i.SystemInit) + _is_digit 0x0000142f Thumb Code 14 __printf_wp.o(i._is_digit) + delayAny 0x0000143d Thumb Code 14 spi_hal.o(i.delayAny) + delay_s 0x0000144b Thumb Code 14 24l01.o(i.delay_s) + ferror 0x00001459 Thumb Code 8 retarget.o(i.ferror) + fputc 0x00001461 Thumb Code 16 retarget.o(i.fputc) + main 0x00001471 Thumb Code 56 main.o(i.main) + nrf_read 0x000014ad Thumb Code 28 spi_hal.o(i.nrf_read) + nrf_write 0x000014c9 Thumb Code 30 spi_hal.o(i.nrf_write) + nrf_writebuf 0x000014e7 Thumb Code 46 spi_hal.o(i.nrf_writebuf) + spi_disable 0x00001515 Thumb Code 14 spi_hal.o(i.spi_disable) + spi_enable 0x00001529 Thumb Code 14 spi_hal.o(i.spi_enable) + spi_read 0x0000153d Thumb Code 28 spi_hal.o(i.spi_read) + spi_send 0x0000155d Thumb Code 28 spi_hal.o(i.spi_send) + _fp_init 0x00001625 Thumb Code 10 fpinit.o(x$fpl$fpinit) + __fplib_config_fpu_vfp 0x0000162d Thumb Code 0 fpinit.o(x$fpl$fpinit) + __fplib_config_pureend_doubles 0x0000162d Thumb Code 0 fpinit.o(x$fpl$fpinit) + Region$$Table$$Base 0x00001658 Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x00001678 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) @@ -953,16 +956,23 @@ Image Symbol Table RxAddr 0x20000015 Data 5 24l01.o(.data) Curr_Mode 0x2000001a Data 1 24l01.o(.data) gRecvPkg 0x2000001c Data 4 24l01.o(.data) - __stdout 0x20000024 Data 4 retarget.o(.data) - __stdin 0x20000028 Data 4 retarget.o(.data) - SystemCoreClock 0x2000002c Data 4 system_m451series.o(.data) - CyclesPerUs 0x20000030 Data 4 system_m451series.o(.data) - PllClock 0x20000034 Data 4 system_m451series.o(.data) - gau32ClkSrcTbl 0x20000038 Data 32 system_m451series.o(.data) - Recv_Buf 0x20000058 Data 32 24l01.o(.bss) - Send_Buf 0x20000078 Data 32 24l01.o(.bss) - __libspace_start 0x20000098 Data 96 libspace.o(.bss) - __temporary_stack_top$libspace 0x200000f8 Data 0 libspace.o(.bss) + gTrapezoid1 0x20000024 Data 2 interrupt.o(.data) + gTrapezoid2 0x20000026 Data 2 interrupt.o(.data) + gTrapezoid3 0x20000028 Data 2 interrupt.o(.data) + gTrapezoid4 0x2000002a Data 2 interrupt.o(.data) + gTrapezoid5 0x2000002c Data 2 interrupt.o(.data) + gTrapezoid6 0x2000002e Data 2 interrupt.o(.data) + gServoMotorAngle 0x20000030 Data 4 interrupt.o(.data) + __stdout 0x20000038 Data 4 retarget.o(.data) + __stdin 0x2000003c Data 4 retarget.o(.data) + SystemCoreClock 0x20000040 Data 4 system_m451series.o(.data) + CyclesPerUs 0x20000044 Data 4 system_m451series.o(.data) + PllClock 0x20000048 Data 4 system_m451series.o(.data) + gau32ClkSrcTbl 0x2000004c Data 32 system_m451series.o(.data) + Recv_Buf 0x2000006c Data 32 24l01.o(.bss) + Send_Buf 0x2000008c Data 32 24l01.o(.bss) + __libspace_start 0x200000ac Data 96 libspace.o(.bss) + __temporary_stack_top$libspace 0x2000010c Data 0 libspace.o(.bss) @@ -972,147 +982,149 @@ Memory Map of the image Image Entry point : 0x00000141 - Load Region LR_IROM1 (Base: 0x00000000, Size: 0x000016a8, Max: 0x00040000, ABSOLUTE) + Load Region LR_IROM1 (Base: 0x00000000, Size: 0x000016e4, Max: 0x00040000, ABSOLUTE) - Execution Region ER_IROM1 (Exec base: 0x00000000, Load base: 0x00000000, Size: 0x00001650, Max: 0x00040000, ABSOLUTE) + Execution Region ER_IROM1 (Exec base: 0x00000000, Load base: 0x00000000, Size: 0x00001678, Max: 0x00040000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x00000000 0x00000000 0x00000140 Data RO 526 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) + 0x00000000 0x00000000 0x00000140 Data RO 1388 RESET startup_m451series.o + 0x00000140 0x00000140 0x00000008 Code RO 1492 * !!!main c_w.l(__main.o) + 0x00000148 0x00000148 0x00000034 Code RO 1656 !!!scatter c_w.l(__scatter.o) + 0x0000017c 0x0000017c 0x0000001a Code RO 1658 !!handler_copy c_w.l(__scatter_copy.o) 0x00000196 0x00000196 0x00000002 PAD - 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 411 .emb_text retarget.o - 0x00000204 0x00000204 0x00000074 Code RO 527 .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 587 i.CLK_EnableModuleClock clk.o + 0x00000198 0x00000198 0x0000001c Code RO 1660 !!handler_zi c_w.l(__scatter_zi.o) + 0x000001b4 0x000001b4 0x00000000 Code RO 1487 .ARM.Collect$$_printf_percent$$00000000 c_w.l(_printf_percent.o) + 0x000001b4 0x000001b4 0x00000006 Code RO 1486 .ARM.Collect$$_printf_percent$$0000000C c_w.l(_printf_x.o) + 0x000001ba 0x000001ba 0x00000004 Code RO 1499 .ARM.Collect$$_printf_percent$$00000017 c_w.l(_printf_percent_end.o) + 0x000001be 0x000001be 0x00000002 Code RO 1528 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o) + 0x000001c0 0x000001c0 0x00000004 Code RO 1534 .ARM.Collect$$libinit$$00000001 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1537 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1540 .ARM.Collect$$libinit$$0000000A c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1542 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1544 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1547 .ARM.Collect$$libinit$$00000011 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1549 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1551 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1553 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1555 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1557 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1559 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1561 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1563 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1565 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1567 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1571 .ARM.Collect$$libinit$$0000002C c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1573 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1575 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1577 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000002 Code RO 1578 .ARM.Collect$$libinit$$00000033 c_w.l(libinit2.o) + 0x000001c6 0x000001c6 0x00000002 Code RO 1598 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o) + 0x000001c8 0x000001c8 0x00000000 Code RO 1611 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o) + 0x000001c8 0x000001c8 0x00000000 Code RO 1613 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o) + 0x000001c8 0x000001c8 0x00000000 Code RO 1616 .ARM.Collect$$libshutdown$$00000007 c_w.l(libshutdown2.o) + 0x000001c8 0x000001c8 0x00000000 Code RO 1619 .ARM.Collect$$libshutdown$$0000000A c_w.l(libshutdown2.o) + 0x000001c8 0x000001c8 0x00000000 Code RO 1621 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o) + 0x000001c8 0x000001c8 0x00000000 Code RO 1624 .ARM.Collect$$libshutdown$$0000000F c_w.l(libshutdown2.o) + 0x000001c8 0x000001c8 0x00000002 Code RO 1625 .ARM.Collect$$libshutdown$$00000010 c_w.l(libshutdown2.o) + 0x000001ca 0x000001ca 0x00000000 Code RO 1494 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o) + 0x000001ca 0x000001ca 0x00000000 Code RO 1501 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o) + 0x000001ca 0x000001ca 0x00000006 Code RO 1513 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o) + 0x000001d0 0x000001d0 0x00000000 Code RO 1503 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o) + 0x000001d0 0x000001d0 0x00000004 Code RO 1504 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o) + 0x000001d4 0x000001d4 0x00000000 Code RO 1506 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o) + 0x000001d4 0x000001d4 0x00000008 Code RO 1507 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o) + 0x000001dc 0x000001dc 0x00000002 Code RO 1532 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o) + 0x000001de 0x000001de 0x00000000 Code RO 1580 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o) + 0x000001de 0x000001de 0x00000004 Code RO 1581 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o) + 0x000001e2 0x000001e2 0x00000006 Code RO 1582 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o) + 0x000001e8 0x000001e8 0x0000001c Code RO 1273 .emb_text retarget.o + 0x00000204 0x00000204 0x00000074 Code RO 1389 .text startup_m451series.o + 0x00000278 0x00000278 0x00000018 Code RO 1441 .text c_w.l(noretval__2printf.o) + 0x00000290 0x00000290 0x00000058 Code RO 1448 .text c_w.l(_printf_hex_int.o) + 0x000002e8 0x000002e8 0x0000010e Code RO 1474 .text c_w.l(__printf_wp.o) + 0x000003f6 0x000003f6 0x0000004e Code RO 1488 .text c_w.l(rt_memclr_w.o) + 0x00000444 0x00000444 0x00000006 Code RO 1490 .text c_w.l(heapauxi.o) + 0x0000044a 0x0000044a 0x000000b2 Code RO 1495 .text c_w.l(_printf_intcommon.o) + 0x000004fc 0x000004fc 0x00000024 Code RO 1497 .text c_w.l(_printf_char_file.o) + 0x00000520 0x00000520 0x00000030 Code RO 1515 .text c_w.l(_printf_char_common.o) + 0x00000550 0x00000550 0x0000004a Code RO 1517 .text c_w.l(sys_stackheap_outer.o) + 0x0000059a 0x0000059a 0x00000012 Code RO 1521 .text c_w.l(exit.o) + 0x000005ac 0x000005ac 0x00000008 Code RO 1529 .text c_w.l(libspace.o) + 0x000005b4 0x000005b4 0x0000000c Code RO 1590 .text c_w.l(sys_exit.o) + 0x000005c0 0x000005c0 0x00000002 Code RO 1601 .text c_w.l(use_no_semi.o) + 0x000005c2 0x000005c2 0x00000000 Code RO 1603 .text c_w.l(indicate_semi.o) + 0x000005c2 0x000005c2 0x0000002c Code RO 419 i.CLK_EnableModuleClock clk.o 0x000005ee 0x000005ee 0x00000002 PAD - 0x000005f0 0x000005f0 0x00000010 Code RO 592 i.CLK_GetHCLKFreq clk.o - 0x00000600 0x00000600 0x00000064 Code RO 534 i.CLK_GetPLLClockFreq system_m451series.o - 0x00000664 0x00000664 0x00000064 Code RO 778 i.CLK_GetPLLClockFreq pwm.o - 0x000006c8 0x000006c8 0x00000064 Code RO 1206 i.CLK_GetPLLClockFreq spi.o - 0x0000072c 0x0000072c 0x00000054 Code RO 602 i.CLK_SetModuleClock clk.o + 0x000005f0 0x000005f0 0x00000010 Code RO 424 i.CLK_GetHCLKFreq clk.o + 0x00000600 0x00000600 0x00000064 Code RO 613 i.CLK_GetPLLClockFreq pwm.o + 0x00000664 0x00000664 0x00000064 Code RO 1041 i.CLK_GetPLLClockFreq spi.o + 0x000006c8 0x000006c8 0x00000064 Code RO 1396 i.CLK_GetPLLClockFreq system_m451series.o + 0x0000072c 0x0000072c 0x00000054 Code RO 434 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 744 i.GPIO_SetMode gpio.o - 0x0000087c 0x0000087c 0x0000002c Code RO 413 i.Hard_Fault_Handler retarget.o + 0x00000850 0x00000850 0x0000002c Code RO 579 i.GPIO_SetMode gpio.o + 0x0000087c 0x0000087c 0x0000002c Code RO 1275 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 786 i.PWM_ClearPeriodIntFlag pwm.o - 0x00000c84 0x00000c84 0x00000170 Code RO 790 i.PWM_ConfigOutputChannel pwm.o - 0x00000df4 0x00000df4 0x0000000c Code RO 804 i.PWM_DisableOutput pwm.o - 0x00000e00 0x00000e00 0x0000000c Code RO 824 i.PWM_EnableOutput pwm.o - 0x00000e0c 0x00000e0c 0x00000014 Code RO 826 i.PWM_EnablePeriodInt pwm.o - 0x00000e20 0x00000e20 0x00000008 Code RO 844 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 1219 i.SPI_DisableAutoSS spi.o - 0x00000f5a 0x00000f5a 0x00000002 PAD - 0x00000f5c 0x00000f5c 0x000002a0 Code RO 1226 i.SPI_Open spi.o - 0x000011fc 0x000011fc 0x00000030 Code RO 1369 i.SYS_ResetModule sys.o - 0x0000122c 0x0000122c 0x0000000c Code RO 415 i.SendChar retarget.o - 0x00001238 0x00001238 0x00000030 Code RO 416 i.SendChar_ToUART retarget.o - 0x00001268 0x00001268 0x000000a4 Code RO 289 i.Spi_init spi_hal.o - 0x0000130c 0x0000130c 0x00000064 Code RO 535 i.SystemCoreClockUpdate system_m451series.o - 0x00001370 0x00001370 0x00000074 Code RO 536 i.SystemInit system_m451series.o - 0x000013e4 0x000013e4 0x00000022 Code RO 8 i.__NVIC_EnableIRQ main.o - 0x00001406 0x00001406 0x0000000e Code RO 1474 i._is_digit c_w.l(__printf_wp.o) - 0x00001414 0x00001414 0x0000000e Code RO 290 i.delayAny spi_hal.o - 0x00001422 0x00001422 0x0000000e Code RO 188 i.delay_s 24l01.o - 0x00001430 0x00001430 0x00000008 Code RO 418 i.ferror retarget.o - 0x00001438 0x00001438 0x00000010 Code RO 420 i.fputc retarget.o - 0x00001448 0x00001448 0x0000003c Code RO 10 i.main main.o - 0x00001484 0x00001484 0x0000001c Code RO 291 i.nrf_read spi_hal.o - 0x000014a0 0x000014a0 0x0000001e Code RO 293 i.nrf_write spi_hal.o - 0x000014be 0x000014be 0x0000002e Code RO 294 i.nrf_writebuf spi_hal.o - 0x000014ec 0x000014ec 0x00000014 Code RO 295 i.spi_disable spi_hal.o - 0x00001500 0x00001500 0x00000014 Code RO 296 i.spi_enable spi_hal.o - 0x00001514 0x00001514 0x00000020 Code RO 297 i.spi_read spi_hal.o - 0x00001534 0x00001534 0x00000020 Code RO 298 i.spi_send spi_hal.o - 0x00001554 0x00001554 0x000000a8 Code RO 422 i.stackDump retarget.o - 0x000015fc 0x000015fc 0x0000000a Code RO 1586 x$fpl$fpinit fz_wm.l(fpinit.o) - 0x00001606 0x00001606 0x00000028 Data RO 1447 .constdata c_w.l(_printf_hex_int.o) - 0x0000162e 0x0000162e 0x00000002 PAD - 0x00001630 0x00001630 0x00000020 Data RO 1652 Region$$Table anon$$obj.o + 0x000009bc 0x000009bc 0x00000118 Code RO 372 i.PWM0P0_IRQHandler interrupt.o + 0x00000ad4 0x00000ad4 0x00000080 Code RO 373 i.PWM1P0_IRQHandler interrupt.o + 0x00000b54 0x00000b54 0x0000014c Code RO 6 i.PWMInit main.o + 0x00000ca0 0x00000ca0 0x0000000c Code RO 621 i.PWM_ClearPeriodIntFlag pwm.o + 0x00000cac 0x00000cac 0x00000170 Code RO 625 i.PWM_ConfigOutputChannel pwm.o + 0x00000e1c 0x00000e1c 0x0000000c Code RO 639 i.PWM_DisableOutput pwm.o + 0x00000e28 0x00000e28 0x0000000c Code RO 659 i.PWM_EnableOutput pwm.o + 0x00000e34 0x00000e34 0x00000014 Code RO 661 i.PWM_EnablePeriodInt pwm.o + 0x00000e48 0x00000e48 0x00000008 Code RO 679 i.PWM_Start pwm.o + 0x00000e50 0x00000e50 0x00000088 Code RO 7 i.ParsePackage main.o + 0x00000ed8 0x00000ed8 0x000000a0 Code RO 186 i.RX_Mode 24l01.o + 0x00000f78 0x00000f78 0x0000000a Code RO 1054 i.SPI_DisableAutoSS spi.o + 0x00000f82 0x00000f82 0x00000002 PAD + 0x00000f84 0x00000f84 0x000002a0 Code RO 1061 i.SPI_Open spi.o + 0x00001224 0x00001224 0x00000030 Code RO 1204 i.SYS_ResetModule sys.o + 0x00001254 0x00001254 0x0000000c Code RO 1277 i.SendChar retarget.o + 0x00001260 0x00001260 0x00000030 Code RO 1278 i.SendChar_ToUART retarget.o + 0x00001290 0x00001290 0x000000a4 Code RO 289 i.Spi_init spi_hal.o + 0x00001334 0x00001334 0x00000064 Code RO 1397 i.SystemCoreClockUpdate system_m451series.o + 0x00001398 0x00001398 0x00000074 Code RO 1398 i.SystemInit system_m451series.o + 0x0000140c 0x0000140c 0x00000022 Code RO 8 i.__NVIC_EnableIRQ main.o + 0x0000142e 0x0000142e 0x0000000e Code RO 1476 i._is_digit c_w.l(__printf_wp.o) + 0x0000143c 0x0000143c 0x0000000e Code RO 290 i.delayAny spi_hal.o + 0x0000144a 0x0000144a 0x0000000e Code RO 188 i.delay_s 24l01.o + 0x00001458 0x00001458 0x00000008 Code RO 1280 i.ferror retarget.o + 0x00001460 0x00001460 0x00000010 Code RO 1282 i.fputc retarget.o + 0x00001470 0x00001470 0x0000003c Code RO 10 i.main main.o + 0x000014ac 0x000014ac 0x0000001c Code RO 291 i.nrf_read spi_hal.o + 0x000014c8 0x000014c8 0x0000001e Code RO 293 i.nrf_write spi_hal.o + 0x000014e6 0x000014e6 0x0000002e Code RO 294 i.nrf_writebuf spi_hal.o + 0x00001514 0x00001514 0x00000014 Code RO 295 i.spi_disable spi_hal.o + 0x00001528 0x00001528 0x00000014 Code RO 296 i.spi_enable spi_hal.o + 0x0000153c 0x0000153c 0x00000020 Code RO 297 i.spi_read spi_hal.o + 0x0000155c 0x0000155c 0x00000020 Code RO 298 i.spi_send spi_hal.o + 0x0000157c 0x0000157c 0x000000a8 Code RO 1284 i.stackDump retarget.o + 0x00001624 0x00001624 0x0000000a Code RO 1588 x$fpl$fpinit fz_wm.l(fpinit.o) + 0x0000162e 0x0000162e 0x00000028 Data RO 1449 .constdata c_w.l(_printf_hex_int.o) + 0x00001656 0x00001656 0x00000002 PAD + 0x00001658 0x00001658 0x00000020 Data RO 1654 Region$$Table anon$$obj.o - Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x00001650, Size: 0x000004f8, Max: 0x00008000, ABSOLUTE) + Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x00001678, Size: 0x00000510, Max: 0x00008000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x20000000 0x00001650 0x0000000c Data RW 11 .data main.o - 0x2000000c 0x0000165c 0x00000015 Data RW 190 .data 24l01.o - 0x20000021 0x00001671 0x00000003 PAD - 0x20000024 0x00001674 0x00000008 Data RW 423 .data retarget.o - 0x2000002c 0x0000167c 0x0000002c Data RW 537 .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 525 HEAP startup_m451series.o - 0x200000f8 - 0x00000400 Zero RW 524 STACK startup_m451series.o + 0x20000000 0x00001678 0x0000000c Data RW 11 .data main.o + 0x2000000c 0x00001684 0x00000015 Data RW 190 .data 24l01.o + 0x20000021 0x00001699 0x00000003 PAD + 0x20000024 0x0000169c 0x00000014 Data RW 374 .data interrupt.o + 0x20000038 0x000016b0 0x00000008 Data RW 1285 .data retarget.o + 0x20000040 0x000016b8 0x0000002c Data RW 1399 .data system_m451series.o + 0x2000006c - 0x00000040 Zero RW 189 .bss 24l01.o + 0x200000ac - 0x00000060 Zero RW 1530 .bss c_w.l(libspace.o) + 0x2000010c 0x000016e4 0x00000004 PAD + 0x20000110 - 0x00000000 Zero RW 1387 HEAP startup_m451series.o + 0x20000110 - 0x00000400 Zero RW 1386 STACK startup_m451series.o ============================================================================== @@ -1123,20 +1135,20 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug Object Name 544 58 0 21 64 5878 24l01.o - 144 10 0 0 0 1867 clk.o + 144 10 0 0 0 16183 clk.o 44 0 0 0 0 1163 gpio.o - 368 40 0 0 0 1168 interrupt.o - 674 58 0 12 0 209300 main.o + 408 46 0 20 0 1667 interrupt.o + 674 58 0 12 0 209304 main.o 532 30 0 0 0 5360 pwm.o 324 132 0 8 0 5893 retarget.o 782 42 0 0 0 3207 spi.o 386 46 0 0 0 4865 spi_hal.o 116 36 320 0 1024 948 startup_m451series.o 48 0 0 0 0 550 sys.o - 316 54 0 44 0 47591 system_m451series.o + 316 54 0 44 0 33275 system_m451series.o ---------------------------------------------------------------------- - 4284 506 352 88 1088 287790 Object Totals + 4324 512 352 108 1088 288293 Object Totals 0 0 32 0 0 0 (incl. Generated) 6 0 0 3 0 0 (incl. Padding) @@ -1177,8 +1189,8 @@ Image component sizes 10 0 0 0 0 116 fpinit.o ---------------------------------------------------------------------- - 1034 34 42 0 96 1372 Library Totals - 2 0 2 0 0 0 (incl. Padding) + 1034 34 42 0 100 1372 Library Totals + 2 0 2 0 4 0 (incl. Padding) ---------------------------------------------------------------------- @@ -1188,7 +1200,7 @@ Image component sizes 10 0 0 0 0 116 fz_wm.l ---------------------------------------------------------------------- - 1034 34 42 0 96 1372 Library Totals + 1034 34 42 0 100 1372 Library Totals ---------------------------------------------------------------------- @@ -1197,15 +1209,15 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug - 5318 540 394 88 1184 284290 Grand Totals - 5318 540 394 88 1184 284290 ELF Image Totals - 5318 540 394 88 0 0 ROM Totals + 5358 546 394 108 1188 284793 Grand Totals + 5358 546 394 108 1188 284793 ELF Image Totals + 5358 546 394 108 0 0 ROM Totals ============================================================================== - Total RO Size (Code + RO Data) 5712 ( 5.58kB) - Total RW Size (RW Data + ZI Data) 1272 ( 1.24kB) - Total ROM Size (Code + RO Data + RW Data) 5800 ( 5.66kB) + Total RO Size (Code + RO Data) 5752 ( 5.62kB) + Total RW Size (RW Data + ZI Data) 1296 ( 1.27kB) + Total ROM Size (Code + RO Data + RW Data) 5860 ( 5.72kB) ============================================================================== diff --git a/nuvoton/m451/roboticarm_controller/Objects/roboticarm_controller.lnp b/nuvoton/m451/roboticarm_controller/Objects/roboticarm_controller.lnp index 91e8dd8..07c0128 100644 --- a/nuvoton/m451/roboticarm_controller/Objects/roboticarm_controller.lnp +++ b/nuvoton/m451/roboticarm_controller/Objects/roboticarm_controller.lnp @@ -3,14 +3,14 @@ ".\objects\24l01.o" ".\objects\spi_hal.o" ".\objects\interrupt.o" -".\objects\retarget.o" -".\objects\startup_m451series.o" -".\objects\system_m451series.o" ".\objects\clk.o" ".\objects\gpio.o" ".\objects\pwm.o" ".\objects\spi.o" ".\objects\sys.o" +".\objects\retarget.o" +".\objects\startup_m451series.o" +".\objects\system_m451series.o" --strict --scatter ".\Objects\roboticarm_controller.sct" --summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols --info sizes --info totals --info unused --info veneers diff --git a/nuvoton/m451/roboticarm_controller/global.h b/nuvoton/m451/roboticarm_controller/global.h index 0f771c1..a3762ed 100644 --- a/nuvoton/m451/roboticarm_controller/global.h +++ b/nuvoton/m451/roboticarm_controller/global.h @@ -11,4 +11,5 @@ extern short Axis4; extern short Axis5; extern short Axis6; +extern uint32_t gServoMotorAngle; #endif \ No newline at end of file diff --git a/nuvoton/m451/roboticarm_controller/interrupt.c b/nuvoton/m451/roboticarm_controller/interrupt.c index 4109690..126dcc5 100644 --- a/nuvoton/m451/roboticarm_controller/interrupt.c +++ b/nuvoton/m451/roboticarm_controller/interrupt.c @@ -1,21 +1,31 @@ #include "M451Series.h" #include "global.h" +uint16_t gTrapezoid1 = 0; +uint16_t gTrapezoid2 = 0; +uint16_t gTrapezoid3 = 0; +uint16_t gTrapezoid4 = 0; +uint16_t gTrapezoid5 = 0; +uint16_t gTrapezoid6 = 0; +uint32_t gServoMotorAngle = 3; void PWM0P0_IRQHandler(void) { static uint32_t lastStep = 0; - - if(Axis1 != 0){ - PWM_EnableOutput(PWM0, PWM_CH_0_MASK); - if(Axis1 > 0){ - PB4 = 1; - }else{ - PB4 = 0; + PWM_EnableOutput(PWM0, PWM_CH_0_MASK); + + if(Axis1 != 0 ){ + if((Axis1 > 0)&&(gServoMotorAngle < 13)){ + gServoMotorAngle ++; + //PB4 = 1; + }else if((Axis1 < 0)&&(gServoMotorAngle > 3)){ + gServoMotorAngle--; + //PB4 = 0; } + PWM_ConfigOutputChannel(PWM0, 0, 50, gServoMotorAngle); //port 5 + } else{ - PWM_DisableOutput(PWM0, PWM_CH_0_MASK); } if(Axis2 != 0){ PWM_EnableOutput(PWM0, PWM_CH_1_MASK); @@ -34,7 +44,7 @@ void PWM0P0_IRQHandler(void) }else{ PB9 = 0; } - PWM_EnableOutput(PWM0, PWM_CH_3_MASK); + PWM_EnableOutput(PWM0, PWM_CH_3_MASK); //port6 } else{ PWM_DisableOutput(PWM0, PWM_CH_3_MASK); @@ -49,7 +59,6 @@ void PWM0P0_IRQHandler(void) }else{ PWM_DisableOutput(PWM0, PWM_CH_4_MASK); } - // Clear channel 0 period interrupt flag PWM_ClearPeriodIntFlag(PWM0, 0); } @@ -58,9 +67,9 @@ void PWM1P0_IRQHandler(void){ if(Axis5 != 0){ PWM_EnableOutput(PWM1, PWM_CH_0_MASK); if(Axis5 > 0){ - PE5 = 1; + PB4 = 1; }else{ - PE5 = 0; + PB4 = 0; } }else{ PWM_DisableOutput(PWM1, PWM_CH_0_MASK); diff --git a/nuvoton/m451/roboticarm_controller/main.c b/nuvoton/m451/roboticarm_controller/main.c index bb7bc09..1265ece 100644 --- a/nuvoton/m451/roboticarm_controller/main.c +++ b/nuvoton/m451/roboticarm_controller/main.c @@ -12,9 +12,9 @@ short Axis6 = 0; void GPIO_Direction_Init(){ GPIO_SetMode(PB,BIT4,GPIO_MODE_OUTPUT); //white the grabber - GPIO_SetMode(PB,BIT8,GPIO_MODE_OUTPUT); // yellow port4 + GPIO_SetMode(PB,BIT8,GPIO_MODE_OUTPUT); // yellow port2 GPIO_SetMode(PB,BIT9,GPIO_MODE_OUTPUT); // grey port1 - GPIO_SetMode(PB,BIT11,GPIO_MODE_OUTPUT); //green port2 + GPIO_SetMode(PB,BIT11,GPIO_MODE_OUTPUT); //green port4 GPIO_SetMode(PE,BIT5,GPIO_MODE_OUTPUT); // zise port5 GPIO_SetMode(PA,BIT9,GPIO_MODE_OUTPUT); // blue port3 @@ -78,19 +78,16 @@ void PWMInit (){ SYS->GPC_MFPL = (SYS->GPC_MFPL & (~SYS_GPC_MFPL_PC4MFP_Msk)); SYS->GPC_MFPL |= SYS_GPC_MFPL_PC4MFP_PWM0_CH4; - // PWM0 channel 0 frequency is 100Hz, duty 30%, - PWM_ConfigOutputChannel(PWM0, 0, 100, 50); - // PWM0 channel 2 frequency is 300Hz, duty 50% - PWM_ConfigOutputChannel(PWM0, 1,100, 50); - // PWM0 channel 0 frequency is 100Hz, duty 30%, - PWM_ConfigOutputChannel(PWM0, 3,300, 30); - // PWM0 channel 2 frequency is 300Hz, duty 50% - PWM_ConfigOutputChannel(PWM0, 4, 100, 50); - - // PWM0 channel 0 frequency is 100Hz, duty 30%, - PWM_ConfigOutputChannel(PWM1, 0, 100, 50); - // PWM0 channel 2 frequency is 300Hz, duty 50% - PWM_ConfigOutputChannel(PWM1, 1, 100, 50); + PWM_ConfigOutputChannel(PWM0, 0, 50, 3); //port 5 + + PWM_ConfigOutputChannel(PWM0, 1,100, 50); // port 4 + + PWM_ConfigOutputChannel(PWM0, 3,100, 50); //port 6 + PWM_ConfigOutputChannel(PWM0, 4, 100, 50); // port 5 the servo motor + + PWM_ConfigOutputChannel(PWM1, 0, 100, 50); //port 1 + + PWM_ConfigOutputChannel(PWM1, 1, 400, 50); //port 2 // Enable output of PWM0 channel 0~3 PWM_EnableOutput(PWM0, 0xF); diff --git a/nuvoton/m451/roboticarm_controller/roboticarm_controller.uvoptx b/nuvoton/m451/roboticarm_controller/roboticarm_controller.uvoptx index 60f38fe..d56c0b2 100644 --- a/nuvoton/m451/roboticarm_controller/roboticarm_controller.uvoptx +++ b/nuvoton/m451/roboticarm_controller/roboticarm_controller.uvoptx @@ -218,12 +218,6 @@ - - - System Viewer\SPI0 - 35905 - - diff --git a/nuvoton/m451/roboticarm_controller/roboticarm_controller.uvprojx b/nuvoton/m451/roboticarm_controller/roboticarm_controller.uvprojx index 9bd4e72..0d6cfb2 100644 --- a/nuvoton/m451/roboticarm_controller/roboticarm_controller.uvprojx +++ b/nuvoton/m451/roboticarm_controller/roboticarm_controller.uvprojx @@ -16,7 +16,7 @@ M453VG6AE Nuvoton - Nuvoton.NuMicro_DFP.1.3.5 + Nuvoton.NuMicro_DFP.1.2.0 http://www.nuvoton.com/hq/enu/Documents/KEILSoftwarePack IRAM(0x20000000,0x8000) IROM(0x00000000,0x40000) CPUTYPE("Cortex-M4") FPU2 CLOCK(12000000)