Have the USB code effectively separated from the main application code!
Need to physically separate them now. Then can focus on erasing & flashing ourselves. Added some speed checks to bnrom.lua script that I was testing usb code with. Was able to verify read/write speeds were no affected by changes in this commit. Did some testing against older firmware v2.2 though there does seem to have been a slight slow down on write speeds. Although, perhaps that's because of the nrom flash verifications that are also included in this build (but not commited)..?
This commit is contained in:
parent
d0c8ab82fe
commit
e3d0ec434e
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
|
@ -1,7 +1,7 @@
|
||||||
Archive member included to satisfy reference by file (symbol)
|
Archive member included to satisfy reference by file (symbol)
|
||||||
|
|
||||||
c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o)
|
c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o)
|
||||||
C:\Users\paul\AppData\Local\Temp\ccSIjLzW.o (__aeabi_unwind_cpp_pr0)
|
C:\Users\paul\AppData\Local\Temp\cci1eGxe.o (__aeabi_unwind_cpp_pr0)
|
||||||
c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(libunwind.o)
|
c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(libunwind.o)
|
||||||
c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) (restore_core_regs)
|
c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) (restore_core_regs)
|
||||||
c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o)
|
c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o)
|
||||||
|
|
@ -49,24 +49,21 @@ c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/
|
||||||
c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o)
|
c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o)
|
||||||
c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) (_exit)
|
c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) (_exit)
|
||||||
c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o)
|
c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o)
|
||||||
C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o (__gnu_thumb1_case_uqi)
|
C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o (__gnu_thumb1_case_uqi)
|
||||||
c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_shi.o)
|
c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_shi.o)
|
||||||
C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o (__gnu_thumb1_case_shi)
|
C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o (__gnu_thumb1_case_shi)
|
||||||
c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o)
|
c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o)
|
||||||
C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o (__gnu_thumb1_case_uhi)
|
C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o (__gnu_thumb1_case_uhi)
|
||||||
|
|
||||||
Allocating common symbols
|
Allocating common symbols
|
||||||
Common symbol size file
|
Common symbol size file
|
||||||
|
|
||||||
errno 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o)
|
errno 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o)
|
||||||
addrh 0x4 source/bootload.o (symbol from plugin)
|
addrh 0x4 source/bootload.o (symbol from plugin)
|
||||||
incoming_bytes_remain
|
|
||||||
0x1 source/buffer.o (symbol from plugin)
|
|
||||||
pbje_cmd_update_flag
|
pbje_cmd_update_flag
|
||||||
0x1 source/jtag.o (symbol from plugin)
|
0x1 source/jtag.o (symbol from plugin)
|
||||||
raw_bank_status 0x10 source/buffer.o (symbol from plugin)
|
raw_bank_status 0x10 source/buffer.o (symbol from plugin)
|
||||||
raw_buffer16 0x200 source/buffer.o (symbol from plugin)
|
raw_buffer16 0x200 source/buffer.o (symbol from plugin)
|
||||||
cur_usb_load_buff 0x4 source/buffer.o (symbol from plugin)
|
|
||||||
|
|
||||||
Discarded input sections
|
Discarded input sections
|
||||||
|
|
||||||
|
|
@ -89,23 +86,23 @@ Discarded input sections
|
||||||
.ARM.exidx 0x00000000 0x8 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o
|
.ARM.exidx 0x00000000 0x8 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o
|
||||||
.ARM.attributes
|
.ARM.attributes
|
||||||
0x00000000 0x1b c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o
|
0x00000000 0x1b c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o
|
||||||
.data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc6pRmhD.o
|
.data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o
|
||||||
.bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc6pRmhD.o
|
.bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o
|
||||||
.text 0x00000000 0x0 source/bootload.o (symbol from plugin)
|
.text 0x00000000 0x0 source/bootload.o (symbol from plugin)
|
||||||
.text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
.data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
.data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
.bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
.bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
|
||||||
.rodata.oper_info
|
.rodata.oper_info
|
||||||
0x00000000 0x4 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
0x00000000 0x4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
.text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o
|
.rodata.usb_buff
|
||||||
.data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o
|
0x00000000 0x4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
.bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o
|
.text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o
|
||||||
.text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
.data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o
|
||||||
.data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
.bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o
|
||||||
.bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
.text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
.text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o
|
.data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
.data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o
|
.bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
.bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o
|
.data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o
|
||||||
|
.bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o
|
||||||
.text 0x00000000 0x0 source/buffer.o (symbol from plugin)
|
.text 0x00000000 0x0 source/buffer.o (symbol from plugin)
|
||||||
.text 0x00000000 0x0 source/ciccom.o (symbol from plugin)
|
.text 0x00000000 0x0 source/ciccom.o (symbol from plugin)
|
||||||
.text 0x00000000 0x0 source/dump.o (symbol from plugin)
|
.text 0x00000000 0x0 source/dump.o (symbol from plugin)
|
||||||
|
|
@ -125,12 +122,12 @@ Discarded input sections
|
||||||
.text 0x00000000 0x0 source/usb.o (symbol from plugin)
|
.text 0x00000000 0x0 source/usb.o (symbol from plugin)
|
||||||
.text 0x00000000 0x0 source_stm_only/stm_init.o (symbol from plugin)
|
.text 0x00000000 0x0 source_stm_only/stm_init.o (symbol from plugin)
|
||||||
.text 0x00000000 0x0 source_stm_only/usbstm.o (symbol from plugin)
|
.text 0x00000000 0x0 source_stm_only/usbstm.o (symbol from plugin)
|
||||||
.data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccSIjLzW.o
|
.data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cci1eGxe.o
|
||||||
.bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccSIjLzW.o
|
.bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cci1eGxe.o
|
||||||
.ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccSIjLzW.o
|
.ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cci1eGxe.o
|
||||||
.data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc2herkl.o
|
.data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccUzNUgX.o
|
||||||
.bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc2herkl.o
|
.bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccUzNUgX.o
|
||||||
.ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc2herkl.o
|
.ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccUzNUgX.o
|
||||||
.data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o)
|
.data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o)
|
||||||
.bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o)
|
.bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o)
|
||||||
.debug_frame 0x00000000 0x2c4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o)
|
.debug_frame 0x00000000 0x2c4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o)
|
||||||
|
|
@ -367,12 +364,12 @@ Linker script and memory map
|
||||||
LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crti.o
|
LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crti.o
|
||||||
LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o
|
LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o
|
||||||
LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o
|
LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o
|
||||||
LOAD C:\Users\paul\AppData\Local\Temp\cc6pRmhD.o
|
LOAD C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o
|
||||||
LOAD source/bootload.o
|
LOAD source/bootload.o
|
||||||
LOAD C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
LOAD C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
LOAD C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o
|
LOAD C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o
|
||||||
LOAD C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
LOAD C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
LOAD C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o
|
LOAD C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o
|
||||||
LOAD source/buffer.o
|
LOAD source/buffer.o
|
||||||
LOAD source/ciccom.o
|
LOAD source/ciccom.o
|
||||||
LOAD source/dump.o
|
LOAD source/dump.o
|
||||||
|
|
@ -392,8 +389,8 @@ LOAD source/swim.o
|
||||||
LOAD source/usb.o
|
LOAD source/usb.o
|
||||||
LOAD source_stm_only/stm_init.o
|
LOAD source_stm_only/stm_init.o
|
||||||
LOAD source_stm_only/usbstm.o
|
LOAD source_stm_only/usbstm.o
|
||||||
LOAD C:\Users\paul\AppData\Local\Temp\ccSIjLzW.o
|
LOAD C:\Users\paul\AppData\Local\Temp\cci1eGxe.o
|
||||||
LOAD C:\Users\paul\AppData\Local\Temp\cc2herkl.o
|
LOAD C:\Users\paul\AppData\Local\Temp\ccUzNUgX.o
|
||||||
START GROUP
|
START GROUP
|
||||||
LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a
|
LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a
|
||||||
LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a
|
LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a
|
||||||
|
|
@ -407,12 +404,12 @@ END GROUP
|
||||||
LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtend.o
|
LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtend.o
|
||||||
LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtn.o
|
LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtn.o
|
||||||
|
|
||||||
.text 0x08000000 0x4c9c
|
.text 0x08000000 0x4c6c
|
||||||
*(.isr_vector)
|
*(.isr_vector)
|
||||||
.isr_vector 0x08000000 0xc0 C:\Users\paul\AppData\Local\Temp\cc6pRmhD.o
|
.isr_vector 0x08000000 0xc0 C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o
|
||||||
0x08000000 __isr_vector
|
0x08000000 __isr_vector
|
||||||
*(.text*)
|
*(.text*)
|
||||||
.text 0x080000c0 0x40 C:\Users\paul\AppData\Local\Temp\cc6pRmhD.o
|
.text 0x080000c0 0x40 C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o
|
||||||
0x080000c0 Reset_Handler
|
0x080000c0 Reset_Handler
|
||||||
0x080000fc TSC_IRQHandler
|
0x080000fc TSC_IRQHandler
|
||||||
0x080000fc ADC1_COMP_IRQHandler
|
0x080000fc ADC1_COMP_IRQHandler
|
||||||
|
|
@ -451,214 +448,216 @@ LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-
|
||||||
0x080000fc FLASH_IRQHandler
|
0x080000fc FLASH_IRQHandler
|
||||||
0x080000fc USART1_IRQHandler
|
0x080000fc USART1_IRQHandler
|
||||||
0x080000fc TIM1_BRK_UP_TRG_COM_IRQHandler
|
0x080000fc TIM1_BRK_UP_TRG_COM_IRQHandler
|
||||||
.text.USB_IRQHandler
|
.text 0x08000100 0x17f0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
0x08000100 0x1ac0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
0x08000100 usbFunctionSetup
|
||||||
0x08000100 USB_IRQHandler
|
|
||||||
.text.nes_cpu_wr
|
|
||||||
0x08001bc0 0x6c C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o
|
|
||||||
0x08001bc0 nes_cpu_wr
|
|
||||||
.text.nes_cpu_rd
|
|
||||||
0x08001c2c 0x40 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o
|
|
||||||
0x08001c2c nes_cpu_rd
|
|
||||||
.text.disc_push_exp0_prgrom_wr
|
|
||||||
0x08001c6c 0x48 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o
|
|
||||||
0x08001c6c disc_push_exp0_prgrom_wr
|
|
||||||
.text.pbje_scan
|
.text.pbje_scan
|
||||||
0x08001cb4 0x12c C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o
|
0x080018f0 0x12c C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o
|
||||||
.text.pbje_state_change
|
.text.pbje_state_change
|
||||||
0x08001de0 0x98 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o
|
0x08001a1c 0x98 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o
|
||||||
.text.write_page
|
.text.write_page
|
||||||
0x08001e78 0x34 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o
|
0x08001ab4 0x34 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o
|
||||||
.text.get_next_buff
|
.text.get_next_buff
|
||||||
0x08001eac 0x54 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o
|
0x08001ae8 0x54 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o
|
||||||
.text.nes_ppu_wr
|
|
||||||
0x08001f00 0x50 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o
|
|
||||||
0x08001f00 nes_ppu_wr
|
|
||||||
.text.nes_ppu_rd
|
|
||||||
0x08001f50 0x38 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o
|
|
||||||
0x08001f50 nes_ppu_rd
|
|
||||||
.text.discrete_exp0_prgrom_wr
|
.text.discrete_exp0_prgrom_wr
|
||||||
0x08001f88 0x58 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o
|
0x08001b3c 0x58 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o
|
||||||
0x08001f88 discrete_exp0_prgrom_wr
|
0x08001b3c discrete_exp0_prgrom_wr
|
||||||
.text.jtag_init_pbje
|
.text.jtag_init_pbje
|
||||||
0x08001fe0 0xe0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o
|
0x08001b94 0xe0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o
|
||||||
0x08001fe0 jtag_init_pbje
|
0x08001b94 jtag_init_pbje
|
||||||
.text.jtag_run_pbje.part.0
|
.text.jtag_run_pbje.part.0
|
||||||
0x080020c0 0xd8 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o
|
0x08001c74 0xd8 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o
|
||||||
0x080020c0 jtag_run_pbje.part.0
|
0x08001c74 jtag_run_pbje.part.0
|
||||||
.text.io_reset
|
.text.io_reset
|
||||||
0x08002198 0x154 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o
|
0x08001d4c 0x154 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o
|
||||||
0x08002198 io_reset
|
0x08001d4c io_reset
|
||||||
.text.startup.main
|
.text.startup.main
|
||||||
0x080022ec 0xb8c C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o
|
0x08001ea0 0xb00 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o
|
||||||
0x080022ec main
|
0x08001ea0 main
|
||||||
.text.append_pairity
|
.text.append_pairity
|
||||||
0x08002e78 0x1e C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
0x080029a0 0x1e C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
*fill* 0x08002e96 0x2
|
*fill* 0x080029be 0x2
|
||||||
.text.snes_wr 0x08002e98 0x60 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
.text.snes_wr 0x080029c0 0x60 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
0x08002e98 snes_wr
|
0x080029c0 snes_wr
|
||||||
.text.snes_rd 0x08002ef8 0x48 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
.text.snes_rd 0x08002a20 0x48 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
0x08002ef8 snes_rd
|
0x08002a20 snes_rd
|
||||||
.text.snes_3v_flash_wr
|
.text.snes_3v_flash_wr
|
||||||
0x08002f40 0x50 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
0x08002a68 0x50 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
0x08002f40 snes_3v_flash_wr
|
0x08002a68 snes_3v_flash_wr
|
||||||
.text.snes_5v_flash_wr
|
.text.snes_5v_flash_wr
|
||||||
0x08002f90 0x50 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
0x08002ab8 0x50 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
0x08002f90 snes_5v_flash_wr
|
0x08002ab8 snes_5v_flash_wr
|
||||||
.text.mmc3_chrrom_flash_wr
|
.text.nes_cpu_wr
|
||||||
0x08002fe0 0x44 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
0x08002b08 0x6c C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
0x08002fe0 mmc3_chrrom_flash_wr
|
0x08002b08 nes_cpu_wr
|
||||||
.text.nrom_chrrom_flash_wr
|
|
||||||
0x08003024 0x44 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
|
||||||
0x08003024 nrom_chrrom_flash_wr
|
|
||||||
.text.cdream_chrrom_flash_wr
|
|
||||||
0x08003068 0x88 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
|
||||||
0x08003068 cdream_chrrom_flash_wr
|
|
||||||
.text.mmc4_chrrom_flash_wr
|
|
||||||
0x080030f0 0x74 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
|
||||||
0x080030f0 mmc4_chrrom_flash_wr
|
|
||||||
.text.cnrom_chrrom_flash_wr
|
|
||||||
0x08003164 0x80 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
|
||||||
0x08003164 cnrom_chrrom_flash_wr
|
|
||||||
.text.mmc4_prgrom_sop_flash_wr
|
|
||||||
0x080031e4 0x54 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
|
||||||
0x080031e4 mmc4_prgrom_sop_flash_wr
|
|
||||||
.text.mmc3_prgrom_flash_wr
|
|
||||||
0x08003238 0x50 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
|
||||||
0x08003238 mmc3_prgrom_flash_wr
|
|
||||||
.text.unrom_prgrom_flash_wr
|
|
||||||
0x08003288 0x64 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
|
||||||
0x08003288 unrom_prgrom_flash_wr
|
|
||||||
.text.mmc1_chrrom_flash_wr
|
|
||||||
0x080032ec 0x60 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
|
||||||
0x080032ec mmc1_chrrom_flash_wr
|
|
||||||
.text.mmc1_prgrom_flash_wr
|
|
||||||
0x0800334c 0x50 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
|
||||||
0x0800334c mmc1_prgrom_flash_wr
|
|
||||||
.text.control_xfr_in.lto_priv.38
|
|
||||||
0x0800339c 0xd8 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
|
||||||
0x0800339c control_xfr_in.lto_priv.38
|
|
||||||
.text.HardFault_Handler
|
|
||||||
0x08003474 0x2 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
|
||||||
0x08003474 HardFault_Handler
|
|
||||||
*fill* 0x08003476 0x2
|
|
||||||
.text.swim_wotf
|
.text.swim_wotf
|
||||||
0x08003478 0xb4 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
0x08002b74 0xb4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
0x08003478 swim_wotf
|
0x08002b74 swim_wotf
|
||||||
.text.swim_rotf
|
.text.swim_rotf
|
||||||
0x0800352c 0xac C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
0x08002c28 0xac C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
0x0800352c swim_rotf
|
0x08002c28 swim_rotf
|
||||||
.text.delay_us
|
.text.delay_us
|
||||||
0x080035d8 0x16 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
0x08002cd4 0x16 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
0x080035d8 delay_us
|
0x08002cd4 delay_us
|
||||||
*fill* 0x080035ee 0x2
|
*fill* 0x08002cea 0x2
|
||||||
.text.nrom_prgrom_flash_wr
|
|
||||||
0x080035f0 0x44 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
|
||||||
0x080035f0 nrom_prgrom_flash_wr
|
|
||||||
.text.nes_dualport_wr
|
.text.nes_dualport_wr
|
||||||
0x08003634 0x50 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
0x08002cec 0x50 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
0x08003634 nes_dualport_wr
|
0x08002cec nes_dualport_wr
|
||||||
.text.nes_dualport_rd
|
.text.nes_dualport_rd
|
||||||
0x08003684 0x38 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
0x08002d3c 0x38 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
0x08003684 nes_dualport_rd
|
0x08002d3c nes_dualport_rd
|
||||||
.text.write_page_snes.constprop.33
|
.text.nes_ppu_wr
|
||||||
0x080036bc 0x194 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o
|
0x08002d74 0x50 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
0x080036bc write_page_snes.constprop.33
|
0x08002d74 nes_ppu_wr
|
||||||
.text.snes_page_rd_poll.constprop.24
|
.text.nes_ppu_rd
|
||||||
0x08003850 0x7c C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o
|
0x08002dc4 0x38 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
0x08003850 snes_page_rd_poll.constprop.24
|
0x08002dc4 nes_ppu_rd
|
||||||
.text.nes_cpu_page_rd_poll.constprop.23
|
.text.cdream_chrrom_flash_wr
|
||||||
0x080038cc 0x6c C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o
|
0x08002dfc 0x88 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
0x080038cc nes_cpu_page_rd_poll.constprop.23
|
0x08002dfc cdream_chrrom_flash_wr
|
||||||
.text.nes_ppu_page_rd_poll.constprop.21
|
.text.mmc4_chrrom_flash_wr
|
||||||
0x08003938 0x68 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o
|
0x08002e84 0x74 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
0x08003938 nes_ppu_page_rd_poll.constprop.21
|
0x08002e84 mmc4_chrrom_flash_wr
|
||||||
.text.mmc1_wr.constprop.12
|
.text.mmc3_chrrom_flash_wr
|
||||||
0x080039a0 0x22 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o
|
0x08002ef8 0x44 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
0x080039a0 mmc1_wr.constprop.12
|
0x08002ef8 mmc3_chrrom_flash_wr
|
||||||
*fill* 0x080039c2 0x2
|
.text.cnrom_chrrom_flash_wr
|
||||||
.text 0x080039c4 0x4 C:\Users\paul\AppData\Local\Temp\ccSIjLzW.o
|
0x08002f3c 0x80 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
0x080039c4 jump2addr
|
0x08002f3c cnrom_chrrom_flash_wr
|
||||||
*fill* 0x080039c8 0x8
|
.text.mmc1_chrrom_flash_wr
|
||||||
.text 0x080039d0 0x154 C:\Users\paul\AppData\Local\Temp\cc2herkl.o
|
0x08002fbc 0x60 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
0x080039d0 swim_xfr
|
0x08002fbc mmc1_chrrom_flash_wr
|
||||||
.text 0x08003b24 0xa38 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o)
|
.text.nrom_chrrom_flash_wr
|
||||||
0x08003df4 _Unwind_GetCFA
|
0x0800301c 0x44 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
0x08003df8 __gnu_Unwind_RaiseException
|
0x0800301c nrom_chrrom_flash_wr
|
||||||
0x08003e4c __gnu_Unwind_ForcedUnwind
|
.text.nes_cpu_rd
|
||||||
0x08003e60 __gnu_Unwind_Resume
|
0x08003060 0x40 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
0x08003ea8 __gnu_Unwind_Resume_or_Rethrow
|
0x08003060 nes_cpu_rd
|
||||||
0x08003ec4 _Unwind_Complete
|
.text.mmc4_prgrom_sop_flash_wr
|
||||||
0x08003ec8 _Unwind_DeleteException
|
0x080030a0 0x54 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
0x08003ed8 _Unwind_VRS_Get
|
0x080030a0 mmc4_prgrom_sop_flash_wr
|
||||||
0x08003f24 _Unwind_VRS_Set
|
.text.mmc3_prgrom_flash_wr
|
||||||
0x08003f70 __gnu_Unwind_Backtrace
|
0x080030f4 0x50 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
0x080042d0 __aeabi_unwind_cpp_pr0
|
0x080030f4 mmc3_prgrom_flash_wr
|
||||||
0x080042dc __aeabi_unwind_cpp_pr1
|
.text.unrom_prgrom_flash_wr
|
||||||
0x080042e8 __aeabi_unwind_cpp_pr2
|
0x08003144 0x64 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
0x080042f4 _Unwind_VRS_Pop
|
0x08003144 unrom_prgrom_flash_wr
|
||||||
.text 0x0800455c 0x144 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(libunwind.o)
|
.text.mmc1_prgrom_flash_wr
|
||||||
0x0800455c __restore_core_regs
|
0x080031a8 0x50 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
0x0800455c restore_core_regs
|
0x080031a8 mmc1_prgrom_flash_wr
|
||||||
0x08004588 __gnu_Unwind_Restore_VFP
|
.text.nrom_prgrom_flash_wr
|
||||||
0x0800458c __gnu_Unwind_Save_VFP
|
0x080031f8 0x44 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
0x08004590 __gnu_Unwind_Restore_VFP_D
|
0x080031f8 nrom_prgrom_flash_wr
|
||||||
0x08004594 __gnu_Unwind_Save_VFP_D
|
.text.disc_push_exp0_prgrom_wr
|
||||||
0x08004598 __gnu_Unwind_Restore_VFP_D_16_to_31
|
0x0800323c 0x48 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
0x0800459c __gnu_Unwind_Save_VFP_D_16_to_31
|
0x0800323c disc_push_exp0_prgrom_wr
|
||||||
0x080045a0 __gnu_Unwind_Restore_WMMXD
|
.text 0x08003284 0x48 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o
|
||||||
0x080045a4 __gnu_Unwind_Save_WMMXD
|
0x08003284 usbFunctionWrite
|
||||||
0x080045a8 __gnu_Unwind_Restore_WMMXC
|
.text.control_xfr_in
|
||||||
0x080045ac __gnu_Unwind_Save_WMMXC
|
0x080032cc 0xd8 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o
|
||||||
0x080045b0 ___Unwind_RaiseException
|
.text.write_page_snes.constprop.31
|
||||||
0x080045b0 _Unwind_RaiseException
|
0x080033a4 0x194 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o
|
||||||
0x080045e0 _Unwind_Resume
|
0x080033a4 write_page_snes.constprop.31
|
||||||
0x080045e0 ___Unwind_Resume
|
.text.snes_page_rd_poll.constprop.22
|
||||||
0x08004610 _Unwind_Resume_or_Rethrow
|
0x08003538 0x7c C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o
|
||||||
0x08004610 ___Unwind_Resume_or_Rethrow
|
0x08003538 snes_page_rd_poll.constprop.22
|
||||||
0x08004640 _Unwind_ForcedUnwind
|
.text.nes_cpu_page_rd_poll.constprop.21
|
||||||
0x08004640 ___Unwind_ForcedUnwind
|
0x080035b4 0x6c C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o
|
||||||
0x08004670 ___Unwind_Backtrace
|
0x080035b4 nes_cpu_page_rd_poll.constprop.21
|
||||||
0x08004670 _Unwind_Backtrace
|
.text.nes_ppu_page_rd_poll.constprop.19
|
||||||
.text 0x080046a0 0x3a8 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o)
|
0x08003620 0x68 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o
|
||||||
0x080046f4 __gnu_unwind_execute
|
0x08003620 nes_ppu_page_rd_poll.constprop.19
|
||||||
0x080049f0 __gnu_unwind_frame
|
.text.mmc1_wr.constprop.10
|
||||||
0x08004a18 _Unwind_GetRegionStart
|
0x08003688 0x22 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o
|
||||||
0x08004a24 _Unwind_GetLanguageSpecificData
|
0x08003688 mmc1_wr.constprop.10
|
||||||
0x08004a38 _Unwind_GetTextRelBase
|
*fill* 0x080036aa 0x2
|
||||||
0x08004a40 _Unwind_GetDataRelBase
|
.text.USB_IRQHandler
|
||||||
.text.abort 0x08004a48 0x10 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o)
|
0x080036ac 0x2ec C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o
|
||||||
0x08004a48 abort
|
0x080036ac USB_IRQHandler
|
||||||
.text.memcpy 0x08004a58 0x84 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o)
|
.text.HardFault_Handler
|
||||||
0x08004a58 memcpy
|
0x08003998 0x2 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o
|
||||||
|
0x08003998 HardFault_Handler
|
||||||
|
*fill* 0x0800399a 0x2
|
||||||
|
.text 0x0800399c 0x4 C:\Users\paul\AppData\Local\Temp\cci1eGxe.o
|
||||||
|
0x0800399c jump2addr
|
||||||
|
.text 0x080039a0 0x154 C:\Users\paul\AppData\Local\Temp\ccUzNUgX.o
|
||||||
|
0x080039a0 swim_xfr
|
||||||
|
.text 0x08003af4 0xa38 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o)
|
||||||
|
0x08003dc4 _Unwind_GetCFA
|
||||||
|
0x08003dc8 __gnu_Unwind_RaiseException
|
||||||
|
0x08003e1c __gnu_Unwind_ForcedUnwind
|
||||||
|
0x08003e30 __gnu_Unwind_Resume
|
||||||
|
0x08003e78 __gnu_Unwind_Resume_or_Rethrow
|
||||||
|
0x08003e94 _Unwind_Complete
|
||||||
|
0x08003e98 _Unwind_DeleteException
|
||||||
|
0x08003ea8 _Unwind_VRS_Get
|
||||||
|
0x08003ef4 _Unwind_VRS_Set
|
||||||
|
0x08003f40 __gnu_Unwind_Backtrace
|
||||||
|
0x080042a0 __aeabi_unwind_cpp_pr0
|
||||||
|
0x080042ac __aeabi_unwind_cpp_pr1
|
||||||
|
0x080042b8 __aeabi_unwind_cpp_pr2
|
||||||
|
0x080042c4 _Unwind_VRS_Pop
|
||||||
|
.text 0x0800452c 0x144 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(libunwind.o)
|
||||||
|
0x0800452c __restore_core_regs
|
||||||
|
0x0800452c restore_core_regs
|
||||||
|
0x08004558 __gnu_Unwind_Restore_VFP
|
||||||
|
0x0800455c __gnu_Unwind_Save_VFP
|
||||||
|
0x08004560 __gnu_Unwind_Restore_VFP_D
|
||||||
|
0x08004564 __gnu_Unwind_Save_VFP_D
|
||||||
|
0x08004568 __gnu_Unwind_Restore_VFP_D_16_to_31
|
||||||
|
0x0800456c __gnu_Unwind_Save_VFP_D_16_to_31
|
||||||
|
0x08004570 __gnu_Unwind_Restore_WMMXD
|
||||||
|
0x08004574 __gnu_Unwind_Save_WMMXD
|
||||||
|
0x08004578 __gnu_Unwind_Restore_WMMXC
|
||||||
|
0x0800457c __gnu_Unwind_Save_WMMXC
|
||||||
|
0x08004580 ___Unwind_RaiseException
|
||||||
|
0x08004580 _Unwind_RaiseException
|
||||||
|
0x080045b0 _Unwind_Resume
|
||||||
|
0x080045b0 ___Unwind_Resume
|
||||||
|
0x080045e0 _Unwind_Resume_or_Rethrow
|
||||||
|
0x080045e0 ___Unwind_Resume_or_Rethrow
|
||||||
|
0x08004610 _Unwind_ForcedUnwind
|
||||||
|
0x08004610 ___Unwind_ForcedUnwind
|
||||||
|
0x08004640 ___Unwind_Backtrace
|
||||||
|
0x08004640 _Unwind_Backtrace
|
||||||
|
.text 0x08004670 0x3a8 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o)
|
||||||
|
0x080046c4 __gnu_unwind_execute
|
||||||
|
0x080049c0 __gnu_unwind_frame
|
||||||
|
0x080049e8 _Unwind_GetRegionStart
|
||||||
|
0x080049f4 _Unwind_GetLanguageSpecificData
|
||||||
|
0x08004a08 _Unwind_GetTextRelBase
|
||||||
|
0x08004a10 _Unwind_GetDataRelBase
|
||||||
|
.text.abort 0x08004a18 0x10 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o)
|
||||||
|
0x08004a18 abort
|
||||||
|
.text.memcpy 0x08004a28 0x84 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o)
|
||||||
|
0x08004a28 memcpy
|
||||||
.text._raise_r
|
.text._raise_r
|
||||||
0x08004adc 0x5c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o)
|
0x08004aac 0x5c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o)
|
||||||
0x08004adc _raise_r
|
0x08004aac _raise_r
|
||||||
.text.raise 0x08004b38 0x14 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o)
|
.text.raise 0x08004b08 0x14 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o)
|
||||||
0x08004b38 raise
|
0x08004b08 raise
|
||||||
.text._kill_r 0x08004b4c 0x28 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o)
|
.text._kill_r 0x08004b1c 0x28 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o)
|
||||||
0x08004b4c _kill_r
|
0x08004b1c _kill_r
|
||||||
.text._getpid_r
|
.text._getpid_r
|
||||||
0x08004b74 0x8 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o)
|
0x08004b44 0x8 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o)
|
||||||
0x08004b74 _getpid_r
|
0x08004b44 _getpid_r
|
||||||
.text._getpid 0x08004b7c 0x10 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o)
|
.text._getpid 0x08004b4c 0x10 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o)
|
||||||
0x08004b7c _getpid
|
0x08004b4c _getpid
|
||||||
.text._kill 0x08004b8c 0x10 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o)
|
.text._kill 0x08004b5c 0x10 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o)
|
||||||
0x08004b8c _kill
|
0x08004b5c _kill
|
||||||
.text._exit 0x08004b9c 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o)
|
.text._exit 0x08004b6c 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o)
|
||||||
0x08004b9c _exit
|
0x08004b6c _exit
|
||||||
.text 0x08004ba0 0x14 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o)
|
.text 0x08004b70 0x14 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o)
|
||||||
0x08004ba0 __gnu_thumb1_case_uqi
|
0x08004b70 __gnu_thumb1_case_uqi
|
||||||
.text 0x08004bb4 0x14 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_shi.o)
|
.text 0x08004b84 0x14 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_shi.o)
|
||||||
0x08004bb4 __gnu_thumb1_case_shi
|
0x08004b84 __gnu_thumb1_case_shi
|
||||||
.text 0x08004bc8 0x14 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o)
|
.text 0x08004b98 0x14 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o)
|
||||||
0x08004bc8 __gnu_thumb1_case_uhi
|
0x08004b98 __gnu_thumb1_case_uhi
|
||||||
*(.init)
|
*(.init)
|
||||||
.init 0x08004bdc 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crti.o
|
.init 0x08004bac 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crti.o
|
||||||
0x08004bdc _init
|
0x08004bac _init
|
||||||
*(.fini)
|
*(.fini)
|
||||||
.fini 0x08004be0 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crti.o
|
.fini 0x08004bb0 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crti.o
|
||||||
0x08004be0 _fini
|
0x08004bb0 _fini
|
||||||
*crtbegin.o(.ctors)
|
*crtbegin.o(.ctors)
|
||||||
*crtbegin?.o(.ctors)
|
*crtbegin?.o(.ctors)
|
||||||
*(EXCLUDE_FILE(*crtend.o *crtend?.o) .ctors)
|
*(EXCLUDE_FILE(*crtend.o *crtend?.o) .ctors)
|
||||||
|
|
@ -671,54 +670,54 @@ LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-
|
||||||
*(.dtors)
|
*(.dtors)
|
||||||
*(.rodata*)
|
*(.rodata*)
|
||||||
.rodata.config_desc
|
.rodata.config_desc
|
||||||
0x08004be4 0x12 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
0x08004bb4 0x12 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o
|
||||||
.rodata.device_desc
|
.rodata.device_desc
|
||||||
0x08004bf6 0x12 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
0x08004bc6 0x12 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o
|
||||||
.rodata.string0_desc
|
.rodata.string0_desc
|
||||||
0x08004c08 0x4 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
0x08004bd8 0x4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o
|
||||||
.rodata.string1_desc
|
.rodata.string1_desc
|
||||||
0x08004c0c 0x54 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
0x08004bdc 0x54 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o
|
||||||
.rodata.string2_desc
|
.rodata.string2_desc
|
||||||
0x08004c60 0x3c C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
0x08004c30 0x3c C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o
|
||||||
*(.eh_frame*)
|
*(.eh_frame*)
|
||||||
|
|
||||||
.glue_7 0x08004c9c 0x0
|
.glue_7 0x08004c6c 0x0
|
||||||
.glue_7 0x08004c9c 0x0 linker stubs
|
.glue_7 0x08004c6c 0x0 linker stubs
|
||||||
|
|
||||||
.glue_7t 0x08004c9c 0x0
|
.glue_7t 0x08004c6c 0x0
|
||||||
.glue_7t 0x08004c9c 0x0 linker stubs
|
.glue_7t 0x08004c6c 0x0 linker stubs
|
||||||
|
|
||||||
.vfp11_veneer 0x08004c9c 0x0
|
.vfp11_veneer 0x08004c6c 0x0
|
||||||
.vfp11_veneer 0x08004c9c 0x0 linker stubs
|
.vfp11_veneer 0x08004c6c 0x0 linker stubs
|
||||||
|
|
||||||
.v4_bx 0x08004c9c 0x0
|
.v4_bx 0x08004c6c 0x0
|
||||||
.v4_bx 0x08004c9c 0x0 linker stubs
|
.v4_bx 0x08004c6c 0x0 linker stubs
|
||||||
|
|
||||||
.iplt 0x08004c9c 0x0
|
.iplt 0x08004c6c 0x0
|
||||||
.iplt 0x08004c9c 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o
|
.iplt 0x08004c6c 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o
|
||||||
|
|
||||||
.ARM.extab 0x08004c9c 0x30
|
.ARM.extab 0x08004c6c 0x30
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
||||||
.ARM.extab 0x08004c9c 0x24 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o)
|
.ARM.extab 0x08004c6c 0x24 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o)
|
||||||
.ARM.extab 0x08004cc0 0xc c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o)
|
.ARM.extab 0x08004c90 0xc c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o)
|
||||||
0x08004ccc __exidx_start = .
|
0x08004c9c __exidx_start = .
|
||||||
|
|
||||||
.ARM.exidx 0x08004ccc 0xd0
|
.ARM.exidx 0x08004c9c 0xd0
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
||||||
.ARM.exidx 0x08004ccc 0x8 C:\Users\paul\AppData\Local\Temp\ccSIjLzW.o
|
.ARM.exidx 0x08004c9c 0x8 C:\Users\paul\AppData\Local\Temp\cci1eGxe.o
|
||||||
.ARM.exidx 0x08004cd4 0x0 C:\Users\paul\AppData\Local\Temp\cc2herkl.o
|
.ARM.exidx 0x08004ca4 0x0 C:\Users\paul\AppData\Local\Temp\ccUzNUgX.o
|
||||||
0x10 (size before relaxing)
|
0x10 (size before relaxing)
|
||||||
.ARM.exidx 0x08004cd4 0x98 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o)
|
.ARM.exidx 0x08004ca4 0x98 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o)
|
||||||
0xd8 (size before relaxing)
|
0xd8 (size before relaxing)
|
||||||
.ARM.exidx 0x08004d6c 0x30 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o)
|
.ARM.exidx 0x08004d3c 0x30 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o)
|
||||||
0x48 (size before relaxing)
|
0x48 (size before relaxing)
|
||||||
0x08004d9c __exidx_end = .
|
0x08004d6c __exidx_end = .
|
||||||
0x08004d9c __etext = ALIGN (0x4)
|
0x08004d6c __etext = ALIGN (0x4)
|
||||||
|
|
||||||
.rel.dyn 0x08004d9c 0x0
|
.rel.dyn 0x08004d6c 0x0
|
||||||
.rel.iplt 0x08004d9c 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o
|
.rel.iplt 0x08004d6c 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o
|
||||||
|
|
||||||
.data 0x20000000 0x430 load address 0x08004d9c
|
.data 0x20000000 0x430 load address 0x08004d6c
|
||||||
0x20000000 __data_start__ = .
|
0x20000000 __data_start__ = .
|
||||||
*(vtable)
|
*(vtable)
|
||||||
*(.data*)
|
*(.data*)
|
||||||
|
|
@ -746,87 +745,89 @@ LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-
|
||||||
0x20000430 . = ALIGN (0x4)
|
0x20000430 . = ALIGN (0x4)
|
||||||
0x20000430 __data_end__ = .
|
0x20000430 __data_end__ = .
|
||||||
|
|
||||||
.igot.plt 0x20000430 0x0 load address 0x080051cc
|
.igot.plt 0x20000430 0x0 load address 0x0800519c
|
||||||
.igot.plt 0x20000430 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o
|
.igot.plt 0x20000430 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o
|
||||||
|
|
||||||
.bss 0x20000430 0x2f0 load address 0x080051cc
|
.bss 0x20000430 0x2f0 load address 0x0800519c
|
||||||
0x20000430 . = ALIGN (0x4)
|
0x20000430 . = ALIGN (0x4)
|
||||||
0x20000430 __bss_start__ = .
|
0x20000430 __bss_start__ = .
|
||||||
*(.bss*)
|
*(.bss*)
|
||||||
.bss.addrh 0x20000430 0x4 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
.bss.addrh 0x20000430 0x4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
.bss.bank_table
|
.bss.bank_table
|
||||||
0x20000434 0x2 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
0x20000434 0x2 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
0x20000434 bank_table
|
0x20000434 bank_table
|
||||||
*fill* 0x20000436 0x2
|
*fill* 0x20000436 0x2
|
||||||
.bss.buff0 0x20000438 0x14 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
.bss.buff0 0x20000438 0x14 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
0x20000438 buff0
|
0x20000438 buff0
|
||||||
.bss.buff1 0x2000044c 0x14 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
.bss.buff1 0x2000044c 0x14 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
0x2000044c buff1
|
0x2000044c buff1
|
||||||
.bss.buff2 0x20000460 0x14 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
.bss.buff2 0x20000460 0x14 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
0x20000460 buff2
|
0x20000460 buff2
|
||||||
.bss.buff3 0x20000474 0x14 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
.bss.buff3 0x20000474 0x14 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
0x20000474 buff3
|
0x20000474 buff3
|
||||||
.bss.cur_bank 0x20000488 0x1 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
.bss.cur_bank 0x20000488 0x1 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
0x20000488 cur_bank
|
0x20000488 cur_bank
|
||||||
*fill* 0x20000489 0x3
|
*fill* 0x20000489 0x3
|
||||||
.bss.cur_buff 0x2000048c 0x4 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
.bss.cur_buff 0x2000048c 0x4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
0x2000048c cur_buff
|
0x2000048c cur_buff
|
||||||
.bss.cur_usb_load_buff
|
|
||||||
0x20000490 0x4 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
|
||||||
.bss.incoming_bytes_remain
|
|
||||||
0x20000494 0x1 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
|
||||||
*fill* 0x20000495 0x3
|
|
||||||
.bss.oper_info_struct
|
.bss.oper_info_struct
|
||||||
0x20000498 0x20 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
0x20000490 0x20 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
0x20000498 oper_info_struct
|
0x20000490 oper_info_struct
|
||||||
.bss.pbje_command
|
.bss.pbje_command
|
||||||
0x200004b8 0x1 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
0x200004b0 0x1 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
0x200004b8 pbje_command
|
0x200004b0 pbje_command
|
||||||
.bss.pbje_data
|
.bss.pbje_data
|
||||||
0x200004b9 0x20 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
0x200004b1 0x20 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
0x200004b9 pbje_data
|
0x200004b1 pbje_data
|
||||||
.bss.pbje_numclk
|
.bss.pbje_numclk
|
||||||
0x200004d9 0x1 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
0x200004d1 0x1 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
0x200004d9 pbje_numclk
|
0x200004d1 pbje_numclk
|
||||||
.bss.pbje_status
|
.bss.pbje_status
|
||||||
0x200004da 0x1 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
0x200004d2 0x1 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
0x200004da pbje_status
|
0x200004d2 pbje_status
|
||||||
.bss.raw_bank_status
|
.bss.raw_bank_status
|
||||||
0x200004db 0x10 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
0x200004d3 0x10 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
*fill* 0x200004eb 0x1
|
*fill* 0x200004e3 0x1
|
||||||
.bss.raw_buffer16
|
.bss.raw_buffer16
|
||||||
0x200004ec 0x200 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
0x200004e4 0x200 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
.bss.rv16.4995
|
.bss.rv16.4991
|
||||||
0x200006ec 0x8 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
0x200006e4 0x8 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
.bss.swim_base
|
.bss.swim_base
|
||||||
0x200006f4 0x4 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
0x200006ec 0x4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
0x200006f4 swim_base
|
0x200006ec swim_base
|
||||||
.bss.swim_pin 0x200006f8 0x1 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
.bss.swim_pin 0x200006f0 0x1 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
0x200006f8 swim_pin
|
0x200006f0 swim_pin
|
||||||
|
*fill* 0x200006f1 0x3
|
||||||
|
.bss.tck_base 0x200006f4 0x4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
|
0x200006f4 tck_base
|
||||||
|
.bss.tck_pin 0x200006f8 0x1 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
|
0x200006f8 tck_pin
|
||||||
*fill* 0x200006f9 0x3
|
*fill* 0x200006f9 0x3
|
||||||
.bss.tck_base 0x200006fc 0x4 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
.bss.tdi_base 0x200006fc 0x4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
0x200006fc tck_base
|
0x200006fc tdi_base
|
||||||
.bss.tck_pin 0x20000700 0x1 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
.bss.tdi_pin 0x20000700 0x1 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
0x20000700 tck_pin
|
0x20000700 tdi_pin
|
||||||
*fill* 0x20000701 0x3
|
*fill* 0x20000701 0x3
|
||||||
.bss.tdi_base 0x20000704 0x4 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
.bss.tdo_base 0x20000704 0x4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
0x20000704 tdi_base
|
0x20000704 tdo_base
|
||||||
.bss.tdi_pin 0x20000708 0x1 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
.bss.tdo_pin 0x20000708 0x1 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
0x20000708 tdi_pin
|
0x20000708 tdo_pin
|
||||||
*fill* 0x20000709 0x3
|
*fill* 0x20000709 0x3
|
||||||
.bss.tdo_base 0x2000070c 0x4 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
.bss.tms_base 0x2000070c 0x4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
0x2000070c tdo_base
|
0x2000070c tms_base
|
||||||
.bss.tdo_pin 0x20000710 0x1 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
.bss.tms_pin 0x20000710 0x1 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
0x20000710 tdo_pin
|
0x20000710 tms_pin
|
||||||
*fill* 0x20000711 0x3
|
.bss.num_buff.5071
|
||||||
.bss.tms_base 0x20000714 0x4 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
0x20000711 0x1 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o
|
||||||
0x20000714 tms_base
|
*fill* 0x20000712 0x2
|
||||||
.bss.tms_pin 0x20000718 0x1 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
.bss.cur_usb_load_buff
|
||||||
0x20000718 tms_pin
|
0x20000714 0x4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o
|
||||||
.bss.num_buff.5075
|
0x20000714 cur_usb_load_buff
|
||||||
0x20000719 0x1 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o
|
.bss.incoming_bytes_remain
|
||||||
|
0x20000718 0x1 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o
|
||||||
|
0x20000718 incoming_bytes_remain
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
*fill* 0x2000071a 0x2
|
*fill* 0x20000719 0x3
|
||||||
COMMON 0x2000071c 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o)
|
COMMON 0x2000071c 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o)
|
||||||
0x2000071c errno
|
0x2000071c errno
|
||||||
0x20000720 . = ALIGN (0x4)
|
0x20000720 . = ALIGN (0x4)
|
||||||
|
|
@ -836,12 +837,12 @@ LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-
|
||||||
0x20000720 __end__ = .
|
0x20000720 __end__ = .
|
||||||
0x20000720 PROVIDE (end, .)
|
0x20000720 PROVIDE (end, .)
|
||||||
*(.heap*)
|
*(.heap*)
|
||||||
.heap 0x20000720 0x0 C:\Users\paul\AppData\Local\Temp\cc6pRmhD.o
|
.heap 0x20000720 0x0 C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o
|
||||||
0x20000720 __HeapLimit = .
|
0x20000720 __HeapLimit = .
|
||||||
|
|
||||||
.stack_dummy 0x20000720 0xc00
|
.stack_dummy 0x20000720 0xc00
|
||||||
*(.stack*)
|
*(.stack*)
|
||||||
.stack 0x20000720 0xc00 C:\Users\paul\AppData\Local\Temp\cc6pRmhD.o
|
.stack 0x20000720 0xc00 C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o
|
||||||
0x20001800 __StackTop = (ORIGIN (RAM) + LENGTH (RAM))
|
0x20001800 __StackTop = (ORIGIN (RAM) + LENGTH (RAM))
|
||||||
0x20000c00 __StackLimit = (__StackTop - SIZEOF (.stack_dummy))
|
0x20000c00 __StackLimit = (__StackTop - SIZEOF (.stack_dummy))
|
||||||
0x20001800 PROVIDE (__stack, __StackTop)
|
0x20001800 PROVIDE (__stack, __StackTop)
|
||||||
|
|
@ -853,19 +854,19 @@ OUTPUT(build_stm/inlretro_stm.elf elf32-littlearm)
|
||||||
.ARM.attributes
|
.ARM.attributes
|
||||||
0x00000000 0x1e c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crti.o
|
0x00000000 0x1e c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crti.o
|
||||||
.ARM.attributes
|
.ARM.attributes
|
||||||
0x0000001e 0x1b C:\Users\paul\AppData\Local\Temp\cc6pRmhD.o
|
0x0000001e 0x1b C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o
|
||||||
.ARM.attributes
|
.ARM.attributes
|
||||||
0x00000039 0x2f C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
0x00000039 0x2f C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
.ARM.attributes
|
.ARM.attributes
|
||||||
0x00000068 0x2f C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o
|
0x00000068 0x2f C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o
|
||||||
.ARM.attributes
|
.ARM.attributes
|
||||||
0x00000097 0x2f C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
0x00000097 0x2f C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
.ARM.attributes
|
.ARM.attributes
|
||||||
0x000000c6 0x2f C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o
|
0x000000c6 0x2f C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o
|
||||||
.ARM.attributes
|
.ARM.attributes
|
||||||
0x000000f5 0x21 C:\Users\paul\AppData\Local\Temp\ccSIjLzW.o
|
0x000000f5 0x21 C:\Users\paul\AppData\Local\Temp\cci1eGxe.o
|
||||||
.ARM.attributes
|
.ARM.attributes
|
||||||
0x00000116 0x21 C:\Users\paul\AppData\Local\Temp\cc2herkl.o
|
0x00000116 0x21 C:\Users\paul\AppData\Local\Temp\ccUzNUgX.o
|
||||||
.ARM.attributes
|
.ARM.attributes
|
||||||
0x00000137 0x1e c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o)
|
0x00000137 0x1e c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o)
|
||||||
.ARM.attributes
|
.ARM.attributes
|
||||||
|
|
@ -874,82 +875,82 @@ OUTPUT(build_stm/inlretro_stm.elf elf32-littlearm)
|
||||||
0x00000173 0x1e c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o)
|
0x00000173 0x1e c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o)
|
||||||
|
|
||||||
.comment 0x00000000 0x6e
|
.comment 0x00000000 0x6e
|
||||||
.comment 0x00000000 0x6e C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
.comment 0x00000000 0x6e C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
0x6f (size before relaxing)
|
0x6f (size before relaxing)
|
||||||
.comment 0x0000006e 0x6f C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o
|
.comment 0x0000006e 0x6f C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o
|
||||||
.comment 0x0000006e 0x6f C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
.comment 0x0000006e 0x6f C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
.comment 0x0000006e 0x6f C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o
|
.comment 0x0000006e 0x6f C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o
|
||||||
|
|
||||||
.debug_line 0x00000000 0x1b68
|
.debug_line 0x00000000 0x1ba6
|
||||||
.debug_line 0x00000000 0x6f C:\Users\paul\AppData\Local\Temp\cc6pRmhD.o
|
.debug_line 0x00000000 0x6f C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o
|
||||||
.debug_line 0x0000006f 0xaf7 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
.debug_line 0x0000006f 0xa1e C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
.debug_line 0x00000b66 0x816 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o
|
.debug_line 0x00000a8d 0x6fe C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o
|
||||||
.debug_line 0x0000137c 0x44d C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
.debug_line 0x0000118b 0x4a9 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
.debug_line 0x000017c9 0x263 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o
|
.debug_line 0x00001634 0x436 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o
|
||||||
.debug_line 0x00001a2c 0x49 C:\Users\paul\AppData\Local\Temp\ccSIjLzW.o
|
.debug_line 0x00001a6a 0x49 C:\Users\paul\AppData\Local\Temp\cci1eGxe.o
|
||||||
.debug_line 0x00001a75 0xf3 C:\Users\paul\AppData\Local\Temp\cc2herkl.o
|
.debug_line 0x00001ab3 0xf3 C:\Users\paul\AppData\Local\Temp\ccUzNUgX.o
|
||||||
|
|
||||||
.debug_info 0x00000000 0x46d7
|
.debug_info 0x00000000 0x4757
|
||||||
.debug_info 0x00000000 0x9b C:\Users\paul\AppData\Local\Temp\cc6pRmhD.o
|
.debug_info 0x00000000 0x9b C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o
|
||||||
.debug_info 0x0000009b 0x17a1 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
.debug_info 0x0000009b 0x149a C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
.debug_info 0x0000183c 0x175a C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o
|
.debug_info 0x00001535 0x14bf C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o
|
||||||
.debug_info 0x00002f96 0xffb C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
.debug_info 0x000029f4 0x11f2 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
.debug_info 0x00003f91 0x61a C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o
|
.debug_info 0x00003be6 0xa45 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o
|
||||||
.debug_info 0x000045ab 0x98 C:\Users\paul\AppData\Local\Temp\ccSIjLzW.o
|
.debug_info 0x0000462b 0x98 C:\Users\paul\AppData\Local\Temp\cci1eGxe.o
|
||||||
.debug_info 0x00004643 0x94 C:\Users\paul\AppData\Local\Temp\cc2herkl.o
|
.debug_info 0x000046c3 0x94 C:\Users\paul\AppData\Local\Temp\ccUzNUgX.o
|
||||||
|
|
||||||
.debug_abbrev 0x00000000 0xb18
|
.debug_abbrev 0x00000000 0xbe3
|
||||||
.debug_abbrev 0x00000000 0x14 C:\Users\paul\AppData\Local\Temp\cc6pRmhD.o
|
.debug_abbrev 0x00000000 0x14 C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o
|
||||||
.debug_abbrev 0x00000014 0x35d C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
.debug_abbrev 0x00000014 0x31e C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
.debug_abbrev 0x00000371 0x40f C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o
|
.debug_abbrev 0x00000332 0x3b2 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o
|
||||||
.debug_abbrev 0x00000780 0x1ce C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
.debug_abbrev 0x000006e4 0x190 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
.debug_abbrev 0x0000094e 0x1a2 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o
|
.debug_abbrev 0x00000874 0x347 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o
|
||||||
.debug_abbrev 0x00000af0 0x14 C:\Users\paul\AppData\Local\Temp\ccSIjLzW.o
|
.debug_abbrev 0x00000bbb 0x14 C:\Users\paul\AppData\Local\Temp\cci1eGxe.o
|
||||||
.debug_abbrev 0x00000b04 0x14 C:\Users\paul\AppData\Local\Temp\cc2herkl.o
|
.debug_abbrev 0x00000bcf 0x14 C:\Users\paul\AppData\Local\Temp\ccUzNUgX.o
|
||||||
|
|
||||||
.debug_aranges 0x00000000 0x218
|
.debug_aranges 0x00000000 0x228
|
||||||
.debug_aranges
|
.debug_aranges
|
||||||
0x00000000 0x20 C:\Users\paul\AppData\Local\Temp\cc6pRmhD.o
|
0x00000000 0x20 C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o
|
||||||
.debug_aranges
|
.debug_aranges
|
||||||
0x00000020 0x20 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
0x00000020 0x20 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
.debug_aranges
|
.debug_aranges
|
||||||
0x00000040 0x88 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o
|
0x00000040 0x60 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o
|
||||||
.debug_aranges
|
.debug_aranges
|
||||||
0x000000c8 0xd0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
0x000000a0 0xe8 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
.debug_aranges
|
.debug_aranges
|
||||||
0x00000198 0x40 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o
|
0x00000188 0x60 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o
|
||||||
.debug_aranges
|
.debug_aranges
|
||||||
0x000001d8 0x20 C:\Users\paul\AppData\Local\Temp\ccSIjLzW.o
|
0x000001e8 0x20 C:\Users\paul\AppData\Local\Temp\cci1eGxe.o
|
||||||
.debug_aranges
|
.debug_aranges
|
||||||
0x000001f8 0x20 C:\Users\paul\AppData\Local\Temp\cc2herkl.o
|
0x00000208 0x20 C:\Users\paul\AppData\Local\Temp\ccUzNUgX.o
|
||||||
|
|
||||||
.debug_loc 0x00000000 0x45b6
|
.debug_loc 0x00000000 0x4958
|
||||||
.debug_loc 0x00000000 0x27eb C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
.debug_loc 0x00000000 0x2b56 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
.debug_loc 0x000027eb 0x1095 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o
|
.debug_loc 0x00002b56 0xdec C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o
|
||||||
.debug_loc 0x00003880 0x922 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
.debug_loc 0x00003942 0xa3f C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
.debug_loc 0x000041a2 0x414 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o
|
.debug_loc 0x00004381 0x5d7 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o
|
||||||
|
|
||||||
.debug_ranges 0x00000000 0x1748
|
.debug_ranges 0x00000000 0xc70
|
||||||
.debug_ranges 0x00000000 0x13c8 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
.debug_ranges 0x00000000 0x840 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
.debug_ranges 0x000013c8 0x270 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o
|
.debug_ranges 0x00000840 0x230 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o
|
||||||
.debug_ranges 0x00001638 0xc0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
.debug_ranges 0x00000a70 0xd8 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
.debug_ranges 0x000016f8 0x50 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o
|
.debug_ranges 0x00000b48 0x128 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o
|
||||||
|
|
||||||
.debug_str 0x00000000 0xdcb
|
.debug_str 0x00000000 0xdd5
|
||||||
.debug_str 0x00000000 0x872 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
.debug_str 0x00000000 0x76d C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
0x8d7 (size before relaxing)
|
0x7d2 (size before relaxing)
|
||||||
.debug_str 0x00000872 0x268 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o
|
.debug_str 0x0000076d 0x22c C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o
|
||||||
0x52b (size before relaxing)
|
0x4c5 (size before relaxing)
|
||||||
.debug_str 0x00000ada 0x1d2 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
.debug_str 0x00000999 0x1c7 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
0x3e8 (size before relaxing)
|
0x3e2 (size before relaxing)
|
||||||
.debug_str 0x00000cac 0x11f C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o
|
.debug_str 0x00000b60 0x275 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o
|
||||||
0x39d (size before relaxing)
|
0x555 (size before relaxing)
|
||||||
|
|
||||||
.debug_frame 0x00000000 0x4c0
|
.debug_frame 0x00000000 0x4fc
|
||||||
.debug_frame 0x00000000 0x30 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans0.ltrans.o
|
.debug_frame 0x00000000 0x30 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o
|
||||||
.debug_frame 0x00000030 0x174 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans1.ltrans.o
|
.debug_frame 0x00000030 0x118 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o
|
||||||
.debug_frame 0x000001a4 0x26c C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans2.ltrans.o
|
.debug_frame 0x00000148 0x2a0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o
|
||||||
.debug_frame 0x00000410 0xb0 C:\Users\paul\AppData\Local\Temp\ccKkt1EM.ltrans3.ltrans.o
|
.debug_frame 0x000003e8 0x114 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o
|
||||||
|
|
||||||
.stabstr 0x00000000 0x76
|
.stabstr 0x00000000 0x76
|
||||||
.stabstr 0x00000000 0x76 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o)
|
.stabstr 0x00000000 0x76 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o)
|
||||||
|
|
|
||||||
|
|
@ -80,10 +80,32 @@ int main(void)
|
||||||
RCC->CFGR = (RCC->CFGR & ~RCC_CFGR_SW) | RCC_CFGR_SW_PLL;
|
RCC->CFGR = (RCC->CFGR & ~RCC_CFGR_SW) | RCC_CFGR_SW_PLL;
|
||||||
|
|
||||||
//Initialize periphery clocks as needed
|
//Initialize periphery clocks as needed
|
||||||
|
//tried to have this done but usb code but wasn't working..
|
||||||
|
//having the main handle this prob makes more sense anyway, but would like to know
|
||||||
|
//why this didn't work..
|
||||||
init_usb_clock();
|
init_usb_clock();
|
||||||
|
|
||||||
//Initialize WDT, core features, etc
|
|
||||||
|
|
||||||
|
//init_usb();
|
||||||
|
//don't call the USB code directly,
|
||||||
|
//instead set the usb flag to tell it to initialize then jump to the USB ISR
|
||||||
|
//we know where the USB ISR is because of the vector table
|
||||||
|
usbflag = INITUSB;
|
||||||
|
|
||||||
|
typedef void (*pFunction)(void);
|
||||||
|
pFunction JumpToApplication;
|
||||||
|
//interrupts should already be disabled
|
||||||
|
JumpToApplication = (void (*)(void)) (*((uint32_t *) ((0x000000BC)))); //USB ISR vector location
|
||||||
|
|
||||||
|
//Jump to the USB ISR
|
||||||
|
JumpToApplication();
|
||||||
|
|
||||||
|
//set the usb_buff ram function pointers to USB ISR can use them
|
||||||
|
usbfuncwrite = (uint32_t) &usbFunctionWrite; //should only assign lower 16bits
|
||||||
|
usbfuncsetup = (uint32_t) &usbFunctionSetup; //should only assign lower 16bits
|
||||||
|
|
||||||
|
//Initialize WDT, core features, etc
|
||||||
|
|
||||||
//enable interrupts
|
//enable interrupts
|
||||||
__enable_irq(); //clear's processor PRIMASK register bit to allow interrupts to be taken
|
__enable_irq(); //clear's processor PRIMASK register bit to allow interrupts to be taken
|
||||||
//I think this gets done automatically when enabling individual IRQs
|
//I think this gets done automatically when enabling individual IRQs
|
||||||
|
|
@ -92,8 +114,7 @@ int main(void)
|
||||||
//setup LED as outputs and turn them on
|
//setup LED as outputs and turn them on
|
||||||
//setup user switch as input
|
//setup user switch as input
|
||||||
|
|
||||||
init_usb();
|
|
||||||
//Initialize board/system
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,10 @@
|
||||||
USB_PUBLIC usbMsgLen_t usbFunctionSetup(uchar data[8]) {
|
USB_PUBLIC usbMsgLen_t usbFunctionSetup(uchar data[8]) {
|
||||||
#endif
|
#endif
|
||||||
#ifdef STM_CORE
|
#ifdef STM_CORE
|
||||||
uint16_t usbFunctionSetup(uint8_t data[8]) {
|
#define NOINLINE __attribute__ ((section (".text"), noinline, noclone))
|
||||||
|
//NOINLINE should keep these functions at beinging of flash (.text)
|
||||||
|
//they need to be in the first 64KByte which is non issue with C6, but could prob with RB
|
||||||
|
NOINLINE uint16_t usbFunctionSetup(uint8_t data[8]) {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -274,8 +277,9 @@ uint16_t usbFunctionSetup(uint8_t data[8]) {
|
||||||
#ifdef AVR_CORE
|
#ifdef AVR_CORE
|
||||||
USB_PUBLIC uchar usbFunctionWrite(uchar *data, uchar len) {
|
USB_PUBLIC uchar usbFunctionWrite(uchar *data, uchar len) {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef STM_CORE
|
#ifdef STM_CORE
|
||||||
uint8_t usbFunctionWrite(uint8_t *data, uint8_t len) {
|
NOINLINE uint8_t usbFunctionWrite(uint8_t *data, uint8_t len) {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//defined and controled by buffer.c
|
//defined and controled by buffer.c
|
||||||
|
|
|
||||||
|
|
@ -230,3 +230,39 @@ void init_clock()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//pick define based on xtal setup for init_clock and init_usb_clock functions
|
||||||
|
//#define NO_XTAL
|
||||||
|
#define EXTERNAL_XTAL
|
||||||
|
void init_usb_clock()
|
||||||
|
{
|
||||||
|
// stm32f0x2 devices have HSI 48Mhz available to clock usb block, or PLL if it's source accurate enough
|
||||||
|
// stm32f0x0 devices must have ext xtal and use PLL output to drive usb block
|
||||||
|
|
||||||
|
#ifdef EXTERNAL_XTAL
|
||||||
|
//by default the 072 has HSI 48Mhz selected as USB clock
|
||||||
|
//on the 070 this equates to off, so 070 must set USBSW bit
|
||||||
|
RCC->CFGR3 |= RCC_CFGR3_USBSW_PLLCLK;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef NO_XTAL
|
||||||
|
//Turn on HSI48 supposedly it will turn itself on if USB is enabled with HSI48 selected as clock
|
||||||
|
RCC->CR2 |= RCC_CR2_HSI48ON;
|
||||||
|
|
||||||
|
while ((RCC->CR2 & RCC_CR2_HSI48RDY) != RCC_CR2_HSI48RDY) /* (10) Wait until the HSI48 is stable */
|
||||||
|
{ /* For robust implementation, add here time-out management */ }
|
||||||
|
|
||||||
|
//by default the 072 has HSI 48Mhz selected as USB clock
|
||||||
|
RCC->CFGR3 &= ~RCC_CFGR3_USBSW_Msk;
|
||||||
|
//on the 070 this equates to off, so 070 must set USBSW bit
|
||||||
|
//CRS system must be turned on to keep HSI 48Mhz calibrated
|
||||||
|
RCC->APB1ENR |= RCC_APB1ENR_CRSEN;
|
||||||
|
//Default settings are good using SOF packets for calibration
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//enable USB block by providing clock
|
||||||
|
RCC->APB1ENR |= RCC_APB1ENR_USBEN;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,4 +2,5 @@
|
||||||
#include <stm32f0xx.h>
|
#include <stm32f0xx.h>
|
||||||
|
|
||||||
void init_clock();
|
void init_clock();
|
||||||
|
void init_usb_clock();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,42 +6,6 @@
|
||||||
//since usb drivers don't use any .data nor .bss space
|
//since usb drivers don't use any .data nor .bss space
|
||||||
//static int log = 0;
|
//static int log = 0;
|
||||||
|
|
||||||
//pick define based on xtal setup for init_clock and init_usb_clock functions
|
|
||||||
//#define NO_XTAL
|
|
||||||
#define EXTERNAL_XTAL
|
|
||||||
void init_usb_clock()
|
|
||||||
{
|
|
||||||
// stm32f0x2 devices have HSI 48Mhz available to clock usb block, or PLL if it's source accurate enough
|
|
||||||
// stm32f0x0 devices must have ext xtal and use PLL output to drive usb block
|
|
||||||
|
|
||||||
#ifdef EXTERNAL_XTAL
|
|
||||||
//by default the 072 has HSI 48Mhz selected as USB clock
|
|
||||||
//on the 070 this equates to off, so 070 must set USBSW bit
|
|
||||||
RCC->CFGR3 |= RCC_CFGR3_USBSW_PLLCLK;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef NO_XTAL
|
|
||||||
//Turn on HSI48 supposedly it will turn itself on if USB is enabled with HSI48 selected as clock
|
|
||||||
RCC->CR2 |= RCC_CR2_HSI48ON;
|
|
||||||
|
|
||||||
while ((RCC->CR2 & RCC_CR2_HSI48RDY) != RCC_CR2_HSI48RDY) /* (10) Wait until the HSI48 is stable */
|
|
||||||
{ /* For robust implementation, add here time-out management */ }
|
|
||||||
|
|
||||||
//by default the 072 has HSI 48Mhz selected as USB clock
|
|
||||||
RCC->CFGR3 &= ~RCC_CFGR3_USBSW_Msk;
|
|
||||||
//on the 070 this equates to off, so 070 must set USBSW bit
|
|
||||||
//CRS system must be turned on to keep HSI 48Mhz calibrated
|
|
||||||
RCC->APB1ENR |= RCC_APB1ENR_CRSEN;
|
|
||||||
//Default settings are good using SOF packets for calibration
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//enable USB block by providing clock
|
|
||||||
RCC->APB1ENR |= RCC_APB1ENR_USBEN;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void usb_reset_recovery(){
|
void usb_reset_recovery(){
|
||||||
|
|
||||||
// USB->CNTR |= USB_CNTR_FRES;
|
// USB->CNTR |= USB_CNTR_FRES;
|
||||||
|
|
@ -206,10 +170,13 @@ uint16_t volatile (* const usb_buff) = (void*)USB_PMAADDR;
|
||||||
|
|
||||||
//static uint16_t num_bytes_req;
|
//static uint16_t num_bytes_req;
|
||||||
#define num_bytes_req usb_buff[NUM_BYTES_REQ] //place this variable in USB RAM
|
#define num_bytes_req usb_buff[NUM_BYTES_REQ] //place this variable in USB RAM
|
||||||
|
|
||||||
//static uint16_t num_bytes_sending;
|
//static uint16_t num_bytes_sending;
|
||||||
#define num_bytes_sending usb_buff[NUM_BYTES_SENDING] //place this variable in USB RAM
|
#define num_bytes_sending usb_buff[NUM_BYTES_SENDING] //place this variable in USB RAM
|
||||||
|
|
||||||
//static uint16_t num_bytes_expecting; //this was never used, so it was cut
|
//static uint16_t num_bytes_expecting; //this was never used, so it was cut
|
||||||
//#define num_bytes_expecting usb_buff[NUM_BYTES_EXPECTING] //place this variable in USB RAM
|
//#define num_bytes_expecting usb_buff[NUM_BYTES_EXPECTING] //place this variable in USB RAM
|
||||||
|
|
||||||
//static uint16_t num_bytes_xfrd;
|
//static uint16_t num_bytes_xfrd;
|
||||||
#define num_bytes_xfrd usb_buff[NUM_BYTES_XFRD] //place this variable in USB RAM
|
#define num_bytes_xfrd usb_buff[NUM_BYTES_XFRD] //place this variable in USB RAM
|
||||||
|
|
||||||
|
|
@ -228,7 +195,6 @@ uint16_t volatile (* const usb_buff) = (void*)USB_PMAADDR;
|
||||||
#define newaddr_reqtype usb_buff[NEWADDR_REQTYPE] //place this variable in USB RAM
|
#define newaddr_reqtype usb_buff[NEWADDR_REQTYPE] //place this variable in USB RAM
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//static uint8_t req_dir;
|
//static uint8_t req_dir;
|
||||||
#define req_dir usb_buff[VAR_REQ_DIR] //place this variable in USB RAM
|
#define req_dir usb_buff[VAR_REQ_DIR] //place this variable in USB RAM
|
||||||
|
|
||||||
|
|
@ -240,9 +206,15 @@ uint16_t volatile (* const usb_buff) = (void*)USB_PMAADDR;
|
||||||
|
|
||||||
//#define TSSOP20 //defined when using TSSOP-20 part to get PA11/12 alternate mapping to the pins
|
//#define TSSOP20 //defined when using TSSOP-20 part to get PA11/12 alternate mapping to the pins
|
||||||
|
|
||||||
|
//prereq: USB block's clock must be initialized prior to calling
|
||||||
void init_usb()
|
void init_usb()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
//initialize the clock
|
||||||
|
//init_usb_clock();
|
||||||
|
//couldn't get this to work for some reason..
|
||||||
|
//leaving it up to the main to turn on the USB clock
|
||||||
|
|
||||||
//clear variables stored in USB ram since can't rely on .bss clearning them anymore
|
//clear variables stored in USB ram since can't rely on .bss clearning them anymore
|
||||||
//Don't think most of these actually need to be cleared.. newaddr_reqtype might be only one..
|
//Don't think most of these actually need to be cleared.. newaddr_reqtype might be only one..
|
||||||
num_bytes_req = 0;
|
num_bytes_req = 0;
|
||||||
|
|
@ -769,7 +741,22 @@ static void control_xfr_init( usbRequest_t *spacket ) {
|
||||||
//setup packets not handled by standard requests sent to usbFunctionSetup (just like Vusb)
|
//setup packets not handled by standard requests sent to usbFunctionSetup (just like Vusb)
|
||||||
if ((spacket->bmRequestType & REQ_TYPE_MASK) != REQ_TYPE_STD) {
|
if ((spacket->bmRequestType & REQ_TYPE_MASK) != REQ_TYPE_STD) {
|
||||||
//function must set usbMsgPtr to point to return data for IN transfers
|
//function must set usbMsgPtr to point to return data for IN transfers
|
||||||
num_bytes_sending = usbFunctionSetup( (uint8_t*) spacket );
|
//num_bytes_sending = usbFunctionSetup( (uint8_t*) spacket );
|
||||||
|
|
||||||
|
//the above worked great for a long time..
|
||||||
|
//but now I want to separate application code from usb code for firmware updates
|
||||||
|
//to do this the usb code can't directly call application code (usbFunction Setup/Write)
|
||||||
|
//need the application code to tell the usb code where the functions are using variables
|
||||||
|
|
||||||
|
//call the usbFunctionSetup function with some function pointer magic
|
||||||
|
typedef uint16_t (*pFunction)(uint8_t data[8]);
|
||||||
|
pFunction JumpToApplication;
|
||||||
|
JumpToApplication = (uint16_t (*)(uint8_t data[8])) ((0x08000000)); //base of flash
|
||||||
|
//application main makes the following assignment at powerup
|
||||||
|
//usbfuncsetup = (uint32_t) &usbFunctionSetup; //should only assign lower 16bits
|
||||||
|
JumpToApplication += usbfuncsetup;
|
||||||
|
|
||||||
|
num_bytes_sending = JumpToApplication( (uint8_t*) spacket );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -863,6 +850,7 @@ static void control_xfr_init( usbRequest_t *spacket ) {
|
||||||
//control_xfr_out();
|
//control_xfr_out();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -881,6 +869,20 @@ static void control_xfr_init( usbRequest_t *spacket ) {
|
||||||
void USB_IRQHandler(void)
|
void USB_IRQHandler(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
//communications between application code & USB to prevent direct calls
|
||||||
|
//USB interrupts should probably be disabled when getting things done in this manner..
|
||||||
|
if (usbflag) {
|
||||||
|
//IDK if checking for it to be clear before switching will result in faster code or not..
|
||||||
|
switch (usbflag) {
|
||||||
|
case INITUSB:
|
||||||
|
init_usb(); break;
|
||||||
|
}
|
||||||
|
//clear the flag so don't come back for same request
|
||||||
|
//TODO think this trough to make sure other IRQ triggers aren't going to mess this up..
|
||||||
|
//perhaps we need to disable irq's while performing these flaging operations..
|
||||||
|
usbflag = 0x0000;
|
||||||
|
}
|
||||||
|
|
||||||
//all interrupts enabled by USB_CNTR, plus any successful rx/tx to an endpoint triggers this ISR
|
//all interrupts enabled by USB_CNTR, plus any successful rx/tx to an endpoint triggers this ISR
|
||||||
|
|
||||||
//should be our goal to get out of this ISR asap, signal the transaction to the main thread
|
//should be our goal to get out of this ISR asap, signal the transaction to the main thread
|
||||||
|
|
@ -947,7 +949,20 @@ void USB_IRQHandler(void)
|
||||||
// if ( log >= LOG_COUNT) { DEBUG_HI(); DEBUG_LO(); }
|
// if ( log >= LOG_COUNT) { DEBUG_HI(); DEBUG_LO(); }
|
||||||
//number of bytes received is denoted in USB_COUNTn_RX buffer table
|
//number of bytes received is denoted in USB_COUNTn_RX buffer table
|
||||||
//control_xfr_out();
|
//control_xfr_out();
|
||||||
usbFunctionWrite((uint8_t*) &usb_buff[EP0_RX_BASE], (usb_buff[USB_COUNT0_RX] & RX_COUNT_MSK));
|
//usbFunctionWrite((uint8_t*) &usb_buff[EP0_RX_BASE], (usb_buff[USB_COUNT0_RX] & RX_COUNT_MSK));
|
||||||
|
|
||||||
|
//usb code doesn't know where usbFunctionWrite is at build time
|
||||||
|
//must use usb_buff variables as function pointers, but they're only 16bit
|
||||||
|
|
||||||
|
//function pointer magic
|
||||||
|
typedef uint8_t (*pFunction)(uint8_t *data, uint8_t len);
|
||||||
|
pFunction JumpToApplication;
|
||||||
|
JumpToApplication = (uint8_t (*)(uint8_t *data, uint8_t len)) ((0x08000000)); //Base of flash
|
||||||
|
//application main makes the following assignment at powerup
|
||||||
|
//usbfuncwrite = (uint32_t) &usbFunctionWrite; //should only assign lower 16bits
|
||||||
|
JumpToApplication += usbfuncwrite; //must be within first 64KByte of flash
|
||||||
|
JumpToApplication((uint8_t*) &usb_buff[EP0_RX_BASE], (usb_buff[USB_COUNT0_RX] & RX_COUNT_MSK));
|
||||||
|
|
||||||
USB_EP0R_RX_VALID();
|
USB_EP0R_RX_VALID();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -87,12 +87,23 @@
|
||||||
//usbstm only uses the stack and usb_buff ram table
|
//usbstm only uses the stack and usb_buff ram table
|
||||||
//There are 2 bytes unused, perhaps these can be utilized for initialization flags or other communication between
|
//There are 2 bytes unused, perhaps these can be utilized for initialization flags or other communication between
|
||||||
//usb driver and application code
|
//usb driver and application code
|
||||||
|
#define USBFLAG 7
|
||||||
|
#define usbflag usb_buff[USBFLAG] //used for communication between USB driver and main application
|
||||||
|
//different values for usbflag
|
||||||
|
// 0x0000 reserved for flag cleared
|
||||||
|
#define INITUSB 0xA53C
|
||||||
|
|
||||||
|
//need 4 bytes for setup & write functions, bump the BTABLE another 8Bytes for now...
|
||||||
|
#define USBFUNCSETUP 8
|
||||||
|
#define usbfuncsetup usb_buff[USBFUNCSETUP]
|
||||||
|
#define USBFUNCWRITE 9
|
||||||
|
#define usbfuncwrite usb_buff[USBFUNCWRITE]
|
||||||
|
|
||||||
|
|
||||||
//buffer table itself is located in 1KB buffer above, but it's location is programmable
|
//buffer table itself is located in 1KB buffer above, but it's location is programmable
|
||||||
//the table must be aligned to an 8Byte boundary
|
//the table must be aligned to an 8Byte boundary
|
||||||
//#define USB_BTABLE_ADDR ((uint16_t) 0x0000) //least 3 significant bits are forced to zero
|
//#define USB_BTABLE_ADDR ((uint16_t) 0x0000) //least 3 significant bits are forced to zero
|
||||||
#define USB_BTABLE_ADDR ((uint16_t) 0x0010) //this skips the first 16Bytes of usb buffer so can be used for vars above
|
#define USB_BTABLE_ADDR ((uint16_t) 0x0018) //this skips the first 16+8Bytes of usb buffer so can be used for vars above
|
||||||
#define USB_BTABLE_BASE USB_BTABLE_ADDR/2 //The base index is in 16bit half words
|
#define USB_BTABLE_BASE USB_BTABLE_ADDR/2 //The base index is in 16bit half words
|
||||||
#define USB_BTABLE_SIZE 64 //32x 16bit halfwords
|
#define USB_BTABLE_SIZE 64 //32x 16bit halfwords
|
||||||
//NOTE!!! ADDR is the 8bit "BYTE" address, BASE is the index of the usb_buff array
|
//NOTE!!! ADDR is the 8bit "BYTE" address, BASE is the index of the usb_buff array
|
||||||
|
|
@ -273,13 +284,14 @@ extern uint16_t volatile (* const usb_buff);
|
||||||
#define usbMsgPtr_L usb_buff[USBMSGPTR_L] //place this variable in USB RAM
|
#define usbMsgPtr_L usb_buff[USBMSGPTR_L] //place this variable in USB RAM
|
||||||
#define usbMsgPtr_H usb_buff[USBMSGPTR_H] //place this variable in USB RAM
|
#define usbMsgPtr_H usb_buff[USBMSGPTR_H] //place this variable in USB RAM
|
||||||
|
|
||||||
|
//These declarations are solely for compilation purposes of usb code so it knows what
|
||||||
|
//these functions contained in the application code look like
|
||||||
extern uint16_t usbFunctionSetup(uint8_t data[8]);
|
extern uint16_t usbFunctionSetup(uint8_t data[8]);
|
||||||
extern uint8_t usbFunctionWrite(uint8_t *data, uint8_t len);
|
extern uint8_t usbFunctionWrite(uint8_t *data, uint8_t len);
|
||||||
|
|
||||||
void init_clock();
|
//don't want any application functions/files calling this code!
|
||||||
void init_usb_clock();
|
//void usb_reset_recovery();
|
||||||
void usb_reset_recovery();
|
//void init_usb();
|
||||||
void init_usb();
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,35 @@
|
||||||
|
|
||||||
|
-- create the module's table
|
||||||
|
local time = {}
|
||||||
|
|
||||||
|
-- import required modules
|
||||||
|
|
||||||
|
-- file constants & variables
|
||||||
|
local tstart
|
||||||
|
|
||||||
|
|
||||||
|
-- local functions
|
||||||
|
local function start()
|
||||||
|
tstart = os.clock()
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
--send the number of KBytes flashed so it can report KBps
|
||||||
|
local function report(sizeKB)
|
||||||
|
local time = os.clock() - tstart
|
||||||
|
print("total time:", time, "seconds, average speed:", (sizeKB/time), "KBps")
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
-- global variables so other modules can use them
|
||||||
|
|
||||||
|
|
||||||
|
-- call functions desired to run when script is called/imported
|
||||||
|
|
||||||
|
|
||||||
|
-- functions other modules are able to call
|
||||||
|
time.start = start
|
||||||
|
time.report = report
|
||||||
|
|
||||||
|
-- return the module's table
|
||||||
|
return time
|
||||||
|
|
@ -7,10 +7,12 @@ local dict = require "scripts.app.dict"
|
||||||
local nes = require "scripts.app.nes"
|
local nes = require "scripts.app.nes"
|
||||||
local dump = require "scripts.app.dump"
|
local dump = require "scripts.app.dump"
|
||||||
local flash = require "scripts.app.flash"
|
local flash = require "scripts.app.flash"
|
||||||
|
local time = require "scripts.app.time"
|
||||||
|
|
||||||
-- file constants & variables
|
-- file constants & variables
|
||||||
local mapname = "BxROM"
|
local mapname = "BxROM"
|
||||||
local banktable_base = 0xFF94 --Lizard
|
local banktable_base = 0xFF94 --Lizard
|
||||||
|
--local banktable_base = 0xFFE0 --HH85
|
||||||
--local rom_FF_addr = 0x8000
|
--local rom_FF_addr = 0x8000
|
||||||
|
|
||||||
-- local functions
|
-- local functions
|
||||||
|
|
@ -238,7 +240,9 @@ local function process( test, read, erase, program, verify, dumpfile, flashfile,
|
||||||
|
|
||||||
--TODO find bank table to avoid bus conflicts!
|
--TODO find bank table to avoid bus conflicts!
|
||||||
--dump cart into file
|
--dump cart into file
|
||||||
|
time.start()
|
||||||
dump_prgrom(file, prg_size, false)
|
dump_prgrom(file, prg_size, false)
|
||||||
|
time.report(prg_size)
|
||||||
|
|
||||||
--close file
|
--close file
|
||||||
assert(file:close())
|
assert(file:close())
|
||||||
|
|
@ -280,6 +284,8 @@ local function process( test, read, erase, program, verify, dumpfile, flashfile,
|
||||||
--determine if auto-doubling, deinterleaving, etc,
|
--determine if auto-doubling, deinterleaving, etc,
|
||||||
--needs done to make board compatible with rom
|
--needs done to make board compatible with rom
|
||||||
|
|
||||||
|
time.start()
|
||||||
|
|
||||||
--write bank table to all banks of cartridge
|
--write bank table to all banks of cartridge
|
||||||
wr_bank_table(banktable_base, prg_size/32) --32KB per bank
|
wr_bank_table(banktable_base, prg_size/32) --32KB per bank
|
||||||
--TODO need to verify where bank table belongs and properly determine number of banks
|
--TODO need to verify where bank table belongs and properly determine number of banks
|
||||||
|
|
@ -287,6 +293,8 @@ local function process( test, read, erase, program, verify, dumpfile, flashfile,
|
||||||
--flash cart
|
--flash cart
|
||||||
flash_prgrom(file, prg_size, true)
|
flash_prgrom(file, prg_size, true)
|
||||||
|
|
||||||
|
time.report(prg_size)
|
||||||
|
|
||||||
--close file
|
--close file
|
||||||
assert(file:close())
|
assert(file:close())
|
||||||
|
|
||||||
|
|
@ -300,7 +308,9 @@ local function process( test, read, erase, program, verify, dumpfile, flashfile,
|
||||||
file = assert(io.open(verifyfile, "wb"))
|
file = assert(io.open(verifyfile, "wb"))
|
||||||
|
|
||||||
--dump cart into file
|
--dump cart into file
|
||||||
|
time.start()
|
||||||
dump_prgrom(file, prg_size, false)
|
dump_prgrom(file, prg_size, false)
|
||||||
|
time.report(prg_size)
|
||||||
|
|
||||||
--close file
|
--close file
|
||||||
assert(file:close())
|
assert(file:close())
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue