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 5f358b7..2dc36db 100644 Binary files a/roboticarm_controller/Objects/roboticarm_controller.axf and b/roboticarm_controller/Objects/roboticarm_controller.axf differ 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 ();