From c73ead2643a6211a8db478d2b1005ebd3325b491 Mon Sep 17 00:00:00 2001 From: Theodor Chikin Date: Fri, 27 Jun 2025 15:12:44 +0300 Subject: [PATCH] git init of an empty project --- build/release/.dep/l502-bf_basiccrt.o.d | 28 + build/release/.dep/l502_async.o.d | 66 + build/release/.dep/l502_cmd.o.d | 114 + build/release/.dep/l502_fpga.o.d | 28 + build/release/.dep/l502_hdma.o.d | 91 + build/release/.dep/l502_init.o.d | 94 + build/release/.dep/l502_params.o.d | 68 + build/release/.dep/l502_sport_tx.o.d | 99 + build/release/.dep/l502_stream.o.d | 112 + build/release/.dep/l502_tests.o.d | 89 + build/release/.dep/l502_user_process.o.d | 62 + build/release/.dep/main.o.d | 13 + build/release/bin/l502-BFfirmware0.elf | Bin 0 -> 78509 bytes build/release/bin/l502-BFfirmware0.ldr | Bin 0 -> 30032 bytes build/release/bin/l502-BFfirmware0.map | 888 +++ build/release/lst/l502-bf_basiccrt.lst | 354 ++ build/release/lst/l502_async.lst | 810 +++ build/release/lst/l502_cmd.lst | 6679 ++++++++++++++++++++++ build/release/lst/l502_fpga.lst | 2421 ++++++++ build/release/lst/l502_hdma.lst | 4627 +++++++++++++++ build/release/lst/l502_init.lst | 3093 ++++++++++ build/release/lst/l502_params.lst | 3006 ++++++++++ build/release/lst/l502_sport_tx.lst | 3317 +++++++++++ build/release/lst/l502_stream.lst | 6583 +++++++++++++++++++++ build/release/lst/l502_tests.lst | 4270 ++++++++++++++ build/release/lst/l502_user_process.lst | 1500 +++++ build/release/lst/main.lst | 901 +++ build/release/objs/l502-bf_basiccrt.o | Bin 0 -> 1804 bytes build/release/objs/l502_async.o | Bin 0 -> 3688 bytes build/release/objs/l502_cmd.o | Bin 0 -> 22164 bytes build/release/objs/l502_fpga.o | Bin 0 -> 6876 bytes build/release/objs/l502_hdma.o | Bin 0 -> 12252 bytes build/release/objs/l502_init.o | Bin 0 -> 8272 bytes build/release/objs/l502_params.o | Bin 0 -> 12176 bytes build/release/objs/l502_sport_tx.o | Bin 0 -> 9656 bytes build/release/objs/l502_stream.o | Bin 0 -> 12601984 bytes build/release/objs/l502_tests.o | Bin 0 -> 11280 bytes build/release/objs/l502_user_process.o | Bin 0 -> 5676 bytes build/release/objs/main.o | Bin 0 -> 10144 bytes gcc/bfrom.h | 723 +++ gcc/ice-100b.rules | 2 + gcc/l502-bf Debug.launch | 59 + gcc/l502-bf.ld | 278 + gcc/l502-bf_basiccrt.s | 78 + gcc/l502_sdram_noinit.h | 1 + makefile | 169 + src/l502_async.c | 43 + src/l502_async.h | 46 + src/l502_bf_cmd_defs.h | 167 + src/l502_cdefs.h | 44 + src/l502_cmd.c | 393 ++ src/l502_cmd.h | 71 + src/l502_defs.h | 172 + src/l502_fpga.c | 69 + src/l502_fpga.h | 31 + src/l502_fpga_regs.h | 208 + src/l502_global.h | 77 + src/l502_hdma.c | 320 ++ src/l502_hdma.h | 44 + src/l502_init.c | 183 + src/l502_params.c | 208 + src/l502_params.h | 79 + src/l502_sport_rx.h | 23 + src/l502_sport_tx.c | 238 + src/l502_sport_tx.h | 28 + src/l502_stream.c | 570 ++ src/l502_stream.h | 65 + src/l502_tests.c | 421 ++ src/l502_user_process.c | 162 + src/l502_user_process.h | 26 + src/main.c | 30 + vdsp/l502-bf.dpj | 433 ++ vdsp/l502-bf.ldf | 497 ++ vdsp/l502-bf_basiccrt.s | 324 ++ vdsp/l502-bf_heaptab.c | 93 + vdsp/l502_sdram_noinit.h | 1 + 76 files changed, 45689 insertions(+) create mode 100644 build/release/.dep/l502-bf_basiccrt.o.d create mode 100644 build/release/.dep/l502_async.o.d create mode 100644 build/release/.dep/l502_cmd.o.d create mode 100644 build/release/.dep/l502_fpga.o.d create mode 100644 build/release/.dep/l502_hdma.o.d create mode 100644 build/release/.dep/l502_init.o.d create mode 100644 build/release/.dep/l502_params.o.d create mode 100644 build/release/.dep/l502_sport_tx.o.d create mode 100644 build/release/.dep/l502_stream.o.d create mode 100644 build/release/.dep/l502_tests.o.d create mode 100644 build/release/.dep/l502_user_process.o.d create mode 100644 build/release/.dep/main.o.d create mode 100755 build/release/bin/l502-BFfirmware0.elf create mode 100644 build/release/bin/l502-BFfirmware0.ldr create mode 100644 build/release/bin/l502-BFfirmware0.map create mode 100644 build/release/lst/l502-bf_basiccrt.lst create mode 100644 build/release/lst/l502_async.lst create mode 100644 build/release/lst/l502_cmd.lst create mode 100644 build/release/lst/l502_fpga.lst create mode 100644 build/release/lst/l502_hdma.lst create mode 100644 build/release/lst/l502_init.lst create mode 100644 build/release/lst/l502_params.lst create mode 100644 build/release/lst/l502_sport_tx.lst create mode 100644 build/release/lst/l502_stream.lst create mode 100644 build/release/lst/l502_tests.lst create mode 100644 build/release/lst/l502_user_process.lst create mode 100644 build/release/lst/main.lst create mode 100644 build/release/objs/l502-bf_basiccrt.o create mode 100644 build/release/objs/l502_async.o create mode 100644 build/release/objs/l502_cmd.o create mode 100644 build/release/objs/l502_fpga.o create mode 100644 build/release/objs/l502_hdma.o create mode 100644 build/release/objs/l502_init.o create mode 100644 build/release/objs/l502_params.o create mode 100644 build/release/objs/l502_sport_tx.o create mode 100644 build/release/objs/l502_stream.o create mode 100644 build/release/objs/l502_tests.o create mode 100644 build/release/objs/l502_user_process.o create mode 100644 build/release/objs/main.o create mode 100644 gcc/bfrom.h create mode 100644 gcc/ice-100b.rules create mode 100644 gcc/l502-bf Debug.launch create mode 100644 gcc/l502-bf.ld create mode 100644 gcc/l502-bf_basiccrt.s create mode 100644 gcc/l502_sdram_noinit.h create mode 100644 makefile create mode 100644 src/l502_async.c create mode 100644 src/l502_async.h create mode 100644 src/l502_bf_cmd_defs.h create mode 100644 src/l502_cdefs.h create mode 100644 src/l502_cmd.c create mode 100644 src/l502_cmd.h create mode 100644 src/l502_defs.h create mode 100644 src/l502_fpga.c create mode 100644 src/l502_fpga.h create mode 100644 src/l502_fpga_regs.h create mode 100644 src/l502_global.h create mode 100644 src/l502_hdma.c create mode 100644 src/l502_hdma.h create mode 100644 src/l502_init.c create mode 100644 src/l502_params.c create mode 100644 src/l502_params.h create mode 100644 src/l502_sport_rx.h create mode 100644 src/l502_sport_tx.c create mode 100644 src/l502_sport_tx.h create mode 100644 src/l502_stream.c create mode 100644 src/l502_stream.h create mode 100644 src/l502_tests.c create mode 100644 src/l502_user_process.c create mode 100644 src/l502_user_process.h create mode 100644 src/main.c create mode 100644 vdsp/l502-bf.dpj create mode 100644 vdsp/l502-bf.ldf create mode 100644 vdsp/l502-bf_basiccrt.s create mode 100644 vdsp/l502-bf_heaptab.c create mode 100644 vdsp/l502_sdram_noinit.h diff --git a/build/release/.dep/l502-bf_basiccrt.o.d b/build/release/.dep/l502-bf_basiccrt.o.d new file mode 100644 index 0000000..433cd27 --- /dev/null +++ b/build/release/.dep/l502-bf_basiccrt.o.d @@ -0,0 +1,28 @@ +build/release/objs/l502-bf_basiccrt.o: gcc/l502-bf_basiccrt.s \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/platform.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/_adi_platform.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF523.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/def_LPBlackfin.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF52x_base.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cplb.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/anomaly_macros_rtl.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF533.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF532.h + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/platform.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/_adi_platform.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF523.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/def_LPBlackfin.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF52x_base.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cplb.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/anomaly_macros_rtl.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF533.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF532.h: diff --git a/build/release/.dep/l502_async.o.d b/build/release/.dep/l502_async.o.d new file mode 100644 index 0000000..ab53fe8 --- /dev/null +++ b/build/release/.dep/l502_async.o.d @@ -0,0 +1,66 @@ +build/release/objs/l502_async.o: src/l502_async.c \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdlib.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/ieeefp.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/newlib.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/config.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/features.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/include/stddef.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/reent.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/_types.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_types.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_default_types.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/lock.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/stdlib.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/alloca.h \ + src/l502_cmd.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdint.h \ + src/l502_bf_cmd_defs.h src/l502_global.h src/l502_fpga.h \ + src/l502_fpga_regs.h src/l502_defs.h src/l502_async.h + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdlib.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/ieeefp.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/newlib.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/config.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/features.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/include/stddef.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/reent.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/_types.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_types.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_default_types.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/lock.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/stdlib.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/alloca.h: + +src/l502_cmd.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdint.h: + +src/l502_bf_cmd_defs.h: + +src/l502_global.h: + +src/l502_fpga.h: + +src/l502_fpga_regs.h: + +src/l502_defs.h: + +src/l502_async.h: diff --git a/build/release/.dep/l502_cmd.o.d b/build/release/.dep/l502_cmd.o.d new file mode 100644 index 0000000..09cc89e --- /dev/null +++ b/build/release/.dep/l502_cmd.o.d @@ -0,0 +1,114 @@ +build/release/objs/l502_cmd.o: src/l502_cmd.c src/l502_global.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdint.h \ + src/l502_bf_cmd_defs.h src/l502_cmd.h src/l502_stream.h \ + src/l502_params.h src/l502_defs.h src/l502_user_process.h \ + src/l502_async.h src/l502_sport_tx.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/string.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/newlib.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/config.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/ieeefp.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/features.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/reent.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/_types.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_types.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_default_types.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/lock.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/include/stddef.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/string.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdefBF523.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF523.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/def_LPBlackfin.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF52x_base.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdef_LPBlackfin.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdefBF52x_base.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/exception.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/ccblkfn.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdlib.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/stdlib.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/alloca.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/anomaly_macros_rtl.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/mc_typedef.h \ + src/l502_fpga.h src/l502_fpga_regs.h + +src/l502_global.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdint.h: + +src/l502_bf_cmd_defs.h: + +src/l502_cmd.h: + +src/l502_stream.h: + +src/l502_params.h: + +src/l502_defs.h: + +src/l502_user_process.h: + +src/l502_async.h: + +src/l502_sport_tx.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/string.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/newlib.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/config.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/ieeefp.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/features.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/reent.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/_types.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_types.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_default_types.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/lock.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/include/stddef.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/string.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdefBF523.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF523.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/def_LPBlackfin.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF52x_base.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdef_LPBlackfin.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdefBF52x_base.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/exception.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/ccblkfn.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdlib.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/stdlib.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/alloca.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/anomaly_macros_rtl.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/mc_typedef.h: + +src/l502_fpga.h: + +src/l502_fpga_regs.h: diff --git a/build/release/.dep/l502_fpga.o.d b/build/release/.dep/l502_fpga.o.d new file mode 100644 index 0000000..f253788 --- /dev/null +++ b/build/release/.dep/l502_fpga.o.d @@ -0,0 +1,28 @@ +build/release/objs/l502_fpga.o: src/l502_fpga.c \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdefBF523.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF523.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/def_LPBlackfin.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF52x_base.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdef_LPBlackfin.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdefBF52x_base.h \ + src/l502_fpga.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdint.h \ + src/l502_fpga_regs.h + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdefBF523.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF523.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/def_LPBlackfin.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF52x_base.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdef_LPBlackfin.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdefBF52x_base.h: + +src/l502_fpga.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdint.h: + +src/l502_fpga_regs.h: diff --git a/build/release/.dep/l502_hdma.o.d b/build/release/.dep/l502_hdma.o.d new file mode 100644 index 0000000..996d227 --- /dev/null +++ b/build/release/.dep/l502_hdma.o.d @@ -0,0 +1,91 @@ +build/release/objs/l502_hdma.o: src/l502_hdma.c src/l502_global.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdint.h \ + src/l502_bf_cmd_defs.h src/l502_cdefs.h src/l502_cmd.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdefBF523.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF523.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/def_LPBlackfin.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF52x_base.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdef_LPBlackfin.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdefBF52x_base.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/exception.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/ccblkfn.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdlib.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/ieeefp.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/newlib.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/config.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/features.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/include/stddef.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/reent.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/_types.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_types.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_default_types.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/lock.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/stdlib.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/alloca.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/anomaly_macros_rtl.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/mc_typedef.h + +src/l502_global.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdint.h: + +src/l502_bf_cmd_defs.h: + +src/l502_cdefs.h: + +src/l502_cmd.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdefBF523.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF523.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/def_LPBlackfin.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF52x_base.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdef_LPBlackfin.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdefBF52x_base.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/exception.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/ccblkfn.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdlib.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/ieeefp.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/newlib.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/config.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/features.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/include/stddef.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/reent.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/_types.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_types.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_default_types.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/lock.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/stdlib.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/alloca.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/anomaly_macros_rtl.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/mc_typedef.h: diff --git a/build/release/.dep/l502_init.o.d b/build/release/.dep/l502_init.o.d new file mode 100644 index 0000000..7904d3c --- /dev/null +++ b/build/release/.dep/l502_init.o.d @@ -0,0 +1,94 @@ +build/release/objs/l502_init.o: src/l502_init.c \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdefBF523.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF523.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/def_LPBlackfin.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF52x_base.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdef_LPBlackfin.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdefBF52x_base.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/ccblkfn.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdlib.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/ieeefp.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/newlib.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/config.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/features.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/include/stddef.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/reent.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/_types.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_types.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_default_types.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/lock.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/stdlib.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/alloca.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/anomaly_macros_rtl.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/mc_typedef.h \ + gcc/bfrom.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdint.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/exception.h \ + src/l502_cdefs.h src/l502_fpga.h src/l502_fpga_regs.h src/l502_hdma.h + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdefBF523.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF523.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/def_LPBlackfin.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF52x_base.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdef_LPBlackfin.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdefBF52x_base.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/ccblkfn.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdlib.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/ieeefp.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/newlib.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/config.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/features.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/include/stddef.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/reent.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/_types.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_types.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_default_types.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/lock.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/stdlib.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/alloca.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/anomaly_macros_rtl.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/mc_typedef.h: + +gcc/bfrom.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdint.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/exception.h: + +src/l502_cdefs.h: + +src/l502_fpga.h: + +src/l502_fpga_regs.h: + +src/l502_hdma.h: diff --git a/build/release/.dep/l502_params.o.d b/build/release/.dep/l502_params.o.d new file mode 100644 index 0000000..e3f462a --- /dev/null +++ b/build/release/.dep/l502_params.o.d @@ -0,0 +1,68 @@ +build/release/objs/l502_params.o: src/l502_params.c \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdint.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdlib.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/ieeefp.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/newlib.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/config.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/features.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/include/stddef.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/reent.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/_types.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_types.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_default_types.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/lock.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/stdlib.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/alloca.h \ + src/l502_global.h src/l502_bf_cmd_defs.h src/l502_cmd.h src/l502_fpga.h \ + src/l502_fpga_regs.h src/l502_params.h src/l502_defs.h \ + src/l502_stream.h + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdint.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdlib.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/ieeefp.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/newlib.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/config.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/features.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/include/stddef.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/reent.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/_types.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_types.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_default_types.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/lock.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/stdlib.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/alloca.h: + +src/l502_global.h: + +src/l502_bf_cmd_defs.h: + +src/l502_cmd.h: + +src/l502_fpga.h: + +src/l502_fpga_regs.h: + +src/l502_params.h: + +src/l502_defs.h: + +src/l502_stream.h: diff --git a/build/release/.dep/l502_sport_tx.o.d b/build/release/.dep/l502_sport_tx.o.d new file mode 100644 index 0000000..6a5d447 --- /dev/null +++ b/build/release/.dep/l502_sport_tx.o.d @@ -0,0 +1,99 @@ +build/release/objs/l502_sport_tx.o: src/l502_sport_tx.c \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdint.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdlib.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/ieeefp.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/newlib.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/config.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/features.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/include/stddef.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/reent.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/_types.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_types.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_default_types.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/lock.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/stdlib.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/alloca.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdefBF523.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF523.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/def_LPBlackfin.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF52x_base.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdef_LPBlackfin.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdefBF52x_base.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/exception.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/ccblkfn.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/anomaly_macros_rtl.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/mc_typedef.h \ + src/l502_sport_tx.h src/l502_cdefs.h src/l502_fpga_regs.h \ + src/l502_fpga.h src/l502_bf_cmd_defs.h src/l502_defs.h \ + src/l502_stream.h + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdint.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdlib.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/ieeefp.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/newlib.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/config.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/features.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/include/stddef.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/reent.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/_types.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_types.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_default_types.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/lock.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/stdlib.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/alloca.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdefBF523.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF523.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/def_LPBlackfin.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF52x_base.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdef_LPBlackfin.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdefBF52x_base.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/exception.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/ccblkfn.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/anomaly_macros_rtl.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/mc_typedef.h: + +src/l502_sport_tx.h: + +src/l502_cdefs.h: + +src/l502_fpga_regs.h: + +src/l502_fpga.h: + +src/l502_bf_cmd_defs.h: + +src/l502_defs.h: + +src/l502_stream.h: diff --git a/build/release/.dep/l502_stream.o.d b/build/release/.dep/l502_stream.o.d new file mode 100644 index 0000000..0bc5ec8 --- /dev/null +++ b/build/release/.dep/l502_stream.o.d @@ -0,0 +1,112 @@ +build/release/objs/l502_stream.o: src/l502_stream.c \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdint.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdlib.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/ieeefp.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/newlib.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/config.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/features.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/include/stddef.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/reent.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/_types.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_types.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_default_types.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/lock.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/stdlib.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/alloca.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdefBF523.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF523.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/def_LPBlackfin.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF52x_base.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdef_LPBlackfin.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdefBF52x_base.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/exception.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/ccblkfn.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/anomaly_macros_rtl.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/mc_typedef.h \ + src/l502_cdefs.h src/l502_cmd.h src/l502_bf_cmd_defs.h src/l502_fpga.h \ + src/l502_fpga_regs.h src/l502_defs.h src/l502_global.h src/l502_hdma.h \ + src/l502_sport_tx.h src/l502_user_process.h src/l502_stream.h \ + src/l502_sport_rx.h gcc/l502_sdram_noinit.h + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdint.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdlib.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/ieeefp.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/newlib.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/config.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/features.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/include/stddef.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/reent.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/_types.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_types.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_default_types.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/lock.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/stdlib.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/alloca.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdefBF523.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF523.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/def_LPBlackfin.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF52x_base.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdef_LPBlackfin.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdefBF52x_base.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/exception.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/ccblkfn.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/anomaly_macros_rtl.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/mc_typedef.h: + +src/l502_cdefs.h: + +src/l502_cmd.h: + +src/l502_bf_cmd_defs.h: + +src/l502_fpga.h: + +src/l502_fpga_regs.h: + +src/l502_defs.h: + +src/l502_global.h: + +src/l502_hdma.h: + +src/l502_sport_tx.h: + +src/l502_user_process.h: + +src/l502_stream.h: + +src/l502_sport_rx.h: + +gcc/l502_sdram_noinit.h: diff --git a/build/release/.dep/l502_tests.o.d b/build/release/.dep/l502_tests.o.d new file mode 100644 index 0000000..42ac09a --- /dev/null +++ b/build/release/.dep/l502_tests.o.d @@ -0,0 +1,89 @@ +build/release/objs/l502_tests.o: src/l502_tests.c \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdlib.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/ieeefp.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/newlib.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/config.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/features.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/include/stddef.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/reent.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/_types.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_types.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_default_types.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/lock.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/stdlib.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/alloca.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdefBF523.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF523.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/def_LPBlackfin.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF52x_base.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdef_LPBlackfin.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdefBF52x_base.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/exception.h \ + src/l502_cmd.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdint.h \ + src/l502_bf_cmd_defs.h src/l502_fpga.h src/l502_fpga_regs.h \ + src/l502_sport_tx.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/string.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/string.h + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdlib.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/ieeefp.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/newlib.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/config.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/features.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/include/stddef.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/reent.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/_types.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_types.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_default_types.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/lock.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/stdlib.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/alloca.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdefBF523.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF523.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/def_LPBlackfin.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/defBF52x_base.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdef_LPBlackfin.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/cdefBF52x_base.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/exception.h: + +src/l502_cmd.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdint.h: + +src/l502_bf_cmd_defs.h: + +src/l502_fpga.h: + +src/l502_fpga_regs.h: + +src/l502_sport_tx.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/string.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/string.h: diff --git a/build/release/.dep/l502_user_process.o.d b/build/release/.dep/l502_user_process.o.d new file mode 100644 index 0000000..c94972d --- /dev/null +++ b/build/release/.dep/l502_user_process.o.d @@ -0,0 +1,62 @@ +build/release/objs/l502_user_process.o: src/l502_user_process.c \ + src/l502_stream.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdint.h \ + src/l502_hdma.h src/l502_sport_tx.h src/l502_cmd.h \ + src/l502_bf_cmd_defs.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdlib.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/ieeefp.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/newlib.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/config.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/features.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/include/stddef.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/reent.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/_types.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_types.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_default_types.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/lock.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/stdlib.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/alloca.h + +src/l502_stream.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdint.h: + +src/l502_hdma.h: + +src/l502_sport_tx.h: + +src/l502_cmd.h: + +src/l502_bf_cmd_defs.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdlib.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/ieeefp.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/newlib.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/config.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/features.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/include/stddef.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/reent.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/_ansi.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/_types.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_types.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/_default_types.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/sys/lock.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/machine/stdlib.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/alloca.h: diff --git a/build/release/.dep/main.o.d b/build/release/.dep/main.o.d new file mode 100644 index 0000000..96b67a5 --- /dev/null +++ b/build/release/.dep/main.o.d @@ -0,0 +1,13 @@ +build/release/objs/main.o: src/main.c src/l502_cdefs.h src/l502_global.h \ + /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdint.h \ + src/l502_bf_cmd_defs.h src/l502_cmd.h + +src/l502_cdefs.h: + +src/l502_global.h: + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/stdint.h: + +src/l502_bf_cmd_defs.h: + +src/l502_cmd.h: diff --git a/build/release/bin/l502-BFfirmware0.elf b/build/release/bin/l502-BFfirmware0.elf new file mode 100755 index 0000000000000000000000000000000000000000..b6ba363397e5b5b8f854a4a11100728bbb41acec GIT binary patch literal 78509 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

#wXihAR;jMVY^=8Wq3YVT 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

*-&AhKcxRjz2G%g1Us;di1A$ZZ)-XnmnACejK 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 literal 0 HcmV?d00001 diff --git a/build/release/bin/l502-BFfirmware0.ldr b/build/release/bin/l502-BFfirmware0.ldr new file mode 100644 index 0000000000000000000000000000000000000000..78a14a7a13bdd6b82fdd38ba558a87a082e64a0a GIT binary patch literal 30032 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 literal 0 HcmV?d00001 diff --git a/build/release/bin/l502-BFfirmware0.map b/build/release/bin/l502-BFfirmware0.map new file mode 100644 index 0000000..8c62d8e --- /dev/null +++ b/build/release/bin/l502-BFfirmware0.map @@ -0,0 +1,888 @@ +Archive member included because of file (symbol) + +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/libgcc.a(_udivsi3.o) + build/release/objs/l502_stream.o (___udivsi3) +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/lib/libc.a(lib_a-memmove.o) + build/release/objs/l502_cmd.o (_memmove) +/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/lib/libc.a(lib_a-memset.o) + build/release/objs/l502-bf_basiccrt.o (_memset) + +Allocating common symbols +Common symbol size file + +g_module_info 0x18 build/release/objs/l502_params.o + +Discarded input sections + + .bss 0x0000000000000000 0x0 build/release/objs/l502_async.o + .data 0x0000000000000000 0x0 build/release/objs/l502_cmd.o + .data 0x0000000000000000 0x0 build/release/objs/l502_fpga.o + .bss 0x0000000000000000 0x0 build/release/objs/l502_fpga.o + .data 0x0000000000000000 0x0 build/release/objs/l502_hdma.o + .data 0x0000000000000000 0x0 build/release/objs/l502_init.o + .bss 0x0000000000000000 0x0 build/release/objs/l502_init.o + .bss 0x0000000000000000 0x0 build/release/objs/l502_params.o + .data 0x0000000000000000 0x0 build/release/objs/l502_sport_tx.o + .data 0x0000000000000000 0x0 build/release/objs/l502_user_process.o + .bss 0x0000000000000000 0x0 build/release/objs/l502_user_process.o + .data 0x0000000000000000 0x0 build/release/objs/main.o + .bss 0x0000000000000000 0x0 build/release/objs/main.o + .data 0x0000000000000000 0x0 build/release/objs/l502-bf_basiccrt.o + .bss 0x0000000000000000 0x0 build/release/objs/l502-bf_basiccrt.o + .data 0x0000000000000000 0x0 /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/libgcc.a(_udivsi3.o) + .bss 0x0000000000000000 0x0 /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/libgcc.a(_udivsi3.o) + .data 0x0000000000000000 0x0 /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/lib/libc.a(lib_a-memmove.o) + .bss 0x0000000000000000 0x0 /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/lib/libc.a(lib_a-memmove.o) + .data 0x0000000000000000 0x0 /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/lib/libc.a(lib_a-memset.o) + .bss 0x0000000000000000 0x0 /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/lib/libc.a(lib_a-memset.o) + +Memory Configuration + +Name Origin Length Attributes +MEM_L1_CODE 0x00000000ffa00000 0x000000000000c000 +MEM_L1_CODE_CACHE 0x00000000ffa10000 0x0000000000004000 +MEM_L1_SCRATCH 0x00000000ffb00000 0x0000000000001000 +MEM_L1_DATA_B 0x00000000ff900000 0x0000000000008000 +MEM_L1_DATA_A 0x00000000ff800000 0x0000000000008000 +MEM_SDRAM 0x0000000000000000 0x0000000002000000 +*default* 0x0000000000000000 0xffffffffffffffff + +Linker script and memory map + +LOAD build/release/objs/l502_async.o +LOAD build/release/objs/l502_cmd.o +LOAD build/release/objs/l502_fpga.o +LOAD build/release/objs/l502_hdma.o +LOAD build/release/objs/l502_init.o +LOAD build/release/objs/l502_params.o +LOAD build/release/objs/l502_sport_tx.o +LOAD build/release/objs/l502_stream.o +LOAD build/release/objs/l502_tests.o +LOAD build/release/objs/l502_user_process.o +LOAD build/release/objs/main.o +LOAD build/release/objs/l502-bf_basiccrt.o +LOAD /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/lib/libm.a +LOAD /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/libgcc.a +START GROUP +LOAD /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/lib/libc.a +LOAD /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/lib/libbfinbsp.a +LOAD /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/lib/libnosys.a +END GROUP +LOAD /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/libgcc.a + 0x0000000000000000 PROVIDE (__executable_start, 0x0) + 0x0000000000000000 . = 0x0 + +.interp + *(.interp) + +.note.gnu.build-id + *(.note.gnu.build-id) + +.hash + *(.hash) + +.gnu.hash + *(.gnu.hash) + +.dynsym + *(.dynsym) + +.dynstr + *(.dynstr) + +.gnu.version + *(.gnu.version) + +.gnu.version_d + *(.gnu.version_d) + +.gnu.version_r + *(.gnu.version_r) + +.rel.init + *(.rel.init) + +.rela.init + *(.rela.init) + +.rel.text + *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) + +.rela.text + *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) + +.rel.fini + *(.rel.fini) + +.rela.fini + *(.rela.fini) + +.rel.rodata + *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) + +.rela.rodata + *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) + +.rel.data.rel.ro + *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*) + +.rela.data.rel.ro + *(.rela.data.rel.ro* .rela.gnu.linkonce.d.rel.ro.*) + +.rel.data + *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) + +.rela.data + *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) + +.rel.tdata + *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) + +.rela.tdata + *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) + +.rel.tbss + *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) + +.rela.tbss + *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) + +.rel.ctors + *(.rel.ctors) + +.rela.ctors + *(.rela.ctors) + +.rel.dtors + *(.rel.dtors) + +.rela.dtors + *(.rela.dtors) + +.rel.got + *(.rel.got) + +.rela.got + *(.rela.got) + +.rel.sdata + *(.rel.sdata .rel.sdata.* .rel.gnu.linkonce.s.*) + +.rela.sdata + *(.rela.sdata .rela.sdata.* .rela.gnu.linkonce.s.*) + +.rel.sbss + *(.rel.sbss .rel.sbss.* .rel.gnu.linkonce.sb.*) + +.rela.sbss + *(.rela.sbss .rela.sbss.* .rela.gnu.linkonce.sb.*) + +.rel.sdata2 + *(.rel.sdata2 .rel.sdata2.* .rel.gnu.linkonce.s2.*) + +.rela.sdata2 + *(.rela.sdata2 .rela.sdata2.* .rela.gnu.linkonce.s2.*) + +.rel.sbss2 + *(.rel.sbss2 .rel.sbss2.* .rel.gnu.linkonce.sb2.*) + +.rela.sbss2 + *(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*) + +.rel.bss + *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) + +.rela.bss + *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) + +.rel.iplt 0x0000000000000000 0x0 + 0x0000000000000000 PROVIDE (___rel_iplt_start, .) + *(.rel.iplt) + 0x0000000000000000 PROVIDE (___rel_iplt_end, .) + +.rela.iplt 0x0000000000000000 0x0 + 0x0000000000000000 PROVIDE (___rela_iplt_start, .) + *(.rela.iplt) + 0x0000000000000000 PROVIDE (___rela_iplt_end, .) + +.rel.plt + *(.rel.plt) + +.rela.plt + *(.rela.plt) + +.init 0x00000000ffa00000 0x90 + *(.init) + *basiccrt*(.text .text.*) + .text 0x00000000ffa00000 0x90 build/release/objs/l502-bf_basiccrt.o + 0x00000000ffa00000 __start + +.plt + *(.plt) + +.iplt + *(.iplt) + +.text 0x00000000ffa00090 0x31b0 + *(.text.unlikely .text.*_unlikely) + *(.text.exit .text.exit.*) + *(.text.startup .text.startup.*) + *(.text.hot .text.hot.*) + *(.text .stub .text.* .gnu.linkonce.t.*) + .text 0x00000000ffa00090 0x68 build/release/objs/l502_async.o + 0x00000000ffa00090 _async_dout + 0x00000000ffa000d0 _async_dac_out + .text 0x00000000ffa000f8 0x8a8 build/release/objs/l502_cmd.o + 0x00000000ffa000f8 _l502_cmd_set_req + 0x00000000ffa00120 _l502_cmd_done + 0x00000000ffa006e4 _l502_cmd_start + 0x00000000ffa0082c _l502_cmd_check_req + .text 0x00000000ffa009a0 0x418 build/release/objs/l502_fpga.o + 0x00000000ffa009a0 _fpga_reg_write + 0x00000000ffa00af0 _fpga_reg_read + 0x00000000ffa00c44 _fpga_spi_init + .text 0x00000000ffa00db8 0x5c8 build/release/objs/l502_hdma.o + 0x00000000ffa00db8 _hdma_send_start + 0x00000000ffa00dfc _hdma_send_stop + 0x00000000ffa00e14 _hdma_recv_start + 0x00000000ffa00e64 _hdma_recv_stop + 0x00000000ffa00e7c _hdma_send_req_rdy + 0x00000000ffa00ea4 _hdma_recv_req_rdy + 0x00000000ffa00ecc _hdma_send_req_start + 0x00000000ffa00f6c _hdma_recv_req_start + 0x00000000ffa01010 _hdma_rd_isr + 0x00000000ffa01054 _hdma_init + 0x00000000ffa01210 _hdma_isr + .text 0x00000000ffa01380 0x388 build/release/objs/l502_init.o + 0x00000000ffa01380 _l502_otp_make_invalid + 0x00000000ffa013c4 _l502_setup_pll + 0x00000000ffa013ec _l502_otp_write_cfg + 0x00000000ffa014a8 _l502_otp_init + 0x00000000ffa0160c _l502_init + .text 0x00000000ffa01708 0x2ec build/release/objs/l502_params.o + 0x00000000ffa01708 _params_set_lch_cnt + 0x00000000ffa01734 _params_set_lch + 0x00000000ffa01794 _params_set_adc_freq_div + 0x00000000ffa017c4 _params_set_ref_freq + 0x00000000ffa017dc _params_set_adc_interframe_delay + 0x00000000ffa01808 _params_set_sync_mode + 0x00000000ffa01838 _params_set_sync_start_mode + 0x00000000ffa01868 _params_set_din_freq_div + 0x00000000ffa01898 _params_set_dac_freq_div + 0x00000000ffa018c8 _configure + .text 0x00000000ffa019f4 0x550 build/release/objs/l502_sport_tx.o + 0x00000000ffa019f4 _sport_tx_out_status + 0x00000000ffa01a2c _sport_tx_init + 0x00000000ffa01b5c _sport_tx_req_rdy + 0x00000000ffa01b80 _isr_sport_dma_tx + 0x00000000ffa01cec _sport_tx_start_req + 0x00000000ffa01dd8 _sport_tx_stop + .text 0x00000000ffa01f44 0x8f0 build/release/objs/l502_stream.o + 0x00000000ffa01f44 _stream_in_buf_free + 0x00000000ffa01f6c _stream_out_buf_free + 0x00000000ffa01f94 _hdma_recv_done + 0x00000000ffa01fb8 _sport_in_buffer_size + 0x00000000ffa01fc8 _sport_in_set_step_size + 0x00000000ffa02018 _sport_rx_stop + 0x00000000ffa02064 _sport_rx_start + 0x00000000ffa0214c _stream_proc + 0x00000000ffa022dc _stream_out_preload + 0x00000000ffa02350 _l502_stream_init + 0x00000000ffa02370 _streams_stop + 0x00000000ffa02418 _isr_sport_dma_rx + 0x00000000ffa02564 _stream_disable + 0x00000000ffa025c8 _stream_enable + 0x00000000ffa02628 _streams_start + .text 0x00000000ffa02834 0x728 build/release/objs/l502_tests.o + 0x00000000ffa02834 _l502_cmd_test + .text 0x00000000ffa02f5c 0xa0 build/release/objs/l502_user_process.o + 0x00000000ffa02f5c _usr_cmd_process + 0x00000000ffa02f70 _sport_tx_done + 0x00000000ffa02f80 _hdma_send_done + 0x00000000ffa02f90 _usr_out_proc_data + 0x00000000ffa02fc8 _usr_in_proc_data + .text 0x00000000ffa02ffc 0x14 build/release/objs/main.o + 0x00000000ffa02ffc _main + .text 0x00000000ffa03010 0x9c /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/libgcc.a(_udivsi3.o) + 0x00000000ffa03010 ___udivsi3 + .text 0x00000000ffa030ac 0xd4 /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/lib/libc.a(lib_a-memmove.o) + 0x00000000ffa030ac _memmove + .text 0x00000000ffa03180 0xb8 /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/lib/libc.a(lib_a-memset.o) + 0x00000000ffa03180 _memset + *(.gnu.warning) + 0x00000000ffa03240 . = ALIGN (0x40) + *fill* 0x00000000ffa03238 0x8 00 + +.fini + *(.fini) + 0x00000000ffa03240 . = ALIGN (0x40) + 0x00000000ffa03240 PROVIDE (___etext, .) + 0x00000000ffa03240 PROVIDE (__etext, .) + 0x00000000ffa03240 PROVIDE (_etext, .) + +.board_state 0x00000000ff800000 0x2004 + 0x00000000ff800000 _startfix_sect = . + *(board_state .board_state .board_state.*) + board_state 0x00000000ff800000 0x1810 build/release/objs/main.o + 0x00000000ff800000 _g_state + 0x00000000ff802004 . = (_startfix_sect + 0x2004) + *fill* 0x00000000ff801810 0x7f4 00 + +.rodata 0x00000000ff802004 0x254 + *(.rodata .rodata.* .gnu.linkonce.r.*) + .rodata 0x00000000ff802004 0x220 build/release/objs/l502_cmd.o + .rodata 0x00000000ff802224 0x4 build/release/objs/l502_stream.o + .rodata 0x00000000ff802228 0x30 build/release/objs/l502_tests.o + +.rodata1 + *(.rodata1) + +.sdata2 + *(.sdata2 .sdata2.* .gnu.linkonce.s2.*) + +.sbss2 + *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*) + +.eh_frame_hdr + *(.eh_frame_hdr) + +.eh_frame + *(.eh_frame) + +.gcc_except_table + *(.gcc_except_table .gcc_except_table.*) + 0x00000000ff803258 . = (ALIGN (0x1000) + (. & 0xfff)) + +.eh_frame + *(.eh_frame) + +.gcc_except_table + *(.gcc_except_table .gcc_except_table.*) + +.tdata + *(.tdata .tdata.* .gnu.linkonce.td.*) + +.tbss + *(.tbss .tbss.* .gnu.linkonce.tb.*) + *(.tcommon) + +.preinit_array 0x00000000ff803258 0x0 + 0x00000000ff803258 PROVIDE (___preinit_array_start, .) + *(.preinit_array) + 0x00000000ff803258 PROVIDE (___preinit_array_end, .) + +.init_array 0x00000000ff803258 0x0 + 0x00000000ff803258 PROVIDE (___init_array_start, .) + *(SORT(.init_array.*)) + *(.init_array) + 0x00000000ff803258 PROVIDE (___init_array_end, .) + +.fini_array 0x00000000ff803258 0x0 + 0x00000000ff803258 PROVIDE (___fini_array_start, .) + *(SORT(.fini_array.*)) + *(.fini_array) + 0x00000000ff803258 PROVIDE (___fini_array_end, .) + +.ctors + *crtbegin.o(.ctors) + *crtbegin?.o(.ctors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) + *(SORT(.ctors.*)) + *(.ctors) + +.dtors + *crtbegin.o(.dtors) + *crtbegin?.o(.dtors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) + *(SORT(.dtors.*)) + *(.dtors) + +.jcr + *(.jcr) + +.data.rel.ro + *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) + *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) + +.dynamic + *(.dynamic) + +.data 0x00000000ff802258 0x868 + *(.data .data.* .gnu.linkonce.d.*) + .data 0x00000000ff802258 0x4 build/release/objs/l502_async.o + .data 0x00000000ff80225c 0x818 build/release/objs/l502_params.o + 0x00000000ff80225c _g_set + .data 0x00000000ff802a74 0xc build/release/objs/l502_stream.o + 0x00000000ff802a74 _g_streams + .data 0x00000000ff802a80 0x4 build/release/objs/l502_tests.o + 0x00000000ff802ac0 . = ALIGN (0x40) + *fill* 0x00000000ff802a84 0x3c 00 + +.data1 + *(.data1) + +.got + *(.got.plt) + *(.igot.plt) + *(.got) + *(.igot) + +.sdata + *(.sdata .sdata.* .gnu.linkonce.s.*) + 0x00000000ff802ac0 __edata = . + 0x00000000ff802ac0 PROVIDE (_edata, .) + 0x00000000ff802ac0 ___bss_start = . + +.sbss + *(.dynsbss) + *(.sbss .sbss.* .gnu.linkonce.sb.*) + *(.scommon) + +.bss 0x00000000ff802ac0 0x1140 + 0x00000000ff802ac0 __bss_start = . + *(.dynbss) + *(.bss .bss.* .gnu.linkonce.b.*) + .bss 0x00000000ff802ac0 0x4 build/release/objs/l502_cmd.o + .bss 0x00000000ff802ac4 0xc build/release/objs/l502_hdma.o + .bss 0x00000000ff802ad0 0xb4 build/release/objs/l502_sport_tx.o + .bss 0x00000000ff802b84 0x34 build/release/objs/l502_stream.o + 0x00000000ff802b84 _g_stream_in_state + 0x00000000ff802b88 _g_stream_out_state + 0x00000000ff802b8c _g_mode + .bss 0x00000000ff802bb8 0x1020 build/release/objs/l502_tests.o + *(COMMON) + COMMON 0x00000000ff803bd8 0x18 build/release/objs/l502_params.o + 0x00000000ff803bd8 _g_module_info + 0x00000000ff803c00 . = ALIGN (0x40) + *fill* 0x00000000ff803bf0 0x10 00 + 0x00000000ff803c00 __bss_end = . + 0x00000000ff803c00 . = ALIGN (0x40) + 0x00000000ff803c00 __end = . + 0x00000000ff803c00 PROVIDE (_end, .) + +.sdram_noinit 0x0000000000000000 0xc00000 + *(.sdram_noinit, .sdram_noinit.*) + .sdram_noinit 0x0000000000000000 0xc00000 build/release/objs/l502_stream.o + +.stab + *(.stab) + +.stabstr + *(.stabstr) + +.stab.excl + *(.stab.excl) + +.stab.exclstr + *(.stab.exclstr) + +.stab.index + *(.stab.index) + +.stab.indexstr + *(.stab.indexstr) + +.comment 0x0000000000000000 0x1c + *(.comment) + .comment 0x0000000000000000 0x1c build/release/objs/l502_async.o + 0x1d (size before relaxing) + .comment 0x0000000000000000 0x1d build/release/objs/l502_cmd.o + .comment 0x0000000000000000 0x1d build/release/objs/l502_fpga.o + .comment 0x0000000000000000 0x1d build/release/objs/l502_hdma.o + .comment 0x0000000000000000 0x1d build/release/objs/l502_init.o + .comment 0x0000000000000000 0x1d build/release/objs/l502_params.o + .comment 0x0000000000000000 0x1d build/release/objs/l502_sport_tx.o + .comment 0x0000000000000000 0x1d build/release/objs/l502_stream.o + .comment 0x0000000000000000 0x1d build/release/objs/l502_tests.o + .comment 0x0000000000000000 0x1d build/release/objs/l502_user_process.o + .comment 0x0000000000000000 0x1d build/release/objs/main.o + .comment 0x0000000000000000 0x1d /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/lib/libc.a(lib_a-memmove.o) + .comment 0x0000000000000000 0x1d /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/lib/libc.a(lib_a-memset.o) + +.debug + *(.debug) + +.line + *(.line) + +.debug_srcinfo + *(.debug_srcinfo .zdebug_srcinfo) + +.debug_sfnames + *(.debug_sfnames .zdebug_sfnames) + +.debug_aranges 0x0000000000000000 0x1e0 + *(.debug_aranges .zdebug_aranges) + .debug_aranges + 0x0000000000000000 0x20 build/release/objs/l502_async.o + .debug_aranges + 0x0000000000000020 0x20 build/release/objs/l502_cmd.o + .debug_aranges + 0x0000000000000040 0x20 build/release/objs/l502_fpga.o + .debug_aranges + 0x0000000000000060 0x20 build/release/objs/l502_hdma.o + .debug_aranges + 0x0000000000000080 0x20 build/release/objs/l502_init.o + .debug_aranges + 0x00000000000000a0 0x20 build/release/objs/l502_params.o + .debug_aranges + 0x00000000000000c0 0x20 build/release/objs/l502_sport_tx.o + .debug_aranges + 0x00000000000000e0 0x20 build/release/objs/l502_stream.o + .debug_aranges + 0x0000000000000100 0x20 build/release/objs/l502_tests.o + .debug_aranges + 0x0000000000000120 0x20 build/release/objs/l502_user_process.o + .debug_aranges + 0x0000000000000140 0x20 build/release/objs/main.o + .debug_aranges + 0x0000000000000160 0x20 build/release/objs/l502-bf_basiccrt.o + .debug_aranges + 0x0000000000000180 0x20 /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/libgcc.a(_udivsi3.o) + .debug_aranges + 0x00000000000001a0 0x20 /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/lib/libc.a(lib_a-memmove.o) + .debug_aranges + 0x00000000000001c0 0x20 /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/lib/libc.a(lib_a-memset.o) + +.debug_pubnames + 0x0000000000000000 0x681 + *(.debug_pubnames .zdebug_pubnames) + .debug_pubnames + 0x0000000000000000 0x33 build/release/objs/l502_async.o + .debug_pubnames + 0x0000000000000033 0x63 build/release/objs/l502_cmd.o + .debug_pubnames + 0x0000000000000096 0x49 build/release/objs/l502_fpga.o + .debug_pubnames + 0x00000000000000df 0xe7 build/release/objs/l502_hdma.o + .debug_pubnames + 0x00000000000001c6 0x76 build/release/objs/l502_init.o + .debug_pubnames + 0x000000000000023c 0x12e build/release/objs/l502_params.o + .debug_pubnames + 0x000000000000036a 0x8f build/release/objs/l502_sport_tx.o + .debug_pubnames + 0x00000000000003f9 0x18c build/release/objs/l502_stream.o + .debug_pubnames + 0x0000000000000585 0x24 build/release/objs/l502_tests.o + .debug_pubnames + 0x00000000000005a9 0x76 build/release/objs/l502_user_process.o + .debug_pubnames + 0x000000000000061f 0x27 build/release/objs/main.o + .debug_pubnames + 0x0000000000000646 0x1e /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/lib/libc.a(lib_a-memmove.o) + .debug_pubnames + 0x0000000000000664 0x1d /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/lib/libc.a(lib_a-memset.o) + +.debug_info 0x0000000000000000 0x3b83 + *(.debug_info .gnu.linkonce.wi.* .zdebug_info) + .debug_info 0x0000000000000000 0x12c build/release/objs/l502_async.o + .debug_info 0x000000000000012c 0xc51 build/release/objs/l502_cmd.o + .debug_info 0x0000000000000d7d 0x3fd build/release/objs/l502_fpga.o + .debug_info 0x000000000000117a 0x61f build/release/objs/l502_hdma.o + .debug_info 0x0000000000001799 0x4dc build/release/objs/l502_init.o + .debug_info 0x0000000000001c75 0x5ce build/release/objs/l502_params.o + .debug_info 0x0000000000002243 0x3aa build/release/objs/l502_sport_tx.o + .debug_info 0x00000000000025ed 0x810 build/release/objs/l502_stream.o + .debug_info 0x0000000000002dfd 0x4ea build/release/objs/l502_tests.o + .debug_info 0x00000000000032e7 0x278 build/release/objs/l502_user_process.o + .debug_info 0x000000000000355f 0x279 build/release/objs/main.o + .debug_info 0x00000000000037d8 0x87 build/release/objs/l502-bf_basiccrt.o + .debug_info 0x000000000000385f 0xe4 /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/libgcc.a(_udivsi3.o) + .debug_info 0x0000000000003943 0x12f /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/lib/libc.a(lib_a-memmove.o) + .debug_info 0x0000000000003a72 0x111 /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/lib/libc.a(lib_a-memset.o) + +.debug_abbrev 0x0000000000000000 0x130b + *(.debug_abbrev .zdebug_abbrev) + .debug_abbrev 0x0000000000000000 0xa0 build/release/objs/l502_async.o + .debug_abbrev 0x00000000000000a0 0x277 build/release/objs/l502_cmd.o + .debug_abbrev 0x0000000000000317 0x140 build/release/objs/l502_fpga.o + .debug_abbrev 0x0000000000000457 0x240 build/release/objs/l502_hdma.o + .debug_abbrev 0x0000000000000697 0x1c6 build/release/objs/l502_init.o + .debug_abbrev 0x000000000000085d 0x134 build/release/objs/l502_params.o + .debug_abbrev 0x0000000000000991 0x1de build/release/objs/l502_sport_tx.o + .debug_abbrev 0x0000000000000b6f 0x28d build/release/objs/l502_stream.o + .debug_abbrev 0x0000000000000dfc 0x1eb build/release/objs/l502_tests.o + .debug_abbrev 0x0000000000000fe7 0xf2 build/release/objs/l502_user_process.o + .debug_abbrev 0x00000000000010d9 0xc9 build/release/objs/main.o + .debug_abbrev 0x00000000000011a2 0x14 build/release/objs/l502-bf_basiccrt.o + .debug_abbrev 0x00000000000011b6 0x14 /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/libgcc.a(_udivsi3.o) + .debug_abbrev 0x00000000000011ca 0xa0 /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/lib/libc.a(lib_a-memmove.o) + .debug_abbrev 0x000000000000126a 0xa1 /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/lib/libc.a(lib_a-memset.o) + +.debug_line 0x0000000000000000 0x18d8 + *(.debug_line .zdebug_line) + .debug_line 0x0000000000000000 0xff build/release/objs/l502_async.o + .debug_line 0x00000000000000ff 0x2dd build/release/objs/l502_cmd.o + .debug_line 0x00000000000003dc 0x1d2 build/release/objs/l502_fpga.o + .debug_line 0x00000000000005ae 0x26a build/release/objs/l502_hdma.o + .debug_line 0x0000000000000818 0x1c2 build/release/objs/l502_init.o + .debug_line 0x00000000000009da 0x1a2 build/release/objs/l502_params.o + .debug_line 0x0000000000000b7c 0x1d0 build/release/objs/l502_sport_tx.o + .debug_line 0x0000000000000d4c 0x376 build/release/objs/l502_stream.o + .debug_line 0x00000000000010c2 0x28e build/release/objs/l502_tests.o + .debug_line 0x0000000000001350 0x118 build/release/objs/l502_user_process.o + .debug_line 0x0000000000001468 0xfa build/release/objs/main.o + .debug_line 0x0000000000001562 0x78 build/release/objs/l502-bf_basiccrt.o + .debug_line 0x00000000000015da 0xcd /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/libgcc.a(_udivsi3.o) + .debug_line 0x00000000000016a7 0x117 /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/lib/libc.a(lib_a-memmove.o) + .debug_line 0x00000000000017be 0x11a /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/lib/libc.a(lib_a-memset.o) + +.debug_frame 0x0000000000000000 0xbc8 + *(.debug_frame .zdebug_frame) + .debug_frame 0x0000000000000000 0x48 build/release/objs/l502_async.o + .debug_frame 0x0000000000000048 0x1a8 build/release/objs/l502_cmd.o + .debug_frame 0x00000000000001f0 0x58 build/release/objs/l502_fpga.o + .debug_frame 0x0000000000000248 0x208 build/release/objs/l502_hdma.o + .debug_frame 0x0000000000000450 0xb8 build/release/objs/l502_init.o + .debug_frame 0x0000000000000508 0x114 build/release/objs/l502_params.o + .debug_frame 0x000000000000061c 0x158 build/release/objs/l502_sport_tx.o + .debug_frame 0x0000000000000774 0x274 build/release/objs/l502_stream.o + .debug_frame 0x00000000000009e8 0xb8 build/release/objs/l502_tests.o + .debug_frame 0x0000000000000aa0 0x98 build/release/objs/l502_user_process.o + .debug_frame 0x0000000000000b38 0x28 build/release/objs/main.o + .debug_frame 0x0000000000000b60 0x34 /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/lib/libc.a(lib_a-memmove.o) + .debug_frame 0x0000000000000b94 0x34 /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/lib/libc.a(lib_a-memset.o) + +.debug_str 0x0000000000000000 0x1508 + *(.debug_str .zdebug_str) + .debug_str 0x0000000000000000 0x118 build/release/objs/l502_async.o + 0x159 (size before relaxing) + .debug_str 0x0000000000000118 0x7f0 build/release/objs/l502_cmd.o + 0x988 (size before relaxing) + .debug_str 0x0000000000000908 0x55 build/release/objs/l502_fpga.o + 0x146 (size before relaxing) + .debug_str 0x000000000000095d 0x141 build/release/objs/l502_hdma.o + 0x37c (size before relaxing) + .debug_str 0x0000000000000a9e 0x108 build/release/objs/l502_init.o + 0x204 (size before relaxing) + .debug_str 0x0000000000000ba6 0x152 build/release/objs/l502_params.o + 0x5b0 (size before relaxing) + .debug_str 0x0000000000000cf8 0x1bf build/release/objs/l502_sport_tx.o + 0x2d4 (size before relaxing) + .debug_str 0x0000000000000eb7 0x327 build/release/objs/l502_stream.o + 0x628 (size before relaxing) + .debug_str 0x00000000000011de 0x19e build/release/objs/l502_tests.o + 0x429 (size before relaxing) + .debug_str 0x000000000000137c 0x68 build/release/objs/l502_user_process.o + 0x29e (size before relaxing) + .debug_str 0x00000000000013e4 0x10 build/release/objs/main.o + 0x1cc (size before relaxing) + .debug_str 0x00000000000013f4 0x9d /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/lib/libc.a(lib_a-memmove.o) + 0x132 (size before relaxing) + .debug_str 0x0000000000001491 0x77 /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/lib/libc.a(lib_a-memset.o) + 0x113 (size before relaxing) + +.debug_loc 0x0000000000000000 0x251f + *(.debug_loc .zdebug_loc) + .debug_loc 0x0000000000000000 0xee build/release/objs/l502_async.o + .debug_loc 0x00000000000000ee 0x7a5 build/release/objs/l502_cmd.o + .debug_loc 0x0000000000000893 0x103 build/release/objs/l502_fpga.o + .debug_loc 0x0000000000000996 0x443 build/release/objs/l502_hdma.o + .debug_loc 0x0000000000000dd9 0x32e build/release/objs/l502_init.o + .debug_loc 0x0000000000001107 0x2d0 build/release/objs/l502_params.o + .debug_loc 0x00000000000013d7 0x258 build/release/objs/l502_sport_tx.o + .debug_loc 0x000000000000162f 0x5fd build/release/objs/l502_stream.o + .debug_loc 0x0000000000001c2c 0x43d build/release/objs/l502_tests.o + .debug_loc 0x0000000000002069 0x1b6 build/release/objs/l502_user_process.o + .debug_loc 0x000000000000221f 0x1f build/release/objs/main.o + .debug_loc 0x000000000000223e 0x18c /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/lib/libc.a(lib_a-memmove.o) + .debug_loc 0x00000000000023ca 0x155 /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/lib/libc.a(lib_a-memset.o) + +.debug_macinfo + *(.debug_macinfo .zdebug_macinfo) + +.debug_weaknames + *(.debug_weaknames .zdebug_weaknames) + +.debug_funcnames + *(.debug_funcnames .zdebug_funcnames) + +.debug_typenames + *(.debug_typenames .zdebug_typenames) + +.debug_varnames + *(.debug_varnames .zdebug_varnames) + +.debug_pubtypes + *(.debug_pubtypes .zdebug_pubtypes) + +.debug_ranges 0x0000000000000000 0x690 + *(.debug_ranges .zdebug_ranges) + .debug_ranges 0x0000000000000000 0xc0 build/release/objs/l502_cmd.o + .debug_ranges 0x00000000000000c0 0x238 build/release/objs/l502_fpga.o + .debug_ranges 0x00000000000002f8 0x88 build/release/objs/l502_hdma.o + .debug_ranges 0x0000000000000380 0x88 build/release/objs/l502_init.o + .debug_ranges 0x0000000000000408 0x18 build/release/objs/l502_params.o + .debug_ranges 0x0000000000000420 0x30 build/release/objs/l502_sport_tx.o + .debug_ranges 0x0000000000000450 0x1a8 build/release/objs/l502_stream.o + .debug_ranges 0x00000000000005f8 0x98 build/release/objs/l502_tests.o + +.gnu.attributes + *(.gnu.attributes) + +/DISCARD/ + *(.note.GNU-stack) + *(.gnu_debuglink) + *(.gnu.lto_*) + 0x0000000000000690 __end = . + 0x0000000000000690 PROVIDE (_end, .) + 0x00000000ffb00000 __stack_start = ORIGIN (MEM_L1_SCRATCH) + 0x00000000ffb01000 __stack_end = (ORIGIN (MEM_L1_SCRATCH) + 0x1000) +OUTPUT(build/release/bin/l502-BFfirmware0.elf elf32-bfin) + +Cross Reference Table + +Symbol File +__udivsi3 /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/libgcc.a(_udivsi3.o) + build/release/objs/l502_stream.o +_bss_end build/release/objs/l502-bf_basiccrt.o +_bss_start build/release/objs/l502-bf_basiccrt.o +_stack_end build/release/objs/l502-bf_basiccrt.o +_start build/release/objs/l502-bf_basiccrt.o +async_dac_out build/release/objs/l502_async.o + build/release/objs/l502_cmd.o +async_dout build/release/objs/l502_async.o + build/release/objs/l502_cmd.o +configure build/release/objs/l502_params.o + build/release/objs/l502_cmd.o +fpga_reg_read build/release/objs/l502_fpga.o + build/release/objs/l502_tests.o + build/release/objs/l502_cmd.o +fpga_reg_write build/release/objs/l502_fpga.o + build/release/objs/l502_tests.o + build/release/objs/l502_stream.o + build/release/objs/l502_params.o + build/release/objs/l502_cmd.o + build/release/objs/l502_async.o +fpga_spi_init build/release/objs/l502_fpga.o + build/release/objs/l502_init.o +g_mode build/release/objs/l502_stream.o + build/release/objs/l502_tests.o + build/release/objs/l502_params.o + build/release/objs/l502_cmd.o +g_module_info build/release/objs/l502_params.o + build/release/objs/l502_cmd.o +g_set build/release/objs/l502_params.o + build/release/objs/l502_cmd.o +g_state build/release/objs/main.o + build/release/objs/l502_hdma.o + build/release/objs/l502_cmd.o +g_stream_in_state build/release/objs/l502_stream.o +g_stream_out_state build/release/objs/l502_stream.o + build/release/objs/l502_sport_tx.o +g_streams build/release/objs/l502_stream.o + build/release/objs/l502_cmd.o +hdma_init build/release/objs/l502_hdma.o + build/release/objs/l502_init.o +hdma_isr build/release/objs/l502_hdma.o +hdma_rd_isr build/release/objs/l502_hdma.o +hdma_recv_done build/release/objs/l502_stream.o + build/release/objs/l502_hdma.o +hdma_recv_req_rdy build/release/objs/l502_hdma.o + build/release/objs/l502_stream.o +hdma_recv_req_start build/release/objs/l502_hdma.o + build/release/objs/l502_stream.o +hdma_recv_start build/release/objs/l502_hdma.o + build/release/objs/l502_stream.o +hdma_recv_stop build/release/objs/l502_hdma.o + build/release/objs/l502_stream.o +hdma_send_done build/release/objs/l502_user_process.o + build/release/objs/l502_hdma.o +hdma_send_req_rdy build/release/objs/l502_hdma.o + build/release/objs/l502_user_process.o + build/release/objs/l502_stream.o +hdma_send_req_start build/release/objs/l502_hdma.o + build/release/objs/l502_user_process.o + build/release/objs/l502_stream.o +hdma_send_start build/release/objs/l502_hdma.o + build/release/objs/l502_stream.o +hdma_send_stop build/release/objs/l502_hdma.o + build/release/objs/l502_stream.o +isr_sport_dma_rx build/release/objs/l502_stream.o + build/release/objs/l502_init.o +isr_sport_dma_tx build/release/objs/l502_sport_tx.o + build/release/objs/l502_init.o +l502_cmd_check_req build/release/objs/l502_cmd.o + build/release/objs/main.o + build/release/objs/l502_tests.o +l502_cmd_done build/release/objs/l502_cmd.o + build/release/objs/l502_user_process.o + build/release/objs/l502_tests.o +l502_cmd_set_req build/release/objs/l502_cmd.o + build/release/objs/l502_hdma.o +l502_cmd_start build/release/objs/l502_cmd.o +l502_cmd_test build/release/objs/l502_tests.o + build/release/objs/l502_cmd.o +l502_init build/release/objs/l502_init.o + build/release/objs/main.o +l502_otp_init build/release/objs/l502_init.o +l502_otp_make_invalid build/release/objs/l502_init.o +l502_otp_write_cfg build/release/objs/l502_init.o +l502_setup_pll build/release/objs/l502_init.o +l502_stream_init build/release/objs/l502_stream.o + build/release/objs/l502_init.o +main build/release/objs/main.o + build/release/objs/l502-bf_basiccrt.o +memmove /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/lib/libc.a(lib_a-memmove.o) + build/release/objs/l502_cmd.o +memset /home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/lib/libc.a(lib_a-memset.o) + build/release/objs/l502-bf_basiccrt.o +params_set_adc_freq_div build/release/objs/l502_params.o + build/release/objs/l502_cmd.o +params_set_adc_interframe_delay build/release/objs/l502_params.o + build/release/objs/l502_cmd.o +params_set_dac_freq_div build/release/objs/l502_params.o + build/release/objs/l502_cmd.o +params_set_din_freq_div build/release/objs/l502_params.o + build/release/objs/l502_cmd.o +params_set_lch build/release/objs/l502_params.o + build/release/objs/l502_cmd.o +params_set_lch_cnt build/release/objs/l502_params.o + build/release/objs/l502_cmd.o +params_set_ref_freq build/release/objs/l502_params.o + build/release/objs/l502_cmd.o +params_set_sync_mode build/release/objs/l502_params.o + build/release/objs/l502_cmd.o +params_set_sync_start_mode build/release/objs/l502_params.o + build/release/objs/l502_cmd.o +sport_in_buffer_size build/release/objs/l502_stream.o + build/release/objs/l502_cmd.o +sport_in_set_step_size build/release/objs/l502_stream.o + build/release/objs/l502_cmd.o +sport_rx_start build/release/objs/l502_stream.o +sport_rx_stop build/release/objs/l502_stream.o +sport_tx_done build/release/objs/l502_user_process.o + build/release/objs/l502_sport_tx.o +sport_tx_init build/release/objs/l502_sport_tx.o + build/release/objs/l502_stream.o +sport_tx_out_status build/release/objs/l502_sport_tx.o + build/release/objs/l502_cmd.o +sport_tx_req_rdy build/release/objs/l502_sport_tx.o + build/release/objs/l502_user_process.o +sport_tx_start_req build/release/objs/l502_sport_tx.o + build/release/objs/l502_user_process.o +sport_tx_stop build/release/objs/l502_sport_tx.o + build/release/objs/l502_stream.o +stream_disable build/release/objs/l502_stream.o + build/release/objs/l502_cmd.o +stream_enable build/release/objs/l502_stream.o + build/release/objs/l502_cmd.o +stream_in_buf_free build/release/objs/l502_stream.o + build/release/objs/l502_user_process.o +stream_out_buf_free build/release/objs/l502_stream.o + build/release/objs/l502_user_process.o +stream_out_preload build/release/objs/l502_stream.o + build/release/objs/l502_cmd.o +stream_proc build/release/objs/l502_stream.o + build/release/objs/main.o +streams_start build/release/objs/l502_stream.o + build/release/objs/l502_cmd.o +streams_stop build/release/objs/l502_stream.o + build/release/objs/l502_cmd.o +usr_cmd_process build/release/objs/l502_user_process.o + build/release/objs/l502_cmd.o +usr_in_proc_data build/release/objs/l502_user_process.o + build/release/objs/l502_stream.o +usr_out_proc_data build/release/objs/l502_user_process.o + build/release/objs/l502_stream.o diff --git a/build/release/lst/l502-bf_basiccrt.lst b/build/release/lst/l502-bf_basiccrt.lst new file mode 100644 index 0000000..6be2b52 --- /dev/null +++ b/build/release/lst/l502-bf_basiccrt.lst @@ -0,0 +1,354 @@ +BFIN GAS /tmp/ccIa7aFy.s page 1 + + + 1 # 1 "gcc/l502-bf_basiccrt.s" + 1 #include + 1 ... + 0 + 0 + 1 /* + 2 * Copyright (C) 2012 Analog Devices Inc. All rights reserved. + 3 * + 4 * Licensed under the Clear BSD license. + 5 * Please see COPYING.LIBGLOSS for details. + 6 */ + 7 + 8 #ifndef _PLATFORM_H + 9 #define _PLATFORM_H + 10 /* Generic Wrapper for platform specific header file. + 11 */ + 12 #include + 1 /* + 2 * Copyright (C) 2012 Analog Devices Inc. All rights reserved. + 3 * + 4 * Licensed under the Clear BSD license. + 5 * Please see COPYING.LIBGLOSS for details. + 6 */ + 7 + 8 /* + 9 ** Include appropriate header file for platform. + 10 */ + 11 + 12 #ifndef __ADI_PLATFORM_H + 13 #define __ADI_PLATFORM_H + 14 + 15 #ifndef __ASSEMBLER__ + 16 + 17 #if defined (__ADSPBF531__) + 18 #include + 19 #elif defined (__ADSPBF532__) + 20 #include + 21 #elif defined (__ADSPBF533__) + 22 #include + 23 #elif defined (__ADSPBF534__) + 24 #include + 25 #elif defined (__ADSPBF535__) + 26 #include + 27 #elif defined (__ADSPBF536__) + 28 #include + 29 #elif defined (__ADSPBF537__) + 30 #include + 31 #elif defined (__ADSPBF538__) + 32 #include + 33 #elif defined (__ADSPBF539__) + 34 #include + 35 #elif defined (__ADSPBF561__) + 36 #include + 37 #elif defined (__AD6531__) + 38 #include + 39 #elif defined (__AD6532__) + 40 #include + BFIN GAS /tmp/ccIa7aFy.s page 2 + + + 41 #elif defined (__AD6723__) + 42 #include + 43 #elif defined (__AD6900__) + 44 #include + 45 #elif defined (__AD6901__) + 46 #include + 47 #elif defined (__AD6902__) + 48 #include + 49 #elif defined (__AD6903__) + 50 #include + 51 #elif defined (__AD6904__) + 52 #include + 53 #elif defined (__AD6905__) + 54 #include + 55 #elif defined (__MT6906__) + 56 #include + 57 #elif defined (__ADSPBF504__) + 58 #include + 59 #elif defined (__ADSPBF504F__) + 60 #include + 61 #elif defined (__ADSPBF506__) || defined (__ADSPBF506F__) + 62 #include + 63 #elif defined (__ADSPBF512__) + 64 #include + 65 #elif defined (__ADSPBF514__) + 66 #include + 67 #elif defined (__ADSPBF516__) + 68 #include + 69 #elif defined (__ADSPBF518__) + 70 #include + 71 #elif defined (__ADSPBF522__) + 72 #include + 73 #elif defined (__ADSPBF523__) + 74 #include + 75 #elif defined (__ADSPBF524__) + 76 #include + 77 #elif defined (__ADSPBF525__) + 78 #include + 79 #elif defined (__ADSPBF526__) + 80 #include + 81 #elif defined (__ADSPBF527__) + 82 #include + 83 #elif defined (__ADSPBF542__) + 84 #include + 85 #elif defined (__ADSPBF542M__) + 86 #include + 87 #elif defined (__ADSPBF544__) + 88 #include + 89 #elif defined (__ADSPBF544M__) + 90 #include + 91 #elif defined (__ADSPBF547__) + 92 #include + 93 #elif defined (__ADSPBF547M__) + 94 #include + 95 #elif defined (__ADSPBF548__) + 96 #include + 97 #elif defined (__ADSPBF548M__) + BFIN GAS /tmp/ccIa7aFy.s page 3 + + + 98 #include + 99 #elif defined (__ADSPBF549__) + 100 #include + 101 #elif defined (__ADSPBF549M__) + 102 #include + 103 #elif defined (__ADSPBF592A__) + 104 #include + 105 #elif defined (__ADSPBF606__) + 106 #include + 107 #elif defined (__ADSPBF607__) + 108 #include + 109 #elif defined (__ADSPBF608__) + 110 #include + 111 #elif defined (__ADSPBF609__) + 112 #include + 113 #else + 114 #error Processor Type Not Supported + 115 #endif + 116 + 117 + 118 #else + 119 + 120 #if defined (__ADSPBF531__) + 121 #include + 122 #elif defined (__ADSPBF532__) + 123 #include + 124 #elif defined (__ADSPBF533__) + 125 #include + 126 #elif defined (__ADSPBF534__) + 127 #include + 128 #elif defined (__ADSPBF535__) + 129 #include + 130 #elif defined (__ADSPBF536__) + 131 #include + 132 #elif defined (__ADSPBF537__) + 133 #include + 134 #elif defined (__ADSPBF538__) + 135 #include + 136 #elif defined (__ADSPBF539__) + 137 #include + 138 #elif defined (__ADSPBF561__) + 139 #include + 140 #elif defined (__AD6531__) + 141 #include + 142 #elif defined (__AD6532__) + 143 #include + 144 #elif defined (__AD6723__) + 145 #include + 146 #elif defined (__AD6900__) + 147 #include + 148 #elif defined (__AD6901__) + 149 #include + 150 #elif defined (__AD6902__) + 151 #include + 152 #elif defined (__AD6903__) + 153 #include + 154 #elif defined (__AD6904__) + BFIN GAS /tmp/ccIa7aFy.s page 4 + + + 155 #include + 156 #elif defined (__AD6905__) + 157 #include + 158 #elif defined (__MT6906__) + 159 #include + 160 #elif defined (__ADSPBF504__) + 161 #include + 162 #elif defined (__ADSPBF504F__) + 163 #include + 164 #elif defined (__ADSPBF506__) || defined (__ADSPBF506F__) + 165 #include + 166 #elif defined (__ADSPBF512__) + 167 #include + 168 #elif defined (__ADSPBF514__) + 169 #include + 170 #elif defined (__ADSPBF516__) + 171 #include + 172 #elif defined (__ADSPBF518__) + 173 #include + 174 #elif defined (__ADSPBF522__) + 175 #include + 176 #elif defined (__ADSPBF523__) + 177 #include + 1 /* + 2 * Copyright (C) 2012 Analog Devices Inc. All rights reserved. + 3 * + 4 * Licensed under the Clear BSD license. + 5 * Please see COPYING.LIBGLOSS for details. + 6 */ + 7 + 8 /* + 9 ************************************************************************************ + 10 ** + 11 ** This include file contains a list of macro "defines" to enable the programmer + 12 ** to use symbolic names for register-access and bit-manipulation. + 13 ** + 14 **/ + 15 #ifndef _DEF_BF523_H + 16 #define _DEF_BF523_H + 17 + 18 /* Include all Core registers and bit definitions */ + 19 #include + 1 /* + 20 + 21 /* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF523 */ + 22 + 23 /* Include defBF52x_base.h for the set of #defines that are common to all ADSP-BF52x processors */ + 24 #include + 1 /* + 25 + 178 #elif defined (__ADSPBF524__) + 13 #endif + 2 #include + 1 /* + 3 #include + 1 /* + 4 #include + BFIN GAS /tmp/ccIa7aFy.s page 5 + + + 1 /* + 2 * Copyright (C) 2012 Analog Devices Inc. All rights reserved. + 3 * + 4 * Licensed under the Clear BSD license. + 5 * Please see COPYING.LIBGLOSS for details. + 6 */ + 7 + 8 /************************************************************************ + 9 * + 10 * defBF533.h + 11 * + 12 ************************************************************************/ + 13 + 14 #ifndef _DEFBF533_H + 15 #define _DEFBF533_H + 16 + 17 #include + 1 /* + 18 + 5 #include + 6 + 7 .text; + 8 .align 2; + 9 .global __start; + 10 .extern _main; + 11 .type __start, STT_FUNC; + 12 __start: + 13 + 14 0000 0760 R7 = 0; + 15 0002 073C LC0 = R7; + 16 0004 1F3C LC1 = R7; + 17 0006 2736 L0 = R7; + 18 0008 2F36 L1 = R7; + 19 000a 3736 L2 = R7; + 20 000c 3F36 L3 = R7; + 21 000e 10E10013 I0.L = (ITEST_COMMAND & 0xFFFF); + 22 0012 50E1E0FF I0.H = (ITEST_COMMAND >> 16); + 23 0016 11E10003 I1.L = (DTEST_COMMAND & 0xFFFF); + 24 001a 51E1E0FF I1.H = (DTEST_COMMAND >> 16); + 25 001e 0760 R7 = 0; + 26 0020 079F [I0] = R7; + 27 0022 0F9F [I1] = R7; + 28 + 29 0024 2300 CSYNC; + 30 + 31 0026 0EE1F4FF SP.L=__stack_end - 12; + 32 002a 4EE1FFFF SP.H=__stack_end - 12; + 33 002e 7E32 FP = SP; + 34 0030 A66F SP += -12; + 35 + 36 // Zero bss memory + 37 0032 00E10000 R0.L = __bss_start; + 38 0036 40E10000 R0.H = __bss_start; + 39 003a 01E10000 R1.L = __bss_end; + 40 003e 41E10000 R1.H = __bss_end; + 41 0042 8152 R2 = R1 - R0; + 42 0044 0160 R1 = 0; + BFIN GAS /tmp/ccIa7aFy.s page 6 + + + 43 0046 FFE3DDFF CALL.X _memset; + 44 + 45 + 46 ///////////////from PRM///////////////////////////////////// + 47 004a 08E13C20 P0.L = (EVT15 & 0xFFFF) ; /* Point to IVG15 in Event Vector Table */ + 48 004e 48E1E0FF P0.H = ((EVT15 >> 16) & 0xFFFF) ; + 49 0052 09E17A00 P1.L = START; /* Point to start of User code */ + 50 0056 49E10000 P1.H = START; + 51 005a 4193 [P0] = P1 ; /* Place the address of START in IVG15 of EVT */ + 52 005c 08E10421 P0.L = (IMASK & 0xFFFF) ; + 53 0060 0091 R0 = [P0] ; + 54 0062 01E10080 R1.L = (EVT_IVG15 & 0xFFFF) ; + 55 0066 0856 R0 = R0 | R1 ; + 56 0068 0093 [P0] = R0 ; /* Set (enable) IVG15 bit in IMASK register */ + 57 006a 9F00 RAISE 15 ; /* Invoke IVG15 interrupt */ + 58 006c 08E17800 P0.L = WAIT_HERE ; + 59 0070 48E10000 P0.H = WAIT_HERE ; + 60 0074 583E RETI = P0 ; /* RETI loaded with return address */ + 61 0076 1100 RTI ; /* Return from Reset Event */ + 62 WAIT_HERE : /* Wait here till IVG15 interrupt is serviced */ + 63 0078 0020 JUMP WAIT_HERE ; + 64 START: /* IVG15 vectors here */ + 65 /* Enables interrupts and saves return address to stack */ + 66 007a 7B01 [--SP] = RETI ; + 67 ///////////////from PRM///////////////////////////////////// + 68 + 69 007c 4001 [--SP]=R0; + 70 007e 4001 [--SP]=R0; + 71 0080 7E32 FP = SP; + 72 0082 A66F SP += -12; + 73 + 74 0084 FFE3BEFF CALL.X _main; + 75 0088 0000 NOP; + 76 __end: + 77 008a 2000 IDLE; + 78 008c FF2F0000 JUMP __end; + BFIN GAS /tmp/ccIa7aFy.s page 7 + + +DEFINED SYMBOLS +gcc/l502-bf_basiccrt.s:12 .text:0000000000000000 __start +gcc/l502-bf_basiccrt.s:64 .text:000000000000007a START +gcc/l502-bf_basiccrt.s:62 .text:0000000000000078 WAIT_HERE +gcc/l502-bf_basiccrt.s:76 .text:000000000000008a __end + +UNDEFINED SYMBOLS +__stack_end +__bss_start +__bss_end +_memset +_main diff --git a/build/release/lst/l502_async.lst b/build/release/lst/l502_async.lst new file mode 100644 index 0000000..2c397c7 --- /dev/null +++ b/build/release/lst/l502_async.lst @@ -0,0 +1,810 @@ +BFIN GAS /tmp/ccCtLplV.s page 1 + + + 1 .file "src/l502_async.c"; + 2 .section .debug_abbrev,"",@progbits + 3 .Ldebug_abbrev0: + 4 .section .debug_info,"",@progbits + 5 .Ldebug_info0: + 6 .section .debug_line,"",@progbits + 7 .Ldebug_line0: + 8 0000 FB000000 .text; + 8 0200CC00 + 8 00000101 + 8 FB0E0D00 + 8 01010101 + 9 .Ltext0: + 10 .align 4 + 11 .global _async_dout; + 12 .type _async_dout, STT_FUNC; + 13 _async_dout: + 14 .LFB3: + 15 .file 1 "src/l502_async.c" + 1:src/l502_async.c **** /***************************************************************************//** + 2:src/l502_async.c **** @addtogroup async_io + 3:src/l502_async.c **** @{ + 4:src/l502_async.c **** @file l502_async.c + 5:src/l502_async.c **** Файл содержит реализацию функций для асинхронного ввода/вывода + 6:src/l502_async.c **** (пока только вывода) + 7:src/l502_async.c **** ******************************************************************************/ + 8:src/l502_async.c **** #include + 9:src/l502_async.c **** + 10:src/l502_async.c **** #include "l502_cmd.h" + 11:src/l502_async.c **** #include "l502_global.h" + 12:src/l502_async.c **** #include "l502_fpga.h" + 13:src/l502_async.c **** #include "l502_defs.h" + 14:src/l502_async.c **** #include "l502_async.h" + 15:src/l502_async.c **** #include "l502_fpga_regs.h" + 16:src/l502_async.c **** + 17:src/l502_async.c **** + 18:src/l502_async.c **** + 19:src/l502_async.c **** + 20:src/l502_async.c **** void async_dac_out(uint8_t ch, int32_t val) { + 21:src/l502_async.c **** val &= 0xFFFF; + 22:src/l502_async.c **** if (ch==L502_DAC_CH1) { + 23:src/l502_async.c **** val |= L502_STREAM_OUT_WORD_TYPE_DAC1; + 24:src/l502_async.c **** } else { + 25:src/l502_async.c **** val |= L502_STREAM_OUT_WORD_TYPE_DAC2; + 26:src/l502_async.c **** } + 27:src/l502_async.c **** fpga_reg_write(L502_REGS_IOHARD_ASYNC_OUT, val); + 28:src/l502_async.c **** } + 29:src/l502_async.c **** + 30:src/l502_async.c **** + 31:src/l502_async.c **** void async_dout(uint32_t val, uint32_t msk) { + 16 .loc 1 31 0 + 17 .LVL0: + 18 0000 FD05 [--sp] = ( r7:7, p5:5 ); + 19 + 20 .LCFI0: + 21 0002 00E80300 LINK 12; + 22 .LCFI1: + BFIN GAS /tmp/ccCtLplV.s page 2 + + + 23 .loc 1 31 0 + 24 0006 1130 R2 = R1; + 32:src/l502_async.c **** static uint32_t last_out = L502_DIGOUT_WORD_DIS_H | L502_DIGOUT_WORD_DIS_L; + 33:src/l502_async.c **** if (msk != 0) { + 25 .loc 1 33 0 + 26 0008 010C cc =R1==0; + 27 000a 1518 if cc jump .L7; + 34:src/l502_async.c **** val &= ~msk; + 28 .loc 1 34 0 + 29 000c C943 R1 = ~R1; + 30 .LVL1: + 35:src/l502_async.c **** val |= last_out & msk; + 31 .loc 1 35 0 + 32 000e 4DE10000 P5.H = _last_out.2066; + 34:src/l502_async.c **** val &= ~msk; + 33 .loc 1 34 0 + 34 0012 4154 R1 = R1 & R0; + 35 .LVL2: + 36 .loc 1 35 0 + 37 0014 0DE10000 P5.L = _last_out.2066; + 38 0018 2891 R0 = [P5]; + 39 001a 0254 R0 = R2 & R0; + 40 001c 0156 R0 = R1 | R0; + 41 .LVL3: + 42 .L2: + 36:src/l502_async.c **** } + 37:src/l502_async.c **** val &= 0xFFFF; + 43 .loc 1 37 0 + 44 001e C742 R7 = R0.L (Z); + 45 .LVL4: + 38:src/l502_async.c **** + 39:src/l502_async.c **** fpga_reg_write(L502_REGS_IOHARD_ASYNC_OUT, val); + 46 .loc 1 39 0 + 47 0020 0F30 R1 = R7; + 48 0022 20E11203 R0 = 786 (X); + 49 0026 FFE3EDFF call _fpga_reg_write; + 50 .LVL5: + 40:src/l502_async.c **** last_out = val; + 51 .loc 1 40 0 + 52 002a 2F93 [P5] = R7; + 41:src/l502_async.c **** } + 53 .loc 1 41 0 + 54 002c 01E80000 UNLINK; + 55 0030 BD05 ( r7:7, p5:5 ) = [sp++]; + 56 + 57 .LCFI2: + 58 .LVL6: + 59 0032 1000 rts; + 60 .LVL7: + 61 .L7: + 62 0034 4DE10000 P5.H = _last_out.2066; + 63 0038 0DE10000 P5.L = _last_out.2066; + 64 003c F12F jump.s .L2; + 65 .LFE3: + 66 .size _async_dout, .-_async_dout + 67 003e 0000 .align 4 + 68 .global _async_dac_out; + BFIN GAS /tmp/ccCtLplV.s page 3 + + + 69 .type _async_dac_out, STT_FUNC; + 70 _async_dac_out: + 71 .LFB2: + 20:src/l502_async.c **** void async_dac_out(uint8_t ch, int32_t val) { + 72 .loc 1 20 0 + 73 .LVL8: + 22:src/l502_async.c **** if (ch==L502_DAC_CH1) { + 74 .loc 1 22 0 + 75 0040 4043 R0 = R0.B (Z); + 76 .LVL9: + 20:src/l502_async.c **** void async_dac_out(uint8_t ch, int32_t val) { + 77 .loc 1 20 0 + 78 0042 00E80000 LINK 0; + 79 .LCFI3: + 21:src/l502_async.c **** val &= 0xFFFF; + 80 .loc 1 21 0 + 81 0046 C942 R1 = R1.L (Z); + 82 .LVL10: + 22:src/l502_async.c **** if (ch==L502_DAC_CH1) { + 83 .loc 1 22 0 + 84 0048 000C cc =R0==0; + 85 004a 0818 if cc jump .L12; + 25:src/l502_async.c **** val |= L502_STREAM_OUT_WORD_TYPE_DAC2; + 86 .loc 1 25 0 + 87 004c F94A BITSET (R1, 31); + 88 .LVL11: + 27:src/l502_async.c **** fpga_reg_write(L502_REGS_IOHARD_ASYNC_OUT, val); + 89 .loc 1 27 0 + 90 004e 20E11203 R0 = 786 (X); + 91 .LVL12: + 28:src/l502_async.c **** } + 92 .loc 1 28 0 + 93 0052 01E80000 UNLINK; + 27:src/l502_async.c **** fpga_reg_write(L502_REGS_IOHARD_ASYNC_OUT, val); + 94 .loc 1 27 0 + 95 0056 FFE2D5FF jump.l _fpga_reg_write; + 96 .LVL13: + 97 .L12: + 23:src/l502_async.c **** val |= L502_STREAM_OUT_WORD_TYPE_DAC1; + 98 .loc 1 23 0 + 99 005a F14A BITSET (R1, 30); + 100 .LVL14: + 27:src/l502_async.c **** fpga_reg_write(L502_REGS_IOHARD_ASYNC_OUT, val); + 101 .loc 1 27 0 + 102 005c 20E11203 R0 = 786 (X); + 103 .LVL15: + 28:src/l502_async.c **** } + 104 .loc 1 28 0 + 105 0060 01E80000 UNLINK; + 27:src/l502_async.c **** fpga_reg_write(L502_REGS_IOHARD_ASYNC_OUT, val); + 106 .loc 1 27 0 + 107 0064 FFE2CEFF jump.l _fpga_reg_write; + 108 .LVL16: + 109 .LFE2: + 110 .size _async_dac_out, .-_async_dac_out + 111 .data; + 112 .align 4 + BFIN GAS /tmp/ccCtLplV.s page 4 + + + 113 .type _last_out.2066, @object + 114 .size _last_out.2066, 4 + 115 _last_out.2066: + 116 0000 00000300 .long 196608 + 117 .section .debug_frame,"",@progbits + 118 .Lframe0: + 119 0000 0C000000 .4byte .LECIE0-.LSCIE0 + 120 .LSCIE0: + 121 0004 FFFFFFFF .4byte 0xffffffff + 122 0008 01 .byte 0x1 + 123 0009 00 .string "" + 124 000a 01 .uleb128 0x1 + 125 000b 7C .sleb128 -4 + 126 000c 23 .byte 0x23 + 127 000d 0C .byte 0xc + 128 000e 0E .uleb128 0xe + 129 000f 00 .uleb128 0x0 + 130 .align 4 + 131 .LECIE0: + 132 .LSFDE0: + 133 0010 1C000000 .4byte .LEFDE0-.LASFDE0 + 134 .LASFDE0: + 135 0014 00000000 .4byte .Lframe0 + 136 0018 00000000 .4byte .LFB3 + 137 001c 3E000000 .4byte .LFE3-.LFB3 + 138 0020 42 .byte 0x4 + 139 .4byte .LCFI0-.LFB3 + 140 0021 0E .byte 0xe + 141 0022 08 .uleb128 0x8 + 142 0023 44 .byte 0x4 + 143 .4byte .LCFI1-.LCFI0 + 144 0024 0C .byte 0xc + 145 0025 0F .uleb128 0xf + 146 0026 10 .uleb128 0x10 + 147 0027 8F .byte 0x8f + 148 0028 04 .uleb128 0x4 + 149 0029 A3 .byte 0xa3 + 150 002a 03 .uleb128 0x3 + 151 002b 8D .byte 0x8d + 152 002c 02 .uleb128 0x2 + 153 002d 87 .byte 0x87 + 154 002e 01 .uleb128 0x1 + 155 002f 00 .align 4 + 156 .LEFDE0: + 157 .LSFDE2: + 158 0030 14000000 .4byte .LEFDE2-.LASFDE2 + 159 .LASFDE2: + 160 0034 00000000 .4byte .Lframe0 + 161 0038 40000000 .4byte .LFB2 + 162 003c 28000000 .4byte .LFE2-.LFB2 + 163 0040 46 .byte 0x4 + 164 .4byte .LCFI3-.LFB2 + 165 0041 0C .byte 0xc + 166 0042 0F .uleb128 0xf + 167 0043 08 .uleb128 0x8 + 168 0044 8F .byte 0x8f + 169 0045 02 .uleb128 0x2 + BFIN GAS /tmp/ccCtLplV.s page 5 + + + 170 0046 A3 .byte 0xa3 + 171 0047 01 .uleb128 0x1 + 172 .align 4 + 173 .LEFDE2: + 174 .text; + 175 .Letext0: + 176 .section .debug_loc,"",@progbits + 177 .Ldebug_loc0: + 178 .LLST0: + 179 0000 00000000 .4byte .LFB3-.Ltext0 + 180 0004 02000000 .4byte .LCFI0-.Ltext0 + 181 0008 0100 .2byte 0x1 + 182 000a 5E .byte 0x5e + 183 000b 02000000 .4byte .LCFI0-.Ltext0 + 184 000f 06000000 .4byte .LCFI1-.Ltext0 + 185 0013 0200 .2byte 0x2 + 186 0015 7E .byte 0x7e + 187 0016 08 .sleb128 8 + 188 0017 06000000 .4byte .LCFI1-.Ltext0 + 189 001b 3E000000 .4byte .LFE3-.Ltext0 + 190 001f 0200 .2byte 0x2 + 191 0021 7F .byte 0x7f + 192 0022 10 .sleb128 16 + 193 0023 00000000 .4byte 0x0 + 194 0027 00000000 .4byte 0x0 + 195 .LLST1: + 196 002b 00000000 .4byte .LVL0-.Ltext0 + 197 002f 14000000 .4byte .LVL2-.Ltext0 + 198 0033 0100 .2byte 0x1 + 199 0035 50 .byte 0x50 + 200 0036 14000000 .4byte .LVL2-.Ltext0 + 201 003a 1E000000 .4byte .LVL3-.Ltext0 + 202 003e 0100 .2byte 0x1 + 203 0040 51 .byte 0x51 + 204 0041 1E000000 .4byte .LVL3-.Ltext0 + 205 0045 20000000 .4byte .LVL4-.Ltext0 + 206 0049 0100 .2byte 0x1 + 207 004b 50 .byte 0x50 + 208 004c 20000000 .4byte .LVL4-.Ltext0 + 209 0050 32000000 .4byte .LVL6-.Ltext0 + 210 0054 0100 .2byte 0x1 + 211 0056 57 .byte 0x57 + 212 0057 34000000 .4byte .LVL7-.Ltext0 + 213 005b 3E000000 .4byte .LFE3-.Ltext0 + 214 005f 0100 .2byte 0x1 + 215 0061 50 .byte 0x50 + 216 0062 00000000 .4byte 0x0 + 217 0066 00000000 .4byte 0x0 + 218 .LLST2: + 219 006a 00000000 .4byte .LVL0-.Ltext0 + 220 006e 0E000000 .4byte .LVL1-.Ltext0 + 221 0072 0100 .2byte 0x1 + 222 0074 51 .byte 0x51 + 223 0075 0E000000 .4byte .LVL1-.Ltext0 + 224 0079 2A000000 .4byte .LVL5-.Ltext0 + 225 007d 0100 .2byte 0x1 + 226 007f 52 .byte 0x52 + BFIN GAS /tmp/ccCtLplV.s page 6 + + + 227 0080 34000000 .4byte .LVL7-.Ltext0 + 228 0084 3E000000 .4byte .LFE3-.Ltext0 + 229 0088 0100 .2byte 0x1 + 230 008a 51 .byte 0x51 + 231 008b 00000000 .4byte 0x0 + 232 008f 00000000 .4byte 0x0 + 233 .LLST3: + 234 0093 40000000 .4byte .LFB2-.Ltext0 + 235 0097 46000000 .4byte .LCFI3-.Ltext0 + 236 009b 0100 .2byte 0x1 + 237 009d 5E .byte 0x5e + 238 009e 46000000 .4byte .LCFI3-.Ltext0 + 239 00a2 68000000 .4byte .LFE2-.Ltext0 + 240 00a6 0200 .2byte 0x2 + 241 00a8 7F .byte 0x7f + 242 00a9 08 .sleb128 8 + 243 00aa 00000000 .4byte 0x0 + 244 00ae 00000000 .4byte 0x0 + 245 .LLST4: + 246 00b2 40000000 .4byte .LVL8-.Ltext0 + 247 00b6 52000000 .4byte .LVL12-.Ltext0 + 248 00ba 0100 .2byte 0x1 + 249 00bc 50 .byte 0x50 + 250 00bd 5A000000 .4byte .LVL13-.Ltext0 + 251 00c1 60000000 .4byte .LVL15-.Ltext0 + 252 00c5 0100 .2byte 0x1 + 253 00c7 50 .byte 0x50 + 254 00c8 00000000 .4byte 0x0 + 255 00cc 00000000 .4byte 0x0 + 256 .LLST5: + 257 00d0 40000000 .4byte .LVL8-.Ltext0 + 258 00d4 5A000000 .4byte .LVL13-.Ltext0 + 259 00d8 0100 .2byte 0x1 + 260 00da 51 .byte 0x51 + 261 00db 5A000000 .4byte .LVL13-.Ltext0 + 262 00df 68000000 .4byte .LVL16-.Ltext0 + 263 00e3 0100 .2byte 0x1 + 264 00e5 51 .byte 0x51 + 265 00e6 00000000 .4byte 0x0 + 266 00ea 00000000 .4byte 0x0 + 267 .file 2 "/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib + 268 .file 3 "src/l502_defs.h" + 269 .section .debug_info + 270 0000 28010000 .4byte 0x128 + 271 0004 0200 .2byte 0x2 + 272 0006 00000000 .4byte .Ldebug_abbrev0 + 273 000a 04 .byte 0x4 + 274 000b 01 .uleb128 0x1 + 275 000c 48010000 .4byte .LASF15 + 276 0010 01 .byte 0x1 + 277 0011 9F000000 .4byte .LASF16 + 278 0015 55000000 .4byte .LASF17 + 279 0019 00000000 .4byte .Ltext0 + 280 001d 68000000 .4byte .Letext0 + 281 0021 00000000 .4byte .Ldebug_line0 + 282 0025 02 .uleb128 0x2 + 283 0026 04 .byte 0x4 + BFIN GAS /tmp/ccCtLplV.s page 7 + + + 284 0027 07 .byte 0x7 + 285 0028 23000000 .4byte .LASF0 + 286 002c 03 .uleb128 0x3 + 287 002d 04 .byte 0x4 + 288 002e 05 .byte 0x5 + 289 002f 696E7400 .string "int" + 290 0033 02 .uleb128 0x2 + 291 0034 01 .byte 0x1 + 292 0035 06 .byte 0x6 + 293 0036 24010000 .4byte .LASF1 + 294 003a 02 .uleb128 0x2 + 295 003b 01 .byte 0x1 + 296 003c 08 .byte 0x8 + 297 003d B8000000 .4byte .LASF2 + 298 0041 02 .uleb128 0x2 + 299 0042 02 .byte 0x2 + 300 0043 05 .byte 0x5 + 301 0044 3E010000 .4byte .LASF3 + 302 0048 02 .uleb128 0x2 + 303 0049 02 .byte 0x2 + 304 004a 07 .byte 0x7 + 305 004b 11010000 .4byte .LASF4 + 306 004f 02 .uleb128 0x2 + 307 0050 04 .byte 0x4 + 308 0051 07 .byte 0x7 + 309 0052 0E000000 .4byte .LASF5 + 310 0056 02 .uleb128 0x2 + 311 0057 08 .byte 0x8 + 312 0058 05 .byte 0x5 + 313 0059 00000000 .4byte .LASF6 + 314 005d 02 .uleb128 0x2 + 315 005e 08 .byte 0x8 + 316 005f 07 .byte 0x7 + 317 0060 3E000000 .4byte .LASF7 + 318 0064 02 .uleb128 0x2 + 319 0065 04 .byte 0x4 + 320 0066 05 .byte 0x5 + 321 0067 F1000000 .4byte .LASF8 + 322 006b 04 .uleb128 0x4 + 323 006c 04 .byte 0x4 + 324 006d 07 .byte 0x7 + 325 006e 02 .uleb128 0x2 + 326 006f 01 .byte 0x1 + 327 0070 06 .byte 0x6 + 328 0071 54010000 .4byte .LASF9 + 329 0075 05 .uleb128 0x5 + 330 0076 B0000000 .4byte .LASF10 + 331 007a 02 .byte 0x2 + 332 007b 2A .byte 0x2a + 333 007c 3A000000 .4byte 0x3a + 334 0080 05 .uleb128 0x5 + 335 0081 1B000000 .4byte .LASF11 + 336 0085 02 .byte 0x2 + 337 0086 4F .byte 0x4f + 338 0087 64000000 .4byte 0x64 + 339 008b 05 .uleb128 0x5 + 340 008c E8000000 .4byte .LASF12 + BFIN GAS /tmp/ccCtLplV.s page 8 + + + 341 0090 02 .byte 0x2 + 342 0091 50 .byte 0x50 + 343 0092 25000000 .4byte 0x25 + 344 0096 06 .uleb128 0x6 + 345 0097 04 .byte 0x4 + 346 0098 03 .byte 0x3 + 347 0099 45 .byte 0x45 + 348 009a AF000000 .4byte 0xaf + 349 009e 07 .uleb128 0x7 + 350 009f D1000000 .4byte .LASF13 + 351 00a3 808008 .sleb128 131072 + 352 00a6 07 .uleb128 0x7 + 353 00a7 FA000000 .4byte .LASF14 + 354 00ab 808004 .sleb128 65536 + 355 00ae 00 .byte 0x0 + 356 00af 08 .uleb128 0x8 + 357 00b0 01 .byte 0x1 + 358 00b1 C6000000 .4byte .LASF18 + 359 00b5 01 .byte 0x1 + 360 00b6 1F .byte 0x1f + 361 00b7 01 .byte 0x1 + 362 00b8 00000000 .4byte .LFB3 + 363 00bc 3E000000 .4byte .LFE3 + 364 00c0 00000000 .4byte .LLST0 + 365 00c4 F8000000 .4byte 0xf8 + 366 00c8 09 .uleb128 0x9 + 367 00c9 76616C00 .string "val" + 368 00cd 01 .byte 0x1 + 369 00ce 1F .byte 0x1f + 370 00cf 8B000000 .4byte 0x8b + 371 00d3 2B000000 .4byte .LLST1 + 372 00d7 09 .uleb128 0x9 + 373 00d8 6D736B00 .string "msk" + 374 00dc 01 .byte 0x1 + 375 00dd 1F .byte 0x1f + 376 00de 8B000000 .4byte 0x8b + 377 00e2 6A000000 .4byte .LLST2 + 378 00e6 0A .uleb128 0xa + 379 00e7 35000000 .4byte .LASF19 + 380 00eb 01 .byte 0x1 + 381 00ec 20 .byte 0x20 + 382 00ed 8B000000 .4byte 0x8b + 383 00f1 05 .byte 0x5 + 384 00f2 03 .byte 0x3 + 385 00f3 00000000 .4byte _last_out.2066 + 386 00f7 00 .byte 0x0 + 387 00f8 0B .uleb128 0xb + 388 00f9 01 .byte 0x1 + 389 00fa 30010000 .4byte .LASF20 + 390 00fe 01 .byte 0x1 + 391 00ff 14 .byte 0x14 + 392 0100 01 .byte 0x1 + 393 0101 40000000 .4byte .LFB2 + 394 0105 68000000 .4byte .LFE2 + 395 0109 93000000 .4byte .LLST3 + 396 010d 09 .uleb128 0x9 + 397 010e 636800 .string "ch" + BFIN GAS /tmp/ccCtLplV.s page 9 + + + 398 0111 01 .byte 0x1 + 399 0112 14 .byte 0x14 + 400 0113 75000000 .4byte 0x75 + 401 0117 B2000000 .4byte .LLST4 + 402 011b 09 .uleb128 0x9 + 403 011c 76616C00 .string "val" + 404 0120 01 .byte 0x1 + 405 0121 14 .byte 0x14 + 406 0122 80000000 .4byte 0x80 + 407 0126 D0000000 .4byte .LLST5 + 408 012a 00 .byte 0x0 + 409 012b 00 .byte 0x0 + 410 .section .debug_abbrev + 411 0000 01 .uleb128 0x1 + 412 0001 11 .uleb128 0x11 + 413 0002 01 .byte 0x1 + 414 0003 25 .uleb128 0x25 + 415 0004 0E .uleb128 0xe + 416 0005 13 .uleb128 0x13 + 417 0006 0B .uleb128 0xb + 418 0007 03 .uleb128 0x3 + 419 0008 0E .uleb128 0xe + 420 0009 1B .uleb128 0x1b + 421 000a 0E .uleb128 0xe + 422 000b 11 .uleb128 0x11 + 423 000c 01 .uleb128 0x1 + 424 000d 12 .uleb128 0x12 + 425 000e 01 .uleb128 0x1 + 426 000f 10 .uleb128 0x10 + 427 0010 06 .uleb128 0x6 + 428 0011 00 .byte 0x0 + 429 0012 00 .byte 0x0 + 430 0013 02 .uleb128 0x2 + 431 0014 24 .uleb128 0x24 + 432 0015 00 .byte 0x0 + 433 0016 0B .uleb128 0xb + 434 0017 0B .uleb128 0xb + 435 0018 3E .uleb128 0x3e + 436 0019 0B .uleb128 0xb + 437 001a 03 .uleb128 0x3 + 438 001b 0E .uleb128 0xe + 439 001c 00 .byte 0x0 + 440 001d 00 .byte 0x0 + 441 001e 03 .uleb128 0x3 + 442 001f 24 .uleb128 0x24 + 443 0020 00 .byte 0x0 + 444 0021 0B .uleb128 0xb + 445 0022 0B .uleb128 0xb + 446 0023 3E .uleb128 0x3e + 447 0024 0B .uleb128 0xb + 448 0025 03 .uleb128 0x3 + 449 0026 08 .uleb128 0x8 + 450 0027 00 .byte 0x0 + 451 0028 00 .byte 0x0 + 452 0029 04 .uleb128 0x4 + 453 002a 24 .uleb128 0x24 + 454 002b 00 .byte 0x0 + BFIN GAS /tmp/ccCtLplV.s page 10 + + + 455 002c 0B .uleb128 0xb + 456 002d 0B .uleb128 0xb + 457 002e 3E .uleb128 0x3e + 458 002f 0B .uleb128 0xb + 459 0030 00 .byte 0x0 + 460 0031 00 .byte 0x0 + 461 0032 05 .uleb128 0x5 + 462 0033 16 .uleb128 0x16 + 463 0034 00 .byte 0x0 + 464 0035 03 .uleb128 0x3 + 465 0036 0E .uleb128 0xe + 466 0037 3A .uleb128 0x3a + 467 0038 0B .uleb128 0xb + 468 0039 3B .uleb128 0x3b + 469 003a 0B .uleb128 0xb + 470 003b 49 .uleb128 0x49 + 471 003c 13 .uleb128 0x13 + 472 003d 00 .byte 0x0 + 473 003e 00 .byte 0x0 + 474 003f 06 .uleb128 0x6 + 475 0040 04 .uleb128 0x4 + 476 0041 01 .byte 0x1 + 477 0042 0B .uleb128 0xb + 478 0043 0B .uleb128 0xb + 479 0044 3A .uleb128 0x3a + 480 0045 0B .uleb128 0xb + 481 0046 3B .uleb128 0x3b + 482 0047 0B .uleb128 0xb + 483 0048 01 .uleb128 0x1 + 484 0049 13 .uleb128 0x13 + 485 004a 00 .byte 0x0 + 486 004b 00 .byte 0x0 + 487 004c 07 .uleb128 0x7 + 488 004d 28 .uleb128 0x28 + 489 004e 00 .byte 0x0 + 490 004f 03 .uleb128 0x3 + 491 0050 0E .uleb128 0xe + 492 0051 1C .uleb128 0x1c + 493 0052 0D .uleb128 0xd + 494 0053 00 .byte 0x0 + 495 0054 00 .byte 0x0 + 496 0055 08 .uleb128 0x8 + 497 0056 2E .uleb128 0x2e + 498 0057 01 .byte 0x1 + 499 0058 3F .uleb128 0x3f + 500 0059 0C .uleb128 0xc + 501 005a 03 .uleb128 0x3 + 502 005b 0E .uleb128 0xe + 503 005c 3A .uleb128 0x3a + 504 005d 0B .uleb128 0xb + 505 005e 3B .uleb128 0x3b + 506 005f 0B .uleb128 0xb + 507 0060 27 .uleb128 0x27 + 508 0061 0C .uleb128 0xc + 509 0062 11 .uleb128 0x11 + 510 0063 01 .uleb128 0x1 + 511 0064 12 .uleb128 0x12 + BFIN GAS /tmp/ccCtLplV.s page 11 + + + 512 0065 01 .uleb128 0x1 + 513 0066 40 .uleb128 0x40 + 514 0067 06 .uleb128 0x6 + 515 0068 01 .uleb128 0x1 + 516 0069 13 .uleb128 0x13 + 517 006a 00 .byte 0x0 + 518 006b 00 .byte 0x0 + 519 006c 09 .uleb128 0x9 + 520 006d 05 .uleb128 0x5 + 521 006e 00 .byte 0x0 + 522 006f 03 .uleb128 0x3 + 523 0070 08 .uleb128 0x8 + 524 0071 3A .uleb128 0x3a + 525 0072 0B .uleb128 0xb + 526 0073 3B .uleb128 0x3b + 527 0074 0B .uleb128 0xb + 528 0075 49 .uleb128 0x49 + 529 0076 13 .uleb128 0x13 + 530 0077 02 .uleb128 0x2 + 531 0078 06 .uleb128 0x6 + 532 0079 00 .byte 0x0 + 533 007a 00 .byte 0x0 + 534 007b 0A .uleb128 0xa + 535 007c 34 .uleb128 0x34 + 536 007d 00 .byte 0x0 + 537 007e 03 .uleb128 0x3 + 538 007f 0E .uleb128 0xe + 539 0080 3A .uleb128 0x3a + 540 0081 0B .uleb128 0xb + 541 0082 3B .uleb128 0x3b + 542 0083 0B .uleb128 0xb + 543 0084 49 .uleb128 0x49 + 544 0085 13 .uleb128 0x13 + 545 0086 02 .uleb128 0x2 + 546 0087 0A .uleb128 0xa + 547 0088 00 .byte 0x0 + 548 0089 00 .byte 0x0 + 549 008a 0B .uleb128 0xb + 550 008b 2E .uleb128 0x2e + 551 008c 01 .byte 0x1 + 552 008d 3F .uleb128 0x3f + 553 008e 0C .uleb128 0xc + 554 008f 03 .uleb128 0x3 + 555 0090 0E .uleb128 0xe + 556 0091 3A .uleb128 0x3a + 557 0092 0B .uleb128 0xb + 558 0093 3B .uleb128 0x3b + 559 0094 0B .uleb128 0xb + 560 0095 27 .uleb128 0x27 + 561 0096 0C .uleb128 0xc + 562 0097 11 .uleb128 0x11 + 563 0098 01 .uleb128 0x1 + 564 0099 12 .uleb128 0x12 + 565 009a 01 .uleb128 0x1 + 566 009b 40 .uleb128 0x40 + 567 009c 06 .uleb128 0x6 + 568 009d 00 .byte 0x0 + BFIN GAS /tmp/ccCtLplV.s page 12 + + + 569 009e 00 .byte 0x0 + 570 009f 00 .byte 0x0 + 571 .section .debug_pubnames,"",@progbits + 572 0000 2F000000 .4byte 0x2f + 573 0004 0200 .2byte 0x2 + 574 0006 00000000 .4byte .Ldebug_info0 + 575 000a 2C010000 .4byte 0x12c + 576 000e AF000000 .4byte 0xaf + 577 0012 6173796E .string "async_dout" + 577 635F646F + 577 757400 + 578 001d F8000000 .4byte 0xf8 + 579 0021 6173796E .string "async_dac_out" + 579 635F6461 + 579 635F6F75 + 579 7400 + 580 002f 00000000 .4byte 0x0 + 581 .section .debug_aranges,"",@progbits + 582 0000 1C000000 .4byte 0x1c + 583 0004 0200 .2byte 0x2 + 584 0006 00000000 .4byte .Ldebug_info0 + 585 000a 04 .byte 0x4 + 586 000b 00 .byte 0x0 + 587 000c 0000 .2byte 0x0 + 588 000e 0000 .2byte 0x0 + 589 0010 00000000 .4byte .Ltext0 + 590 0014 68000000 .4byte .Letext0-.Ltext0 + 591 0018 00000000 .4byte 0x0 + 592 001c 00000000 .4byte 0x0 + 593 .section .debug_str,"MS",@progbits,1 + 594 .LASF6: + 595 0000 6C6F6E67 .string "long long int" + 595 206C6F6E + 595 6720696E + 595 7400 + 596 .LASF5: + 597 000e 756E7369 .string "unsigned int" + 597 676E6564 + 597 20696E74 + 597 00 + 598 .LASF11: + 599 001b 696E7433 .string "int32_t" + 599 325F7400 + 600 .LASF0: + 601 0023 6C6F6E67 .string "long unsigned int" + 601 20756E73 + 601 69676E65 + 601 6420696E + 601 7400 + 602 .LASF19: + 603 0035 6C617374 .string "last_out" + 603 5F6F7574 + 603 00 + 604 .LASF7: + 605 003e 6C6F6E67 .string "long long unsigned int" + 605 206C6F6E + 605 6720756E + BFIN GAS /tmp/ccCtLplV.s page 13 + + + 605 7369676E + 605 65642069 + 606 .LASF17: + 607 0055 2F686F6D .string "/home/feda/MIPT/RadioPhotonic_Subserface_radar/ADC_computing/BFfirmware_0" + 607 652F6665 + 607 64612F4D + 607 4950542F + 607 52616469 + 608 .LASF16: + 609 009f 7372632F .string "src/l502_async.c" + 609 6C353032 + 609 5F617379 + 609 6E632E63 + 609 00 + 610 .LASF10: + 611 00b0 75696E74 .string "uint8_t" + 611 385F7400 + 612 .LASF2: + 613 00b8 756E7369 .string "unsigned char" + 613 676E6564 + 613 20636861 + 613 7200 + 614 .LASF18: + 615 00c6 6173796E .string "async_dout" + 615 635F646F + 615 757400 + 616 .LASF13: + 617 00d1 4C353032 .string "L502_DIGOUT_WORD_DIS_H" + 617 5F444947 + 617 4F55545F + 617 574F5244 + 617 5F444953 + 618 .LASF12: + 619 00e8 75696E74 .string "uint32_t" + 619 33325F74 + 619 00 + 620 .LASF8: + 621 00f1 6C6F6E67 .string "long int" + 621 20696E74 + 621 00 + 622 .LASF14: + 623 00fa 4C353032 .string "L502_DIGOUT_WORD_DIS_L" + 623 5F444947 + 623 4F55545F + 623 574F5244 + 623 5F444953 + 624 .LASF4: + 625 0111 73686F72 .string "short unsigned int" + 625 7420756E + 625 7369676E + 625 65642069 + 625 6E7400 + 626 .LASF1: + 627 0124 7369676E .string "signed char" + 627 65642063 + 627 68617200 + 628 .LASF20: + BFIN GAS /tmp/ccCtLplV.s page 14 + + + 629 0130 6173796E .string "async_dac_out" + 629 635F6461 + 629 635F6F75 + 629 7400 + 630 .LASF3: + 631 013e 73686F72 .string "short int" + 631 7420696E + 631 7400 + 632 .LASF15: + 633 0148 474E5520 .string "GNU C 4.3.5" + 633 4320342E + 633 332E3500 + 634 .LASF9: + 635 0154 63686172 .string "char" + 635 00 + 636 .ident "GCC: (ADI-2014R1-RC2) 4.3.5" + BFIN GAS /tmp/ccCtLplV.s page 15 + + +DEFINED SYMBOLS + *ABS*:0000000000000000 src/l502_async.c + /tmp/ccCtLplV.s:13 .text:0000000000000000 _async_dout + /tmp/ccCtLplV.s:115 .data:0000000000000000 _last_out.2066 + /tmp/ccCtLplV.s:70 .text:0000000000000040 _async_dac_out + +UNDEFINED SYMBOLS +_fpga_reg_write diff --git a/build/release/lst/l502_cmd.lst b/build/release/lst/l502_cmd.lst new file mode 100644 index 0000000..082d7e6 --- /dev/null +++ b/build/release/lst/l502_cmd.lst @@ -0,0 +1,6679 @@ +BFIN GAS /tmp/ccPX33wG.s page 1 + + + 1 .file "src/l502_cmd.c"; + 2 .section .debug_abbrev,"",@progbits + 3 .Ldebug_abbrev0: + 4 .section .debug_info,"",@progbits + 5 .Ldebug_info0: + 6 .section .debug_line,"",@progbits + 7 .Ldebug_line0: + 8 0000 D9020000 .text; + 8 02001301 + 8 00000101 + 8 FB0E0D00 + 8 01010101 + 9 .Ltext0: + 10 .align 4 + 11 .global _l502_cmd_set_req; + 12 .type _l502_cmd_set_req, STT_FUNC; + 13 _l502_cmd_set_req: + 14 .LFB19: + 15 .file 1 "src/l502_cmd.c" + 1:src/l502_cmd.c **** /***************************************************************************//** + 2:src/l502_cmd.c **** @addtogroup cmd_process + 3:src/l502_cmd.c **** @{ + 4:src/l502_cmd.c **** @file l502_cmd.c + 5:src/l502_cmd.c **** Файл содержит логику обработки команд от ПК, переданных через + 6:src/l502_cmd.c **** HostDMA в BlackFin. + 7:src/l502_cmd.c **** Для каждого кода команды в таблице f_cmd_tbl задана функция для + 8:src/l502_cmd.c **** обработки команды. Если в таблице код команды не найден, + 9:src/l502_cmd.c **** то возвращается ошибка. Для пользовательских команд + 10:src/l502_cmd.c **** всегда вызывается usr_cmd_process(). + 11:src/l502_cmd.c **** *******************************************************************************/ + 12:src/l502_cmd.c **** + 13:src/l502_cmd.c **** #include "l502_global.h" + 14:src/l502_cmd.c **** #include "l502_cmd.h" + 15:src/l502_cmd.c **** #include "l502_stream.h" + 16:src/l502_cmd.c **** #include "l502_params.h" + 17:src/l502_cmd.c **** #include "l502_user_process.h" + 18:src/l502_cmd.c **** #include "l502_async.h" + 19:src/l502_cmd.c **** #include "l502_sport_tx.h" + 20:src/l502_cmd.c **** + 21:src/l502_cmd.c **** #include + 22:src/l502_cmd.c **** #include + 23:src/l502_cmd.c **** #include + 24:src/l502_cmd.c **** #include + 25:src/l502_cmd.c **** #include "l502_fpga.h" + 26:src/l502_cmd.c **** + 27:src/l502_cmd.c **** + 28:src/l502_cmd.c **** + 29:src/l502_cmd.c **** extern void l502_cmd_test(t_l502_bf_cmd *cmd); + 30:src/l502_cmd.c **** static void f_cmd_set_param(t_l502_bf_cmd *cmd); + 31:src/l502_cmd.c **** static void f_cmd_get_param(t_l502_bf_cmd *cmd); + 32:src/l502_cmd.c **** static void f_cmd_config(t_l502_bf_cmd *cmd); + 33:src/l502_cmd.c **** static void f_cmd_streams_start(t_l502_bf_cmd *cmd); + 34:src/l502_cmd.c **** static void f_cmd_stream_stop(t_l502_bf_cmd *cmd); + 35:src/l502_cmd.c **** static void f_cmd_preload(t_l502_bf_cmd *cmd); + 36:src/l502_cmd.c **** static void f_cmd_stream_enable(t_l502_bf_cmd *cmd); + 37:src/l502_cmd.c **** static void f_cmd_stream_disable(t_l502_bf_cmd *cmd); + 38:src/l502_cmd.c **** static void f_cmd_async_out(t_l502_bf_cmd *cmd); + BFIN GAS /tmp/ccPX33wG.s page 2 + + + 39:src/l502_cmd.c **** static void f_cmd_fpga_reg_wr(t_l502_bf_cmd *cmd); + 40:src/l502_cmd.c **** static void f_cmd_fpga_reg_rd(t_l502_bf_cmd *cmd); + 41:src/l502_cmd.c **** static void f_cmd_get_out_status(t_l502_bf_cmd *cmd); + 42:src/l502_cmd.c **** + 43:src/l502_cmd.c **** + 44:src/l502_cmd.c **** /* Тип, описывающий функцию обработки конкретной команды */ + 45:src/l502_cmd.c **** typedef void (*t_cmd_func)(t_l502_bf_cmd* cmd); + 46:src/l502_cmd.c **** + 47:src/l502_cmd.c **** static const uint32_t f_regaddr_k[L502_ADC_RANGE_CNT] = {L502_REGS_IOARITH_K10, + 48:src/l502_cmd.c **** L502_REGS_IOARITH_K5, + 49:src/l502_cmd.c **** L502_REGS_IOARITH_K2, + 50:src/l502_cmd.c **** L502_REGS_IOARITH_K1, + 51:src/l502_cmd.c **** L502_REGS_IOARITH_K05, + 52:src/l502_cmd.c **** L502_REGS_IOARITH_K02}; + 53:src/l502_cmd.c **** + 54:src/l502_cmd.c **** static const uint32_t f_regaddr_offs[L502_ADC_RANGE_CNT] = {L502_REGS_IOARITH_B10, + 55:src/l502_cmd.c **** L502_REGS_IOARITH_B5, + 56:src/l502_cmd.c **** L502_REGS_IOARITH_B2, + 57:src/l502_cmd.c **** L502_REGS_IOARITH_B1, + 58:src/l502_cmd.c **** L502_REGS_IOARITH_B05, + 59:src/l502_cmd.c **** L502_REGS_IOARITH_B02}; + 60:src/l502_cmd.c **** + 61:src/l502_cmd.c **** + 62:src/l502_cmd.c **** + 63:src/l502_cmd.c **** static volatile uint8_t f_cmd_req=0; + 64:src/l502_cmd.c **** /* таблица с соответствием кодов команд и функций для их выполнения */ + 65:src/l502_cmd.c **** static const struct { + 66:src/l502_cmd.c **** uint32_t cmd_code; + 67:src/l502_cmd.c **** t_cmd_func start; + 68:src/l502_cmd.c **** } f_cmd_tbl[] = { + 69:src/l502_cmd.c **** {L502_BF_CMD_CODE_TEST, l502_cmd_test}, + 70:src/l502_cmd.c **** {L502_BF_CMD_CODE_SET_PARAM, f_cmd_set_param}, + 71:src/l502_cmd.c **** {L502_BF_CMD_CODE_GET_PARAM, f_cmd_get_param}, + 72:src/l502_cmd.c **** {L502_BF_CMD_CODE_CONFIGURE, f_cmd_config}, + 73:src/l502_cmd.c **** {L502_BF_CMD_CODE_STREAM_START, f_cmd_streams_start}, + 74:src/l502_cmd.c **** {L502_BF_CMD_CODE_STREAM_STOP , f_cmd_stream_stop}, + 75:src/l502_cmd.c **** {L502_BF_CMD_CODE_PRELOAD, f_cmd_preload}, + 76:src/l502_cmd.c **** {L502_BF_CMD_CODE_STREAM_EN, f_cmd_stream_enable}, + 77:src/l502_cmd.c **** {L502_BF_CMD_CODE_STREAM_DIS, f_cmd_stream_disable}, + 78:src/l502_cmd.c **** {L502_BF_CMD_CODE_ASYNC_OUT, f_cmd_async_out}, + 79:src/l502_cmd.c **** {L502_BF_CMD_CODE_FPGA_REG_WR, f_cmd_fpga_reg_wr}, + 80:src/l502_cmd.c **** {L502_BF_CMD_CODE_FPGA_REG_RD, f_cmd_fpga_reg_rd}, + 81:src/l502_cmd.c **** {L502_BF_CMD_CODE_GET_OUT_STATUS, f_cmd_get_out_status}, + 82:src/l502_cmd.c **** }; + 83:src/l502_cmd.c **** + 84:src/l502_cmd.c **** + 85:src/l502_cmd.c **** + 86:src/l502_cmd.c **** + 87:src/l502_cmd.c **** + 88:src/l502_cmd.c **** void l502_cmd_done(int32_t result, uint32_t* data, uint32_t size) { + 89:src/l502_cmd.c **** g_state.cmd.result = result; + 90:src/l502_cmd.c **** g_state.cmd.data_size = size; + 91:src/l502_cmd.c **** if (size && (data!=g_state.cmd.data)) + 92:src/l502_cmd.c **** memmove((void*)g_state.cmd.data, data, size*sizeof(data[0])); + 93:src/l502_cmd.c **** + 94:src/l502_cmd.c **** g_state.cmd.status = L502_BF_CMD_STATUS_DONE; + 95:src/l502_cmd.c **** } + BFIN GAS /tmp/ccPX33wG.s page 3 + + + 96:src/l502_cmd.c **** + 97:src/l502_cmd.c **** + 98:src/l502_cmd.c **** + 99:src/l502_cmd.c **** void l502_cmd_start(t_l502_bf_cmd* cmd) { + 100:src/l502_cmd.c **** uint32_t i, fnd; + 101:src/l502_cmd.c **** + 102:src/l502_cmd.c **** if (cmd->code & L502_BF_CMD_CODE_USER) { + 103:src/l502_cmd.c **** usr_cmd_process(cmd); + 104:src/l502_cmd.c **** } else { + 105:src/l502_cmd.c **** for (i=0, fnd=0; !fnd && (i < sizeof(f_cmd_tbl)/sizeof(f_cmd_tbl[0])); i++) { + 106:src/l502_cmd.c **** if (cmd->code == f_cmd_tbl[i].cmd_code) { + 107:src/l502_cmd.c **** fnd = 1; + 108:src/l502_cmd.c **** f_cmd_tbl[i].start(cmd); + 109:src/l502_cmd.c **** } + 110:src/l502_cmd.c **** } + 111:src/l502_cmd.c **** + 112:src/l502_cmd.c **** if (!fnd) + 113:src/l502_cmd.c **** l502_cmd_done(L502_BF_ERR_UNSUP_CMD, NULL, 0); + 114:src/l502_cmd.c **** } + 115:src/l502_cmd.c **** } + 116:src/l502_cmd.c **** + 117:src/l502_cmd.c **** + 118:src/l502_cmd.c **** + 119:src/l502_cmd.c **** + 120:src/l502_cmd.c **** void l502_cmd_check_req(void) { + 121:src/l502_cmd.c **** if (f_cmd_req == 1) { + 122:src/l502_cmd.c **** f_cmd_req=0; + 123:src/l502_cmd.c **** l502_cmd_start((void*)&g_state.cmd); + 124:src/l502_cmd.c **** } + 125:src/l502_cmd.c **** } + 126:src/l502_cmd.c **** + 127:src/l502_cmd.c **** void l502_cmd_set_req(void) { + 16 .loc 1 127 0 + 128:src/l502_cmd.c **** f_cmd_req = 1; + 17 .loc 1 128 0 + 18 0000 4AE10000 P2.H = _f_cmd_req; + 127:src/l502_cmd.c **** void l502_cmd_set_req(void) { + 19 .loc 1 127 0 + 20 0004 00E80000 LINK 0; + 21 .LCFI0: + 22 .loc 1 128 0 + 23 0008 0860 R0 = 1 (X); + 24 000a 0AE10000 P2.L = _f_cmd_req; + 25 000e 109B B [P2] = R0; + 129:src/l502_cmd.c **** g_state.cmd.status = L502_BF_CMD_STATUS_PROGRESS; + 26 .loc 1 129 0 + 27 0010 4AE10000 P2.H = _g_state; + 28 0014 20E1025A R0 = 23042 (X); + 29 0018 0AE10000 P2.L = _g_state; + 30 001c 50E60104 W [P2+2050] = R0; + 130:src/l502_cmd.c **** } + 31 .loc 1 130 0 + 32 0020 01E80000 UNLINK; + 33 0024 1000 rts; + 34 .LFE19: + 35 .size _l502_cmd_set_req, .-_l502_cmd_set_req + 36 0026 0000 .align 4 + BFIN GAS /tmp/ccPX33wG.s page 4 + + + 37 .global _l502_cmd_done; + 38 .type _l502_cmd_done, STT_FUNC; + 39 _l502_cmd_done: + 40 .LFB16: + 88:src/l502_cmd.c **** void l502_cmd_done(int32_t result, uint32_t* data, uint32_t size) { + 41 .loc 1 88 0 + 42 .LVL0: + 43 0028 C504 [--sp] = ( p5:5 ); + 44 + 45 .LCFI1: + 89:src/l502_cmd.c **** g_state.cmd.result = result; + 46 .loc 1 89 0 + 47 002a 4DE10000 P5.H = _g_state; + 48 002e 0DE10000 P5.L = _g_state; + 49 0032 28E60202 [P5+2056] = R0; + 88:src/l502_cmd.c **** void l502_cmd_done(int32_t result, uint32_t* data, uint32_t size) { + 50 .loc 1 88 0 + 51 0036 00E80300 LINK 12; + 52 .LCFI2: + 90:src/l502_cmd.c **** g_state.cmd.data_size = size; + 53 .loc 1 90 0 + 54 003a 2AE60302 [P5+2060] = R2; + 91:src/l502_cmd.c **** if (size && (data!=g_state.cmd.data)) + 55 .loc 1 91 0 + 56 003e 020C cc =R2==0; + 57 0040 0A18 if cc jump .L4; + 58 0042 40E10000 R0.H = _g_state+2064; + 59 .LVL1: + 60 0046 00E11008 R0.L = _g_state+2064; + 61 004a 0108 cc =R1==R0; + 62 004c 0418 if cc jump .L4; + 92:src/l502_cmd.c **** memmove((void*)g_state.cmd.data, data, size*sizeof(data[0])); + 63 .loc 1 92 0 + 64 004e 124F R2 <<= 2; + 65 .LVL2: + 66 0050 FFE3D8FF call _memmove; + 67 .LVL3: + 68 .L4: + 94:src/l502_cmd.c **** g_state.cmd.status = L502_BF_CMD_STATUS_DONE; + 69 .loc 1 94 0 + 70 0054 20E1035A R0 = 23043 (X); + 71 .LVL4: + 72 0058 68E60104 W [P5+2050] = R0; + 95:src/l502_cmd.c **** } + 73 .loc 1 95 0 + 74 005c 01E80000 UNLINK; + 75 0060 8504 ( p5:5 ) = [sp++]; + 76 + 77 .LCFI3: + 78 0062 1000 rts; + 79 .LFE16: + 80 .size _l502_cmd_done, .-_l502_cmd_done + 81 .align 4 + 82 .type _f_cmd_set_param, STT_FUNC; + 83 _f_cmd_set_param: + 84 .LFB30: + 131:src/l502_cmd.c **** + BFIN GAS /tmp/ccPX33wG.s page 5 + + + 132:src/l502_cmd.c **** static void f_cmd_streams_start(t_l502_bf_cmd *cmd) { + 133:src/l502_cmd.c **** l502_cmd_done(streams_start(), NULL, 0); + 134:src/l502_cmd.c **** } + 135:src/l502_cmd.c **** + 136:src/l502_cmd.c **** static void f_cmd_stream_stop(t_l502_bf_cmd *cmd) { + 137:src/l502_cmd.c **** l502_cmd_done(streams_stop(), NULL, 0); + 138:src/l502_cmd.c **** } + 139:src/l502_cmd.c **** + 140:src/l502_cmd.c **** static void f_cmd_config(t_l502_bf_cmd *cmd) { + 141:src/l502_cmd.c **** l502_cmd_done(configure(), NULL, 0); + 142:src/l502_cmd.c **** } + 143:src/l502_cmd.c **** + 144:src/l502_cmd.c **** static void f_cmd_preload(t_l502_bf_cmd *cmd) { + 145:src/l502_cmd.c **** l502_cmd_done(stream_out_preload(), NULL, 0); + 146:src/l502_cmd.c **** } + 147:src/l502_cmd.c **** + 148:src/l502_cmd.c **** static void f_cmd_stream_enable(t_l502_bf_cmd *cmd) { + 149:src/l502_cmd.c **** l502_cmd_done(stream_enable(cmd->param), NULL, 0); + 150:src/l502_cmd.c **** } + 151:src/l502_cmd.c **** + 152:src/l502_cmd.c **** static void f_cmd_stream_disable(t_l502_bf_cmd *cmd) { + 153:src/l502_cmd.c **** l502_cmd_done(stream_disable(cmd->param), NULL, 0); + 154:src/l502_cmd.c **** } + 155:src/l502_cmd.c **** + 156:src/l502_cmd.c **** static void f_cmd_async_out(t_l502_bf_cmd *cmd) { + 157:src/l502_cmd.c **** int32_t err = 0; + 158:src/l502_cmd.c **** if (cmd->data_size < 1) { + 159:src/l502_cmd.c **** err = L502_BF_ERR_INSUF_CMD_DATA; + 160:src/l502_cmd.c **** } else { + 161:src/l502_cmd.c **** switch (cmd->param) { + 162:src/l502_cmd.c **** case L502_BF_CMD_ASYNC_TYPE_DOUT: + 163:src/l502_cmd.c **** async_dout(cmd->data[0], cmd->data_size >= 2 ? cmd->data[1] : 0); + 164:src/l502_cmd.c **** break; + 165:src/l502_cmd.c **** case L502_BF_CMD_ASYNC_TYPE_DAC1: + 166:src/l502_cmd.c **** async_dac_out(L502_DAC_CH1, cmd->data[0]); + 167:src/l502_cmd.c **** break; + 168:src/l502_cmd.c **** case L502_BF_CMD_ASYNC_TYPE_DAC2: + 169:src/l502_cmd.c **** async_dac_out(L502_DAC_CH2, cmd->data[0]); + 170:src/l502_cmd.c **** break; + 171:src/l502_cmd.c **** default: + 172:src/l502_cmd.c **** err = L502_BF_ERR_INVALID_CMD_PARAMS; + 173:src/l502_cmd.c **** break; + 174:src/l502_cmd.c **** } + 175:src/l502_cmd.c **** } + 176:src/l502_cmd.c **** l502_cmd_done(err, NULL, 0); + 177:src/l502_cmd.c **** } + 178:src/l502_cmd.c **** + 179:src/l502_cmd.c **** static void f_cmd_fpga_reg_wr(t_l502_bf_cmd *cmd) { + 180:src/l502_cmd.c **** int32_t err = 0; + 181:src/l502_cmd.c **** if (cmd->data_size < 1) { + 182:src/l502_cmd.c **** err = L502_BF_ERR_INSUF_CMD_DATA; + 183:src/l502_cmd.c **** } else if ((cmd->param & 0xFFFF0000) != 0) { + 184:src/l502_cmd.c **** err = L502_BF_ERR_INVALID_CMD_PARAMS; + 185:src/l502_cmd.c **** } else { + 186:src/l502_cmd.c **** fpga_reg_write(cmd->param, cmd->data[0]); + 187:src/l502_cmd.c **** } + 188:src/l502_cmd.c **** l502_cmd_done(err, NULL, 0); + BFIN GAS /tmp/ccPX33wG.s page 6 + + + 189:src/l502_cmd.c **** } + 190:src/l502_cmd.c **** + 191:src/l502_cmd.c **** static void f_cmd_fpga_reg_rd(t_l502_bf_cmd *cmd) { + 192:src/l502_cmd.c **** int32_t err = 0; + 193:src/l502_cmd.c **** uint32_t val; + 194:src/l502_cmd.c **** if ((cmd->param & 0xFFFF0000) != 0) { + 195:src/l502_cmd.c **** err = L502_BF_ERR_INVALID_CMD_PARAMS; + 196:src/l502_cmd.c **** } else { + 197:src/l502_cmd.c **** val = fpga_reg_read(cmd->param); + 198:src/l502_cmd.c **** } + 199:src/l502_cmd.c **** l502_cmd_done(err, &val, 1); + 200:src/l502_cmd.c **** } + 201:src/l502_cmd.c **** + 202:src/l502_cmd.c **** static void f_cmd_get_out_status(t_l502_bf_cmd *cmd) { + 203:src/l502_cmd.c **** uint32_t val = sport_tx_out_status(); + 204:src/l502_cmd.c **** l502_cmd_done(0, &val, 1); + 205:src/l502_cmd.c **** } + 206:src/l502_cmd.c **** + 207:src/l502_cmd.c **** + 208:src/l502_cmd.c **** /* Установка различных параметров. + 209:src/l502_cmd.c **** Код параметра определяется по cmd->param, значение берется из cmd->data + 210:src/l502_cmd.c **** в соответствии с параметром */ + 211:src/l502_cmd.c **** static void f_cmd_set_param(t_l502_bf_cmd *cmd) { + 85 .loc 1 211 0 + 86 .LVL5: + 87 0064 FD05 [--sp] = ( r7:7, p5:5 ); + 88 + 89 .LCFI4: + 212:src/l502_cmd.c **** int32_t err = g_mode != L502_BF_MODE_IDLE ? L502_BF_ERR_STREAM_RUNNING : + 213:src/l502_cmd.c **** cmd->data_size < 1 ? L502_BF_ERR_INSUF_CMD_DATA : 0; + 90 .loc 1 213 0 + 91 0066 4AE10000 P2.H = _g_mode; + 211:src/l502_cmd.c **** static void f_cmd_set_param(t_l502_bf_cmd *cmd) { + 92 .loc 1 211 0 + 93 006a 00E80600 LINK 24; + 94 .LCFI5: + 211:src/l502_cmd.c **** static void f_cmd_set_param(t_l502_bf_cmd *cmd) { + 95 .loc 1 211 0 + 96 006e 2832 P5 = R0; + 97 .loc 1 213 0 + 98 0070 0AE10000 P2.L = _g_mode; + 99 0074 1091 R0 = [P2]; + 100 .LVL6: + 101 0076 000C cc =R0==0; + 102 0078 141C if cc jump .L8 (bp); + 103 007a 20E1FCFD R0 = -516 (X); + 104 .LVL7: + 105 .L9: + 106 .LBB7: + 107 .LBB8: + 89:src/l502_cmd.c **** g_state.cmd.result = result; + 108 .loc 1 89 0 + 109 007e 4AE10000 P2.H = _g_state; + 110 0082 0AE10000 P2.L = _g_state; + 111 0086 10E60202 [P2+2056] = R0; + 90:src/l502_cmd.c **** g_state.cmd.data_size = size; + 112 .loc 1 90 0 + BFIN GAS /tmp/ccPX33wG.s page 7 + + + 113 008a 0060 R0 = 0 (X); + 114 .LVL8: + 115 008c 10E60302 [P2+2060] = R0; + 94:src/l502_cmd.c **** g_state.cmd.status = L502_BF_CMD_STATUS_DONE; + 116 .loc 1 94 0 + 117 0090 20E1035A R0 = 23043 (X); + 118 0094 50E60104 W [P2+2050] = R0; + 119 .LBE8: + 120 .LBE7: + 214:src/l502_cmd.c **** + 215:src/l502_cmd.c **** if (!err) { + 216:src/l502_cmd.c **** switch (cmd->param) { + 217:src/l502_cmd.c **** case L502_BF_PARAM_MODULE_INFO: + 218:src/l502_cmd.c **** if (cmd->data_size > 0) { + 219:src/l502_cmd.c **** g_module_info.devflags = cmd->data[0]; + 220:src/l502_cmd.c **** } + 221:src/l502_cmd.c **** if (cmd->data_size > 1) { + 222:src/l502_cmd.c **** g_module_info.fpga_ver = cmd->data[1] & 0xFFFF; + 223:src/l502_cmd.c **** g_module_info.plda_ver = (cmd->data[1]>>16) & 0xFF; + 224:src/l502_cmd.c **** } + 225:src/l502_cmd.c **** break; + 226:src/l502_cmd.c **** case L502_BF_PARAM_LCH_CNT: + 227:src/l502_cmd.c **** err = params_set_lch_cnt(cmd->data[0]); + 228:src/l502_cmd.c **** break; + 229:src/l502_cmd.c **** case L502_BF_PARAM_LCH: + 230:src/l502_cmd.c **** /* параметры: 0 - индекс, 1 - физ канал, 2 - режим, 3 - диапазон, 4 - усреденение * + 231:src/l502_cmd.c **** if (cmd->data_size < 5) { + 232:src/l502_cmd.c **** err = L502_BF_ERR_INSUF_CMD_DATA; + 233:src/l502_cmd.c **** } else { + 234:src/l502_cmd.c **** err = params_set_lch(cmd->data[0], cmd->data[1], (t_l502_lch_mode)cmd->data[2], + 235:src/l502_cmd.c **** (t_l502_adc_range)cmd->data[3], cmd->data[4], + 236:src/l502_cmd.c **** cmd->data_size>5 ? cmd->data[5] : 0); + 237:src/l502_cmd.c **** } + 238:src/l502_cmd.c **** break; + 239:src/l502_cmd.c **** case L502_BF_PARAM_ADC_FREQ_DIV: + 240:src/l502_cmd.c **** err = params_set_adc_freq_div(cmd->data[0]); + 241:src/l502_cmd.c **** break; + 242:src/l502_cmd.c **** case L502_BF_PARAM_REF_FREQ_SRC: + 243:src/l502_cmd.c **** err = params_set_ref_freq(cmd->data[0]); + 244:src/l502_cmd.c **** break; + 245:src/l502_cmd.c **** case L502_BF_PARAM_ADC_FRAME_DELAY: + 246:src/l502_cmd.c **** err = params_set_adc_interframe_delay(cmd->data[0]); + 247:src/l502_cmd.c **** break; + 248:src/l502_cmd.c **** case L502_BF_PARAM_SYNC_MODE: + 249:src/l502_cmd.c **** err = params_set_sync_mode((t_l502_sync_mode)cmd->data[0]); + 250:src/l502_cmd.c **** break; + 251:src/l502_cmd.c **** case L502_BF_PARAM_SYNC_START_MODE: + 252:src/l502_cmd.c **** err = params_set_sync_start_mode((t_l502_sync_mode)cmd->data[0]); + 253:src/l502_cmd.c **** break; + 254:src/l502_cmd.c **** case L502_BF_PARAM_DIN_FREQ_DIV: + 255:src/l502_cmd.c **** err = params_set_din_freq_div(cmd->data[0]); + 256:src/l502_cmd.c **** break; + 257:src/l502_cmd.c **** case L502_BF_PARAM_DAC_FREQ_DIV: + 258:src/l502_cmd.c **** err = params_set_dac_freq_div(cmd->data[0]); + 259:src/l502_cmd.c **** break; + 260:src/l502_cmd.c **** case L502_BF_PARAM_IN_STEP_SIZE: + 261:src/l502_cmd.c **** err = sport_in_set_step_size(cmd->data[0]); + BFIN GAS /tmp/ccPX33wG.s page 8 + + + 262:src/l502_cmd.c **** break; + 263:src/l502_cmd.c **** case L502_BF_PARAM_ADC_COEF: + 264:src/l502_cmd.c **** if (cmd->data_size < 3) { + 265:src/l502_cmd.c **** err = L502_BF_ERR_INSUF_CMD_DATA; + 266:src/l502_cmd.c **** } else { + 267:src/l502_cmd.c **** uint32_t range = cmd->data[0]; + 268:src/l502_cmd.c **** if (range >= L502_ADC_RANGE_CNT) { + 269:src/l502_cmd.c **** err = L502_BF_ERR_INVALID_CMD_PARAMS; + 270:src/l502_cmd.c **** } else { + 271:src/l502_cmd.c **** fpga_reg_write(f_regaddr_k[range], cmd->data[1]); + 272:src/l502_cmd.c **** fpga_reg_write(f_regaddr_offs[range], cmd->data[2]); + 273:src/l502_cmd.c **** } + 274:src/l502_cmd.c **** } + 275:src/l502_cmd.c **** break; + 276:src/l502_cmd.c **** case L502_BF_PARAM_DAC_COEF: + 277:src/l502_cmd.c **** if (cmd->data_size < 3) { + 278:src/l502_cmd.c **** err = L502_BF_ERR_INSUF_CMD_DATA; + 279:src/l502_cmd.c **** } else { + 280:src/l502_cmd.c **** uint32_t ch = cmd->data[0]; + 281:src/l502_cmd.c **** if (ch >= L502_DAC_CH_CNT) { + 282:src/l502_cmd.c **** err = L502_BF_ERR_INVALID_CMD_PARAMS; + 283:src/l502_cmd.c **** } else { + 284:src/l502_cmd.c **** float* pk = (float*)&cmd->data[1]; + 285:src/l502_cmd.c **** float* po = (float*)&cmd->data[2]; + 286:src/l502_cmd.c **** g_module_info.dac_cbr[ch].k = *pk; + 287:src/l502_cmd.c **** g_module_info.dac_cbr[ch].offs = *po; + 288:src/l502_cmd.c **** } + 289:src/l502_cmd.c **** } + 290:src/l502_cmd.c **** break; + 291:src/l502_cmd.c **** default: + 292:src/l502_cmd.c **** err = L502_BF_ERR_INVALID_CMD_PARAMS; + 293:src/l502_cmd.c **** break; + 294:src/l502_cmd.c **** } + 295:src/l502_cmd.c **** } + 296:src/l502_cmd.c **** l502_cmd_done(err, NULL, 0); + 297:src/l502_cmd.c **** } + 121 .loc 1 297 0 + 122 0098 01E80000 UNLINK; + 123 009c BD05 ( r7:7, p5:5 ) = [sp++]; + 124 + 125 .LCFI6: + 126 .LVL9: + 127 009e 1000 rts; + 128 .LVL10: + 129 .L8: + 130 00a0 0000 nop; + 213:src/l502_cmd.c **** cmd->data_size < 1 ? L502_BF_ERR_INSUF_CMD_DATA : 0; + 131 .loc 1 213 0 + 132 00a2 EBA0 R3 = [P5+12]; + 133 00a4 030C cc =R3==0; + 134 00a6 0414 if !cc jump .L32 (bp); + 135 .L27: + 136 .LBB9: + 137 .LBB11: + 287:src/l502_cmd.c **** g_module_info.dac_cbr[ch].offs = *po; + 138 .loc 1 287 0 + 139 00a8 20E1FDFD R0 = -515 (X); + BFIN GAS /tmp/ccPX33wG.s page 9 + + + 140 .LVL11: + 141 00ac E92F jump.s .L9; + 142 .LVL12: + 143 .L32: + 144 .LBE11: + 145 .LBE9: + 216:src/l502_cmd.c **** switch (cmd->param) { + 146 .loc 1 216 0 + 147 00ae 7869 P0 = 47 (X); + 148 00b0 69AC P1 = [P5+4]; + 149 00b2 E96F P1 += -3; + 150 00b4 410A cc =P1<=P0 (iu); + 151 00b6 041C if cc jump .L33 (bp); + 152 .LVL13: + 153 .L11: + 154 .LBB13: + 155 .LBB10: + 287:src/l502_cmd.c **** g_module_info.dac_cbr[ch].offs = *po; + 156 .loc 1 287 0 + 157 00b8 20E1FEFD R0 = -514 (X); + 158 .LVL14: + 159 00bc E12F jump.s .L9; + 160 .LVL15: + 161 .L33: + 162 .LBE10: + 163 .LBE13: + 216:src/l502_cmd.c **** switch (cmd->param) { + 164 .loc 1 216 0 + 165 00be 4AE10000 P2.H = .L25; + 166 00c2 0AE10000 P2.L = .L25; + 167 00c6 8A5E P2 = P2 + (P1 << 2); + 168 00c8 5291 P2 = [P2]; + 169 00ca 5200 jump (P2); + 170 .section .rodata + 171 .align 4 + 172 .align 4 + 173 .L25: + 174 0000 BC010000 .dd .L12; + 175 0004 B8000000 .dd .L11; + 176 0008 B8000000 .dd .L11; + 177 000c B8000000 .dd .L11; + 178 0010 B8000000 .dd .L11; + 179 0014 B8000000 .dd .L11; + 180 0018 B8000000 .dd .L11; + 181 001c B8000000 .dd .L11; + 182 0020 B8000000 .dd .L11; + 183 0024 B8000000 .dd .L11; + 184 0028 B8000000 .dd .L11; + 185 002c B8000000 .dd .L11; + 186 0030 B8000000 .dd .L11; + 187 0034 B8000000 .dd .L11; + 188 0038 B8000000 .dd .L11; + 189 003c B8000000 .dd .L11; + 190 0040 B8000000 .dd .L11; + 191 0044 B8000000 .dd .L11; + 192 0048 B8000000 .dd .L11; + 193 004c B8000000 .dd .L11; + BFIN GAS /tmp/ccPX33wG.s page 10 + + + 194 0050 B8000000 .dd .L11; + 195 0054 B8000000 .dd .L11; + 196 0058 B8000000 .dd .L11; + 197 005c B8000000 .dd .L11; + 198 0060 B8000000 .dd .L11; + 199 0064 B8000000 .dd .L11; + 200 0068 B8000000 .dd .L11; + 201 006c B8000000 .dd .L11; + 202 0070 B8000000 .dd .L11; + 203 0074 B4010000 .dd .L13; + 204 0078 88010000 .dd .L14; + 205 007c 80010000 .dd .L15; + 206 0080 78010000 .dd .L16; + 207 0084 70010000 .dd .L17; + 208 0088 68010000 .dd .L18; + 209 008c 60010000 .dd .L19; + 210 0090 1A010000 .dd .L20; + 211 0094 E4000000 .dd .L21; + 212 0098 B8000000 .dd .L11; + 213 009c B8000000 .dd .L11; + 214 00a0 B8000000 .dd .L11; + 215 00a4 B8000000 .dd .L11; + 216 00a8 B8000000 .dd .L11; + 217 00ac B8000000 .dd .L11; + 218 00b0 B8000000 .dd .L11; + 219 00b4 DC000000 .dd .L22; + 220 00b8 D4000000 .dd .L23; + 221 00bc CC000000 .dd .L24; + 222 .text; + 223 .L24: + 261:src/l502_cmd.c **** err = sport_in_set_step_size(cmd->data[0]); + 224 .loc 1 261 0 + 225 00cc 28A1 R0 = [P5+16]; + 226 00ce FFE399FF call _sport_in_set_step_size; + 227 00d2 D62F jump.s .L9; + 228 .L23: + 258:src/l502_cmd.c **** err = params_set_dac_freq_div(cmd->data[0]); + 229 .loc 1 258 0 + 230 00d4 28A1 R0 = [P5+16]; + 231 00d6 FFE395FF call _params_set_dac_freq_div; + 232 00da D22F jump.s .L9; + 233 .L22: + 255:src/l502_cmd.c **** err = params_set_din_freq_div(cmd->data[0]); + 234 .loc 1 255 0 + 235 00dc 28A1 R0 = [P5+16]; + 236 00de FFE391FF call _params_set_din_freq_div; + 237 00e2 CE2F jump.s .L9; + 238 .L21: + 277:src/l502_cmd.c **** if (cmd->data_size < 3) { + 239 .loc 1 277 0 + 240 00e4 130E cc =R3<=2 (iu); + 241 00e6 E11B if cc jump .L27; + 242 00e8 0000 nop; + 243 00ea 0000 nop; + 244 00ec 0000 nop; + 245 .LBB14: + 280:src/l502_cmd.c **** uint32_t ch = cmd->data[0]; + BFIN GAS /tmp/ccPX33wG.s page 11 + + + 246 .loc 1 280 0 + 247 00ee 29A1 R1 = [P5+16]; + 248 .LVL16: + 281:src/l502_cmd.c **** if (ch >= L502_DAC_CH_CNT) { + 249 .loc 1 281 0 + 250 00f0 090E cc =R1<=1 (iu); + 251 00f2 E317 if !cc jump .L11 (bp); + 252 .LBB12: + 286:src/l502_cmd.c **** g_module_info.dac_cbr[ch].k = *pk; + 253 .loc 1 286 0 + 254 00f4 82C61980 R0 = R1 << 3; + 255 00f8 0032 P0 = R0; + 256 00fa 4AE10000 P2.H = _g_module_info; + 257 00fe 0AE10000 P2.L = _g_module_info; + 258 0102 68A1 R0 = [P5+20]; + 287:src/l502_cmd.c **** g_module_info.dac_cbr[ch].offs = *po; + 259 .loc 1 287 0 + 260 0104 0964 R1 += 1; + 286:src/l502_cmd.c **** g_module_info.dac_cbr[ch].k = *pk; + 261 .loc 1 286 0 + 262 0106 425A P1 = P2 + P0; + 263 0108 C8B0 [P1+12] = R0; + 287:src/l502_cmd.c **** g_module_info.dac_cbr[ch].offs = *po; + 264 .loc 1 287 0 + 265 010a 82C61980 R0 = R1 << 3; + 266 010e 0832 P1 = R0; + 267 0110 A8A1 R0 = [P5+24]; + 268 0112 8A5A P2 = P2 + P1; + 269 0114 1093 [P2] = R0; + 270 .L31: + 271 0116 0060 R0 = 0 (X); + 272 .LVL17: + 273 0118 B32F jump.s .L9; + 274 .LVL18: + 275 .L20: + 276 .LBE12: + 277 .LBE14: + 264:src/l502_cmd.c **** if (cmd->data_size < 3) { + 278 .loc 1 264 0 + 279 011a 130E cc =R3<=2 (iu); + 280 011c C61B if cc jump .L27; + 281 011e 0000 nop; + 282 0120 0000 nop; + 283 0122 0000 nop; + 284 .LBB15: + 267:src/l502_cmd.c **** uint32_t range = cmd->data[0]; + 285 .loc 1 267 0 + 286 0124 28A1 R0 = [P5+16]; + 287 .LVL19: + 268:src/l502_cmd.c **** if (range >= L502_ADC_RANGE_CNT) { + 288 .loc 1 268 0 + 289 0126 280E cc =R0<=5 (iu); + 290 0128 C817 if !cc jump .L11 (bp); + 271:src/l502_cmd.c **** fpga_reg_write(f_regaddr_k[range], cmd->data[1]); + 291 .loc 1 271 0 + 292 012a 82CE108E R7 = R0 << 2 || + 292 69A10000 + BFIN GAS /tmp/ccPX33wG.s page 12 + + + 293 R1 = [P5+20] || + 294 nop; + 295 0132 40E10000 R0.H = _f_regaddr_k; + 296 .LVL20: + 297 0136 00E1F001 R0.L = _f_regaddr_k; + 298 013a 3850 R0 = R0 + R7; + 299 013c 1032 P2 = R0; + 300 013e 1095 R0 = W [P2] (Z); + 301 0140 FFE360FF call _fpga_reg_write; + 272:src/l502_cmd.c **** fpga_reg_write(f_regaddr_offs[range], cmd->data[2]); + 302 .loc 1 272 0 + 303 0144 40E10000 R0.H = _f_regaddr_offs; + 304 0148 00E10802 R0.L = _f_regaddr_offs; + 305 014c 04CC0700 R0 = R0 + R7 (NS) || + 305 A9A10000 + 306 R1 = [P5+24] || + 307 nop; + 308 0154 1032 P2 = R0; + 309 0156 1095 R0 = W [P2] (Z); + 310 0158 FFE354FF call _fpga_reg_write; + 311 015c 0060 R0 = 0 (X); + 312 .LVL21: + 313 015e 902F jump.s .L9; + 314 .LVL22: + 315 .L19: + 316 .LBE15: + 252:src/l502_cmd.c **** err = params_set_sync_start_mode((t_l502_sync_mode)cmd->data[0]); + 317 .loc 1 252 0 + 318 0160 28A1 R0 = [P5+16]; + 319 0162 FFE34FFF call _params_set_sync_start_mode; + 320 0166 8C2F jump.s .L9; + 321 .L18: + 249:src/l502_cmd.c **** err = params_set_sync_mode((t_l502_sync_mode)cmd->data[0]); + 322 .loc 1 249 0 + 323 0168 28A1 R0 = [P5+16]; + 324 016a FFE34BFF call _params_set_sync_mode; + 325 016e 882F jump.s .L9; + 326 .L17: + 246:src/l502_cmd.c **** err = params_set_adc_interframe_delay(cmd->data[0]); + 327 .loc 1 246 0 + 328 0170 28A1 R0 = [P5+16]; + 329 0172 FFE347FF call _params_set_adc_interframe_delay; + 330 0176 842F jump.s .L9; + 331 .L16: + 243:src/l502_cmd.c **** err = params_set_ref_freq(cmd->data[0]); + 332 .loc 1 243 0 + 333 0178 28A1 R0 = [P5+16]; + 334 017a FFE343FF call _params_set_ref_freq; + 335 017e 802F jump.s .L9; + 336 .L15: + 240:src/l502_cmd.c **** err = params_set_adc_freq_div(cmd->data[0]); + 337 .loc 1 240 0 + 338 0180 28A1 R0 = [P5+16]; + 339 0182 FFE33FFF call _params_set_adc_freq_div; + 340 0186 7C2F jump.s .L9; + 341 .L14: + 231:src/l502_cmd.c **** if (cmd->data_size < 5) { + BFIN GAS /tmp/ccPX33wG.s page 13 + + + 342 .loc 1 231 0 + 343 0188 230E cc =R3<=4 (iu); + 344 018a 8F1B if cc jump .L27; + 345 018c 0000 nop; + 234:src/l502_cmd.c **** err = params_set_lch(cmd->data[0], cmd->data[1], (t_l502_lch_mode)cmd->data[2], + 346 .loc 1 234 0 + 347 018e 2860 R0 = 5 (X); + 348 0190 0308 cc =R3==R0; + 349 0192 29AD P1 = [P5+16]; + 350 0194 69A1 R1 = [P5+20]; + 351 0196 AAA1 R2 = [P5+24]; + 352 0198 EAAD P2 = [P5+28]; + 353 019a 2FA2 R7 = [P5+32]; + 354 019c 2218 if cc jump .L34; + 355 019e 0000 nop; + 356 01a0 0000 nop; + 357 01a2 0000 nop; + 358 01a4 68A2 R0 = [P5+36]; + 359 .L29: + 360 01a6 70B1 [SP+20] = R0; + 361 01a8 F2BC [SP+12] = P2; + 362 01aa 37B1 [SP+16] = R7; + 363 01ac 4130 R0 = P1; + 364 01ae FFE329FF call _params_set_lch; + 365 01b2 662F jump.s .L9; + 366 .L13: + 227:src/l502_cmd.c **** err = params_set_lch_cnt(cmd->data[0]); + 367 .loc 1 227 0 + 368 01b4 28A1 R0 = [P5+16]; + 369 01b6 FFE325FF call _params_set_lch_cnt; + 370 01ba 622F jump.s .L9; + 371 .L12: + 219:src/l502_cmd.c **** g_module_info.devflags = cmd->data[0]; + 372 .loc 1 219 0 + 373 01bc 4AE10000 P2.H = _g_module_info; + 374 01c0 0AE10000 P2.L = _g_module_info; + 375 01c4 28A1 R0 = [P5+16]; + 376 01c6 1093 [P2] = R0; + 221:src/l502_cmd.c **** if (cmd->data_size > 1) { + 377 .loc 1 221 0 + 378 01c8 0B0E cc =R3<=1 (iu); + 379 01ca A61B if cc jump .L31; + 380 01cc 0000 nop; + 381 01ce 0000 nop; + 382 01d0 0000 nop; + 222:src/l502_cmd.c **** g_module_info.fpga_ver = cmd->data[1] & 0xFFFF; + 383 .loc 1 222 0 + 384 01d2 68A1 R0 = [P5+20]; + 385 01d4 90B4 W [P2+4] = R0; + 223:src/l502_cmd.c **** g_module_info.plda_ver = (cmd->data[1]>>16) & 0xFF; + 386 .loc 1 223 0 + 387 01d6 804E R0 >>= 16; + 388 01d8 90E60600 B [P2+6] = R0; + 389 01dc 0060 R0 = 0 (X); + 390 .LVL23: + 391 01de 502F jump.s .L9; + 392 .LVL24: + BFIN GAS /tmp/ccPX33wG.s page 14 + + + 393 .L34: + 234:src/l502_cmd.c **** err = params_set_lch(cmd->data[0], cmd->data[1], (t_l502_lch_mode)cmd->data[2], + 394 .loc 1 234 0 + 395 01e0 0060 R0 = 0 (X); + 396 01e2 E22F jump.s .L29; + 397 .LFE30: + 398 .size _f_cmd_set_param, .-_f_cmd_set_param + 399 .align 4 + 400 .type _f_cmd_get_out_status, STT_FUNC; + 401 _f_cmd_get_out_status: + 402 .LFB29: + 202:src/l502_cmd.c **** static void f_cmd_get_out_status(t_l502_bf_cmd *cmd) { + 403 .loc 1 202 0 + 404 .LVL25: + 405 01e4 00E80400 LINK 16; + 406 .LCFI7: + 203:src/l502_cmd.c **** uint32_t val = sport_tx_out_status(); + 407 .loc 1 203 0 + 408 01e8 FFE30CFF call _sport_tx_out_status; + 409 .LVL26: + 410 01ec 0830 R1 = R0; + 411 .LVL27: + 412 .LBB18: + 413 .LBB19: + 89:src/l502_cmd.c **** g_state.cmd.result = result; + 414 .loc 1 89 0 + 415 01ee 49E10000 P1.H = _g_state; + 416 01f2 09E10000 P1.L = _g_state; + 417 01f6 0060 R0 = 0 (X); + 418 01f8 08E60202 [P1+2056] = R0; + 91:src/l502_cmd.c **** if (size && (data!=g_state.cmd.data)) + 419 .loc 1 91 0 + 420 01fc 48E10000 P0.H = _g_state+2064; + 421 0200 5732 P2 = FP; + 90:src/l502_cmd.c **** g_state.cmd.data_size = size; + 422 .loc 1 90 0 + 423 0202 0860 R0 = 1 (X); + 91:src/l502_cmd.c **** if (size && (data!=g_state.cmd.data)) + 424 .loc 1 91 0 + 425 0204 08E11008 P0.L = _g_state+2064; + 426 0208 E26F P2 += -4; + 90:src/l502_cmd.c **** g_state.cmd.data_size = size; + 427 .loc 1 90 0 + 428 020a 08E60302 [P1+2060] = R0; + 91:src/l502_cmd.c **** if (size && (data!=g_state.cmd.data)) + 429 .loc 1 91 0 + 430 020e 4208 cc =P2==P0; + 431 0210 0218 if cc jump .L36; + 432 .LBE19: + 433 .LBE18: + 92:src/l502_cmd.c **** memmove((void*)g_state.cmd.data, data, size*sizeof(data[0])); + 434 .loc 1 92 0 + 435 0212 0193 [P0] = R1; + 436 .L36: + 437 .LBB21: + 438 .LBB20: + 94:src/l502_cmd.c **** g_state.cmd.status = L502_BF_CMD_STATUS_DONE; + BFIN GAS /tmp/ccPX33wG.s page 15 + + + 439 .loc 1 94 0 + 440 0214 20E1035A R0 = 23043 (X); + 441 0218 48E60104 W [P1+2050] = R0; + 442 .LBE20: + 443 .LBE21: + 205:src/l502_cmd.c **** } + 444 .loc 1 205 0 + 445 021c 01E80000 UNLINK; + 446 0220 1000 rts; + 447 .LFE29: + 448 .size _f_cmd_get_out_status, .-_f_cmd_get_out_status + 449 0222 0000 .align 4 + 450 .type _f_cmd_fpga_reg_rd, STT_FUNC; + 451 _f_cmd_fpga_reg_rd: + 452 .LFB28: + 191:src/l502_cmd.c **** static void f_cmd_fpga_reg_rd(t_l502_bf_cmd *cmd) { + 453 .loc 1 191 0 + 454 .LVL28: + 455 0224 1032 P2 = R0; + 456 0226 00E80400 LINK 16; + 457 .LCFI8: + 194:src/l502_cmd.c **** if ((cmd->param & 0xFFFF0000) != 0) { + 458 .loc 1 194 0 + 459 022a 51A0 R1 = [P2+4]; + 460 022c 82C68101 R0 = R1 >>> 16; + 461 .LVL29: + 462 0230 804F R0 <<= 16; + 463 0232 000C cc =R0==0; + 464 0234 1D18 if cc jump .L39; + 465 0236 20E1FEFD R0 = -514 (X); + 466 .LVL30: + 467 .L40: + 468 .LBB24: + 469 .LBB25: + 89:src/l502_cmd.c **** g_state.cmd.result = result; + 470 .loc 1 89 0 + 471 023a 49E10000 P1.H = _g_state; + 472 023e 09E10000 P1.L = _g_state; + 473 0242 08E60202 [P1+2056] = R0; + 91:src/l502_cmd.c **** if (size && (data!=g_state.cmd.data)) + 474 .loc 1 91 0 + 475 0246 48E10000 P0.H = _g_state+2064; + 476 024a 5732 P2 = FP; + 477 .LVL31: + 90:src/l502_cmd.c **** g_state.cmd.data_size = size; + 478 .loc 1 90 0 + 479 024c 0860 R0 = 1 (X); + 480 .LVL32: + 91:src/l502_cmd.c **** if (size && (data!=g_state.cmd.data)) + 481 .loc 1 91 0 + 482 024e 08E11008 P0.L = _g_state+2064; + 483 0252 E26F P2 += -4; + 90:src/l502_cmd.c **** g_state.cmd.data_size = size; + 484 .loc 1 90 0 + 485 0254 08E60302 [P1+2060] = R0; + 91:src/l502_cmd.c **** if (size && (data!=g_state.cmd.data)) + 486 .loc 1 91 0 + BFIN GAS /tmp/ccPX33wG.s page 16 + + + 487 0258 4208 cc =P2==P0; + 488 025a 0318 if cc jump .L41; + 92:src/l502_cmd.c **** memmove((void*)g_state.cmd.data, data, size*sizeof(data[0])); + 489 .loc 1 92 0 + 490 025c F0B9 R0 = [FP+-4]; + 491 025e 0093 [P0] = R0; + 492 .L41: + 94:src/l502_cmd.c **** g_state.cmd.status = L502_BF_CMD_STATUS_DONE; + 493 .loc 1 94 0 + 494 0260 20E1035A R0 = 23043 (X); + 495 0264 48E60104 W [P1+2050] = R0; + 496 .LBE25: + 497 .LBE24: + 200:src/l502_cmd.c **** } + 498 .loc 1 200 0 + 499 0268 01E80000 UNLINK; + 500 026c 1000 rts; + 501 .LVL33: + 502 .L39: + 197:src/l502_cmd.c **** val = fpga_reg_read(cmd->param); + 503 .loc 1 197 0 + 504 026e C842 R0 = R1.L (Z); + 505 0270 FFE3C8FE call _fpga_reg_read; + 506 .LVL34: + 507 0274 F0BB [FP+-4] = R0; + 508 .LVL35: + 509 0276 0060 R0 = 0 (X); + 510 .LVL36: + 511 0278 E12F jump.s .L40; + 512 .LFE28: + 513 .size _f_cmd_fpga_reg_rd, .-_f_cmd_fpga_reg_rd + 514 027a 0000 .align 4 + 515 .type _f_cmd_fpga_reg_wr, STT_FUNC; + 516 _f_cmd_fpga_reg_wr: + 517 .LFB27: + 179:src/l502_cmd.c **** static void f_cmd_fpga_reg_wr(t_l502_bf_cmd *cmd) { + 518 .loc 1 179 0 + 519 .LVL37: + 520 027c 1032 P2 = R0; + 521 027e 00E80300 LINK 12; + 522 .LCFI9: + 181:src/l502_cmd.c **** if (cmd->data_size < 1) { + 523 .loc 1 181 0 + 524 0282 D0A0 R0 = [P2+12]; + 525 .LVL38: + 526 0284 000C cc =R0==0; + 527 0286 1C18 if cc jump .L48; + 528 0288 0000 nop; + 529 028a 0000 nop; + 530 028c 0000 nop; + 183:src/l502_cmd.c **** } else if ((cmd->param & 0xFFFF0000) != 0) { + 531 .loc 1 183 0 + 532 028e 51A0 R1 = [P2+4]; + 533 0290 82C68101 R0 = R1 >>> 16; + 534 0294 804F R0 <<= 16; + 535 0296 000C cc =R0==0; + 536 0298 1618 if cc jump .L46; + BFIN GAS /tmp/ccPX33wG.s page 17 + + + 537 029a 20E1FEFD R0 = -514 (X); + 538 .LVL39: + 539 .L45: + 540 .LBB28: + 541 .LBB29: + 89:src/l502_cmd.c **** g_state.cmd.result = result; + 542 .loc 1 89 0 + 543 029e 4AE10000 P2.H = _g_state; + 544 .LVL40: + 545 02a2 0AE10000 P2.L = _g_state; + 546 02a6 10E60202 [P2+2056] = R0; + 90:src/l502_cmd.c **** g_state.cmd.data_size = size; + 547 .loc 1 90 0 + 548 02aa 0060 R0 = 0 (X); + 549 .LVL41: + 550 02ac 10E60302 [P2+2060] = R0; + 94:src/l502_cmd.c **** g_state.cmd.status = L502_BF_CMD_STATUS_DONE; + 551 .loc 1 94 0 + 552 02b0 20E1035A R0 = 23043 (X); + 553 02b4 50E60104 W [P2+2050] = R0; + 554 .LBE29: + 555 .LBE28: + 189:src/l502_cmd.c **** } + 556 .loc 1 189 0 + 557 02b8 01E80000 UNLINK; + 558 02bc 1000 rts; + 559 .LVL42: + 560 .L48: + 181:src/l502_cmd.c **** if (cmd->data_size < 1) { + 561 .loc 1 181 0 + 562 02be 20E1FDFD R0 = -515 (X); + 563 .LVL43: + 564 02c2 EE2F jump.s .L45; + 565 .LVL44: + 566 .L46: + 186:src/l502_cmd.c **** fpga_reg_write(cmd->param, cmd->data[0]); + 567 .loc 1 186 0 + 568 02c4 C842 R0 = R1.L (Z); + 569 02c6 11A1 R1 = [P2+16]; + 570 02c8 FFE39CFE call _fpga_reg_write; + 571 .LVL45: + 572 02cc 0060 R0 = 0 (X); + 573 .LVL46: + 574 02ce E82F jump.s .L45; + 575 .LFE27: + 576 .size _f_cmd_fpga_reg_wr, .-_f_cmd_fpga_reg_wr + 577 .align 4 + 578 .type _f_cmd_async_out, STT_FUNC; + 579 _f_cmd_async_out: + 580 .LFB26: + 156:src/l502_cmd.c **** static void f_cmd_async_out(t_l502_bf_cmd *cmd) { + 581 .loc 1 156 0 + 582 .LVL47: + 583 02d0 1032 P2 = R0; + 584 02d2 00E80300 LINK 12; + 585 .LCFI10: + 158:src/l502_cmd.c **** if (cmd->data_size < 1) { + BFIN GAS /tmp/ccPX33wG.s page 18 + + + 586 .loc 1 158 0 + 587 02d6 D1A0 R1 = [P2+12]; + 588 02d8 010C cc =R1==0; + 589 02da 1418 if cc jump .L59; + 590 02dc 0000 nop; + 591 02de 0000 nop; + 592 02e0 0000 nop; + 593 .LVL48: + 161:src/l502_cmd.c **** switch (cmd->param) { + 594 .loc 1 161 0 + 595 02e2 50A0 R0 = [P2+4]; + 596 02e4 080C cc =R0==1; + 597 02e6 2518 if cc jump .L54; + 598 02e8 000C cc =R0==0; + 599 02ea 1E14 if !cc jump .L60 (bp); + 163:src/l502_cmd.c **** async_dout(cmd->data[0], cmd->data_size >= 2 ? cmd->data[1] : 0); + 600 .loc 1 163 0 + 601 02ec 10A1 R0 = [P2+16]; + 602 02ee 090E cc =R1<=1 (iu); + 603 02f0 2E18 if cc jump .L61; + 604 02f2 0000 nop; + 605 02f4 0000 nop; + 606 02f6 0000 nop; + 607 02f8 51A1 R1 = [P2+20]; + 608 .L57: + 609 02fa FFE383FE call _async_dout; + 610 .LVL49: + 611 02fe 0060 R0 = 0 (X); + 612 .LVL50: + 613 0300 0320 jump.s .L51; + 614 .LVL51: + 615 .L59: + 158:src/l502_cmd.c **** if (cmd->data_size < 1) { + 616 .loc 1 158 0 + 617 0302 20E1FDFD R0 = -515 (X); + 618 .LVL52: + 619 .L51: + 620 .LBB32: + 621 .LBB33: + 89:src/l502_cmd.c **** g_state.cmd.result = result; + 622 .loc 1 89 0 + 623 0306 4AE10000 P2.H = _g_state; + 624 .LVL53: + 625 030a 0AE10000 P2.L = _g_state; + 626 030e 10E60202 [P2+2056] = R0; + 90:src/l502_cmd.c **** g_state.cmd.data_size = size; + 627 .loc 1 90 0 + 628 0312 0060 R0 = 0 (X); + 629 .LVL54: + 630 0314 10E60302 [P2+2060] = R0; + 94:src/l502_cmd.c **** g_state.cmd.status = L502_BF_CMD_STATUS_DONE; + 631 .loc 1 94 0 + 632 0318 20E1035A R0 = 23043 (X); + 633 031c 50E60104 W [P2+2050] = R0; + 634 .LBE33: + 635 .LBE32: + 177:src/l502_cmd.c **** } + BFIN GAS /tmp/ccPX33wG.s page 19 + + + 636 .loc 1 177 0 + 637 0320 01E80000 UNLINK; + 638 0324 1000 rts; + 639 .LVL55: + 640 .L60: + 161:src/l502_cmd.c **** switch (cmd->param) { + 641 .loc 1 161 0 + 642 0326 100C cc =R0==2; + 643 0328 0C18 if cc jump .L55; + 644 032a 20E1FEFD R0 = -514 (X); + 645 .LVL56: + 646 032e EC2F jump.s .L51; + 647 .LVL57: + 648 .L54: + 166:src/l502_cmd.c **** async_dac_out(L502_DAC_CH1, cmd->data[0]); + 649 .loc 1 166 0 + 650 0330 00CC00C0 R0 = R0 -|- R0 || + 650 11A10000 + 651 R1 = [P2+16] || + 652 nop; + 653 0338 FFE364FE call _async_dac_out; + 654 .LVL58: + 655 033c 0060 R0 = 0 (X); + 656 .LVL59: + 657 033e E42F jump.s .L51; + 658 .LVL60: + 659 .L55: + 169:src/l502_cmd.c **** async_dac_out(L502_DAC_CH2, cmd->data[0]); + 660 .loc 1 169 0 + 661 0340 0860 R0 = 1 (X); + 662 0342 11A1 R1 = [P2+16]; + 663 0344 FFE35EFE call _async_dac_out; + 664 .LVL61: + 665 0348 0060 R0 = 0 (X); + 666 .LVL62: + 667 034a DE2F jump.s .L51; + 668 .LVL63: + 669 .L61: + 163:src/l502_cmd.c **** async_dout(cmd->data[0], cmd->data_size >= 2 ? cmd->data[1] : 0); + 670 .loc 1 163 0 + 671 034c 0160 R1 = 0 (X); + 672 034e D62F jump.s .L57; + 673 .LFE26: + 674 .size _f_cmd_async_out, .-_f_cmd_async_out + 675 .align 4 + 676 .type _f_cmd_stream_disable, STT_FUNC; + 677 _f_cmd_stream_disable: + 678 .LFB25: + 152:src/l502_cmd.c **** static void f_cmd_stream_disable(t_l502_bf_cmd *cmd) { + 679 .loc 1 152 0 + 680 .LVL64: + 681 0350 1032 P2 = R0; + 682 0352 00E80300 LINK 12; + 683 .LCFI11: + 153:src/l502_cmd.c **** l502_cmd_done(stream_disable(cmd->param), NULL, 0); + 684 .loc 1 153 0 + 685 0356 50A0 R0 = [P2+4]; + BFIN GAS /tmp/ccPX33wG.s page 20 + + + 686 .LVL65: + 687 0358 FFE354FE call _stream_disable; + 688 .LVL66: + 689 .LBB36: + 690 .LBB37: + 89:src/l502_cmd.c **** g_state.cmd.result = result; + 691 .loc 1 89 0 + 692 035c 4AE10000 P2.H = _g_state; + 693 0360 0AE10000 P2.L = _g_state; + 694 0364 10E60202 [P2+2056] = R0; + 90:src/l502_cmd.c **** g_state.cmd.data_size = size; + 695 .loc 1 90 0 + 696 0368 0060 R0 = 0 (X); + 697 036a 10E60302 [P2+2060] = R0; + 94:src/l502_cmd.c **** g_state.cmd.status = L502_BF_CMD_STATUS_DONE; + 698 .loc 1 94 0 + 699 036e 20E1035A R0 = 23043 (X); + 700 0372 50E60104 W [P2+2050] = R0; + 701 .LBE37: + 702 .LBE36: + 154:src/l502_cmd.c **** } + 703 .loc 1 154 0 + 704 0376 01E80000 UNLINK; + 705 037a 1000 rts; + 706 .LFE25: + 707 .size _f_cmd_stream_disable, .-_f_cmd_stream_disable + 708 .align 4 + 709 .type _f_cmd_stream_enable, STT_FUNC; + 710 _f_cmd_stream_enable: + 711 .LFB24: + 148:src/l502_cmd.c **** static void f_cmd_stream_enable(t_l502_bf_cmd *cmd) { + 712 .loc 1 148 0 + 713 .LVL67: + 714 037c 1032 P2 = R0; + 715 037e 00E80300 LINK 12; + 716 .LCFI12: + 149:src/l502_cmd.c **** l502_cmd_done(stream_enable(cmd->param), NULL, 0); + 717 .loc 1 149 0 + 718 0382 50A0 R0 = [P2+4]; + 719 .LVL68: + 720 0384 FFE33EFE call _stream_enable; + 721 .LVL69: + 722 .LBB40: + 723 .LBB41: + 89:src/l502_cmd.c **** g_state.cmd.result = result; + 724 .loc 1 89 0 + 725 0388 4AE10000 P2.H = _g_state; + 726 038c 0AE10000 P2.L = _g_state; + 727 0390 10E60202 [P2+2056] = R0; + 90:src/l502_cmd.c **** g_state.cmd.data_size = size; + 728 .loc 1 90 0 + 729 0394 0060 R0 = 0 (X); + 730 0396 10E60302 [P2+2060] = R0; + 94:src/l502_cmd.c **** g_state.cmd.status = L502_BF_CMD_STATUS_DONE; + 731 .loc 1 94 0 + 732 039a 20E1035A R0 = 23043 (X); + 733 039e 50E60104 W [P2+2050] = R0; + BFIN GAS /tmp/ccPX33wG.s page 21 + + + 734 .LBE41: + 735 .LBE40: + 150:src/l502_cmd.c **** } + 736 .loc 1 150 0 + 737 03a2 01E80000 UNLINK; + 738 03a6 1000 rts; + 739 .LFE24: + 740 .size _f_cmd_stream_enable, .-_f_cmd_stream_enable + 741 .align 4 + 742 .type _f_cmd_preload, STT_FUNC; + 743 _f_cmd_preload: + 744 .LFB23: + 144:src/l502_cmd.c **** static void f_cmd_preload(t_l502_bf_cmd *cmd) { + 745 .loc 1 144 0 + 746 .LVL70: + 747 03a8 00E80300 LINK 12; + 748 .LCFI13: + 145:src/l502_cmd.c **** l502_cmd_done(stream_out_preload(), NULL, 0); + 749 .loc 1 145 0 + 750 03ac FFE32AFE call _stream_out_preload; + 751 .LVL71: + 752 .LBB44: + 753 .LBB45: + 89:src/l502_cmd.c **** g_state.cmd.result = result; + 754 .loc 1 89 0 + 755 03b0 4AE10000 P2.H = _g_state; + 756 03b4 0AE10000 P2.L = _g_state; + 757 03b8 10E60202 [P2+2056] = R0; + 90:src/l502_cmd.c **** g_state.cmd.data_size = size; + 758 .loc 1 90 0 + 759 03bc 0060 R0 = 0 (X); + 760 03be 10E60302 [P2+2060] = R0; + 94:src/l502_cmd.c **** g_state.cmd.status = L502_BF_CMD_STATUS_DONE; + 761 .loc 1 94 0 + 762 03c2 20E1035A R0 = 23043 (X); + 763 03c6 50E60104 W [P2+2050] = R0; + 764 .LBE45: + 765 .LBE44: + 146:src/l502_cmd.c **** } + 766 .loc 1 146 0 + 767 03ca 01E80000 UNLINK; + 768 03ce 1000 rts; + 769 .LFE23: + 770 .size _f_cmd_preload, .-_f_cmd_preload + 771 .align 4 + 772 .type _f_cmd_stream_stop, STT_FUNC; + 773 _f_cmd_stream_stop: + 774 .LFB21: + 136:src/l502_cmd.c **** static void f_cmd_stream_stop(t_l502_bf_cmd *cmd) { + 775 .loc 1 136 0 + 776 .LVL72: + 777 03d0 00E80300 LINK 12; + 778 .LCFI14: + 137:src/l502_cmd.c **** l502_cmd_done(streams_stop(), NULL, 0); + 779 .loc 1 137 0 + 780 03d4 FFE316FE call _streams_stop; + 781 .LVL73: + BFIN GAS /tmp/ccPX33wG.s page 22 + + + 782 .LBB48: + 783 .LBB49: + 89:src/l502_cmd.c **** g_state.cmd.result = result; + 784 .loc 1 89 0 + 785 03d8 4AE10000 P2.H = _g_state; + 786 03dc 0AE10000 P2.L = _g_state; + 787 03e0 10E60202 [P2+2056] = R0; + 90:src/l502_cmd.c **** g_state.cmd.data_size = size; + 788 .loc 1 90 0 + 789 03e4 0060 R0 = 0 (X); + 790 03e6 10E60302 [P2+2060] = R0; + 94:src/l502_cmd.c **** g_state.cmd.status = L502_BF_CMD_STATUS_DONE; + 791 .loc 1 94 0 + 792 03ea 20E1035A R0 = 23043 (X); + 793 03ee 50E60104 W [P2+2050] = R0; + 794 .LBE49: + 795 .LBE48: + 138:src/l502_cmd.c **** } + 796 .loc 1 138 0 + 797 03f2 01E80000 UNLINK; + 798 03f6 1000 rts; + 799 .LFE21: + 800 .size _f_cmd_stream_stop, .-_f_cmd_stream_stop + 801 .align 4 + 802 .type _f_cmd_streams_start, STT_FUNC; + 803 _f_cmd_streams_start: + 804 .LFB20: + 132:src/l502_cmd.c **** static void f_cmd_streams_start(t_l502_bf_cmd *cmd) { + 805 .loc 1 132 0 + 806 .LVL74: + 807 03f8 00E80300 LINK 12; + 808 .LCFI15: + 133:src/l502_cmd.c **** l502_cmd_done(streams_start(), NULL, 0); + 809 .loc 1 133 0 + 810 03fc FFE302FE call _streams_start; + 811 .LVL75: + 812 .LBB52: + 813 .LBB53: + 89:src/l502_cmd.c **** g_state.cmd.result = result; + 814 .loc 1 89 0 + 815 0400 4AE10000 P2.H = _g_state; + 816 0404 0AE10000 P2.L = _g_state; + 817 0408 10E60202 [P2+2056] = R0; + 90:src/l502_cmd.c **** g_state.cmd.data_size = size; + 818 .loc 1 90 0 + 819 040c 0060 R0 = 0 (X); + 820 040e 10E60302 [P2+2060] = R0; + 94:src/l502_cmd.c **** g_state.cmd.status = L502_BF_CMD_STATUS_DONE; + 821 .loc 1 94 0 + 822 0412 20E1035A R0 = 23043 (X); + 823 0416 50E60104 W [P2+2050] = R0; + 824 .LBE53: + 825 .LBE52: + 134:src/l502_cmd.c **** } + 826 .loc 1 134 0 + 827 041a 01E80000 UNLINK; + 828 041e 1000 rts; + BFIN GAS /tmp/ccPX33wG.s page 23 + + + 829 .LFE20: + 830 .size _f_cmd_streams_start, .-_f_cmd_streams_start + 831 .align 4 + 832 .type _f_cmd_config, STT_FUNC; + 833 _f_cmd_config: + 834 .LFB22: + 140:src/l502_cmd.c **** static void f_cmd_config(t_l502_bf_cmd *cmd) { + 835 .loc 1 140 0 + 836 .LVL76: + 837 0420 00E80300 LINK 12; + 838 .LCFI16: + 141:src/l502_cmd.c **** l502_cmd_done(configure(), NULL, 0); + 839 .loc 1 141 0 + 840 0424 FFE3EEFD call _configure; + 841 .LVL77: + 842 .LBB56: + 843 .LBB57: + 89:src/l502_cmd.c **** g_state.cmd.result = result; + 844 .loc 1 89 0 + 845 0428 4AE10000 P2.H = _g_state; + 846 042c 0AE10000 P2.L = _g_state; + 847 0430 10E60202 [P2+2056] = R0; + 90:src/l502_cmd.c **** g_state.cmd.data_size = size; + 848 .loc 1 90 0 + 849 0434 0060 R0 = 0 (X); + 850 0436 10E60302 [P2+2060] = R0; + 94:src/l502_cmd.c **** g_state.cmd.status = L502_BF_CMD_STATUS_DONE; + 851 .loc 1 94 0 + 852 043a 20E1035A R0 = 23043 (X); + 853 043e 50E60104 W [P2+2050] = R0; + 854 .LBE57: + 855 .LBE56: + 142:src/l502_cmd.c **** } + 856 .loc 1 142 0 + 857 0442 01E80000 UNLINK; + 858 0446 1000 rts; + 859 .LFE22: + 860 .size _f_cmd_config, .-_f_cmd_config + 861 .align 4 + 862 .type _f_cmd_get_param, STT_FUNC; + 863 _f_cmd_get_param: + 864 .LFB31: + 298:src/l502_cmd.c **** + 299:src/l502_cmd.c **** + 300:src/l502_cmd.c **** static void f_cmd_get_param(t_l502_bf_cmd *cmd) { + 865 .loc 1 300 0 + 866 .LVL78: + 867 0448 C504 [--sp] = ( p5:5 ); + 868 + 869 .LCFI17: + 870 044a 2832 P5 = R0; + 871 044c 00E80300 LINK 12; + 872 .LCFI18: + 301:src/l502_cmd.c **** int32_t err = 0; + 302:src/l502_cmd.c **** uint32_t ret_size = 0; + 303:src/l502_cmd.c **** + 304:src/l502_cmd.c **** + BFIN GAS /tmp/ccPX33wG.s page 24 + + + 305:src/l502_cmd.c **** switch (cmd->param) { + 873 .loc 1 305 0 + 874 0450 8869 P0 = 49 (X); + 875 0452 69AC P1 = [P5+4]; + 876 0454 410A cc =P1<=P0 (iu); + 877 0456 141C if cc jump .L95 (bp); + 878 .LVL79: + 879 .L75: + 880 .LBB61: + 881 .LBB63: + 306:src/l502_cmd.c **** case L502_BF_PARAM_FIRM_VERSION: + 307:src/l502_cmd.c **** cmd->data[0] = L502_BF_FIRM_VERSION; + 308:src/l502_cmd.c **** cmd->data[1] = L502_BF_FIRM_FEATURES; + 309:src/l502_cmd.c **** ret_size = 2; + 310:src/l502_cmd.c **** break; + 311:src/l502_cmd.c **** case L502_BF_PARAM_STREAM_MODE: + 312:src/l502_cmd.c **** cmd->data[0] = g_mode; + 313:src/l502_cmd.c **** ret_size = 1; + 314:src/l502_cmd.c **** break; + 315:src/l502_cmd.c **** case L502_BF_PARAM_ENABLED_STREAMS: + 316:src/l502_cmd.c **** cmd->data[0] = g_streams; + 317:src/l502_cmd.c **** ret_size = 1; + 318:src/l502_cmd.c **** break; + 319:src/l502_cmd.c **** case L502_BF_PARAM_IN_BUF_SIZE: + 320:src/l502_cmd.c **** cmd->data[0] = sport_in_buffer_size(); + 321:src/l502_cmd.c **** ret_size = 1; + 322:src/l502_cmd.c **** break; + 323:src/l502_cmd.c **** case L502_BF_PARAM_LCH_CNT: + 324:src/l502_cmd.c **** cmd->data[0] = g_set.lch_cnt; + 325:src/l502_cmd.c **** ret_size = 1; + 326:src/l502_cmd.c **** break; + 327:src/l502_cmd.c **** case L502_BF_PARAM_LCH: + 328:src/l502_cmd.c **** if (cmd->data_size < 1) { + 329:src/l502_cmd.c **** err = L502_BF_ERR_INSUF_CMD_DATA; + 330:src/l502_cmd.c **** } else { + 331:src/l502_cmd.c **** uint32_t index = cmd->data[0]; + 332:src/l502_cmd.c **** if (index >= L502_LTABLE_MAX_CH_CNT) { + 333:src/l502_cmd.c **** err = L502_BF_ERR_INVALID_CMD_PARAMS; + 334:src/l502_cmd.c **** } else { + 335:src/l502_cmd.c **** cmd->data[1] = g_set.lch[index].phy_ch; + 336:src/l502_cmd.c **** cmd->data[2] = g_set.lch[index].mode; + 337:src/l502_cmd.c **** cmd->data[3] = g_set.lch[index].range; + 338:src/l502_cmd.c **** cmd->data[4] = g_set.lch[index].avg; + 339:src/l502_cmd.c **** cmd->data[5] = g_set.lch[index].flags; + 340:src/l502_cmd.c **** ret_size = 6; + 341:src/l502_cmd.c **** } + 342:src/l502_cmd.c **** } + 343:src/l502_cmd.c **** break; + 344:src/l502_cmd.c **** case L502_BF_PARAM_ADC_FREQ_DIV: + 345:src/l502_cmd.c **** cmd->data[0] = g_set.adc_freq_div; + 346:src/l502_cmd.c **** ret_size = 1; + 347:src/l502_cmd.c **** break; + 348:src/l502_cmd.c **** case L502_BF_PARAM_REF_FREQ_SRC: + 349:src/l502_cmd.c **** cmd->data[0] = g_set.ref_freq; + 350:src/l502_cmd.c **** ret_size = 1; + 351:src/l502_cmd.c **** break; + 352:src/l502_cmd.c **** case L502_BF_PARAM_ADC_FRAME_DELAY: + BFIN GAS /tmp/ccPX33wG.s page 25 + + + 353:src/l502_cmd.c **** cmd->data[0] = g_set.adc_frame_delay; + 354:src/l502_cmd.c **** ret_size = 1; + 355:src/l502_cmd.c **** break; + 356:src/l502_cmd.c **** case L502_BF_PARAM_SYNC_MODE: + 357:src/l502_cmd.c **** cmd->data[0] = g_set.sync_mode; + 358:src/l502_cmd.c **** ret_size = 1; + 359:src/l502_cmd.c **** break; + 360:src/l502_cmd.c **** case L502_BF_PARAM_SYNC_START_MODE: + 361:src/l502_cmd.c **** cmd->data[0] = g_set.sync_start_mode; + 362:src/l502_cmd.c **** ret_size = 1; + 363:src/l502_cmd.c **** break; + 364:src/l502_cmd.c **** case L502_BF_PARAM_DIN_FREQ_DIV: + 365:src/l502_cmd.c **** cmd->data[0] = g_set.din_freq_div; + 366:src/l502_cmd.c **** ret_size = 1; + 367:src/l502_cmd.c **** break; + 368:src/l502_cmd.c **** case L502_BF_PARAM_DAC_FREQ_DIV: + 369:src/l502_cmd.c **** cmd->data[0] = g_set.out_freq_div; + 370:src/l502_cmd.c **** ret_size = 1; + 371:src/l502_cmd.c **** break; + 372:src/l502_cmd.c **** default: + 373:src/l502_cmd.c **** err = L502_BF_ERR_INVALID_CMD_PARAMS; + 374:src/l502_cmd.c **** break; + 375:src/l502_cmd.c **** } + 376:src/l502_cmd.c **** + 377:src/l502_cmd.c **** l502_cmd_done(err, cmd->data, ret_size); + 378:src/l502_cmd.c **** } + 882 .loc 1 378 0 + 883 0458 20E1FEFD R0 = -514 (X); + 884 .LVL80: + 885 .L93: + 89:src/l502_cmd.c **** g_state.cmd.result = result; + 886 .loc 1 89 0 + 887 045c 4DE10000 P5.H = _g_state; + 888 .LVL81: + 889 0460 0DE10000 P5.L = _g_state; + 890 0464 28E60202 [P5+2056] = R0; + 90:src/l502_cmd.c **** g_state.cmd.data_size = size; + 891 .loc 1 90 0 + 892 0468 0060 R0 = 0 (X); + 893 .LVL82: + 894 046a 28E60302 [P5+2060] = R0; + 895 .LVL83: + 896 .L92: + 94:src/l502_cmd.c **** g_state.cmd.status = L502_BF_CMD_STATUS_DONE; + 897 .loc 1 94 0 + 898 046e 20E1035A R0 = 23043 (X); + 899 0472 68E60104 W [P5+2050] = R0; + 900 .LBE63: + 901 .LBE61: + 902 .loc 1 378 0 + 903 0476 01E80000 UNLINK; + 904 047a 8504 ( p5:5 ) = [sp++]; + 905 + 906 .LCFI19: + 907 047c 1000 rts; + 908 .LVL84: + 909 .L95: + BFIN GAS /tmp/ccPX33wG.s page 26 + + + 305:src/l502_cmd.c **** switch (cmd->param) { + 910 .loc 1 305 0 + 911 047e 4AE10000 P2.H = .L89; + 912 0482 0AE1C000 P2.L = .L89; + 913 0486 8A5E P2 = P2 + (P1 << 2); + 914 0488 5291 P2 = [P2]; + 915 048a 5200 jump (P2); + 916 .section .rodata + 917 .align 4 + 918 .align 4 + 919 .L89: + 920 00c0 8C040000 .dd .L76; + 921 00c4 CE040000 .dd .L77; + 922 00c8 E0040000 .dd .L78; + 923 00cc 58040000 .dd .L75; + 924 00d0 58040000 .dd .L75; + 925 00d4 58040000 .dd .L75; + 926 00d8 58040000 .dd .L75; + 927 00dc 58040000 .dd .L75; + 928 00e0 58040000 .dd .L75; + 929 00e4 58040000 .dd .L75; + 930 00e8 58040000 .dd .L75; + 931 00ec 58040000 .dd .L75; + 932 00f0 58040000 .dd .L75; + 933 00f4 58040000 .dd .L75; + 934 00f8 58040000 .dd .L75; + 935 00fc 58040000 .dd .L75; + 936 0100 F2040000 .dd .L79; + 937 0104 58040000 .dd .L75; + 938 0108 58040000 .dd .L75; + 939 010c 58040000 .dd .L75; + 940 0110 58040000 .dd .L75; + 941 0114 58040000 .dd .L75; + 942 0118 58040000 .dd .L75; + 943 011c 58040000 .dd .L75; + 944 0120 58040000 .dd .L75; + 945 0124 58040000 .dd .L75; + 946 0128 58040000 .dd .L75; + 947 012c 58040000 .dd .L75; + 948 0130 58040000 .dd .L75; + 949 0134 58040000 .dd .L75; + 950 0138 58040000 .dd .L75; + 951 013c 58040000 .dd .L75; + 952 0140 FE040000 .dd .L80; + 953 0144 12050000 .dd .L81; + 954 0148 58050000 .dd .L82; + 955 014c 6C050000 .dd .L83; + 956 0150 80050000 .dd .L84; + 957 0154 94050000 .dd .L85; + 958 0158 A8050000 .dd .L86; + 959 015c 58040000 .dd .L75; + 960 0160 58040000 .dd .L75; + 961 0164 58040000 .dd .L75; + 962 0168 58040000 .dd .L75; + 963 016c 58040000 .dd .L75; + 964 0170 58040000 .dd .L75; + 965 0174 58040000 .dd .L75; + BFIN GAS /tmp/ccPX33wG.s page 27 + + + 966 0178 58040000 .dd .L75; + 967 017c 58040000 .dd .L75; + 968 0180 BC050000 .dd .L87; + 969 0184 D0050000 .dd .L88; + 970 .text; + 971 .L76: + 307:src/l502_cmd.c **** cmd->data[0] = L502_BF_FIRM_VERSION; + 972 .loc 1 307 0 + 973 048c 1060 R0 = 2 (X); + 974 048e 28B1 [P5+16] = R0; + 308:src/l502_cmd.c **** cmd->data[1] = L502_BF_FIRM_FEATURES; + 975 .loc 1 308 0 + 976 0490 1860 R0 = 3 (X); + 977 0492 68B1 [P5+20] = R0; + 978 0494 1360 R3 = 2 (X); + 979 .LVL85: + 980 0496 4260 R2 = 8 (X); + 981 .LVL86: + 982 .L90: + 377:src/l502_cmd.c **** l502_cmd_done(err, cmd->data, ret_size); + 983 .loc 1 377 0 + 984 0498 4D30 R1 = P5; + 985 .LVL87: + 986 .LBB66: + 987 .LBB64: + 89:src/l502_cmd.c **** g_state.cmd.result = result; + 988 .loc 1 89 0 + 989 049a 4DE10000 P5.H = _g_state; + 990 .LVL88: + 991 049e 0DE10000 P5.L = _g_state; + 992 04a2 0060 R0 = 0 (X); + 993 04a4 28E60202 [P5+2056] = R0; + 91:src/l502_cmd.c **** if (size && (data!=g_state.cmd.data)) + 994 .loc 1 91 0 + 995 04a8 40E10000 R0.H = _g_state+2064; + 996 .LBE64: + 997 .LBE66: + 377:src/l502_cmd.c **** l502_cmd_done(err, cmd->data, ret_size); + 998 .loc 1 377 0 + 999 04ac 8164 R1 += 16; + 1000 .LBB67: + 1001 .LBB62: + 91:src/l502_cmd.c **** if (size && (data!=g_state.cmd.data)) + 1002 .loc 1 91 0 + 1003 04ae 00E11008 R0.L = _g_state+2064; + 90:src/l502_cmd.c **** g_state.cmd.data_size = size; + 1004 .loc 1 90 0 + 1005 04b2 2BE60302 [P5+2060] = R3; + 91:src/l502_cmd.c **** if (size && (data!=g_state.cmd.data)) + 1006 .loc 1 91 0 + 1007 04b6 0108 cc =R1==R0; + 1008 04b8 DB1B if cc jump .L92; + 92:src/l502_cmd.c **** memmove((void*)g_state.cmd.data, data, size*sizeof(data[0])); + 1009 .loc 1 92 0 + 1010 04ba FFE3A3FD call _memmove; + 1011 .LVL89: + 94:src/l502_cmd.c **** g_state.cmd.status = L502_BF_CMD_STATUS_DONE; + BFIN GAS /tmp/ccPX33wG.s page 28 + + + 1012 .loc 1 94 0 + 1013 04be 20E1035A R0 = 23043 (X); + 1014 04c2 68E60104 W [P5+2050] = R0; + 1015 .LBE62: + 1016 .LBE67: + 1017 .loc 1 378 0 + 1018 04c6 01E80000 UNLINK; + 1019 04ca 8504 ( p5:5 ) = [sp++]; + 1020 + 1021 .LCFI20: + 1022 04cc 1000 rts; + 1023 .LVL90: + 1024 .L77: + 312:src/l502_cmd.c **** cmd->data[0] = g_mode; + 1025 .loc 1 312 0 + 1026 04ce 4AE10000 P2.H = _g_mode; + 1027 04d2 0AE10000 P2.L = _g_mode; + 1028 04d6 1091 R0 = [P2]; + 1029 04d8 28B1 [P5+16] = R0; + 1030 04da 0B60 R3 = 1 (X); + 1031 .LVL91: + 1032 04dc 2260 R2 = 4 (X); + 1033 04de DD2F jump.s .L90; + 1034 .LVL92: + 1035 .L78: + 316:src/l502_cmd.c **** cmd->data[0] = g_streams; + 1036 .loc 1 316 0 + 1037 04e0 4AE10000 P2.H = _g_streams; + 1038 04e4 0AE10000 P2.L = _g_streams; + 1039 04e8 1091 R0 = [P2]; + 1040 04ea 28B1 [P5+16] = R0; + 1041 04ec 0B60 R3 = 1 (X); + 1042 .LVL93: + 1043 04ee 2260 R2 = 4 (X); + 1044 04f0 D42F jump.s .L90; + 1045 .LVL94: + 1046 .L79: + 320:src/l502_cmd.c **** cmd->data[0] = sport_in_buffer_size(); + 1047 .loc 1 320 0 + 1048 04f2 FFE387FD call _sport_in_buffer_size; + 1049 04f6 28B1 [P5+16] = R0; + 1050 04f8 0B60 R3 = 1 (X); + 1051 .LVL95: + 1052 04fa 2260 R2 = 4 (X); + 1053 04fc CE2F jump.s .L90; + 1054 .LVL96: + 1055 .L80: + 324:src/l502_cmd.c **** cmd->data[0] = g_set.lch_cnt; + 1056 .loc 1 324 0 + 1057 04fe 4AE10000 P2.H = _g_set; + 1058 0502 0AE10000 P2.L = _g_set; + 1059 0506 50E40004 R0 = W [P2+2048] (Z); + 1060 050a 28B1 [P5+16] = R0; + 1061 050c 0B60 R3 = 1 (X); + 1062 .LVL97: + 1063 050e 2260 R2 = 4 (X); + 1064 0510 C42F jump.s .L90; + BFIN GAS /tmp/ccPX33wG.s page 29 + + + 1065 .LVL98: + 1066 .L81: + 328:src/l502_cmd.c **** if (cmd->data_size < 1) { + 1067 .loc 1 328 0 + 1068 0512 E8A0 R0 = [P5+12]; + 1069 0514 000C cc =R0==0; + 1070 0516 6718 if cc jump .L91; + 1071 0518 0000 nop; + 1072 051a 0000 nop; + 1073 .LBB68: + 332:src/l502_cmd.c **** if (index >= L502_LTABLE_MAX_CH_CNT) { + 1074 .loc 1 332 0 + 1075 051c 20E1FF00 R0 = 255 (X); + 331:src/l502_cmd.c **** uint32_t index = cmd->data[0]; + 1076 .loc 1 331 0 + 1077 0520 29A1 R1 = [P5+16]; + 1078 .LVL99: + 332:src/l502_cmd.c **** if (index >= L502_LTABLE_MAX_CH_CNT) { + 1079 .loc 1 332 0 + 1080 0522 010A cc =R1<=R0 (iu); + 1081 0524 9A17 if !cc jump .L75 (bp); + 335:src/l502_cmd.c **** cmd->data[1] = g_set.lch[index].phy_ch; + 1082 .loc 1 335 0 + 1083 0526 82C61980 R0 = R1 << 3; + 1084 052a 0032 P0 = R0; + 1085 052c 49E10000 P1.H = _g_set; + 1086 0530 09E10000 P1.L = _g_set; + 339:src/l502_cmd.c **** cmd->data[5] = g_set.lch[index].flags; + 1087 .loc 1 339 0 + 1088 0534 3360 R3 = 6 (X); + 1089 .LVL100: + 1090 0536 C260 R2 = 24 (X); + 335:src/l502_cmd.c **** cmd->data[1] = g_set.lch[index].phy_ch; + 1091 .loc 1 335 0 + 1092 0538 815A P2 = P1 + P0; + 1093 053a 1099 R0 = B [P2] (Z); + 1094 053c 68B1 [P5+20] = R0; + 336:src/l502_cmd.c **** cmd->data[2] = g_set.lch[index].mode; + 1095 .loc 1 336 0 + 1096 053e 90E40100 R0 = B [P2+1] (Z); + 1097 0542 A8B1 [P5+24] = R0; + 337:src/l502_cmd.c **** cmd->data[3] = g_set.lch[index].range; + 1098 .loc 1 337 0 + 1099 0544 90E40200 R0 = B [P2+2] (Z); + 1100 0548 E8B1 [P5+28] = R0; + 338:src/l502_cmd.c **** cmd->data[4] = g_set.lch[index].avg; + 1101 .loc 1 338 0 + 1102 054a 90E40300 R0 = B [P2+3] (Z); + 1103 054e 28B2 [P5+32] = R0; + 339:src/l502_cmd.c **** cmd->data[5] = g_set.lch[index].flags; + 1104 .loc 1 339 0 + 1105 0550 415A P1 = P1 + P0; + 1106 0552 48A0 R0 = [P1+4]; + 1107 0554 68B2 [P5+36] = R0; + 1108 0556 A12F jump.s .L90; + 1109 .LVL101: + 1110 .L82: + BFIN GAS /tmp/ccPX33wG.s page 30 + + + 1111 .LBE68: + 345:src/l502_cmd.c **** cmd->data[0] = g_set.adc_freq_div; + 1112 .loc 1 345 0 + 1113 0558 4AE10000 P2.H = _g_set; + 1114 055c 0AE10000 P2.L = _g_set; + 1115 0560 10E40102 R0 = [P2+2052]; + 1116 0564 28B1 [P5+16] = R0; + 1117 0566 0B60 R3 = 1 (X); + 1118 .LVL102: + 1119 0568 2260 R2 = 4 (X); + 1120 056a 972F jump.s .L90; + 1121 .LVL103: + 1122 .L83: + 349:src/l502_cmd.c **** cmd->data[0] = g_set.ref_freq; + 1123 .loc 1 349 0 + 1124 056c 4AE10000 P2.H = _g_set; + 1125 0570 0AE10000 P2.L = _g_set; + 1126 0574 10E40402 R0 = [P2+2064]; + 1127 0578 28B1 [P5+16] = R0; + 1128 057a 0B60 R3 = 1 (X); + 1129 .LVL104: + 1130 057c 2260 R2 = 4 (X); + 1131 057e 8D2F jump.s .L90; + 1132 .LVL105: + 1133 .L84: + 353:src/l502_cmd.c **** cmd->data[0] = g_set.adc_frame_delay; + 1134 .loc 1 353 0 + 1135 0580 4AE10000 P2.H = _g_set; + 1136 0584 0AE10000 P2.L = _g_set; + 1137 0588 10E40302 R0 = [P2+2060]; + 1138 058c 28B1 [P5+16] = R0; + 1139 058e 0B60 R3 = 1 (X); + 1140 .LVL106: + 1141 0590 2260 R2 = 4 (X); + 1142 0592 832F jump.s .L90; + 1143 .LVL107: + 1144 .L85: + 357:src/l502_cmd.c **** cmd->data[0] = g_set.sync_mode; + 1145 .loc 1 357 0 + 1146 0594 4AE10000 P2.H = _g_set; + 1147 0598 0AE10000 P2.L = _g_set; + 1148 059c 90E41608 R0 = B [P2+2070] (Z); + 1149 05a0 28B1 [P5+16] = R0; + 1150 05a2 0B60 R3 = 1 (X); + 1151 .LVL108: + 1152 05a4 2260 R2 = 4 (X); + 1153 05a6 792F jump.s .L90; + 1154 .LVL109: + 1155 .L86: + 361:src/l502_cmd.c **** cmd->data[0] = g_set.sync_start_mode; + 1156 .loc 1 361 0 + 1157 05a8 4AE10000 P2.H = _g_set; + 1158 05ac 0AE10000 P2.L = _g_set; + 1159 05b0 90E41708 R0 = B [P2+2071] (Z); + 1160 05b4 28B1 [P5+16] = R0; + 1161 05b6 0B60 R3 = 1 (X); + 1162 .LVL110: + BFIN GAS /tmp/ccPX33wG.s page 31 + + + 1163 05b8 2260 R2 = 4 (X); + 1164 05ba 6F2F jump.s .L90; + 1165 .LVL111: + 1166 .L87: + 365:src/l502_cmd.c **** cmd->data[0] = g_set.din_freq_div; + 1167 .loc 1 365 0 + 1168 05bc 4AE10000 P2.H = _g_set; + 1169 05c0 0AE10000 P2.L = _g_set; + 1170 05c4 10E40202 R0 = [P2+2056]; + 1171 05c8 28B1 [P5+16] = R0; + 1172 05ca 0B60 R3 = 1 (X); + 1173 .LVL112: + 1174 05cc 2260 R2 = 4 (X); + 1175 05ce 652F jump.s .L90; + 1176 .LVL113: + 1177 .L88: + 369:src/l502_cmd.c **** cmd->data[0] = g_set.out_freq_div; + 1178 .loc 1 369 0 + 1179 05d0 4AE10000 P2.H = _g_set; + 1180 05d4 0AE10000 P2.L = _g_set; + 1181 05d8 50E40A04 R0 = W [P2+2068] (Z); + 1182 05dc 28B1 [P5+16] = R0; + 1183 05de 0B60 R3 = 1 (X); + 1184 .LVL114: + 1185 05e0 2260 R2 = 4 (X); + 1186 05e2 5B2F jump.s .L90; + 1187 .LVL115: + 1188 .L91: + 1189 .LBB69: + 1190 .LBB65: + 1191 .loc 1 378 0 + 1192 05e4 20E1FDFD R0 = -515 (X); + 1193 .LVL116: + 1194 05e8 3A2F jump.s .L93; + 1195 .LBE65: + 1196 .LBE69: + 1197 .LFE31: + 1198 .size _f_cmd_get_param, .-_f_cmd_get_param + 1199 05ea 0000 .align 4 + 1200 .global _l502_cmd_start; + 1201 .type _l502_cmd_start, STT_FUNC; + 1202 _l502_cmd_start: + 1203 .LFB17: + 99:src/l502_cmd.c **** void l502_cmd_start(t_l502_bf_cmd* cmd) { + 1204 .loc 1 99 0 + 1205 .LVL117: + 1206 05ec 0032 P0 = R0; + 1207 05ee 00E80000 LINK 0; + 1208 .LCFI21: + 102:src/l502_cmd.c **** if (cmd->code & L502_BF_CMD_CODE_USER) { + 1209 .loc 1 102 0 + 1210 05f2 0195 R1 = W [P0] (Z); + 1211 05f4 8842 R0 = R1.L (X); + 1212 .LVL118: + 1213 05f6 800C cc =R0<0; + 1214 05f8 7C18 if cc jump .L113; + 106:src/l502_cmd.c **** if (cmd->code == f_cmd_tbl[i].cmd_code) { + BFIN GAS /tmp/ccPX33wG.s page 32 + + + 1215 .loc 1 106 0 + 1216 05fa 49E10000 P1.H = _f_cmd_tbl; + 1217 05fe 09E18801 P1.L = _f_cmd_tbl; + 103:src/l502_cmd.c **** usr_cmd_process(cmd); + 1218 .loc 1 103 0 + 1219 0602 C942 R1 = R1.L (Z); + 106:src/l502_cmd.c **** if (cmd->code == f_cmd_tbl[i].cmd_code) { + 1220 .loc 1 106 0 + 1221 0604 0891 R0 = [P1]; + 1222 0606 0808 cc =R0==R1; + 1223 0608 6B18 if cc jump .L114; + 1224 060a 0000 nop; + 1225 060c 0000 nop; + 1226 060e 0000 nop; + 1227 0610 88A0 R0 = [P1+8]; + 1228 0612 0808 cc =R0==R1; + 1229 0614 7318 if cc jump .L115; + 1230 0616 0000 nop; + 1231 0618 0000 nop; + 1232 061a 0000 nop; + 1233 061c 08A1 R0 = [P1+16]; + 1234 061e 0808 cc =R0==R1; + 1235 0620 5618 if cc jump .L116; + 1236 0622 0000 nop; + 1237 0624 0000 nop; + 1238 0626 0000 nop; + 1239 0628 88A1 R0 = [P1+24]; + 1240 062a 0808 cc =R0==R1; + 1241 062c 7018 if cc jump .L117; + 1242 062e 0000 nop; + 1243 0630 0000 nop; + 1244 0632 0000 nop; + 1245 0634 08A2 R0 = [P1+32]; + 1246 0636 0808 cc =R0==R1; + 1247 0638 6C18 if cc jump .L118; + 1248 063a 0000 nop; + 1249 063c 0000 nop; + 1250 063e 0000 nop; + 1251 0640 88A2 R0 = [P1+40]; + 1252 0642 0808 cc =R0==R1; + 1253 0644 6818 if cc jump .L119; + 1254 0646 0000 nop; + 1255 0648 0000 nop; + 1256 064a 0000 nop; + 1257 064c 08A3 R0 = [P1+48]; + 1258 064e 0808 cc =R0==R1; + 1259 0650 6618 if cc jump .L120; + 1260 0652 0000 nop; + 1261 0654 0000 nop; + 1262 0656 0000 nop; + 1263 0658 88A3 R0 = [P1+56]; + 1264 065a 0808 cc =R0==R1; + 1265 065c 5E18 if cc jump .L121; + 1266 065e 0000 nop; + 1267 0660 0000 nop; + 1268 0662 0000 nop; + 1269 0664 08E41000 R0 = [P1+64]; + BFIN GAS /tmp/ccPX33wG.s page 33 + + + 1270 0668 0808 cc =R0==R1; + 1271 066a 5B18 if cc jump .L122; + 1272 066c 0000 nop; + 1273 066e 4AE10000 P2.H = _f_cmd_tbl; + 1274 0672 0AE18801 P2.L = _f_cmd_tbl; + 1275 0676 08E41200 R0 = [P1+72]; + 1276 067a 0808 cc =R0==R1; + 1277 067c 5418 if cc jump .L123; + 1278 067e 0000 nop; + 1279 0680 0000 nop; + 1280 0682 0000 nop; + 1281 0684 10E41400 R0 = [P2+80]; + 1282 0688 0808 cc =R0==R1; + 1283 068a 4F18 if cc jump .L124; + 1284 068c 0000 nop; + 1285 068e 0000 nop; + 1286 0690 0000 nop; + 1287 0692 10E41600 R0 = [P2+88]; + 1288 0696 0808 cc =R0==R1; + 1289 0698 4A18 if cc jump .L125; + 1290 069a 0000 nop; + 1291 069c 0000 nop; + 1292 069e 0000 nop; + 1293 06a0 10E41800 R0 = [P2+96]; + 1294 06a4 0808 cc =R0==R1; + 1295 06a6 4518 if cc jump .L126; + 1296 .LBB72: + 1297 .LBB73: + 89:src/l502_cmd.c **** g_state.cmd.result = result; + 1298 .loc 1 89 0 + 1299 06a8 4AE10000 P2.H = _g_state; + 1300 06ac 0AE10000 P2.L = _g_state; + 1301 06b0 20E100FE R0 = -512 (X); + 1302 06b4 10E60202 [P2+2056] = R0; + 90:src/l502_cmd.c **** g_state.cmd.data_size = size; + 1303 .loc 1 90 0 + 1304 06b8 0060 R0 = 0 (X); + 1305 06ba 10E60302 [P2+2060] = R0; + 94:src/l502_cmd.c **** g_state.cmd.status = L502_BF_CMD_STATUS_DONE; + 1306 .loc 1 94 0 + 1307 06be 20E1035A R0 = 23043 (X); + 1308 06c2 50E60104 W [P2+2050] = R0; + 1309 .LBE73: + 1310 .LBE72: + 115:src/l502_cmd.c **** } + 1311 .loc 1 115 0 + 1312 06c6 01E80000 UNLINK; + 1313 06ca 1000 rts; + 1314 .L116: + 106:src/l502_cmd.c **** if (cmd->code == f_cmd_tbl[i].cmd_code) { + 1315 .loc 1 106 0 + 1316 06cc 1060 R0 = 2 (X); + 1317 .LVL119: + 1318 .L99: + 108:src/l502_cmd.c **** f_cmd_tbl[i].start(cmd); + 1319 .loc 1 108 0 + 1320 06ce 184F R0 <<= 3; + BFIN GAS /tmp/ccPX33wG.s page 34 + + + 1321 .LVL120: + 1322 06d0 1032 P2 = R0; + 1323 06d2 4030 R0 = P0; + 115:src/l502_cmd.c **** } + 1324 .loc 1 115 0 + 1325 06d4 01E80000 UNLINK; + 108:src/l502_cmd.c **** f_cmd_tbl[i].start(cmd); + 1326 .loc 1 108 0 + 1327 06d8 915A P2 = P1 + P2; + 1328 06da 52AC P2 = [P2+4]; + 1329 06dc 5200 jump (P2); + 1330 .LVL121: + 1331 .L114: + 106:src/l502_cmd.c **** if (cmd->code == f_cmd_tbl[i].cmd_code) { + 1332 .loc 1 106 0 + 1333 06de 0060 R0 = 0 (X); + 1334 .LVL122: + 108:src/l502_cmd.c **** f_cmd_tbl[i].start(cmd); + 1335 .loc 1 108 0 + 1336 06e0 184F R0 <<= 3; + 1337 .LVL123: + 1338 06e2 1032 P2 = R0; + 1339 06e4 4030 R0 = P0; + 115:src/l502_cmd.c **** } + 1340 .loc 1 115 0 + 1341 06e6 01E80000 UNLINK; + 108:src/l502_cmd.c **** f_cmd_tbl[i].start(cmd); + 1342 .loc 1 108 0 + 1343 06ea 915A P2 = P1 + P2; + 1344 06ec 52AC P2 = [P2+4]; + 1345 06ee 5200 jump (P2); + 1346 .LVL124: + 1347 .L113: + 103:src/l502_cmd.c **** usr_cmd_process(cmd); + 1348 .loc 1 103 0 + 1349 06f0 4030 R0 = P0; + 115:src/l502_cmd.c **** } + 1350 .loc 1 115 0 + 1351 06f2 01E80000 UNLINK; + 103:src/l502_cmd.c **** usr_cmd_process(cmd); + 1352 .loc 1 103 0 + 1353 06f6 FFE285FC jump.l _usr_cmd_process; + 1354 .LVL125: + 1355 .L115: + 106:src/l502_cmd.c **** if (cmd->code == f_cmd_tbl[i].cmd_code) { + 1356 .loc 1 106 0 + 1357 06fa 0860 R0 = 1 (X); + 1358 .LVL126: + 108:src/l502_cmd.c **** f_cmd_tbl[i].start(cmd); + 1359 .loc 1 108 0 + 1360 06fc 184F R0 <<= 3; + 1361 .LVL127: + 1362 06fe 1032 P2 = R0; + 1363 0700 4030 R0 = P0; + 115:src/l502_cmd.c **** } + 1364 .loc 1 115 0 + 1365 0702 01E80000 UNLINK; + BFIN GAS /tmp/ccPX33wG.s page 35 + + + 108:src/l502_cmd.c **** f_cmd_tbl[i].start(cmd); + 1366 .loc 1 108 0 + 1367 0706 915A P2 = P1 + P2; + 1368 0708 52AC P2 = [P2+4]; + 1369 070a 5200 jump (P2); + 1370 .LVL128: + 1371 .L117: + 106:src/l502_cmd.c **** if (cmd->code == f_cmd_tbl[i].cmd_code) { + 1372 .loc 1 106 0 + 1373 070c 1860 R0 = 3 (X); + 1374 .LVL129: + 1375 070e E02F jump.s .L99; + 1376 .LVL130: + 1377 .L118: + 1378 0710 2060 R0 = 4 (X); + 1379 .LVL131: + 1380 0712 DE2F jump.s .L99; + 1381 .LVL132: + 1382 .L119: + 1383 0714 2860 R0 = 5 (X); + 1384 .LVL133: + 1385 0716 DC2F jump.s .L99; + 1386 .LVL134: + 1387 .L121: + 1388 0718 3860 R0 = 7 (X); + 1389 .LVL135: + 1390 071a DA2F jump.s .L99; + 1391 .LVL136: + 1392 .L120: + 1393 071c 3060 R0 = 6 (X); + 1394 .LVL137: + 1395 071e D82F jump.s .L99; + 1396 .LVL138: + 1397 .L122: + 1398 0720 4060 R0 = 8 (X); + 1399 .LVL139: + 1400 0722 D62F jump.s .L99; + 1401 .LVL140: + 1402 .L123: + 1403 0724 4860 R0 = 9 (X); + 1404 .LVL141: + 1405 0726 D42F jump.s .L99; + 1406 .LVL142: + 1407 .L124: + 1408 0728 5060 R0 = 10 (X); + 1409 .LVL143: + 1410 072a D22F jump.s .L99; + 1411 .LVL144: + 1412 .L125: + 1413 072c 5860 R0 = 11 (X); + 1414 .LVL145: + 1415 072e D02F jump.s .L99; + 1416 .LVL146: + 1417 .L126: + 1418 0730 6060 R0 = 12 (X); + 1419 .LVL147: + 1420 0732 CE2F jump.s .L99; + BFIN GAS /tmp/ccPX33wG.s page 36 + + + 1421 .LFE17: + 1422 .size _l502_cmd_start, .-_l502_cmd_start + 1423 .align 4 + 1424 .global _l502_cmd_check_req; + 1425 .type _l502_cmd_check_req, STT_FUNC; + 1426 _l502_cmd_check_req: + 1427 .LFB18: + 120:src/l502_cmd.c **** void l502_cmd_check_req(void) { + 1428 .loc 1 120 0 + 121:src/l502_cmd.c **** if (f_cmd_req == 1) { + 1429 .loc 1 121 0 + 1430 0734 4AE10000 P2.H = _f_cmd_req; + 120:src/l502_cmd.c **** void l502_cmd_check_req(void) { + 1431 .loc 1 120 0 + 1432 0738 00E80000 LINK 0; + 1433 .LCFI22: + 121:src/l502_cmd.c **** if (f_cmd_req == 1) { + 1434 .loc 1 121 0 + 1435 073c 0AE10000 P2.L = _f_cmd_req; + 1436 0740 5099 R0 = B [P2] (X); + 1437 0742 4043 R0 = R0.B (Z); + 1438 0744 080C cc =R0==1; + 1439 0746 0418 if cc jump .L145; + 1440 .L144: + 125:src/l502_cmd.c **** } + 1441 .loc 1 125 0 + 1442 0748 01E80000 UNLINK; + 1443 074c 1000 rts; + 1444 .L145: + 122:src/l502_cmd.c **** f_cmd_req=0; + 1445 .loc 1 122 0 + 1446 074e 0060 R0 = 0 (X); + 1447 0750 109B B [P2] = R0; + 1448 .LBB78: + 1449 .LBB80: + 102:src/l502_cmd.c **** if (cmd->code & L502_BF_CMD_CODE_USER) { + 1450 .loc 1 102 0 + 1451 0752 4AE10000 P2.H = _g_state; + 1452 0756 0AE10000 P2.L = _g_state; + 1453 075a 50E50004 R0 = W [P2+2048] (X); + 1454 075e 8042 R0 = R0.L (X); + 1455 0760 800C cc =R0<0; + 1456 0762 8518 if cc jump .L146; + 106:src/l502_cmd.c **** if (cmd->code == f_cmd_tbl[i].cmd_code) { + 1457 .loc 1 106 0 + 1458 0764 49E10000 P1.H = _f_cmd_tbl; + 1459 0768 09E18801 P1.L = _f_cmd_tbl; + 1460 076c 50E50004 R0 = W [P2+2048] (X); + 1461 0770 C042 R0 = R0.L (Z); + 1462 0772 0991 R1 = [P1]; + 1463 0774 0808 cc =R0==R1; + 1464 0776 7918 if cc jump .L147; + 1465 0778 0000 nop; + 1466 077a 50E50004 R0 = W [P2+2048] (X); + 1467 077e C042 R0 = R0.L (Z); + 1468 0780 89A0 R1 = [P1+8]; + 1469 0782 0808 cc =R0==R1; + BFIN GAS /tmp/ccPX33wG.s page 37 + + + 1470 0784 7C18 if cc jump .L148; + 1471 0786 0000 nop; + 1472 0788 50E50004 R0 = W [P2+2048] (X); + 1473 078c C042 R0 = R0.L (Z); + 1474 078e 09A1 R1 = [P1+16]; + 1475 0790 0808 cc =R0==R1; + 1476 0792 7718 if cc jump .L149; + 1477 0794 0000 nop; + 1478 0796 50E50004 R0 = W [P2+2048] (X); + 1479 079a C042 R0 = R0.L (Z); + 1480 079c 89A1 R1 = [P1+24]; + 1481 079e 0808 cc =R0==R1; + 1482 07a0 7218 if cc jump .L150; + 1483 07a2 0000 nop; + 1484 07a4 50E50004 R0 = W [P2+2048] (X); + 1485 07a8 C042 R0 = R0.L (Z); + 1486 07aa 09A2 R1 = [P1+32]; + 1487 07ac 0808 cc =R0==R1; + 1488 07ae 6D18 if cc jump .L151; + 1489 07b0 0000 nop; + 1490 07b2 50E50004 R0 = W [P2+2048] (X); + 1491 07b6 C042 R0 = R0.L (Z); + 1492 07b8 89A2 R1 = [P1+40]; + 1493 07ba 0808 cc =R0==R1; + 1494 07bc 6818 if cc jump .L152; + 1495 07be 0000 nop; + 1496 07c0 50E50004 R0 = W [P2+2048] (X); + 1497 07c4 C042 R0 = R0.L (Z); + 1498 07c6 09A3 R1 = [P1+48]; + 1499 07c8 0808 cc =R0==R1; + 1500 07ca 4318 if cc jump .L153; + 1501 07cc 0000 nop; + 1502 07ce 50E50004 R0 = W [P2+2048] (X); + 1503 07d2 C042 R0 = R0.L (Z); + 1504 07d4 89A3 R1 = [P1+56]; + 1505 07d6 0808 cc =R0==R1; + 1506 07d8 5C18 if cc jump .L154; + 1507 07da 48E10000 P0.H = _g_state; + 1508 07de 08E10000 P0.L = _g_state; + 1509 07e2 50E50004 R0 = W [P2+2048] (X); + 1510 07e6 C042 R0 = R0.L (Z); + 1511 07e8 4AE10000 P2.H = _f_cmd_tbl; + 1512 07ec 09E41000 R1 = [P1+64]; + 1513 07f0 0AE18801 P2.L = _f_cmd_tbl; + 1514 07f4 0808 cc =R0==R1; + 1515 07f6 4F18 if cc jump .L155; + 1516 07f8 0000 nop; + 1517 07fa 40E50004 R0 = W [P0+2048] (X); + 1518 07fe C042 R0 = R0.L (Z); + 1519 0800 11E41200 R1 = [P2+72]; + 1520 0804 0808 cc =R0==R1; + 1521 0806 4918 if cc jump .L156; + 1522 0808 0000 nop; + 1523 080a 40E50004 R0 = W [P0+2048] (X); + 1524 080e C042 R0 = R0.L (Z); + 1525 0810 11E41400 R1 = [P2+80]; + 1526 0814 0808 cc =R0==R1; + BFIN GAS /tmp/ccPX33wG.s page 38 + + + 1527 0816 4318 if cc jump .L157; + 1528 0818 0000 nop; + 1529 081a 40E50004 R0 = W [P0+2048] (X); + 1530 081e C042 R0 = R0.L (Z); + 1531 0820 11E41600 R1 = [P2+88]; + 1532 0824 0808 cc =R0==R1; + 1533 0826 3D18 if cc jump .L158; + 1534 0828 0000 nop; + 1535 082a 40E50004 R0 = W [P0+2048] (X); + 1536 082e C042 R0 = R0.L (Z); + 1537 0830 11E41800 R1 = [P2+96]; + 1538 0834 0808 cc =R0==R1; + 1539 0836 3718 if cc jump .L159; + 1540 .LBB81: + 1541 .LBB82: + 89:src/l502_cmd.c **** g_state.cmd.result = result; + 1542 .loc 1 89 0 + 1543 0838 20E100FE R0 = -512 (X); + 1544 083c 00E60202 [P0+2056] = R0; + 90:src/l502_cmd.c **** g_state.cmd.data_size = size; + 1545 .loc 1 90 0 + 1546 0840 0060 R0 = 0 (X); + 1547 0842 00E60302 [P0+2060] = R0; + 94:src/l502_cmd.c **** g_state.cmd.status = L502_BF_CMD_STATUS_DONE; + 1548 .loc 1 94 0 + 1549 0846 20E1035A R0 = 23043 (X); + 1550 084a 40E60104 W [P0+2050] = R0; + 1551 084e 7D2F jump.s .L144; + 1552 .L153: + 1553 .LBE82: + 1554 .LBE81: + 106:src/l502_cmd.c **** if (cmd->code == f_cmd_tbl[i].cmd_code) { + 1555 .loc 1 106 0 + 1556 0850 3060 R0 = 6 (X); + 1557 .LVL148: + 1558 .L131: + 108:src/l502_cmd.c **** f_cmd_tbl[i].start(cmd); + 1559 .loc 1 108 0 + 1560 0852 184F R0 <<= 3; + 1561 .LVL149: + 1562 0854 1032 P2 = R0; + 1563 0856 40E10000 R0.H = _g_state+2048; + 1564 085a 00E10008 R0.L = _g_state+2048; + 1565 .LBE80: + 1566 .LBE78: + 125:src/l502_cmd.c **** } + 1567 .loc 1 125 0 + 1568 085e 01E80000 UNLINK; + 1569 .LBB84: + 1570 .LBB79: + 108:src/l502_cmd.c **** f_cmd_tbl[i].start(cmd); + 1571 .loc 1 108 0 + 1572 0862 915A P2 = P1 + P2; + 1573 0864 52AC P2 = [P2+4]; + 1574 0866 5200 jump (P2); + 1575 .L147: + 106:src/l502_cmd.c **** if (cmd->code == f_cmd_tbl[i].cmd_code) { + BFIN GAS /tmp/ccPX33wG.s page 39 + + + 1576 .loc 1 106 0 + 1577 0868 0060 R0 = 0 (X); + 1578 .LVL150: + 1579 086a F42F jump.s .L131; + 1580 .LVL151: + 1581 .L146: + 103:src/l502_cmd.c **** usr_cmd_process(cmd); + 1582 .loc 1 103 0 + 1583 086c 40E10000 R0.H = _g_state+2048; + 1584 0870 00E10008 R0.L = _g_state+2048; + 1585 .LBE79: + 1586 .LBE84: + 125:src/l502_cmd.c **** } + 1587 .loc 1 125 0 + 1588 0874 01E80000 UNLINK; + 1589 .LBB85: + 1590 .LBB83: + 103:src/l502_cmd.c **** usr_cmd_process(cmd); + 1591 .loc 1 103 0 + 1592 0878 FFE2C4FB jump.l _usr_cmd_process; + 1593 .L148: + 106:src/l502_cmd.c **** if (cmd->code == f_cmd_tbl[i].cmd_code) { + 1594 .loc 1 106 0 + 1595 087c 0860 R0 = 1 (X); + 1596 .LVL152: + 1597 087e EA2F jump.s .L131; + 1598 .LVL153: + 1599 .L149: + 1600 0880 1060 R0 = 2 (X); + 1601 .LVL154: + 1602 0882 E82F jump.s .L131; + 1603 .LVL155: + 1604 .L150: + 1605 0884 1860 R0 = 3 (X); + 1606 .LVL156: + 1607 0886 E62F jump.s .L131; + 1608 .LVL157: + 1609 .L151: + 1610 0888 2060 R0 = 4 (X); + 1611 .LVL158: + 1612 088a E42F jump.s .L131; + 1613 .LVL159: + 1614 .L152: + 1615 088c 2860 R0 = 5 (X); + 1616 .LVL160: + 1617 088e E22F jump.s .L131; + 1618 .LVL161: + 1619 .L154: + 1620 0890 3860 R0 = 7 (X); + 1621 .LVL162: + 1622 0892 E02F jump.s .L131; + 1623 .LVL163: + 1624 .L155: + 1625 0894 4060 R0 = 8 (X); + 1626 .LVL164: + 1627 0896 DE2F jump.s .L131; + 1628 .LVL165: + BFIN GAS /tmp/ccPX33wG.s page 40 + + + 1629 .L156: + 1630 0898 4860 R0 = 9 (X); + 1631 .LVL166: + 1632 089a DC2F jump.s .L131; + 1633 .LVL167: + 1634 .L157: + 1635 089c 5060 R0 = 10 (X); + 1636 .LVL168: + 1637 089e DA2F jump.s .L131; + 1638 .LVL169: + 1639 .L158: + 1640 08a0 5860 R0 = 11 (X); + 1641 .LVL170: + 1642 08a2 D82F jump.s .L131; + 1643 .LVL171: + 1644 .L159: + 1645 08a4 6060 R0 = 12 (X); + 1646 .LVL172: + 1647 08a6 D62F jump.s .L131; + 1648 .LBE83: + 1649 .LBE85: + 1650 .LFE18: + 1651 .size _l502_cmd_check_req, .-_l502_cmd_check_req + 1652 .local _f_cmd_req + 1653 .comm _f_cmd_req,1,1 + 1654 .section .rodata + 1655 .align 4 + 1656 .type _f_cmd_tbl, @object + 1657 .size _f_cmd_tbl, 104 + 1658 _f_cmd_tbl: + 1659 0188 01000000 .long 1 + 1660 018c 00000000 .long _l502_cmd_test + 1661 0190 02000000 .long 2 + 1662 0194 64000000 .long _f_cmd_set_param + 1663 0198 03000000 .long 3 + 1664 019c 48040000 .long _f_cmd_get_param + 1665 01a0 04000000 .long 4 + 1666 01a4 20040000 .long _f_cmd_config + 1667 01a8 07000000 .long 7 + 1668 01ac F8030000 .long _f_cmd_streams_start + 1669 01b0 08000000 .long 8 + 1670 01b4 D0030000 .long _f_cmd_stream_stop + 1671 01b8 09000000 .long 9 + 1672 01bc A8030000 .long _f_cmd_preload + 1673 01c0 05000000 .long 5 + 1674 01c4 7C030000 .long _f_cmd_stream_enable + 1675 01c8 06000000 .long 6 + 1676 01cc 50030000 .long _f_cmd_stream_disable + 1677 01d0 10000000 .long 16 + 1678 01d4 D0020000 .long _f_cmd_async_out + 1679 01d8 13000000 .long 19 + 1680 01dc 7C020000 .long _f_cmd_fpga_reg_wr + 1681 01e0 14000000 .long 20 + 1682 01e4 24020000 .long _f_cmd_fpga_reg_rd + 1683 01e8 15000000 .long 21 + 1684 01ec E4010000 .long _f_cmd_get_out_status + 1685 .align 4 + BFIN GAS /tmp/ccPX33wG.s page 41 + + + 1686 .type _f_regaddr_k, @object + 1687 .size _f_regaddr_k, 24 + 1688 _f_regaddr_k: + 1689 01f0 08040000 .long 1032 + 1690 01f4 09040000 .long 1033 + 1691 01f8 0A040000 .long 1034 + 1692 01fc 0B040000 .long 1035 + 1693 0200 0C040000 .long 1036 + 1694 0204 0D040000 .long 1037 + 1695 .align 4 + 1696 .type _f_regaddr_offs, @object + 1697 .size _f_regaddr_offs, 24 + 1698 _f_regaddr_offs: + 1699 0208 00040000 .long 1024 + 1700 020c 01040000 .long 1025 + 1701 0210 02040000 .long 1026 + 1702 0214 03040000 .long 1027 + 1703 0218 04040000 .long 1028 + 1704 021c 05040000 .long 1029 + 1705 .section .debug_frame,"",@progbits + 1706 .Lframe0: + 1707 0000 0C000000 .4byte .LECIE0-.LSCIE0 + 1708 .LSCIE0: + 1709 0004 FFFFFFFF .4byte 0xffffffff + 1710 0008 01 .byte 0x1 + 1711 0009 00 .string "" + 1712 000a 01 .uleb128 0x1 + 1713 000b 7C .sleb128 -4 + 1714 000c 23 .byte 0x23 + 1715 000d 0C .byte 0xc + 1716 000e 0E .uleb128 0xe + 1717 000f 00 .uleb128 0x0 + 1718 .align 4 + 1719 .LECIE0: + 1720 .LSFDE0: + 1721 0010 14000000 .4byte .LEFDE0-.LASFDE0 + 1722 .LASFDE0: + 1723 0014 00000000 .4byte .Lframe0 + 1724 0018 00000000 .4byte .LFB19 + 1725 001c 26000000 .4byte .LFE19-.LFB19 + 1726 0020 48 .byte 0x4 + 1727 .4byte .LCFI0-.LFB19 + 1728 0021 0C .byte 0xc + 1729 0022 0F .uleb128 0xf + 1730 0023 08 .uleb128 0x8 + 1731 0024 8F .byte 0x8f + 1732 0025 02 .uleb128 0x2 + 1733 0026 A3 .byte 0xa3 + 1734 0027 01 .uleb128 0x1 + 1735 .align 4 + 1736 .LEFDE0: + 1737 .LSFDE2: + 1738 0028 1C000000 .4byte .LEFDE2-.LASFDE2 + 1739 .LASFDE2: + 1740 002c 00000000 .4byte .Lframe0 + 1741 0030 28000000 .4byte .LFB16 + 1742 0034 3C000000 .4byte .LFE16-.LFB16 + BFIN GAS /tmp/ccPX33wG.s page 42 + + + 1743 0038 42 .byte 0x4 + 1744 .4byte .LCFI1-.LFB16 + 1745 0039 0E .byte 0xe + 1746 003a 04 .uleb128 0x4 + 1747 003b 8D .byte 0x8d + 1748 003c 01 .uleb128 0x1 + 1749 003d 50 .byte 0x4 + 1750 .4byte .LCFI2-.LCFI1 + 1751 003e 0C .byte 0xc + 1752 003f 0F .uleb128 0xf + 1753 0040 0C .uleb128 0xc + 1754 0041 8F .byte 0x8f + 1755 0042 03 .uleb128 0x3 + 1756 0043 A3 .byte 0xa3 + 1757 0044 02 .uleb128 0x2 + 1758 0045 000000 .align 4 + 1759 .LEFDE2: + 1760 .LSFDE4: + 1761 0048 1C000000 .4byte .LEFDE4-.LASFDE4 + 1762 .LASFDE4: + 1763 004c 00000000 .4byte .Lframe0 + 1764 0050 64000000 .4byte .LFB30 + 1765 0054 80010000 .4byte .LFE30-.LFB30 + 1766 0058 42 .byte 0x4 + 1767 .4byte .LCFI4-.LFB30 + 1768 0059 0E .byte 0xe + 1769 005a 08 .uleb128 0x8 + 1770 005b 48 .byte 0x4 + 1771 .4byte .LCFI5-.LCFI4 + 1772 005c 0C .byte 0xc + 1773 005d 0F .uleb128 0xf + 1774 005e 10 .uleb128 0x10 + 1775 005f 8F .byte 0x8f + 1776 0060 04 .uleb128 0x4 + 1777 0061 A3 .byte 0xa3 + 1778 0062 03 .uleb128 0x3 + 1779 0063 8D .byte 0x8d + 1780 0064 02 .uleb128 0x2 + 1781 0065 87 .byte 0x87 + 1782 0066 01 .uleb128 0x1 + 1783 0067 00 .align 4 + 1784 .LEFDE4: + 1785 .LSFDE6: + 1786 0068 14000000 .4byte .LEFDE6-.LASFDE6 + 1787 .LASFDE6: + 1788 006c 00000000 .4byte .Lframe0 + 1789 0070 E4010000 .4byte .LFB29 + 1790 0074 3E000000 .4byte .LFE29-.LFB29 + 1791 0078 44 .byte 0x4 + 1792 .4byte .LCFI7-.LFB29 + 1793 0079 0C .byte 0xc + 1794 007a 0F .uleb128 0xf + 1795 007b 08 .uleb128 0x8 + 1796 007c 8F .byte 0x8f + 1797 007d 02 .uleb128 0x2 + 1798 007e A3 .byte 0xa3 + 1799 007f 01 .uleb128 0x1 + BFIN GAS /tmp/ccPX33wG.s page 43 + + + 1800 .align 4 + 1801 .LEFDE6: + 1802 .LSFDE8: + 1803 0080 14000000 .4byte .LEFDE8-.LASFDE8 + 1804 .LASFDE8: + 1805 0084 00000000 .4byte .Lframe0 + 1806 0088 24020000 .4byte .LFB28 + 1807 008c 56000000 .4byte .LFE28-.LFB28 + 1808 0090 46 .byte 0x4 + 1809 .4byte .LCFI8-.LFB28 + 1810 0091 0C .byte 0xc + 1811 0092 0F .uleb128 0xf + 1812 0093 08 .uleb128 0x8 + 1813 0094 8F .byte 0x8f + 1814 0095 02 .uleb128 0x2 + 1815 0096 A3 .byte 0xa3 + 1816 0097 01 .uleb128 0x1 + 1817 .align 4 + 1818 .LEFDE8: + 1819 .LSFDE10: + 1820 0098 14000000 .4byte .LEFDE10-.LASFDE10 + 1821 .LASFDE10: + 1822 009c 00000000 .4byte .Lframe0 + 1823 00a0 7C020000 .4byte .LFB27 + 1824 00a4 54000000 .4byte .LFE27-.LFB27 + 1825 00a8 46 .byte 0x4 + 1826 .4byte .LCFI9-.LFB27 + 1827 00a9 0C .byte 0xc + 1828 00aa 0F .uleb128 0xf + 1829 00ab 08 .uleb128 0x8 + 1830 00ac 8F .byte 0x8f + 1831 00ad 02 .uleb128 0x2 + 1832 00ae A3 .byte 0xa3 + 1833 00af 01 .uleb128 0x1 + 1834 .align 4 + 1835 .LEFDE10: + 1836 .LSFDE12: + 1837 00b0 14000000 .4byte .LEFDE12-.LASFDE12 + 1838 .LASFDE12: + 1839 00b4 00000000 .4byte .Lframe0 + 1840 00b8 D0020000 .4byte .LFB26 + 1841 00bc 80000000 .4byte .LFE26-.LFB26 + 1842 00c0 46 .byte 0x4 + 1843 .4byte .LCFI10-.LFB26 + 1844 00c1 0C .byte 0xc + 1845 00c2 0F .uleb128 0xf + 1846 00c3 08 .uleb128 0x8 + 1847 00c4 8F .byte 0x8f + 1848 00c5 02 .uleb128 0x2 + 1849 00c6 A3 .byte 0xa3 + 1850 00c7 01 .uleb128 0x1 + 1851 .align 4 + 1852 .LEFDE12: + 1853 .LSFDE14: + 1854 00c8 14000000 .4byte .LEFDE14-.LASFDE14 + 1855 .LASFDE14: + 1856 00cc 00000000 .4byte .Lframe0 + BFIN GAS /tmp/ccPX33wG.s page 44 + + + 1857 00d0 50030000 .4byte .LFB25 + 1858 00d4 2C000000 .4byte .LFE25-.LFB25 + 1859 00d8 46 .byte 0x4 + 1860 .4byte .LCFI11-.LFB25 + 1861 00d9 0C .byte 0xc + 1862 00da 0F .uleb128 0xf + 1863 00db 08 .uleb128 0x8 + 1864 00dc 8F .byte 0x8f + 1865 00dd 02 .uleb128 0x2 + 1866 00de A3 .byte 0xa3 + 1867 00df 01 .uleb128 0x1 + 1868 .align 4 + 1869 .LEFDE14: + 1870 .LSFDE16: + 1871 00e0 14000000 .4byte .LEFDE16-.LASFDE16 + 1872 .LASFDE16: + 1873 00e4 00000000 .4byte .Lframe0 + 1874 00e8 7C030000 .4byte .LFB24 + 1875 00ec 2C000000 .4byte .LFE24-.LFB24 + 1876 00f0 46 .byte 0x4 + 1877 .4byte .LCFI12-.LFB24 + 1878 00f1 0C .byte 0xc + 1879 00f2 0F .uleb128 0xf + 1880 00f3 08 .uleb128 0x8 + 1881 00f4 8F .byte 0x8f + 1882 00f5 02 .uleb128 0x2 + 1883 00f6 A3 .byte 0xa3 + 1884 00f7 01 .uleb128 0x1 + 1885 .align 4 + 1886 .LEFDE16: + 1887 .LSFDE18: + 1888 00f8 14000000 .4byte .LEFDE18-.LASFDE18 + 1889 .LASFDE18: + 1890 00fc 00000000 .4byte .Lframe0 + 1891 0100 A8030000 .4byte .LFB23 + 1892 0104 28000000 .4byte .LFE23-.LFB23 + 1893 0108 44 .byte 0x4 + 1894 .4byte .LCFI13-.LFB23 + 1895 0109 0C .byte 0xc + 1896 010a 0F .uleb128 0xf + 1897 010b 08 .uleb128 0x8 + 1898 010c 8F .byte 0x8f + 1899 010d 02 .uleb128 0x2 + 1900 010e A3 .byte 0xa3 + 1901 010f 01 .uleb128 0x1 + 1902 .align 4 + 1903 .LEFDE18: + 1904 .LSFDE20: + 1905 0110 14000000 .4byte .LEFDE20-.LASFDE20 + 1906 .LASFDE20: + 1907 0114 00000000 .4byte .Lframe0 + 1908 0118 D0030000 .4byte .LFB21 + 1909 011c 28000000 .4byte .LFE21-.LFB21 + 1910 0120 44 .byte 0x4 + 1911 .4byte .LCFI14-.LFB21 + 1912 0121 0C .byte 0xc + 1913 0122 0F .uleb128 0xf + BFIN GAS /tmp/ccPX33wG.s page 45 + + + 1914 0123 08 .uleb128 0x8 + 1915 0124 8F .byte 0x8f + 1916 0125 02 .uleb128 0x2 + 1917 0126 A3 .byte 0xa3 + 1918 0127 01 .uleb128 0x1 + 1919 .align 4 + 1920 .LEFDE20: + 1921 .LSFDE22: + 1922 0128 14000000 .4byte .LEFDE22-.LASFDE22 + 1923 .LASFDE22: + 1924 012c 00000000 .4byte .Lframe0 + 1925 0130 F8030000 .4byte .LFB20 + 1926 0134 28000000 .4byte .LFE20-.LFB20 + 1927 0138 44 .byte 0x4 + 1928 .4byte .LCFI15-.LFB20 + 1929 0139 0C .byte 0xc + 1930 013a 0F .uleb128 0xf + 1931 013b 08 .uleb128 0x8 + 1932 013c 8F .byte 0x8f + 1933 013d 02 .uleb128 0x2 + 1934 013e A3 .byte 0xa3 + 1935 013f 01 .uleb128 0x1 + 1936 .align 4 + 1937 .LEFDE22: + 1938 .LSFDE24: + 1939 0140 14000000 .4byte .LEFDE24-.LASFDE24 + 1940 .LASFDE24: + 1941 0144 00000000 .4byte .Lframe0 + 1942 0148 20040000 .4byte .LFB22 + 1943 014c 28000000 .4byte .LFE22-.LFB22 + 1944 0150 44 .byte 0x4 + 1945 .4byte .LCFI16-.LFB22 + 1946 0151 0C .byte 0xc + 1947 0152 0F .uleb128 0xf + 1948 0153 08 .uleb128 0x8 + 1949 0154 8F .byte 0x8f + 1950 0155 02 .uleb128 0x2 + 1951 0156 A3 .byte 0xa3 + 1952 0157 01 .uleb128 0x1 + 1953 .align 4 + 1954 .LEFDE24: + 1955 .LSFDE26: + 1956 0158 1C000000 .4byte .LEFDE26-.LASFDE26 + 1957 .LASFDE26: + 1958 015c 00000000 .4byte .Lframe0 + 1959 0160 48040000 .4byte .LFB31 + 1960 0164 A2010000 .4byte .LFE31-.LFB31 + 1961 0168 42 .byte 0x4 + 1962 .4byte .LCFI17-.LFB31 + 1963 0169 0E .byte 0xe + 1964 016a 04 .uleb128 0x4 + 1965 016b 8D .byte 0x8d + 1966 016c 01 .uleb128 0x1 + 1967 016d 46 .byte 0x4 + 1968 .4byte .LCFI18-.LCFI17 + 1969 016e 0C .byte 0xc + 1970 016f 0F .uleb128 0xf + BFIN GAS /tmp/ccPX33wG.s page 46 + + + 1971 0170 0C .uleb128 0xc + 1972 0171 8F .byte 0x8f + 1973 0172 03 .uleb128 0x3 + 1974 0173 A3 .byte 0xa3 + 1975 0174 02 .uleb128 0x2 + 1976 0175 000000 .align 4 + 1977 .LEFDE26: + 1978 .LSFDE28: + 1979 0178 14000000 .4byte .LEFDE28-.LASFDE28 + 1980 .LASFDE28: + 1981 017c 00000000 .4byte .Lframe0 + 1982 0180 EC050000 .4byte .LFB17 + 1983 0184 48010000 .4byte .LFE17-.LFB17 + 1984 0188 46 .byte 0x4 + 1985 .4byte .LCFI21-.LFB17 + 1986 0189 0C .byte 0xc + 1987 018a 0F .uleb128 0xf + 1988 018b 08 .uleb128 0x8 + 1989 018c 8F .byte 0x8f + 1990 018d 02 .uleb128 0x2 + 1991 018e A3 .byte 0xa3 + 1992 018f 01 .uleb128 0x1 + 1993 .align 4 + 1994 .LEFDE28: + 1995 .LSFDE30: + 1996 0190 14000000 .4byte .LEFDE30-.LASFDE30 + 1997 .LASFDE30: + 1998 0194 00000000 .4byte .Lframe0 + 1999 0198 34070000 .4byte .LFB18 + 2000 019c 74010000 .4byte .LFE18-.LFB18 + 2001 01a0 48 .byte 0x4 + 2002 .4byte .LCFI22-.LFB18 + 2003 01a1 0C .byte 0xc + 2004 01a2 0F .uleb128 0xf + 2005 01a3 08 .uleb128 0x8 + 2006 01a4 8F .byte 0x8f + 2007 01a5 02 .uleb128 0x2 + 2008 01a6 A3 .byte 0xa3 + 2009 01a7 01 .uleb128 0x1 + 2010 .align 4 + 2011 .LEFDE30: + 2012 .text; + 2013 .Letext0: + 2014 .section .debug_loc,"",@progbits + 2015 .Ldebug_loc0: + 2016 .LLST0: + 2017 0000 00000000 .4byte .LFB19-.Ltext0 + 2018 0004 08000000 .4byte .LCFI0-.Ltext0 + 2019 0008 0100 .2byte 0x1 + 2020 000a 5E .byte 0x5e + 2021 000b 08000000 .4byte .LCFI0-.Ltext0 + 2022 000f 26000000 .4byte .LFE19-.Ltext0 + 2023 0013 0200 .2byte 0x2 + 2024 0015 7F .byte 0x7f + 2025 0016 08 .sleb128 8 + 2026 0017 00000000 .4byte 0x0 + 2027 001b 00000000 .4byte 0x0 + BFIN GAS /tmp/ccPX33wG.s page 47 + + + 2028 .LLST1: + 2029 001f 28000000 .4byte .LFB16-.Ltext0 + 2030 0023 2A000000 .4byte .LCFI1-.Ltext0 + 2031 0027 0100 .2byte 0x1 + 2032 0029 5E .byte 0x5e + 2033 002a 2A000000 .4byte .LCFI1-.Ltext0 + 2034 002e 3A000000 .4byte .LCFI2-.Ltext0 + 2035 0032 0200 .2byte 0x2 + 2036 0034 7E .byte 0x7e + 2037 0035 04 .sleb128 4 + 2038 0036 3A000000 .4byte .LCFI2-.Ltext0 + 2039 003a 64000000 .4byte .LFE16-.Ltext0 + 2040 003e 0200 .2byte 0x2 + 2041 0040 7F .byte 0x7f + 2042 0041 0C .sleb128 12 + 2043 0042 00000000 .4byte 0x0 + 2044 0046 00000000 .4byte 0x0 + 2045 .LLST2: + 2046 004a 28000000 .4byte .LVL0-.Ltext0 + 2047 004e 46000000 .4byte .LVL1-.Ltext0 + 2048 0052 0100 .2byte 0x1 + 2049 0054 50 .byte 0x50 + 2050 0055 54000000 .4byte .LVL3-.Ltext0 + 2051 0059 58000000 .4byte .LVL4-.Ltext0 + 2052 005d 0100 .2byte 0x1 + 2053 005f 50 .byte 0x50 + 2054 0060 00000000 .4byte 0x0 + 2055 0064 00000000 .4byte 0x0 + 2056 .LLST3: + 2057 0068 28000000 .4byte .LVL0-.Ltext0 + 2058 006c 54000000 .4byte .LVL3-.Ltext0 + 2059 0070 0100 .2byte 0x1 + 2060 0072 51 .byte 0x51 + 2061 0073 54000000 .4byte .LVL3-.Ltext0 + 2062 0077 64000000 .4byte .LFE16-.Ltext0 + 2063 007b 0100 .2byte 0x1 + 2064 007d 51 .byte 0x51 + 2065 007e 00000000 .4byte 0x0 + 2066 0082 00000000 .4byte 0x0 + 2067 .LLST4: + 2068 0086 28000000 .4byte .LVL0-.Ltext0 + 2069 008a 50000000 .4byte .LVL2-.Ltext0 + 2070 008e 0100 .2byte 0x1 + 2071 0090 52 .byte 0x52 + 2072 0091 54000000 .4byte .LVL3-.Ltext0 + 2073 0095 64000000 .4byte .LFE16-.Ltext0 + 2074 0099 0100 .2byte 0x1 + 2075 009b 52 .byte 0x52 + 2076 009c 00000000 .4byte 0x0 + 2077 00a0 00000000 .4byte 0x0 + 2078 .LLST5: + 2079 00a4 64000000 .4byte .LFB30-.Ltext0 + 2080 00a8 66000000 .4byte .LCFI4-.Ltext0 + 2081 00ac 0100 .2byte 0x1 + 2082 00ae 5E .byte 0x5e + 2083 00af 66000000 .4byte .LCFI4-.Ltext0 + 2084 00b3 6E000000 .4byte .LCFI5-.Ltext0 + BFIN GAS /tmp/ccPX33wG.s page 48 + + + 2085 00b7 0200 .2byte 0x2 + 2086 00b9 7E .byte 0x7e + 2087 00ba 08 .sleb128 8 + 2088 00bb 6E000000 .4byte .LCFI5-.Ltext0 + 2089 00bf E4010000 .4byte .LFE30-.Ltext0 + 2090 00c3 0200 .2byte 0x2 + 2091 00c5 7F .byte 0x7f + 2092 00c6 10 .sleb128 16 + 2093 00c7 00000000 .4byte 0x0 + 2094 00cb 00000000 .4byte 0x0 + 2095 .LLST6: + 2096 00cf 64000000 .4byte .LVL5-.Ltext0 + 2097 00d3 76000000 .4byte .LVL6-.Ltext0 + 2098 00d7 0100 .2byte 0x1 + 2099 00d9 50 .byte 0x50 + 2100 00da 76000000 .4byte .LVL6-.Ltext0 + 2101 00de 9E000000 .4byte .LVL9-.Ltext0 + 2102 00e2 0100 .2byte 0x1 + 2103 00e4 5D .byte 0x5d + 2104 00e5 A0000000 .4byte .LVL10-.Ltext0 + 2105 00e9 E4010000 .4byte .LFE30-.Ltext0 + 2106 00ed 0100 .2byte 0x1 + 2107 00ef 5D .byte 0x5d + 2108 00f0 00000000 .4byte 0x0 + 2109 00f4 00000000 .4byte 0x0 + 2110 .LLST7: + 2111 00f8 7E000000 .4byte .LVL7-.Ltext0 + 2112 00fc 8C000000 .4byte .LVL8-.Ltext0 + 2113 0100 0100 .2byte 0x1 + 2114 0102 50 .byte 0x50 + 2115 0103 AC000000 .4byte .LVL11-.Ltext0 + 2116 0107 AE000000 .4byte .LVL12-.Ltext0 + 2117 010b 0100 .2byte 0x1 + 2118 010d 50 .byte 0x50 + 2119 010e BC000000 .4byte .LVL14-.Ltext0 + 2120 0112 BE000000 .4byte .LVL15-.Ltext0 + 2121 0116 0100 .2byte 0x1 + 2122 0118 50 .byte 0x50 + 2123 0119 18010000 .4byte .LVL17-.Ltext0 + 2124 011d 1A010000 .4byte .LVL18-.Ltext0 + 2125 0121 0100 .2byte 0x1 + 2126 0123 50 .byte 0x50 + 2127 0124 5E010000 .4byte .LVL21-.Ltext0 + 2128 0128 60010000 .4byte .LVL22-.Ltext0 + 2129 012c 0100 .2byte 0x1 + 2130 012e 50 .byte 0x50 + 2131 012f DE010000 .4byte .LVL23-.Ltext0 + 2132 0133 E0010000 .4byte .LVL24-.Ltext0 + 2133 0137 0100 .2byte 0x1 + 2134 0139 50 .byte 0x50 + 2135 013a 00000000 .4byte 0x0 + 2136 013e 00000000 .4byte 0x0 + 2137 .LLST8: + 2138 0142 7E000000 .4byte .LVL7-.Ltext0 + 2139 0146 A0000000 .4byte .LVL10-.Ltext0 + 2140 014a 0100 .2byte 0x1 + 2141 014c 51 .byte 0x51 + BFIN GAS /tmp/ccPX33wG.s page 49 + + + 2142 014d B8000000 .4byte .LVL13-.Ltext0 + 2143 0151 BE000000 .4byte .LVL15-.Ltext0 + 2144 0155 0100 .2byte 0x1 + 2145 0157 51 .byte 0x51 + 2146 0158 F0000000 .4byte .LVL16-.Ltext0 + 2147 015c 1A010000 .4byte .LVL18-.Ltext0 + 2148 0160 0100 .2byte 0x1 + 2149 0162 51 .byte 0x51 + 2150 0163 00000000 .4byte 0x0 + 2151 0167 00000000 .4byte 0x0 + 2152 .LLST9: + 2153 016b B8000000 .4byte .LVL13-.Ltext0 + 2154 016f BC000000 .4byte .LVL14-.Ltext0 + 2155 0173 0100 .2byte 0x1 + 2156 0175 50 .byte 0x50 + 2157 0176 26010000 .4byte .LVL19-.Ltext0 + 2158 017a 36010000 .4byte .LVL20-.Ltext0 + 2159 017e 0100 .2byte 0x1 + 2160 0180 50 .byte 0x50 + 2161 0181 00000000 .4byte 0x0 + 2162 0185 00000000 .4byte 0x0 + 2163 .LLST10: + 2164 0189 E4010000 .4byte .LFB29-.Ltext0 + 2165 018d E8010000 .4byte .LCFI7-.Ltext0 + 2166 0191 0100 .2byte 0x1 + 2167 0193 5E .byte 0x5e + 2168 0194 E8010000 .4byte .LCFI7-.Ltext0 + 2169 0198 22020000 .4byte .LFE29-.Ltext0 + 2170 019c 0200 .2byte 0x2 + 2171 019e 7F .byte 0x7f + 2172 019f 08 .sleb128 8 + 2173 01a0 00000000 .4byte 0x0 + 2174 01a4 00000000 .4byte 0x0 + 2175 .LLST11: + 2176 01a8 E4010000 .4byte .LVL25-.Ltext0 + 2177 01ac EC010000 .4byte .LVL26-.Ltext0 + 2178 01b0 0100 .2byte 0x1 + 2179 01b2 50 .byte 0x50 + 2180 01b3 00000000 .4byte 0x0 + 2181 01b7 00000000 .4byte 0x0 + 2182 .LLST12: + 2183 01bb 24020000 .4byte .LFB28-.Ltext0 + 2184 01bf 2A020000 .4byte .LCFI8-.Ltext0 + 2185 01c3 0100 .2byte 0x1 + 2186 01c5 5E .byte 0x5e + 2187 01c6 2A020000 .4byte .LCFI8-.Ltext0 + 2188 01ca 7A020000 .4byte .LFE28-.Ltext0 + 2189 01ce 0200 .2byte 0x2 + 2190 01d0 7F .byte 0x7f + 2191 01d1 08 .sleb128 8 + 2192 01d2 00000000 .4byte 0x0 + 2193 01d6 00000000 .4byte 0x0 + 2194 .LLST13: + 2195 01da 24020000 .4byte .LVL28-.Ltext0 + 2196 01de 30020000 .4byte .LVL29-.Ltext0 + 2197 01e2 0100 .2byte 0x1 + 2198 01e4 50 .byte 0x50 + BFIN GAS /tmp/ccPX33wG.s page 50 + + + 2199 01e5 30020000 .4byte .LVL29-.Ltext0 + 2200 01e9 4C020000 .4byte .LVL31-.Ltext0 + 2201 01ed 0100 .2byte 0x1 + 2202 01ef 5A .byte 0x5a + 2203 01f0 6E020000 .4byte .LVL33-.Ltext0 + 2204 01f4 74020000 .4byte .LVL34-.Ltext0 + 2205 01f8 0100 .2byte 0x1 + 2206 01fa 5A .byte 0x5a + 2207 01fb 00000000 .4byte 0x0 + 2208 01ff 00000000 .4byte 0x0 + 2209 .LLST14: + 2210 0203 3A020000 .4byte .LVL30-.Ltext0 + 2211 0207 4E020000 .4byte .LVL32-.Ltext0 + 2212 020b 0100 .2byte 0x1 + 2213 020d 50 .byte 0x50 + 2214 020e 78020000 .4byte .LVL36-.Ltext0 + 2215 0212 7A020000 .4byte .LFE28-.Ltext0 + 2216 0216 0100 .2byte 0x1 + 2217 0218 50 .byte 0x50 + 2218 0219 00000000 .4byte 0x0 + 2219 021d 00000000 .4byte 0x0 + 2220 .LLST15: + 2221 0221 3A020000 .4byte .LVL30-.Ltext0 + 2222 0225 6E020000 .4byte .LVL33-.Ltext0 + 2223 0229 0200 .2byte 0x2 + 2224 022b 7F .byte 0x7f + 2225 022c 7C .sleb128 -4 + 2226 022d 76020000 .4byte .LVL35-.Ltext0 + 2227 0231 78020000 .4byte .LVL36-.Ltext0 + 2228 0235 0100 .2byte 0x1 + 2229 0237 50 .byte 0x50 + 2230 0238 78020000 .4byte .LVL36-.Ltext0 + 2231 023c 7A020000 .4byte .LFE28-.Ltext0 + 2232 0240 0200 .2byte 0x2 + 2233 0242 7F .byte 0x7f + 2234 0243 7C .sleb128 -4 + 2235 0244 00000000 .4byte 0x0 + 2236 0248 00000000 .4byte 0x0 + 2237 .LLST16: + 2238 024c 7C020000 .4byte .LFB27-.Ltext0 + 2239 0250 82020000 .4byte .LCFI9-.Ltext0 + 2240 0254 0100 .2byte 0x1 + 2241 0256 5E .byte 0x5e + 2242 0257 82020000 .4byte .LCFI9-.Ltext0 + 2243 025b D0020000 .4byte .LFE27-.Ltext0 + 2244 025f 0200 .2byte 0x2 + 2245 0261 7F .byte 0x7f + 2246 0262 08 .sleb128 8 + 2247 0263 00000000 .4byte 0x0 + 2248 0267 00000000 .4byte 0x0 + 2249 .LLST17: + 2250 026b 7C020000 .4byte .LVL37-.Ltext0 + 2251 026f 84020000 .4byte .LVL38-.Ltext0 + 2252 0273 0100 .2byte 0x1 + 2253 0275 50 .byte 0x50 + 2254 0276 84020000 .4byte .LVL38-.Ltext0 + 2255 027a A2020000 .4byte .LVL40-.Ltext0 + BFIN GAS /tmp/ccPX33wG.s page 51 + + + 2256 027e 0100 .2byte 0x1 + 2257 0280 5A .byte 0x5a + 2258 0281 BE020000 .4byte .LVL42-.Ltext0 + 2259 0285 CC020000 .4byte .LVL45-.Ltext0 + 2260 0289 0100 .2byte 0x1 + 2261 028b 5A .byte 0x5a + 2262 028c 00000000 .4byte 0x0 + 2263 0290 00000000 .4byte 0x0 + 2264 .LLST18: + 2265 0294 9E020000 .4byte .LVL39-.Ltext0 + 2266 0298 AC020000 .4byte .LVL41-.Ltext0 + 2267 029c 0100 .2byte 0x1 + 2268 029e 50 .byte 0x50 + 2269 029f C2020000 .4byte .LVL43-.Ltext0 + 2270 02a3 C4020000 .4byte .LVL44-.Ltext0 + 2271 02a7 0100 .2byte 0x1 + 2272 02a9 50 .byte 0x50 + 2273 02aa CE020000 .4byte .LVL46-.Ltext0 + 2274 02ae D0020000 .4byte .LFE27-.Ltext0 + 2275 02b2 0100 .2byte 0x1 + 2276 02b4 50 .byte 0x50 + 2277 02b5 00000000 .4byte 0x0 + 2278 02b9 00000000 .4byte 0x0 + 2279 .LLST19: + 2280 02bd D0020000 .4byte .LFB26-.Ltext0 + 2281 02c1 D6020000 .4byte .LCFI10-.Ltext0 + 2282 02c5 0100 .2byte 0x1 + 2283 02c7 5E .byte 0x5e + 2284 02c8 D6020000 .4byte .LCFI10-.Ltext0 + 2285 02cc 50030000 .4byte .LFE26-.Ltext0 + 2286 02d0 0200 .2byte 0x2 + 2287 02d2 7F .byte 0x7f + 2288 02d3 08 .sleb128 8 + 2289 02d4 00000000 .4byte 0x0 + 2290 02d8 00000000 .4byte 0x0 + 2291 .LLST20: + 2292 02dc D0020000 .4byte .LVL47-.Ltext0 + 2293 02e0 E2020000 .4byte .LVL48-.Ltext0 + 2294 02e4 0100 .2byte 0x1 + 2295 02e6 50 .byte 0x50 + 2296 02e7 E2020000 .4byte .LVL48-.Ltext0 + 2297 02eb FE020000 .4byte .LVL49-.Ltext0 + 2298 02ef 0100 .2byte 0x1 + 2299 02f1 5A .byte 0x5a + 2300 02f2 02030000 .4byte .LVL51-.Ltext0 + 2301 02f6 0A030000 .4byte .LVL53-.Ltext0 + 2302 02fa 0100 .2byte 0x1 + 2303 02fc 5A .byte 0x5a + 2304 02fd 26030000 .4byte .LVL55-.Ltext0 + 2305 0301 3C030000 .4byte .LVL58-.Ltext0 + 2306 0305 0100 .2byte 0x1 + 2307 0307 5A .byte 0x5a + 2308 0308 40030000 .4byte .LVL60-.Ltext0 + 2309 030c 48030000 .4byte .LVL61-.Ltext0 + 2310 0310 0100 .2byte 0x1 + 2311 0312 5A .byte 0x5a + 2312 0313 4C030000 .4byte .LVL63-.Ltext0 + BFIN GAS /tmp/ccPX33wG.s page 52 + + + 2313 0317 50030000 .4byte .LFE26-.Ltext0 + 2314 031b 0100 .2byte 0x1 + 2315 031d 5A .byte 0x5a + 2316 031e 00000000 .4byte 0x0 + 2317 0322 00000000 .4byte 0x0 + 2318 .LLST21: + 2319 0326 00030000 .4byte .LVL50-.Ltext0 + 2320 032a 02030000 .4byte .LVL51-.Ltext0 + 2321 032e 0100 .2byte 0x1 + 2322 0330 50 .byte 0x50 + 2323 0331 06030000 .4byte .LVL52-.Ltext0 + 2324 0335 14030000 .4byte .LVL54-.Ltext0 + 2325 0339 0100 .2byte 0x1 + 2326 033b 50 .byte 0x50 + 2327 033c 2E030000 .4byte .LVL56-.Ltext0 + 2328 0340 30030000 .4byte .LVL57-.Ltext0 + 2329 0344 0100 .2byte 0x1 + 2330 0346 50 .byte 0x50 + 2331 0347 3E030000 .4byte .LVL59-.Ltext0 + 2332 034b 40030000 .4byte .LVL60-.Ltext0 + 2333 034f 0100 .2byte 0x1 + 2334 0351 50 .byte 0x50 + 2335 0352 4A030000 .4byte .LVL62-.Ltext0 + 2336 0356 4C030000 .4byte .LVL63-.Ltext0 + 2337 035a 0100 .2byte 0x1 + 2338 035c 50 .byte 0x50 + 2339 035d 00000000 .4byte 0x0 + 2340 0361 00000000 .4byte 0x0 + 2341 .LLST22: + 2342 0365 50030000 .4byte .LFB25-.Ltext0 + 2343 0369 56030000 .4byte .LCFI11-.Ltext0 + 2344 036d 0100 .2byte 0x1 + 2345 036f 5E .byte 0x5e + 2346 0370 56030000 .4byte .LCFI11-.Ltext0 + 2347 0374 7C030000 .4byte .LFE25-.Ltext0 + 2348 0378 0200 .2byte 0x2 + 2349 037a 7F .byte 0x7f + 2350 037b 08 .sleb128 8 + 2351 037c 00000000 .4byte 0x0 + 2352 0380 00000000 .4byte 0x0 + 2353 .LLST23: + 2354 0384 50030000 .4byte .LVL64-.Ltext0 + 2355 0388 58030000 .4byte .LVL65-.Ltext0 + 2356 038c 0100 .2byte 0x1 + 2357 038e 50 .byte 0x50 + 2358 038f 58030000 .4byte .LVL65-.Ltext0 + 2359 0393 5C030000 .4byte .LVL66-.Ltext0 + 2360 0397 0100 .2byte 0x1 + 2361 0399 5A .byte 0x5a + 2362 039a 00000000 .4byte 0x0 + 2363 039e 00000000 .4byte 0x0 + 2364 .LLST24: + 2365 03a2 7C030000 .4byte .LFB24-.Ltext0 + 2366 03a6 82030000 .4byte .LCFI12-.Ltext0 + 2367 03aa 0100 .2byte 0x1 + 2368 03ac 5E .byte 0x5e + 2369 03ad 82030000 .4byte .LCFI12-.Ltext0 + BFIN GAS /tmp/ccPX33wG.s page 53 + + + 2370 03b1 A8030000 .4byte .LFE24-.Ltext0 + 2371 03b5 0200 .2byte 0x2 + 2372 03b7 7F .byte 0x7f + 2373 03b8 08 .sleb128 8 + 2374 03b9 00000000 .4byte 0x0 + 2375 03bd 00000000 .4byte 0x0 + 2376 .LLST25: + 2377 03c1 7C030000 .4byte .LVL67-.Ltext0 + 2378 03c5 84030000 .4byte .LVL68-.Ltext0 + 2379 03c9 0100 .2byte 0x1 + 2380 03cb 50 .byte 0x50 + 2381 03cc 84030000 .4byte .LVL68-.Ltext0 + 2382 03d0 88030000 .4byte .LVL69-.Ltext0 + 2383 03d4 0100 .2byte 0x1 + 2384 03d6 5A .byte 0x5a + 2385 03d7 00000000 .4byte 0x0 + 2386 03db 00000000 .4byte 0x0 + 2387 .LLST26: + 2388 03df A8030000 .4byte .LFB23-.Ltext0 + 2389 03e3 AC030000 .4byte .LCFI13-.Ltext0 + 2390 03e7 0100 .2byte 0x1 + 2391 03e9 5E .byte 0x5e + 2392 03ea AC030000 .4byte .LCFI13-.Ltext0 + 2393 03ee D0030000 .4byte .LFE23-.Ltext0 + 2394 03f2 0200 .2byte 0x2 + 2395 03f4 7F .byte 0x7f + 2396 03f5 08 .sleb128 8 + 2397 03f6 00000000 .4byte 0x0 + 2398 03fa 00000000 .4byte 0x0 + 2399 .LLST27: + 2400 03fe A8030000 .4byte .LVL70-.Ltext0 + 2401 0402 B0030000 .4byte .LVL71-.Ltext0 + 2402 0406 0100 .2byte 0x1 + 2403 0408 50 .byte 0x50 + 2404 0409 00000000 .4byte 0x0 + 2405 040d 00000000 .4byte 0x0 + 2406 .LLST28: + 2407 0411 D0030000 .4byte .LFB21-.Ltext0 + 2408 0415 D4030000 .4byte .LCFI14-.Ltext0 + 2409 0419 0100 .2byte 0x1 + 2410 041b 5E .byte 0x5e + 2411 041c D4030000 .4byte .LCFI14-.Ltext0 + 2412 0420 F8030000 .4byte .LFE21-.Ltext0 + 2413 0424 0200 .2byte 0x2 + 2414 0426 7F .byte 0x7f + 2415 0427 08 .sleb128 8 + 2416 0428 00000000 .4byte 0x0 + 2417 042c 00000000 .4byte 0x0 + 2418 .LLST29: + 2419 0430 D0030000 .4byte .LVL72-.Ltext0 + 2420 0434 D8030000 .4byte .LVL73-.Ltext0 + 2421 0438 0100 .2byte 0x1 + 2422 043a 50 .byte 0x50 + 2423 043b 00000000 .4byte 0x0 + 2424 043f 00000000 .4byte 0x0 + 2425 .LLST30: + 2426 0443 F8030000 .4byte .LFB20-.Ltext0 + BFIN GAS /tmp/ccPX33wG.s page 54 + + + 2427 0447 FC030000 .4byte .LCFI15-.Ltext0 + 2428 044b 0100 .2byte 0x1 + 2429 044d 5E .byte 0x5e + 2430 044e FC030000 .4byte .LCFI15-.Ltext0 + 2431 0452 20040000 .4byte .LFE20-.Ltext0 + 2432 0456 0200 .2byte 0x2 + 2433 0458 7F .byte 0x7f + 2434 0459 08 .sleb128 8 + 2435 045a 00000000 .4byte 0x0 + 2436 045e 00000000 .4byte 0x0 + 2437 .LLST31: + 2438 0462 F8030000 .4byte .LVL74-.Ltext0 + 2439 0466 00040000 .4byte .LVL75-.Ltext0 + 2440 046a 0100 .2byte 0x1 + 2441 046c 50 .byte 0x50 + 2442 046d 00000000 .4byte 0x0 + 2443 0471 00000000 .4byte 0x0 + 2444 .LLST32: + 2445 0475 20040000 .4byte .LFB22-.Ltext0 + 2446 0479 24040000 .4byte .LCFI16-.Ltext0 + 2447 047d 0100 .2byte 0x1 + 2448 047f 5E .byte 0x5e + 2449 0480 24040000 .4byte .LCFI16-.Ltext0 + 2450 0484 48040000 .4byte .LFE22-.Ltext0 + 2451 0488 0200 .2byte 0x2 + 2452 048a 7F .byte 0x7f + 2453 048b 08 .sleb128 8 + 2454 048c 00000000 .4byte 0x0 + 2455 0490 00000000 .4byte 0x0 + 2456 .LLST33: + 2457 0494 20040000 .4byte .LVL76-.Ltext0 + 2458 0498 28040000 .4byte .LVL77-.Ltext0 + 2459 049c 0100 .2byte 0x1 + 2460 049e 50 .byte 0x50 + 2461 049f 00000000 .4byte 0x0 + 2462 04a3 00000000 .4byte 0x0 + 2463 .LLST34: + 2464 04a7 48040000 .4byte .LFB31-.Ltext0 + 2465 04ab 4A040000 .4byte .LCFI17-.Ltext0 + 2466 04af 0100 .2byte 0x1 + 2467 04b1 5E .byte 0x5e + 2468 04b2 4A040000 .4byte .LCFI17-.Ltext0 + 2469 04b6 50040000 .4byte .LCFI18-.Ltext0 + 2470 04ba 0200 .2byte 0x2 + 2471 04bc 7E .byte 0x7e + 2472 04bd 04 .sleb128 4 + 2473 04be 50040000 .4byte .LCFI18-.Ltext0 + 2474 04c2 EA050000 .4byte .LFE31-.Ltext0 + 2475 04c6 0200 .2byte 0x2 + 2476 04c8 7F .byte 0x7f + 2477 04c9 0C .sleb128 12 + 2478 04ca 00000000 .4byte 0x0 + 2479 04ce 00000000 .4byte 0x0 + 2480 .LLST35: + 2481 04d2 48040000 .4byte .LVL78-.Ltext0 + 2482 04d6 58040000 .4byte .LVL79-.Ltext0 + 2483 04da 0100 .2byte 0x1 + BFIN GAS /tmp/ccPX33wG.s page 55 + + + 2484 04dc 50 .byte 0x50 + 2485 04dd 58040000 .4byte .LVL79-.Ltext0 + 2486 04e1 60040000 .4byte .LVL81-.Ltext0 + 2487 04e5 0100 .2byte 0x1 + 2488 04e7 5D .byte 0x5d + 2489 04e8 7E040000 .4byte .LVL84-.Ltext0 + 2490 04ec 9E040000 .4byte .LVL88-.Ltext0 + 2491 04f0 0100 .2byte 0x1 + 2492 04f2 5D .byte 0x5d + 2493 04f3 CE040000 .4byte .LVL90-.Ltext0 + 2494 04f7 EA050000 .4byte .LFE31-.Ltext0 + 2495 04fb 0100 .2byte 0x1 + 2496 04fd 5D .byte 0x5d + 2497 04fe 00000000 .4byte 0x0 + 2498 0502 00000000 .4byte 0x0 + 2499 .LLST36: + 2500 0506 5C040000 .4byte .LVL80-.Ltext0 + 2501 050a 6A040000 .4byte .LVL82-.Ltext0 + 2502 050e 0100 .2byte 0x1 + 2503 0510 50 .byte 0x50 + 2504 0511 E8050000 .4byte .LVL116-.Ltext0 + 2505 0515 EA050000 .4byte .LFE31-.Ltext0 + 2506 0519 0100 .2byte 0x1 + 2507 051b 50 .byte 0x50 + 2508 051c 00000000 .4byte 0x0 + 2509 0520 00000000 .4byte 0x0 + 2510 .LLST37: + 2511 0524 6E040000 .4byte .LVL83-.Ltext0 + 2512 0528 7E040000 .4byte .LVL84-.Ltext0 + 2513 052c 0100 .2byte 0x1 + 2514 052e 53 .byte 0x53 + 2515 052f 96040000 .4byte .LVL85-.Ltext0 + 2516 0533 BE040000 .4byte .LVL89-.Ltext0 + 2517 0537 0100 .2byte 0x1 + 2518 0539 53 .byte 0x53 + 2519 053a DC040000 .4byte .LVL91-.Ltext0 + 2520 053e E0040000 .4byte .LVL92-.Ltext0 + 2521 0542 0100 .2byte 0x1 + 2522 0544 53 .byte 0x53 + 2523 0545 EE040000 .4byte .LVL93-.Ltext0 + 2524 0549 F2040000 .4byte .LVL94-.Ltext0 + 2525 054d 0100 .2byte 0x1 + 2526 054f 53 .byte 0x53 + 2527 0550 FA040000 .4byte .LVL95-.Ltext0 + 2528 0554 FE040000 .4byte .LVL96-.Ltext0 + 2529 0558 0100 .2byte 0x1 + 2530 055a 53 .byte 0x53 + 2531 055b 0E050000 .4byte .LVL97-.Ltext0 + 2532 055f 12050000 .4byte .LVL98-.Ltext0 + 2533 0563 0100 .2byte 0x1 + 2534 0565 53 .byte 0x53 + 2535 0566 36050000 .4byte .LVL100-.Ltext0 + 2536 056a 58050000 .4byte .LVL101-.Ltext0 + 2537 056e 0100 .2byte 0x1 + 2538 0570 53 .byte 0x53 + 2539 0571 68050000 .4byte .LVL102-.Ltext0 + 2540 0575 6C050000 .4byte .LVL103-.Ltext0 + BFIN GAS /tmp/ccPX33wG.s page 56 + + + 2541 0579 0100 .2byte 0x1 + 2542 057b 53 .byte 0x53 + 2543 057c 7C050000 .4byte .LVL104-.Ltext0 + 2544 0580 80050000 .4byte .LVL105-.Ltext0 + 2545 0584 0100 .2byte 0x1 + 2546 0586 53 .byte 0x53 + 2547 0587 90050000 .4byte .LVL106-.Ltext0 + 2548 058b 94050000 .4byte .LVL107-.Ltext0 + 2549 058f 0100 .2byte 0x1 + 2550 0591 53 .byte 0x53 + 2551 0592 A4050000 .4byte .LVL108-.Ltext0 + 2552 0596 A8050000 .4byte .LVL109-.Ltext0 + 2553 059a 0100 .2byte 0x1 + 2554 059c 53 .byte 0x53 + 2555 059d B8050000 .4byte .LVL110-.Ltext0 + 2556 05a1 BC050000 .4byte .LVL111-.Ltext0 + 2557 05a5 0100 .2byte 0x1 + 2558 05a7 53 .byte 0x53 + 2559 05a8 CC050000 .4byte .LVL112-.Ltext0 + 2560 05ac D0050000 .4byte .LVL113-.Ltext0 + 2561 05b0 0100 .2byte 0x1 + 2562 05b2 53 .byte 0x53 + 2563 05b3 E0050000 .4byte .LVL114-.Ltext0 + 2564 05b7 E4050000 .4byte .LVL115-.Ltext0 + 2565 05bb 0100 .2byte 0x1 + 2566 05bd 53 .byte 0x53 + 2567 05be 00000000 .4byte 0x0 + 2568 05c2 00000000 .4byte 0x0 + 2569 .LLST38: + 2570 05c6 58040000 .4byte .LVL79-.Ltext0 + 2571 05ca 7E040000 .4byte .LVL84-.Ltext0 + 2572 05ce 0100 .2byte 0x1 + 2573 05d0 51 .byte 0x51 + 2574 05d1 98040000 .4byte .LVL86-.Ltext0 + 2575 05d5 9A040000 .4byte .LVL87-.Ltext0 + 2576 05d9 0100 .2byte 0x1 + 2577 05db 51 .byte 0x51 + 2578 05dc 22050000 .4byte .LVL99-.Ltext0 + 2579 05e0 58050000 .4byte .LVL101-.Ltext0 + 2580 05e4 0100 .2byte 0x1 + 2581 05e6 51 .byte 0x51 + 2582 05e7 00000000 .4byte 0x0 + 2583 05eb 00000000 .4byte 0x0 + 2584 .LLST39: + 2585 05ef EC050000 .4byte .LFB17-.Ltext0 + 2586 05f3 F2050000 .4byte .LCFI21-.Ltext0 + 2587 05f7 0100 .2byte 0x1 + 2588 05f9 5E .byte 0x5e + 2589 05fa F2050000 .4byte .LCFI21-.Ltext0 + 2590 05fe 34070000 .4byte .LFE17-.Ltext0 + 2591 0602 0200 .2byte 0x2 + 2592 0604 7F .byte 0x7f + 2593 0605 08 .sleb128 8 + 2594 0606 00000000 .4byte 0x0 + 2595 060a 00000000 .4byte 0x0 + 2596 .LLST40: + 2597 060e EC050000 .4byte .LVL117-.Ltext0 + BFIN GAS /tmp/ccPX33wG.s page 57 + + + 2598 0612 F6050000 .4byte .LVL118-.Ltext0 + 2599 0616 0100 .2byte 0x1 + 2600 0618 50 .byte 0x50 + 2601 0619 F6050000 .4byte .LVL118-.Ltext0 + 2602 061d DE060000 .4byte .LVL121-.Ltext0 + 2603 0621 0100 .2byte 0x1 + 2604 0623 58 .byte 0x58 + 2605 0624 DE060000 .4byte .LVL121-.Ltext0 + 2606 0628 F0060000 .4byte .LVL124-.Ltext0 + 2607 062c 0100 .2byte 0x1 + 2608 062e 58 .byte 0x58 + 2609 062f F0060000 .4byte .LVL124-.Ltext0 + 2610 0633 FA060000 .4byte .LVL125-.Ltext0 + 2611 0637 0100 .2byte 0x1 + 2612 0639 58 .byte 0x58 + 2613 063a FA060000 .4byte .LVL125-.Ltext0 + 2614 063e 0C070000 .4byte .LVL128-.Ltext0 + 2615 0642 0100 .2byte 0x1 + 2616 0644 58 .byte 0x58 + 2617 0645 0C070000 .4byte .LVL128-.Ltext0 + 2618 0649 34070000 .4byte .LFE17-.Ltext0 + 2619 064d 0100 .2byte 0x1 + 2620 064f 58 .byte 0x58 + 2621 0650 00000000 .4byte 0x0 + 2622 0654 00000000 .4byte 0x0 + 2623 .LLST41: + 2624 0658 CE060000 .4byte .LVL119-.Ltext0 + 2625 065c D0060000 .4byte .LVL120-.Ltext0 + 2626 0660 0100 .2byte 0x1 + 2627 0662 50 .byte 0x50 + 2628 0663 E0060000 .4byte .LVL122-.Ltext0 + 2629 0667 E2060000 .4byte .LVL123-.Ltext0 + 2630 066b 0100 .2byte 0x1 + 2631 066d 50 .byte 0x50 + 2632 066e FC060000 .4byte .LVL126-.Ltext0 + 2633 0672 FE060000 .4byte .LVL127-.Ltext0 + 2634 0676 0100 .2byte 0x1 + 2635 0678 50 .byte 0x50 + 2636 0679 0E070000 .4byte .LVL129-.Ltext0 + 2637 067d 10070000 .4byte .LVL130-.Ltext0 + 2638 0681 0100 .2byte 0x1 + 2639 0683 50 .byte 0x50 + 2640 0684 12070000 .4byte .LVL131-.Ltext0 + 2641 0688 14070000 .4byte .LVL132-.Ltext0 + 2642 068c 0100 .2byte 0x1 + 2643 068e 50 .byte 0x50 + 2644 068f 16070000 .4byte .LVL133-.Ltext0 + 2645 0693 18070000 .4byte .LVL134-.Ltext0 + 2646 0697 0100 .2byte 0x1 + 2647 0699 50 .byte 0x50 + 2648 069a 1A070000 .4byte .LVL135-.Ltext0 + 2649 069e 1C070000 .4byte .LVL136-.Ltext0 + 2650 06a2 0100 .2byte 0x1 + 2651 06a4 50 .byte 0x50 + 2652 06a5 1E070000 .4byte .LVL137-.Ltext0 + 2653 06a9 20070000 .4byte .LVL138-.Ltext0 + 2654 06ad 0100 .2byte 0x1 + BFIN GAS /tmp/ccPX33wG.s page 58 + + + 2655 06af 50 .byte 0x50 + 2656 06b0 22070000 .4byte .LVL139-.Ltext0 + 2657 06b4 24070000 .4byte .LVL140-.Ltext0 + 2658 06b8 0100 .2byte 0x1 + 2659 06ba 50 .byte 0x50 + 2660 06bb 26070000 .4byte .LVL141-.Ltext0 + 2661 06bf 28070000 .4byte .LVL142-.Ltext0 + 2662 06c3 0100 .2byte 0x1 + 2663 06c5 50 .byte 0x50 + 2664 06c6 2A070000 .4byte .LVL143-.Ltext0 + 2665 06ca 2C070000 .4byte .LVL144-.Ltext0 + 2666 06ce 0100 .2byte 0x1 + 2667 06d0 50 .byte 0x50 + 2668 06d1 2E070000 .4byte .LVL145-.Ltext0 + 2669 06d5 30070000 .4byte .LVL146-.Ltext0 + 2670 06d9 0100 .2byte 0x1 + 2671 06db 50 .byte 0x50 + 2672 06dc 32070000 .4byte .LVL147-.Ltext0 + 2673 06e0 34070000 .4byte .LFE17-.Ltext0 + 2674 06e4 0100 .2byte 0x1 + 2675 06e6 50 .byte 0x50 + 2676 06e7 00000000 .4byte 0x0 + 2677 06eb 00000000 .4byte 0x0 + 2678 .LLST42: + 2679 06ef 34070000 .4byte .LFB18-.Ltext0 + 2680 06f3 3C070000 .4byte .LCFI22-.Ltext0 + 2681 06f7 0100 .2byte 0x1 + 2682 06f9 5E .byte 0x5e + 2683 06fa 3C070000 .4byte .LCFI22-.Ltext0 + 2684 06fe A8080000 .4byte .LFE18-.Ltext0 + 2685 0702 0200 .2byte 0x2 + 2686 0704 7F .byte 0x7f + 2687 0705 08 .sleb128 8 + 2688 0706 00000000 .4byte 0x0 + 2689 070a 00000000 .4byte 0x0 + 2690 .LLST43: + 2691 070e 52080000 .4byte .LVL148-.Ltext0 + 2692 0712 54080000 .4byte .LVL149-.Ltext0 + 2693 0716 0100 .2byte 0x1 + 2694 0718 50 .byte 0x50 + 2695 0719 6A080000 .4byte .LVL150-.Ltext0 + 2696 071d 6C080000 .4byte .LVL151-.Ltext0 + 2697 0721 0100 .2byte 0x1 + 2698 0723 50 .byte 0x50 + 2699 0724 7E080000 .4byte .LVL152-.Ltext0 + 2700 0728 80080000 .4byte .LVL153-.Ltext0 + 2701 072c 0100 .2byte 0x1 + 2702 072e 50 .byte 0x50 + 2703 072f 82080000 .4byte .LVL154-.Ltext0 + 2704 0733 84080000 .4byte .LVL155-.Ltext0 + 2705 0737 0100 .2byte 0x1 + 2706 0739 50 .byte 0x50 + 2707 073a 86080000 .4byte .LVL156-.Ltext0 + 2708 073e 88080000 .4byte .LVL157-.Ltext0 + 2709 0742 0100 .2byte 0x1 + 2710 0744 50 .byte 0x50 + 2711 0745 8A080000 .4byte .LVL158-.Ltext0 + BFIN GAS /tmp/ccPX33wG.s page 59 + + + 2712 0749 8C080000 .4byte .LVL159-.Ltext0 + 2713 074d 0100 .2byte 0x1 + 2714 074f 50 .byte 0x50 + 2715 0750 8E080000 .4byte .LVL160-.Ltext0 + 2716 0754 90080000 .4byte .LVL161-.Ltext0 + 2717 0758 0100 .2byte 0x1 + 2718 075a 50 .byte 0x50 + 2719 075b 92080000 .4byte .LVL162-.Ltext0 + 2720 075f 94080000 .4byte .LVL163-.Ltext0 + 2721 0763 0100 .2byte 0x1 + 2722 0765 50 .byte 0x50 + 2723 0766 96080000 .4byte .LVL164-.Ltext0 + 2724 076a 98080000 .4byte .LVL165-.Ltext0 + 2725 076e 0100 .2byte 0x1 + 2726 0770 50 .byte 0x50 + 2727 0771 9A080000 .4byte .LVL166-.Ltext0 + 2728 0775 9C080000 .4byte .LVL167-.Ltext0 + 2729 0779 0100 .2byte 0x1 + 2730 077b 50 .byte 0x50 + 2731 077c 9E080000 .4byte .LVL168-.Ltext0 + 2732 0780 A0080000 .4byte .LVL169-.Ltext0 + 2733 0784 0100 .2byte 0x1 + 2734 0786 50 .byte 0x50 + 2735 0787 A2080000 .4byte .LVL170-.Ltext0 + 2736 078b A4080000 .4byte .LVL171-.Ltext0 + 2737 078f 0100 .2byte 0x1 + 2738 0791 50 .byte 0x50 + 2739 0792 A6080000 .4byte .LVL172-.Ltext0 + 2740 0796 A8080000 .4byte .LFE18-.Ltext0 + 2741 079a 0100 .2byte 0x1 + 2742 079c 50 .byte 0x50 + 2743 079d 00000000 .4byte 0x0 + 2744 07a1 00000000 .4byte 0x0 + 2745 .file 2 "/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib + 2746 .file 3 "src/l502_bf_cmd_defs.h" + 2747 .file 4 "src/l502_global.h" + 2748 .file 5 "src/l502_defs.h" + 2749 .file 6 "src/l502_params.h" + 2750 .file 7 "src/l502_stream.h" + 2751 .section .debug_info + 2752 0000 4D0C0000 .4byte 0xc4d + 2753 0004 0200 .2byte 0x2 + 2754 0006 00000000 .4byte .Ldebug_abbrev0 + 2755 000a 04 .byte 0x4 + 2756 000b 01 .uleb128 0x1 + 2757 000c DB050000 .4byte .LASF143 + 2758 0010 01 .byte 0x1 + 2759 0011 E1000000 .4byte .LASF144 + 2760 0015 8E040000 .4byte .LASF145 + 2761 0019 00000000 .4byte .Ltext0 + 2762 001d A8080000 .4byte .Letext0 + 2763 0021 00000000 .4byte .Ldebug_line0 + 2764 0025 02 .uleb128 0x2 + 2765 0026 01 .byte 0x1 + 2766 0027 06 .byte 0x6 + 2767 0028 3A080000 .4byte .LASF0 + 2768 002c 03 .uleb128 0x3 + BFIN GAS /tmp/ccPX33wG.s page 60 + + + 2769 002d CB030000 .4byte .LASF3 + 2770 0031 02 .byte 0x2 + 2771 0032 2A .byte 0x2a + 2772 0033 37000000 .4byte 0x37 + 2773 0037 02 .uleb128 0x2 + 2774 0038 01 .byte 0x1 + 2775 0039 08 .byte 0x8 + 2776 003a 32070000 .4byte .LASF1 + 2777 003e 02 .uleb128 0x2 + 2778 003f 02 .byte 0x2 + 2779 0040 05 .byte 0x5 + 2780 0041 13060000 .4byte .LASF2 + 2781 0045 03 .uleb128 0x3 + 2782 0046 E7050000 .4byte .LASF4 + 2783 004a 02 .byte 0x2 + 2784 004b 36 .byte 0x36 + 2785 004c 50000000 .4byte 0x50 + 2786 0050 02 .uleb128 0x2 + 2787 0051 02 .byte 0x2 + 2788 0052 07 .byte 0x7 + 2789 0053 68080000 .4byte .LASF5 + 2790 0057 03 .uleb128 0x3 + 2791 0058 2A070000 .4byte .LASF6 + 2792 005c 02 .byte 0x2 + 2793 005d 4F .byte 0x4f + 2794 005e 62000000 .4byte 0x62 + 2795 0062 02 .uleb128 0x2 + 2796 0063 04 .byte 0x4 + 2797 0064 05 .byte 0x5 + 2798 0065 50060000 .4byte .LASF7 + 2799 0069 03 .uleb128 0x3 + 2800 006a 86010000 .4byte .LASF8 + 2801 006e 02 .byte 0x2 + 2802 006f 50 .byte 0x50 + 2803 0070 74000000 .4byte 0x74 + 2804 0074 02 .uleb128 0x2 + 2805 0075 04 .byte 0x4 + 2806 0076 07 .byte 0x7 + 2807 0077 F7060000 .4byte .LASF9 + 2808 007b 02 .uleb128 0x2 + 2809 007c 08 .byte 0x8 + 2810 007d 05 .byte 0x5 + 2811 007e 80040000 .4byte .LASF10 + 2812 0082 02 .uleb128 0x2 + 2813 0083 08 .byte 0x8 + 2814 0084 07 .byte 0x7 + 2815 0085 06020000 .4byte .LASF11 + 2816 0089 04 .uleb128 0x4 + 2817 008a 04 .byte 0x4 + 2818 008b 05 .byte 0x5 + 2819 008c 696E7400 .string "int" + 2820 0090 02 .uleb128 0x2 + 2821 0091 04 .byte 0x4 + 2822 0092 07 .byte 0x7 + 2823 0093 C6000000 .4byte .LASF12 + 2824 0097 05 .uleb128 0x5 + 2825 0098 04 .byte 0x4 + BFIN GAS /tmp/ccPX33wG.s page 61 + + + 2826 0099 03 .byte 0x3 + 2827 009a 13 .byte 0x13 + 2828 009b BE000000 .4byte 0xbe + 2829 009f 06 .uleb128 0x6 + 2830 00a0 17080000 .4byte .LASF13 + 2831 00a4 00 .sleb128 0 + 2832 00a5 06 .uleb128 0x6 + 2833 00a6 56050000 .4byte .LASF14 + 2834 00aa 81B401 .sleb128 23041 + 2835 00ad 06 .uleb128 0x6 + 2836 00ae F9080000 .4byte .LASF15 + 2837 00b2 82B401 .sleb128 23042 + 2838 00b5 06 .uleb128 0x6 + 2839 00b6 DE040000 .4byte .LASF16 + 2840 00ba 83B401 .sleb128 23043 + 2841 00bd 00 .byte 0x0 + 2842 00be 05 .uleb128 0x5 + 2843 00bf 04 .byte 0x4 + 2844 00c0 03 .byte 0x3 + 2845 00c1 43 .byte 0x43 + 2846 00c2 3A010000 .4byte 0x13a + 2847 00c6 06 .uleb128 0x6 + 2848 00c7 46090000 .4byte .LASF17 + 2849 00cb 00 .sleb128 0 + 2850 00cc 06 .uleb128 0x6 + 2851 00cd 6D050000 .4byte .LASF18 + 2852 00d1 01 .sleb128 1 + 2853 00d2 06 .uleb128 0x6 + 2854 00d3 93070000 .4byte .LASF19 + 2855 00d7 02 .sleb128 2 + 2856 00d8 06 .uleb128 0x6 + 2857 00d9 13000000 .4byte .LASF20 + 2858 00dd 03 .sleb128 3 + 2859 00de 06 .uleb128 0x6 + 2860 00df 6E090000 .4byte .LASF21 + 2861 00e3 10 .sleb128 16 + 2862 00e4 06 .uleb128 0x6 + 2863 00e5 49070000 .4byte .LASF22 + 2864 00e9 11 .sleb128 17 + 2865 00ea 06 .uleb128 0x6 + 2866 00eb 8A020000 .4byte .LASF23 + 2867 00ef 20 .sleb128 32 + 2868 00f0 06 .uleb128 0x6 + 2869 00f1 E1080000 .4byte .LASF24 + 2870 00f5 21 .sleb128 33 + 2871 00f6 06 .uleb128 0x6 + 2872 00f7 40020000 .4byte .LASF25 + 2873 00fb 22 .sleb128 34 + 2874 00fc 06 .uleb128 0x6 + 2875 00fd CD020000 .4byte .LASF26 + 2876 0101 23 .sleb128 35 + 2877 0102 06 .uleb128 0x6 + 2878 0103 7B030000 .4byte .LASF27 + 2879 0107 24 .sleb128 36 + 2880 0108 06 .uleb128 0x6 + 2881 0109 97080000 .4byte .LASF28 + 2882 010d 25 .sleb128 37 + BFIN GAS /tmp/ccPX33wG.s page 62 + + + 2883 010e 06 .uleb128 0x6 + 2884 010f 66070000 .4byte .LASF29 + 2885 0113 26 .sleb128 38 + 2886 0114 06 .uleb128 0x6 + 2887 0115 7D000000 .4byte .LASF30 + 2888 0119 27 .sleb128 39 + 2889 011a 06 .uleb128 0x6 + 2890 011b 51040000 .4byte .LASF31 + 2891 011f 28 .sleb128 40 + 2892 0120 06 .uleb128 0x6 + 2893 0121 9A000000 .4byte .LASF32 + 2894 0125 30 .sleb128 48 + 2895 0126 06 .uleb128 0x6 + 2896 0127 FC070000 .4byte .LASF33 + 2897 012b 31 .sleb128 49 + 2898 012c 06 .uleb128 0x6 + 2899 012d 6F020000 .4byte .LASF34 + 2900 0131 32 .sleb128 50 + 2901 0132 06 .uleb128 0x6 + 2902 0133 A0020000 .4byte .LASF35 + 2903 0137 8002 .sleb128 256 + 2904 0139 00 .byte 0x0 + 2905 013a 05 .uleb128 0x5 + 2906 013b 04 .byte 0x4 + 2907 013c 03 .byte 0x3 + 2908 013d 61 .byte 0x61 + 2909 013e 55010000 .4byte 0x155 + 2910 0142 06 .uleb128 0x6 + 2911 0143 D1010000 .4byte .LASF36 + 2912 0147 00 .sleb128 0 + 2913 0148 06 .uleb128 0x6 + 2914 0149 DA030000 .4byte .LASF37 + 2915 014d 01 .sleb128 1 + 2916 014e 06 .uleb128 0x6 + 2917 014f F6030000 .4byte .LASF38 + 2918 0153 02 .sleb128 2 + 2919 0154 00 .byte 0x0 + 2920 0155 05 .uleb128 0x5 + 2921 0156 04 .byte 0x4 + 2922 0157 03 .byte 0x3 + 2923 0158 68 .byte 0x68 + 2924 0159 A3010000 .4byte 0x1a3 + 2925 015d 06 .uleb128 0x6 + 2926 015e 72010000 .4byte .LASF39 + 2927 0162 00 .sleb128 0 + 2928 0163 06 .uleb128 0x6 + 2929 0164 AE010000 .4byte .LASF40 + 2930 0168 807C .sleb128 -512 + 2931 016a 06 .uleb128 0x6 + 2932 016b 57000000 .4byte .LASF41 + 2933 016f 807C .sleb128 -512 + 2934 0171 06 .uleb128 0x6 + 2935 0172 68040000 .4byte .LASF42 + 2936 0176 FF7B .sleb128 -513 + 2937 0178 06 .uleb128 0x6 + 2938 0179 8F010000 .4byte .LASF43 + 2939 017d FE7B .sleb128 -514 + BFIN GAS /tmp/ccPX33wG.s page 63 + + + 2940 017f 06 .uleb128 0x6 + 2941 0180 00030000 .4byte .LASF44 + 2942 0184 FD7B .sleb128 -515 + 2943 0186 06 .uleb128 0x6 + 2944 0187 AF080000 .4byte .LASF45 + 2945 018b FC7B .sleb128 -516 + 2946 018d 06 .uleb128 0x6 + 2947 018e 15090000 .4byte .LASF46 + 2948 0192 FB7B .sleb128 -517 + 2949 0194 06 .uleb128 0x6 + 2950 0195 B6070000 .4byte .LASF47 + 2951 0199 FA7B .sleb128 -518 + 2952 019b 06 .uleb128 0x6 + 2953 019c 13070000 .4byte .LASF48 + 2954 01a0 F97B .sleb128 -519 + 2955 01a2 00 .byte 0x0 + 2956 01a3 05 .uleb128 0x5 + 2957 01a4 04 .byte 0x4 + 2958 01a5 03 .byte 0x3 + 2959 01a6 79 .byte 0x79 + 2960 01a7 BE010000 .4byte 0x1be + 2961 01ab 06 .uleb128 0x6 + 2962 01ac ED010000 .4byte .LASF49 + 2963 01b0 00 .sleb128 0 + 2964 01b1 06 .uleb128 0x6 + 2965 01b2 F0050000 .4byte .LASF50 + 2966 01b6 01 .sleb128 1 + 2967 01b7 06 .uleb128 0x6 + 2968 01b8 B9030000 .4byte .LASF51 + 2969 01bc 02 .sleb128 2 + 2970 01bd 00 .byte 0x0 + 2971 01be 05 .uleb128 0x5 + 2972 01bf 04 .byte 0x4 + 2973 01c0 03 .byte 0x3 + 2974 01c1 80 .byte 0x80 + 2975 01c2 D3010000 .4byte 0x1d3 + 2976 01c6 06 .uleb128 0x6 + 2977 01c7 AE060000 .4byte .LASF52 + 2978 01cb 01 .sleb128 1 + 2979 01cc 06 .uleb128 0x6 + 2980 01cd 80060000 .4byte .LASF53 + 2981 01d1 02 .sleb128 2 + 2982 01d2 00 .byte 0x0 + 2983 01d3 07 .uleb128 0x7 + 2984 01d4 1010 .2byte 0x1010 + 2985 01d6 03 .byte 0x3 + 2986 01d7 8B .byte 0x8b + 2987 01d8 31020000 .4byte 0x231 + 2988 01dc 08 .uleb128 0x8 + 2989 01dd E8020000 .4byte .LASF54 + 2990 01e1 03 .byte 0x3 + 2991 01e2 8C .byte 0x8c + 2992 01e3 45000000 .4byte 0x45 + 2993 01e7 02 .byte 0x2 + 2994 01e8 23 .byte 0x23 + 2995 01e9 00 .uleb128 0x0 + 2996 01ea 08 .uleb128 0x8 + BFIN GAS /tmp/ccPX33wG.s page 64 + + + 2997 01eb D3030000 .4byte .LASF55 + 2998 01ef 03 .byte 0x3 + 2999 01f0 8D .byte 0x8d + 3000 01f1 45000000 .4byte 0x45 + 3001 01f5 02 .byte 0x2 + 3002 01f6 23 .byte 0x23 + 3003 01f7 02 .uleb128 0x2 + 3004 01f8 08 .uleb128 0x8 + 3005 01f9 50050000 .4byte .LASF56 + 3006 01fd 03 .byte 0x3 + 3007 01fe 8E .byte 0x8e + 3008 01ff 69000000 .4byte 0x69 + 3009 0203 02 .byte 0x2 + 3010 0204 23 .byte 0x23 + 3011 0205 04 .uleb128 0x4 + 3012 0206 08 .uleb128 0x8 + 3013 0207 FF010000 .4byte .LASF57 + 3014 020b 03 .byte 0x3 + 3015 020c 8F .byte 0x8f + 3016 020d 57000000 .4byte 0x57 + 3017 0211 02 .byte 0x2 + 3018 0212 23 .byte 0x23 + 3019 0213 08 .uleb128 0x8 + 3020 0214 08 .uleb128 0x8 + 3021 0215 65020000 .4byte .LASF58 + 3022 0219 03 .byte 0x3 + 3023 021a 90 .byte 0x90 + 3024 021b 69000000 .4byte 0x69 + 3025 021f 02 .byte 0x2 + 3026 0220 23 .byte 0x23 + 3027 0221 0C .uleb128 0xc + 3028 0222 08 .uleb128 0x8 + 3029 0223 A6030000 .4byte .LASF59 + 3030 0227 03 .byte 0x3 + 3031 0228 91 .byte 0x91 + 3032 0229 31020000 .4byte 0x231 + 3033 022d 02 .byte 0x2 + 3034 022e 23 .byte 0x23 + 3035 022f 10 .uleb128 0x10 + 3036 0230 00 .byte 0x0 + 3037 0231 09 .uleb128 0x9 + 3038 0232 69000000 .4byte 0x69 + 3039 0236 42020000 .4byte 0x242 + 3040 023a 0A .uleb128 0xa + 3041 023b 42020000 .4byte 0x242 + 3042 023f FF03 .2byte 0x3ff + 3043 0241 00 .byte 0x0 + 3044 0242 0B .uleb128 0xb + 3045 0243 04 .byte 0x4 + 3046 0244 07 .byte 0x7 + 3047 0245 03 .uleb128 0x3 + 3048 0246 38090000 .4byte .LASF60 + 3049 024a 03 .byte 0x3 + 3050 024b 92 .byte 0x92 + 3051 024c D3010000 .4byte 0x1d3 + 3052 0250 0C .uleb128 0xc + 3053 0251 20 .byte 0x20 + BFIN GAS /tmp/ccPX33wG.s page 65 + + + 3054 0252 04 .byte 0x4 + 3055 0253 1C .byte 0x1c + 3056 0254 F2020000 .4byte 0x2f2 + 3057 0258 08 .uleb128 0x8 + 3058 0259 94000000 .4byte .LASF61 + 3059 025d 04 .byte 0x4 + 3060 025e 1D .byte 0x1d + 3061 025f 69000000 .4byte 0x69 + 3062 0263 02 .byte 0x2 + 3063 0264 23 .byte 0x23 + 3064 0265 00 .uleb128 0x0 + 3065 0266 08 .uleb128 0x8 + 3066 0267 1B030000 .4byte .LASF62 + 3067 026b 04 .byte 0x4 + 3068 026c 1E .byte 0x1e + 3069 026d 69000000 .4byte 0x69 + 3070 0271 02 .byte 0x2 + 3071 0272 23 .byte 0x23 + 3072 0273 04 .uleb128 0x4 + 3073 0274 08 .uleb128 0x8 + 3074 0275 84070000 .4byte .LASF63 + 3075 0279 04 .byte 0x4 + 3076 027a 1F .byte 0x1f + 3077 027b F2020000 .4byte 0x2f2 + 3078 027f 02 .byte 0x2 + 3079 0280 23 .byte 0x23 + 3080 0281 08 .uleb128 0x8 + 3081 0282 08 .uleb128 0x8 + 3082 0283 5B020000 .4byte .LASF64 + 3083 0287 04 .byte 0x4 + 3084 0288 20 .byte 0x20 + 3085 0289 45000000 .4byte 0x45 + 3086 028d 02 .byte 0x2 + 3087 028e 23 .byte 0x23 + 3088 028f 0C .uleb128 0xc + 3089 0290 08 .uleb128 0x8 + 3090 0291 60020000 .4byte .LASF65 + 3091 0295 04 .byte 0x4 + 3092 0296 21 .byte 0x21 + 3093 0297 45000000 .4byte 0x45 + 3094 029b 02 .byte 0x2 + 3095 029c 23 .byte 0x23 + 3096 029d 0E .uleb128 0xe + 3097 029e 08 .uleb128 0x8 + 3098 029f 89070000 .4byte .LASF66 + 3099 02a3 04 .byte 0x4 + 3100 02a4 22 .byte 0x22 + 3101 02a5 45000000 .4byte 0x45 + 3102 02a9 02 .byte 0x2 + 3103 02aa 23 .byte 0x23 + 3104 02ab 10 .uleb128 0x10 + 3105 02ac 08 .uleb128 0x8 + 3106 02ad B1070000 .4byte .LASF67 + 3107 02b1 04 .byte 0x4 + 3108 02b2 23 .byte 0x23 + 3109 02b3 45000000 .4byte 0x45 + 3110 02b7 02 .byte 0x2 + BFIN GAS /tmp/ccPX33wG.s page 66 + + + 3111 02b8 23 .byte 0x23 + 3112 02b9 12 .uleb128 0x12 + 3113 02ba 08 .uleb128 0x8 + 3114 02bb 75060000 .4byte .LASF68 + 3115 02bf 04 .byte 0x4 + 3116 02c0 24 .byte 0x24 + 3117 02c1 F2020000 .4byte 0x2f2 + 3118 02c5 02 .byte 0x2 + 3119 02c6 23 .byte 0x23 + 3120 02c7 14 .uleb128 0x14 + 3121 02c8 0D .uleb128 0xd + 3122 02c9 696400 .string "id" + 3123 02cc 04 .byte 0x4 + 3124 02cd 25 .byte 0x25 + 3125 02ce 45000000 .4byte 0x45 + 3126 02d2 02 .byte 0x2 + 3127 02d3 23 .byte 0x23 + 3128 02d4 18 .uleb128 0x18 + 3129 02d5 08 .uleb128 0x8 + 3130 02d6 D8040000 .4byte .LASF69 + 3131 02da 04 .byte 0x4 + 3132 02db 26 .byte 0x26 + 3133 02dc 45000000 .4byte 0x45 + 3134 02e0 02 .byte 0x2 + 3135 02e1 23 .byte 0x23 + 3136 02e2 1A .uleb128 0x1a + 3137 02e3 08 .uleb128 0x8 + 3138 02e4 6C010000 .4byte .LASF70 + 3139 02e8 04 .byte 0x4 + 3140 02e9 27 .byte 0x27 + 3141 02ea 69000000 .4byte 0x69 + 3142 02ee 02 .byte 0x2 + 3143 02ef 23 .byte 0x23 + 3144 02f0 1C .uleb128 0x1c + 3145 02f1 00 .byte 0x0 + 3146 02f2 0E .uleb128 0xe + 3147 02f3 04 .byte 0x4 + 3148 02f4 03 .uleb128 0x3 + 3149 02f5 46080000 .4byte .LASF71 + 3150 02f9 04 .byte 0x4 + 3151 02fa 28 .byte 0x28 + 3152 02fb 50020000 .4byte 0x250 + 3153 02ff 07 .uleb128 0x7 + 3154 0300 0008 .2byte 0x800 + 3155 0302 04 .byte 0x4 + 3156 0303 36 .byte 0x36 + 3157 0304 42030000 .4byte 0x342 + 3158 0308 08 .uleb128 0x8 + 3159 0309 4A060000 .4byte .LASF72 + 3160 030d 04 .byte 0x4 + 3161 030e 37 .byte 0x37 + 3162 030f F4020000 .4byte 0x2f4 + 3163 0313 02 .byte 0x2 + 3164 0314 23 .byte 0x23 + 3165 0315 00 .uleb128 0x0 + 3166 0316 0D .uleb128 0xd + 3167 0317 696E00 .string "in" + BFIN GAS /tmp/ccPX33wG.s page 67 + + + 3168 031a 04 .byte 0x4 + 3169 031b 38 .byte 0x38 + 3170 031c 42030000 .4byte 0x342 + 3171 0320 02 .byte 0x2 + 3172 0321 23 .byte 0x23 + 3173 0322 20 .uleb128 0x20 + 3174 0323 08 .uleb128 0x8 + 3175 0324 45040000 .4byte .LASF73 + 3176 0328 04 .byte 0x4 + 3177 0329 39 .byte 0x39 + 3178 032a F4020000 .4byte 0x2f4 + 3179 032e 03 .byte 0x3 + 3180 032f 23 .byte 0x23 + 3181 0330 8008 .uleb128 0x400 + 3182 0332 0D .uleb128 0xd + 3183 0333 6F757400 .string "out" + 3184 0337 04 .byte 0x4 + 3185 0338 3A .byte 0x3a + 3186 0339 42030000 .4byte 0x342 + 3187 033d 03 .byte 0x3 + 3188 033e 23 .byte 0x23 + 3189 033f A008 .uleb128 0x420 + 3190 0341 00 .byte 0x0 + 3191 0342 09 .uleb128 0x9 + 3192 0343 F4020000 .4byte 0x2f4 + 3193 0347 52030000 .4byte 0x352 + 3194 034b 0F .uleb128 0xf + 3195 034c 42020000 .4byte 0x242 + 3196 0350 1E .byte 0x1e + 3197 0351 00 .byte 0x0 + 3198 0352 03 .uleb128 0x3 + 3199 0353 1D020000 .4byte .LASF74 + 3200 0357 04 .byte 0x4 + 3201 0358 3B .byte 0x3b + 3202 0359 FF020000 .4byte 0x2ff + 3203 035d 07 .uleb128 0x7 + 3204 035e 1018 .2byte 0x1810 + 3205 0360 04 .byte 0x4 + 3206 0361 42 .byte 0x42 + 3207 0362 84030000 .4byte 0x384 + 3208 0366 08 .uleb128 0x8 + 3209 0367 4C040000 .4byte .LASF75 + 3210 036b 04 .byte 0x4 + 3211 036c 43 .byte 0x43 + 3212 036d 52030000 .4byte 0x352 + 3213 0371 02 .byte 0x2 + 3214 0372 23 .byte 0x23 + 3215 0373 00 .uleb128 0x0 + 3216 0374 0D .uleb128 0xd + 3217 0375 636D6400 .string "cmd" + 3218 0379 04 .byte 0x4 + 3219 037a 44 .byte 0x44 + 3220 037b 45020000 .4byte 0x245 + 3221 037f 03 .byte 0x3 + 3222 0380 23 .byte 0x23 + 3223 0381 8010 .uleb128 0x800 + 3224 0383 00 .byte 0x0 + BFIN GAS /tmp/ccPX33wG.s page 68 + + + 3225 0384 03 .uleb128 0x3 + 3226 0385 4C030000 .4byte .LASF76 + 3227 0389 04 .byte 0x4 + 3228 038a 45 .byte 0x45 + 3229 038b 5D030000 .4byte 0x35d + 3230 038f 05 .uleb128 0x5 + 3231 0390 04 .byte 0x4 + 3232 0391 05 .byte 0x5 + 3233 0392 55 .byte 0x55 + 3234 0393 BC030000 .4byte 0x3bc + 3235 0397 06 .uleb128 0x6 + 3236 0398 C9050000 .4byte .LASF77 + 3237 039c 00 .sleb128 0 + 3238 039d 06 .uleb128 0x6 + 3239 039e 12010000 .4byte .LASF78 + 3240 03a2 01 .sleb128 1 + 3241 03a3 06 .uleb128 0x6 + 3242 03a4 01010000 .4byte .LASF79 + 3243 03a8 02 .sleb128 2 + 3244 03a9 06 .uleb128 0x6 + 3245 03aa F0000000 .4byte .LASF80 + 3246 03ae 03 .sleb128 3 + 3247 03af 06 .uleb128 0x6 + 3248 03b0 38050000 .4byte .LASF81 + 3249 03b4 04 .sleb128 4 + 3250 03b5 06 .uleb128 0x6 + 3251 03b6 21050000 .4byte .LASF82 + 3252 03ba 05 .sleb128 5 + 3253 03bb 00 .byte 0x0 + 3254 03bc 05 .uleb128 0x5 + 3255 03bd 04 .byte 0x4 + 3256 03be 05 .byte 0x5 + 3257 03bf 5F .byte 0x5f + 3258 03c0 D7030000 .4byte 0x3d7 + 3259 03c4 06 .uleb128 0x6 + 3260 03c5 ED020000 .4byte .LASF83 + 3261 03c9 00 .sleb128 0 + 3262 03ca 06 .uleb128 0x6 + 3263 03cb 23010000 .4byte .LASF84 + 3264 03cf 01 .sleb128 1 + 3265 03d0 06 .uleb128 0x6 + 3266 03d1 00000000 .4byte .LASF85 + 3267 03d5 02 .sleb128 2 + 3268 03d6 00 .byte 0x0 + 3269 03d7 05 .uleb128 0x5 + 3270 03d8 04 .byte 0x4 + 3271 03d9 05 .byte 0x5 + 3272 03da 69 .byte 0x69 + 3273 03db 04040000 .4byte 0x404 + 3274 03df 06 .uleb128 0x6 + 3275 03e0 44000000 .4byte .LASF86 + 3276 03e4 00 .sleb128 0 + 3277 03e5 06 .uleb128 0x6 + 3278 03e6 36010000 .4byte .LASF87 + 3279 03ea 01 .sleb128 1 + 3280 03eb 06 .uleb128 0x6 + 3281 03ec CA080000 .4byte .LASF88 + BFIN GAS /tmp/ccPX33wG.s page 69 + + + 3282 03f0 02 .sleb128 2 + 3283 03f1 06 .uleb128 0x6 + 3284 03f2 87050000 .4byte .LASF89 + 3285 03f6 03 .sleb128 3 + 3286 03f7 06 .uleb128 0x6 + 3287 03f8 35030000 .4byte .LASF90 + 3288 03fc 06 .sleb128 6 + 3289 03fd 06 .uleb128 0x6 + 3290 03fe 2D000000 .4byte .LASF91 + 3291 0402 07 .sleb128 7 + 3292 0403 00 .byte 0x0 + 3293 0404 0C .uleb128 0xc + 3294 0405 08 .byte 0x8 + 3295 0406 06 .byte 0x6 + 3296 0407 13 .byte 0x13 + 3297 0408 27040000 .4byte 0x427 + 3298 040c 08 .uleb128 0x8 + 3299 040d 8E070000 .4byte .LASF92 + 3300 0411 06 .byte 0x6 + 3301 0412 14 .byte 0x14 + 3302 0413 27040000 .4byte 0x427 + 3303 0417 02 .byte 0x2 + 3304 0418 23 .byte 0x23 + 3305 0419 00 .uleb128 0x0 + 3306 041a 0D .uleb128 0xd + 3307 041b 6B00 .string "k" + 3308 041d 06 .byte 0x6 + 3309 041e 15 .byte 0x15 + 3310 041f 27040000 .4byte 0x427 + 3311 0423 02 .byte 0x2 + 3312 0424 23 .byte 0x23 + 3313 0425 04 .uleb128 0x4 + 3314 0426 00 .byte 0x0 + 3315 0427 02 .uleb128 0x2 + 3316 0428 04 .byte 0x4 + 3317 0429 04 .byte 0x4 + 3318 042a C5010000 .4byte .LASF93 + 3319 042e 03 .uleb128 0x3 + 3320 042f 3B060000 .4byte .LASF94 + 3321 0433 06 .byte 0x6 + 3322 0434 16 .byte 0x16 + 3323 0435 04040000 .4byte 0x404 + 3324 0439 0C .uleb128 0xc + 3325 043a 18 .byte 0x18 + 3326 043b 06 .byte 0x6 + 3327 043c 19 .byte 0x19 + 3328 043d 7A040000 .4byte 0x47a + 3329 0441 08 .uleb128 0x8 + 3330 0442 AD050000 .4byte .LASF95 + 3331 0446 06 .byte 0x6 + 3332 0447 1A .byte 0x1a + 3333 0448 69000000 .4byte 0x69 + 3334 044c 02 .byte 0x2 + 3335 044d 23 .byte 0x23 + 3336 044e 00 .uleb128 0x0 + 3337 044f 08 .uleb128 0x8 + 3338 0450 40070000 .4byte .LASF96 + BFIN GAS /tmp/ccPX33wG.s page 70 + + + 3339 0454 06 .byte 0x6 + 3340 0455 1B .byte 0x1b + 3341 0456 45000000 .4byte 0x45 + 3342 045a 02 .byte 0x2 + 3343 045b 23 .byte 0x23 + 3344 045c 04 .uleb128 0x4 + 3345 045d 08 .uleb128 0x8 + 3346 045e 72030000 .4byte .LASF97 + 3347 0462 06 .byte 0x6 + 3348 0463 1C .byte 0x1c + 3349 0464 2C000000 .4byte 0x2c + 3350 0468 02 .byte 0x2 + 3351 0469 23 .byte 0x23 + 3352 046a 06 .uleb128 0x6 + 3353 046b 08 .uleb128 0x8 + 3354 046c 30090000 .4byte .LASF98 + 3355 0470 06 .byte 0x6 + 3356 0471 1D .byte 0x1d + 3357 0472 7A040000 .4byte 0x47a + 3358 0476 02 .byte 0x2 + 3359 0477 23 .byte 0x23 + 3360 0478 08 .uleb128 0x8 + 3361 0479 00 .byte 0x0 + 3362 047a 09 .uleb128 0x9 + 3363 047b 2E040000 .4byte 0x42e + 3364 047f 8A040000 .4byte 0x48a + 3365 0483 0F .uleb128 0xf + 3366 0484 42020000 .4byte 0x242 + 3367 0488 01 .byte 0x1 + 3368 0489 00 .byte 0x0 + 3369 048a 03 .uleb128 0x3 + 3370 048b 5A080000 .4byte .LASF99 + 3371 048f 06 .byte 0x6 + 3372 0490 1E .byte 0x1e + 3373 0491 39040000 .4byte 0x439 + 3374 0495 0C .uleb128 0xc + 3375 0496 08 .byte 0x8 + 3376 0497 06 .byte 0x6 + 3377 0498 22 .byte 0x22 + 3378 0499 E4040000 .4byte 0x4e4 + 3379 049d 08 .uleb128 0x8 + 3380 049e 65010000 .4byte .LASF100 + 3381 04a2 06 .byte 0x6 + 3382 04a3 23 .byte 0x23 + 3383 04a4 2C000000 .4byte 0x2c + 3384 04a8 02 .byte 0x2 + 3385 04a9 23 .byte 0x23 + 3386 04aa 00 .uleb128 0x0 + 3387 04ab 08 .uleb128 0x8 + 3388 04ac 60010000 .4byte .LASF101 + 3389 04b0 06 .byte 0x6 + 3390 04b1 24 .byte 0x24 + 3391 04b2 2C000000 .4byte 0x2c + 3392 04b6 02 .byte 0x2 + 3393 04b7 23 .byte 0x23 + 3394 04b8 01 .uleb128 0x1 + 3395 04b9 08 .uleb128 0x8 + BFIN GAS /tmp/ccPX33wG.s page 71 + + + 3396 04ba 4A050000 .4byte .LASF102 + 3397 04be 06 .byte 0x6 + 3398 04bf 25 .byte 0x25 + 3399 04c0 2C000000 .4byte 0x2c + 3400 04c4 02 .byte 0x2 + 3401 04c5 23 .byte 0x23 + 3402 04c6 02 .uleb128 0x2 + 3403 04c7 0D .uleb128 0xd + 3404 04c8 61766700 .string "avg" + 3405 04cc 06 .byte 0x6 + 3406 04cd 26 .byte 0x26 + 3407 04ce 2C000000 .4byte 0x2c + 3408 04d2 02 .byte 0x2 + 3409 04d3 23 .byte 0x23 + 3410 04d4 03 .uleb128 0x3 + 3411 04d5 08 .uleb128 0x8 + 3412 04d6 94000000 .4byte .LASF61 + 3413 04da 06 .byte 0x6 + 3414 04db 27 .byte 0x27 + 3415 04dc 69000000 .4byte 0x69 + 3416 04e0 02 .byte 0x2 + 3417 04e1 23 .byte 0x23 + 3418 04e2 04 .uleb128 0x4 + 3419 04e3 00 .byte 0x0 + 3420 04e4 03 .uleb128 0x3 + 3421 04e5 0D060000 .4byte .LASF103 + 3422 04e9 06 .byte 0x6 + 3423 04ea 28 .byte 0x28 + 3424 04eb 95040000 .4byte 0x495 + 3425 04ef 07 .uleb128 0x7 + 3426 04f0 1808 .2byte 0x818 + 3427 04f2 06 .byte 0x6 + 3428 04f3 2C .byte 0x2c + 3429 04f4 7F050000 .4byte 0x57f + 3430 04f8 0D .uleb128 0xd + 3431 04f9 6C636800 .string "lch" + 3432 04fd 06 .byte 0x6 + 3433 04fe 2E .byte 0x2e + 3434 04ff 7F050000 .4byte 0x57f + 3435 0503 02 .byte 0x2 + 3436 0504 23 .byte 0x23 + 3437 0505 00 .uleb128 0x0 + 3438 0506 08 .uleb128 0x8 + 3439 0507 EF060000 .4byte .LASF104 + 3440 050b 06 .byte 0x6 + 3441 050c 2F .byte 0x2f + 3442 050d 45000000 .4byte 0x45 + 3443 0511 03 .byte 0x3 + 3444 0512 23 .byte 0x23 + 3445 0513 8010 .uleb128 0x800 + 3446 0515 08 .uleb128 0x8 + 3447 0516 12040000 .4byte .LASF105 + 3448 051a 06 .byte 0x6 + 3449 051b 30 .byte 0x30 + 3450 051c 69000000 .4byte 0x69 + 3451 0520 03 .byte 0x3 + 3452 0521 23 .byte 0x23 + BFIN GAS /tmp/ccPX33wG.s page 72 + + + 3453 0522 8410 .uleb128 0x804 + 3454 0524 08 .uleb128 0x8 + 3455 0525 61090000 .4byte .LASF106 + 3456 0529 06 .byte 0x6 + 3457 052a 31 .byte 0x31 + 3458 052b 69000000 .4byte 0x69 + 3459 052f 03 .byte 0x3 + 3460 0530 23 .byte 0x23 + 3461 0531 8810 .uleb128 0x808 + 3462 0533 08 .uleb128 0x8 + 3463 0534 6D000000 .4byte .LASF107 + 3464 0538 06 .byte 0x6 + 3465 0539 32 .byte 0x32 + 3466 053a 69000000 .4byte 0x69 + 3467 053e 03 .byte 0x3 + 3468 053f 23 .byte 0x23 + 3469 0540 8C10 .uleb128 0x80c + 3470 0542 08 .uleb128 0x8 + 3471 0543 04060000 .4byte .LASF108 + 3472 0547 06 .byte 0x6 + 3473 0548 33 .byte 0x33 + 3474 0549 69000000 .4byte 0x69 + 3475 054d 03 .byte 0x3 + 3476 054e 23 .byte 0x23 + 3477 054f 9010 .uleb128 0x810 + 3478 0551 08 .uleb128 0x8 + 3479 0552 99030000 .4byte .LASF109 + 3480 0556 06 .byte 0x6 + 3481 0557 34 .byte 0x34 + 3482 0558 45000000 .4byte 0x45 + 3483 055c 03 .byte 0x3 + 3484 055d 23 .byte 0x23 + 3485 055e 9410 .uleb128 0x814 + 3486 0560 08 .uleb128 0x8 + 3487 0561 1D060000 .4byte .LASF110 + 3488 0565 06 .byte 0x6 + 3489 0566 35 .byte 0x35 + 3490 0567 2C000000 .4byte 0x2c + 3491 056b 03 .byte 0x3 + 3492 056c 23 .byte 0x23 + 3493 056d 9610 .uleb128 0x816 + 3494 056f 08 .uleb128 0x8 + 3495 0570 DF060000 .4byte .LASF111 + 3496 0574 06 .byte 0x6 + 3497 0575 36 .byte 0x36 + 3498 0576 2C000000 .4byte 0x2c + 3499 057a 03 .byte 0x3 + 3500 057b 23 .byte 0x23 + 3501 057c 9710 .uleb128 0x817 + 3502 057e 00 .byte 0x0 + 3503 057f 09 .uleb128 0x9 + 3504 0580 E4040000 .4byte 0x4e4 + 3505 0584 8F050000 .4byte 0x58f + 3506 0588 0F .uleb128 0xf + 3507 0589 42020000 .4byte 0x242 + 3508 058d FF .byte 0xff + 3509 058e 00 .byte 0x0 + BFIN GAS /tmp/ccPX33wG.s page 73 + + + 3510 058f 03 .uleb128 0x3 + 3511 0590 2F080000 .4byte .LASF112 + 3512 0594 06 .byte 0x6 + 3513 0595 37 .byte 0x37 + 3514 0596 EF040000 .4byte 0x4ef + 3515 059a 02 .uleb128 0x2 + 3516 059b 01 .byte 0x1 + 3517 059c 06 .byte 0x6 + 3518 059d 5F030000 .4byte .LASF113 + 3519 05a1 03 .uleb128 0x3 + 3520 05a2 CE060000 .4byte .LASF114 + 3521 05a6 01 .byte 0x1 + 3522 05a7 2D .byte 0x2d + 3523 05a8 AC050000 .4byte 0x5ac + 3524 05ac 10 .uleb128 0x10 + 3525 05ad 04 .byte 0x4 + 3526 05ae B2050000 .4byte 0x5b2 + 3527 05b2 11 .uleb128 0x11 + 3528 05b3 01 .byte 0x1 + 3529 05b4 BE050000 .4byte 0x5be + 3530 05b8 12 .uleb128 0x12 + 3531 05b9 BE050000 .4byte 0x5be + 3532 05bd 00 .byte 0x0 + 3533 05be 10 .uleb128 0x10 + 3534 05bf 04 .byte 0x4 + 3535 05c0 45020000 .4byte 0x245 + 3536 05c4 0C .uleb128 0xc + 3537 05c5 08 .byte 0x8 + 3538 05c6 01 .byte 0x1 + 3539 05c7 41 .byte 0x41 + 3540 05c8 E9050000 .4byte 0x5e9 + 3541 05cc 08 .uleb128 0x8 + 3542 05cd 34040000 .4byte .LASF115 + 3543 05d1 01 .byte 0x1 + 3544 05d2 42 .byte 0x42 + 3545 05d3 69000000 .4byte 0x69 + 3546 05d7 02 .byte 0x2 + 3547 05d8 23 .byte 0x23 + 3548 05d9 00 .uleb128 0x0 + 3549 05da 08 .uleb128 0x8 + 3550 05db D9060000 .4byte .LASF116 + 3551 05df 01 .byte 0x1 + 3552 05e0 43 .byte 0x43 + 3553 05e1 A1050000 .4byte 0x5a1 + 3554 05e5 02 .byte 0x2 + 3555 05e6 23 .byte 0x23 + 3556 05e7 04 .uleb128 0x4 + 3557 05e8 00 .byte 0x0 + 3558 05e9 13 .uleb128 0x13 + 3559 05ea 01 .byte 0x1 + 3560 05eb B5000000 .4byte .LASF146 + 3561 05ef 01 .byte 0x1 + 3562 05f0 7F .byte 0x7f + 3563 05f1 01 .byte 0x1 + 3564 05f2 00000000 .4byte .LFB19 + 3565 05f6 26000000 .4byte .LFE19 + 3566 05fa 00000000 .4byte .LLST0 + BFIN GAS /tmp/ccPX33wG.s page 74 + + + 3567 05fe 14 .uleb128 0x14 + 3568 05ff 01 .byte 0x1 + 3569 0600 64030000 .4byte .LASF132 + 3570 0604 01 .byte 0x1 + 3571 0605 58 .byte 0x58 + 3572 0606 01 .byte 0x1 + 3573 0607 01 .byte 0x1 + 3574 0608 2E060000 .4byte 0x62e + 3575 060c 15 .uleb128 0x15 + 3576 060d FF010000 .4byte .LASF57 + 3577 0611 01 .byte 0x1 + 3578 0612 58 .byte 0x58 + 3579 0613 57000000 .4byte 0x57 + 3580 0617 15 .uleb128 0x15 + 3581 0618 A6030000 .4byte .LASF59 + 3582 061c 01 .byte 0x1 + 3583 061d 58 .byte 0x58 + 3584 061e 2E060000 .4byte 0x62e + 3585 0622 15 .uleb128 0x15 + 3586 0623 33050000 .4byte .LASF117 + 3587 0627 01 .byte 0x1 + 3588 0628 58 .byte 0x58 + 3589 0629 69000000 .4byte 0x69 + 3590 062d 00 .byte 0x0 + 3591 062e 10 .uleb128 0x10 + 3592 062f 04 .byte 0x4 + 3593 0630 69000000 .4byte 0x69 + 3594 0634 16 .uleb128 0x16 + 3595 0635 FE050000 .4byte 0x5fe + 3596 0639 28000000 .4byte .LFB16 + 3597 063d 64000000 .4byte .LFE16 + 3598 0641 1F000000 .4byte .LLST1 + 3599 0645 65060000 .4byte 0x665 + 3600 0649 17 .uleb128 0x17 + 3601 064a 0C060000 .4byte 0x60c + 3602 064e 4A000000 .4byte .LLST2 + 3603 0652 17 .uleb128 0x17 + 3604 0653 17060000 .4byte 0x617 + 3605 0657 68000000 .4byte .LLST3 + 3606 065b 17 .uleb128 0x17 + 3607 065c 22060000 .4byte 0x622 + 3608 0660 86000000 .4byte .LLST4 + 3609 0664 00 .byte 0x0 + 3610 0665 18 .uleb128 0x18 + 3611 0666 50010000 .4byte .LASF118 + 3612 066a 01 .byte 0x1 + 3613 066b D3 .byte 0xd3 + 3614 066c 01 .byte 0x1 + 3615 066d 64000000 .4byte .LFB30 + 3616 0671 E4010000 .4byte .LFE30 + 3617 0675 A4000000 .4byte .LLST5 + 3618 0679 0F070000 .4byte 0x70f + 3619 067d 19 .uleb128 0x19 + 3620 067e 636D6400 .string "cmd" + 3621 0682 01 .byte 0x1 + 3622 0683 D3 .byte 0xd3 + 3623 0684 BE050000 .4byte 0x5be + BFIN GAS /tmp/ccPX33wG.s page 75 + + + 3624 0688 CF000000 .4byte .LLST6 + 3625 068c 1A .uleb128 0x1a + 3626 068d 65727200 .string "err" + 3627 0691 01 .byte 0x1 + 3628 0692 D4 .byte 0xd4 + 3629 0693 57000000 .4byte 0x57 + 3630 0697 F8000000 .4byte .LLST7 + 3631 069b 1B .uleb128 0x1b + 3632 069c FE050000 .4byte 0x5fe + 3633 06a0 7E000000 .4byte .LBB7 + 3634 06a4 98000000 .4byte .LBE7 + 3635 06a8 01 .byte 0x1 + 3636 06a9 2801 .2byte 0x128 + 3637 06ab BF060000 .4byte 0x6bf + 3638 06af 1C .uleb128 0x1c + 3639 06b0 5B060000 .4byte 0x65b + 3640 06b4 1C .uleb128 0x1c + 3641 06b5 52060000 .4byte 0x652 + 3642 06b9 1C .uleb128 0x1c + 3643 06ba 49060000 .4byte 0x649 + 3644 06be 00 .byte 0x0 + 3645 06bf 1D .uleb128 0x1d + 3646 06c0 00000000 .4byte .Ldebug_ranges0+0x0 + 3647 06c4 F4060000 .4byte 0x6f4 + 3648 06c8 1E .uleb128 0x1e + 3649 06c9 636800 .string "ch" + 3650 06cc 01 .byte 0x1 + 3651 06cd 1801 .2byte 0x118 + 3652 06cf 69000000 .4byte 0x69 + 3653 06d3 42010000 .4byte .LLST8 + 3654 06d7 1F .uleb128 0x1f + 3655 06d8 20000000 .4byte .Ldebug_ranges0+0x20 + 3656 06dc 20 .uleb128 0x20 + 3657 06dd 706B00 .string "pk" + 3658 06e0 01 .byte 0x1 + 3659 06e1 1C01 .2byte 0x11c + 3660 06e3 0F070000 .4byte 0x70f + 3661 06e7 20 .uleb128 0x20 + 3662 06e8 706F00 .string "po" + 3663 06eb 01 .byte 0x1 + 3664 06ec 1D01 .2byte 0x11d + 3665 06ee 0F070000 .4byte 0x70f + 3666 06f2 00 .byte 0x0 + 3667 06f3 00 .byte 0x0 + 3668 06f4 21 .uleb128 0x21 + 3669 06f5 24010000 .4byte .LBB15 + 3670 06f9 60010000 .4byte .LBE15 + 3671 06fd 22 .uleb128 0x22 + 3672 06fe 4A050000 .4byte .LASF102 + 3673 0702 01 .byte 0x1 + 3674 0703 0B01 .2byte 0x10b + 3675 0705 69000000 .4byte 0x69 + 3676 0709 6B010000 .4byte .LLST9 + 3677 070d 00 .byte 0x0 + 3678 070e 00 .byte 0x0 + 3679 070f 10 .uleb128 0x10 + 3680 0710 04 .byte 0x4 + BFIN GAS /tmp/ccPX33wG.s page 76 + + + 3681 0711 27040000 .4byte 0x427 + 3682 0715 18 .uleb128 0x18 + 3683 0716 E7070000 .4byte .LASF119 + 3684 071a 01 .byte 0x1 + 3685 071b CA .byte 0xca + 3686 071c 01 .byte 0x1 + 3687 071d E4010000 .4byte .LFB29 + 3688 0721 22020000 .4byte .LFE29 + 3689 0725 89010000 .4byte .LLST10 + 3690 0729 65070000 .4byte 0x765 + 3691 072d 19 .uleb128 0x19 + 3692 072e 636D6400 .string "cmd" + 3693 0732 01 .byte 0x1 + 3694 0733 CA .byte 0xca + 3695 0734 BE050000 .4byte 0x5be + 3696 0738 A8010000 .4byte .LLST11 + 3697 073c 23 .uleb128 0x23 + 3698 073d 76616C00 .string "val" + 3699 0741 01 .byte 0x1 + 3700 0742 CB .byte 0xcb + 3701 0743 69000000 .4byte 0x69 + 3702 0747 01 .byte 0x1 + 3703 0748 51 .byte 0x51 + 3704 0749 24 .uleb128 0x24 + 3705 074a FE050000 .4byte 0x5fe + 3706 074e 40000000 .4byte .Ldebug_ranges0+0x40 + 3707 0752 01 .byte 0x1 + 3708 0753 CC .byte 0xcc + 3709 0754 1C .uleb128 0x1c + 3710 0755 5B060000 .4byte 0x65b + 3711 0759 1C .uleb128 0x1c + 3712 075a 52060000 .4byte 0x652 + 3713 075e 1C .uleb128 0x1c + 3714 075f 49060000 .4byte 0x649 + 3715 0763 00 .byte 0x0 + 3716 0764 00 .byte 0x0 + 3717 0765 18 .uleb128 0x18 + 3718 0766 7B080000 .4byte .LASF120 + 3719 076a 01 .byte 0x1 + 3720 076b BF .byte 0xbf + 3721 076c 01 .byte 0x1 + 3722 076d 24020000 .4byte .LFB28 + 3723 0771 7A020000 .4byte .LFE28 + 3724 0775 BB010000 .4byte .LLST12 + 3725 0779 CA070000 .4byte 0x7ca + 3726 077d 19 .uleb128 0x19 + 3727 077e 636D6400 .string "cmd" + 3728 0782 01 .byte 0x1 + 3729 0783 BF .byte 0xbf + 3730 0784 BE050000 .4byte 0x5be + 3731 0788 DA010000 .4byte .LLST13 + 3732 078c 1A .uleb128 0x1a + 3733 078d 65727200 .string "err" + 3734 0791 01 .byte 0x1 + 3735 0792 C0 .byte 0xc0 + 3736 0793 57000000 .4byte 0x57 + 3737 0797 03020000 .4byte .LLST14 + BFIN GAS /tmp/ccPX33wG.s page 77 + + + 3738 079b 1A .uleb128 0x1a + 3739 079c 76616C00 .string "val" + 3740 07a0 01 .byte 0x1 + 3741 07a1 C1 .byte 0xc1 + 3742 07a2 69000000 .4byte 0x69 + 3743 07a6 21020000 .4byte .LLST15 + 3744 07aa 25 .uleb128 0x25 + 3745 07ab FE050000 .4byte 0x5fe + 3746 07af 3A020000 .4byte .LBB24 + 3747 07b3 68020000 .4byte .LBE24 + 3748 07b7 01 .byte 0x1 + 3749 07b8 C7 .byte 0xc7 + 3750 07b9 1C .uleb128 0x1c + 3751 07ba 5B060000 .4byte 0x65b + 3752 07be 1C .uleb128 0x1c + 3753 07bf 52060000 .4byte 0x652 + 3754 07c3 1C .uleb128 0x1c + 3755 07c4 49060000 .4byte 0x649 + 3756 07c8 00 .byte 0x0 + 3757 07c9 00 .byte 0x0 + 3758 07ca 18 .uleb128 0x18 + 3759 07cb 2E020000 .4byte .LASF121 + 3760 07cf 01 .byte 0x1 + 3761 07d0 B3 .byte 0xb3 + 3762 07d1 01 .byte 0x1 + 3763 07d2 7C020000 .4byte .LFB27 + 3764 07d6 D0020000 .4byte .LFE27 + 3765 07da 4C020000 .4byte .LLST16 + 3766 07de 20080000 .4byte 0x820 + 3767 07e2 19 .uleb128 0x19 + 3768 07e3 636D6400 .string "cmd" + 3769 07e7 01 .byte 0x1 + 3770 07e8 B3 .byte 0xb3 + 3771 07e9 BE050000 .4byte 0x5be + 3772 07ed 6B020000 .4byte .LLST17 + 3773 07f1 1A .uleb128 0x1a + 3774 07f2 65727200 .string "err" + 3775 07f6 01 .byte 0x1 + 3776 07f7 B4 .byte 0xb4 + 3777 07f8 57000000 .4byte 0x57 + 3778 07fc 94020000 .4byte .LLST18 + 3779 0800 25 .uleb128 0x25 + 3780 0801 FE050000 .4byte 0x5fe + 3781 0805 9E020000 .4byte .LBB28 + 3782 0809 B8020000 .4byte .LBE28 + 3783 080d 01 .byte 0x1 + 3784 080e BC .byte 0xbc + 3785 080f 1C .uleb128 0x1c + 3786 0810 5B060000 .4byte 0x65b + 3787 0814 1C .uleb128 0x1c + 3788 0815 52060000 .4byte 0x652 + 3789 0819 1C .uleb128 0x1c + 3790 081a 49060000 .4byte 0x649 + 3791 081e 00 .byte 0x0 + 3792 081f 00 .byte 0x0 + 3793 0820 18 .uleb128 0x18 + 3794 0821 25030000 .4byte .LASF122 + BFIN GAS /tmp/ccPX33wG.s page 78 + + + 3795 0825 01 .byte 0x1 + 3796 0826 9C .byte 0x9c + 3797 0827 01 .byte 0x1 + 3798 0828 D0020000 .4byte .LFB26 + 3799 082c 50030000 .4byte .LFE26 + 3800 0830 BD020000 .4byte .LLST19 + 3801 0834 76080000 .4byte 0x876 + 3802 0838 19 .uleb128 0x19 + 3803 0839 636D6400 .string "cmd" + 3804 083d 01 .byte 0x1 + 3805 083e 9C .byte 0x9c + 3806 083f BE050000 .4byte 0x5be + 3807 0843 DC020000 .4byte .LLST20 + 3808 0847 1A .uleb128 0x1a + 3809 0848 65727200 .string "err" + 3810 084c 01 .byte 0x1 + 3811 084d 9D .byte 0x9d + 3812 084e 57000000 .4byte 0x57 + 3813 0852 26030000 .4byte .LLST21 + 3814 0856 25 .uleb128 0x25 + 3815 0857 FE050000 .4byte 0x5fe + 3816 085b 06030000 .4byte .LBB32 + 3817 085f 20030000 .4byte .LBE32 + 3818 0863 01 .byte 0x1 + 3819 0864 B0 .byte 0xb0 + 3820 0865 1C .uleb128 0x1c + 3821 0866 5B060000 .4byte 0x65b + 3822 086a 1C .uleb128 0x1c + 3823 086b 52060000 .4byte 0x652 + 3824 086f 1C .uleb128 0x1c + 3825 0870 49060000 .4byte 0x649 + 3826 0874 00 .byte 0x0 + 3827 0875 00 .byte 0x0 + 3828 0876 18 .uleb128 0x18 + 3829 0877 1F040000 .4byte .LASF123 + 3830 087b 01 .byte 0x1 + 3831 087c 98 .byte 0x98 + 3832 087d 01 .byte 0x1 + 3833 087e 50030000 .4byte .LFB25 + 3834 0882 7C030000 .4byte .LFE25 + 3835 0886 65030000 .4byte .LLST22 + 3836 088a BD080000 .4byte 0x8bd + 3837 088e 19 .uleb128 0x19 + 3838 088f 636D6400 .string "cmd" + 3839 0893 01 .byte 0x1 + 3840 0894 98 .byte 0x98 + 3841 0895 BE050000 .4byte 0x5be + 3842 0899 84030000 .4byte .LLST23 + 3843 089d 25 .uleb128 0x25 + 3844 089e FE050000 .4byte 0x5fe + 3845 08a2 5C030000 .4byte .LBB36 + 3846 08a6 76030000 .4byte .LBE36 + 3847 08aa 01 .byte 0x1 + 3848 08ab 99 .byte 0x99 + 3849 08ac 1C .uleb128 0x1c + 3850 08ad 5B060000 .4byte 0x65b + 3851 08b1 1C .uleb128 0x1c + BFIN GAS /tmp/ccPX33wG.s page 79 + + + 3852 08b2 52060000 .4byte 0x652 + 3853 08b6 1C .uleb128 0x1c + 3854 08b7 49060000 .4byte 0x649 + 3855 08bb 00 .byte 0x0 + 3856 08bc 00 .byte 0x0 + 3857 08bd 18 .uleb128 0x18 + 3858 08be D3070000 .4byte .LASF124 + 3859 08c2 01 .byte 0x1 + 3860 08c3 94 .byte 0x94 + 3861 08c4 01 .byte 0x1 + 3862 08c5 7C030000 .4byte .LFB24 + 3863 08c9 A8030000 .4byte .LFE24 + 3864 08cd A2030000 .4byte .LLST24 + 3865 08d1 04090000 .4byte 0x904 + 3866 08d5 19 .uleb128 0x19 + 3867 08d6 636D6400 .string "cmd" + 3868 08da 01 .byte 0x1 + 3869 08db 94 .byte 0x94 + 3870 08dc BE050000 .4byte 0x5be + 3871 08e0 C1030000 .4byte .LLST25 + 3872 08e4 25 .uleb128 0x25 + 3873 08e5 FE050000 .4byte 0x5fe + 3874 08e9 88030000 .4byte .LBB40 + 3875 08ed A2030000 .4byte .LBE40 + 3876 08f1 01 .byte 0x1 + 3877 08f2 95 .byte 0x95 + 3878 08f3 1C .uleb128 0x1c + 3879 08f4 5B060000 .4byte 0x65b + 3880 08f8 1C .uleb128 0x1c + 3881 08f9 52060000 .4byte 0x652 + 3882 08fd 1C .uleb128 0x1c + 3883 08fe 49060000 .4byte 0x649 + 3884 0902 00 .byte 0x0 + 3885 0903 00 .byte 0x0 + 3886 0904 18 .uleb128 0x18 + 3887 0905 D3000000 .4byte .LASF125 + 3888 0909 01 .byte 0x1 + 3889 090a 90 .byte 0x90 + 3890 090b 01 .byte 0x1 + 3891 090c A8030000 .4byte .LFB23 + 3892 0910 D0030000 .4byte .LFE23 + 3893 0914 DF030000 .4byte .LLST26 + 3894 0918 4B090000 .4byte 0x94b + 3895 091c 19 .uleb128 0x19 + 3896 091d 636D6400 .string "cmd" + 3897 0921 01 .byte 0x1 + 3898 0922 90 .byte 0x90 + 3899 0923 BE050000 .4byte 0x5be + 3900 0927 FE030000 .4byte .LLST27 + 3901 092b 25 .uleb128 0x25 + 3902 092c FE050000 .4byte 0x5fe + 3903 0930 B0030000 .4byte .LBB44 + 3904 0934 CA030000 .4byte .LBE44 + 3905 0938 01 .byte 0x1 + 3906 0939 91 .byte 0x91 + 3907 093a 1C .uleb128 0x1c + 3908 093b 5B060000 .4byte 0x65b + BFIN GAS /tmp/ccPX33wG.s page 80 + + + 3909 093f 1C .uleb128 0x1c + 3910 0940 52060000 .4byte 0x652 + 3911 0944 1C .uleb128 0x1c + 3912 0945 49060000 .4byte 0x649 + 3913 0949 00 .byte 0x0 + 3914 094a 00 .byte 0x0 + 3915 094b 18 .uleb128 0x18 + 3916 094c 00050000 .4byte .LASF126 + 3917 0950 01 .byte 0x1 + 3918 0951 88 .byte 0x88 + 3919 0952 01 .byte 0x1 + 3920 0953 D0030000 .4byte .LFB21 + 3921 0957 F8030000 .4byte .LFE21 + 3922 095b 11040000 .4byte .LLST28 + 3923 095f 92090000 .4byte 0x992 + 3924 0963 19 .uleb128 0x19 + 3925 0964 636D6400 .string "cmd" + 3926 0968 01 .byte 0x1 + 3927 0969 88 .byte 0x88 + 3928 096a BE050000 .4byte 0x5be + 3929 096e 30040000 .4byte .LLST29 + 3930 0972 25 .uleb128 0x25 + 3931 0973 FE050000 .4byte 0x5fe + 3932 0977 D8030000 .4byte .LBB48 + 3933 097b F2030000 .4byte .LBE48 + 3934 097f 01 .byte 0x1 + 3935 0980 89 .byte 0x89 + 3936 0981 1C .uleb128 0x1c + 3937 0982 5B060000 .4byte 0x65b + 3938 0986 1C .uleb128 0x1c + 3939 0987 52060000 .4byte 0x652 + 3940 098b 1C .uleb128 0x1c + 3941 098c 49060000 .4byte 0x649 + 3942 0990 00 .byte 0x0 + 3943 0991 00 .byte 0x0 + 3944 0992 18 .uleb128 0x18 + 3945 0993 27060000 .4byte .LASF127 + 3946 0997 01 .byte 0x1 + 3947 0998 84 .byte 0x84 + 3948 0999 01 .byte 0x1 + 3949 099a F8030000 .4byte .LFB20 + 3950 099e 20040000 .4byte .LFE20 + 3951 09a2 43040000 .4byte .LLST30 + 3952 09a6 D9090000 .4byte 0x9d9 + 3953 09aa 19 .uleb128 0x19 + 3954 09ab 636D6400 .string "cmd" + 3955 09af 01 .byte 0x1 + 3956 09b0 84 .byte 0x84 + 3957 09b1 BE050000 .4byte 0x5be + 3958 09b5 62040000 .4byte .LLST31 + 3959 09b9 25 .uleb128 0x25 + 3960 09ba FE050000 .4byte 0x5fe + 3961 09be 00040000 .4byte .LBB52 + 3962 09c2 1A040000 .4byte .LBE52 + 3963 09c6 01 .byte 0x1 + 3964 09c7 85 .byte 0x85 + 3965 09c8 1C .uleb128 0x1c + BFIN GAS /tmp/ccPX33wG.s page 81 + + + 3966 09c9 5B060000 .4byte 0x65b + 3967 09cd 1C .uleb128 0x1c + 3968 09ce 52060000 .4byte 0x652 + 3969 09d2 1C .uleb128 0x1c + 3970 09d3 49060000 .4byte 0x649 + 3971 09d7 00 .byte 0x0 + 3972 09d8 00 .byte 0x0 + 3973 09d9 18 .uleb128 0x18 + 3974 09da A1060000 .4byte .LASF128 + 3975 09de 01 .byte 0x1 + 3976 09df 8C .byte 0x8c + 3977 09e0 01 .byte 0x1 + 3978 09e1 20040000 .4byte .LFB22 + 3979 09e5 48040000 .4byte .LFE22 + 3980 09e9 75040000 .4byte .LLST32 + 3981 09ed 200A0000 .4byte 0xa20 + 3982 09f1 19 .uleb128 0x19 + 3983 09f2 636D6400 .string "cmd" + 3984 09f6 01 .byte 0x1 + 3985 09f7 8C .byte 0x8c + 3986 09f8 BE050000 .4byte 0x5be + 3987 09fc 94040000 .4byte .LLST33 + 3988 0a00 25 .uleb128 0x25 + 3989 0a01 FE050000 .4byte 0x5fe + 3990 0a05 28040000 .4byte .LBB56 + 3991 0a09 42040000 .4byte .LBE56 + 3992 0a0d 01 .byte 0x1 + 3993 0a0e 8D .byte 0x8d + 3994 0a0f 1C .uleb128 0x1c + 3995 0a10 5B060000 .4byte 0x65b + 3996 0a14 1C .uleb128 0x1c + 3997 0a15 52060000 .4byte 0x652 + 3998 0a19 1C .uleb128 0x1c + 3999 0a1a 49060000 .4byte 0x649 + 4000 0a1e 00 .byte 0x0 + 4001 0a1f 00 .byte 0x0 + 4002 0a20 26 .uleb128 0x26 + 4003 0a21 65060000 .4byte .LASF129 + 4004 0a25 01 .byte 0x1 + 4005 0a26 2C01 .2byte 0x12c + 4006 0a28 01 .byte 0x1 + 4007 0a29 48040000 .4byte .LFB31 + 4008 0a2d EA050000 .4byte .LFE31 + 4009 0a31 A7040000 .4byte .LLST34 + 4010 0a35 A40A0000 .4byte 0xaa4 + 4011 0a39 27 .uleb128 0x27 + 4012 0a3a 636D6400 .string "cmd" + 4013 0a3e 01 .byte 0x1 + 4014 0a3f 2C01 .2byte 0x12c + 4015 0a41 BE050000 .4byte 0x5be + 4016 0a45 D2040000 .4byte .LLST35 + 4017 0a49 1E .uleb128 0x1e + 4018 0a4a 65727200 .string "err" + 4019 0a4e 01 .byte 0x1 + 4020 0a4f 2D01 .2byte 0x12d + 4021 0a51 57000000 .4byte 0x57 + 4022 0a55 06050000 .4byte .LLST36 + BFIN GAS /tmp/ccPX33wG.s page 82 + + + 4023 0a59 22 .uleb128 0x22 + 4024 0a5a C4020000 .4byte .LASF130 + 4025 0a5e 01 .byte 0x1 + 4026 0a5f 2E01 .2byte 0x12e + 4027 0a61 69000000 .4byte 0x69 + 4028 0a65 24050000 .4byte .LLST37 + 4029 0a69 28 .uleb128 0x28 + 4030 0a6a FE050000 .4byte 0x5fe + 4031 0a6e 58000000 .4byte .Ldebug_ranges0+0x58 + 4032 0a72 01 .byte 0x1 + 4033 0a73 7901 .2byte 0x179 + 4034 0a75 890A0000 .4byte 0xa89 + 4035 0a79 1C .uleb128 0x1c + 4036 0a7a 5B060000 .4byte 0x65b + 4037 0a7e 1C .uleb128 0x1c + 4038 0a7f 52060000 .4byte 0x652 + 4039 0a83 1C .uleb128 0x1c + 4040 0a84 49060000 .4byte 0x649 + 4041 0a88 00 .byte 0x0 + 4042 0a89 21 .uleb128 0x21 + 4043 0a8a 1C050000 .4byte .LBB68 + 4044 0a8e 58050000 .4byte .LBE68 + 4045 0a92 22 .uleb128 0x22 + 4046 0a93 F3080000 .4byte .LASF131 + 4047 0a97 01 .byte 0x1 + 4048 0a98 4B01 .2byte 0x14b + 4049 0a9a 69000000 .4byte 0x69 + 4050 0a9e C6050000 .4byte .LLST38 + 4051 0aa2 00 .byte 0x0 + 4052 0aa3 00 .byte 0x0 + 4053 0aa4 14 .uleb128 0x14 + 4054 0aa5 01 .byte 0x1 + 4055 0aa6 9E050000 .4byte .LASF133 + 4056 0aaa 01 .byte 0x1 + 4057 0aab 63 .byte 0x63 + 4058 0aac 01 .byte 0x1 + 4059 0aad 01 .byte 0x1 + 4060 0aae E30A0000 .4byte 0xae3 + 4061 0ab2 29 .uleb128 0x29 + 4062 0ab3 636D6400 .string "cmd" + 4063 0ab7 01 .byte 0x1 + 4064 0ab8 63 .byte 0x63 + 4065 0ab9 BE050000 .4byte 0x5be + 4066 0abd 2A .uleb128 0x2a + 4067 0abe 6900 .string "i" + 4068 0ac0 01 .byte 0x1 + 4069 0ac1 64 .byte 0x64 + 4070 0ac2 69000000 .4byte 0x69 + 4071 0ac6 2A .uleb128 0x2a + 4072 0ac7 666E6400 .string "fnd" + 4073 0acb 01 .byte 0x1 + 4074 0acc 64 .byte 0x64 + 4075 0acd 69000000 .4byte 0x69 + 4076 0ad1 2B .uleb128 0x2b + 4077 0ad2 1C .uleb128 0x1c + 4078 0ad3 5B060000 .4byte 0x65b + 4079 0ad7 1C .uleb128 0x1c + BFIN GAS /tmp/ccPX33wG.s page 83 + + + 4080 0ad8 52060000 .4byte 0x652 + 4081 0adc 1C .uleb128 0x1c + 4082 0add 49060000 .4byte 0x649 + 4083 0ae1 00 .byte 0x0 + 4084 0ae2 00 .byte 0x0 + 4085 0ae3 16 .uleb128 0x16 + 4086 0ae4 A40A0000 .4byte 0xaa4 + 4087 0ae8 EC050000 .4byte .LFB17 + 4088 0aec 34070000 .4byte .LFE17 + 4089 0af0 EF050000 .4byte .LLST39 + 4090 0af4 2F0B0000 .4byte 0xb2f + 4091 0af8 17 .uleb128 0x17 + 4092 0af9 B20A0000 .4byte 0xab2 + 4093 0afd 0E060000 .4byte .LLST40 + 4094 0b01 2C .uleb128 0x2c + 4095 0b02 BD0A0000 .4byte 0xabd + 4096 0b06 58060000 .4byte .LLST41 + 4097 0b0a 2D .uleb128 0x2d + 4098 0b0b C60A0000 .4byte 0xac6 + 4099 0b0f 25 .uleb128 0x25 + 4100 0b10 FE050000 .4byte 0x5fe + 4101 0b14 A8060000 .4byte .LBB72 + 4102 0b18 C6060000 .4byte .LBE72 + 4103 0b1c 01 .byte 0x1 + 4104 0b1d 71 .byte 0x71 + 4105 0b1e 1C .uleb128 0x1c + 4106 0b1f 5B060000 .4byte 0x65b + 4107 0b23 1C .uleb128 0x1c + 4108 0b24 52060000 .4byte 0x652 + 4109 0b28 1C .uleb128 0x1c + 4110 0b29 49060000 .4byte 0x649 + 4111 0b2d 00 .byte 0x0 + 4112 0b2e 00 .byte 0x0 + 4113 0b2f 2E .uleb128 0x2e + 4114 0b30 01 .byte 0x1 + 4115 0b31 B6050000 .4byte .LASF147 + 4116 0b35 01 .byte 0x1 + 4117 0b36 78 .byte 0x78 + 4118 0b37 01 .byte 0x1 + 4119 0b38 34070000 .4byte .LFB18 + 4120 0b3c A8080000 .4byte .LFE18 + 4121 0b40 EF060000 .4byte .LLST42 + 4122 0b44 8D0B0000 .4byte 0xb8d + 4123 0b48 24 .uleb128 0x24 + 4124 0b49 A40A0000 .4byte 0xaa4 + 4125 0b4d 80000000 .4byte .Ldebug_ranges0+0x80 + 4126 0b51 01 .byte 0x1 + 4127 0b52 7B .byte 0x7b + 4128 0b53 1C .uleb128 0x1c + 4129 0b54 F80A0000 .4byte 0xaf8 + 4130 0b58 1F .uleb128 0x1f + 4131 0b59 A0000000 .4byte .Ldebug_ranges0+0xa0 + 4132 0b5d 2C .uleb128 0x2c + 4133 0b5e BD0A0000 .4byte 0xabd + 4134 0b62 0E070000 .4byte .LLST43 + 4135 0b66 2D .uleb128 0x2d + 4136 0b67 C60A0000 .4byte 0xac6 + BFIN GAS /tmp/ccPX33wG.s page 84 + + + 4137 0b6b 25 .uleb128 0x25 + 4138 0b6c FE050000 .4byte 0x5fe + 4139 0b70 38080000 .4byte .LBB81 + 4140 0b74 50080000 .4byte .LBE81 + 4141 0b78 01 .byte 0x1 + 4142 0b79 71 .byte 0x71 + 4143 0b7a 1C .uleb128 0x1c + 4144 0b7b 5B060000 .4byte 0x65b + 4145 0b7f 1C .uleb128 0x1c + 4146 0b80 52060000 .4byte 0x652 + 4147 0b84 1C .uleb128 0x1c + 4148 0b85 49060000 .4byte 0x649 + 4149 0b89 00 .byte 0x0 + 4150 0b8a 00 .byte 0x0 + 4151 0b8b 00 .byte 0x0 + 4152 0b8c 00 .byte 0x0 + 4153 0b8d 09 .uleb128 0x9 + 4154 0b8e 69000000 .4byte 0x69 + 4155 0b92 9D0B0000 .4byte 0xb9d + 4156 0b96 0F .uleb128 0xf + 4157 0b97 42020000 .4byte 0x242 + 4158 0b9b 05 .byte 0x5 + 4159 0b9c 00 .byte 0x0 + 4160 0b9d 2F .uleb128 0x2f + 4161 0b9e 59060000 .4byte .LASF134 + 4162 0ba2 01 .byte 0x1 + 4163 0ba3 2F .byte 0x2f + 4164 0ba4 AE0B0000 .4byte 0xbae + 4165 0ba8 05 .byte 0x5 + 4166 0ba9 03 .byte 0x3 + 4167 0baa F0010000 .4byte _f_regaddr_k + 4168 0bae 30 .uleb128 0x30 + 4169 0baf 8D0B0000 .4byte 0xb8d + 4170 0bb3 2F .uleb128 0x2f + 4171 0bb4 12050000 .4byte .LASF135 + 4172 0bb8 01 .byte 0x1 + 4173 0bb9 36 .byte 0x36 + 4174 0bba C40B0000 .4byte 0xbc4 + 4175 0bbe 05 .byte 0x5 + 4176 0bbf 03 .byte 0x3 + 4177 0bc0 08020000 .4byte _f_regaddr_offs + 4178 0bc4 30 .uleb128 0x30 + 4179 0bc5 8D0B0000 .4byte 0xb8d + 4180 0bc9 2F .uleb128 0x2f + 4181 0bca 8D080000 .4byte .LASF136 + 4182 0bce 01 .byte 0x1 + 4183 0bcf 3F .byte 0x3f + 4184 0bd0 DA0B0000 .4byte 0xbda + 4185 0bd4 05 .byte 0x5 + 4186 0bd5 03 .byte 0x3 + 4187 0bd6 00000000 .4byte _f_cmd_req + 4188 0bda 31 .uleb128 0x31 + 4189 0bdb 2C000000 .4byte 0x2c + 4190 0bdf 09 .uleb128 0x9 + 4191 0be0 C4050000 .4byte 0x5c4 + 4192 0be4 EF0B0000 .4byte 0xbef + 4193 0be8 0F .uleb128 0xf + BFIN GAS /tmp/ccPX33wG.s page 85 + + + 4194 0be9 42020000 .4byte 0x242 + 4195 0bed 0C .byte 0xc + 4196 0bee 00 .byte 0x0 + 4197 0bef 2F .uleb128 0x2f + 4198 0bf0 F6040000 .4byte .LASF137 + 4199 0bf4 01 .byte 0x1 + 4200 0bf5 44 .byte 0x44 + 4201 0bf6 000C0000 .4byte 0xc00 + 4202 0bfa 05 .byte 0x5 + 4203 0bfb 03 .byte 0x3 + 4204 0bfc 88010000 .4byte _f_cmd_tbl + 4205 0c00 30 .uleb128 0x30 + 4206 0c01 DF0B0000 .4byte 0xbdf + 4207 0c05 32 .uleb128 0x32 + 4208 0c06 3D040000 .4byte .LASF138 + 4209 0c0a 04 .byte 0x4 + 4210 0c0b 48 .byte 0x48 + 4211 0c0c 120C0000 .4byte 0xc12 + 4212 0c10 01 .byte 0x1 + 4213 0c11 01 .byte 0x1 + 4214 0c12 31 .uleb128 0x31 + 4215 0c13 84030000 .4byte 0x384 + 4216 0c17 32 .uleb128 0x32 + 4217 0c18 BD020000 .4byte .LASF139 + 4218 0c1c 07 .byte 0x7 + 4219 0c1d 28 .byte 0x28 + 4220 0c1e 240C0000 .4byte 0xc24 + 4221 0c22 01 .byte 0x1 + 4222 0c23 01 .byte 0x1 + 4223 0c24 31 .uleb128 0x31 + 4224 0c25 89000000 .4byte 0x89 + 4225 0c29 32 .uleb128 0x32 + 4226 0c2a 09070000 .4byte .LASF140 + 4227 0c2e 07 .byte 0x7 + 4228 0c2f 2A .byte 0x2a + 4229 0c30 89000000 .4byte 0x89 + 4230 0c34 01 .byte 0x1 + 4231 0c35 01 .byte 0x1 + 4232 0c36 32 .uleb128 0x32 + 4233 0c37 CB010000 .4byte .LASF141 + 4234 0c3b 06 .byte 0x6 + 4235 0c3c 3A .byte 0x3a + 4236 0c3d 8F050000 .4byte 0x58f + 4237 0c41 01 .byte 0x1 + 4238 0c42 01 .byte 0x1 + 4239 0c43 32 .uleb128 0x32 + 4240 0c44 AB030000 .4byte .LASF142 + 4241 0c48 06 .byte 0x6 + 4242 0c49 3C .byte 0x3c + 4243 0c4a 8A040000 .4byte 0x48a + 4244 0c4e 01 .byte 0x1 + 4245 0c4f 01 .byte 0x1 + 4246 0c50 00 .byte 0x0 + 4247 .section .debug_abbrev + 4248 0000 01 .uleb128 0x1 + 4249 0001 11 .uleb128 0x11 + 4250 0002 01 .byte 0x1 + BFIN GAS /tmp/ccPX33wG.s page 86 + + + 4251 0003 25 .uleb128 0x25 + 4252 0004 0E .uleb128 0xe + 4253 0005 13 .uleb128 0x13 + 4254 0006 0B .uleb128 0xb + 4255 0007 03 .uleb128 0x3 + 4256 0008 0E .uleb128 0xe + 4257 0009 1B .uleb128 0x1b + 4258 000a 0E .uleb128 0xe + 4259 000b 11 .uleb128 0x11 + 4260 000c 01 .uleb128 0x1 + 4261 000d 12 .uleb128 0x12 + 4262 000e 01 .uleb128 0x1 + 4263 000f 10 .uleb128 0x10 + 4264 0010 06 .uleb128 0x6 + 4265 0011 00 .byte 0x0 + 4266 0012 00 .byte 0x0 + 4267 0013 02 .uleb128 0x2 + 4268 0014 24 .uleb128 0x24 + 4269 0015 00 .byte 0x0 + 4270 0016 0B .uleb128 0xb + 4271 0017 0B .uleb128 0xb + 4272 0018 3E .uleb128 0x3e + 4273 0019 0B .uleb128 0xb + 4274 001a 03 .uleb128 0x3 + 4275 001b 0E .uleb128 0xe + 4276 001c 00 .byte 0x0 + 4277 001d 00 .byte 0x0 + 4278 001e 03 .uleb128 0x3 + 4279 001f 16 .uleb128 0x16 + 4280 0020 00 .byte 0x0 + 4281 0021 03 .uleb128 0x3 + 4282 0022 0E .uleb128 0xe + 4283 0023 3A .uleb128 0x3a + 4284 0024 0B .uleb128 0xb + 4285 0025 3B .uleb128 0x3b + 4286 0026 0B .uleb128 0xb + 4287 0027 49 .uleb128 0x49 + 4288 0028 13 .uleb128 0x13 + 4289 0029 00 .byte 0x0 + 4290 002a 00 .byte 0x0 + 4291 002b 04 .uleb128 0x4 + 4292 002c 24 .uleb128 0x24 + 4293 002d 00 .byte 0x0 + 4294 002e 0B .uleb128 0xb + 4295 002f 0B .uleb128 0xb + 4296 0030 3E .uleb128 0x3e + 4297 0031 0B .uleb128 0xb + 4298 0032 03 .uleb128 0x3 + 4299 0033 08 .uleb128 0x8 + 4300 0034 00 .byte 0x0 + 4301 0035 00 .byte 0x0 + 4302 0036 05 .uleb128 0x5 + 4303 0037 04 .uleb128 0x4 + 4304 0038 01 .byte 0x1 + 4305 0039 0B .uleb128 0xb + 4306 003a 0B .uleb128 0xb + 4307 003b 3A .uleb128 0x3a + BFIN GAS /tmp/ccPX33wG.s page 87 + + + 4308 003c 0B .uleb128 0xb + 4309 003d 3B .uleb128 0x3b + 4310 003e 0B .uleb128 0xb + 4311 003f 01 .uleb128 0x1 + 4312 0040 13 .uleb128 0x13 + 4313 0041 00 .byte 0x0 + 4314 0042 00 .byte 0x0 + 4315 0043 06 .uleb128 0x6 + 4316 0044 28 .uleb128 0x28 + 4317 0045 00 .byte 0x0 + 4318 0046 03 .uleb128 0x3 + 4319 0047 0E .uleb128 0xe + 4320 0048 1C .uleb128 0x1c + 4321 0049 0D .uleb128 0xd + 4322 004a 00 .byte 0x0 + 4323 004b 00 .byte 0x0 + 4324 004c 07 .uleb128 0x7 + 4325 004d 13 .uleb128 0x13 + 4326 004e 01 .byte 0x1 + 4327 004f 0B .uleb128 0xb + 4328 0050 05 .uleb128 0x5 + 4329 0051 3A .uleb128 0x3a + 4330 0052 0B .uleb128 0xb + 4331 0053 3B .uleb128 0x3b + 4332 0054 0B .uleb128 0xb + 4333 0055 01 .uleb128 0x1 + 4334 0056 13 .uleb128 0x13 + 4335 0057 00 .byte 0x0 + 4336 0058 00 .byte 0x0 + 4337 0059 08 .uleb128 0x8 + 4338 005a 0D .uleb128 0xd + 4339 005b 00 .byte 0x0 + 4340 005c 03 .uleb128 0x3 + 4341 005d 0E .uleb128 0xe + 4342 005e 3A .uleb128 0x3a + 4343 005f 0B .uleb128 0xb + 4344 0060 3B .uleb128 0x3b + 4345 0061 0B .uleb128 0xb + 4346 0062 49 .uleb128 0x49 + 4347 0063 13 .uleb128 0x13 + 4348 0064 38 .uleb128 0x38 + 4349 0065 0A .uleb128 0xa + 4350 0066 00 .byte 0x0 + 4351 0067 00 .byte 0x0 + 4352 0068 09 .uleb128 0x9 + 4353 0069 01 .uleb128 0x1 + 4354 006a 01 .byte 0x1 + 4355 006b 49 .uleb128 0x49 + 4356 006c 13 .uleb128 0x13 + 4357 006d 01 .uleb128 0x1 + 4358 006e 13 .uleb128 0x13 + 4359 006f 00 .byte 0x0 + 4360 0070 00 .byte 0x0 + 4361 0071 0A .uleb128 0xa + 4362 0072 21 .uleb128 0x21 + 4363 0073 00 .byte 0x0 + 4364 0074 49 .uleb128 0x49 + BFIN GAS /tmp/ccPX33wG.s page 88 + + + 4365 0075 13 .uleb128 0x13 + 4366 0076 2F .uleb128 0x2f + 4367 0077 05 .uleb128 0x5 + 4368 0078 00 .byte 0x0 + 4369 0079 00 .byte 0x0 + 4370 007a 0B .uleb128 0xb + 4371 007b 24 .uleb128 0x24 + 4372 007c 00 .byte 0x0 + 4373 007d 0B .uleb128 0xb + 4374 007e 0B .uleb128 0xb + 4375 007f 3E .uleb128 0x3e + 4376 0080 0B .uleb128 0xb + 4377 0081 00 .byte 0x0 + 4378 0082 00 .byte 0x0 + 4379 0083 0C .uleb128 0xc + 4380 0084 13 .uleb128 0x13 + 4381 0085 01 .byte 0x1 + 4382 0086 0B .uleb128 0xb + 4383 0087 0B .uleb128 0xb + 4384 0088 3A .uleb128 0x3a + 4385 0089 0B .uleb128 0xb + 4386 008a 3B .uleb128 0x3b + 4387 008b 0B .uleb128 0xb + 4388 008c 01 .uleb128 0x1 + 4389 008d 13 .uleb128 0x13 + 4390 008e 00 .byte 0x0 + 4391 008f 00 .byte 0x0 + 4392 0090 0D .uleb128 0xd + 4393 0091 0D .uleb128 0xd + 4394 0092 00 .byte 0x0 + 4395 0093 03 .uleb128 0x3 + 4396 0094 08 .uleb128 0x8 + 4397 0095 3A .uleb128 0x3a + 4398 0096 0B .uleb128 0xb + 4399 0097 3B .uleb128 0x3b + 4400 0098 0B .uleb128 0xb + 4401 0099 49 .uleb128 0x49 + 4402 009a 13 .uleb128 0x13 + 4403 009b 38 .uleb128 0x38 + 4404 009c 0A .uleb128 0xa + 4405 009d 00 .byte 0x0 + 4406 009e 00 .byte 0x0 + 4407 009f 0E .uleb128 0xe + 4408 00a0 0F .uleb128 0xf + 4409 00a1 00 .byte 0x0 + 4410 00a2 0B .uleb128 0xb + 4411 00a3 0B .uleb128 0xb + 4412 00a4 00 .byte 0x0 + 4413 00a5 00 .byte 0x0 + 4414 00a6 0F .uleb128 0xf + 4415 00a7 21 .uleb128 0x21 + 4416 00a8 00 .byte 0x0 + 4417 00a9 49 .uleb128 0x49 + 4418 00aa 13 .uleb128 0x13 + 4419 00ab 2F .uleb128 0x2f + 4420 00ac 0B .uleb128 0xb + 4421 00ad 00 .byte 0x0 + BFIN GAS /tmp/ccPX33wG.s page 89 + + + 4422 00ae 00 .byte 0x0 + 4423 00af 10 .uleb128 0x10 + 4424 00b0 0F .uleb128 0xf + 4425 00b1 00 .byte 0x0 + 4426 00b2 0B .uleb128 0xb + 4427 00b3 0B .uleb128 0xb + 4428 00b4 49 .uleb128 0x49 + 4429 00b5 13 .uleb128 0x13 + 4430 00b6 00 .byte 0x0 + 4431 00b7 00 .byte 0x0 + 4432 00b8 11 .uleb128 0x11 + 4433 00b9 15 .uleb128 0x15 + 4434 00ba 01 .byte 0x1 + 4435 00bb 27 .uleb128 0x27 + 4436 00bc 0C .uleb128 0xc + 4437 00bd 01 .uleb128 0x1 + 4438 00be 13 .uleb128 0x13 + 4439 00bf 00 .byte 0x0 + 4440 00c0 00 .byte 0x0 + 4441 00c1 12 .uleb128 0x12 + 4442 00c2 05 .uleb128 0x5 + 4443 00c3 00 .byte 0x0 + 4444 00c4 49 .uleb128 0x49 + 4445 00c5 13 .uleb128 0x13 + 4446 00c6 00 .byte 0x0 + 4447 00c7 00 .byte 0x0 + 4448 00c8 13 .uleb128 0x13 + 4449 00c9 2E .uleb128 0x2e + 4450 00ca 00 .byte 0x0 + 4451 00cb 3F .uleb128 0x3f + 4452 00cc 0C .uleb128 0xc + 4453 00cd 03 .uleb128 0x3 + 4454 00ce 0E .uleb128 0xe + 4455 00cf 3A .uleb128 0x3a + 4456 00d0 0B .uleb128 0xb + 4457 00d1 3B .uleb128 0x3b + 4458 00d2 0B .uleb128 0xb + 4459 00d3 27 .uleb128 0x27 + 4460 00d4 0C .uleb128 0xc + 4461 00d5 11 .uleb128 0x11 + 4462 00d6 01 .uleb128 0x1 + 4463 00d7 12 .uleb128 0x12 + 4464 00d8 01 .uleb128 0x1 + 4465 00d9 40 .uleb128 0x40 + 4466 00da 06 .uleb128 0x6 + 4467 00db 00 .byte 0x0 + 4468 00dc 00 .byte 0x0 + 4469 00dd 14 .uleb128 0x14 + 4470 00de 2E .uleb128 0x2e + 4471 00df 01 .byte 0x1 + 4472 00e0 3F .uleb128 0x3f + 4473 00e1 0C .uleb128 0xc + 4474 00e2 03 .uleb128 0x3 + 4475 00e3 0E .uleb128 0xe + 4476 00e4 3A .uleb128 0x3a + 4477 00e5 0B .uleb128 0xb + 4478 00e6 3B .uleb128 0x3b + BFIN GAS /tmp/ccPX33wG.s page 90 + + + 4479 00e7 0B .uleb128 0xb + 4480 00e8 27 .uleb128 0x27 + 4481 00e9 0C .uleb128 0xc + 4482 00ea 20 .uleb128 0x20 + 4483 00eb 0B .uleb128 0xb + 4484 00ec 01 .uleb128 0x1 + 4485 00ed 13 .uleb128 0x13 + 4486 00ee 00 .byte 0x0 + 4487 00ef 00 .byte 0x0 + 4488 00f0 15 .uleb128 0x15 + 4489 00f1 05 .uleb128 0x5 + 4490 00f2 00 .byte 0x0 + 4491 00f3 03 .uleb128 0x3 + 4492 00f4 0E .uleb128 0xe + 4493 00f5 3A .uleb128 0x3a + 4494 00f6 0B .uleb128 0xb + 4495 00f7 3B .uleb128 0x3b + 4496 00f8 0B .uleb128 0xb + 4497 00f9 49 .uleb128 0x49 + 4498 00fa 13 .uleb128 0x13 + 4499 00fb 00 .byte 0x0 + 4500 00fc 00 .byte 0x0 + 4501 00fd 16 .uleb128 0x16 + 4502 00fe 2E .uleb128 0x2e + 4503 00ff 01 .byte 0x1 + 4504 0100 31 .uleb128 0x31 + 4505 0101 13 .uleb128 0x13 + 4506 0102 11 .uleb128 0x11 + 4507 0103 01 .uleb128 0x1 + 4508 0104 12 .uleb128 0x12 + 4509 0105 01 .uleb128 0x1 + 4510 0106 40 .uleb128 0x40 + 4511 0107 06 .uleb128 0x6 + 4512 0108 01 .uleb128 0x1 + 4513 0109 13 .uleb128 0x13 + 4514 010a 00 .byte 0x0 + 4515 010b 00 .byte 0x0 + 4516 010c 17 .uleb128 0x17 + 4517 010d 05 .uleb128 0x5 + 4518 010e 00 .byte 0x0 + 4519 010f 31 .uleb128 0x31 + 4520 0110 13 .uleb128 0x13 + 4521 0111 02 .uleb128 0x2 + 4522 0112 06 .uleb128 0x6 + 4523 0113 00 .byte 0x0 + 4524 0114 00 .byte 0x0 + 4525 0115 18 .uleb128 0x18 + 4526 0116 2E .uleb128 0x2e + 4527 0117 01 .byte 0x1 + 4528 0118 03 .uleb128 0x3 + 4529 0119 0E .uleb128 0xe + 4530 011a 3A .uleb128 0x3a + 4531 011b 0B .uleb128 0xb + 4532 011c 3B .uleb128 0x3b + 4533 011d 0B .uleb128 0xb + 4534 011e 27 .uleb128 0x27 + 4535 011f 0C .uleb128 0xc + BFIN GAS /tmp/ccPX33wG.s page 91 + + + 4536 0120 11 .uleb128 0x11 + 4537 0121 01 .uleb128 0x1 + 4538 0122 12 .uleb128 0x12 + 4539 0123 01 .uleb128 0x1 + 4540 0124 40 .uleb128 0x40 + 4541 0125 06 .uleb128 0x6 + 4542 0126 01 .uleb128 0x1 + 4543 0127 13 .uleb128 0x13 + 4544 0128 00 .byte 0x0 + 4545 0129 00 .byte 0x0 + 4546 012a 19 .uleb128 0x19 + 4547 012b 05 .uleb128 0x5 + 4548 012c 00 .byte 0x0 + 4549 012d 03 .uleb128 0x3 + 4550 012e 08 .uleb128 0x8 + 4551 012f 3A .uleb128 0x3a + 4552 0130 0B .uleb128 0xb + 4553 0131 3B .uleb128 0x3b + 4554 0132 0B .uleb128 0xb + 4555 0133 49 .uleb128 0x49 + 4556 0134 13 .uleb128 0x13 + 4557 0135 02 .uleb128 0x2 + 4558 0136 06 .uleb128 0x6 + 4559 0137 00 .byte 0x0 + 4560 0138 00 .byte 0x0 + 4561 0139 1A .uleb128 0x1a + 4562 013a 34 .uleb128 0x34 + 4563 013b 00 .byte 0x0 + 4564 013c 03 .uleb128 0x3 + 4565 013d 08 .uleb128 0x8 + 4566 013e 3A .uleb128 0x3a + 4567 013f 0B .uleb128 0xb + 4568 0140 3B .uleb128 0x3b + 4569 0141 0B .uleb128 0xb + 4570 0142 49 .uleb128 0x49 + 4571 0143 13 .uleb128 0x13 + 4572 0144 02 .uleb128 0x2 + 4573 0145 06 .uleb128 0x6 + 4574 0146 00 .byte 0x0 + 4575 0147 00 .byte 0x0 + 4576 0148 1B .uleb128 0x1b + 4577 0149 1D .uleb128 0x1d + 4578 014a 01 .byte 0x1 + 4579 014b 31 .uleb128 0x31 + 4580 014c 13 .uleb128 0x13 + 4581 014d 11 .uleb128 0x11 + 4582 014e 01 .uleb128 0x1 + 4583 014f 12 .uleb128 0x12 + 4584 0150 01 .uleb128 0x1 + 4585 0151 58 .uleb128 0x58 + 4586 0152 0B .uleb128 0xb + 4587 0153 59 .uleb128 0x59 + 4588 0154 05 .uleb128 0x5 + 4589 0155 01 .uleb128 0x1 + 4590 0156 13 .uleb128 0x13 + 4591 0157 00 .byte 0x0 + 4592 0158 00 .byte 0x0 + BFIN GAS /tmp/ccPX33wG.s page 92 + + + 4593 0159 1C .uleb128 0x1c + 4594 015a 05 .uleb128 0x5 + 4595 015b 00 .byte 0x0 + 4596 015c 31 .uleb128 0x31 + 4597 015d 13 .uleb128 0x13 + 4598 015e 00 .byte 0x0 + 4599 015f 00 .byte 0x0 + 4600 0160 1D .uleb128 0x1d + 4601 0161 0B .uleb128 0xb + 4602 0162 01 .byte 0x1 + 4603 0163 55 .uleb128 0x55 + 4604 0164 06 .uleb128 0x6 + 4605 0165 01 .uleb128 0x1 + 4606 0166 13 .uleb128 0x13 + 4607 0167 00 .byte 0x0 + 4608 0168 00 .byte 0x0 + 4609 0169 1E .uleb128 0x1e + 4610 016a 34 .uleb128 0x34 + 4611 016b 00 .byte 0x0 + 4612 016c 03 .uleb128 0x3 + 4613 016d 08 .uleb128 0x8 + 4614 016e 3A .uleb128 0x3a + 4615 016f 0B .uleb128 0xb + 4616 0170 3B .uleb128 0x3b + 4617 0171 05 .uleb128 0x5 + 4618 0172 49 .uleb128 0x49 + 4619 0173 13 .uleb128 0x13 + 4620 0174 02 .uleb128 0x2 + 4621 0175 06 .uleb128 0x6 + 4622 0176 00 .byte 0x0 + 4623 0177 00 .byte 0x0 + 4624 0178 1F .uleb128 0x1f + 4625 0179 0B .uleb128 0xb + 4626 017a 01 .byte 0x1 + 4627 017b 55 .uleb128 0x55 + 4628 017c 06 .uleb128 0x6 + 4629 017d 00 .byte 0x0 + 4630 017e 00 .byte 0x0 + 4631 017f 20 .uleb128 0x20 + 4632 0180 34 .uleb128 0x34 + 4633 0181 00 .byte 0x0 + 4634 0182 03 .uleb128 0x3 + 4635 0183 08 .uleb128 0x8 + 4636 0184 3A .uleb128 0x3a + 4637 0185 0B .uleb128 0xb + 4638 0186 3B .uleb128 0x3b + 4639 0187 05 .uleb128 0x5 + 4640 0188 49 .uleb128 0x49 + 4641 0189 13 .uleb128 0x13 + 4642 018a 00 .byte 0x0 + 4643 018b 00 .byte 0x0 + 4644 018c 21 .uleb128 0x21 + 4645 018d 0B .uleb128 0xb + 4646 018e 01 .byte 0x1 + 4647 018f 11 .uleb128 0x11 + 4648 0190 01 .uleb128 0x1 + 4649 0191 12 .uleb128 0x12 + BFIN GAS /tmp/ccPX33wG.s page 93 + + + 4650 0192 01 .uleb128 0x1 + 4651 0193 00 .byte 0x0 + 4652 0194 00 .byte 0x0 + 4653 0195 22 .uleb128 0x22 + 4654 0196 34 .uleb128 0x34 + 4655 0197 00 .byte 0x0 + 4656 0198 03 .uleb128 0x3 + 4657 0199 0E .uleb128 0xe + 4658 019a 3A .uleb128 0x3a + 4659 019b 0B .uleb128 0xb + 4660 019c 3B .uleb128 0x3b + 4661 019d 05 .uleb128 0x5 + 4662 019e 49 .uleb128 0x49 + 4663 019f 13 .uleb128 0x13 + 4664 01a0 02 .uleb128 0x2 + 4665 01a1 06 .uleb128 0x6 + 4666 01a2 00 .byte 0x0 + 4667 01a3 00 .byte 0x0 + 4668 01a4 23 .uleb128 0x23 + 4669 01a5 34 .uleb128 0x34 + 4670 01a6 00 .byte 0x0 + 4671 01a7 03 .uleb128 0x3 + 4672 01a8 08 .uleb128 0x8 + 4673 01a9 3A .uleb128 0x3a + 4674 01aa 0B .uleb128 0xb + 4675 01ab 3B .uleb128 0x3b + 4676 01ac 0B .uleb128 0xb + 4677 01ad 49 .uleb128 0x49 + 4678 01ae 13 .uleb128 0x13 + 4679 01af 02 .uleb128 0x2 + 4680 01b0 0A .uleb128 0xa + 4681 01b1 00 .byte 0x0 + 4682 01b2 00 .byte 0x0 + 4683 01b3 24 .uleb128 0x24 + 4684 01b4 1D .uleb128 0x1d + 4685 01b5 01 .byte 0x1 + 4686 01b6 31 .uleb128 0x31 + 4687 01b7 13 .uleb128 0x13 + 4688 01b8 55 .uleb128 0x55 + 4689 01b9 06 .uleb128 0x6 + 4690 01ba 58 .uleb128 0x58 + 4691 01bb 0B .uleb128 0xb + 4692 01bc 59 .uleb128 0x59 + 4693 01bd 0B .uleb128 0xb + 4694 01be 00 .byte 0x0 + 4695 01bf 00 .byte 0x0 + 4696 01c0 25 .uleb128 0x25 + 4697 01c1 1D .uleb128 0x1d + 4698 01c2 01 .byte 0x1 + 4699 01c3 31 .uleb128 0x31 + 4700 01c4 13 .uleb128 0x13 + 4701 01c5 11 .uleb128 0x11 + 4702 01c6 01 .uleb128 0x1 + 4703 01c7 12 .uleb128 0x12 + 4704 01c8 01 .uleb128 0x1 + 4705 01c9 58 .uleb128 0x58 + 4706 01ca 0B .uleb128 0xb + BFIN GAS /tmp/ccPX33wG.s page 94 + + + 4707 01cb 59 .uleb128 0x59 + 4708 01cc 0B .uleb128 0xb + 4709 01cd 00 .byte 0x0 + 4710 01ce 00 .byte 0x0 + 4711 01cf 26 .uleb128 0x26 + 4712 01d0 2E .uleb128 0x2e + 4713 01d1 01 .byte 0x1 + 4714 01d2 03 .uleb128 0x3 + 4715 01d3 0E .uleb128 0xe + 4716 01d4 3A .uleb128 0x3a + 4717 01d5 0B .uleb128 0xb + 4718 01d6 3B .uleb128 0x3b + 4719 01d7 05 .uleb128 0x5 + 4720 01d8 27 .uleb128 0x27 + 4721 01d9 0C .uleb128 0xc + 4722 01da 11 .uleb128 0x11 + 4723 01db 01 .uleb128 0x1 + 4724 01dc 12 .uleb128 0x12 + 4725 01dd 01 .uleb128 0x1 + 4726 01de 40 .uleb128 0x40 + 4727 01df 06 .uleb128 0x6 + 4728 01e0 01 .uleb128 0x1 + 4729 01e1 13 .uleb128 0x13 + 4730 01e2 00 .byte 0x0 + 4731 01e3 00 .byte 0x0 + 4732 01e4 27 .uleb128 0x27 + 4733 01e5 05 .uleb128 0x5 + 4734 01e6 00 .byte 0x0 + 4735 01e7 03 .uleb128 0x3 + 4736 01e8 08 .uleb128 0x8 + 4737 01e9 3A .uleb128 0x3a + 4738 01ea 0B .uleb128 0xb + 4739 01eb 3B .uleb128 0x3b + 4740 01ec 05 .uleb128 0x5 + 4741 01ed 49 .uleb128 0x49 + 4742 01ee 13 .uleb128 0x13 + 4743 01ef 02 .uleb128 0x2 + 4744 01f0 06 .uleb128 0x6 + 4745 01f1 00 .byte 0x0 + 4746 01f2 00 .byte 0x0 + 4747 01f3 28 .uleb128 0x28 + 4748 01f4 1D .uleb128 0x1d + 4749 01f5 01 .byte 0x1 + 4750 01f6 31 .uleb128 0x31 + 4751 01f7 13 .uleb128 0x13 + 4752 01f8 55 .uleb128 0x55 + 4753 01f9 06 .uleb128 0x6 + 4754 01fa 58 .uleb128 0x58 + 4755 01fb 0B .uleb128 0xb + 4756 01fc 59 .uleb128 0x59 + 4757 01fd 05 .uleb128 0x5 + 4758 01fe 01 .uleb128 0x1 + 4759 01ff 13 .uleb128 0x13 + 4760 0200 00 .byte 0x0 + 4761 0201 00 .byte 0x0 + 4762 0202 29 .uleb128 0x29 + 4763 0203 05 .uleb128 0x5 + BFIN GAS /tmp/ccPX33wG.s page 95 + + + 4764 0204 00 .byte 0x0 + 4765 0205 03 .uleb128 0x3 + 4766 0206 08 .uleb128 0x8 + 4767 0207 3A .uleb128 0x3a + 4768 0208 0B .uleb128 0xb + 4769 0209 3B .uleb128 0x3b + 4770 020a 0B .uleb128 0xb + 4771 020b 49 .uleb128 0x49 + 4772 020c 13 .uleb128 0x13 + 4773 020d 00 .byte 0x0 + 4774 020e 00 .byte 0x0 + 4775 020f 2A .uleb128 0x2a + 4776 0210 34 .uleb128 0x34 + 4777 0211 00 .byte 0x0 + 4778 0212 03 .uleb128 0x3 + 4779 0213 08 .uleb128 0x8 + 4780 0214 3A .uleb128 0x3a + 4781 0215 0B .uleb128 0xb + 4782 0216 3B .uleb128 0x3b + 4783 0217 0B .uleb128 0xb + 4784 0218 49 .uleb128 0x49 + 4785 0219 13 .uleb128 0x13 + 4786 021a 00 .byte 0x0 + 4787 021b 00 .byte 0x0 + 4788 021c 2B .uleb128 0x2b + 4789 021d 0B .uleb128 0xb + 4790 021e 01 .byte 0x1 + 4791 021f 00 .byte 0x0 + 4792 0220 00 .byte 0x0 + 4793 0221 2C .uleb128 0x2c + 4794 0222 34 .uleb128 0x34 + 4795 0223 00 .byte 0x0 + 4796 0224 31 .uleb128 0x31 + 4797 0225 13 .uleb128 0x13 + 4798 0226 02 .uleb128 0x2 + 4799 0227 06 .uleb128 0x6 + 4800 0228 00 .byte 0x0 + 4801 0229 00 .byte 0x0 + 4802 022a 2D .uleb128 0x2d + 4803 022b 34 .uleb128 0x34 + 4804 022c 00 .byte 0x0 + 4805 022d 31 .uleb128 0x31 + 4806 022e 13 .uleb128 0x13 + 4807 022f 00 .byte 0x0 + 4808 0230 00 .byte 0x0 + 4809 0231 2E .uleb128 0x2e + 4810 0232 2E .uleb128 0x2e + 4811 0233 01 .byte 0x1 + 4812 0234 3F .uleb128 0x3f + 4813 0235 0C .uleb128 0xc + 4814 0236 03 .uleb128 0x3 + 4815 0237 0E .uleb128 0xe + 4816 0238 3A .uleb128 0x3a + 4817 0239 0B .uleb128 0xb + 4818 023a 3B .uleb128 0x3b + 4819 023b 0B .uleb128 0xb + 4820 023c 27 .uleb128 0x27 + BFIN GAS /tmp/ccPX33wG.s page 96 + + + 4821 023d 0C .uleb128 0xc + 4822 023e 11 .uleb128 0x11 + 4823 023f 01 .uleb128 0x1 + 4824 0240 12 .uleb128 0x12 + 4825 0241 01 .uleb128 0x1 + 4826 0242 40 .uleb128 0x40 + 4827 0243 06 .uleb128 0x6 + 4828 0244 01 .uleb128 0x1 + 4829 0245 13 .uleb128 0x13 + 4830 0246 00 .byte 0x0 + 4831 0247 00 .byte 0x0 + 4832 0248 2F .uleb128 0x2f + 4833 0249 34 .uleb128 0x34 + 4834 024a 00 .byte 0x0 + 4835 024b 03 .uleb128 0x3 + 4836 024c 0E .uleb128 0xe + 4837 024d 3A .uleb128 0x3a + 4838 024e 0B .uleb128 0xb + 4839 024f 3B .uleb128 0x3b + 4840 0250 0B .uleb128 0xb + 4841 0251 49 .uleb128 0x49 + 4842 0252 13 .uleb128 0x13 + 4843 0253 02 .uleb128 0x2 + 4844 0254 0A .uleb128 0xa + 4845 0255 00 .byte 0x0 + 4846 0256 00 .byte 0x0 + 4847 0257 30 .uleb128 0x30 + 4848 0258 26 .uleb128 0x26 + 4849 0259 00 .byte 0x0 + 4850 025a 49 .uleb128 0x49 + 4851 025b 13 .uleb128 0x13 + 4852 025c 00 .byte 0x0 + 4853 025d 00 .byte 0x0 + 4854 025e 31 .uleb128 0x31 + 4855 025f 35 .uleb128 0x35 + 4856 0260 00 .byte 0x0 + 4857 0261 49 .uleb128 0x49 + 4858 0262 13 .uleb128 0x13 + 4859 0263 00 .byte 0x0 + 4860 0264 00 .byte 0x0 + 4861 0265 32 .uleb128 0x32 + 4862 0266 34 .uleb128 0x34 + 4863 0267 00 .byte 0x0 + 4864 0268 03 .uleb128 0x3 + 4865 0269 0E .uleb128 0xe + 4866 026a 3A .uleb128 0x3a + 4867 026b 0B .uleb128 0xb + 4868 026c 3B .uleb128 0x3b + 4869 026d 0B .uleb128 0xb + 4870 026e 49 .uleb128 0x49 + 4871 026f 13 .uleb128 0x13 + 4872 0270 3F .uleb128 0x3f + 4873 0271 0C .uleb128 0xc + 4874 0272 3C .uleb128 0x3c + 4875 0273 0C .uleb128 0xc + 4876 0274 00 .byte 0x0 + 4877 0275 00 .byte 0x0 + BFIN GAS /tmp/ccPX33wG.s page 97 + + + 4878 0276 00 .byte 0x0 + 4879 .section .debug_pubnames,"",@progbits + 4880 0000 5F000000 .4byte 0x5f + 4881 0004 0200 .2byte 0x2 + 4882 0006 00000000 .4byte .Ldebug_info0 + 4883 000a 510C0000 .4byte 0xc51 + 4884 000e E9050000 .4byte 0x5e9 + 4885 0012 6C353032 .string "l502_cmd_set_req" + 4885 5F636D64 + 4885 5F736574 + 4885 5F726571 + 4885 00 + 4886 0023 34060000 .4byte 0x634 + 4887 0027 6C353032 .string "l502_cmd_done" + 4887 5F636D64 + 4887 5F646F6E + 4887 6500 + 4888 0035 E30A0000 .4byte 0xae3 + 4889 0039 6C353032 .string "l502_cmd_start" + 4889 5F636D64 + 4889 5F737461 + 4889 727400 + 4890 0048 2F0B0000 .4byte 0xb2f + 4891 004c 6C353032 .string "l502_cmd_check_req" + 4891 5F636D64 + 4891 5F636865 + 4891 636B5F72 + 4891 657100 + 4892 005f 00000000 .4byte 0x0 + 4893 .section .debug_aranges,"",@progbits + 4894 0000 1C000000 .4byte 0x1c + 4895 0004 0200 .2byte 0x2 + 4896 0006 00000000 .4byte .Ldebug_info0 + 4897 000a 04 .byte 0x4 + 4898 000b 00 .byte 0x0 + 4899 000c 0000 .2byte 0x0 + 4900 000e 0000 .2byte 0x0 + 4901 0010 00000000 .4byte .Ltext0 + 4902 0014 A8080000 .4byte .Letext0-.Ltext0 + 4903 0018 00000000 .4byte 0x0 + 4904 001c 00000000 .4byte 0x0 + 4905 .section .debug_ranges,"",@progbits + 4906 .Ldebug_ranges0: + 4907 0000 A8000000 .4byte .LBB9-.Ltext0 + 4908 0004 AE000000 .4byte .LBE9-.Ltext0 + 4909 0008 EE000000 .4byte .LBB14-.Ltext0 + 4910 000c 1A010000 .4byte .LBE14-.Ltext0 + 4911 0010 B8000000 .4byte .LBB13-.Ltext0 + 4912 0014 BE000000 .4byte .LBE13-.Ltext0 + 4913 0018 00000000 .4byte 0x0 + 4914 001c 00000000 .4byte 0x0 + 4915 0020 A8000000 .4byte .LBB11-.Ltext0 + 4916 0024 AE000000 .4byte .LBE11-.Ltext0 + 4917 0028 F4000000 .4byte .LBB12-.Ltext0 + 4918 002c 1A010000 .4byte .LBE12-.Ltext0 + 4919 0030 B8000000 .4byte .LBB10-.Ltext0 + 4920 0034 BE000000 .4byte .LBE10-.Ltext0 + BFIN GAS /tmp/ccPX33wG.s page 98 + + + 4921 0038 00000000 .4byte 0x0 + 4922 003c 00000000 .4byte 0x0 + 4923 0040 EE010000 .4byte .LBB18-.Ltext0 + 4924 0044 12020000 .4byte .LBE18-.Ltext0 + 4925 0048 14020000 .4byte .LBB21-.Ltext0 + 4926 004c 1C020000 .4byte .LBE21-.Ltext0 + 4927 0050 00000000 .4byte 0x0 + 4928 0054 00000000 .4byte 0x0 + 4929 0058 58040000 .4byte .LBB61-.Ltext0 + 4930 005c 76040000 .4byte .LBE61-.Ltext0 + 4931 0060 E4050000 .4byte .LBB69-.Ltext0 + 4932 0064 EA050000 .4byte .LBE69-.Ltext0 + 4933 0068 AE040000 .4byte .LBB67-.Ltext0 + 4934 006c C6040000 .4byte .LBE67-.Ltext0 + 4935 0070 9A040000 .4byte .LBB66-.Ltext0 + 4936 0074 AC040000 .4byte .LBE66-.Ltext0 + 4937 0078 00000000 .4byte 0x0 + 4938 007c 00000000 .4byte 0x0 + 4939 0080 52070000 .4byte .LBB78-.Ltext0 + 4940 0084 5E080000 .4byte .LBE78-.Ltext0 + 4941 0088 78080000 .4byte .LBB85-.Ltext0 + 4942 008c A8080000 .4byte .LBE85-.Ltext0 + 4943 0090 62080000 .4byte .LBB84-.Ltext0 + 4944 0094 74080000 .4byte .LBE84-.Ltext0 + 4945 0098 00000000 .4byte 0x0 + 4946 009c 00000000 .4byte 0x0 + 4947 00a0 52070000 .4byte .LBB80-.Ltext0 + 4948 00a4 5E080000 .4byte .LBE80-.Ltext0 + 4949 00a8 78080000 .4byte .LBB83-.Ltext0 + 4950 00ac A8080000 .4byte .LBE83-.Ltext0 + 4951 00b0 62080000 .4byte .LBB79-.Ltext0 + 4952 00b4 74080000 .4byte .LBE79-.Ltext0 + 4953 00b8 00000000 .4byte 0x0 + 4954 00bc 00000000 .4byte 0x0 + 4955 .section .debug_str,"MS",@progbits,1 + 4956 .LASF85: + 4957 0000 4C353032 .string "L502_LCH_MODE_ZERO" + 4957 5F4C4348 + 4957 5F4D4F44 + 4957 455F5A45 + 4957 524F00 + 4958 .LASF20: + 4959 0013 4C353032 .string "L502_BF_PARAM_MODULE_INFO" + 4959 5F42465F + 4959 50415241 + 4959 4D5F4D4F + 4959 44554C45 + 4960 .LASF91: + 4961 002d 4C353032 .string "L502_SYNC_DI_SYN2_FALL" + 4961 5F53594E + 4961 435F4449 + 4961 5F53594E + 4961 325F4641 + 4962 .LASF86: + 4963 0044 4C353032 .string "L502_SYNC_INTERNAL" + 4963 5F53594E + 4963 435F494E + BFIN GAS /tmp/ccPX33wG.s page 99 + + + 4963 5445524E + 4963 414C00 + 4964 .LASF41: + 4965 0057 4C353032 .string "L502_BF_ERR_UNSUP_CMD" + 4965 5F42465F + 4965 4552525F + 4965 554E5355 + 4965 505F434D + 4966 .LASF107: + 4967 006d 6164635F .string "adc_frame_delay" + 4967 6672616D + 4967 655F6465 + 4967 6C617900 + 4968 .LASF30: + 4969 007d 4C353032 .string "L502_BF_PARAM_ADC_COEF" + 4969 5F42465F + 4969 50415241 + 4969 4D5F4144 + 4969 435F434F + 4970 .LASF61: + 4971 0094 666C6167 .string "flags" + 4971 7300 + 4972 .LASF32: + 4973 009a 4C353032 .string "L502_BF_PARAM_DIN_FREQ_DIV" + 4973 5F42465F + 4973 50415241 + 4973 4D5F4449 + 4973 4E5F4652 + 4974 .LASF146: + 4975 00b5 6C353032 .string "l502_cmd_set_req" + 4975 5F636D64 + 4975 5F736574 + 4975 5F726571 + 4975 00 + 4976 .LASF12: + 4977 00c6 756E7369 .string "unsigned int" + 4977 676E6564 + 4977 20696E74 + 4977 00 + 4978 .LASF125: + 4979 00d3 665F636D .string "f_cmd_preload" + 4979 645F7072 + 4979 656C6F61 + 4979 6400 + 4980 .LASF144: + 4981 00e1 7372632F .string "src/l502_cmd.c" + 4981 6C353032 + 4981 5F636D64 + 4981 2E6300 + 4982 .LASF80: + 4983 00f0 4C353032 .string "L502_ADC_RANGE_1" + 4983 5F414443 + 4983 5F52414E + 4983 47455F31 + 4983 00 + 4984 .LASF79: + 4985 0101 4C353032 .string "L502_ADC_RANGE_2" + BFIN GAS /tmp/ccPX33wG.s page 100 + + + 4985 5F414443 + 4985 5F52414E + 4985 47455F32 + 4985 00 + 4986 .LASF78: + 4987 0112 4C353032 .string "L502_ADC_RANGE_5" + 4987 5F414443 + 4987 5F52414E + 4987 47455F35 + 4987 00 + 4988 .LASF84: + 4989 0123 4C353032 .string "L502_LCH_MODE_DIFF" + 4989 5F4C4348 + 4989 5F4D4F44 + 4989 455F4449 + 4989 464600 + 4990 .LASF87: + 4991 0136 4C353032 .string "L502_SYNC_EXTERNAL_MASTER" + 4991 5F53594E + 4991 435F4558 + 4991 5445524E + 4991 414C5F4D + 4992 .LASF118: + 4993 0150 665F636D .string "f_cmd_set_param" + 4993 645F7365 + 4993 745F7061 + 4993 72616D00 + 4994 .LASF101: + 4995 0160 6D6F6465 .string "mode" + 4995 00 + 4996 .LASF100: + 4997 0165 7068795F .string "phy_ch" + 4997 636800 + 4998 .LASF70: + 4999 016c 75646174 .string "udata" + 4999 6100 + 5000 .LASF39: + 5001 0172 4C353032 .string "L502_BF_ERR_SUCCESS" + 5001 5F42465F + 5001 4552525F + 5001 53554343 + 5001 45535300 + 5002 .LASF8: + 5003 0186 75696E74 .string "uint32_t" + 5003 33325F74 + 5003 00 + 5004 .LASF43: + 5005 018f 4C353032 .string "L502_BF_ERR_INVALID_CMD_PARAMS" + 5005 5F42465F + 5005 4552525F + 5005 494E5641 + 5005 4C49445F + 5006 .LASF40: + 5007 01ae 4C353032 .string "L502_BF_ERR_FIRST_CODE" + 5007 5F42465F + 5007 4552525F + 5007 46495253 + BFIN GAS /tmp/ccPX33wG.s page 101 + + + 5007 545F434F + 5008 .LASF93: + 5009 01c5 666C6F61 .string "float" + 5009 7400 + 5010 .LASF141: + 5011 01cb 675F7365 .string "g_set" + 5011 7400 + 5012 .LASF36: + 5013 01d1 4C353032 .string "L502_BF_CMD_ASYNC_TYPE_DOUT" + 5013 5F42465F + 5013 434D445F + 5013 4153594E + 5013 435F5459 + 5014 .LASF49: + 5015 01ed 4C353032 .string "L502_BF_MODE_IDLE" + 5015 5F42465F + 5015 4D4F4445 + 5015 5F49444C + 5015 4500 + 5016 .LASF57: + 5017 01ff 72657375 .string "result" + 5017 6C7400 + 5018 .LASF11: + 5019 0206 6C6F6E67 .string "long long unsigned int" + 5019 206C6F6E + 5019 6720756E + 5019 7369676E + 5019 65642069 + 5020 .LASF74: + 5021 021d 745F6864 .string "t_hdma_descr_arr" + 5021 6D615F64 + 5021 65736372 + 5021 5F617272 + 5021 00 + 5022 .LASF121: + 5023 022e 665F636D .string "f_cmd_fpga_reg_wr" + 5023 645F6670 + 5023 67615F72 + 5023 65675F77 + 5023 7200 + 5024 .LASF25: + 5025 0240 4C353032 .string "L502_BF_PARAM_ADC_FREQ_DIV" + 5025 5F42465F + 5025 50415241 + 5025 4D5F4144 + 5025 435F4652 + 5026 .LASF64: + 5027 025b 78636E74 .string "xcnt" + 5027 00 + 5028 .LASF65: + 5029 0260 786D6F64 .string "xmod" + 5029 00 + 5030 .LASF58: + 5031 0265 64617461 .string "data_size" + 5031 5F73697A + 5031 6500 + 5032 .LASF34: + BFIN GAS /tmp/ccPX33wG.s page 102 + + + 5033 026f 4C353032 .string "L502_BF_PARAM_IN_STEP_SIZE" + 5033 5F42465F + 5033 50415241 + 5033 4D5F494E + 5033 5F535445 + 5034 .LASF23: + 5035 028a 4C353032 .string "L502_BF_PARAM_LCH_CNT" + 5035 5F42465F + 5035 50415241 + 5035 4D5F4C43 + 5035 485F434E + 5036 .LASF35: + 5037 02a0 4C353032 .string "L502_BF_PARAM_IN_STREAM_MODE" + 5037 5F42465F + 5037 50415241 + 5037 4D5F494E + 5037 5F535452 + 5038 .LASF139: + 5039 02bd 675F6D6F .string "g_mode" + 5039 646500 + 5040 .LASF130: + 5041 02c4 7265745F .string "ret_size" + 5041 73697A65 + 5041 00 + 5042 .LASF26: + 5043 02cd 4C353032 .string "L502_BF_PARAM_REF_FREQ_SRC" + 5043 5F42465F + 5043 50415241 + 5043 4D5F5245 + 5043 465F4652 + 5044 .LASF54: + 5045 02e8 636F6465 .string "code" + 5045 00 + 5046 .LASF83: + 5047 02ed 4C353032 .string "L502_LCH_MODE_COMM" + 5047 5F4C4348 + 5047 5F4D4F44 + 5047 455F434F + 5047 4D4D00 + 5048 .LASF44: + 5049 0300 4C353032 .string "L502_BF_ERR_INSUF_CMD_DATA" + 5049 5F42465F + 5049 4552525F + 5049 494E5355 + 5049 465F434D + 5050 .LASF62: + 5051 031b 66756C6C .string "full_size" + 5051 5F73697A + 5051 6500 + 5052 .LASF122: + 5053 0325 665F636D .string "f_cmd_async_out" + 5053 645F6173 + 5053 796E635F + 5053 6F757400 + 5054 .LASF90: + 5055 0335 4C353032 .string "L502_SYNC_DI_SYN1_FALL" + 5055 5F53594E + BFIN GAS /tmp/ccPX33wG.s page 103 + + + 5055 435F4449 + 5055 5F53594E + 5055 315F4641 + 5056 .LASF76: + 5057 034c 745F6C35 .string "t_l502_board_state" + 5057 30325F62 + 5057 6F617264 + 5057 5F737461 + 5057 746500 + 5058 .LASF113: + 5059 035f 63686172 .string "char" + 5059 00 + 5060 .LASF132: + 5061 0364 6C353032 .string "l502_cmd_done" + 5061 5F636D64 + 5061 5F646F6E + 5061 6500 + 5062 .LASF97: + 5063 0372 706C6461 .string "plda_ver" + 5063 5F766572 + 5063 00 + 5064 .LASF27: + 5065 037b 4C353032 .string "L502_BF_PARAM_ADC_FRAME_DELAY" + 5065 5F42465F + 5065 50415241 + 5065 4D5F4144 + 5065 435F4652 + 5066 .LASF109: + 5067 0399 6F75745F .string "out_freq_div" + 5067 66726571 + 5067 5F646976 + 5067 00 + 5068 .LASF59: + 5069 03a6 64617461 .string "data" + 5069 00 + 5070 .LASF142: + 5071 03ab 675F6D6F .string "g_module_info" + 5071 64756C65 + 5071 5F696E66 + 5071 6F00 + 5072 .LASF51: + 5073 03b9 4C353032 .string "L502_BF_MODE_TEST" + 5073 5F42465F + 5073 4D4F4445 + 5073 5F544553 + 5073 5400 + 5074 .LASF3: + 5075 03cb 75696E74 .string "uint8_t" + 5075 385F7400 + 5076 .LASF55: + 5077 03d3 73746174 .string "status" + 5077 757300 + 5078 .LASF37: + 5079 03da 4C353032 .string "L502_BF_CMD_ASYNC_TYPE_DAC1" + 5079 5F42465F + 5079 434D445F + 5079 4153594E + BFIN GAS /tmp/ccPX33wG.s page 104 + + + 5079 435F5459 + 5080 .LASF38: + 5081 03f6 4C353032 .string "L502_BF_CMD_ASYNC_TYPE_DAC2" + 5081 5F42465F + 5081 434D445F + 5081 4153594E + 5081 435F5459 + 5082 .LASF105: + 5083 0412 6164635F .string "adc_freq_div" + 5083 66726571 + 5083 5F646976 + 5083 00 + 5084 .LASF123: + 5085 041f 665F636D .string "f_cmd_stream_disable" + 5085 645F7374 + 5085 7265616D + 5085 5F646973 + 5085 61626C65 + 5086 .LASF115: + 5087 0434 636D645F .string "cmd_code" + 5087 636F6465 + 5087 00 + 5088 .LASF138: + 5089 043d 675F7374 .string "g_state" + 5089 61746500 + 5090 .LASF73: + 5091 0445 6F75745F .string "out_lb" + 5091 6C6200 + 5092 .LASF75: + 5093 044c 68646D61 .string "hdma" + 5093 00 + 5094 .LASF31: + 5095 0451 4C353032 .string "L502_BF_PARAM_DAC_COEF" + 5095 5F42465F + 5095 50415241 + 5095 4D5F4441 + 5095 435F434F + 5096 .LASF42: + 5097 0468 4C353032 .string "L502_BF_ERR_CMD_OVERRUN" + 5097 5F42465F + 5097 4552525F + 5097 434D445F + 5097 4F564552 + 5098 .LASF10: + 5099 0480 6C6F6E67 .string "long long int" + 5099 206C6F6E + 5099 6720696E + 5099 7400 + 5100 .LASF145: + 5101 048e 2F686F6D .string "/home/feda/MIPT/RadioPhotonic_Subserface_radar/ADC_computing/BFfirmware_0" + 5101 652F6665 + 5101 64612F4D + 5101 4950542F + 5101 52616469 + 5102 .LASF69: + 5103 04d8 76616C69 .string "valid" + 5103 6400 + BFIN GAS /tmp/ccPX33wG.s page 105 + + + 5104 .LASF16: + 5105 04de 4C353032 .string "L502_BF_CMD_STATUS_DONE" + 5105 5F42465F + 5105 434D445F + 5105 53544154 + 5105 55535F44 + 5106 .LASF137: + 5107 04f6 665F636D .string "f_cmd_tbl" + 5107 645F7462 + 5107 6C00 + 5108 .LASF126: + 5109 0500 665F636D .string "f_cmd_stream_stop" + 5109 645F7374 + 5109 7265616D + 5109 5F73746F + 5109 7000 + 5110 .LASF135: + 5111 0512 665F7265 .string "f_regaddr_offs" + 5111 67616464 + 5111 725F6F66 + 5111 667300 + 5112 .LASF82: + 5113 0521 4C353032 .string "L502_ADC_RANGE_02" + 5113 5F414443 + 5113 5F52414E + 5113 47455F30 + 5113 3200 + 5114 .LASF117: + 5115 0533 73697A65 .string "size" + 5115 00 + 5116 .LASF81: + 5117 0538 4C353032 .string "L502_ADC_RANGE_05" + 5117 5F414443 + 5117 5F52414E + 5117 47455F30 + 5117 3500 + 5118 .LASF102: + 5119 054a 72616E67 .string "range" + 5119 6500 + 5120 .LASF56: + 5121 0550 70617261 .string "param" + 5121 6D00 + 5122 .LASF14: + 5123 0556 4C353032 .string "L502_BF_CMD_STATUS_REQ" + 5123 5F42465F + 5123 434D445F + 5123 53544154 + 5123 55535F52 + 5124 .LASF18: + 5125 056d 4C353032 .string "L502_BF_PARAM_STREAM_MODE" + 5125 5F42465F + 5125 50415241 + 5125 4D5F5354 + 5125 5245414D + 5126 .LASF89: + 5127 0587 4C353032 .string "L502_SYNC_DI_SYN2_RISE" + 5127 5F53594E + BFIN GAS /tmp/ccPX33wG.s page 106 + + + 5127 435F4449 + 5127 5F53594E + 5127 325F5249 + 5128 .LASF133: + 5129 059e 6C353032 .string "l502_cmd_start" + 5129 5F636D64 + 5129 5F737461 + 5129 727400 + 5130 .LASF95: + 5131 05ad 64657666 .string "devflags" + 5131 6C616773 + 5131 00 + 5132 .LASF147: + 5133 05b6 6C353032 .string "l502_cmd_check_req" + 5133 5F636D64 + 5133 5F636865 + 5133 636B5F72 + 5133 657100 + 5134 .LASF77: + 5135 05c9 4C353032 .string "L502_ADC_RANGE_10" + 5135 5F414443 + 5135 5F52414E + 5135 47455F31 + 5135 3000 + 5136 .LASF143: + 5137 05db 474E5520 .string "GNU C 4.3.5" + 5137 4320342E + 5137 332E3500 + 5138 .LASF4: + 5139 05e7 75696E74 .string "uint16_t" + 5139 31365F74 + 5139 00 + 5140 .LASF50: + 5141 05f0 4C353032 .string "L502_BF_MODE_STREAM" + 5141 5F42465F + 5141 4D4F4445 + 5141 5F535452 + 5141 45414D00 + 5142 .LASF108: + 5143 0604 7265665F .string "ref_freq" + 5143 66726571 + 5143 00 + 5144 .LASF103: + 5145 060d 745F6C63 .string "t_lch" + 5145 6800 + 5146 .LASF2: + 5147 0613 73686F72 .string "short int" + 5147 7420696E + 5147 7400 + 5148 .LASF110: + 5149 061d 73796E63 .string "sync_mode" + 5149 5F6D6F64 + 5149 6500 + 5150 .LASF127: + 5151 0627 665F636D .string "f_cmd_streams_start" + 5151 645F7374 + 5151 7265616D + BFIN GAS /tmp/ccPX33wG.s page 107 + + + 5151 735F7374 + 5151 61727400 + 5152 .LASF94: + 5153 063b 745F6461 .string "t_dac_cbr_coef" + 5153 635F6362 + 5153 725F636F + 5153 656600 + 5154 .LASF72: + 5155 064a 696E5F6C .string "in_lb" + 5155 6200 + 5156 .LASF7: + 5157 0650 6C6F6E67 .string "long int" + 5157 20696E74 + 5157 00 + 5158 .LASF134: + 5159 0659 665F7265 .string "f_regaddr_k" + 5159 67616464 + 5159 725F6B00 + 5160 .LASF129: + 5161 0665 665F636D .string "f_cmd_get_param" + 5161 645F6765 + 5161 745F7061 + 5161 72616D00 + 5162 .LASF68: + 5163 0675 6E657874 .string "next_descr" + 5163 5F646573 + 5163 637200 + 5164 .LASF53: + 5165 0680 4C353032 .string "L502_BF_FEATURE_OUT_STATUS_FLAGS" + 5165 5F42465F + 5165 46454154 + 5165 5552455F + 5165 4F55545F + 5166 .LASF128: + 5167 06a1 665F636D .string "f_cmd_config" + 5167 645F636F + 5167 6E666967 + 5167 00 + 5168 .LASF52: + 5169 06ae 4C353032 .string "L502_BF_FEATURE_FPGA_REG_ACCESS" + 5169 5F42465F + 5169 46454154 + 5169 5552455F + 5169 46504741 + 5170 .LASF114: + 5171 06ce 745F636D .string "t_cmd_func" + 5171 645F6675 + 5171 6E6300 + 5172 .LASF116: + 5173 06d9 73746172 .string "start" + 5173 7400 + 5174 .LASF111: + 5175 06df 73796E63 .string "sync_start_mode" + 5175 5F737461 + 5175 72745F6D + 5175 6F646500 + 5176 .LASF104: + BFIN GAS /tmp/ccPX33wG.s page 108 + + + 5177 06ef 6C63685F .string "lch_cnt" + 5177 636E7400 + 5178 .LASF9: + 5179 06f7 6C6F6E67 .string "long unsigned int" + 5179 20756E73 + 5179 69676E65 + 5179 6420696E + 5179 7400 + 5180 .LASF140: + 5181 0709 675F7374 .string "g_streams" + 5181 7265616D + 5181 7300 + 5182 .LASF48: + 5183 0713 4C353032 .string "L502_BF_ERR_TEST_VALUE" + 5183 5F42465F + 5183 4552525F + 5183 54455354 + 5183 5F56414C + 5184 .LASF6: + 5185 072a 696E7433 .string "int32_t" + 5185 325F7400 + 5186 .LASF1: + 5187 0732 756E7369 .string "unsigned char" + 5187 676E6564 + 5187 20636861 + 5187 7200 + 5188 .LASF96: + 5189 0740 66706761 .string "fpga_ver" + 5189 5F766572 + 5189 00 + 5190 .LASF22: + 5191 0749 4C353032 .string "L502_BF_PARAM_CYCLE_BUF_SIZE" + 5191 5F42465F + 5191 50415241 + 5191 4D5F4359 + 5191 434C455F + 5192 .LASF29: + 5193 0766 4C353032 .string "L502_BF_PARAM_SYNC_START_MODE" + 5193 5F42465F + 5193 50415241 + 5193 4D5F5359 + 5193 4E435F53 + 5194 .LASF63: + 5195 0784 61646472 .string "addr" + 5195 00 + 5196 .LASF66: + 5197 0789 79636E74 .string "ycnt" + 5197 00 + 5198 .LASF92: + 5199 078e 6F666673 .string "offs" + 5199 00 + 5200 .LASF19: + 5201 0793 4C353032 .string "L502_BF_PARAM_ENABLED_STREAMS" + 5201 5F42465F + 5201 50415241 + 5201 4D5F454E + 5201 41424C45 + BFIN GAS /tmp/ccPX33wG.s page 109 + + + 5202 .LASF67: + 5203 07b1 796D6F64 .string "ymod" + 5203 00 + 5204 .LASF47: + 5205 07b6 4C353032 .string "L502_BF_ERR_NO_TEST_IN_PROGR" + 5205 5F42465F + 5205 4552525F + 5205 4E4F5F54 + 5205 4553545F + 5206 .LASF124: + 5207 07d3 665F636D .string "f_cmd_stream_enable" + 5207 645F7374 + 5207 7265616D + 5207 5F656E61 + 5207 626C6500 + 5208 .LASF119: + 5209 07e7 665F636D .string "f_cmd_get_out_status" + 5209 645F6765 + 5209 745F6F75 + 5209 745F7374 + 5209 61747573 + 5210 .LASF33: + 5211 07fc 4C353032 .string "L502_BF_PARAM_DAC_FREQ_DIV" + 5211 5F42465F + 5211 50415241 + 5211 4D5F4441 + 5211 435F4652 + 5212 .LASF13: + 5213 0817 4C353032 .string "L502_BF_CMD_STATUS_IDLE" + 5213 5F42465F + 5213 434D445F + 5213 53544154 + 5213 55535F49 + 5214 .LASF112: + 5215 082f 745F7365 .string "t_settings" + 5215 7474696E + 5215 677300 + 5216 .LASF0: + 5217 083a 7369676E .string "signed char" + 5217 65642063 + 5217 68617200 + 5218 .LASF71: + 5219 0846 745F6864 .string "t_hdma_stream_descr" + 5219 6D615F73 + 5219 74726561 + 5219 6D5F6465 + 5219 73637200 + 5220 .LASF99: + 5221 085a 745F6D6F .string "t_module_info" + 5221 64756C65 + 5221 5F696E66 + 5221 6F00 + 5222 .LASF5: + 5223 0868 73686F72 .string "short unsigned int" + 5223 7420756E + 5223 7369676E + 5223 65642069 + BFIN GAS /tmp/ccPX33wG.s page 110 + + + 5223 6E7400 + 5224 .LASF120: + 5225 087b 665F636D .string "f_cmd_fpga_reg_rd" + 5225 645F6670 + 5225 67615F72 + 5225 65675F72 + 5225 6400 + 5226 .LASF136: + 5227 088d 665F636D .string "f_cmd_req" + 5227 645F7265 + 5227 7100 + 5228 .LASF28: + 5229 0897 4C353032 .string "L502_BF_PARAM_SYNC_MODE" + 5229 5F42465F + 5229 50415241 + 5229 4D5F5359 + 5229 4E435F4D + 5230 .LASF45: + 5231 08af 4C353032 .string "L502_BF_ERR_STREAM_RUNNING" + 5231 5F42465F + 5231 4552525F + 5231 53545245 + 5231 414D5F52 + 5232 .LASF88: + 5233 08ca 4C353032 .string "L502_SYNC_DI_SYN1_RISE" + 5233 5F53594E + 5233 435F4449 + 5233 5F53594E + 5233 315F5249 + 5234 .LASF24: + 5235 08e1 4C353032 .string "L502_BF_PARAM_LCH" + 5235 5F42465F + 5235 50415241 + 5235 4D5F4C43 + 5235 4800 + 5236 .LASF131: + 5237 08f3 696E6465 .string "index" + 5237 7800 + 5238 .LASF15: + 5239 08f9 4C353032 .string "L502_BF_CMD_STATUS_PROGRESS" + 5239 5F42465F + 5239 434D445F + 5239 53544154 + 5239 55535F50 + 5240 .LASF46: + 5241 0915 4C353032 .string "L502_BF_ERR_STREAM_STOPPED" + 5241 5F42465F + 5241 4552525F + 5241 53545245 + 5241 414D5F53 + 5242 .LASF98: + 5243 0930 6461635F .string "dac_cbr" + 5243 63627200 + 5244 .LASF60: + 5245 0938 745F6C35 .string "t_l502_bf_cmd" + 5245 30325F62 + 5245 665F636D + BFIN GAS /tmp/ccPX33wG.s page 111 + + + 5245 6400 + 5246 .LASF17: + 5247 0946 4C353032 .string "L502_BF_PARAM_FIRM_VERSION" + 5247 5F42465F + 5247 50415241 + 5247 4D5F4649 + 5247 524D5F56 + 5248 .LASF106: + 5249 0961 64696E5F .string "din_freq_div" + 5249 66726571 + 5249 5F646976 + 5249 00 + 5250 .LASF21: + 5251 096e 4C353032 .string "L502_BF_PARAM_IN_BUF_SIZE" + 5251 5F42465F + 5251 50415241 + 5251 4D5F494E + 5251 5F425546 + 5252 .ident "GCC: (ADI-2014R1-RC2) 4.3.5" + BFIN GAS /tmp/ccPX33wG.s page 112 + + +DEFINED SYMBOLS + *ABS*:0000000000000000 src/l502_cmd.c + /tmp/ccPX33wG.s:13 .text:0000000000000000 _l502_cmd_set_req + .bss:0000000000000000 _f_cmd_req + /tmp/ccPX33wG.s:39 .text:0000000000000028 _l502_cmd_done + /tmp/ccPX33wG.s:83 .text:0000000000000064 _f_cmd_set_param + /tmp/ccPX33wG.s:1688 .rodata:00000000000001f0 _f_regaddr_k + /tmp/ccPX33wG.s:1698 .rodata:0000000000000208 _f_regaddr_offs + /tmp/ccPX33wG.s:401 .text:00000000000001e4 _f_cmd_get_out_status + /tmp/ccPX33wG.s:451 .text:0000000000000224 _f_cmd_fpga_reg_rd + /tmp/ccPX33wG.s:516 .text:000000000000027c _f_cmd_fpga_reg_wr + /tmp/ccPX33wG.s:579 .text:00000000000002d0 _f_cmd_async_out + /tmp/ccPX33wG.s:677 .text:0000000000000350 _f_cmd_stream_disable + /tmp/ccPX33wG.s:710 .text:000000000000037c _f_cmd_stream_enable + /tmp/ccPX33wG.s:743 .text:00000000000003a8 _f_cmd_preload + /tmp/ccPX33wG.s:773 .text:00000000000003d0 _f_cmd_stream_stop + /tmp/ccPX33wG.s:803 .text:00000000000003f8 _f_cmd_streams_start + /tmp/ccPX33wG.s:833 .text:0000000000000420 _f_cmd_config + /tmp/ccPX33wG.s:863 .text:0000000000000448 _f_cmd_get_param + /tmp/ccPX33wG.s:1202 .text:00000000000005ec _l502_cmd_start + /tmp/ccPX33wG.s:1658 .rodata:0000000000000188 _f_cmd_tbl + /tmp/ccPX33wG.s:1426 .text:0000000000000734 _l502_cmd_check_req + +UNDEFINED SYMBOLS +_g_state +_memmove +_g_mode +_sport_in_set_step_size +_params_set_dac_freq_div +_params_set_din_freq_div +_g_module_info +_fpga_reg_write +_params_set_sync_start_mode +_params_set_sync_mode +_params_set_adc_interframe_delay +_params_set_ref_freq +_params_set_adc_freq_div +_params_set_lch +_params_set_lch_cnt +_sport_tx_out_status +_fpga_reg_read +_async_dout +_async_dac_out +_stream_disable +_stream_enable +_stream_out_preload +_streams_stop +_streams_start +_configure +_g_streams +_sport_in_buffer_size +_g_set +_usr_cmd_process +_l502_cmd_test diff --git a/build/release/lst/l502_fpga.lst b/build/release/lst/l502_fpga.lst new file mode 100644 index 0000000..2a8ab9c --- /dev/null +++ b/build/release/lst/l502_fpga.lst @@ -0,0 +1,2421 @@ +BFIN GAS /tmp/ccUsc9gL.s page 1 + + + 1 .file "src/l502_fpga.c"; + 2 .section .debug_abbrev,"",@progbits + 3 .Ldebug_abbrev0: + 4 .section .debug_info,"",@progbits + 5 .Ldebug_info0: + 6 .section .debug_line,"",@progbits + 7 .Ldebug_line0: + 8 0000 CE010000 .text; + 8 0200BC00 + 8 00000101 + 8 FB0E0D00 + 8 01010101 + 9 .Ltext0: + 10 .align 4 + 11 .global _fpga_reg_write; + 12 .type _fpga_reg_write, STT_FUNC; + 13 _fpga_reg_write: + 14 .LFB4: + 15 .file 1 "src/l502_fpga.c" + 1:src/l502_fpga.c **** /** @addtogroup fpga_regs + 2:src/l502_fpga.c **** @{ + 3:src/l502_fpga.c **** @file l502_fpga.c + 4:src/l502_fpga.c **** Файл содержит логику передачи команд для чтения/записи регистров + 5:src/l502_fpga.c **** ПЛИС по SPI. + 6:src/l502_fpga.c **** Изначально SPI должен быть проинициализирован с помощью fpga_spi_init(). + 7:src/l502_fpga.c **** После этого можно осуществлять запись с помощью fpga_reg_write(), а + 8:src/l502_fpga.c **** чтение с помощью fpga_reg_read(). */ + 9:src/l502_fpga.c **** + 10:src/l502_fpga.c **** #include + 11:src/l502_fpga.c **** + 12:src/l502_fpga.c **** #include "l502_fpga.h" + 13:src/l502_fpga.c **** + 14:src/l502_fpga.c **** #define L502_SPI_BIT_START 0x8000UL + 15:src/l502_fpga.c **** #define L502_SPI_BIT_WR 0x4000UL + 16:src/l502_fpga.c **** #define L502_SPI_MSK_ADDR 0x3FFFUL + 17:src/l502_fpga.c **** + 18:src/l502_fpga.c **** + 19:src/l502_fpga.c **** static uint16_t f_spi_rw(uint16_t word) { + 20:src/l502_fpga.c **** /* если в было принято уже слово - то читаем его, чтобы освободить буфер приема */ + 21:src/l502_fpga.c **** if (*pSPI_STAT & RXS) { + 22:src/l502_fpga.c **** volatile uint16_t dummy; + 23:src/l502_fpga.c **** dummy = *pSPI_RDBR; + 24:src/l502_fpga.c **** } + 25:src/l502_fpga.c **** + 26:src/l502_fpga.c **** *pSPI_TDBR = word; + 27:src/l502_fpga.c **** /* ждем пока примем новое слово */ + 28:src/l502_fpga.c **** while (!(*pSPI_STAT&RXS)) { + 29:src/l502_fpga.c **** continue; + 30:src/l502_fpga.c **** } + 31:src/l502_fpga.c **** + 32:src/l502_fpga.c **** return *pSPI_RDBR; + 33:src/l502_fpga.c **** } + 34:src/l502_fpga.c **** + 35:src/l502_fpga.c **** + 36:src/l502_fpga.c **** void fpga_spi_init(void) { + 37:src/l502_fpga.c **** /* настройка SPI */ + 38:src/l502_fpga.c **** *pSPI_BAUD = 2; /* SPI CLK = 132.5/(2*2) = 33.125 */ + BFIN GAS /tmp/ccUsc9gL.s page 2 + + + 39:src/l502_fpga.c **** *pSPI_CTL = SPE | MSTR | SIZE | GM | TDBR_CORE; /* Мастер, MSB first, 16-bit, CPHA=0, CPOL=0 */ + 40:src/l502_fpga.c **** *pSPI_FLG = FLS1; + 41:src/l502_fpga.c **** + 42:src/l502_fpga.c **** *pPORTG_MUX = (*pPORTG_MUX & 0xFFFC) | 2; + 43:src/l502_fpga.c **** *pPORTG_FER |= PG1 | PG2 | PG3 | PG4; + 44:src/l502_fpga.c **** + 45:src/l502_fpga.c **** fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, 0); + 46:src/l502_fpga.c **** } + 47:src/l502_fpga.c **** + 48:src/l502_fpga.c **** + 49:src/l502_fpga.c **** void fpga_reg_write(uint16_t addr, uint32_t value) { + 16 .loc 1 49 0 + 17 .LVL0: + 18 .LBB62: + 19 .LBB65: + 21:src/l502_fpga.c **** if (*pSPI_STAT & RXS) { + 20 .loc 1 21 0 + 21 0000 4AE1C0FF P2.H = 65472; + 22 .LBE65: + 23 .LBE62: + 24 .loc 1 49 0 + 25 0004 00E80100 LINK 4; + 26 .LCFI0: + 27 .loc 1 49 0 + 28 0008 1030 R2 = R0; + 29 .LBB70: + 30 .LBB67: + 21:src/l502_fpga.c **** if (*pSPI_STAT & RXS) { + 31 .loc 1 21 0 + 32 000a 0AE10805 P2.L = 1288; + 33 000e 1095 R0 = W [P2] (Z); + 34 .LVL1: + 35 .LBE67: + 36 .LBE70: + 37 .loc 1 49 0 + 38 0010 1930 R3 = R1; + 39 .LBB71: + 40 .LBB64: + 21:src/l502_fpga.c **** if (*pSPI_STAT & RXS) { + 41 .loc 1 21 0 + 42 0012 2848 cc = !BITTST (R0,5); + 43 0014 051C if cc jump .L2 (bp); + 44 .LVL2: + 45 .LBB66: + 23:src/l502_fpga.c **** dummy = *pSPI_RDBR; + 46 .loc 1 23 0 + 47 0016 426C P2 += 8; + 48 0018 1095 R0 = W [P2] (Z); + 49 001a 78E6FEFF W [FP+-4] = R0; + 50 .LVL3: + 51 .L2: + 52 .LBE66: + 53 .LBE64: + 54 .LBE71: + 50:src/l502_fpga.c **** f_spi_rw((addr&L502_SPI_MSK_ADDR) | L502_SPI_BIT_START | L502_SPI_BIT_WR); + 55 .loc 1 50 0 + 56 001e 20E100C0 R0 = -16384 (X); + BFIN GAS /tmp/ccUsc9gL.s page 3 + + + 57 .LBB72: + 58 .LBB68: + 26:src/l502_fpga.c **** *pSPI_TDBR = word; + 59 .loc 1 26 0 + 60 0022 4AE1C0FF P2.H = 65472; + 61 0026 0AE10C05 P2.L = 1292; + 62 .LBE68: + 63 .LBE72: + 64 .loc 1 50 0 + 65 002a 0256 R0 = R2 | R0; + 66 .LBB73: + 67 .LBB63: + 26:src/l502_fpga.c **** *pSPI_TDBR = word; + 68 .loc 1 26 0 + 69 002c 1097 W [P2] = R0; + 28:src/l502_fpga.c **** while (!(*pSPI_STAT&RXS)) { + 70 .loc 1 28 0 + 71 002e E26F P2 += -4; + 72 0030 0161 R1 = 32 (X); + 73 0032 4234 I0 = P2; + 74 .L3: + 75 0034 0000 nop; + 76 0036 209D R0.L = W [I0]; + 77 0038 0154 R0 = R1 & R0; + 78 003a 000C cc =R0==0; + 79 003c FC1F if cc jump .L3 (bp); + 32:src/l502_fpga.c **** return *pSPI_RDBR; + 80 .loc 1 32 0 + 81 003e 49E1C0FF P1.H = 65472; + 82 0042 09E11005 P1.L = 1296; + 83 .LBE63: + 84 .LBE73: + 85 .LBB74: + 86 .LBB76: + 21:src/l502_fpga.c **** if (*pSPI_STAT & RXS) { + 87 .loc 1 21 0 + 88 0046 4AE1C0FF P2.H = 65472; + 89 .LBE76: + 90 .LBE74: + 91 .LBB80: + 92 .LBB69: + 32:src/l502_fpga.c **** return *pSPI_RDBR; + 93 .loc 1 32 0 + 94 004a 0895 R0 = W [P1] (Z); + 95 .LBE69: + 96 .LBE80: + 97 .LBB81: + 98 .LBB78: + 21:src/l502_fpga.c **** if (*pSPI_STAT & RXS) { + 99 .loc 1 21 0 + 100 004c 0AE10805 P2.L = 1288; + 101 0050 1195 R1 = W [P2] (Z); + 102 0052 0061 R0 = 32 (X); + 103 0054 0854 R0 = R0 & R1; + 104 0056 000C cc =R0==0; + 105 0058 041C if cc jump .L4 (bp); + 106 .LBB77: + BFIN GAS /tmp/ccUsc9gL.s page 4 + + + 23:src/l502_fpga.c **** dummy = *pSPI_RDBR; + 107 .loc 1 23 0 + 108 005a 0895 R0 = W [P1] (Z); + 109 005c 78E6FEFF W [FP+-4] = R0; + 110 .LVL4: + 111 .L4: + 112 .LBE77: + 26:src/l502_fpga.c **** *pSPI_TDBR = word; + 113 .loc 1 26 0 + 114 0060 4AE1C0FF P2.H = 65472; + 115 0064 0AE10C05 P2.L = 1292; + 116 .LBE78: + 117 .LBE81: + 51:src/l502_fpga.c **** f_spi_rw((value>>24)&0xFF); + 118 .loc 1 51 0 + 119 0068 82C64381 R0 = R3 >> 24; + 120 .LBB82: + 121 .LBB75: + 26:src/l502_fpga.c **** *pSPI_TDBR = word; + 122 .loc 1 26 0 + 123 006c 1097 W [P2] = R0; + 28:src/l502_fpga.c **** while (!(*pSPI_STAT&RXS)) { + 124 .loc 1 28 0 + 125 006e E26F P2 += -4; + 126 0070 0161 R1 = 32 (X); + 127 0072 4234 I0 = P2; + 128 .L5: + 129 0074 0000 nop; + 130 0076 209D R0.L = W [I0]; + 131 0078 0154 R0 = R1 & R0; + 132 007a 000C cc =R0==0; + 133 007c FC1F if cc jump .L5 (bp); + 32:src/l502_fpga.c **** return *pSPI_RDBR; + 134 .loc 1 32 0 + 135 007e 49E1C0FF P1.H = 65472; + 136 0082 09E11005 P1.L = 1296; + 137 .LBE75: + 138 .LBE82: + 139 .LBB83: + 140 .LBB85: + 21:src/l502_fpga.c **** if (*pSPI_STAT & RXS) { + 141 .loc 1 21 0 + 142 0086 4AE1C0FF P2.H = 65472; + 143 .LBE85: + 144 .LBE83: + 145 .LBB89: + 146 .LBB79: + 32:src/l502_fpga.c **** return *pSPI_RDBR; + 147 .loc 1 32 0 + 148 008a 0895 R0 = W [P1] (Z); + 149 .LBE79: + 150 .LBE89: + 151 .LBB90: + 152 .LBB84: + 21:src/l502_fpga.c **** if (*pSPI_STAT & RXS) { + 153 .loc 1 21 0 + 154 008c 0AE10805 P2.L = 1288; + BFIN GAS /tmp/ccUsc9gL.s page 5 + + + 155 0090 1195 R1 = W [P2] (Z); + 156 0092 0061 R0 = 32 (X); + 157 0094 0854 R0 = R0 & R1; + 158 0096 000C cc =R0==0; + 159 0098 041C if cc jump .L6 (bp); + 160 .LBB87: + 23:src/l502_fpga.c **** dummy = *pSPI_RDBR; + 161 .loc 1 23 0 + 162 009a 0895 R0 = W [P1] (Z); + 163 009c 78E6FEFF W [FP+-4] = R0; + 164 .LVL5: + 165 .L6: + 166 00a0 82C68381 R0 = R3 >> 16; + 167 .LBE87: + 26:src/l502_fpga.c **** *pSPI_TDBR = word; + 168 .loc 1 26 0 + 169 00a4 4AE1C0FF P2.H = 65472; + 170 00a8 0AE10C05 P2.L = 1292; + 171 .LBB86: + 23:src/l502_fpga.c **** dummy = *pSPI_RDBR; + 172 .loc 1 23 0 + 173 00ac 4043 R0 = R0.B (Z); + 174 .LVL6: + 175 .LBE86: + 26:src/l502_fpga.c **** *pSPI_TDBR = word; + 176 .loc 1 26 0 + 177 00ae 1097 W [P2] = R0; + 28:src/l502_fpga.c **** while (!(*pSPI_STAT&RXS)) { + 178 .loc 1 28 0 + 179 00b0 E26F P2 += -4; + 180 00b2 0161 R1 = 32 (X); + 181 00b4 4234 I0 = P2; + 182 .L7: + 183 00b6 0000 nop; + 184 00b8 209D R0.L = W [I0]; + 185 .LVL7: + 186 00ba 0154 R0 = R1 & R0; + 187 00bc 000C cc =R0==0; + 188 00be FC1F if cc jump .L7 (bp); + 32:src/l502_fpga.c **** return *pSPI_RDBR; + 189 .loc 1 32 0 + 190 00c0 49E1C0FF P1.H = 65472; + 191 00c4 09E11005 P1.L = 1296; + 192 .LBE84: + 193 .LBE90: + 194 .LBB91: + 195 .LBB93: + 21:src/l502_fpga.c **** if (*pSPI_STAT & RXS) { + 196 .loc 1 21 0 + 197 00c8 4AE1C0FF P2.H = 65472; + 198 .LBE93: + 199 .LBE91: + 200 .LBB97: + 201 .LBB88: + 32:src/l502_fpga.c **** return *pSPI_RDBR; + 202 .loc 1 32 0 + 203 00cc 0895 R0 = W [P1] (Z); + BFIN GAS /tmp/ccUsc9gL.s page 6 + + + 204 .LBE88: + 205 .LBE97: + 206 .LBB98: + 207 .LBB92: + 21:src/l502_fpga.c **** if (*pSPI_STAT & RXS) { + 208 .loc 1 21 0 + 209 00ce 0AE10805 P2.L = 1288; + 210 00d2 1195 R1 = W [P2] (Z); + 211 00d4 0061 R0 = 32 (X); + 212 00d6 0854 R0 = R0 & R1; + 213 00d8 000C cc =R0==0; + 214 00da 041C if cc jump .L8 (bp); + 215 .LBB95: + 23:src/l502_fpga.c **** dummy = *pSPI_RDBR; + 216 .loc 1 23 0 + 217 00dc 0895 R0 = W [P1] (Z); + 218 00de 78E6FEFF W [FP+-4] = R0; + 219 .LVL8: + 220 .L8: + 221 00e2 82C6C381 R0 = R3 >> 8; + 222 .LBE95: + 26:src/l502_fpga.c **** *pSPI_TDBR = word; + 223 .loc 1 26 0 + 224 00e6 4AE1C0FF P2.H = 65472; + 225 00ea 0AE10C05 P2.L = 1292; + 226 .LBB94: + 23:src/l502_fpga.c **** dummy = *pSPI_RDBR; + 227 .loc 1 23 0 + 228 00ee 4043 R0 = R0.B (Z); + 229 .LVL9: + 230 .LBE94: + 26:src/l502_fpga.c **** *pSPI_TDBR = word; + 231 .loc 1 26 0 + 232 00f0 1097 W [P2] = R0; + 28:src/l502_fpga.c **** while (!(*pSPI_STAT&RXS)) { + 233 .loc 1 28 0 + 234 00f2 E26F P2 += -4; + 235 00f4 0161 R1 = 32 (X); + 236 00f6 4234 I0 = P2; + 237 .L9: + 238 00f8 0000 nop; + 239 00fa 209D R0.L = W [I0]; + 240 .LVL10: + 241 00fc 0154 R0 = R1 & R0; + 242 00fe 000C cc =R0==0; + 243 0100 FC1F if cc jump .L9 (bp); + 32:src/l502_fpga.c **** return *pSPI_RDBR; + 244 .loc 1 32 0 + 245 0102 49E1C0FF P1.H = 65472; + 246 0106 09E11005 P1.L = 1296; + 247 .LBE92: + 248 .LBE98: + 249 .LBB99: + 250 .LBB100: + 21:src/l502_fpga.c **** if (*pSPI_STAT & RXS) { + 251 .loc 1 21 0 + 252 010a 4AE1C0FF P2.H = 65472; + BFIN GAS /tmp/ccUsc9gL.s page 7 + + + 253 .LBE100: + 254 .LBE99: + 255 .LBB104: + 256 .LBB96: + 32:src/l502_fpga.c **** return *pSPI_RDBR; + 257 .loc 1 32 0 + 258 010e 0895 R0 = W [P1] (Z); + 259 .LBE96: + 260 .LBE104: + 261 .LBB105: + 262 .LBB103: + 21:src/l502_fpga.c **** if (*pSPI_STAT & RXS) { + 263 .loc 1 21 0 + 264 0110 0AE10805 P2.L = 1288; + 265 0114 1195 R1 = W [P2] (Z); + 266 0116 0061 R0 = 32 (X); + 267 0118 0854 R0 = R0 & R1; + 268 011a 000C cc =R0==0; + 269 011c 041C if cc jump .L10 (bp); + 270 .LBB101: + 23:src/l502_fpga.c **** dummy = *pSPI_RDBR; + 271 .loc 1 23 0 + 272 011e 0895 R0 = W [P1] (Z); + 273 0120 78E6FEFF W [FP+-4] = R0; + 274 .LVL11: + 275 .L10: + 276 .LBE101: + 26:src/l502_fpga.c **** *pSPI_TDBR = word; + 277 .loc 1 26 0 + 278 0124 4AE1C0FF P2.H = 65472; + 279 0128 0AE10C05 P2.L = 1292; + 280 .LBB102: + 23:src/l502_fpga.c **** dummy = *pSPI_RDBR; + 281 .loc 1 23 0 + 282 012c 5843 R0 = R3.B (Z); + 283 .LVL12: + 284 .LBE102: + 26:src/l502_fpga.c **** *pSPI_TDBR = word; + 285 .loc 1 26 0 + 286 012e 1097 W [P2] = R0; + 28:src/l502_fpga.c **** while (!(*pSPI_STAT&RXS)) { + 287 .loc 1 28 0 + 288 0130 E26F P2 += -4; + 289 0132 0161 R1 = 32 (X); + 290 0134 4234 I0 = P2; + 291 .L11: + 292 0136 0000 nop; + 293 0138 209D R0.L = W [I0]; + 294 .LVL13: + 295 013a 0154 R0 = R1 & R0; + 296 013c 000C cc =R0==0; + 297 013e FC1F if cc jump .L11 (bp); + 32:src/l502_fpga.c **** return *pSPI_RDBR; + 298 .loc 1 32 0 + 299 0140 4AE1C0FF P2.H = 65472; + 300 0144 0AE11005 P2.L = 1296; + 301 0148 1095 R0 = W [P2] (Z); + BFIN GAS /tmp/ccUsc9gL.s page 8 + + + 302 .LBE103: + 303 .LBE105: + 52:src/l502_fpga.c **** f_spi_rw((value>>16)&0xFF); + 53:src/l502_fpga.c **** f_spi_rw((value>>8)&0xFF); + 54:src/l502_fpga.c **** f_spi_rw(value&0xFF); + 55:src/l502_fpga.c **** } + 304 .loc 1 55 0 + 305 014a 01E80000 UNLINK; + 306 014e 1000 rts; + 307 .LFE4: + 308 .size _fpga_reg_write, .-_fpga_reg_write + 309 .align 4 + 310 .global _fpga_reg_read; + 311 .type _fpga_reg_read, STT_FUNC; + 312 _fpga_reg_read: + 313 .LFB5: + 56:src/l502_fpga.c **** + 57:src/l502_fpga.c **** + 58:src/l502_fpga.c **** uint32_t fpga_reg_read(uint16_t addr) { + 314 .loc 1 58 0 + 315 .LVL14: + 316 .LBB106: + 317 .LBB109: + 21:src/l502_fpga.c **** if (*pSPI_STAT & RXS) { + 318 .loc 1 21 0 + 319 0150 4AE1C0FF P2.H = 65472; + 320 .LBE109: + 321 .LBE106: + 322 .loc 1 58 0 + 323 0154 00E80100 LINK 4; + 324 .LCFI1: + 325 .loc 1 58 0 + 326 0158 0830 R1 = R0; + 327 .LBB113: + 328 .LBB108: + 21:src/l502_fpga.c **** if (*pSPI_STAT & RXS) { + 329 .loc 1 21 0 + 330 015a 0AE10805 P2.L = 1288; + 331 015e 1095 R0 = W [P2] (Z); + 332 .LVL15: + 333 0160 2848 cc = !BITTST (R0,5); + 334 0162 051C if cc jump .L20 (bp); + 335 .LBB110: + 23:src/l502_fpga.c **** dummy = *pSPI_RDBR; + 336 .loc 1 23 0 + 337 0164 426C P2 += 8; + 338 0166 1095 R0 = W [P2] (Z); + 339 0168 78E6FEFF W [FP+-4] = R0; + 340 .LVL16: + 341 .L20: + 342 .LBE110: + 343 .LBE108: + 344 .LBE113: + 59:src/l502_fpga.c **** uint32_t ret = 0; + 60:src/l502_fpga.c **** f_spi_rw((addr&L502_SPI_MSK_ADDR) | L502_SPI_BIT_START); + 345 .loc 1 60 0 + 346 016c 20E1FF3F R0 = 16383 (X); + BFIN GAS /tmp/ccUsc9gL.s page 9 + + + 347 0170 0154 R0 = R1 & R0; + 348 0172 21E10080 R1 = -32768 (X); + 349 .LVL17: + 350 .LBB114: + 351 .LBB111: + 26:src/l502_fpga.c **** *pSPI_TDBR = word; + 352 .loc 1 26 0 + 353 0176 4AE1C0FF P2.H = 65472; + 354 .LBE111: + 355 .LBE114: + 356 .loc 1 60 0 + 357 017a 0856 R0 = R0 | R1; + 358 .LBB115: + 359 .LBB107: + 26:src/l502_fpga.c **** *pSPI_TDBR = word; + 360 .loc 1 26 0 + 361 017c 0AE10C05 P2.L = 1292; + 362 0180 1097 W [P2] = R0; + 28:src/l502_fpga.c **** while (!(*pSPI_STAT&RXS)) { + 363 .loc 1 28 0 + 364 0182 E26F P2 += -4; + 365 0184 0161 R1 = 32 (X); + 366 0186 4234 I0 = P2; + 367 .L21: + 368 0188 0000 nop; + 369 018a 209D R0.L = W [I0]; + 370 018c 0154 R0 = R1 & R0; + 371 018e 000C cc =R0==0; + 372 0190 FC1F if cc jump .L21 (bp); + 32:src/l502_fpga.c **** return *pSPI_RDBR; + 373 .loc 1 32 0 + 374 0192 49E1C0FF P1.H = 65472; + 375 0196 09E11005 P1.L = 1296; + 376 .LBE107: + 377 .LBE115: + 378 .LBB116: + 379 .LBB118: + 21:src/l502_fpga.c **** if (*pSPI_STAT & RXS) { + 380 .loc 1 21 0 + 381 019a 4AE1C0FF P2.H = 65472; + 382 .LBE118: + 383 .LBE116: + 384 .LBB121: + 385 .LBB112: + 32:src/l502_fpga.c **** return *pSPI_RDBR; + 386 .loc 1 32 0 + 387 019e 0895 R0 = W [P1] (Z); + 388 .LBE112: + 389 .LBE121: + 390 .LBB122: + 391 .LBB117: + 21:src/l502_fpga.c **** if (*pSPI_STAT & RXS) { + 392 .loc 1 21 0 + 393 01a0 0AE10805 P2.L = 1288; + 394 01a4 1195 R1 = W [P2] (Z); + 395 01a6 0061 R0 = 32 (X); + 396 01a8 0854 R0 = R0 & R1; + BFIN GAS /tmp/ccUsc9gL.s page 10 + + + 397 01aa 000C cc =R0==0; + 398 01ac 041C if cc jump .L22 (bp); + 399 .LBB119: + 23:src/l502_fpga.c **** dummy = *pSPI_RDBR; + 400 .loc 1 23 0 + 401 01ae 0895 R0 = W [P1] (Z); + 402 01b0 78E6FEFF W [FP+-4] = R0; + 403 .LVL18: + 404 .L22: + 405 .LBE119: + 26:src/l502_fpga.c **** *pSPI_TDBR = word; + 406 .loc 1 26 0 + 407 01b4 4AE1C0FF P2.H = 65472; + 408 01b8 0AE10C05 P2.L = 1292; + 409 01bc 0060 R0 = 0 (X); + 410 01be 1097 W [P2] = R0; + 28:src/l502_fpga.c **** while (!(*pSPI_STAT&RXS)) { + 411 .loc 1 28 0 + 412 01c0 E26F P2 += -4; + 413 01c2 0161 R1 = 32 (X); + 414 01c4 4234 I0 = P2; + 415 .L23: + 416 01c6 0000 nop; + 417 01c8 209D R0.L = W [I0]; + 418 01ca 0154 R0 = R1 & R0; + 419 01cc 000C cc =R0==0; + 420 01ce FC1F if cc jump .L23 (bp); + 32:src/l502_fpga.c **** return *pSPI_RDBR; + 421 .loc 1 32 0 + 422 01d0 49E1C0FF P1.H = 65472; + 423 01d4 09E11005 P1.L = 1296; + 424 .LBE117: + 425 .LBE122: + 426 .LBB123: + 427 .LBB125: + 21:src/l502_fpga.c **** if (*pSPI_STAT & RXS) { + 428 .loc 1 21 0 + 429 01d8 4AE1C0FF P2.H = 65472; + 430 .LBE125: + 431 .LBE123: + 432 .LBB128: + 433 .LBB120: + 32:src/l502_fpga.c **** return *pSPI_RDBR; + 434 .loc 1 32 0 + 435 01dc 0895 R0 = W [P1] (Z); + 436 .LBE120: + 437 .LBE128: + 438 .LBB129: + 439 .LBB124: + 21:src/l502_fpga.c **** if (*pSPI_STAT & RXS) { + 440 .loc 1 21 0 + 441 01de 0AE10805 P2.L = 1288; + 442 01e2 1195 R1 = W [P2] (Z); + 443 01e4 0061 R0 = 32 (X); + 444 01e6 0854 R0 = R0 & R1; + 445 01e8 000C cc =R0==0; + 446 01ea 041C if cc jump .L24 (bp); + BFIN GAS /tmp/ccUsc9gL.s page 11 + + + 447 .LBB126: + 23:src/l502_fpga.c **** dummy = *pSPI_RDBR; + 448 .loc 1 23 0 + 449 01ec 0895 R0 = W [P1] (Z); + 450 01ee 78E6FEFF W [FP+-4] = R0; + 451 .LVL19: + 452 .L24: + 453 .LBE126: + 26:src/l502_fpga.c **** *pSPI_TDBR = word; + 454 .loc 1 26 0 + 455 01f2 4AE1C0FF P2.H = 65472; + 456 01f6 0AE10C05 P2.L = 1292; + 457 01fa 0060 R0 = 0 (X); + 458 01fc 1097 W [P2] = R0; + 28:src/l502_fpga.c **** while (!(*pSPI_STAT&RXS)) { + 459 .loc 1 28 0 + 460 01fe E26F P2 += -4; + 461 0200 0161 R1 = 32 (X); + 462 0202 4234 I0 = P2; + 463 .L25: + 464 0204 0000 nop; + 465 0206 209D R0.L = W [I0]; + 466 0208 0154 R0 = R1 & R0; + 467 020a 000C cc =R0==0; + 468 020c FC1F if cc jump .L25 (bp); + 32:src/l502_fpga.c **** return *pSPI_RDBR; + 469 .loc 1 32 0 + 470 020e 49E1C0FF P1.H = 65472; + 471 0212 09E11005 P1.L = 1296; + 472 .LBE124: + 473 .LBE129: + 474 .LBB130: + 475 .LBB132: + 21:src/l502_fpga.c **** if (*pSPI_STAT & RXS) { + 476 .loc 1 21 0 + 477 0216 4AE1C0FF P2.H = 65472; + 478 .LBE132: + 479 .LBE130: + 480 .LBB135: + 481 .LBB127: + 32:src/l502_fpga.c **** return *pSPI_RDBR; + 482 .loc 1 32 0 + 483 021a 0895 R0 = W [P1] (Z); + 484 .LBE127: + 485 .LBE135: + 486 .LBB136: + 487 .LBB131: + 21:src/l502_fpga.c **** if (*pSPI_STAT & RXS) { + 488 .loc 1 21 0 + 489 021c 0AE10805 P2.L = 1288; + 490 0220 1195 R1 = W [P2] (Z); + 491 0222 0061 R0 = 32 (X); + 492 0224 0854 R0 = R0 & R1; + 493 0226 000C cc =R0==0; + 494 0228 041C if cc jump .L26 (bp); + 495 .LBB133: + 23:src/l502_fpga.c **** dummy = *pSPI_RDBR; + BFIN GAS /tmp/ccUsc9gL.s page 12 + + + 496 .loc 1 23 0 + 497 022a 0895 R0 = W [P1] (Z); + 498 022c 78E6FEFF W [FP+-4] = R0; + 499 .LVL20: + 500 .L26: + 501 .LBE133: + 26:src/l502_fpga.c **** *pSPI_TDBR = word; + 502 .loc 1 26 0 + 503 0230 4AE1C0FF P2.H = 65472; + 504 0234 0AE10C05 P2.L = 1292; + 505 0238 0060 R0 = 0 (X); + 506 023a 1097 W [P2] = R0; + 28:src/l502_fpga.c **** while (!(*pSPI_STAT&RXS)) { + 507 .loc 1 28 0 + 508 023c E26F P2 += -4; + 509 023e 0161 R1 = 32 (X); + 510 0240 4234 I0 = P2; + 511 .L27: + 512 0242 0000 nop; + 513 0244 209D R0.L = W [I0]; + 514 0246 0154 R0 = R1 & R0; + 515 0248 000C cc =R0==0; + 516 024a FC1F if cc jump .L27 (bp); + 32:src/l502_fpga.c **** return *pSPI_RDBR; + 517 .loc 1 32 0 + 518 024c 49E1C0FF P1.H = 65472; + 519 0250 09E11005 P1.L = 1296; + 520 .LBE131: + 521 .LBE136: + 522 .LBB137: + 523 .LBB138: + 21:src/l502_fpga.c **** if (*pSPI_STAT & RXS) { + 524 .loc 1 21 0 + 525 0254 4AE1C0FF P2.H = 65472; + 526 .LBE138: + 527 .LBE137: + 528 .LBB141: + 529 .LBB134: + 32:src/l502_fpga.c **** return *pSPI_RDBR; + 530 .loc 1 32 0 + 531 0258 0A95 R2 = W [P1] (Z); + 532 .LBE134: + 533 .LBE141: + 534 .LBB142: + 535 .LBB140: + 21:src/l502_fpga.c **** if (*pSPI_STAT & RXS) { + 536 .loc 1 21 0 + 537 025a 0AE10805 P2.L = 1288; + 538 025e 1195 R1 = W [P2] (Z); + 539 0260 0061 R0 = 32 (X); + 540 0262 0854 R0 = R0 & R1; + 541 0264 000C cc =R0==0; + 542 0266 041C if cc jump .L28 (bp); + 543 .LBB139: + 23:src/l502_fpga.c **** dummy = *pSPI_RDBR; + 544 .loc 1 23 0 + 545 0268 0895 R0 = W [P1] (Z); + BFIN GAS /tmp/ccUsc9gL.s page 13 + + + 546 026a 78E6FEFF W [FP+-4] = R0; + 547 .LVL21: + 548 .L28: + 549 .LBE139: + 26:src/l502_fpga.c **** *pSPI_TDBR = word; + 550 .loc 1 26 0 + 551 026e 4AE1C0FF P2.H = 65472; + 552 0272 0AE10C05 P2.L = 1292; + 553 0276 0060 R0 = 0 (X); + 554 0278 1097 W [P2] = R0; + 28:src/l502_fpga.c **** while (!(*pSPI_STAT&RXS)) { + 555 .loc 1 28 0 + 556 027a E26F P2 += -4; + 557 027c 0161 R1 = 32 (X); + 558 027e 4234 I0 = P2; + 559 .L29: + 560 0280 0000 nop; + 561 0282 209D R0.L = W [I0]; + 562 0284 0154 R0 = R1 & R0; + 563 0286 000C cc =R0==0; + 564 0288 FC1F if cc jump .L29 (bp); + 32:src/l502_fpga.c **** return *pSPI_RDBR; + 565 .loc 1 32 0 + 566 028a 4AE1C0FF P2.H = 65472; + 567 028e 0AE11005 P2.L = 1296; + 568 0292 1195 R1 = W [P2] (Z); + 569 .LBE140: + 570 .LBE142: + 61:src/l502_fpga.c **** f_spi_rw(0); + 62:src/l502_fpga.c **** f_spi_rw(0); + 63:src/l502_fpga.c **** ret = f_spi_rw(0); + 64:src/l502_fpga.c **** ret <<= 16; + 571 .loc 1 64 0 + 572 0294 82C68280 R0 = R2 << 16; + 573 .LVL22: + 574 0298 C942 R1 = R1.L (Z); + 575 029a 0856 R0 = R0 | R1; + 576 .LVL23: + 65:src/l502_fpga.c **** ret |= f_spi_rw(0); + 66:src/l502_fpga.c **** return ret; + 67:src/l502_fpga.c **** } + 577 .loc 1 67 0 + 578 029c 01E80000 UNLINK; + 579 02a0 1000 rts; + 580 .LFE5: + 581 .size _fpga_reg_read, .-_fpga_reg_read + 582 02a2 0000 .align 4 + 583 .global _fpga_spi_init; + 584 .type _fpga_spi_init, STT_FUNC; + 585 _fpga_spi_init: + 586 .LFB3: + 36:src/l502_fpga.c **** void fpga_spi_init(void) { + 587 .loc 1 36 0 + 38:src/l502_fpga.c **** *pSPI_BAUD = 2; /* SPI CLK = 132.5/(2*2) = 33.125 */ + 588 .loc 1 38 0 + 589 02a4 4AE1C0FF P2.H = 65472; + 36:src/l502_fpga.c **** void fpga_spi_init(void) { + BFIN GAS /tmp/ccUsc9gL.s page 14 + + + 590 .loc 1 36 0 + 591 02a8 00E80100 LINK 4; + 592 .LCFI2: + 38:src/l502_fpga.c **** *pSPI_BAUD = 2; /* SPI CLK = 132.5/(2*2) = 33.125 */ + 593 .loc 1 38 0 + 594 02ac 1160 R1 = 2 (X); + 595 02ae 0AE11405 P2.L = 1300; + 596 02b2 1197 W [P2] = R1; + 39:src/l502_fpga.c **** *pSPI_CTL = SPE | MSTR | SIZE | GM | TDBR_CORE; /* Мастер, MSB first, 16-bit, CPHA=0, CPOL=0 */ + 597 .loc 1 39 0 + 598 02b4 20E10951 R0 = 20745 (X); + 599 02b8 626F P2 += -20; + 600 02ba 1097 W [P2] = R0; + 40:src/l502_fpga.c **** *pSPI_FLG = FLS1; + 601 .loc 1 40 0 + 602 02bc 226C P2 += 4; + 603 02be 1197 W [P2] = R1; + 42:src/l502_fpga.c **** *pPORTG_MUX = (*pPORTG_MUX & 0xFFFC) | 2; + 604 .loc 1 42 0 + 605 02c0 4AE1C0FF P2.H = 65472; + 606 02c4 0AE11432 P2.L = 12820; + 607 02c8 1095 R0 = W [P2] (Z); + 608 02ca E163 R1 = -4 (X); + 609 02cc 0854 R0 = R0 & R1; + 610 02ce 084A BITSET (R0, 1); + 611 02d0 1097 W [P2] = R0; + 43:src/l502_fpga.c **** *pPORTG_FER |= PG1 | PG2 | PG3 | PG4; + 612 .loc 1 43 0 + 613 02d2 826F P2 += -16; + 614 02d4 1195 R1 = W [P2] (Z); + 615 02d6 F060 R0 = 30 (X); + 616 02d8 0856 R0 = R0 | R1; + 617 02da 1097 W [P2] = R0; + 618 .LBB160: + 619 .LBB161: + 620 .LBB162: + 621 .LBB163: + 21:src/l502_fpga.c **** if (*pSPI_STAT & RXS) { + 622 .loc 1 21 0 + 623 02dc 4AE1C0FF P2.H = 65472; + 624 02e0 0AE10805 P2.L = 1288; + 625 02e4 1095 R0 = W [P2] (Z); + 626 02e6 2848 cc = !BITTST (R0,5); + 627 02e8 051C if cc jump .L37 (bp); + 628 .LBB164: + 23:src/l502_fpga.c **** dummy = *pSPI_RDBR; + 629 .loc 1 23 0 + 630 02ea 426C P2 += 8; + 631 02ec 1095 R0 = W [P2] (Z); + 632 02ee 78E6FEFF W [FP+-4] = R0; + 633 .LVL24: + 634 .L37: + 635 .LBE164: + 26:src/l502_fpga.c **** *pSPI_TDBR = word; + 636 .loc 1 26 0 + 637 02f2 4AE1C0FF P2.H = 65472; + 638 02f6 0AE10C05 P2.L = 1292; + BFIN GAS /tmp/ccUsc9gL.s page 15 + + + 639 02fa 20E118C3 R0 = -15592 (X); + 640 02fe 1097 W [P2] = R0; + 28:src/l502_fpga.c **** while (!(*pSPI_STAT&RXS)) { + 641 .loc 1 28 0 + 642 0300 E26F P2 += -4; + 643 0302 0161 R1 = 32 (X); + 644 0304 4234 I0 = P2; + 645 .L38: + 646 0306 0000 nop; + 647 0308 209D R0.L = W [I0]; + 648 030a 0154 R0 = R1 & R0; + 649 030c 000C cc =R0==0; + 650 030e FC1F if cc jump .L38 (bp); + 32:src/l502_fpga.c **** return *pSPI_RDBR; + 651 .loc 1 32 0 + 652 0310 49E1C0FF P1.H = 65472; + 653 0314 09E11005 P1.L = 1296; + 654 .LBE163: + 655 .LBE162: + 656 .LBB166: + 657 .LBB168: + 21:src/l502_fpga.c **** if (*pSPI_STAT & RXS) { + 658 .loc 1 21 0 + 659 0318 4AE1C0FF P2.H = 65472; + 660 .LBE168: + 661 .LBE166: + 662 .LBB171: + 663 .LBB165: + 32:src/l502_fpga.c **** return *pSPI_RDBR; + 664 .loc 1 32 0 + 665 031c 0895 R0 = W [P1] (Z); + 666 .LBE165: + 667 .LBE171: + 668 .LBB172: + 669 .LBB167: + 21:src/l502_fpga.c **** if (*pSPI_STAT & RXS) { + 670 .loc 1 21 0 + 671 031e 0AE10805 P2.L = 1288; + 672 0322 1195 R1 = W [P2] (Z); + 673 0324 0061 R0 = 32 (X); + 674 0326 0854 R0 = R0 & R1; + 675 0328 000C cc =R0==0; + 676 032a 041C if cc jump .L39 (bp); + 677 .LBB169: + 23:src/l502_fpga.c **** dummy = *pSPI_RDBR; + 678 .loc 1 23 0 + 679 032c 0895 R0 = W [P1] (Z); + 680 032e 78E6FEFF W [FP+-4] = R0; + 681 .LVL25: + 682 .L39: + 683 .LBE169: + 26:src/l502_fpga.c **** *pSPI_TDBR = word; + 684 .loc 1 26 0 + 685 0332 4AE1C0FF P2.H = 65472; + 686 0336 0AE10C05 P2.L = 1292; + 687 033a 0060 R0 = 0 (X); + 688 033c 1097 W [P2] = R0; + BFIN GAS /tmp/ccUsc9gL.s page 16 + + + 28:src/l502_fpga.c **** while (!(*pSPI_STAT&RXS)) { + 689 .loc 1 28 0 + 690 033e E26F P2 += -4; + 691 0340 0161 R1 = 32 (X); + 692 0342 4234 I0 = P2; + 693 .L40: + 694 0344 0000 nop; + 695 0346 209D R0.L = W [I0]; + 696 0348 0154 R0 = R1 & R0; + 697 034a 000C cc =R0==0; + 698 034c FC1F if cc jump .L40 (bp); + 32:src/l502_fpga.c **** return *pSPI_RDBR; + 699 .loc 1 32 0 + 700 034e 49E1C0FF P1.H = 65472; + 701 0352 09E11005 P1.L = 1296; + 702 .LBE167: + 703 .LBE172: + 704 .LBB173: + 705 .LBB175: + 21:src/l502_fpga.c **** if (*pSPI_STAT & RXS) { + 706 .loc 1 21 0 + 707 0356 4AE1C0FF P2.H = 65472; + 708 .LBE175: + 709 .LBE173: + 710 .LBB178: + 711 .LBB170: + 32:src/l502_fpga.c **** return *pSPI_RDBR; + 712 .loc 1 32 0 + 713 035a 0895 R0 = W [P1] (Z); + 714 .LBE170: + 715 .LBE178: + 716 .LBB179: + 717 .LBB174: + 21:src/l502_fpga.c **** if (*pSPI_STAT & RXS) { + 718 .loc 1 21 0 + 719 035c 0AE10805 P2.L = 1288; + 720 0360 1195 R1 = W [P2] (Z); + 721 0362 0061 R0 = 32 (X); + 722 0364 0854 R0 = R0 & R1; + 723 0366 000C cc =R0==0; + 724 0368 041C if cc jump .L41 (bp); + 725 .LBB176: + 23:src/l502_fpga.c **** dummy = *pSPI_RDBR; + 726 .loc 1 23 0 + 727 036a 0895 R0 = W [P1] (Z); + 728 036c 78E6FEFF W [FP+-4] = R0; + 729 .LVL26: + 730 .L41: + 731 .LBE176: + 26:src/l502_fpga.c **** *pSPI_TDBR = word; + 732 .loc 1 26 0 + 733 0370 4AE1C0FF P2.H = 65472; + 734 0374 0AE10C05 P2.L = 1292; + 735 0378 0060 R0 = 0 (X); + 736 037a 1097 W [P2] = R0; + 28:src/l502_fpga.c **** while (!(*pSPI_STAT&RXS)) { + 737 .loc 1 28 0 + BFIN GAS /tmp/ccUsc9gL.s page 17 + + + 738 037c E26F P2 += -4; + 739 037e 0161 R1 = 32 (X); + 740 0380 4234 I0 = P2; + 741 .L42: + 742 0382 0000 nop; + 743 0384 209D R0.L = W [I0]; + 744 0386 0154 R0 = R1 & R0; + 745 0388 000C cc =R0==0; + 746 038a FC1F if cc jump .L42 (bp); + 32:src/l502_fpga.c **** return *pSPI_RDBR; + 747 .loc 1 32 0 + 748 038c 49E1C0FF P1.H = 65472; + 749 0390 09E11005 P1.L = 1296; + 750 .LBE174: + 751 .LBE179: + 752 .LBB180: + 753 .LBB182: + 21:src/l502_fpga.c **** if (*pSPI_STAT & RXS) { + 754 .loc 1 21 0 + 755 0394 4AE1C0FF P2.H = 65472; + 756 .LBE182: + 757 .LBE180: + 758 .LBB185: + 759 .LBB177: + 32:src/l502_fpga.c **** return *pSPI_RDBR; + 760 .loc 1 32 0 + 761 0398 0895 R0 = W [P1] (Z); + 762 .LBE177: + 763 .LBE185: + 764 .LBB186: + 765 .LBB181: + 21:src/l502_fpga.c **** if (*pSPI_STAT & RXS) { + 766 .loc 1 21 0 + 767 039a 0AE10805 P2.L = 1288; + 768 039e 1195 R1 = W [P2] (Z); + 769 03a0 0061 R0 = 32 (X); + 770 03a2 0854 R0 = R0 & R1; + 771 03a4 000C cc =R0==0; + 772 03a6 041C if cc jump .L43 (bp); + 773 .LBB183: + 23:src/l502_fpga.c **** dummy = *pSPI_RDBR; + 774 .loc 1 23 0 + 775 03a8 0895 R0 = W [P1] (Z); + 776 03aa 78E6FEFF W [FP+-4] = R0; + 777 .LVL27: + 778 .L43: + 779 .LBE183: + 26:src/l502_fpga.c **** *pSPI_TDBR = word; + 780 .loc 1 26 0 + 781 03ae 4AE1C0FF P2.H = 65472; + 782 03b2 0AE10C05 P2.L = 1292; + 783 03b6 0060 R0 = 0 (X); + 784 03b8 1097 W [P2] = R0; + 28:src/l502_fpga.c **** while (!(*pSPI_STAT&RXS)) { + 785 .loc 1 28 0 + 786 03ba E26F P2 += -4; + 787 03bc 0161 R1 = 32 (X); + BFIN GAS /tmp/ccUsc9gL.s page 18 + + + 788 03be 4234 I0 = P2; + 789 .L44: + 790 03c0 0000 nop; + 791 03c2 209D R0.L = W [I0]; + 792 03c4 0154 R0 = R1 & R0; + 793 03c6 000C cc =R0==0; + 794 03c8 FC1F if cc jump .L44 (bp); + 32:src/l502_fpga.c **** return *pSPI_RDBR; + 795 .loc 1 32 0 + 796 03ca 49E1C0FF P1.H = 65472; + 797 03ce 09E11005 P1.L = 1296; + 798 .LBE181: + 799 .LBE186: + 800 .LBB187: + 801 .LBB188: + 21:src/l502_fpga.c **** if (*pSPI_STAT & RXS) { + 802 .loc 1 21 0 + 803 03d2 4AE1C0FF P2.H = 65472; + 804 .LBE188: + 805 .LBE187: + 806 .LBB191: + 807 .LBB184: + 32:src/l502_fpga.c **** return *pSPI_RDBR; + 808 .loc 1 32 0 + 809 03d6 0895 R0 = W [P1] (Z); + 810 .LBE184: + 811 .LBE191: + 812 .LBB192: + 813 .LBB190: + 21:src/l502_fpga.c **** if (*pSPI_STAT & RXS) { + 814 .loc 1 21 0 + 815 03d8 0AE10805 P2.L = 1288; + 816 03dc 1195 R1 = W [P2] (Z); + 817 03de 0061 R0 = 32 (X); + 818 03e0 0854 R0 = R0 & R1; + 819 03e2 000C cc =R0==0; + 820 03e4 041C if cc jump .L45 (bp); + 821 .LBB189: + 23:src/l502_fpga.c **** dummy = *pSPI_RDBR; + 822 .loc 1 23 0 + 823 03e6 0895 R0 = W [P1] (Z); + 824 03e8 78E6FEFF W [FP+-4] = R0; + 825 .LVL28: + 826 .L45: + 827 .LBE189: + 26:src/l502_fpga.c **** *pSPI_TDBR = word; + 828 .loc 1 26 0 + 829 03ec 4AE1C0FF P2.H = 65472; + 830 03f0 0AE10C05 P2.L = 1292; + 831 03f4 0060 R0 = 0 (X); + 832 03f6 1097 W [P2] = R0; + 28:src/l502_fpga.c **** while (!(*pSPI_STAT&RXS)) { + 833 .loc 1 28 0 + 834 03f8 E26F P2 += -4; + 835 03fa 0161 R1 = 32 (X); + 836 03fc 4234 I0 = P2; + 837 .L46: + BFIN GAS /tmp/ccUsc9gL.s page 19 + + + 838 03fe 0000 nop; + 839 0400 209D R0.L = W [I0]; + 840 0402 0154 R0 = R1 & R0; + 841 0404 000C cc =R0==0; + 842 0406 FC1F if cc jump .L46 (bp); + 32:src/l502_fpga.c **** return *pSPI_RDBR; + 843 .loc 1 32 0 + 844 0408 4AE1C0FF P2.H = 65472; + 845 040c 0AE11005 P2.L = 1296; + 846 0410 1095 R0 = W [P2] (Z); + 847 .LBE190: + 848 .LBE192: + 849 .LBE161: + 850 .LBE160: + 46:src/l502_fpga.c **** } + 851 .loc 1 46 0 + 852 0412 01E80000 UNLINK; + 853 0416 1000 rts; + 854 .LFE3: + 855 .size _fpga_spi_init, .-_fpga_spi_init + 856 .section .debug_frame,"",@progbits + 857 .Lframe0: + 858 0000 0C000000 .4byte .LECIE0-.LSCIE0 + 859 .LSCIE0: + 860 0004 FFFFFFFF .4byte 0xffffffff + 861 0008 01 .byte 0x1 + 862 0009 00 .string "" + 863 000a 01 .uleb128 0x1 + 864 000b 7C .sleb128 -4 + 865 000c 23 .byte 0x23 + 866 000d 0C .byte 0xc + 867 000e 0E .uleb128 0xe + 868 000f 00 .uleb128 0x0 + 869 .align 4 + 870 .LECIE0: + 871 .LSFDE0: + 872 0010 14000000 .4byte .LEFDE0-.LASFDE0 + 873 .LASFDE0: + 874 0014 00000000 .4byte .Lframe0 + 875 0018 00000000 .4byte .LFB4 + 876 001c 50010000 .4byte .LFE4-.LFB4 + 877 0020 48 .byte 0x4 + 878 .4byte .LCFI0-.LFB4 + 879 0021 0C .byte 0xc + 880 0022 0F .uleb128 0xf + 881 0023 08 .uleb128 0x8 + 882 0024 8F .byte 0x8f + 883 0025 02 .uleb128 0x2 + 884 0026 A3 .byte 0xa3 + 885 0027 01 .uleb128 0x1 + 886 .align 4 + 887 .LEFDE0: + 888 .LSFDE2: + 889 0028 14000000 .4byte .LEFDE2-.LASFDE2 + 890 .LASFDE2: + 891 002c 00000000 .4byte .Lframe0 + 892 0030 50010000 .4byte .LFB5 + BFIN GAS /tmp/ccUsc9gL.s page 20 + + + 893 0034 52010000 .4byte .LFE5-.LFB5 + 894 0038 48 .byte 0x4 + 895 .4byte .LCFI1-.LFB5 + 896 0039 0C .byte 0xc + 897 003a 0F .uleb128 0xf + 898 003b 08 .uleb128 0x8 + 899 003c 8F .byte 0x8f + 900 003d 02 .uleb128 0x2 + 901 003e A3 .byte 0xa3 + 902 003f 01 .uleb128 0x1 + 903 .align 4 + 904 .LEFDE2: + 905 .LSFDE4: + 906 0040 14000000 .4byte .LEFDE4-.LASFDE4 + 907 .LASFDE4: + 908 0044 00000000 .4byte .Lframe0 + 909 0048 A4020000 .4byte .LFB3 + 910 004c 74010000 .4byte .LFE3-.LFB3 + 911 0050 48 .byte 0x4 + 912 .4byte .LCFI2-.LFB3 + 913 0051 0C .byte 0xc + 914 0052 0F .uleb128 0xf + 915 0053 08 .uleb128 0x8 + 916 0054 8F .byte 0x8f + 917 0055 02 .uleb128 0x2 + 918 0056 A3 .byte 0xa3 + 919 0057 01 .uleb128 0x1 + 920 .align 4 + 921 .LEFDE4: + 922 .text; + 923 .Letext0: + 924 .section .debug_loc,"",@progbits + 925 .Ldebug_loc0: + 926 .LLST0: + 927 0000 00000000 .4byte .LFB4-.Ltext0 + 928 0004 08000000 .4byte .LCFI0-.Ltext0 + 929 0008 0100 .2byte 0x1 + 930 000a 5E .byte 0x5e + 931 000b 08000000 .4byte .LCFI0-.Ltext0 + 932 000f 50010000 .4byte .LFE4-.Ltext0 + 933 0013 0200 .2byte 0x2 + 934 0015 7F .byte 0x7f + 935 0016 08 .sleb128 8 + 936 0017 00000000 .4byte 0x0 + 937 001b 00000000 .4byte 0x0 + 938 .LLST1: + 939 001f 00000000 .4byte .LVL0-.Ltext0 + 940 0023 10000000 .4byte .LVL1-.Ltext0 + 941 0027 0100 .2byte 0x1 + 942 0029 50 .byte 0x50 + 943 002a 10000000 .4byte .LVL1-.Ltext0 + 944 002e 50010000 .4byte .LFE4-.Ltext0 + 945 0032 0100 .2byte 0x1 + 946 0034 52 .byte 0x52 + 947 0035 00000000 .4byte 0x0 + 948 0039 00000000 .4byte 0x0 + 949 .LLST2: + BFIN GAS /tmp/ccUsc9gL.s page 21 + + + 950 003d 00000000 .4byte .LVL0-.Ltext0 + 951 0041 16000000 .4byte .LVL2-.Ltext0 + 952 0045 0100 .2byte 0x1 + 953 0047 51 .byte 0x51 + 954 0048 16000000 .4byte .LVL2-.Ltext0 + 955 004c 50010000 .4byte .LFE4-.Ltext0 + 956 0050 0100 .2byte 0x1 + 957 0052 53 .byte 0x53 + 958 0053 00000000 .4byte 0x0 + 959 0057 00000000 .4byte 0x0 + 960 .LLST3: + 961 005b AE000000 .4byte .LVL6-.Ltext0 + 962 005f BA000000 .4byte .LVL7-.Ltext0 + 963 0063 0100 .2byte 0x1 + 964 0065 50 .byte 0x50 + 965 0066 00000000 .4byte 0x0 + 966 006a 00000000 .4byte 0x0 + 967 .LLST4: + 968 006e F0000000 .4byte .LVL9-.Ltext0 + 969 0072 FC000000 .4byte .LVL10-.Ltext0 + 970 0076 0100 .2byte 0x1 + 971 0078 50 .byte 0x50 + 972 0079 00000000 .4byte 0x0 + 973 007d 00000000 .4byte 0x0 + 974 .LLST5: + 975 0081 2E010000 .4byte .LVL12-.Ltext0 + 976 0085 3A010000 .4byte .LVL13-.Ltext0 + 977 0089 0100 .2byte 0x1 + 978 008b 50 .byte 0x50 + 979 008c 00000000 .4byte 0x0 + 980 0090 00000000 .4byte 0x0 + 981 .LLST6: + 982 0094 50010000 .4byte .LFB5-.Ltext0 + 983 0098 58010000 .4byte .LCFI1-.Ltext0 + 984 009c 0100 .2byte 0x1 + 985 009e 5E .byte 0x5e + 986 009f 58010000 .4byte .LCFI1-.Ltext0 + 987 00a3 A2020000 .4byte .LFE5-.Ltext0 + 988 00a7 0200 .2byte 0x2 + 989 00a9 7F .byte 0x7f + 990 00aa 08 .sleb128 8 + 991 00ab 00000000 .4byte 0x0 + 992 00af 00000000 .4byte 0x0 + 993 .LLST7: + 994 00b3 50010000 .4byte .LVL14-.Ltext0 + 995 00b7 60010000 .4byte .LVL15-.Ltext0 + 996 00bb 0100 .2byte 0x1 + 997 00bd 50 .byte 0x50 + 998 00be 60010000 .4byte .LVL15-.Ltext0 + 999 00c2 76010000 .4byte .LVL17-.Ltext0 + 1000 00c6 0100 .2byte 0x1 + 1001 00c8 51 .byte 0x51 + 1002 00c9 00000000 .4byte 0x0 + 1003 00cd 00000000 .4byte 0x0 + 1004 .LLST8: + 1005 00d1 98020000 .4byte .LVL22-.Ltext0 + 1006 00d5 9C020000 .4byte .LVL23-.Ltext0 + BFIN GAS /tmp/ccUsc9gL.s page 22 + + + 1007 00d9 0100 .2byte 0x1 + 1008 00db 50 .byte 0x50 + 1009 00dc 00000000 .4byte 0x0 + 1010 00e0 00000000 .4byte 0x0 + 1011 .LLST9: + 1012 00e4 A4020000 .4byte .LFB3-.Ltext0 + 1013 00e8 AC020000 .4byte .LCFI2-.Ltext0 + 1014 00ec 0100 .2byte 0x1 + 1015 00ee 5E .byte 0x5e + 1016 00ef AC020000 .4byte .LCFI2-.Ltext0 + 1017 00f3 18040000 .4byte .LFE3-.Ltext0 + 1018 00f7 0200 .2byte 0x2 + 1019 00f9 7F .byte 0x7f + 1020 00fa 08 .sleb128 8 + 1021 00fb 00000000 .4byte 0x0 + 1022 00ff 00000000 .4byte 0x0 + 1023 .file 2 "/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib + 1024 .section .debug_info + 1025 0000 F9030000 .4byte 0x3f9 + 1026 0004 0200 .2byte 0x2 + 1027 0006 00000000 .4byte .Ldebug_abbrev0 + 1028 000a 04 .byte 0x4 + 1029 000b 01 .uleb128 0x1 + 1030 000c 6F000000 .4byte .LASF14 + 1031 0010 01 .byte 0x1 + 1032 0011 0B000000 .4byte .LASF15 + 1033 0015 7B000000 .4byte .LASF16 + 1034 0019 00000000 .4byte .Ltext0 + 1035 001d 18040000 .4byte .Letext0 + 1036 0021 00000000 .4byte .Ldebug_line0 + 1037 0025 02 .uleb128 0x2 + 1038 0026 01 .byte 0x1 + 1039 0027 06 .byte 0x6 + 1040 0028 2B010000 .4byte .LASF0 + 1041 002c 02 .uleb128 0x2 + 1042 002d 01 .byte 0x1 + 1043 002e 08 .byte 0x8 + 1044 002f 3C000000 .4byte .LASF1 + 1045 0033 02 .uleb128 0x2 + 1046 0034 02 .byte 0x2 + 1047 0035 05 .byte 0x5 + 1048 0036 00010000 .4byte .LASF2 + 1049 003a 03 .uleb128 0x3 + 1050 003b 0A010000 .4byte .LASF5 + 1051 003f 02 .byte 0x2 + 1052 0040 36 .byte 0x36 + 1053 0041 45000000 .4byte 0x45 + 1054 0045 02 .uleb128 0x2 + 1055 0046 02 .byte 0x2 + 1056 0047 07 .byte 0x7 + 1057 0048 5C000000 .4byte .LASF3 + 1058 004c 02 .uleb128 0x2 + 1059 004d 04 .byte 0x4 + 1060 004e 05 .byte 0x5 + 1061 004f 22010000 .4byte .LASF4 + 1062 0053 03 .uleb128 0x3 + 1063 0054 19010000 .4byte .LASF6 + BFIN GAS /tmp/ccUsc9gL.s page 23 + + + 1064 0058 02 .byte 0x2 + 1065 0059 50 .byte 0x50 + 1066 005a 5E000000 .4byte 0x5e + 1067 005e 02 .uleb128 0x2 + 1068 005f 04 .byte 0x4 + 1069 0060 07 .byte 0x7 + 1070 0061 4A000000 .4byte .LASF7 + 1071 0065 02 .uleb128 0x2 + 1072 0066 08 .byte 0x8 + 1073 0067 05 .byte 0x5 + 1074 0068 F2000000 .4byte .LASF8 + 1075 006c 02 .uleb128 0x2 + 1076 006d 08 .byte 0x8 + 1077 006e 07 .byte 0x7 + 1078 006f DB000000 .4byte .LASF9 + 1079 0073 04 .uleb128 0x4 + 1080 0074 04 .byte 0x4 + 1081 0075 05 .byte 0x5 + 1082 0076 696E7400 .string "int" + 1083 007a 02 .uleb128 0x2 + 1084 007b 04 .byte 0x4 + 1085 007c 07 .byte 0x7 + 1086 007d CE000000 .4byte .LASF10 + 1087 0081 05 .uleb128 0x5 + 1088 0082 C5000000 .4byte .LASF17 + 1089 0086 01 .byte 0x1 + 1090 0087 13 .byte 0x13 + 1091 0088 01 .byte 0x1 + 1092 0089 3A000000 .4byte 0x3a + 1093 008d 01 .byte 0x1 + 1094 008e AB000000 .4byte 0xab + 1095 0092 06 .uleb128 0x6 + 1096 0093 00000000 .4byte .LASF11 + 1097 0097 01 .byte 0x1 + 1098 0098 13 .byte 0x13 + 1099 0099 3A000000 .4byte 0x3a + 1100 009d 07 .uleb128 0x7 + 1101 009e 08 .uleb128 0x8 + 1102 009f 13010000 .4byte .LASF18 + 1103 00a3 01 .byte 0x1 + 1104 00a4 16 .byte 0x16 + 1105 00a5 AB000000 .4byte 0xab + 1106 00a9 00 .byte 0x0 + 1107 00aa 00 .byte 0x0 + 1108 00ab 09 .uleb128 0x9 + 1109 00ac 3A000000 .4byte 0x3a + 1110 00b0 0A .uleb128 0xa + 1111 00b1 01 .byte 0x1 + 1112 00b2 37010000 .4byte .LASF19 + 1113 00b6 01 .byte 0x1 + 1114 00b7 31 .byte 0x31 + 1115 00b8 01 .byte 0x1 + 1116 00b9 01 .byte 0x1 + 1117 00ba 2B010000 .4byte 0x12b + 1118 00be 06 .uleb128 0x6 + 1119 00bf 29000000 .4byte .LASF12 + 1120 00c3 01 .byte 0x1 + BFIN GAS /tmp/ccUsc9gL.s page 24 + + + 1121 00c4 31 .byte 0x31 + 1122 00c5 3A000000 .4byte 0x3a + 1123 00c9 06 .uleb128 0x6 + 1124 00ca 05000000 .4byte .LASF13 + 1125 00ce 01 .byte 0x1 + 1126 00cf 31 .byte 0x31 + 1127 00d0 53000000 .4byte 0x53 + 1128 00d4 0B .uleb128 0xb + 1129 00d5 E6000000 .4byte 0xe6 + 1130 00d9 0C .uleb128 0xc + 1131 00da 92000000 .4byte 0x92 + 1132 00de 07 .uleb128 0x7 + 1133 00df 0D .uleb128 0xd + 1134 00e0 9E000000 .4byte 0x9e + 1135 00e4 00 .byte 0x0 + 1136 00e5 00 .byte 0x0 + 1137 00e6 0B .uleb128 0xb + 1138 00e7 F8000000 .4byte 0xf8 + 1139 00eb 0C .uleb128 0xc + 1140 00ec 92000000 .4byte 0x92 + 1141 00f0 07 .uleb128 0x7 + 1142 00f1 0D .uleb128 0xd + 1143 00f2 9E000000 .4byte 0x9e + 1144 00f6 00 .byte 0x0 + 1145 00f7 00 .byte 0x0 + 1146 00f8 0B .uleb128 0xb + 1147 00f9 0A010000 .4byte 0x10a + 1148 00fd 0C .uleb128 0xc + 1149 00fe 92000000 .4byte 0x92 + 1150 0102 07 .uleb128 0x7 + 1151 0103 0D .uleb128 0xd + 1152 0104 9E000000 .4byte 0x9e + 1153 0108 00 .byte 0x0 + 1154 0109 00 .byte 0x0 + 1155 010a 0B .uleb128 0xb + 1156 010b 1C010000 .4byte 0x11c + 1157 010f 0C .uleb128 0xc + 1158 0110 92000000 .4byte 0x92 + 1159 0114 07 .uleb128 0x7 + 1160 0115 0D .uleb128 0xd + 1161 0116 9E000000 .4byte 0x9e + 1162 011a 00 .byte 0x0 + 1163 011b 00 .byte 0x0 + 1164 011c 07 .uleb128 0x7 + 1165 011d 0C .uleb128 0xc + 1166 011e 92000000 .4byte 0x92 + 1167 0122 07 .uleb128 0x7 + 1168 0123 0D .uleb128 0xd + 1169 0124 9E000000 .4byte 0x9e + 1170 0128 00 .byte 0x0 + 1171 0129 00 .byte 0x0 + 1172 012a 00 .byte 0x0 + 1173 012b 0E .uleb128 0xe + 1174 012c B0000000 .4byte 0xb0 + 1175 0130 00000000 .4byte .LFB4 + 1176 0134 50010000 .4byte .LFE4 + 1177 0138 00000000 .4byte .LLST0 + BFIN GAS /tmp/ccUsc9gL.s page 25 + + + 1178 013c 12020000 .4byte 0x212 + 1179 0140 0F .uleb128 0xf + 1180 0141 BE000000 .4byte 0xbe + 1181 0145 1F000000 .4byte .LLST1 + 1182 0149 0F .uleb128 0xf + 1183 014a C9000000 .4byte 0xc9 + 1184 014e 3D000000 .4byte .LLST2 + 1185 0152 10 .uleb128 0x10 + 1186 0153 81000000 .4byte 0x81 + 1187 0157 00000000 .4byte .Ldebug_ranges0+0x0 + 1188 015b 01 .byte 0x1 + 1189 015c 32 .byte 0x32 + 1190 015d 79010000 .4byte 0x179 + 1191 0161 0C .uleb128 0xc + 1192 0162 92000000 .4byte 0x92 + 1193 0166 11 .uleb128 0x11 + 1194 0167 16000000 .4byte .LBB66 + 1195 016b 1E000000 .4byte .LBE66 + 1196 016f 12 .uleb128 0x12 + 1197 0170 9E000000 .4byte 0x9e + 1198 0174 02 .byte 0x2 + 1199 0175 7F .byte 0x7f + 1200 0176 7C .sleb128 -4 + 1201 0177 00 .byte 0x0 + 1202 0178 00 .byte 0x0 + 1203 0179 10 .uleb128 0x10 + 1204 017a 81000000 .4byte 0x81 + 1205 017e 38000000 .4byte .Ldebug_ranges0+0x38 + 1206 0182 01 .byte 0x1 + 1207 0183 33 .byte 0x33 + 1208 0184 A0010000 .4byte 0x1a0 + 1209 0188 0C .uleb128 0xc + 1210 0189 92000000 .4byte 0x92 + 1211 018d 11 .uleb128 0x11 + 1212 018e 5A000000 .4byte .LBB77 + 1213 0192 60000000 .4byte .LBE77 + 1214 0196 12 .uleb128 0x12 + 1215 0197 9E000000 .4byte 0x9e + 1216 019b 02 .byte 0x2 + 1217 019c 7F .byte 0x7f + 1218 019d 7C .sleb128 -4 + 1219 019e 00 .byte 0x0 + 1220 019f 00 .byte 0x0 + 1221 01a0 10 .uleb128 0x10 + 1222 01a1 81000000 .4byte 0x81 + 1223 01a5 60000000 .4byte .Ldebug_ranges0+0x60 + 1224 01a9 01 .byte 0x1 + 1225 01aa 34 .byte 0x34 + 1226 01ab C7010000 .4byte 0x1c7 + 1227 01af 0F .uleb128 0xf + 1228 01b0 92000000 .4byte 0x92 + 1229 01b4 5B000000 .4byte .LLST3 + 1230 01b8 13 .uleb128 0x13 + 1231 01b9 80000000 .4byte .Ldebug_ranges0+0x80 + 1232 01bd 12 .uleb128 0x12 + 1233 01be 9E000000 .4byte 0x9e + 1234 01c2 02 .byte 0x2 + BFIN GAS /tmp/ccUsc9gL.s page 26 + + + 1235 01c3 7F .byte 0x7f + 1236 01c4 7C .sleb128 -4 + 1237 01c5 00 .byte 0x0 + 1238 01c6 00 .byte 0x0 + 1239 01c7 10 .uleb128 0x10 + 1240 01c8 81000000 .4byte 0x81 + 1241 01cc 98000000 .4byte .Ldebug_ranges0+0x98 + 1242 01d0 01 .byte 0x1 + 1243 01d1 35 .byte 0x35 + 1244 01d2 EE010000 .4byte 0x1ee + 1245 01d6 0F .uleb128 0xf + 1246 01d7 92000000 .4byte 0x92 + 1247 01db 6E000000 .4byte .LLST4 + 1248 01df 13 .uleb128 0x13 + 1249 01e0 B8000000 .4byte .Ldebug_ranges0+0xb8 + 1250 01e4 12 .uleb128 0x12 + 1251 01e5 9E000000 .4byte 0x9e + 1252 01e9 02 .byte 0x2 + 1253 01ea 7F .byte 0x7f + 1254 01eb 7C .sleb128 -4 + 1255 01ec 00 .byte 0x0 + 1256 01ed 00 .byte 0x0 + 1257 01ee 14 .uleb128 0x14 + 1258 01ef 81000000 .4byte 0x81 + 1259 01f3 D0000000 .4byte .Ldebug_ranges0+0xd0 + 1260 01f7 01 .byte 0x1 + 1261 01f8 36 .byte 0x36 + 1262 01f9 0F .uleb128 0xf + 1263 01fa 92000000 .4byte 0x92 + 1264 01fe 81000000 .4byte .LLST5 + 1265 0202 13 .uleb128 0x13 + 1266 0203 E8000000 .4byte .Ldebug_ranges0+0xe8 + 1267 0207 12 .uleb128 0x12 + 1268 0208 9E000000 .4byte 0x9e + 1269 020c 02 .byte 0x2 + 1270 020d 7F .byte 0x7f + 1271 020e 7C .sleb128 -4 + 1272 020f 00 .byte 0x0 + 1273 0210 00 .byte 0x0 + 1274 0211 00 .byte 0x0 + 1275 0212 15 .uleb128 0x15 + 1276 0213 01 .byte 0x1 + 1277 0214 2E000000 .4byte .LASF20 + 1278 0218 01 .byte 0x1 + 1279 0219 3A .byte 0x3a + 1280 021a 01 .byte 0x1 + 1281 021b 53000000 .4byte 0x53 + 1282 021f 50010000 .4byte .LFB5 + 1283 0223 A2020000 .4byte .LFE5 + 1284 0227 94000000 .4byte .LLST6 + 1285 022b 0D030000 .4byte 0x30d + 1286 022f 16 .uleb128 0x16 + 1287 0230 29000000 .4byte .LASF12 + 1288 0234 01 .byte 0x1 + 1289 0235 3A .byte 0x3a + 1290 0236 3A000000 .4byte 0x3a + 1291 023a B3000000 .4byte .LLST7 + BFIN GAS /tmp/ccUsc9gL.s page 27 + + + 1292 023e 17 .uleb128 0x17 + 1293 023f 72657400 .string "ret" + 1294 0243 01 .byte 0x1 + 1295 0244 3B .byte 0x3b + 1296 0245 53000000 .4byte 0x53 + 1297 0249 D1000000 .4byte .LLST8 + 1298 024d 10 .uleb128 0x10 + 1299 024e 81000000 .4byte 0x81 + 1300 0252 00010000 .4byte .Ldebug_ranges0+0x100 + 1301 0256 01 .byte 0x1 + 1302 0257 3C .byte 0x3c + 1303 0258 74020000 .4byte 0x274 + 1304 025c 0C .uleb128 0xc + 1305 025d 92000000 .4byte 0x92 + 1306 0261 11 .uleb128 0x11 + 1307 0262 64010000 .4byte .LBB110 + 1308 0266 6C010000 .4byte .LBE110 + 1309 026a 12 .uleb128 0x12 + 1310 026b 9E000000 .4byte 0x9e + 1311 026f 02 .byte 0x2 + 1312 0270 7F .byte 0x7f + 1313 0271 7C .sleb128 -4 + 1314 0272 00 .byte 0x0 + 1315 0273 00 .byte 0x0 + 1316 0274 10 .uleb128 0x10 + 1317 0275 81000000 .4byte 0x81 + 1318 0279 30010000 .4byte .Ldebug_ranges0+0x130 + 1319 027d 01 .byte 0x1 + 1320 027e 3D .byte 0x3d + 1321 027f 9B020000 .4byte 0x29b + 1322 0283 0C .uleb128 0xc + 1323 0284 92000000 .4byte 0x92 + 1324 0288 11 .uleb128 0x11 + 1325 0289 AE010000 .4byte .LBB119 + 1326 028d B4010000 .4byte .LBE119 + 1327 0291 12 .uleb128 0x12 + 1328 0292 9E000000 .4byte 0x9e + 1329 0296 02 .byte 0x2 + 1330 0297 7F .byte 0x7f + 1331 0298 7C .sleb128 -4 + 1332 0299 00 .byte 0x0 + 1333 029a 00 .byte 0x0 + 1334 029b 10 .uleb128 0x10 + 1335 029c 81000000 .4byte 0x81 + 1336 02a0 50010000 .4byte .Ldebug_ranges0+0x150 + 1337 02a4 01 .byte 0x1 + 1338 02a5 3E .byte 0x3e + 1339 02a6 C2020000 .4byte 0x2c2 + 1340 02aa 0C .uleb128 0xc + 1341 02ab 92000000 .4byte 0x92 + 1342 02af 11 .uleb128 0x11 + 1343 02b0 EC010000 .4byte .LBB126 + 1344 02b4 F2010000 .4byte .LBE126 + 1345 02b8 12 .uleb128 0x12 + 1346 02b9 9E000000 .4byte 0x9e + 1347 02bd 02 .byte 0x2 + 1348 02be 7F .byte 0x7f + BFIN GAS /tmp/ccUsc9gL.s page 28 + + + 1349 02bf 7C .sleb128 -4 + 1350 02c0 00 .byte 0x0 + 1351 02c1 00 .byte 0x0 + 1352 02c2 10 .uleb128 0x10 + 1353 02c3 81000000 .4byte 0x81 + 1354 02c7 70010000 .4byte .Ldebug_ranges0+0x170 + 1355 02cb 01 .byte 0x1 + 1356 02cc 3F .byte 0x3f + 1357 02cd E9020000 .4byte 0x2e9 + 1358 02d1 0C .uleb128 0xc + 1359 02d2 92000000 .4byte 0x92 + 1360 02d6 11 .uleb128 0x11 + 1361 02d7 2A020000 .4byte .LBB133 + 1362 02db 30020000 .4byte .LBE133 + 1363 02df 12 .uleb128 0x12 + 1364 02e0 9E000000 .4byte 0x9e + 1365 02e4 02 .byte 0x2 + 1366 02e5 7F .byte 0x7f + 1367 02e6 7C .sleb128 -4 + 1368 02e7 00 .byte 0x0 + 1369 02e8 00 .byte 0x0 + 1370 02e9 14 .uleb128 0x14 + 1371 02ea 81000000 .4byte 0x81 + 1372 02ee 90010000 .4byte .Ldebug_ranges0+0x190 + 1373 02f2 01 .byte 0x1 + 1374 02f3 41 .byte 0x41 + 1375 02f4 0C .uleb128 0xc + 1376 02f5 92000000 .4byte 0x92 + 1377 02f9 11 .uleb128 0x11 + 1378 02fa 68020000 .4byte .LBB139 + 1379 02fe 6E020000 .4byte .LBE139 + 1380 0302 12 .uleb128 0x12 + 1381 0303 9E000000 .4byte 0x9e + 1382 0307 02 .byte 0x2 + 1383 0308 7F .byte 0x7f + 1384 0309 7C .sleb128 -4 + 1385 030a 00 .byte 0x0 + 1386 030b 00 .byte 0x0 + 1387 030c 00 .byte 0x0 + 1388 030d 18 .uleb128 0x18 + 1389 030e 01 .byte 0x1 + 1390 030f 1B000000 .4byte .LASF21 + 1391 0313 01 .byte 0x1 + 1392 0314 24 .byte 0x24 + 1393 0315 01 .byte 0x1 + 1394 0316 A4020000 .4byte .LFB3 + 1395 031a 18040000 .4byte .LFE3 + 1396 031e E4000000 .4byte .LLST9 + 1397 0322 19 .uleb128 0x19 + 1398 0323 B0000000 .4byte 0xb0 + 1399 0327 DC020000 .4byte .LBB160 + 1400 032b 12040000 .4byte .LBE160 + 1401 032f 01 .byte 0x1 + 1402 0330 2D .byte 0x2d + 1403 0331 0C .uleb128 0xc + 1404 0332 49010000 .4byte 0x149 + 1405 0336 0C .uleb128 0xc + BFIN GAS /tmp/ccUsc9gL.s page 29 + + + 1406 0337 40010000 .4byte 0x140 + 1407 033b 10 .uleb128 0x10 + 1408 033c 81000000 .4byte 0x81 + 1409 0340 A8010000 .4byte .Ldebug_ranges0+0x1a8 + 1410 0344 01 .byte 0x1 + 1411 0345 32 .byte 0x32 + 1412 0346 62030000 .4byte 0x362 + 1413 034a 0C .uleb128 0xc + 1414 034b 92000000 .4byte 0x92 + 1415 034f 11 .uleb128 0x11 + 1416 0350 EA020000 .4byte .LBB164 + 1417 0354 F2020000 .4byte .LBE164 + 1418 0358 12 .uleb128 0x12 + 1419 0359 9E000000 .4byte 0x9e + 1420 035d 02 .byte 0x2 + 1421 035e 7F .byte 0x7f + 1422 035f 7C .sleb128 -4 + 1423 0360 00 .byte 0x0 + 1424 0361 00 .byte 0x0 + 1425 0362 10 .uleb128 0x10 + 1426 0363 81000000 .4byte 0x81 + 1427 0367 C0010000 .4byte .Ldebug_ranges0+0x1c0 + 1428 036b 01 .byte 0x1 + 1429 036c 33 .byte 0x33 + 1430 036d 89030000 .4byte 0x389 + 1431 0371 0C .uleb128 0xc + 1432 0372 92000000 .4byte 0x92 + 1433 0376 11 .uleb128 0x11 + 1434 0377 2C030000 .4byte .LBB169 + 1435 037b 32030000 .4byte .LBE169 + 1436 037f 12 .uleb128 0x12 + 1437 0380 9E000000 .4byte 0x9e + 1438 0384 02 .byte 0x2 + 1439 0385 7F .byte 0x7f + 1440 0386 7C .sleb128 -4 + 1441 0387 00 .byte 0x0 + 1442 0388 00 .byte 0x0 + 1443 0389 10 .uleb128 0x10 + 1444 038a 81000000 .4byte 0x81 + 1445 038e E0010000 .4byte .Ldebug_ranges0+0x1e0 + 1446 0392 01 .byte 0x1 + 1447 0393 34 .byte 0x34 + 1448 0394 B0030000 .4byte 0x3b0 + 1449 0398 0C .uleb128 0xc + 1450 0399 92000000 .4byte 0x92 + 1451 039d 11 .uleb128 0x11 + 1452 039e 6A030000 .4byte .LBB176 + 1453 03a2 70030000 .4byte .LBE176 + 1454 03a6 12 .uleb128 0x12 + 1455 03a7 9E000000 .4byte 0x9e + 1456 03ab 02 .byte 0x2 + 1457 03ac 7F .byte 0x7f + 1458 03ad 7C .sleb128 -4 + 1459 03ae 00 .byte 0x0 + 1460 03af 00 .byte 0x0 + 1461 03b0 10 .uleb128 0x10 + 1462 03b1 81000000 .4byte 0x81 + BFIN GAS /tmp/ccUsc9gL.s page 30 + + + 1463 03b5 00020000 .4byte .Ldebug_ranges0+0x200 + 1464 03b9 01 .byte 0x1 + 1465 03ba 35 .byte 0x35 + 1466 03bb D7030000 .4byte 0x3d7 + 1467 03bf 0C .uleb128 0xc + 1468 03c0 92000000 .4byte 0x92 + 1469 03c4 11 .uleb128 0x11 + 1470 03c5 A8030000 .4byte .LBB183 + 1471 03c9 AE030000 .4byte .LBE183 + 1472 03cd 12 .uleb128 0x12 + 1473 03ce 9E000000 .4byte 0x9e + 1474 03d2 02 .byte 0x2 + 1475 03d3 7F .byte 0x7f + 1476 03d4 7C .sleb128 -4 + 1477 03d5 00 .byte 0x0 + 1478 03d6 00 .byte 0x0 + 1479 03d7 14 .uleb128 0x14 + 1480 03d8 81000000 .4byte 0x81 + 1481 03dc 20020000 .4byte .Ldebug_ranges0+0x220 + 1482 03e0 01 .byte 0x1 + 1483 03e1 36 .byte 0x36 + 1484 03e2 0C .uleb128 0xc + 1485 03e3 92000000 .4byte 0x92 + 1486 03e7 11 .uleb128 0x11 + 1487 03e8 E6030000 .4byte .LBB189 + 1488 03ec EC030000 .4byte .LBE189 + 1489 03f0 12 .uleb128 0x12 + 1490 03f1 9E000000 .4byte 0x9e + 1491 03f5 02 .byte 0x2 + 1492 03f6 7F .byte 0x7f + 1493 03f7 7C .sleb128 -4 + 1494 03f8 00 .byte 0x0 + 1495 03f9 00 .byte 0x0 + 1496 03fa 00 .byte 0x0 + 1497 03fb 00 .byte 0x0 + 1498 03fc 00 .byte 0x0 + 1499 .section .debug_abbrev + 1500 0000 01 .uleb128 0x1 + 1501 0001 11 .uleb128 0x11 + 1502 0002 01 .byte 0x1 + 1503 0003 25 .uleb128 0x25 + 1504 0004 0E .uleb128 0xe + 1505 0005 13 .uleb128 0x13 + 1506 0006 0B .uleb128 0xb + 1507 0007 03 .uleb128 0x3 + 1508 0008 0E .uleb128 0xe + 1509 0009 1B .uleb128 0x1b + 1510 000a 0E .uleb128 0xe + 1511 000b 11 .uleb128 0x11 + 1512 000c 01 .uleb128 0x1 + 1513 000d 12 .uleb128 0x12 + 1514 000e 01 .uleb128 0x1 + 1515 000f 10 .uleb128 0x10 + 1516 0010 06 .uleb128 0x6 + 1517 0011 00 .byte 0x0 + 1518 0012 00 .byte 0x0 + 1519 0013 02 .uleb128 0x2 + BFIN GAS /tmp/ccUsc9gL.s page 31 + + + 1520 0014 24 .uleb128 0x24 + 1521 0015 00 .byte 0x0 + 1522 0016 0B .uleb128 0xb + 1523 0017 0B .uleb128 0xb + 1524 0018 3E .uleb128 0x3e + 1525 0019 0B .uleb128 0xb + 1526 001a 03 .uleb128 0x3 + 1527 001b 0E .uleb128 0xe + 1528 001c 00 .byte 0x0 + 1529 001d 00 .byte 0x0 + 1530 001e 03 .uleb128 0x3 + 1531 001f 16 .uleb128 0x16 + 1532 0020 00 .byte 0x0 + 1533 0021 03 .uleb128 0x3 + 1534 0022 0E .uleb128 0xe + 1535 0023 3A .uleb128 0x3a + 1536 0024 0B .uleb128 0xb + 1537 0025 3B .uleb128 0x3b + 1538 0026 0B .uleb128 0xb + 1539 0027 49 .uleb128 0x49 + 1540 0028 13 .uleb128 0x13 + 1541 0029 00 .byte 0x0 + 1542 002a 00 .byte 0x0 + 1543 002b 04 .uleb128 0x4 + 1544 002c 24 .uleb128 0x24 + 1545 002d 00 .byte 0x0 + 1546 002e 0B .uleb128 0xb + 1547 002f 0B .uleb128 0xb + 1548 0030 3E .uleb128 0x3e + 1549 0031 0B .uleb128 0xb + 1550 0032 03 .uleb128 0x3 + 1551 0033 08 .uleb128 0x8 + 1552 0034 00 .byte 0x0 + 1553 0035 00 .byte 0x0 + 1554 0036 05 .uleb128 0x5 + 1555 0037 2E .uleb128 0x2e + 1556 0038 01 .byte 0x1 + 1557 0039 03 .uleb128 0x3 + 1558 003a 0E .uleb128 0xe + 1559 003b 3A .uleb128 0x3a + 1560 003c 0B .uleb128 0xb + 1561 003d 3B .uleb128 0x3b + 1562 003e 0B .uleb128 0xb + 1563 003f 27 .uleb128 0x27 + 1564 0040 0C .uleb128 0xc + 1565 0041 49 .uleb128 0x49 + 1566 0042 13 .uleb128 0x13 + 1567 0043 20 .uleb128 0x20 + 1568 0044 0B .uleb128 0xb + 1569 0045 01 .uleb128 0x1 + 1570 0046 13 .uleb128 0x13 + 1571 0047 00 .byte 0x0 + 1572 0048 00 .byte 0x0 + 1573 0049 06 .uleb128 0x6 + 1574 004a 05 .uleb128 0x5 + 1575 004b 00 .byte 0x0 + 1576 004c 03 .uleb128 0x3 + BFIN GAS /tmp/ccUsc9gL.s page 32 + + + 1577 004d 0E .uleb128 0xe + 1578 004e 3A .uleb128 0x3a + 1579 004f 0B .uleb128 0xb + 1580 0050 3B .uleb128 0x3b + 1581 0051 0B .uleb128 0xb + 1582 0052 49 .uleb128 0x49 + 1583 0053 13 .uleb128 0x13 + 1584 0054 00 .byte 0x0 + 1585 0055 00 .byte 0x0 + 1586 0056 07 .uleb128 0x7 + 1587 0057 0B .uleb128 0xb + 1588 0058 01 .byte 0x1 + 1589 0059 00 .byte 0x0 + 1590 005a 00 .byte 0x0 + 1591 005b 08 .uleb128 0x8 + 1592 005c 34 .uleb128 0x34 + 1593 005d 00 .byte 0x0 + 1594 005e 03 .uleb128 0x3 + 1595 005f 0E .uleb128 0xe + 1596 0060 3A .uleb128 0x3a + 1597 0061 0B .uleb128 0xb + 1598 0062 3B .uleb128 0x3b + 1599 0063 0B .uleb128 0xb + 1600 0064 49 .uleb128 0x49 + 1601 0065 13 .uleb128 0x13 + 1602 0066 00 .byte 0x0 + 1603 0067 00 .byte 0x0 + 1604 0068 09 .uleb128 0x9 + 1605 0069 35 .uleb128 0x35 + 1606 006a 00 .byte 0x0 + 1607 006b 49 .uleb128 0x49 + 1608 006c 13 .uleb128 0x13 + 1609 006d 00 .byte 0x0 + 1610 006e 00 .byte 0x0 + 1611 006f 0A .uleb128 0xa + 1612 0070 2E .uleb128 0x2e + 1613 0071 01 .byte 0x1 + 1614 0072 3F .uleb128 0x3f + 1615 0073 0C .uleb128 0xc + 1616 0074 03 .uleb128 0x3 + 1617 0075 0E .uleb128 0xe + 1618 0076 3A .uleb128 0x3a + 1619 0077 0B .uleb128 0xb + 1620 0078 3B .uleb128 0x3b + 1621 0079 0B .uleb128 0xb + 1622 007a 27 .uleb128 0x27 + 1623 007b 0C .uleb128 0xc + 1624 007c 20 .uleb128 0x20 + 1625 007d 0B .uleb128 0xb + 1626 007e 01 .uleb128 0x1 + 1627 007f 13 .uleb128 0x13 + 1628 0080 00 .byte 0x0 + 1629 0081 00 .byte 0x0 + 1630 0082 0B .uleb128 0xb + 1631 0083 0B .uleb128 0xb + 1632 0084 01 .byte 0x1 + 1633 0085 01 .uleb128 0x1 + BFIN GAS /tmp/ccUsc9gL.s page 33 + + + 1634 0086 13 .uleb128 0x13 + 1635 0087 00 .byte 0x0 + 1636 0088 00 .byte 0x0 + 1637 0089 0C .uleb128 0xc + 1638 008a 05 .uleb128 0x5 + 1639 008b 00 .byte 0x0 + 1640 008c 31 .uleb128 0x31 + 1641 008d 13 .uleb128 0x13 + 1642 008e 00 .byte 0x0 + 1643 008f 00 .byte 0x0 + 1644 0090 0D .uleb128 0xd + 1645 0091 34 .uleb128 0x34 + 1646 0092 00 .byte 0x0 + 1647 0093 31 .uleb128 0x31 + 1648 0094 13 .uleb128 0x13 + 1649 0095 00 .byte 0x0 + 1650 0096 00 .byte 0x0 + 1651 0097 0E .uleb128 0xe + 1652 0098 2E .uleb128 0x2e + 1653 0099 01 .byte 0x1 + 1654 009a 31 .uleb128 0x31 + 1655 009b 13 .uleb128 0x13 + 1656 009c 11 .uleb128 0x11 + 1657 009d 01 .uleb128 0x1 + 1658 009e 12 .uleb128 0x12 + 1659 009f 01 .uleb128 0x1 + 1660 00a0 40 .uleb128 0x40 + 1661 00a1 06 .uleb128 0x6 + 1662 00a2 01 .uleb128 0x1 + 1663 00a3 13 .uleb128 0x13 + 1664 00a4 00 .byte 0x0 + 1665 00a5 00 .byte 0x0 + 1666 00a6 0F .uleb128 0xf + 1667 00a7 05 .uleb128 0x5 + 1668 00a8 00 .byte 0x0 + 1669 00a9 31 .uleb128 0x31 + 1670 00aa 13 .uleb128 0x13 + 1671 00ab 02 .uleb128 0x2 + 1672 00ac 06 .uleb128 0x6 + 1673 00ad 00 .byte 0x0 + 1674 00ae 00 .byte 0x0 + 1675 00af 10 .uleb128 0x10 + 1676 00b0 1D .uleb128 0x1d + 1677 00b1 01 .byte 0x1 + 1678 00b2 31 .uleb128 0x31 + 1679 00b3 13 .uleb128 0x13 + 1680 00b4 55 .uleb128 0x55 + 1681 00b5 06 .uleb128 0x6 + 1682 00b6 58 .uleb128 0x58 + 1683 00b7 0B .uleb128 0xb + 1684 00b8 59 .uleb128 0x59 + 1685 00b9 0B .uleb128 0xb + 1686 00ba 01 .uleb128 0x1 + 1687 00bb 13 .uleb128 0x13 + 1688 00bc 00 .byte 0x0 + 1689 00bd 00 .byte 0x0 + 1690 00be 11 .uleb128 0x11 + BFIN GAS /tmp/ccUsc9gL.s page 34 + + + 1691 00bf 0B .uleb128 0xb + 1692 00c0 01 .byte 0x1 + 1693 00c1 11 .uleb128 0x11 + 1694 00c2 01 .uleb128 0x1 + 1695 00c3 12 .uleb128 0x12 + 1696 00c4 01 .uleb128 0x1 + 1697 00c5 00 .byte 0x0 + 1698 00c6 00 .byte 0x0 + 1699 00c7 12 .uleb128 0x12 + 1700 00c8 34 .uleb128 0x34 + 1701 00c9 00 .byte 0x0 + 1702 00ca 31 .uleb128 0x31 + 1703 00cb 13 .uleb128 0x13 + 1704 00cc 02 .uleb128 0x2 + 1705 00cd 0A .uleb128 0xa + 1706 00ce 00 .byte 0x0 + 1707 00cf 00 .byte 0x0 + 1708 00d0 13 .uleb128 0x13 + 1709 00d1 0B .uleb128 0xb + 1710 00d2 01 .byte 0x1 + 1711 00d3 55 .uleb128 0x55 + 1712 00d4 06 .uleb128 0x6 + 1713 00d5 00 .byte 0x0 + 1714 00d6 00 .byte 0x0 + 1715 00d7 14 .uleb128 0x14 + 1716 00d8 1D .uleb128 0x1d + 1717 00d9 01 .byte 0x1 + 1718 00da 31 .uleb128 0x31 + 1719 00db 13 .uleb128 0x13 + 1720 00dc 55 .uleb128 0x55 + 1721 00dd 06 .uleb128 0x6 + 1722 00de 58 .uleb128 0x58 + 1723 00df 0B .uleb128 0xb + 1724 00e0 59 .uleb128 0x59 + 1725 00e1 0B .uleb128 0xb + 1726 00e2 00 .byte 0x0 + 1727 00e3 00 .byte 0x0 + 1728 00e4 15 .uleb128 0x15 + 1729 00e5 2E .uleb128 0x2e + 1730 00e6 01 .byte 0x1 + 1731 00e7 3F .uleb128 0x3f + 1732 00e8 0C .uleb128 0xc + 1733 00e9 03 .uleb128 0x3 + 1734 00ea 0E .uleb128 0xe + 1735 00eb 3A .uleb128 0x3a + 1736 00ec 0B .uleb128 0xb + 1737 00ed 3B .uleb128 0x3b + 1738 00ee 0B .uleb128 0xb + 1739 00ef 27 .uleb128 0x27 + 1740 00f0 0C .uleb128 0xc + 1741 00f1 49 .uleb128 0x49 + 1742 00f2 13 .uleb128 0x13 + 1743 00f3 11 .uleb128 0x11 + 1744 00f4 01 .uleb128 0x1 + 1745 00f5 12 .uleb128 0x12 + 1746 00f6 01 .uleb128 0x1 + 1747 00f7 40 .uleb128 0x40 + BFIN GAS /tmp/ccUsc9gL.s page 35 + + + 1748 00f8 06 .uleb128 0x6 + 1749 00f9 01 .uleb128 0x1 + 1750 00fa 13 .uleb128 0x13 + 1751 00fb 00 .byte 0x0 + 1752 00fc 00 .byte 0x0 + 1753 00fd 16 .uleb128 0x16 + 1754 00fe 05 .uleb128 0x5 + 1755 00ff 00 .byte 0x0 + 1756 0100 03 .uleb128 0x3 + 1757 0101 0E .uleb128 0xe + 1758 0102 3A .uleb128 0x3a + 1759 0103 0B .uleb128 0xb + 1760 0104 3B .uleb128 0x3b + 1761 0105 0B .uleb128 0xb + 1762 0106 49 .uleb128 0x49 + 1763 0107 13 .uleb128 0x13 + 1764 0108 02 .uleb128 0x2 + 1765 0109 06 .uleb128 0x6 + 1766 010a 00 .byte 0x0 + 1767 010b 00 .byte 0x0 + 1768 010c 17 .uleb128 0x17 + 1769 010d 34 .uleb128 0x34 + 1770 010e 00 .byte 0x0 + 1771 010f 03 .uleb128 0x3 + 1772 0110 08 .uleb128 0x8 + 1773 0111 3A .uleb128 0x3a + 1774 0112 0B .uleb128 0xb + 1775 0113 3B .uleb128 0x3b + 1776 0114 0B .uleb128 0xb + 1777 0115 49 .uleb128 0x49 + 1778 0116 13 .uleb128 0x13 + 1779 0117 02 .uleb128 0x2 + 1780 0118 06 .uleb128 0x6 + 1781 0119 00 .byte 0x0 + 1782 011a 00 .byte 0x0 + 1783 011b 18 .uleb128 0x18 + 1784 011c 2E .uleb128 0x2e + 1785 011d 01 .byte 0x1 + 1786 011e 3F .uleb128 0x3f + 1787 011f 0C .uleb128 0xc + 1788 0120 03 .uleb128 0x3 + 1789 0121 0E .uleb128 0xe + 1790 0122 3A .uleb128 0x3a + 1791 0123 0B .uleb128 0xb + 1792 0124 3B .uleb128 0x3b + 1793 0125 0B .uleb128 0xb + 1794 0126 27 .uleb128 0x27 + 1795 0127 0C .uleb128 0xc + 1796 0128 11 .uleb128 0x11 + 1797 0129 01 .uleb128 0x1 + 1798 012a 12 .uleb128 0x12 + 1799 012b 01 .uleb128 0x1 + 1800 012c 40 .uleb128 0x40 + 1801 012d 06 .uleb128 0x6 + 1802 012e 00 .byte 0x0 + 1803 012f 00 .byte 0x0 + 1804 0130 19 .uleb128 0x19 + BFIN GAS /tmp/ccUsc9gL.s page 36 + + + 1805 0131 1D .uleb128 0x1d + 1806 0132 01 .byte 0x1 + 1807 0133 31 .uleb128 0x31 + 1808 0134 13 .uleb128 0x13 + 1809 0135 11 .uleb128 0x11 + 1810 0136 01 .uleb128 0x1 + 1811 0137 12 .uleb128 0x12 + 1812 0138 01 .uleb128 0x1 + 1813 0139 58 .uleb128 0x58 + 1814 013a 0B .uleb128 0xb + 1815 013b 59 .uleb128 0x59 + 1816 013c 0B .uleb128 0xb + 1817 013d 00 .byte 0x0 + 1818 013e 00 .byte 0x0 + 1819 013f 00 .byte 0x0 + 1820 .section .debug_pubnames,"",@progbits + 1821 0000 45000000 .4byte 0x45 + 1822 0004 0200 .2byte 0x2 + 1823 0006 00000000 .4byte .Ldebug_info0 + 1824 000a FD030000 .4byte 0x3fd + 1825 000e 2B010000 .4byte 0x12b + 1826 0012 66706761 .string "fpga_reg_write" + 1826 5F726567 + 1826 5F777269 + 1826 746500 + 1827 0021 12020000 .4byte 0x212 + 1828 0025 66706761 .string "fpga_reg_read" + 1828 5F726567 + 1828 5F726561 + 1828 6400 + 1829 0033 0D030000 .4byte 0x30d + 1830 0037 66706761 .string "fpga_spi_init" + 1830 5F737069 + 1830 5F696E69 + 1830 7400 + 1831 0045 00000000 .4byte 0x0 + 1832 .section .debug_aranges,"",@progbits + 1833 0000 1C000000 .4byte 0x1c + 1834 0004 0200 .2byte 0x2 + 1835 0006 00000000 .4byte .Ldebug_info0 + 1836 000a 04 .byte 0x4 + 1837 000b 00 .byte 0x0 + 1838 000c 0000 .2byte 0x0 + 1839 000e 0000 .2byte 0x0 + 1840 0010 00000000 .4byte .Ltext0 + 1841 0014 18040000 .4byte .Letext0-.Ltext0 + 1842 0018 00000000 .4byte 0x0 + 1843 001c 00000000 .4byte 0x0 + 1844 .section .debug_ranges,"",@progbits + 1845 .Ldebug_ranges0: + 1846 0000 00000000 .4byte .LBB62-.Ltext0 + 1847 0004 04000000 .4byte .LBE62-.Ltext0 + 1848 0008 4A000000 .4byte .LBB80-.Ltext0 + 1849 000c 4C000000 .4byte .LBE80-.Ltext0 + 1850 0010 2C000000 .4byte .LBB73-.Ltext0 + 1851 0014 46000000 .4byte .LBE73-.Ltext0 + 1852 0018 22000000 .4byte .LBB72-.Ltext0 + BFIN GAS /tmp/ccUsc9gL.s page 37 + + + 1853 001c 2A000000 .4byte .LBE72-.Ltext0 + 1854 0020 12000000 .4byte .LBB71-.Ltext0 + 1855 0024 1E000000 .4byte .LBE71-.Ltext0 + 1856 0028 0A000000 .4byte .LBB70-.Ltext0 + 1857 002c 10000000 .4byte .LBE70-.Ltext0 + 1858 0030 00000000 .4byte 0x0 + 1859 0034 00000000 .4byte 0x0 + 1860 0038 46000000 .4byte .LBB74-.Ltext0 + 1861 003c 4A000000 .4byte .LBE74-.Ltext0 + 1862 0040 8A000000 .4byte .LBB89-.Ltext0 + 1863 0044 8C000000 .4byte .LBE89-.Ltext0 + 1864 0048 6C000000 .4byte .LBB82-.Ltext0 + 1865 004c 86000000 .4byte .LBE82-.Ltext0 + 1866 0050 4C000000 .4byte .LBB81-.Ltext0 + 1867 0054 68000000 .4byte .LBE81-.Ltext0 + 1868 0058 00000000 .4byte 0x0 + 1869 005c 00000000 .4byte 0x0 + 1870 0060 86000000 .4byte .LBB83-.Ltext0 + 1871 0064 8A000000 .4byte .LBE83-.Ltext0 + 1872 0068 CC000000 .4byte .LBB97-.Ltext0 + 1873 006c CE000000 .4byte .LBE97-.Ltext0 + 1874 0070 8C000000 .4byte .LBB90-.Ltext0 + 1875 0074 C8000000 .4byte .LBE90-.Ltext0 + 1876 0078 00000000 .4byte 0x0 + 1877 007c 00000000 .4byte 0x0 + 1878 0080 9A000000 .4byte .LBB87-.Ltext0 + 1879 0084 A4000000 .4byte .LBE87-.Ltext0 + 1880 0088 AC000000 .4byte .LBB86-.Ltext0 + 1881 008c AE000000 .4byte .LBE86-.Ltext0 + 1882 0090 00000000 .4byte 0x0 + 1883 0094 00000000 .4byte 0x0 + 1884 0098 C8000000 .4byte .LBB91-.Ltext0 + 1885 009c CC000000 .4byte .LBE91-.Ltext0 + 1886 00a0 0E010000 .4byte .LBB104-.Ltext0 + 1887 00a4 10010000 .4byte .LBE104-.Ltext0 + 1888 00a8 CE000000 .4byte .LBB98-.Ltext0 + 1889 00ac 0A010000 .4byte .LBE98-.Ltext0 + 1890 00b0 00000000 .4byte 0x0 + 1891 00b4 00000000 .4byte 0x0 + 1892 00b8 DC000000 .4byte .LBB95-.Ltext0 + 1893 00bc E6000000 .4byte .LBE95-.Ltext0 + 1894 00c0 EE000000 .4byte .LBB94-.Ltext0 + 1895 00c4 F0000000 .4byte .LBE94-.Ltext0 + 1896 00c8 00000000 .4byte 0x0 + 1897 00cc 00000000 .4byte 0x0 + 1898 00d0 0A010000 .4byte .LBB99-.Ltext0 + 1899 00d4 0E010000 .4byte .LBE99-.Ltext0 + 1900 00d8 10010000 .4byte .LBB105-.Ltext0 + 1901 00dc 4A010000 .4byte .LBE105-.Ltext0 + 1902 00e0 00000000 .4byte 0x0 + 1903 00e4 00000000 .4byte 0x0 + 1904 00e8 1E010000 .4byte .LBB101-.Ltext0 + 1905 00ec 24010000 .4byte .LBE101-.Ltext0 + 1906 00f0 2C010000 .4byte .LBB102-.Ltext0 + 1907 00f4 2E010000 .4byte .LBE102-.Ltext0 + 1908 00f8 00000000 .4byte 0x0 + 1909 00fc 00000000 .4byte 0x0 + BFIN GAS /tmp/ccUsc9gL.s page 38 + + + 1910 0100 50010000 .4byte .LBB106-.Ltext0 + 1911 0104 54010000 .4byte .LBE106-.Ltext0 + 1912 0108 9E010000 .4byte .LBB121-.Ltext0 + 1913 010c A0010000 .4byte .LBE121-.Ltext0 + 1914 0110 7C010000 .4byte .LBB115-.Ltext0 + 1915 0114 9A010000 .4byte .LBE115-.Ltext0 + 1916 0118 76010000 .4byte .LBB114-.Ltext0 + 1917 011c 7A010000 .4byte .LBE114-.Ltext0 + 1918 0120 5A010000 .4byte .LBB113-.Ltext0 + 1919 0124 6C010000 .4byte .LBE113-.Ltext0 + 1920 0128 00000000 .4byte 0x0 + 1921 012c 00000000 .4byte 0x0 + 1922 0130 9A010000 .4byte .LBB116-.Ltext0 + 1923 0134 9E010000 .4byte .LBE116-.Ltext0 + 1924 0138 DC010000 .4byte .LBB128-.Ltext0 + 1925 013c DE010000 .4byte .LBE128-.Ltext0 + 1926 0140 A0010000 .4byte .LBB122-.Ltext0 + 1927 0144 D8010000 .4byte .LBE122-.Ltext0 + 1928 0148 00000000 .4byte 0x0 + 1929 014c 00000000 .4byte 0x0 + 1930 0150 D8010000 .4byte .LBB123-.Ltext0 + 1931 0154 DC010000 .4byte .LBE123-.Ltext0 + 1932 0158 1A020000 .4byte .LBB135-.Ltext0 + 1933 015c 1C020000 .4byte .LBE135-.Ltext0 + 1934 0160 DE010000 .4byte .LBB129-.Ltext0 + 1935 0164 16020000 .4byte .LBE129-.Ltext0 + 1936 0168 00000000 .4byte 0x0 + 1937 016c 00000000 .4byte 0x0 + 1938 0170 16020000 .4byte .LBB130-.Ltext0 + 1939 0174 1A020000 .4byte .LBE130-.Ltext0 + 1940 0178 58020000 .4byte .LBB141-.Ltext0 + 1941 017c 5A020000 .4byte .LBE141-.Ltext0 + 1942 0180 1C020000 .4byte .LBB136-.Ltext0 + 1943 0184 54020000 .4byte .LBE136-.Ltext0 + 1944 0188 00000000 .4byte 0x0 + 1945 018c 00000000 .4byte 0x0 + 1946 0190 54020000 .4byte .LBB137-.Ltext0 + 1947 0194 58020000 .4byte .LBE137-.Ltext0 + 1948 0198 5A020000 .4byte .LBB142-.Ltext0 + 1949 019c 94020000 .4byte .LBE142-.Ltext0 + 1950 01a0 00000000 .4byte 0x0 + 1951 01a4 00000000 .4byte 0x0 + 1952 01a8 DC020000 .4byte .LBB162-.Ltext0 + 1953 01ac 18030000 .4byte .LBE162-.Ltext0 + 1954 01b0 1C030000 .4byte .LBB171-.Ltext0 + 1955 01b4 1E030000 .4byte .LBE171-.Ltext0 + 1956 01b8 00000000 .4byte 0x0 + 1957 01bc 00000000 .4byte 0x0 + 1958 01c0 18030000 .4byte .LBB166-.Ltext0 + 1959 01c4 1C030000 .4byte .LBE166-.Ltext0 + 1960 01c8 5A030000 .4byte .LBB178-.Ltext0 + 1961 01cc 5C030000 .4byte .LBE178-.Ltext0 + 1962 01d0 1E030000 .4byte .LBB172-.Ltext0 + 1963 01d4 56030000 .4byte .LBE172-.Ltext0 + 1964 01d8 00000000 .4byte 0x0 + 1965 01dc 00000000 .4byte 0x0 + 1966 01e0 56030000 .4byte .LBB173-.Ltext0 + BFIN GAS /tmp/ccUsc9gL.s page 39 + + + 1967 01e4 5A030000 .4byte .LBE173-.Ltext0 + 1968 01e8 98030000 .4byte .LBB185-.Ltext0 + 1969 01ec 9A030000 .4byte .LBE185-.Ltext0 + 1970 01f0 5C030000 .4byte .LBB179-.Ltext0 + 1971 01f4 94030000 .4byte .LBE179-.Ltext0 + 1972 01f8 00000000 .4byte 0x0 + 1973 01fc 00000000 .4byte 0x0 + 1974 0200 94030000 .4byte .LBB180-.Ltext0 + 1975 0204 98030000 .4byte .LBE180-.Ltext0 + 1976 0208 D6030000 .4byte .LBB191-.Ltext0 + 1977 020c D8030000 .4byte .LBE191-.Ltext0 + 1978 0210 9A030000 .4byte .LBB186-.Ltext0 + 1979 0214 D2030000 .4byte .LBE186-.Ltext0 + 1980 0218 00000000 .4byte 0x0 + 1981 021c 00000000 .4byte 0x0 + 1982 0220 D2030000 .4byte .LBB187-.Ltext0 + 1983 0224 D6030000 .4byte .LBE187-.Ltext0 + 1984 0228 D8030000 .4byte .LBB192-.Ltext0 + 1985 022c 12040000 .4byte .LBE192-.Ltext0 + 1986 0230 00000000 .4byte 0x0 + 1987 0234 00000000 .4byte 0x0 + 1988 .section .debug_str,"MS",@progbits,1 + 1989 .LASF11: + 1990 0000 776F7264 .string "word" + 1990 00 + 1991 .LASF13: + 1992 0005 76616C75 .string "value" + 1992 6500 + 1993 .LASF15: + 1994 000b 7372632F .string "src/l502_fpga.c" + 1994 6C353032 + 1994 5F667067 + 1994 612E6300 + 1995 .LASF21: + 1996 001b 66706761 .string "fpga_spi_init" + 1996 5F737069 + 1996 5F696E69 + 1996 7400 + 1997 .LASF12: + 1998 0029 61646472 .string "addr" + 1998 00 + 1999 .LASF20: + 2000 002e 66706761 .string "fpga_reg_read" + 2000 5F726567 + 2000 5F726561 + 2000 6400 + 2001 .LASF1: + 2002 003c 756E7369 .string "unsigned char" + 2002 676E6564 + 2002 20636861 + 2002 7200 + 2003 .LASF7: + 2004 004a 6C6F6E67 .string "long unsigned int" + 2004 20756E73 + 2004 69676E65 + 2004 6420696E + 2004 7400 + BFIN GAS /tmp/ccUsc9gL.s page 40 + + + 2005 .LASF3: + 2006 005c 73686F72 .string "short unsigned int" + 2006 7420756E + 2006 7369676E + 2006 65642069 + 2006 6E7400 + 2007 .LASF14: + 2008 006f 474E5520 .string "GNU C 4.3.5" + 2008 4320342E + 2008 332E3500 + 2009 .LASF16: + 2010 007b 2F686F6D .string "/home/feda/MIPT/RadioPhotonic_Subserface_radar/ADC_computing/BFfirmware_0" + 2010 652F6665 + 2010 64612F4D + 2010 4950542F + 2010 52616469 + 2011 .LASF17: + 2012 00c5 665F7370 .string "f_spi_rw" + 2012 695F7277 + 2012 00 + 2013 .LASF10: + 2014 00ce 756E7369 .string "unsigned int" + 2014 676E6564 + 2014 20696E74 + 2014 00 + 2015 .LASF9: + 2016 00db 6C6F6E67 .string "long long unsigned int" + 2016 206C6F6E + 2016 6720756E + 2016 7369676E + 2016 65642069 + 2017 .LASF8: + 2018 00f2 6C6F6E67 .string "long long int" + 2018 206C6F6E + 2018 6720696E + 2018 7400 + 2019 .LASF2: + 2020 0100 73686F72 .string "short int" + 2020 7420696E + 2020 7400 + 2021 .LASF5: + 2022 010a 75696E74 .string "uint16_t" + 2022 31365F74 + 2022 00 + 2023 .LASF18: + 2024 0113 64756D6D .string "dummy" + 2024 7900 + 2025 .LASF6: + 2026 0119 75696E74 .string "uint32_t" + 2026 33325F74 + 2026 00 + 2027 .LASF4: + 2028 0122 6C6F6E67 .string "long int" + 2028 20696E74 + 2028 00 + 2029 .LASF0: + 2030 012b 7369676E .string "signed char" + BFIN GAS /tmp/ccUsc9gL.s page 41 + + + 2030 65642063 + 2030 68617200 + 2031 .LASF19: + 2032 0137 66706761 .string "fpga_reg_write" + 2032 5F726567 + 2032 5F777269 + 2032 746500 + 2033 .ident "GCC: (ADI-2014R1-RC2) 4.3.5" + BFIN GAS /tmp/ccUsc9gL.s page 42 + + +DEFINED SYMBOLS + *ABS*:0000000000000000 src/l502_fpga.c + /tmp/ccUsc9gL.s:13 .text:0000000000000000 _fpga_reg_write + /tmp/ccUsc9gL.s:312 .text:0000000000000150 _fpga_reg_read + /tmp/ccUsc9gL.s:585 .text:00000000000002a4 _fpga_spi_init + +NO UNDEFINED SYMBOLS diff --git a/build/release/lst/l502_hdma.lst b/build/release/lst/l502_hdma.lst new file mode 100644 index 0000000..c4e77ee --- /dev/null +++ b/build/release/lst/l502_hdma.lst @@ -0,0 +1,4627 @@ +BFIN GAS /tmp/ccZiL1p8.s page 1 + + + 1 .file "src/l502_hdma.c"; + 2 .section .debug_abbrev,"",@progbits + 3 .Ldebug_abbrev0: + 4 .section .debug_info,"",@progbits + 5 .Ldebug_info0: + 6 .section .debug_line,"",@progbits + 7 .Ldebug_line0: + 8 0000 66020000 .text; + 8 0200F100 + 8 00000101 + 8 FB0E0D00 + 8 01010101 + 9 .Ltext0: + 10 .align 4 + 11 .global _hdma_send_start; + 12 .type _hdma_send_start, STT_FUNC; + 13 _hdma_send_start: + 14 .LFB18: + 15 .file 1 "src/l502_hdma.c" + 1:src/l502_hdma.c **** /***************************************************************************//** + 2:src/l502_hdma.c **** @addtogroup hdma + 3:src/l502_hdma.c **** @{ + 4:src/l502_hdma.c **** @file l502_hdma.c + 5:src/l502_hdma.c **** Файл содержит логику работы с hdma на прием и на передачу данных + 6:src/l502_hdma.c **** как из, так и в BlackFin. + 7:src/l502_hdma.c **** ***************************************************************************/ + 8:src/l502_hdma.c **** + 9:src/l502_hdma.c **** /****************************************************************************** + 10:src/l502_hdma.c **** При запуске должно вызываться один раз hdma_stream_init(). + 11:src/l502_hdma.c **** Вызов hdma_xxx_start() инициализирует прием или передачу, а hdma_xxx_stop() + 12:src/l502_hdma.c **** останавливает все текущие передачи. + 13:src/l502_hdma.c **** + 14:src/l502_hdma.c **** Для запуска обмена блоком данных нужно проверить готовность + 15:src/l502_hdma.c **** (наличие свободных дескрипторов) с помощью hdma_xxx_req_rdy() + 16:src/l502_hdma.c **** и вызвать hdma_xxx_req_start(), указав массив для передачи или приема + 17:src/l502_hdma.c **** данных и его размер. + 18:src/l502_hdma.c **** + 19:src/l502_hdma.c **** Можно устанавливать до 31 запроса в очередь. + 20:src/l502_hdma.c **** + 21:src/l502_hdma.c **** По завершению обмена будет вызвана функция hdma_xxx_done(), которая + 22:src/l502_hdma.c **** должна быть реализована в другом файле. Для передачи BF->PC + 23:src/l502_hdma.c **** функция вызывается один раз на каждый поставленный запрос, + 24:src/l502_hdma.c **** а при приеме PC->BF может вызываться по несколько раз - при приеме + 25:src/l502_hdma.c **** части запроса (в случае, если от PC пока нет больше данных) + 26:src/l502_hdma.c **** *******************************************************************************/ + 27:src/l502_hdma.c **** + 28:src/l502_hdma.c **** + 29:src/l502_hdma.c **** #include "l502_global.h" + 30:src/l502_hdma.c **** #include "l502_cdefs.h" + 31:src/l502_hdma.c **** #include "l502_cmd.h" + 32:src/l502_hdma.c **** + 33:src/l502_hdma.c **** + 34:src/l502_hdma.c **** #include + 35:src/l502_hdma.c **** #include + 36:src/l502_hdma.c **** #include + 37:src/l502_hdma.c **** + 38:src/l502_hdma.c **** + BFIN GAS /tmp/ccZiL1p8.s page 2 + + + 39:src/l502_hdma.c **** #define STREAM_IN_EN() *pPORTFIO_CLEAR = PF14 + 40:src/l502_hdma.c **** #define STREAM_IN_DIS() *pPORTFIO_SET = PF14 + 41:src/l502_hdma.c **** #define STREAM_OUT_EN() *pPORTFIO_CLEAR = PF15 + 42:src/l502_hdma.c **** #define STREAM_OUT_DIS() *pPORTFIO_SET = PF15 + 43:src/l502_hdma.c **** + 44:src/l502_hdma.c **** #define STREAM_IN_SET_REQ() *pPORTGIO_TOGGLE = PG5 + 45:src/l502_hdma.c **** #define STREAM_OUT_SET_REQ() *pPORTGIO_TOGGLE = PG6 + 46:src/l502_hdma.c **** + 47:src/l502_hdma.c **** + 48:src/l502_hdma.c **** + 49:src/l502_hdma.c **** #define L502_HDMA_STEP_SIZE_MAX 256 + 50:src/l502_hdma.c **** + 51:src/l502_hdma.c **** + 52:src/l502_hdma.c **** static uint16_t f_snd_start_id, f_rcv_start_id; + 53:src/l502_hdma.c **** static uint16_t f_snd_done_id, f_rcv_done_id; + 54:src/l502_hdma.c **** static uint8_t f_snd_next_descr, f_rcv_next_descr; + 55:src/l502_hdma.c **** static uint8_t f_rcv_done_descr; + 56:src/l502_hdma.c **** + 57:src/l502_hdma.c **** + 58:src/l502_hdma.c **** void hdma_send_done(uint32_t* addr, uint32_t size); + 59:src/l502_hdma.c **** void hdma_recv_done(uint32_t* addr, uint32_t size); + 60:src/l502_hdma.c **** + 61:src/l502_hdma.c **** + 62:src/l502_hdma.c **** ISR(hdma_isr); + 63:src/l502_hdma.c **** ISR(hdma_rd_isr); + 64:src/l502_hdma.c **** + 65:src/l502_hdma.c **** + 66:src/l502_hdma.c **** + 67:src/l502_hdma.c **** + 68:src/l502_hdma.c **** inline static void hdma_set_descr(t_hdma_stream_descr* descr_arr, uint8_t* pos, + 69:src/l502_hdma.c **** uint16_t* id, uint32_t* addr, uint32_t size, uint32_t flags) { + 70:src/l502_hdma.c **** descr_arr[*pos].flags = flags; + 71:src/l502_hdma.c **** descr_arr[*pos].addr = addr; + 72:src/l502_hdma.c **** descr_arr[*pos].id = *id; + 73:src/l502_hdma.c **** descr_arr[*pos].full_size = size*2; + 74:src/l502_hdma.c **** descr_arr[*pos].xcnt = size > L502_HDMA_STEP_SIZE_MAX ? 2*L502_HDMA_STEP_SIZE_MAX : 2*size; + 75:src/l502_hdma.c **** descr_arr[*pos].udata = size; + 76:src/l502_hdma.c **** *id = *id+1; + 77:src/l502_hdma.c **** + 78:src/l502_hdma.c **** *pos=*pos+1; + 79:src/l502_hdma.c **** if (*pos== L502_IN_HDMA_DESCR_CNT) + 80:src/l502_hdma.c **** *pos = 0; + 81:src/l502_hdma.c **** } + 82:src/l502_hdma.c **** + 83:src/l502_hdma.c **** + 84:src/l502_hdma.c **** /** @brief Инициализация интерфейса HostDMA + 85:src/l502_hdma.c **** + 86:src/l502_hdma.c **** Настройка параметров HostDMA и инициализация неизменяемых полей дескрипторов + 87:src/l502_hdma.c **** для организации потока по данных по HostDMA */ + 88:src/l502_hdma.c **** void hdma_init(void) { + 89:src/l502_hdma.c **** int d; + 90:src/l502_hdma.c **** + 91:src/l502_hdma.c **** /* запрещаем ПЛИС отслеживать запросы на обмен по HDMA */ + 92:src/l502_hdma.c **** STREAM_IN_DIS(); + 93:src/l502_hdma.c **** STREAM_OUT_DIS(); + 94:src/l502_hdma.c **** + 95:src/l502_hdma.c **** *pPORTGIO_DIR |= PG5 | PG6; + BFIN GAS /tmp/ccZiL1p8.s page 3 + + + 96:src/l502_hdma.c **** *pPORTFIO_DIR |= PF14 | PF15; + 97:src/l502_hdma.c **** + 98:src/l502_hdma.c **** /***************** настройка HOST DMA ***********************/ + 99:src/l502_hdma.c **** //настройка портов + 100:src/l502_hdma.c **** *pPORTG_MUX |= 0x2800; + 101:src/l502_hdma.c **** *pPORTG_FER |= 0xF800; + 102:src/l502_hdma.c **** *pPORTH_MUX = 0x2A; + 103:src/l502_hdma.c **** *pPORTH_FER = 0xFFFF; + 104:src/l502_hdma.c **** + 105:src/l502_hdma.c **** + 106:src/l502_hdma.c **** //настройка прерываний + 107:src/l502_hdma.c **** REGISTER_ISR(11, hdma_isr); + 108:src/l502_hdma.c **** //*pSIC_IAR3 = (*pSIC_IAR6 & 0xFFF0FFFFUL) | (3 << 16); + 109:src/l502_hdma.c **** *pSIC_IAR6 = (*pSIC_IAR6 & 0xFFFFF0FFUL) | P50_IVG(10); //назначение HDMARD на IVG10 + 110:src/l502_hdma.c **** REGISTER_ISR(10, hdma_rd_isr); + 111:src/l502_hdma.c **** *pSIC_IMASK0 |= IRQ_DMA1; //разрешение прерывания HOSTDP на запись + 112:src/l502_hdma.c **** *pSIC_IMASK1 |= IRQ_HOSTRD_DONE; //разрешение прерывания HOSTDP на чтение; + 113:src/l502_hdma.c **** //разрешение HDMA + 114:src/l502_hdma.c **** *pHOST_CONTROL = BDR | EHR | EHW | HOSTDP_EN | HOSTDP_DATA_SIZE; //burst, ehr, ehw, en + 115:src/l502_hdma.c **** + 116:src/l502_hdma.c **** //g_state.cmd.data[100] = L502_BF_CMD_STATUS_DONE; + 117:src/l502_hdma.c **** + 118:src/l502_hdma.c **** /* инициалзация полей дескрипторов, которые не будут изменяться + 119:src/l502_hdma.c **** во время работы */ + 120:src/l502_hdma.c **** for (d=0; d < L502_IN_HDMA_DESCR_CNT; d++) { + 121:src/l502_hdma.c **** g_state.hdma.in[d].xmod = 2; + 122:src/l502_hdma.c **** g_state.hdma.in[d].valid = 1; + 123:src/l502_hdma.c **** g_state.hdma.in[d].next_descr = d==( L502_IN_HDMA_DESCR_CNT-1) ? + 124:src/l502_hdma.c **** (void*)&g_state.hdma.in[0] : (void*)&g_state.hdma.in[d+1]; + 125:src/l502_hdma.c **** } + 126:src/l502_hdma.c **** + 127:src/l502_hdma.c **** for (d=0; d < L502_OUT_HDMA_DESCR_CNT; d++) { + 128:src/l502_hdma.c **** g_state.hdma.out[d].xmod = 2; + 129:src/l502_hdma.c **** g_state.hdma.out[d].valid = 1; + 130:src/l502_hdma.c **** g_state.hdma.out[d].next_descr = d==( L502_IN_HDMA_DESCR_CNT-1) ? + 131:src/l502_hdma.c **** (void*)&g_state.hdma.out[0] : (void*)&g_state.hdma.out[d+1]; + 132:src/l502_hdma.c **** } + 133:src/l502_hdma.c **** } + 134:src/l502_hdma.c **** + 135:src/l502_hdma.c **** + 136:src/l502_hdma.c **** + 137:src/l502_hdma.c **** /** @brief Запуск потока на передачу по HostDMA. + 138:src/l502_hdma.c **** + 139:src/l502_hdma.c **** Функция сбрасывает логику обработки заданий на передачу данных по HostDMA + 140:src/l502_hdma.c **** и разрешает передачу. Должна вызываться до добавления первого задания с помощью + 141:src/l502_hdma.c **** hdma_send_req_start() */ + 142:src/l502_hdma.c **** void hdma_send_start(void) { + 16 .loc 1 142 0 + 143:src/l502_hdma.c **** f_snd_start_id = 0; + 17 .loc 1 143 0 + 18 0000 4AE10000 P2.H = _f_snd_start_id; + 142:src/l502_hdma.c **** void hdma_send_start(void) { + 19 .loc 1 142 0 + 20 0004 00E80000 LINK 0; + 21 .LCFI0: + 22 .loc 1 143 0 + 23 0008 0160 R1 = 0 (X); + BFIN GAS /tmp/ccZiL1p8.s page 4 + + + 24 000a 0AE10000 P2.L = _f_snd_start_id; + 25 000e 1197 W [P2] = R1; + 144:src/l502_hdma.c **** f_snd_done_id = 0; + 26 .loc 1 144 0 + 27 0010 4AE10000 P2.H = _f_snd_done_id; + 28 0014 0AE10400 P2.L = _f_snd_done_id; + 29 0018 1197 W [P2] = R1; + 145:src/l502_hdma.c **** f_snd_next_descr = 0; + 30 .loc 1 145 0 + 31 001a 4AE10000 P2.H = _f_snd_next_descr; + 32 001e 0060 R0 = 0 (X); + 33 0020 0AE10800 P2.L = _f_snd_next_descr; + 34 0024 109B B [P2] = R0; + 146:src/l502_hdma.c **** + 147:src/l502_hdma.c **** g_state.hdma.in_lb.valid = 0; + 35 .loc 1 147 0 + 36 0026 4AE10000 P2.H = _g_state; + 37 002a 0AE10000 P2.L = _g_state; + 38 002e 51B7 W [P2+26] = R1; + 148:src/l502_hdma.c **** + 149:src/l502_hdma.c **** STREAM_IN_EN(); + 39 .loc 1 149 0 + 40 0030 4AE1C0FF P2.H = 65472; + 41 0034 20E10040 R0 = 16384 (X); + 42 0038 0AE10407 P2.L = 1796; + 43 003c 1097 W [P2] = R0; + 150:src/l502_hdma.c **** } + 44 .loc 1 150 0 + 45 003e 01E80000 UNLINK; + 46 0042 1000 rts; + 47 .LFE18: + 48 .size _hdma_send_start, .-_hdma_send_start + 49 .align 4 + 50 .global _hdma_send_stop; + 51 .type _hdma_send_stop, STT_FUNC; + 52 _hdma_send_stop: + 53 .LFB19: + 151:src/l502_hdma.c **** + 152:src/l502_hdma.c **** /** @brief Останов потока на передачу по HostDMA. + 153:src/l502_hdma.c **** + 154:src/l502_hdma.c **** Запрет передачи по HostDMA с остановом всех текущих заданий */ + 155:src/l502_hdma.c **** void hdma_send_stop(void) { + 54 .loc 1 155 0 + 156:src/l502_hdma.c **** STREAM_IN_DIS(); + 55 .loc 1 156 0 + 56 0044 4AE1C0FF P2.H = 65472; + 155:src/l502_hdma.c **** void hdma_send_stop(void) { + 57 .loc 1 155 0 + 58 0048 00E80000 LINK 0; + 59 .LCFI1: + 60 .loc 1 156 0 + 61 004c 20E10040 R0 = 16384 (X); + 62 0050 0AE10807 P2.L = 1800; + 63 0054 1097 W [P2] = R0; + 157:src/l502_hdma.c **** } + 64 .loc 1 157 0 + 65 0056 01E80000 UNLINK; + BFIN GAS /tmp/ccZiL1p8.s page 5 + + + 66 005a 1000 rts; + 67 .LFE19: + 68 .size _hdma_send_stop, .-_hdma_send_stop + 69 .align 4 + 70 .global _hdma_recv_start; + 71 .type _hdma_recv_start, STT_FUNC; + 72 _hdma_recv_start: + 73 .LFB20: + 158:src/l502_hdma.c **** + 159:src/l502_hdma.c **** /** @brief Запуск потока на прием по HostDMA + 160:src/l502_hdma.c **** + 161:src/l502_hdma.c **** Функция сбрасывает логику обработки заданий на прием данных по HostDMA + 162:src/l502_hdma.c **** и разрешает прием. Должна вызываться до добавления первого задания с помощью + 163:src/l502_hdma.c **** hdma_recv_req_start() */ + 164:src/l502_hdma.c **** void hdma_recv_start(void) { + 74 .loc 1 164 0 + 165:src/l502_hdma.c **** f_rcv_start_id = 0; + 75 .loc 1 165 0 + 76 005c 4AE10000 P2.H = _f_rcv_start_id; + 164:src/l502_hdma.c **** void hdma_recv_start(void) { + 77 .loc 1 164 0 + 78 0060 00E80000 LINK 0; + 79 .LCFI2: + 80 .loc 1 165 0 + 81 0064 0160 R1 = 0 (X); + 82 0066 0AE10200 P2.L = _f_rcv_start_id; + 83 006a 1197 W [P2] = R1; + 166:src/l502_hdma.c **** f_rcv_done_id = 0; + 84 .loc 1 166 0 + 85 006c 4AE10000 P2.H = _f_rcv_done_id; + 86 0070 0AE10600 P2.L = _f_rcv_done_id; + 87 0074 1197 W [P2] = R1; + 167:src/l502_hdma.c **** f_rcv_next_descr = 0; + 88 .loc 1 167 0 + 89 0076 4AE10000 P2.H = _f_rcv_next_descr; + 90 007a 0060 R0 = 0 (X); + 91 007c 0AE10900 P2.L = _f_rcv_next_descr; + 92 0080 109B B [P2] = R0; + 168:src/l502_hdma.c **** f_rcv_done_descr = 0; + 93 .loc 1 168 0 + 94 0082 4AE10000 P2.H = _f_rcv_done_descr; + 95 0086 0AE10A00 P2.L = _f_rcv_done_descr; + 96 008a 109B B [P2] = R0; + 169:src/l502_hdma.c **** + 170:src/l502_hdma.c **** g_state.hdma.out_lb.valid = 0; + 97 .loc 1 170 0 + 98 008c 4AE10000 P2.H = _g_state; + 99 0090 0AE10000 P2.L = _g_state; + 100 0094 51E60D02 W [P2+1050] = R1; + 171:src/l502_hdma.c **** STREAM_OUT_EN(); + 101 .loc 1 171 0 + 102 0098 4AE1C0FF P2.H = 65472; + 103 009c 20E10080 R0 = -32768 (X); + 104 00a0 0AE10407 P2.L = 1796; + 105 00a4 1097 W [P2] = R0; + 172:src/l502_hdma.c **** } + 106 .loc 1 172 0 + BFIN GAS /tmp/ccZiL1p8.s page 6 + + + 107 00a6 01E80000 UNLINK; + 108 00aa 1000 rts; + 109 .LFE20: + 110 .size _hdma_recv_start, .-_hdma_recv_start + 111 .align 4 + 112 .global _hdma_recv_stop; + 113 .type _hdma_recv_stop, STT_FUNC; + 114 _hdma_recv_stop: + 115 .LFB21: + 173:src/l502_hdma.c **** + 174:src/l502_hdma.c **** /** @brief Останов потока на прием по HostDMA + 175:src/l502_hdma.c **** + 176:src/l502_hdma.c **** Запрет приема по HostDMA с остановом всех текущих заданий */ + 177:src/l502_hdma.c **** void hdma_recv_stop(void) { + 116 .loc 1 177 0 + 178:src/l502_hdma.c **** STREAM_OUT_DIS(); + 117 .loc 1 178 0 + 118 00ac 4AE1C0FF P2.H = 65472; + 177:src/l502_hdma.c **** void hdma_recv_stop(void) { + 119 .loc 1 177 0 + 120 00b0 00E80000 LINK 0; + 121 .LCFI3: + 122 .loc 1 178 0 + 123 00b4 20E10080 R0 = -32768 (X); + 124 00b8 0AE10807 P2.L = 1800; + 125 00bc 1097 W [P2] = R0; + 179:src/l502_hdma.c **** } + 126 .loc 1 179 0 + 127 00be 01E80000 UNLINK; + 128 00c2 1000 rts; + 129 .LFE21: + 130 .size _hdma_recv_stop, .-_hdma_recv_stop + 131 .align 4 + 132 .global _hdma_send_req_rdy; + 133 .type _hdma_send_req_rdy, STT_FUNC; + 134 _hdma_send_req_rdy: + 135 .LFB22: + 180:src/l502_hdma.c **** + 181:src/l502_hdma.c **** + 182:src/l502_hdma.c **** + 183:src/l502_hdma.c **** /**************************************************************************//** + 184:src/l502_hdma.c **** @brief Получить количество свободных запросов на передачу. + 185:src/l502_hdma.c **** + 186:src/l502_hdma.c **** Фунция позволяет узнать, сколько запросов можно еще поставить в очередь на + 187:src/l502_hdma.c **** передачу с помощью hdma_send_start(). + 188:src/l502_hdma.c **** @return Количество запросов на передачу, которое можно поставить в очередь + 189:src/l502_hdma.c **** ******************************************************************************/ + 190:src/l502_hdma.c **** int hdma_send_req_rdy(void) { + 136 .loc 1 190 0 + 137 00c4 4AE10000 P2.H = _f_snd_start_id; + 138 00c8 00E80000 LINK 0; + 139 .LCFI4: + 140 .loc 1 190 0 + 141 00cc 0AE10000 P2.L = _f_snd_start_id; + 142 00d0 1195 R1 = W [P2] (Z); + 143 00d2 4AE10000 P2.H = _f_snd_done_id; + 144 00d6 0AE10400 P2.L = _f_snd_done_id; + BFIN GAS /tmp/ccZiL1p8.s page 7 + + + 145 00da 1095 R0 = W [P2] (Z); + 146 00dc 4152 R1 = R1 - R0; + 147 00de C942 R1 = R1.L (Z); + 148 00e0 F860 R0 = 31 (X); + 149 00e2 0852 R0 = R0 - R1; + 191:src/l502_hdma.c **** return L502_IN_HDMA_DESCR_CNT - (uint16_t)(f_snd_start_id - f_snd_done_id); + 192:src/l502_hdma.c **** } + 150 .loc 1 192 0 + 151 00e4 01E80000 UNLINK; + 152 00e8 1000 rts; + 153 .LFE22: + 154 .size _hdma_send_req_rdy, .-_hdma_send_req_rdy + 155 00ea 0000 .align 4 + 156 .global _hdma_recv_req_rdy; + 157 .type _hdma_recv_req_rdy, STT_FUNC; + 158 _hdma_recv_req_rdy: + 159 .LFB23: + 193:src/l502_hdma.c **** + 194:src/l502_hdma.c **** /**************************************************************************//** + 195:src/l502_hdma.c **** @brief Получить количество свободных запросов на прием + 196:src/l502_hdma.c **** + 197:src/l502_hdma.c **** Фунция позволяет узнать, сколько запросов можно еще поставить в очередь на + 198:src/l502_hdma.c **** прием с помощью hdma_recv_start(). + 199:src/l502_hdma.c **** @return Количество запросов на прием, которое можно поставить в очередь + 200:src/l502_hdma.c **** ******************************************************************************/ + 201:src/l502_hdma.c **** int hdma_recv_req_rdy(void) { + 160 .loc 1 201 0 + 161 00ec 4AE10000 P2.H = _f_rcv_start_id; + 162 00f0 00E80000 LINK 0; + 163 .LCFI5: + 164 .loc 1 201 0 + 165 00f4 0AE10200 P2.L = _f_rcv_start_id; + 166 00f8 1195 R1 = W [P2] (Z); + 167 00fa 4AE10000 P2.H = _f_rcv_done_id; + 168 00fe 0AE10600 P2.L = _f_rcv_done_id; + 169 0102 1095 R0 = W [P2] (Z); + 170 0104 4152 R1 = R1 - R0; + 171 0106 C942 R1 = R1.L (Z); + 172 0108 F860 R0 = 31 (X); + 173 010a 0852 R0 = R0 - R1; + 202:src/l502_hdma.c **** return L502_OUT_HDMA_DESCR_CNT - (uint16_t)(f_rcv_start_id - f_rcv_done_id); + 203:src/l502_hdma.c **** } + 174 .loc 1 203 0 + 175 010c 01E80000 UNLINK; + 176 0110 1000 rts; + 177 .LFE23: + 178 .size _hdma_recv_req_rdy, .-_hdma_recv_req_rdy + 179 0112 0000 .align 4 + 180 .global _hdma_send_req_start; + 181 .type _hdma_send_req_start, STT_FUNC; + 182 _hdma_send_req_start: + 183 .LFB24: + 204:src/l502_hdma.c **** + 205:src/l502_hdma.c **** /**************************************************************************//** + 206:src/l502_hdma.c **** @brief Поставить запрос на передачу по HostDMA + 207:src/l502_hdma.c **** + 208:src/l502_hdma.c **** Функция ставит запрос на передачу указанных данных. Сами данные не копируются, + BFIN GAS /tmp/ccZiL1p8.s page 8 + + + 209:src/l502_hdma.c **** т.е. буфер нельзя будет использовать до того, как данные не будут переданы! + 210:src/l502_hdma.c **** Для постановки запроса необходимо, чтобы был свободный дескриптор (можно + 211:src/l502_hdma.c **** узнать через hdma_send_req_rdy()) + 212:src/l502_hdma.c **** + 213:src/l502_hdma.c **** @param[in] buf Указатель на массив на передачу. + 214:src/l502_hdma.c **** @param[in] size Количество 32-битных слов на передачу + 215:src/l502_hdma.c **** @param[in] flags Флаги из #t_hdma_send_flags + 216:src/l502_hdma.c **** @return < 0 при ошибке, >= 0 - id передачи при успехе + 217:src/l502_hdma.c **** *******************************************************************************/ + 218:src/l502_hdma.c **** int hdma_send_req_start(const uint32_t* buf, uint32_t size, uint32_t flags) { + 184 .loc 1 218 0 + 185 .LVL0: + 186 0114 ED05 [--sp] = ( r7:5, p5:5 ); + 187 + 188 .LCFI6: + 189 .LBB27: + 190 .LBB29: + 191:src/l502_hdma.c **** return L502_IN_HDMA_DESCR_CNT - (uint16_t)(f_snd_start_id - f_snd_done_id); + 191 .loc 1 191 0 + 192 0116 48E10000 P0.H = _f_snd_start_id; + 193 .LBE29: + 194 .LBE27: + 219:src/l502_hdma.c **** if (hdma_send_req_rdy() > 0) { + 195 .loc 1 219 0 + 196 011a 4AE10000 P2.H = _f_snd_done_id; + 218:src/l502_hdma.c **** int hdma_send_req_start(const uint32_t* buf, uint32_t size, uint32_t flags) { + 197 .loc 1 218 0 + 198 011e 00E80000 LINK 0; + 199 .LCFI7: + 218:src/l502_hdma.c **** int hdma_send_req_start(const uint32_t* buf, uint32_t size, uint32_t flags) { + 200 .loc 1 218 0 + 201 0122 3930 R7 = R1; + 202 .LBB31: + 203 .LBB28: + 191:src/l502_hdma.c **** return L502_IN_HDMA_DESCR_CNT - (uint16_t)(f_snd_start_id - f_snd_done_id); + 204 .loc 1 191 0 + 205 0124 08E10000 P0.L = _f_snd_start_id; + 206 .LBE28: + 207 .LBE31: + 208 .loc 1 219 0 + 209 0128 0AE10400 P2.L = _f_snd_done_id; + 210 .LBB32: + 211 .LBB30: + 191:src/l502_hdma.c **** return L502_IN_HDMA_DESCR_CNT - (uint16_t)(f_snd_start_id - f_snd_done_id); + 212 .loc 1 191 0 + 213 012c 0395 R3 = W [P0] (Z); + 214 .LBE30: + 215 .LBE32: + 216 .loc 1 219 0 + 217 012e 1195 R1 = W [P2] (Z); + 218 .LVL1: + 218:src/l502_hdma.c **** int hdma_send_req_start(const uint32_t* buf, uint32_t size, uint32_t flags) { + 219 .loc 1 218 0 + 220 0130 2830 R5 = R0; + 221 .loc 1 219 0 + 222 0132 4B52 R1 = R3 - R1; + 223 0134 C942 R1 = R1.L (Z); + BFIN GAS /tmp/ccZiL1p8.s page 9 + + + 224 0136 F860 R0 = 31 (X); + 225 .LVL2: + 226 0138 0852 R0 = R0 - R1; + 218:src/l502_hdma.c **** int hdma_send_req_start(const uint32_t* buf, uint32_t size, uint32_t flags) { + 227 .loc 1 218 0 + 228 013a 3230 R6 = R2; + 229 .loc 1 219 0 + 230 013c 000D cc =R0<=0; + 231 013e 3318 if cc jump .L21; + 232 .LVL3: + 233 .LBB33: + 234 .LBB34: + 70:src/l502_hdma.c **** descr_arr[*pos].flags = flags; + 235 .loc 1 70 0 + 236 0140 49E10000 P1.H = _f_snd_next_descr; + 237 0144 09E10800 P1.L = _f_snd_next_descr; + 238 0148 4AE10000 P2.H = _g_state+32; + 239 014c 4A99 R2 = B [P1] (X); + 240 014e 5043 R0 = R2.B (Z); + 241 0150 284F R0 <<= 5; + 242 0152 2832 P5 = R0; + 74:src/l502_hdma.c **** descr_arr[*pos].xcnt = size > L502_HDMA_STEP_SIZE_MAX ? 2*L502_HDMA_STEP_SIZE_MAX : 2*size; + 243 .loc 1 74 0 + 244 0154 21E10001 R1 = 256 (X); + 70:src/l502_hdma.c **** descr_arr[*pos].flags = flags; + 245 .loc 1 70 0 + 246 0158 0AE12000 P2.L = _g_state+32; + 74:src/l502_hdma.c **** descr_arr[*pos].xcnt = size > L502_HDMA_STEP_SIZE_MAX ? 2*L502_HDMA_STEP_SIZE_MAX : 2*size; + 247 .loc 1 74 0 + 248 015c 0F0A cc =R7<=R1 (iu); + 73:src/l502_hdma.c **** descr_arr[*pos].full_size = size*2; + 249 .loc 1 73 0 + 250 015e 82C60F80 R0 = R7 << 1; + 70:src/l502_hdma.c **** descr_arr[*pos].flags = flags; + 251 .loc 1 70 0 + 252 0162 AA5A P2 = P2 + P5; + 73:src/l502_hdma.c **** descr_arr[*pos].full_size = size*2; + 253 .loc 1 73 0 + 254 0164 50B0 [P2+4] = R0; + 74:src/l502_hdma.c **** descr_arr[*pos].xcnt = size > L502_HDMA_STEP_SIZE_MAX ? 2*L502_HDMA_STEP_SIZE_MAX : 2*size; + 255 .loc 1 74 0 + 256 0166 21E10002 R1 = 512 (X); + 257 016a 0106 if !cc R0 = R1; + 258 016c 90B5 W [P2+12] = R0; + 72:src/l502_hdma.c **** descr_arr[*pos].id = *id; + 259 .loc 1 72 0 + 260 016e 13B7 W [P2+24] = R3; + 78:src/l502_hdma.c **** *pos=*pos+1; + 261 .loc 1 78 0 + 262 0170 0A64 R2 += 1; + 70:src/l502_hdma.c **** descr_arr[*pos].flags = flags; + 263 .loc 1 70 0 + 264 0172 1693 [P2] = R6; + 71:src/l502_hdma.c **** descr_arr[*pos].addr = addr; + 265 .loc 1 71 0 + 266 0174 95B0 [P2+8] = R5; + 75:src/l502_hdma.c **** descr_arr[*pos].udata = size; + BFIN GAS /tmp/ccZiL1p8.s page 10 + + + 267 .loc 1 75 0 + 268 0176 D7B1 [P2+28] = R7; + 76:src/l502_hdma.c **** *id = *id+1; + 269 .loc 1 76 0 + 270 0178 82CE03C2 R1 = ROT R3 BY 0 || + 270 0A9B0000 + 271 B [P1] = R2 || + 272 nop; + 273 0180 0964 R1 += 1; + 79:src/l502_hdma.c **** if (*pos== L502_IN_HDMA_DESCR_CNT) + 274 .loc 1 79 0 + 275 0182 5243 R2 = R2.B (Z); + 276 0184 F860 R0 = 31 (X); + 76:src/l502_hdma.c **** *id = *id+1; + 277 .loc 1 76 0 + 278 0186 0197 W [P0] = R1; + 79:src/l502_hdma.c **** if (*pos== L502_IN_HDMA_DESCR_CNT) + 279 .loc 1 79 0 + 280 0188 0208 cc =R2==R0; + 281 018a 1218 if cc jump .L22; + 282 .L18: + 283 .LBE34: + 284 .LBE33: + 220:src/l502_hdma.c **** hdma_set_descr((t_hdma_stream_descr*)g_state.hdma.in, &f_snd_next_descr, &f_snd_start_id, + 221:src/l502_hdma.c **** (uint32_t*)buf, size, flags); + 222:src/l502_hdma.c **** STREAM_IN_SET_REQ(); + 285 .loc 1 222 0 + 286 018c 4AE1C0FF P2.H = 65472; + 287 0190 0061 R0 = 32 (X); + 288 0192 0AE10C15 P2.L = 5388; + 289 0196 1097 W [P2] = R0; + 223:src/l502_hdma.c **** return f_snd_start_id-1; + 290 .loc 1 223 0 + 291 0198 C842 R0 = R1.L (Z); + 224:src/l502_hdma.c **** } + 225:src/l502_hdma.c **** return -1; + 226:src/l502_hdma.c **** } + 292 .loc 1 226 0 + 293 019a 01E80000 UNLINK; + 223:src/l502_hdma.c **** return f_snd_start_id-1; + 294 .loc 1 223 0 + 295 019e F867 R0 += -1; + 296 .loc 1 226 0 + 297 01a0 AD05 ( r7:5, p5:5 ) = [sp++]; + 298 + 299 .LCFI8: + 300 .LVL4: + 301 01a2 1000 rts; + 302 .LVL5: + 303 .L21: + 304 01a4 01E80000 UNLINK; + 219:src/l502_hdma.c **** if (hdma_send_req_rdy() > 0) { + 305 .loc 1 219 0 + 306 01a8 F863 R0 = -1 (X); + 307 .loc 1 226 0 + 308 01aa AD05 ( r7:5, p5:5 ) = [sp++]; + 309 + BFIN GAS /tmp/ccZiL1p8.s page 11 + + + 310 .LCFI9: + 311 .LVL6: + 312 01ac 1000 rts; + 313 .LVL7: + 314 .L22: + 315 .LBB36: + 316 .LBB35: + 80:src/l502_hdma.c **** *pos = 0; + 317 .loc 1 80 0 + 318 01ae 0060 R0 = 0 (X); + 319 01b0 089B B [P1] = R0; + 320 01b2 ED2F jump.s .L18; + 321 .LBE35: + 322 .LBE36: + 323 .LFE24: + 324 .size _hdma_send_req_start, .-_hdma_send_req_start + 325 .align 4 + 326 .global _hdma_recv_req_start; + 327 .type _hdma_recv_req_start, STT_FUNC; + 328 _hdma_recv_req_start: + 329 .LFB25: + 227:src/l502_hdma.c **** + 228:src/l502_hdma.c **** /**************************************************************************//** + 229:src/l502_hdma.c **** @brief Поставить запрос на передачу по HostDMA + 230:src/l502_hdma.c **** + 231:src/l502_hdma.c **** Функция ставит запрос на прием данных в указанный буфер. + 232:src/l502_hdma.c **** Сами данные будут в буфере только по завершению запроса. + 233:src/l502_hdma.c **** Для постановки запроса необходимо, чтобы был свободный дескриптор (можно + 234:src/l502_hdma.c **** узнать через hdma_recv_req_rdy()) + 235:src/l502_hdma.c **** + 236:src/l502_hdma.c **** @param[in] buf Указатель на массив на передачу. + 237:src/l502_hdma.c **** @param[in] size Количество 32-битных слов на передачу + 238:src/l502_hdma.c **** @return < 0 при ошибке, >= 0 - id передачи при успехе + 239:src/l502_hdma.c **** *******************************************************************************/ + 240:src/l502_hdma.c **** int hdma_recv_req_start(uint32_t* buf, uint32_t size) { + 330 .loc 1 240 0 + 331 .LVL8: + 332 01b4 F505 [--sp] = ( r7:6, p5:5 ); + 333 + 334 .LCFI10: + 335 .LBB37: + 336 .LBB39: + 202:src/l502_hdma.c **** return L502_OUT_HDMA_DESCR_CNT - (uint16_t)(f_rcv_start_id - f_rcv_done_id); + 337 .loc 1 202 0 + 338 01b6 48E10000 P0.H = _f_rcv_start_id; + 339 .LBE39: + 340 .LBE37: + 241:src/l502_hdma.c **** if (hdma_recv_req_rdy() > 0) { + 341 .loc 1 241 0 + 342 01ba 4AE10000 P2.H = _f_rcv_done_id; + 240:src/l502_hdma.c **** int hdma_recv_req_start(uint32_t* buf, uint32_t size) { + 343 .loc 1 240 0 + 344 01be 00E80000 LINK 0; + 345 .LCFI11: + 240:src/l502_hdma.c **** int hdma_recv_req_start(uint32_t* buf, uint32_t size) { + 346 .loc 1 240 0 + 347 01c2 3930 R7 = R1; + BFIN GAS /tmp/ccZiL1p8.s page 12 + + + 348 .LBB41: + 349 .LBB38: + 202:src/l502_hdma.c **** return L502_OUT_HDMA_DESCR_CNT - (uint16_t)(f_rcv_start_id - f_rcv_done_id); + 350 .loc 1 202 0 + 351 01c4 08E10200 P0.L = _f_rcv_start_id; + 352 .LBE38: + 353 .LBE41: + 354 .loc 1 241 0 + 355 01c8 0AE10600 P2.L = _f_rcv_done_id; + 356 .LBB42: + 357 .LBB40: + 202:src/l502_hdma.c **** return L502_OUT_HDMA_DESCR_CNT - (uint16_t)(f_rcv_start_id - f_rcv_done_id); + 358 .loc 1 202 0 + 359 01cc 0395 R3 = W [P0] (Z); + 360 .LBE40: + 361 .LBE42: + 362 .loc 1 241 0 + 363 01ce 1195 R1 = W [P2] (Z); + 364 .LVL9: + 240:src/l502_hdma.c **** int hdma_recv_req_start(uint32_t* buf, uint32_t size) { + 365 .loc 1 240 0 + 366 01d0 3030 R6 = R0; + 367 .loc 1 241 0 + 368 01d2 4B52 R1 = R3 - R1; + 369 01d4 C942 R1 = R1.L (Z); + 370 01d6 F860 R0 = 31 (X); + 371 .LVL10: + 372 01d8 0852 R0 = R0 - R1; + 373 01da 000D cc =R0<=0; + 374 01dc 3618 if cc jump .L30; + 375 .LBB43: + 376 .LBB44: + 70:src/l502_hdma.c **** descr_arr[*pos].flags = flags; + 377 .loc 1 70 0 + 378 01de 49E10000 P1.H = _f_rcv_next_descr; + 379 01e2 09E10900 P1.L = _f_rcv_next_descr; + 380 01e6 4AE10000 P2.H = _g_state+1056; + 381 01ea 4A99 R2 = B [P1] (X); + 382 01ec 5043 R0 = R2.B (Z); + 383 01ee 284F R0 <<= 5; + 384 01f0 2832 P5 = R0; + 385 01f2 0AE12004 P2.L = _g_state+1056; + 386 01f6 0060 R0 = 0 (X); + 74:src/l502_hdma.c **** descr_arr[*pos].xcnt = size > L502_HDMA_STEP_SIZE_MAX ? 2*L502_HDMA_STEP_SIZE_MAX : 2*size; + 387 .loc 1 74 0 + 388 01f8 21E10001 R1 = 256 (X); + 389 01fc 0F0A cc =R7<=R1 (iu); + 70:src/l502_hdma.c **** descr_arr[*pos].flags = flags; + 390 .loc 1 70 0 + 391 01fe AA5A P2 = P2 + P5; + 392 0200 1093 [P2] = R0; + 73:src/l502_hdma.c **** descr_arr[*pos].full_size = size*2; + 393 .loc 1 73 0 + 394 0202 82CE0F80 R0 = R7 << 1 || + 394 13B70000 + 395 W [P2+24] = R3 || + 396 nop; + BFIN GAS /tmp/ccZiL1p8.s page 13 + + + 397 020a 50B0 [P2+4] = R0; + 74:src/l502_hdma.c **** descr_arr[*pos].xcnt = size > L502_HDMA_STEP_SIZE_MAX ? 2*L502_HDMA_STEP_SIZE_MAX : 2*size; + 398 .loc 1 74 0 + 399 020c 21E10002 R1 = 512 (X); + 400 0210 0106 if !cc R0 = R1; + 401 0212 90B5 W [P2+12] = R0; + 78:src/l502_hdma.c **** *pos=*pos+1; + 402 .loc 1 78 0 + 403 0214 0A64 R2 += 1; + 71:src/l502_hdma.c **** descr_arr[*pos].addr = addr; + 404 .loc 1 71 0 + 405 0216 96B0 [P2+8] = R6; + 75:src/l502_hdma.c **** descr_arr[*pos].udata = size; + 406 .loc 1 75 0 + 407 0218 D7B1 [P2+28] = R7; + 76:src/l502_hdma.c **** *id = *id+1; + 408 .loc 1 76 0 + 409 021a 82CE03C2 R1 = ROT R3 BY 0 || + 409 0A9B0000 + 410 B [P1] = R2 || + 411 nop; + 412 0222 0964 R1 += 1; + 79:src/l502_hdma.c **** if (*pos== L502_IN_HDMA_DESCR_CNT) + 413 .loc 1 79 0 + 414 0224 5243 R2 = R2.B (Z); + 415 0226 F860 R0 = 31 (X); + 76:src/l502_hdma.c **** *id = *id+1; + 416 .loc 1 76 0 + 417 0228 0197 W [P0] = R1; + 79:src/l502_hdma.c **** if (*pos== L502_IN_HDMA_DESCR_CNT) + 418 .loc 1 79 0 + 419 022a 0208 cc =R2==R0; + 420 022c 1318 if cc jump .L31; + 421 .L28: + 422 .LBE44: + 423 .LBE43: + 242:src/l502_hdma.c **** hdma_set_descr((t_hdma_stream_descr*)g_state.hdma.out, &f_rcv_next_descr, &f_rcv_start_id, + 243:src/l502_hdma.c **** STREAM_OUT_SET_REQ(); + 424 .loc 1 243 0 + 425 022e 4AE1C0FF P2.H = 65472; + 426 0232 20E14000 R0 = 64 (X); + 427 0236 0AE10C15 P2.L = 5388; + 428 023a 1097 W [P2] = R0; + 244:src/l502_hdma.c **** return f_rcv_start_id-1; + 429 .loc 1 244 0 + 430 023c C842 R0 = R1.L (Z); + 245:src/l502_hdma.c **** } + 246:src/l502_hdma.c **** return -1; + 247:src/l502_hdma.c **** } + 431 .loc 1 247 0 + 432 023e 01E80000 UNLINK; + 244:src/l502_hdma.c **** return f_rcv_start_id-1; + 433 .loc 1 244 0 + 434 0242 F867 R0 += -1; + 435 .loc 1 247 0 + 436 0244 B505 ( r7:6, p5:5 ) = [sp++]; + 437 + BFIN GAS /tmp/ccZiL1p8.s page 14 + + + 438 .LCFI12: + 439 .LVL11: + 440 0246 1000 rts; + 441 .LVL12: + 442 .L30: + 443 0248 01E80000 UNLINK; + 241:src/l502_hdma.c **** if (hdma_recv_req_rdy() > 0) { + 444 .loc 1 241 0 + 445 024c F863 R0 = -1 (X); + 446 .loc 1 247 0 + 447 024e B505 ( r7:6, p5:5 ) = [sp++]; + 448 + 449 .LCFI13: + 450 .LVL13: + 451 0250 1000 rts; + 452 .LVL14: + 453 .L31: + 454 .LBB46: + 455 .LBB45: + 80:src/l502_hdma.c **** *pos = 0; + 456 .loc 1 80 0 + 457 0252 0060 R0 = 0 (X); + 458 0254 089B B [P1] = R0; + 459 0256 EC2F jump.s .L28; + 460 .LBE45: + 461 .LBE46: + 462 .LFE25: + 463 .size _hdma_recv_req_start, .-_hdma_recv_req_start + 464 .align 4 + 465 .global _hdma_rd_isr; + 466 .type _hdma_rd_isr, STT_FUNC; + 467 _hdma_rd_isr: + 468 .LFB27: + 248:src/l502_hdma.c **** + 249:src/l502_hdma.c **** + 250:src/l502_hdma.c **** /** + 251:src/l502_hdma.c **** @brief Обработчик прерывания на завершения записи в память BF по HDMA + 252:src/l502_hdma.c **** + 253:src/l502_hdma.c **** Обработчик вызывается по завершению приема блока по HostDMA. Обработчик + 254:src/l502_hdma.c **** выполняет установку необходимых флагов для разрешения приема следующего блока + 255:src/l502_hdma.c **** и, кроме того, проверяет наличие новой команды и завершения передачи или приема + 256:src/l502_hdma.c **** блока из потока данных */ + 257:src/l502_hdma.c **** ISR(hdma_isr) { + 258:src/l502_hdma.c **** if ((*pDMA1_IRQ_STATUS & DMA_DONE) != 0) { + 259:src/l502_hdma.c **** /* проверяем, не была ли записана команда */ + 260:src/l502_hdma.c **** if (g_state.cmd.status == L502_BF_CMD_STATUS_REQ) { + 261:src/l502_hdma.c **** l502_cmd_set_req(); + 262:src/l502_hdma.c **** } + 263:src/l502_hdma.c **** /* проверяем, не был ли записан результат передачи + 264:src/l502_hdma.c **** по HDMA из BF в PC */ + 265:src/l502_hdma.c **** if (g_state.hdma.in_lb.valid) { + 266:src/l502_hdma.c **** /* обновляем id завершенной передачи и вызываем callback */ + 267:src/l502_hdma.c **** f_snd_done_id = g_state.hdma.in_lb.id; + 268:src/l502_hdma.c **** g_state.hdma.in_lb.valid = 0; + 269:src/l502_hdma.c **** hdma_send_done(g_state.hdma.in_lb.addr, g_state.hdma.in_lb.udata); + 270:src/l502_hdma.c **** } + 271:src/l502_hdma.c **** /* проверяем, не был ли записан результат приема данных по + BFIN GAS /tmp/ccZiL1p8.s page 15 + + + 272:src/l502_hdma.c **** HDMA из PC в BF */ + 273:src/l502_hdma.c **** if (g_state.hdma.out_lb.valid) { + 274:src/l502_hdma.c **** /* может быть записан и при не полностью завершенном запросе. + 275:src/l502_hdma.c **** определяем сперва резмер, сколько было реально принято */ + 276:src/l502_hdma.c **** uint32_t size = (g_state.hdma.out[f_rcv_done_descr].full_size - + 277:src/l502_hdma.c **** g_state.hdma.out_lb.full_size)/2; + 278:src/l502_hdma.c **** + 279:src/l502_hdma.c **** g_state.hdma.out_lb.valid = 0; + 280:src/l502_hdma.c **** + 281:src/l502_hdma.c **** + 282:src/l502_hdma.c **** hdma_recv_done(g_state.hdma.out_lb.addr, size); + 283:src/l502_hdma.c **** + 284:src/l502_hdma.c **** /* если была завершена только часть дескриптора - + 285:src/l502_hdma.c **** обновляем оставшийся размер для приема */ + 286:src/l502_hdma.c **** if (g_state.hdma.out_lb.full_size) { + 287:src/l502_hdma.c **** g_state.hdma.out[f_rcv_done_descr].full_size = + 288:src/l502_hdma.c **** g_state.hdma.out_lb.full_size; + 289:src/l502_hdma.c **** } else { + 290:src/l502_hdma.c **** /* если завершен весь дескриптор - переходим + 291:src/l502_hdma.c **** к следующему */ + 292:src/l502_hdma.c **** if (++f_rcv_done_descr== L502_OUT_HDMA_DESCR_CNT) + 293:src/l502_hdma.c **** f_rcv_done_descr = 0; + 294:src/l502_hdma.c **** f_rcv_done_id = g_state.hdma.out_lb.id; + 295:src/l502_hdma.c **** } + 296:src/l502_hdma.c **** } + 297:src/l502_hdma.c **** + 298:src/l502_hdma.c **** *pDMA1_IRQ_STATUS = DMA_DONE; + 299:src/l502_hdma.c **** csync(); + 300:src/l502_hdma.c **** *pHOST_STATUS = DMA_CMPLT; + 301:src/l502_hdma.c **** } + 302:src/l502_hdma.c **** ssync(); + 303:src/l502_hdma.c **** } + 304:src/l502_hdma.c **** + 305:src/l502_hdma.c **** /** + 306:src/l502_hdma.c **** @brief Обработчик прерывания на завершение чтения по HDMA. + 307:src/l502_hdma.c **** + 308:src/l502_hdma.c **** Данный обработчик вызывается по завершению передачи блока данных по HostDMA. + 309:src/l502_hdma.c **** Выполняет только установку необходимых флагов для разрешения следующей + 310:src/l502_hdma.c **** передачи */ + 311:src/l502_hdma.c **** ISR(hdma_rd_isr) { + 469 .loc 1 311 0 + 470 0258 6601 [--SP] = ASTAT; + 471 .LCFI14: + 472 025a 4001 [--SP] = R0; + 473 .LCFI15: + 474 025c 4101 [--SP] = R1; + 475 .LCFI16: + 476 025e 4A01 [--SP] = P2; + 477 .LCFI17: + 478 0260 7B01 [--SP] = RETI; + 479 .LCFI18: + 312:src/l502_hdma.c **** if ((*pHOST_STATUS & HOSTRD_DONE) != 0) { + 480 .loc 1 312 0 + 481 0262 4AE1C0FF P2.H = 65472; + 311:src/l502_hdma.c **** ISR(hdma_rd_isr) { + 482 .loc 1 311 0 + 483 0266 00E80000 LINK 0; + BFIN GAS /tmp/ccZiL1p8.s page 16 + + + 484 .LCFI19: + 485 .loc 1 312 0 + 486 026a 0AE10434 P2.L = 13316; + 487 026e 1095 R0 = W [P2] (Z); + 488 0270 8042 R0 = R0.L (X); + 489 0272 800C cc =R0<0; + 490 0274 0914 if !cc jump .L33 (bp); + 313:src/l502_hdma.c **** *pHOST_STATUS &= ~((unsigned short)HOSTRD_DONE); + 491 .loc 1 313 0 + 492 0276 1095 R0 = W [P2] (Z); + 493 0278 21E1FF7F R1 = 32767 (X); + 494 027c 4154 R1 = R1 & R0; + 495 027e 1197 W [P2] = R1; + 314:src/l502_hdma.c **** *pHOST_STATUS |= DMA_CMPLT; + 496 .loc 1 314 0 + 497 0280 1095 R0 = W [P2] (Z); + 498 0282 184A BITSET (R0, 3); + 499 0284 1097 W [P2] = R0; + 500 .L33: + 501 0286 0000 nop; + 502 .LBB47: + 503 .LBB48: + 504 .file 2 "/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib + 1:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** /* + 2:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** * Copyright (C) 2012 Analog Devices Inc. All rights reserved. + 3:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** * + 4:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** * Licensed under the Clear BSD license. + 5:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** * Please see COPYING.LIBGLOSS for details. + 6:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** */ + 7:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 8:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #ifdef _MISRA_RULES + 9:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(push) + 10:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_2_4) + 11:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_5_3) + 12:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_6_3) + 13:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_8_1) + 14:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_8_8) + 15:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_8_5) + 16:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_19_7) + 17:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_19_15) + 18:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_20_2) + 19:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif + 20:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 21:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #ifdef __cplusplus + 22:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** extern "C" { + 23:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif + 24:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 25:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if !defined(__NO_BUILTIN) + 26:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 27:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** /* VDSP -> GCC glue */ + 28:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_NOP() __asm__ __volatile__ ("NOP;") + 29:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_cli() ({ unsigned int __rval; __asm__ __volatile__ ("cli %0;" : "=r"(_ + 30:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_sti(x) __asm__ __volatile__ ("sti %0;" : : "r"(x)) + 31:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_idle() __asm__ __volatile__ ("IDLE;") + 32:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_raise(x) __asm__ __volatile__ ("raise %0;" : : "n"(x)) + 33:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_excpt(x) __asm__ __volatile__ ("excpt %0;" : : "n"(x)) + 34:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_prefetch(x) __asm__ __volatile__ ("PREFETCH[%0];" : : "p"(x)) + BFIN GAS /tmp/ccZiL1p8.s page 17 + + + 35:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_prefetchmodup(x) ({ void *__p = &(x); __asm__ __volatile__ ("PREFETCH[%0++];" : " + 36:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_flushinv(x) __asm__ __volatile__ ("FLUSHINV[%0];" : : "p"(x)) + 37:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_flushinvmodup(x) ({ void *__p = &(x); __asm__ __volatile__ ("FLUSHINV[%0++];" : " + 38:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_flush(x) __asm__ __volatile__ ("FLUSH[%0];" : : "p"(x)) + 39:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_flushmodup(x) ({ void *__p = &(x); __asm__ __volatile__ ("FLUSH[%0++];" : "+p" + 40:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_iflush(x) __asm__ __volatile__ ("IFLUSH[%0];" : : "p"(x)) + 41:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_iflushmodup(x) ({ void *__p = &(x); __asm__ __volatile__ ("IFLUSH[%0++];" : "+p + 42:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_csync() __builtin_bfin_csync() + 43:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_ssync() __builtin_bfin_ssync() + 44:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 45:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __NO_BUILTIN */ + 46:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 47:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 48:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if !defined(__NO_BUILTIN) && !defined(__NO_SHORTNAMES) + 49:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 50:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_NOP) && \ + 51:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_NOP)) || \ + 52:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_NOP)))) + 53:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 54:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_NOP + 55:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 56:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** /* Insert a normal 16 bit NOP, which is treated as volatile. + 57:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** */ + 58:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 59:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 60:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 61:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void NOP(void) { + 62:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_NOP(); + 63:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 64:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 65:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_NOP */ + 66:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 67:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_CLI) && \ + 68:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_CLI)) || \ + 69:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_CLI)))) + 70:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 71:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_CLI + 72:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 73:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 74:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 75:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static unsigned int cli(void) { + 76:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** unsigned int __rval = __builtin_cli(); + 77:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** return __rval; + 78:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 79:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 80:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_CLI */ + 81:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 82:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_STI) && \ + 83:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_STI)) || \ + 84:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_STI)))) + 85:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 86:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_STI + 87:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 88:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 89:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 90:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void sti(unsigned int __a) { + 91:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_sti(__a); + BFIN GAS /tmp/ccZiL1p8.s page 18 + + + 92:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 93:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 94:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_STI */ + 95:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 96:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_IDLE) && \ + 97:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_IDLE)) || \ + 98:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_IDLE)))) + 99:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 100:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_IDLE + 101:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 102:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 103:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 104:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void idle(void) { + 105:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_idle(); + 106:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 107:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 108:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_IDLE */ + 109:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 110:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_RAISE_INTR) && \ + 111:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_RAISE_INTR)) || \ + 112:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_RAISE_INTR)))) + 113:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 114:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_RAISE_INTR + 115:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 116:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define raise_intr(A) (__builtin_raise((A))) + 117:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 118:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_RAISE_INTR */ + 119:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 120:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_EXCPT) && \ + 121:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_EXCPT)) || \ + 122:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_EXCPT)))) + 123:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 124:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_EXCPT + 125:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 126:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define excpt(A) (__builtin_excpt((A))) + 127:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 128:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_EXCPT */ + 129:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 130:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_PREFETCH) && \ + 131:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_PREFETCH)) || \ + 132:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_PREFETCH)))) + 133:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 134:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_PREFETCH + 135:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 136:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 137:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 138:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void prefetch(void * __a) { + 139:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_prefetch(__a); + 140:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 141:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 142:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_PREFETCH */ + 143:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 144:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_PREFETCHMODUP) && \ + 145:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_PREFETCHMODUP)) || \ + 146:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_PREFETCHMODUP)))) + 147:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 148:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_PREFETCHMODUP + BFIN GAS /tmp/ccZiL1p8.s page 19 + + + 149:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 150:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 151:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 152:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void * prefetchmodup(void * __a) { + 153:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** void * __rval = __builtin_prefetchmodup(__a); + 154:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** return __rval; + 155:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 156:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 157:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_PREFETCHMODUP */ + 158:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 159:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_FLUSHINV) && \ + 160:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_FLUSHINV)) || \ + 161:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_FLUSHINV)))) + 162:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 163:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_FLUSHINV + 164:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 165:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 166:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 167:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void flushinv(void * __a) { + 168:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_flushinv(__a); + 169:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 170:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 171:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_FLUSHINV */ + 172:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 173:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_FLUSHINVMODUP) && \ + 174:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_FLUSHINVMODUP)) || \ + 175:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_FLUSHINVMODUP)))) + 176:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 177:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_FLUSHINVMODUP + 178:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 179:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 180:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 181:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void * flushinvmodup(void * __a) { + 182:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** void * __rval = __builtin_flushinvmodup(__a); + 183:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** return __rval; + 184:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 185:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 186:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_FLUSHINVMODUP */ + 187:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 188:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_FLUSH) && \ + 189:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_FLUSH)) || \ + 190:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_FLUSH)))) + 191:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 192:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_FLUSH + 193:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 194:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 195:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 196:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void flush(void * __a) { + 197:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_flush(__a); + 198:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 199:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 200:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_FLUSH */ + 201:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 202:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_FLUSHMODUP) && \ + 203:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_FLUSHMODUP)) || \ + 204:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_FLUSHMODUP)))) + 205:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + BFIN GAS /tmp/ccZiL1p8.s page 20 + + + 206:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_FLUSHMODUP + 207:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 208:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 209:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 210:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void * flushmodup(void * __a) { + 211:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** void * __rval = __builtin_flushmodup(__a); + 212:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** return __rval; + 213:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 214:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 215:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_FLUSHMODUP */ + 216:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 217:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_IFLUSH) && \ + 218:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_IFLUSH)) || \ + 219:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_IFLUSH)))) + 220:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 221:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_IFLUSH + 222:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 223:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 224:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 225:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void iflush(void * __a) { + 226:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_iflush(__a); + 227:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 228:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 229:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_IFLUSH */ + 230:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 231:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_IFLUSHMODUP) && \ + 232:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_IFLUSHMODUP)) || \ + 233:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_IFLUSHMODUP)))) + 234:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 235:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_IFLUSHMODUP + 236:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 237:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 238:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 239:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void * iflushmodup(void * __a) { + 240:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** void * __rval = __builtin_iflushmodup(__a); + 241:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** return __rval; + 242:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 243:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 244:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_IFLUSHMODUP */ + 245:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 246:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_CSYNC) && \ + 247:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_CSYNC)) || \ + 248:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_CSYNC)))) + 249:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 250:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_CSYNC + 251:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 252:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** /* generate a csync instruction protected by CLI/STI for anomaly 05-00-0312; + 253:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ** you can generate an unprotected csync by using csync_int + 254:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** */ + 255:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 256:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 257:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 258:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void csync(void) { + 259:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_csync(); + 260:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 261:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 262:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_CSYNC */ + BFIN GAS /tmp/ccZiL1p8.s page 21 + + + 263:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 264:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_SSYNC) && \ + 265:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_SSYNC)) || \ + 266:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_SSYNC)))) + 267:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 268:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_SSYNC + 269:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 270:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** /* generate a ssync instruction protected by CLI/STI for anomaly 05-00-0312; + 271:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ** you can generate an unprotected ssync by using ssync_int + 272:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** */ + 273:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 274:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 275:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 276:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void ssync(void) { + 277:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_ssync(); + 505 .loc 2 277 0 + 506 0288 2400 ssync; + 507 .LBE48: + 508 .LBE47: + 315:src/l502_hdma.c **** } + 316:src/l502_hdma.c **** ssync(); + 317:src/l502_hdma.c **** } + 509 .loc 1 317 0 + 510 028a 01E80000 UNLINK; + 511 028e 3B01 RETI = [SP++]; + 512 0290 7290 P2 = [SP++]; + 513 0292 3190 R1 = [SP++]; + 514 0294 3090 R0 = [SP++]; + 515 0296 2601 ASTAT = [SP++]; + 516 0298 1100 rti; + 517 .LFE27: + 518 .size _hdma_rd_isr, .-_hdma_rd_isr + 519 029a 0000 .align 4 + 520 .global _hdma_init; + 521 .type _hdma_init, STT_FUNC; + 522 _hdma_init: + 523 .LFB17: + 88:src/l502_hdma.c **** void hdma_init(void) { + 524 .loc 1 88 0 + 525 029c EB05 [--sp] = ( r7:5, p5:3 ); + 526 + 527 .LCFI20: + 92:src/l502_hdma.c **** STREAM_IN_DIS(); + 528 .loc 1 92 0 + 529 029e 4AE1C0FF P2.H = 65472; + 88:src/l502_hdma.c **** void hdma_init(void) { + 530 .loc 1 88 0 + 531 02a2 00E80000 LINK 0; + 532 .LCFI21: + 92:src/l502_hdma.c **** STREAM_IN_DIS(); + 533 .loc 1 92 0 + 534 02a6 0AE10807 P2.L = 1800; + 535 02aa 20E10040 R0 = 16384 (X); + 536 02ae 1097 W [P2] = R0; + 93:src/l502_hdma.c **** STREAM_OUT_DIS(); + 537 .loc 1 93 0 + 538 02b0 20E10080 R0 = -32768 (X); + BFIN GAS /tmp/ccZiL1p8.s page 22 + + + 539 02b4 1097 W [P2] = R0; + 95:src/l502_hdma.c **** *pPORTGIO_DIR |= PG5 | PG6; + 540 .loc 1 95 0 + 541 02b6 4AE1C0FF P2.H = 65472; + 542 02ba 0AE13015 P2.L = 5424; + 543 02be 1195 R1 = W [P2] (Z); + 544 02c0 20E16000 R0 = 96 (X); + 545 02c4 0856 R0 = R0 | R1; + 546 02c6 1097 W [P2] = R0; + 96:src/l502_hdma.c **** *pPORTFIO_DIR |= PF14 | PF15; + 547 .loc 1 96 0 + 548 02c8 4AE1C0FF P2.H = 65472; + 549 02cc 0AE13007 P2.L = 1840; + 550 02d0 1195 R1 = W [P2] (Z); + 551 02d2 20E100C0 R0 = -16384 (X); + 552 02d6 0856 R0 = R0 | R1; + 553 02d8 1097 W [P2] = R0; + 100:src/l502_hdma.c **** *pPORTG_MUX |= 0x2800; + 554 .loc 1 100 0 + 555 02da 4AE1C0FF P2.H = 65472; + 556 02de 0AE11432 P2.L = 12820; + 557 02e2 1195 R1 = W [P2] (Z); + 558 02e4 20E10028 R0 = 10240 (X); + 559 02e8 0856 R0 = R0 | R1; + 560 02ea 1097 W [P2] = R0; + 101:src/l502_hdma.c **** *pPORTG_FER |= 0xF800; + 561 .loc 1 101 0 + 562 02ec 826F P2 += -16; + 563 02ee 1195 R1 = W [P2] (Z); + 564 02f0 20E100F8 R0 = -2048 (X); + 565 02f4 0856 R0 = R0 | R1; + 566 02f6 1097 W [P2] = R0; + 102:src/l502_hdma.c **** *pPORTH_MUX = 0x2A; + 567 .loc 1 102 0 + 568 02f8 5061 R0 = 42 (X); + 569 02fa A26C P2 += 20; + 570 02fc 1097 W [P2] = R0; + 103:src/l502_hdma.c **** *pPORTH_FER = 0xFFFF; + 571 .loc 1 103 0 + 572 02fe F863 R0 = -1 (X); + 573 0300 826F P2 += -16; + 574 0302 1097 W [P2] = R0; + 575 .LBB49: + 576 .LBB50: + 577 .LBB51: + 578 .loc 2 277 0 + 579 0304 2400 ssync; + 580 .LBE51: + 581 .LBE50: + 107:src/l502_hdma.c **** REGISTER_ISR(11, hdma_isr); + 582 .loc 1 107 0 + 583 0306 40E10000 R0.H = _hdma_isr; + 584 030a 4AE1E0FF P2.H = 65504; + 585 030e 00E15804 R0.L = _hdma_isr; + 586 0312 0AE12C20 P2.L = 8236; + 587 0316 1093 [P2] = R0; + 588 .LBB52: + BFIN GAS /tmp/ccZiL1p8.s page 23 + + + 589 .LBB53: + 590 .loc 2 277 0 + 591 0318 2400 ssync; + 592 .LBE53: + 593 .LBE52: + 107:src/l502_hdma.c **** REGISTER_ISR(11, hdma_isr); + 594 .loc 1 107 0 + 595 031a 0260 R2 = 0 (X); + 596 031c 0230 R0 = R2; + 597 .LVL15: + 598 // 107 "src/l502_hdma.c" 1 + 599 031e 3000584A cli R0; bitset (R0, 11); sti R0; csync; + 599 40002300 + 600 // 0 "" 2 + 601 .LBE49: + 109:src/l502_hdma.c **** *pSIC_IAR6 = (*pSIC_IAR6 & 0xFFFFF0FFUL) | P50_IVG(10); //назначение HDMARD на IVG10 + 602 .loc 1 109 0 + 603 0326 4AE1C0FF P2.H = 65472; + 604 032a 0AE15801 P2.L = 344; + 605 032e 1091 R0 = [P2]; + 606 .LVL16: + 607 0330 21E1FFF0 R1 = -3841 (X); + 608 0334 0854 R0 = R0 & R1; + 609 0336 21E10003 R1 = 768 (X); + 610 033a 0856 R0 = R0 | R1; + 611 033c 1093 [P2] = R0; + 612 .LBB54: + 613 .LBB55: + 614 .LBB56: + 615 .loc 2 277 0 + 616 033e 2400 ssync; + 617 .LBE56: + 618 .LBE55: + 110:src/l502_hdma.c **** REGISTER_ISR(10, hdma_rd_isr); + 619 .loc 1 110 0 + 620 0340 40E10000 R0.H = _hdma_rd_isr; + 621 0344 4AE1E0FF P2.H = 65504; + 622 0348 00E15802 R0.L = _hdma_rd_isr; + 623 034c 0AE12820 P2.L = 8232; + 624 0350 1093 [P2] = R0; + 625 .LBB57: + 626 .LBB58: + 627 .loc 2 277 0 + 628 0352 2400 ssync; + 629 .LBE58: + 630 .LBE57: + 110:src/l502_hdma.c **** REGISTER_ISR(10, hdma_rd_isr); + 631 .loc 1 110 0 + 632 0354 0230 R0 = R2; + 633 .LVL17: + 634 // 110 "src/l502_hdma.c" 1 + 635 0356 3000504A cli R0; bitset (R0, 10); sti R0; csync; + 635 40002300 + 636 // 0 "" 2 + 637 .LBE54: + 111:src/l502_hdma.c **** *pSIC_IMASK0 |= IRQ_DMA1; //разрешение прерывания HOSTDP на запись + 638 .loc 1 111 0 + BFIN GAS /tmp/ccZiL1p8.s page 24 + + + 639 035e 4AE1C0FF P2.H = 65472; + 640 0362 0AE10C01 P2.L = 268; + 641 0366 1091 R0 = [P2]; + 642 .LVL18: + 643 0368 E04A BITSET (R0, 28); + 644 036a 1093 [P2] = R0; + 112:src/l502_hdma.c **** *pSIC_IMASK1 |= IRQ_HOSTRD_DONE; //разрешение прерывания HOSTDP на чтение; + 645 .loc 1 112 0 + 646 036c 4AE1C0FF P2.H = 65472; + 647 0370 0AE14C01 P2.L = 332; + 648 0374 1091 R0 = [P2]; + 649 0376 904A BITSET (R0, 18); + 650 0378 1093 [P2] = R0; + 114:src/l502_hdma.c **** *pHOST_CONTROL = BDR | EHR | EHW | HOSTDP_EN | HOSTDP_DATA_SIZE; //burst, ehr, ehw, en + 651 .loc 1 114 0 + 652 037a 4AE1C0FF P2.H = 65472; + 653 037e 20E10507 R0 = 1797 (X); + 654 0382 0AE10034 P2.L = 13312; + 655 0386 1097 W [P2] = R0; + 121:src/l502_hdma.c **** g_state.hdma.in[d].xmod = 2; + 656 .loc 1 121 0 + 657 0388 4DE10000 P5.H = _g_state; + 658 038c 0DE10000 P5.L = _g_state; + 659 0390 1060 R0 = 2 (X); + 660 0392 68E61700 W [P5+46] = R0; + 122:src/l502_hdma.c **** g_state.hdma.in[d].valid = 1; + 661 .loc 1 122 0 + 662 0396 0860 R0 = 1 (X); + 663 0398 68E61D00 W [P5+58] = R0; + 664 039c 0160 R1 = 0 (X); + 665 .LVL19: + 123:src/l502_hdma.c **** g_state.hdma.in[d].next_descr = d==( L502_IN_HDMA_DESCR_CNT-1) ? + 666 .loc 1 123 0 + 667 039e 6532 P4 = P5; + 121:src/l502_hdma.c **** g_state.hdma.in[d].xmod = 2; + 668 .loc 1 121 0 + 669 03a0 1760 R7 = 2 (X); + 122:src/l502_hdma.c **** g_state.hdma.in[d].valid = 1; + 670 .loc 1 122 0 + 671 03a2 0B60 R3 = 1 (X); + 672 03a4 F168 P1 = 30 (X); + 673 03a6 B2E01910 LSETUP (.L36, .L50) LC1 = P1; + 674 .L36: + 123:src/l502_hdma.c **** g_state.hdma.in[d].next_descr = d==( L502_IN_HDMA_DESCR_CNT-1) ? + 675 .loc 1 123 0 + 676 03aa 1A32 P3 = R2; + 677 03ac 1164 R1 += 2; + 678 03ae 82C62980 R0 = R1 << 5; + 679 03b2 6D30 R5 = P5; + 680 03b4 0550 R0 = R5 + R0; + 681 03b6 9D5A P2 = P5 + P3; + 682 03b8 50B3 [P2+52] = R0; + 683 03ba 48E10000 P0.H = _g_state; + 120:src/l502_hdma.c **** for (d=0; d < L502_IN_HDMA_DESCR_CNT; d++) { + 684 .loc 1 120 0 + 685 03be F967 R1 += -1; + 686 03c0 F860 R0 = 31 (X); + BFIN GAS /tmp/ccZiL1p8.s page 25 + + + 123:src/l502_hdma.c **** g_state.hdma.in[d].next_descr = d==( L502_IN_HDMA_DESCR_CNT-1) ? + 687 .loc 1 123 0 + 688 03c2 08E10000 P0.L = _g_state; + 120:src/l502_hdma.c **** for (d=0; d < L502_IN_HDMA_DESCR_CNT; d++) { + 689 .loc 1 120 0 + 690 03c6 0108 cc =R1==R0; + 691 03c8 0D18 if cc jump .L42; + 121:src/l502_hdma.c **** g_state.hdma.in[d].xmod = 2; + 692 .loc 1 121 0 + 693 03ca 82C62984 R2 = R1 << 5; + 694 03ce 1A32 P3 = R2; + 695 03d0 9C5A P2 = P4 + P3; + 696 03d2 626D P2 += 44; + 697 03d4 57B4 W [P2+2] = R7; + 122:src/l502_hdma.c **** g_state.hdma.in[d].valid = 1; + 698 .loc 1 122 0 + 699 03d6 626C P2 += 12; + 700 .L50: + 701 03d8 53B4 W [P2+2] = R3; + 123:src/l502_hdma.c **** g_state.hdma.in[d].next_descr = d==( L502_IN_HDMA_DESCR_CNT-1) ? + 702 .loc 1 123 0 + 703 03da 4030 R0 = P0; + 704 03dc 0065 R0 += 32; + 705 03de 00E6FD00 [P0+1012] = R0; + 706 .L42: + 128:src/l502_hdma.c **** g_state.hdma.out[d].xmod = 2; + 707 .loc 1 128 0 + 708 03e2 1060 R0 = 2 (X); + 709 03e4 68E61702 W [P5+1070] = R0; + 129:src/l502_hdma.c **** g_state.hdma.out[d].valid = 1; + 710 .loc 1 129 0 + 711 03e8 0860 R0 = 1 (X); + 130:src/l502_hdma.c **** g_state.hdma.out[d].next_descr = d==( L502_IN_HDMA_DESCR_CNT-1) ? + 712 .loc 1 130 0 + 713 03ea 46E10000 R6.H = _g_state; + 129:src/l502_hdma.c **** g_state.hdma.out[d].valid = 1; + 714 .loc 1 129 0 + 715 03ee 68E61D02 W [P5+1082] = R0; + 716 03f2 0160 R1 = 0 (X); + 717 .LVL20: + 718 03f4 0260 R2 = 0 (X); + 130:src/l502_hdma.c **** g_state.hdma.out[d].next_descr = d==( L502_IN_HDMA_DESCR_CNT-1) ? + 719 .loc 1 130 0 + 720 03f6 06E10000 R6.L = _g_state; + 721 03fa 30E13404 I0 = 1076 (X); + 128:src/l502_hdma.c **** g_state.hdma.out[d].xmod = 2; + 722 .loc 1 128 0 + 723 03fe 2BE12C04 P3 = 1068 (X); + 724 0402 1760 R7 = 2 (X); + 129:src/l502_hdma.c **** g_state.hdma.out[d].valid = 1; + 725 .loc 1 129 0 + 726 0404 2CE13804 P4 = 1080 (X); + 727 0408 0B60 R3 = 1 (X); + 728 040a F068 P0 = 30 (X); + 729 040c B2E01700 LSETUP (.L39, .L49) LC1 = P0; + 730 .L39: + 130:src/l502_hdma.c **** g_state.hdma.out[d].next_descr = d==( L502_IN_HDMA_DESCR_CNT-1) ? + BFIN GAS /tmp/ccZiL1p8.s page 26 + + + 731 .loc 1 130 0 + 732 0410 0A32 P1 = R2; + 733 0412 1165 R1 += 34; + 734 0414 82C62980 R0 = R1 << 5; + 735 0418 6D30 R5 = P5; + 736 041a 0550 R0 = R5 + R0; + 737 041c 8D5A P2 = P5 + P1; + 738 041e 8832 P1 = I0; + 739 0420 8A5A P2 = P2 + P1; + 740 0422 1093 [P2] = R0; + 127:src/l502_hdma.c **** for (d=0; d < L502_OUT_HDMA_DESCR_CNT; d++) { + 741 .loc 1 127 0 + 742 0424 F966 R1 += -33; + 743 0426 F860 R0 = 31 (X); + 744 0428 0108 cc =R1==R0; + 745 042a 1318 if cc jump .L44; + 128:src/l502_hdma.c **** g_state.hdma.out[d].xmod = 2; + 746 .loc 1 128 0 + 747 042c 82C62984 R2 = R1 << 5; + 748 0430 5651 R5 = R6 + R2; + 749 0432 1532 P2 = R5; + 750 0434 5A5A P1 = P2 + P3; + 751 0436 4FB4 W [P1+2] = R7; + 129:src/l502_hdma.c **** g_state.hdma.out[d].valid = 1; + 752 .loc 1 129 0 + 753 0438 A25A P2 = P2 + P4; + 754 .L49: + 755 043a 53B4 W [P2+2] = R3; + 130:src/l502_hdma.c **** g_state.hdma.out[d].next_descr = d==( L502_IN_HDMA_DESCR_CNT-1) ? + 756 .loc 1 130 0 + 757 043c 40E10000 R0.H = _g_state+1056; + 758 0440 4AE10000 P2.H = _g_state; + 759 0444 00E12004 R0.L = _g_state+1056; + 760 0448 0AE10000 P2.L = _g_state; + 761 044c 10E6FD01 [P2+2036] = R0; + 762 .L44: + 133:src/l502_hdma.c **** } + 763 .loc 1 133 0 + 764 0450 01E80000 UNLINK; + 765 0454 AB05 ( r7:5, p5:3 ) = [sp++]; + 766 + 767 .LCFI22: + 768 0456 1000 rts; + 769 .LFE17: + 770 .size _hdma_init, .-_hdma_init + 771 .align 4 + 772 .global _hdma_isr; + 773 .type _hdma_isr, STT_FUNC; + 774 _hdma_isr: + 775 .LFB26: + 257:src/l502_hdma.c **** ISR(hdma_isr) { + 776 .loc 1 257 0 + 777 0458 6601 [--SP] = ASTAT; + 778 .LCFI23: + 779 045a 7101 [--SP] = LT0; + 780 .LCFI24: + 781 045c 7401 [--SP] = LT1; + BFIN GAS /tmp/ccZiL1p8.s page 27 + + + 782 .LCFI25: + 783 045e 7001 [--SP] = LC0; + 784 .LCFI26: + 785 0460 7301 [--SP] = LC1; + 786 .LCFI27: + 787 0462 7201 [--SP] = LB0; + 788 .LCFI28: + 789 0464 7501 [--SP] = LB1; + 790 .LCFI29: + 791 0466 C005 [--sp] = ( r7:0, p5:0 ); + 792 + 793 .LCFI30: + 794 0468 5001 [--SP] = I0; + 795 .LCFI31: + 796 046a 5101 [--SP] = I1; + 797 .LCFI32: + 798 046c 5201 [--SP] = I2; + 799 .LCFI33: + 800 046e 5301 [--SP] = I3; + 801 .LCFI34: + 802 0470 5801 [--SP] = B0; + 803 .LCFI35: + 804 0472 5901 [--SP] = B1; + 805 .LCFI36: + 806 0474 5A01 [--SP] = B2; + 807 .LCFI37: + 808 0476 5B01 [--SP] = B3; + 809 .LCFI38: + 810 0478 5C01 [--SP] = L0; + 811 .LCFI39: + 812 047a 5D01 [--SP] = L1; + 813 .LCFI40: + 814 047c 5E01 [--SP] = L2; + 815 .LCFI41: + 816 047e 5F01 [--SP] = L3; + 817 .LCFI42: + 818 0480 5401 [--SP] = M0; + 819 .LCFI43: + 820 0482 5501 [--SP] = M1; + 821 .LCFI44: + 822 0484 5601 [--SP] = M2; + 823 .LCFI45: + 824 0486 5701 [--SP] = M3; + 825 .LCFI46: + 826 0488 60016101 [--SP] = A0.x; [--SP] = A0.w; + 827 .LCFI47: + 258:src/l502_hdma.c **** if ((*pDMA1_IRQ_STATUS & DMA_DONE) != 0) { + 828 .loc 1 258 0 + 829 048c 4AE1C0FF P2.H = 65472; + 257:src/l502_hdma.c **** ISR(hdma_isr) { + 830 .loc 1 257 0 + 831 0490 62016301 [--SP] = A1.x; [--SP] = A1.w; + 832 .LCFI48: + 258:src/l502_hdma.c **** if ((*pDMA1_IRQ_STATUS & DMA_DONE) != 0) { + 833 .loc 1 258 0 + 834 0494 0AE1680C P2.L = 3176; + 257:src/l502_hdma.c **** ISR(hdma_isr) { + BFIN GAS /tmp/ccZiL1p8.s page 28 + + + 835 .loc 1 257 0 + 836 0498 7B01 [--SP] = RETI; + 837 .LCFI49: + 838 049a 00E80300 LINK 12; + 839 .LCFI50: + 258:src/l502_hdma.c **** if ((*pDMA1_IRQ_STATUS & DMA_DONE) != 0) { + 840 .loc 1 258 0 + 841 049e 1095 R0 = W [P2] (Z); + 842 04a0 0048 cc = !BITTST (R0,0); + 843 04a2 2A18 if cc jump .L52; + 260:src/l502_hdma.c **** if (g_state.cmd.status == L502_BF_CMD_STATUS_REQ) { + 844 .loc 1 260 0 + 845 04a4 4CE10000 P4.H = _g_state; + 846 04a8 0CE10000 P4.L = _g_state; + 847 04ac 21E1015A R1 = 23041 (X); + 848 04b0 60E50104 R0 = W [P4+2050] (X); + 849 04b4 C042 R0 = R0.L (Z); + 850 04b6 0808 cc =R0==R1; + 851 04b8 7318 if cc jump .L59; + 852 .L53: + 265:src/l502_hdma.c **** if (g_state.hdma.in_lb.valid) { + 853 .loc 1 265 0 + 854 04ba 49E10000 P1.H = _g_state; + 855 04be 09E10000 P1.L = _g_state; + 856 04c2 60AB R0 = W [P4+26] (X); + 857 04c4 C042 R0 = R0.L (Z); + 858 04c6 000C cc =R0==0; + 859 04c8 5E10 if !cc jump .L60; + 860 .L54: + 273:src/l502_hdma.c **** if (g_state.hdma.out_lb.valid) { + 861 .loc 1 273 0 + 862 04ca 4DE10000 P5.H = _g_state; + 863 04ce 0DE10000 P5.L = _g_state; + 864 04d2 60E50D02 R0 = W [P4+1050] (X); + 865 04d6 C042 R0 = R0.L (Z); + 866 04d8 000C cc =R0==0; + 867 04da 2F10 if !cc jump .L61; + 868 .L55: + 298:src/l502_hdma.c **** *pDMA1_IRQ_STATUS = DMA_DONE; + 869 .loc 1 298 0 + 870 04dc 4AE1C0FF P2.H = 65472; + 871 04e0 0860 R0 = 1 (X); + 872 04e2 0AE1680C P2.L = 3176; + 873 04e6 1097 W [P2] = R0; + 874 .LBB59: + 875 .LBB60: + 259:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_csync(); + 876 .loc 2 259 0 + 877 04e8 2300 csync; + 878 .LBE60: + 879 .LBE59: + 300:src/l502_hdma.c **** *pHOST_STATUS = DMA_CMPLT; + 880 .loc 1 300 0 + 881 04ea 4AE1C0FF P2.H = 65472; + 882 04ee 4060 R0 = 8 (X); + 883 04f0 0AE10434 P2.L = 13316; + 884 04f4 1097 W [P2] = R0; + BFIN GAS /tmp/ccZiL1p8.s page 29 + + + 885 .L52: + 886 .LBB61: + 887 .LBB62: + 888 .loc 2 277 0 + 889 04f6 2400 ssync; + 890 .LBE62: + 891 .LBE61: + 303:src/l502_hdma.c **** } + 892 .loc 1 303 0 + 893 04f8 01E80000 UNLINK; + 894 04fc 3B01 RETI = [SP++]; + 895 04fe 23012201 A1.w = [SP++]; A1.x = [SP++]; + 896 0502 21012001 A0.w = [SP++]; A0.x = [SP++]; + 897 0506 1701 M3 = [SP++]; + 898 0508 1601 M2 = [SP++]; + 899 050a 1501 M1 = [SP++]; + 900 050c 1401 M0 = [SP++]; + 901 050e 1F01 L3 = [SP++]; + 902 0510 1E01 L2 = [SP++]; + 903 0512 1D01 L1 = [SP++]; + 904 0514 1C01 L0 = [SP++]; + 905 0516 1B01 B3 = [SP++]; + 906 0518 1A01 B2 = [SP++]; + 907 051a 1901 B1 = [SP++]; + 908 051c 1801 B0 = [SP++]; + 909 051e 1301 I3 = [SP++]; + 910 0520 1201 I2 = [SP++]; + 911 0522 1101 I1 = [SP++]; + 912 0524 1001 I0 = [SP++]; + 913 0526 8005 ( r7:0, p5:0 ) = [sp++]; + 914 + 915 .LCFI51: + 916 0528 3501 LB1 = [SP++]; + 917 052a 3201 LB0 = [SP++]; + 918 052c 3301 LC1 = [SP++]; + 919 052e 3001 LC0 = [SP++]; + 920 0530 3401 LT1 = [SP++]; + 921 0532 3101 LT0 = [SP++]; + 922 0534 2601 ASTAT = [SP++]; + 923 0536 1100 rti; + 924 .L61: + 925 .LBB63: + 277:src/l502_hdma.c **** g_state.hdma.out_lb.full_size)/2; + 926 .loc 1 277 0 + 927 0538 4BE10000 P3.H = _f_rcv_done_descr; + 928 053c 0BE10A00 P3.L = _f_rcv_done_descr; + 929 0540 1899 R0 = B [P3] (Z); + 930 0542 284F R0 <<= 5; + 931 0544 0832 P1 = R0; + 932 0546 27E12404 R7 = 1060 (X); + 279:src/l502_hdma.c **** g_state.hdma.out_lb.valid = 0; + 933 .loc 1 279 0 + 934 054a 0060 R0 = 0 (X); + 277:src/l502_hdma.c **** g_state.hdma.out_lb.full_size)/2; + 935 .loc 1 277 0 + 936 054c 8D5A P2 = P5 + P1; + 937 054e 0F32 P1 = R7; + BFIN GAS /tmp/ccZiL1p8.s page 30 + + + 938 0550 8A5A P2 = P2 + P1; + 939 0552 1191 R1 = [P2]; + 940 0554 2AE40101 R2 = [P5+1028]; + 279:src/l502_hdma.c **** g_state.hdma.out_lb.valid = 0; + 941 .loc 1 279 0 + 942 0558 68E60D02 W [P5+1050] = R0; + 282:src/l502_hdma.c **** hdma_recv_done(g_state.hdma.out_lb.addr, size); + 943 .loc 1 282 0 + 944 055c 5152 R1 = R1 - R2; + 945 055e 28E40201 R0 = [P5+1032]; + 946 0562 094E R1 >>= 1; + 947 0564 FFE34EFD call _hdma_recv_done; + 286:src/l502_hdma.c **** if (g_state.hdma.out_lb.full_size) { + 948 .loc 1 286 0 + 949 0568 28E40101 R0 = [P5+1028]; + 950 056c 000C cc =R0==0; + 951 056e 1B1C if cc jump .L56 (bp); + 287:src/l502_hdma.c **** g_state.hdma.out[f_rcv_done_descr].full_size = + 952 .loc 1 287 0 + 953 0570 1899 R0 = B [P3] (Z); + 954 0572 284F R0 <<= 5; + 955 0574 0832 P1 = R0; + 956 0576 29E40101 R1 = [P5+1028]; + 957 057a 8D5A P2 = P5 + P1; + 958 057c 0F32 P1 = R7; + 959 057e 8A5A P2 = P2 + P1; + 960 0580 1193 [P2] = R1; + 961 0582 AD2F jump.s .L55; + 962 .L60: + 963 .LBE63: + 267:src/l502_hdma.c **** f_snd_done_id = g_state.hdma.in_lb.id; + 964 .loc 1 267 0 + 965 0584 4AE10000 P2.H = _f_snd_done_id; + 966 0588 08AB R0 = W [P1+24] (X); + 967 058a 0AE10400 P2.L = _f_snd_done_id; + 968 058e 1097 W [P2] = R0; + 268:src/l502_hdma.c **** g_state.hdma.in_lb.valid = 0; + 969 .loc 1 268 0 + 970 0590 0060 R0 = 0 (X); + 971 0592 48B7 W [P1+26] = R0; + 269:src/l502_hdma.c **** hdma_send_done(g_state.hdma.in_lb.addr, g_state.hdma.in_lb.udata); + 972 .loc 1 269 0 + 973 0594 88A0 R0 = [P1+8]; + 974 0596 C9A1 R1 = [P1+28]; + 975 0598 FFE334FD call _hdma_send_done; + 976 059c 972F jump.s .L54; + 977 .L59: + 261:src/l502_hdma.c **** l502_cmd_set_req(); + 978 .loc 1 261 0 + 979 059e FFE331FD call _l502_cmd_set_req; + 980 05a2 8C2F jump.s .L53; + 981 .L56: + 982 .LBB64: + 292:src/l502_hdma.c **** if (++f_rcv_done_descr== L502_OUT_HDMA_DESCR_CNT) + 983 .loc 1 292 0 + 984 05a4 F960 R1 = 31 (X); + 985 05a6 5899 R0 = B [P3] (X); + BFIN GAS /tmp/ccZiL1p8.s page 31 + + + 986 05a8 0864 R0 += 1; + 987 05aa 189B B [P3] = R0; + 988 05ac 4043 R0 = R0.B (Z); + 989 05ae 0808 cc =R0==R1; + 990 05b0 0918 if cc jump .L62; + 991 .L57: + 294:src/l502_hdma.c **** f_rcv_done_id = g_state.hdma.out_lb.id; + 992 .loc 1 294 0 + 993 05b2 4AE10000 P2.H = _f_rcv_done_id; + 994 05b6 0AE10600 P2.L = _f_rcv_done_id; + 995 05ba 60E50C02 R0 = W [P4+1048] (X); + 996 05be 1097 W [P2] = R0; + 997 05c0 8E2F jump.s .L55; + 998 .L62: + 293:src/l502_hdma.c **** f_rcv_done_descr = 0; + 999 .loc 1 293 0 + 1000 05c2 0060 R0 = 0 (X); + 1001 05c4 189B B [P3] = R0; + 1002 05c6 F62F jump.s .L57; + 1003 .LBE64: + 1004 .LFE26: + 1005 .size _hdma_isr, .-_hdma_isr + 1006 .local _f_snd_start_id + 1007 .comm _f_snd_start_id,2,2 + 1008 .local _f_rcv_start_id + 1009 .comm _f_rcv_start_id,2,2 + 1010 .local _f_snd_done_id + 1011 .comm _f_snd_done_id,2,2 + 1012 .local _f_rcv_done_id + 1013 .comm _f_rcv_done_id,2,2 + 1014 .local _f_snd_next_descr + 1015 .comm _f_snd_next_descr,1,1 + 1016 .local _f_rcv_next_descr + 1017 .comm _f_rcv_next_descr,1,1 + 1018 .local _f_rcv_done_descr + 1019 .comm _f_rcv_done_descr,1,1 + 1020 .section .debug_frame,"",@progbits + 1021 .Lframe0: + 1022 0000 0C000000 .4byte .LECIE0-.LSCIE0 + 1023 .LSCIE0: + 1024 0004 FFFFFFFF .4byte 0xffffffff + 1025 0008 01 .byte 0x1 + 1026 0009 00 .string "" + 1027 000a 01 .uleb128 0x1 + 1028 000b 7C .sleb128 -4 + 1029 000c 23 .byte 0x23 + 1030 000d 0C .byte 0xc + 1031 000e 0E .uleb128 0xe + 1032 000f 00 .uleb128 0x0 + 1033 .align 4 + 1034 .LECIE0: + 1035 .LSFDE0: + 1036 0010 14000000 .4byte .LEFDE0-.LASFDE0 + 1037 .LASFDE0: + 1038 0014 00000000 .4byte .Lframe0 + 1039 0018 00000000 .4byte .LFB18 + 1040 001c 44000000 .4byte .LFE18-.LFB18 + BFIN GAS /tmp/ccZiL1p8.s page 32 + + + 1041 0020 48 .byte 0x4 + 1042 .4byte .LCFI0-.LFB18 + 1043 0021 0C .byte 0xc + 1044 0022 0F .uleb128 0xf + 1045 0023 08 .uleb128 0x8 + 1046 0024 8F .byte 0x8f + 1047 0025 02 .uleb128 0x2 + 1048 0026 A3 .byte 0xa3 + 1049 0027 01 .uleb128 0x1 + 1050 .align 4 + 1051 .LEFDE0: + 1052 .LSFDE2: + 1053 0028 14000000 .4byte .LEFDE2-.LASFDE2 + 1054 .LASFDE2: + 1055 002c 00000000 .4byte .Lframe0 + 1056 0030 44000000 .4byte .LFB19 + 1057 0034 18000000 .4byte .LFE19-.LFB19 + 1058 0038 48 .byte 0x4 + 1059 .4byte .LCFI1-.LFB19 + 1060 0039 0C .byte 0xc + 1061 003a 0F .uleb128 0xf + 1062 003b 08 .uleb128 0x8 + 1063 003c 8F .byte 0x8f + 1064 003d 02 .uleb128 0x2 + 1065 003e A3 .byte 0xa3 + 1066 003f 01 .uleb128 0x1 + 1067 .align 4 + 1068 .LEFDE2: + 1069 .LSFDE4: + 1070 0040 14000000 .4byte .LEFDE4-.LASFDE4 + 1071 .LASFDE4: + 1072 0044 00000000 .4byte .Lframe0 + 1073 0048 5C000000 .4byte .LFB20 + 1074 004c 50000000 .4byte .LFE20-.LFB20 + 1075 0050 48 .byte 0x4 + 1076 .4byte .LCFI2-.LFB20 + 1077 0051 0C .byte 0xc + 1078 0052 0F .uleb128 0xf + 1079 0053 08 .uleb128 0x8 + 1080 0054 8F .byte 0x8f + 1081 0055 02 .uleb128 0x2 + 1082 0056 A3 .byte 0xa3 + 1083 0057 01 .uleb128 0x1 + 1084 .align 4 + 1085 .LEFDE4: + 1086 .LSFDE6: + 1087 0058 14000000 .4byte .LEFDE6-.LASFDE6 + 1088 .LASFDE6: + 1089 005c 00000000 .4byte .Lframe0 + 1090 0060 AC000000 .4byte .LFB21 + 1091 0064 18000000 .4byte .LFE21-.LFB21 + 1092 0068 48 .byte 0x4 + 1093 .4byte .LCFI3-.LFB21 + 1094 0069 0C .byte 0xc + 1095 006a 0F .uleb128 0xf + 1096 006b 08 .uleb128 0x8 + 1097 006c 8F .byte 0x8f + BFIN GAS /tmp/ccZiL1p8.s page 33 + + + 1098 006d 02 .uleb128 0x2 + 1099 006e A3 .byte 0xa3 + 1100 006f 01 .uleb128 0x1 + 1101 .align 4 + 1102 .LEFDE6: + 1103 .LSFDE8: + 1104 0070 14000000 .4byte .LEFDE8-.LASFDE8 + 1105 .LASFDE8: + 1106 0074 00000000 .4byte .Lframe0 + 1107 0078 C4000000 .4byte .LFB22 + 1108 007c 26000000 .4byte .LFE22-.LFB22 + 1109 0080 48 .byte 0x4 + 1110 .4byte .LCFI4-.LFB22 + 1111 0081 0C .byte 0xc + 1112 0082 0F .uleb128 0xf + 1113 0083 08 .uleb128 0x8 + 1114 0084 8F .byte 0x8f + 1115 0085 02 .uleb128 0x2 + 1116 0086 A3 .byte 0xa3 + 1117 0087 01 .uleb128 0x1 + 1118 .align 4 + 1119 .LEFDE8: + 1120 .LSFDE10: + 1121 0088 14000000 .4byte .LEFDE10-.LASFDE10 + 1122 .LASFDE10: + 1123 008c 00000000 .4byte .Lframe0 + 1124 0090 EC000000 .4byte .LFB23 + 1125 0094 26000000 .4byte .LFE23-.LFB23 + 1126 0098 48 .byte 0x4 + 1127 .4byte .LCFI5-.LFB23 + 1128 0099 0C .byte 0xc + 1129 009a 0F .uleb128 0xf + 1130 009b 08 .uleb128 0x8 + 1131 009c 8F .byte 0x8f + 1132 009d 02 .uleb128 0x2 + 1133 009e A3 .byte 0xa3 + 1134 009f 01 .uleb128 0x1 + 1135 .align 4 + 1136 .LEFDE10: + 1137 .LSFDE12: + 1138 00a0 20000000 .4byte .LEFDE12-.LASFDE12 + 1139 .LASFDE12: + 1140 00a4 00000000 .4byte .Lframe0 + 1141 00a8 14010000 .4byte .LFB24 + 1142 00ac A0000000 .4byte .LFE24-.LFB24 + 1143 00b0 42 .byte 0x4 + 1144 .4byte .LCFI6-.LFB24 + 1145 00b1 0E .byte 0xe + 1146 00b2 10 .uleb128 0x10 + 1147 00b3 4C .byte 0x4 + 1148 .4byte .LCFI7-.LCFI6 + 1149 00b4 0C .byte 0xc + 1150 00b5 0F .uleb128 0xf + 1151 00b6 18 .uleb128 0x18 + 1152 00b7 8F .byte 0x8f + 1153 00b8 06 .uleb128 0x6 + 1154 00b9 A3 .byte 0xa3 + BFIN GAS /tmp/ccZiL1p8.s page 34 + + + 1155 00ba 05 .uleb128 0x5 + 1156 00bb 8D .byte 0x8d + 1157 00bc 04 .uleb128 0x4 + 1158 00bd 87 .byte 0x87 + 1159 00be 03 .uleb128 0x3 + 1160 00bf 86 .byte 0x86 + 1161 00c0 02 .uleb128 0x2 + 1162 00c1 85 .byte 0x85 + 1163 00c2 01 .uleb128 0x1 + 1164 00c3 00 .align 4 + 1165 .LEFDE12: + 1166 .LSFDE14: + 1167 00c4 20000000 .4byte .LEFDE14-.LASFDE14 + 1168 .LASFDE14: + 1169 00c8 00000000 .4byte .Lframe0 + 1170 00cc B4010000 .4byte .LFB25 + 1171 00d0 A4000000 .4byte .LFE25-.LFB25 + 1172 00d4 42 .byte 0x4 + 1173 .4byte .LCFI10-.LFB25 + 1174 00d5 0E .byte 0xe + 1175 00d6 0C .uleb128 0xc + 1176 00d7 4C .byte 0x4 + 1177 .4byte .LCFI11-.LCFI10 + 1178 00d8 0C .byte 0xc + 1179 00d9 0F .uleb128 0xf + 1180 00da 14 .uleb128 0x14 + 1181 00db 8F .byte 0x8f + 1182 00dc 05 .uleb128 0x5 + 1183 00dd A3 .byte 0xa3 + 1184 00de 04 .uleb128 0x4 + 1185 00df 8D .byte 0x8d + 1186 00e0 03 .uleb128 0x3 + 1187 00e1 87 .byte 0x87 + 1188 00e2 02 .uleb128 0x2 + 1189 00e3 86 .byte 0x86 + 1190 00e4 01 .uleb128 0x1 + 1191 00e5 000000 .align 4 + 1192 .LEFDE14: + 1193 .LSFDE16: + 1194 00e8 30000000 .4byte .LEFDE16-.LASFDE16 + 1195 .LASFDE16: + 1196 00ec 00000000 .4byte .Lframe0 + 1197 00f0 58020000 .4byte .LFB27 + 1198 00f4 42000000 .4byte .LFE27-.LFB27 + 1199 00f8 42 .byte 0x4 + 1200 .4byte .LCFI14-.LFB27 + 1201 00f9 0E .byte 0xe + 1202 00fa 04 .uleb128 0x4 + 1203 00fb 42 .byte 0x4 + 1204 .4byte .LCFI15-.LCFI14 + 1205 00fc 0E .byte 0xe + 1206 00fd 08 .uleb128 0x8 + 1207 00fe 42 .byte 0x4 + 1208 .4byte .LCFI16-.LCFI15 + 1209 00ff 0E .byte 0xe + 1210 0100 0C .uleb128 0xc + 1211 0101 42 .byte 0x4 + BFIN GAS /tmp/ccZiL1p8.s page 35 + + + 1212 .4byte .LCFI17-.LCFI16 + 1213 0102 0E .byte 0xe + 1214 0103 10 .uleb128 0x10 + 1215 0104 42 .byte 0x4 + 1216 .4byte .LCFI18-.LCFI17 + 1217 0105 0E .byte 0xe + 1218 0106 14 .uleb128 0x14 + 1219 0107 A4 .byte 0xa4 + 1220 0108 05 .uleb128 0x5 + 1221 0109 8A .byte 0x8a + 1222 010a 04 .uleb128 0x4 + 1223 010b 81 .byte 0x81 + 1224 010c 03 .uleb128 0x3 + 1225 010d 80 .byte 0x80 + 1226 010e 02 .uleb128 0x2 + 1227 010f A8 .byte 0xa8 + 1228 0110 01 .uleb128 0x1 + 1229 0111 48 .byte 0x4 + 1230 .4byte .LCFI19-.LCFI18 + 1231 0112 0C .byte 0xc + 1232 0113 0F .uleb128 0xf + 1233 0114 1C .uleb128 0x1c + 1234 0115 8F .byte 0x8f + 1235 0116 07 .uleb128 0x7 + 1236 0117 A3 .byte 0xa3 + 1237 0118 06 .uleb128 0x6 + 1238 0119 000000 .align 4 + 1239 .LEFDE16: + 1240 .LSFDE18: + 1241 011c 24000000 .4byte .LEFDE18-.LASFDE18 + 1242 .LASFDE18: + 1243 0120 00000000 .4byte .Lframe0 + 1244 0124 9C020000 .4byte .LFB17 + 1245 0128 BC010000 .4byte .LFE17-.LFB17 + 1246 012c 42 .byte 0x4 + 1247 .4byte .LCFI20-.LFB17 + 1248 012d 0E .byte 0xe + 1249 012e 18 .uleb128 0x18 + 1250 012f 48 .byte 0x4 + 1251 .4byte .LCFI21-.LCFI20 + 1252 0130 0C .byte 0xc + 1253 0131 0F .uleb128 0xf + 1254 0132 20 .uleb128 0x20 + 1255 0133 8F .byte 0x8f + 1256 0134 08 .uleb128 0x8 + 1257 0135 A3 .byte 0xa3 + 1258 0136 07 .uleb128 0x7 + 1259 0137 8D .byte 0x8d + 1260 0138 06 .uleb128 0x6 + 1261 0139 8C .byte 0x8c + 1262 013a 05 .uleb128 0x5 + 1263 013b 8B .byte 0x8b + 1264 013c 04 .uleb128 0x4 + 1265 013d 87 .byte 0x87 + 1266 013e 03 .uleb128 0x3 + 1267 013f 86 .byte 0x86 + 1268 0140 02 .uleb128 0x2 + BFIN GAS /tmp/ccZiL1p8.s page 36 + + + 1269 0141 85 .byte 0x85 + 1270 0142 01 .uleb128 0x1 + 1271 0143 00 .align 4 + 1272 .LEFDE18: + 1273 .LSFDE20: + 1274 0144 C0000000 .4byte .LEFDE20-.LASFDE20 + 1275 .LASFDE20: + 1276 0148 00000000 .4byte .Lframe0 + 1277 014c 58040000 .4byte .LFB26 + 1278 0150 70010000 .4byte .LFE26-.LFB26 + 1279 0154 42 .byte 0x4 + 1280 .4byte .LCFI23-.LFB26 + 1281 0155 0E .byte 0xe + 1282 0156 04 .uleb128 0x4 + 1283 0157 42 .byte 0x4 + 1284 .4byte .LCFI24-.LCFI23 + 1285 0158 0E .byte 0xe + 1286 0159 08 .uleb128 0x8 + 1287 015a 42 .byte 0x4 + 1288 .4byte .LCFI25-.LCFI24 + 1289 015b 0E .byte 0xe + 1290 015c 0C .uleb128 0xc + 1291 015d 42 .byte 0x4 + 1292 .4byte .LCFI26-.LCFI25 + 1293 015e 0E .byte 0xe + 1294 015f 10 .uleb128 0x10 + 1295 0160 42 .byte 0x4 + 1296 .4byte .LCFI27-.LCFI26 + 1297 0161 0E .byte 0xe + 1298 0162 14 .uleb128 0x14 + 1299 0163 42 .byte 0x4 + 1300 .4byte .LCFI28-.LCFI27 + 1301 0164 0E .byte 0xe + 1302 0165 18 .uleb128 0x18 + 1303 0166 42 .byte 0x4 + 1304 .4byte .LCFI29-.LCFI28 + 1305 0167 0E .byte 0xe + 1306 0168 1C .uleb128 0x1c + 1307 0169 42 .byte 0x4 + 1308 .4byte .LCFI30-.LCFI29 + 1309 016a 0E .byte 0xe + 1310 016b 54 .uleb128 0x54 + 1311 016c 42 .byte 0x4 + 1312 .4byte .LCFI31-.LCFI30 + 1313 016d 0E .byte 0xe + 1314 016e 58 .uleb128 0x58 + 1315 016f 42 .byte 0x4 + 1316 .4byte .LCFI32-.LCFI31 + 1317 0170 0E .byte 0xe + 1318 0171 5C .uleb128 0x5c + 1319 0172 42 .byte 0x4 + 1320 .4byte .LCFI33-.LCFI32 + 1321 0173 0E .byte 0xe + 1322 0174 60 .uleb128 0x60 + 1323 0175 42 .byte 0x4 + 1324 .4byte .LCFI34-.LCFI33 + 1325 0176 0E .byte 0xe + BFIN GAS /tmp/ccZiL1p8.s page 37 + + + 1326 0177 64 .uleb128 0x64 + 1327 0178 42 .byte 0x4 + 1328 .4byte .LCFI35-.LCFI34 + 1329 0179 0E .byte 0xe + 1330 017a 68 .uleb128 0x68 + 1331 017b 42 .byte 0x4 + 1332 .4byte .LCFI36-.LCFI35 + 1333 017c 0E .byte 0xe + 1334 017d 6C .uleb128 0x6c + 1335 017e 42 .byte 0x4 + 1336 .4byte .LCFI37-.LCFI36 + 1337 017f 0E .byte 0xe + 1338 0180 70 .uleb128 0x70 + 1339 0181 42 .byte 0x4 + 1340 .4byte .LCFI38-.LCFI37 + 1341 0182 0E .byte 0xe + 1342 0183 74 .uleb128 0x74 + 1343 0184 42 .byte 0x4 + 1344 .4byte .LCFI39-.LCFI38 + 1345 0185 0E .byte 0xe + 1346 0186 78 .uleb128 0x78 + 1347 0187 42 .byte 0x4 + 1348 .4byte .LCFI40-.LCFI39 + 1349 0188 0E .byte 0xe + 1350 0189 7C .uleb128 0x7c + 1351 018a 42 .byte 0x4 + 1352 .4byte .LCFI41-.LCFI40 + 1353 018b 0E .byte 0xe + 1354 018c 8001 .uleb128 0x80 + 1355 018e 42 .byte 0x4 + 1356 .4byte .LCFI42-.LCFI41 + 1357 018f 0E .byte 0xe + 1358 0190 8401 .uleb128 0x84 + 1359 0192 42 .byte 0x4 + 1360 .4byte .LCFI43-.LCFI42 + 1361 0193 0E .byte 0xe + 1362 0194 8801 .uleb128 0x88 + 1363 0196 42 .byte 0x4 + 1364 .4byte .LCFI44-.LCFI43 + 1365 0197 0E .byte 0xe + 1366 0198 8C01 .uleb128 0x8c + 1367 019a 42 .byte 0x4 + 1368 .4byte .LCFI45-.LCFI44 + 1369 019b 0E .byte 0xe + 1370 019c 9001 .uleb128 0x90 + 1371 019e 42 .byte 0x4 + 1372 .4byte .LCFI46-.LCFI45 + 1373 019f 0E .byte 0xe + 1374 01a0 9401 .uleb128 0x94 + 1375 01a2 44 .byte 0x4 + 1376 .4byte .LCFI47-.LCFI46 + 1377 01a3 0E .byte 0xe + 1378 01a4 9C01 .uleb128 0x9c + 1379 01a6 A0 .byte 0xa0 + 1380 01a7 27 .uleb128 0x27 + 1381 01a8 9F .byte 0x9f + 1382 01a9 25 .uleb128 0x25 + BFIN GAS /tmp/ccZiL1p8.s page 38 + + + 1383 01aa 9E .byte 0x9e + 1384 01ab 24 .uleb128 0x24 + 1385 01ac 9D .byte 0x9d + 1386 01ad 23 .uleb128 0x23 + 1387 01ae 9C .byte 0x9c + 1388 01af 22 .uleb128 0x22 + 1389 01b0 9B .byte 0x9b + 1390 01b1 21 .uleb128 0x21 + 1391 01b2 9A .byte 0x9a + 1392 01b3 20 .uleb128 0x20 + 1393 01b4 99 .byte 0x99 + 1394 01b5 1F .uleb128 0x1f + 1395 01b6 98 .byte 0x98 + 1396 01b7 1E .uleb128 0x1e + 1397 01b8 97 .byte 0x97 + 1398 01b9 1D .uleb128 0x1d + 1399 01ba 96 .byte 0x96 + 1400 01bb 1C .uleb128 0x1c + 1401 01bc 95 .byte 0x95 + 1402 01bd 1B .uleb128 0x1b + 1403 01be 94 .byte 0x94 + 1404 01bf 1A .uleb128 0x1a + 1405 01c0 93 .byte 0x93 + 1406 01c1 19 .uleb128 0x19 + 1407 01c2 92 .byte 0x92 + 1408 01c3 18 .uleb128 0x18 + 1409 01c4 91 .byte 0x91 + 1410 01c5 17 .uleb128 0x17 + 1411 01c6 90 .byte 0x90 + 1412 01c7 16 .uleb128 0x16 + 1413 01c8 8D .byte 0x8d + 1414 01c9 15 .uleb128 0x15 + 1415 01ca 8C .byte 0x8c + 1416 01cb 14 .uleb128 0x14 + 1417 01cc 8B .byte 0x8b + 1418 01cd 13 .uleb128 0x13 + 1419 01ce 8A .byte 0x8a + 1420 01cf 12 .uleb128 0x12 + 1421 01d0 89 .byte 0x89 + 1422 01d1 11 .uleb128 0x11 + 1423 01d2 88 .byte 0x88 + 1424 01d3 10 .uleb128 0x10 + 1425 01d4 87 .byte 0x87 + 1426 01d5 0F .uleb128 0xf + 1427 01d6 86 .byte 0x86 + 1428 01d7 0E .uleb128 0xe + 1429 01d8 85 .byte 0x85 + 1430 01d9 0D .uleb128 0xd + 1431 01da 84 .byte 0x84 + 1432 01db 0C .uleb128 0xc + 1433 01dc 83 .byte 0x83 + 1434 01dd 0B .uleb128 0xb + 1435 01de 82 .byte 0x82 + 1436 01df 0A .uleb128 0xa + 1437 01e0 81 .byte 0x81 + 1438 01e1 09 .uleb128 0x9 + 1439 01e2 80 .byte 0x80 + BFIN GAS /tmp/ccZiL1p8.s page 39 + + + 1440 01e3 08 .uleb128 0x8 + 1441 01e4 B1 .byte 0xb1 + 1442 01e5 07 .uleb128 0x7 + 1443 01e6 B0 .byte 0xb0 + 1444 01e7 06 .uleb128 0x6 + 1445 01e8 AF .byte 0xaf + 1446 01e9 05 .uleb128 0x5 + 1447 01ea AE .byte 0xae + 1448 01eb 04 .uleb128 0x4 + 1449 01ec AD .byte 0xad + 1450 01ed 03 .uleb128 0x3 + 1451 01ee AC .byte 0xac + 1452 01ef 02 .uleb128 0x2 + 1453 01f0 A8 .byte 0xa8 + 1454 01f1 01 .uleb128 0x1 + 1455 01f2 48 .byte 0x4 + 1456 .4byte .LCFI48-.LCFI47 + 1457 01f3 0E .byte 0xe + 1458 01f4 A401 .uleb128 0xa4 + 1459 01f6 46 .byte 0x4 + 1460 .4byte .LCFI49-.LCFI48 + 1461 01f7 0E .byte 0xe + 1462 01f8 A801 .uleb128 0xa8 + 1463 01fa 44 .byte 0x4 + 1464 .4byte .LCFI50-.LCFI49 + 1465 01fb 0C .byte 0xc + 1466 01fc 0F .uleb128 0xf + 1467 01fd B001 .uleb128 0xb0 + 1468 01ff 8F .byte 0x8f + 1469 0200 2C .uleb128 0x2c + 1470 0201 A3 .byte 0xa3 + 1471 0202 2B .uleb128 0x2b + 1472 0203 A4 .byte 0xa4 + 1473 0204 2A .uleb128 0x2a + 1474 0205 A1 .byte 0xa1 + 1475 0206 29 .uleb128 0x29 + 1476 0207 00 .align 4 + 1477 .LEFDE20: + 1478 .text; + 1479 .Letext0: + 1480 .section .debug_loc,"",@progbits + 1481 .Ldebug_loc0: + 1482 .LLST0: + 1483 0000 00000000 .4byte .LFB18-.Ltext0 + 1484 0004 08000000 .4byte .LCFI0-.Ltext0 + 1485 0008 0100 .2byte 0x1 + 1486 000a 5E .byte 0x5e + 1487 000b 08000000 .4byte .LCFI0-.Ltext0 + 1488 000f 44000000 .4byte .LFE18-.Ltext0 + 1489 0013 0200 .2byte 0x2 + 1490 0015 7F .byte 0x7f + 1491 0016 08 .sleb128 8 + 1492 0017 00000000 .4byte 0x0 + 1493 001b 00000000 .4byte 0x0 + 1494 .LLST1: + 1495 001f 44000000 .4byte .LFB19-.Ltext0 + 1496 0023 4C000000 .4byte .LCFI1-.Ltext0 + BFIN GAS /tmp/ccZiL1p8.s page 40 + + + 1497 0027 0100 .2byte 0x1 + 1498 0029 5E .byte 0x5e + 1499 002a 4C000000 .4byte .LCFI1-.Ltext0 + 1500 002e 5C000000 .4byte .LFE19-.Ltext0 + 1501 0032 0200 .2byte 0x2 + 1502 0034 7F .byte 0x7f + 1503 0035 08 .sleb128 8 + 1504 0036 00000000 .4byte 0x0 + 1505 003a 00000000 .4byte 0x0 + 1506 .LLST2: + 1507 003e 5C000000 .4byte .LFB20-.Ltext0 + 1508 0042 64000000 .4byte .LCFI2-.Ltext0 + 1509 0046 0100 .2byte 0x1 + 1510 0048 5E .byte 0x5e + 1511 0049 64000000 .4byte .LCFI2-.Ltext0 + 1512 004d AC000000 .4byte .LFE20-.Ltext0 + 1513 0051 0200 .2byte 0x2 + 1514 0053 7F .byte 0x7f + 1515 0054 08 .sleb128 8 + 1516 0055 00000000 .4byte 0x0 + 1517 0059 00000000 .4byte 0x0 + 1518 .LLST3: + 1519 005d AC000000 .4byte .LFB21-.Ltext0 + 1520 0061 B4000000 .4byte .LCFI3-.Ltext0 + 1521 0065 0100 .2byte 0x1 + 1522 0067 5E .byte 0x5e + 1523 0068 B4000000 .4byte .LCFI3-.Ltext0 + 1524 006c C4000000 .4byte .LFE21-.Ltext0 + 1525 0070 0200 .2byte 0x2 + 1526 0072 7F .byte 0x7f + 1527 0073 08 .sleb128 8 + 1528 0074 00000000 .4byte 0x0 + 1529 0078 00000000 .4byte 0x0 + 1530 .LLST4: + 1531 007c C4000000 .4byte .LFB22-.Ltext0 + 1532 0080 CC000000 .4byte .LCFI4-.Ltext0 + 1533 0084 0100 .2byte 0x1 + 1534 0086 5E .byte 0x5e + 1535 0087 CC000000 .4byte .LCFI4-.Ltext0 + 1536 008b EA000000 .4byte .LFE22-.Ltext0 + 1537 008f 0200 .2byte 0x2 + 1538 0091 7F .byte 0x7f + 1539 0092 08 .sleb128 8 + 1540 0093 00000000 .4byte 0x0 + 1541 0097 00000000 .4byte 0x0 + 1542 .LLST5: + 1543 009b EC000000 .4byte .LFB23-.Ltext0 + 1544 009f F4000000 .4byte .LCFI5-.Ltext0 + 1545 00a3 0100 .2byte 0x1 + 1546 00a5 5E .byte 0x5e + 1547 00a6 F4000000 .4byte .LCFI5-.Ltext0 + 1548 00aa 12010000 .4byte .LFE23-.Ltext0 + 1549 00ae 0200 .2byte 0x2 + 1550 00b0 7F .byte 0x7f + 1551 00b1 08 .sleb128 8 + 1552 00b2 00000000 .4byte 0x0 + 1553 00b6 00000000 .4byte 0x0 + BFIN GAS /tmp/ccZiL1p8.s page 41 + + + 1554 .LLST6: + 1555 00ba 14010000 .4byte .LFB24-.Ltext0 + 1556 00be 16010000 .4byte .LCFI6-.Ltext0 + 1557 00c2 0100 .2byte 0x1 + 1558 00c4 5E .byte 0x5e + 1559 00c5 16010000 .4byte .LCFI6-.Ltext0 + 1560 00c9 22010000 .4byte .LCFI7-.Ltext0 + 1561 00cd 0200 .2byte 0x2 + 1562 00cf 7E .byte 0x7e + 1563 00d0 10 .sleb128 16 + 1564 00d1 22010000 .4byte .LCFI7-.Ltext0 + 1565 00d5 B4010000 .4byte .LFE24-.Ltext0 + 1566 00d9 0200 .2byte 0x2 + 1567 00db 7F .byte 0x7f + 1568 00dc 18 .sleb128 24 + 1569 00dd 00000000 .4byte 0x0 + 1570 00e1 00000000 .4byte 0x0 + 1571 .LLST7: + 1572 00e5 14010000 .4byte .LVL0-.Ltext0 + 1573 00e9 38010000 .4byte .LVL2-.Ltext0 + 1574 00ed 0100 .2byte 0x1 + 1575 00ef 50 .byte 0x50 + 1576 00f0 38010000 .4byte .LVL2-.Ltext0 + 1577 00f4 A2010000 .4byte .LVL4-.Ltext0 + 1578 00f8 0100 .2byte 0x1 + 1579 00fa 55 .byte 0x55 + 1580 00fb A4010000 .4byte .LVL5-.Ltext0 + 1581 00ff AC010000 .4byte .LVL6-.Ltext0 + 1582 0103 0100 .2byte 0x1 + 1583 0105 55 .byte 0x55 + 1584 0106 AE010000 .4byte .LVL7-.Ltext0 + 1585 010a B4010000 .4byte .LFE24-.Ltext0 + 1586 010e 0100 .2byte 0x1 + 1587 0110 55 .byte 0x55 + 1588 0111 00000000 .4byte 0x0 + 1589 0115 00000000 .4byte 0x0 + 1590 .LLST8: + 1591 0119 14010000 .4byte .LVL0-.Ltext0 + 1592 011d 30010000 .4byte .LVL1-.Ltext0 + 1593 0121 0100 .2byte 0x1 + 1594 0123 51 .byte 0x51 + 1595 0124 30010000 .4byte .LVL1-.Ltext0 + 1596 0128 A2010000 .4byte .LVL4-.Ltext0 + 1597 012c 0100 .2byte 0x1 + 1598 012e 57 .byte 0x57 + 1599 012f A4010000 .4byte .LVL5-.Ltext0 + 1600 0133 AC010000 .4byte .LVL6-.Ltext0 + 1601 0137 0100 .2byte 0x1 + 1602 0139 57 .byte 0x57 + 1603 013a AE010000 .4byte .LVL7-.Ltext0 + 1604 013e B4010000 .4byte .LFE24-.Ltext0 + 1605 0142 0100 .2byte 0x1 + 1606 0144 57 .byte 0x57 + 1607 0145 00000000 .4byte 0x0 + 1608 0149 00000000 .4byte 0x0 + 1609 .LLST9: + 1610 014d 14010000 .4byte .LVL0-.Ltext0 + BFIN GAS /tmp/ccZiL1p8.s page 42 + + + 1611 0151 40010000 .4byte .LVL3-.Ltext0 + 1612 0155 0100 .2byte 0x1 + 1613 0157 52 .byte 0x52 + 1614 0158 40010000 .4byte .LVL3-.Ltext0 + 1615 015c A2010000 .4byte .LVL4-.Ltext0 + 1616 0160 0100 .2byte 0x1 + 1617 0162 56 .byte 0x56 + 1618 0163 A4010000 .4byte .LVL5-.Ltext0 + 1619 0167 AC010000 .4byte .LVL6-.Ltext0 + 1620 016b 0100 .2byte 0x1 + 1621 016d 56 .byte 0x56 + 1622 016e AC010000 .4byte .LVL6-.Ltext0 + 1623 0172 AE010000 .4byte .LVL7-.Ltext0 + 1624 0176 0100 .2byte 0x1 + 1625 0178 52 .byte 0x52 + 1626 0179 AE010000 .4byte .LVL7-.Ltext0 + 1627 017d B4010000 .4byte .LFE24-.Ltext0 + 1628 0181 0100 .2byte 0x1 + 1629 0183 56 .byte 0x56 + 1630 0184 00000000 .4byte 0x0 + 1631 0188 00000000 .4byte 0x0 + 1632 .LLST10: + 1633 018c B4010000 .4byte .LFB25-.Ltext0 + 1634 0190 B6010000 .4byte .LCFI10-.Ltext0 + 1635 0194 0100 .2byte 0x1 + 1636 0196 5E .byte 0x5e + 1637 0197 B6010000 .4byte .LCFI10-.Ltext0 + 1638 019b C2010000 .4byte .LCFI11-.Ltext0 + 1639 019f 0200 .2byte 0x2 + 1640 01a1 7E .byte 0x7e + 1641 01a2 0C .sleb128 12 + 1642 01a3 C2010000 .4byte .LCFI11-.Ltext0 + 1643 01a7 58020000 .4byte .LFE25-.Ltext0 + 1644 01ab 0200 .2byte 0x2 + 1645 01ad 7F .byte 0x7f + 1646 01ae 14 .sleb128 20 + 1647 01af 00000000 .4byte 0x0 + 1648 01b3 00000000 .4byte 0x0 + 1649 .LLST11: + 1650 01b7 B4010000 .4byte .LVL8-.Ltext0 + 1651 01bb D8010000 .4byte .LVL10-.Ltext0 + 1652 01bf 0100 .2byte 0x1 + 1653 01c1 50 .byte 0x50 + 1654 01c2 D8010000 .4byte .LVL10-.Ltext0 + 1655 01c6 46020000 .4byte .LVL11-.Ltext0 + 1656 01ca 0100 .2byte 0x1 + 1657 01cc 56 .byte 0x56 + 1658 01cd 48020000 .4byte .LVL12-.Ltext0 + 1659 01d1 50020000 .4byte .LVL13-.Ltext0 + 1660 01d5 0100 .2byte 0x1 + 1661 01d7 56 .byte 0x56 + 1662 01d8 52020000 .4byte .LVL14-.Ltext0 + 1663 01dc 58020000 .4byte .LFE25-.Ltext0 + 1664 01e0 0100 .2byte 0x1 + 1665 01e2 56 .byte 0x56 + 1666 01e3 00000000 .4byte 0x0 + 1667 01e7 00000000 .4byte 0x0 + BFIN GAS /tmp/ccZiL1p8.s page 43 + + + 1668 .LLST12: + 1669 01eb B4010000 .4byte .LVL8-.Ltext0 + 1670 01ef D0010000 .4byte .LVL9-.Ltext0 + 1671 01f3 0100 .2byte 0x1 + 1672 01f5 51 .byte 0x51 + 1673 01f6 D0010000 .4byte .LVL9-.Ltext0 + 1674 01fa 46020000 .4byte .LVL11-.Ltext0 + 1675 01fe 0100 .2byte 0x1 + 1676 0200 57 .byte 0x57 + 1677 0201 48020000 .4byte .LVL12-.Ltext0 + 1678 0205 50020000 .4byte .LVL13-.Ltext0 + 1679 0209 0100 .2byte 0x1 + 1680 020b 57 .byte 0x57 + 1681 020c 52020000 .4byte .LVL14-.Ltext0 + 1682 0210 58020000 .4byte .LFE25-.Ltext0 + 1683 0214 0100 .2byte 0x1 + 1684 0216 57 .byte 0x57 + 1685 0217 00000000 .4byte 0x0 + 1686 021b 00000000 .4byte 0x0 + 1687 .LLST13: + 1688 021f 58020000 .4byte .LFB27-.Ltext0 + 1689 0223 5A020000 .4byte .LCFI14-.Ltext0 + 1690 0227 0100 .2byte 0x1 + 1691 0229 5E .byte 0x5e + 1692 022a 5A020000 .4byte .LCFI14-.Ltext0 + 1693 022e 5C020000 .4byte .LCFI15-.Ltext0 + 1694 0232 0200 .2byte 0x2 + 1695 0234 7E .byte 0x7e + 1696 0235 04 .sleb128 4 + 1697 0236 5C020000 .4byte .LCFI15-.Ltext0 + 1698 023a 5E020000 .4byte .LCFI16-.Ltext0 + 1699 023e 0200 .2byte 0x2 + 1700 0240 7E .byte 0x7e + 1701 0241 08 .sleb128 8 + 1702 0242 5E020000 .4byte .LCFI16-.Ltext0 + 1703 0246 60020000 .4byte .LCFI17-.Ltext0 + 1704 024a 0200 .2byte 0x2 + 1705 024c 7E .byte 0x7e + 1706 024d 0C .sleb128 12 + 1707 024e 60020000 .4byte .LCFI17-.Ltext0 + 1708 0252 62020000 .4byte .LCFI18-.Ltext0 + 1709 0256 0200 .2byte 0x2 + 1710 0258 7E .byte 0x7e + 1711 0259 10 .sleb128 16 + 1712 025a 62020000 .4byte .LCFI18-.Ltext0 + 1713 025e 6A020000 .4byte .LCFI19-.Ltext0 + 1714 0262 0200 .2byte 0x2 + 1715 0264 7E .byte 0x7e + 1716 0265 14 .sleb128 20 + 1717 0266 6A020000 .4byte .LCFI19-.Ltext0 + 1718 026a 9A020000 .4byte .LFE27-.Ltext0 + 1719 026e 0200 .2byte 0x2 + 1720 0270 7F .byte 0x7f + 1721 0271 1C .sleb128 28 + 1722 0272 00000000 .4byte 0x0 + 1723 0276 00000000 .4byte 0x0 + 1724 .LLST14: + BFIN GAS /tmp/ccZiL1p8.s page 44 + + + 1725 027a 9C020000 .4byte .LFB17-.Ltext0 + 1726 027e 9E020000 .4byte .LCFI20-.Ltext0 + 1727 0282 0100 .2byte 0x1 + 1728 0284 5E .byte 0x5e + 1729 0285 9E020000 .4byte .LCFI20-.Ltext0 + 1730 0289 A6020000 .4byte .LCFI21-.Ltext0 + 1731 028d 0200 .2byte 0x2 + 1732 028f 7E .byte 0x7e + 1733 0290 18 .sleb128 24 + 1734 0291 A6020000 .4byte .LCFI21-.Ltext0 + 1735 0295 58040000 .4byte .LFE17-.Ltext0 + 1736 0299 0200 .2byte 0x2 + 1737 029b 7F .byte 0x7f + 1738 029c 20 .sleb128 32 + 1739 029d 00000000 .4byte 0x0 + 1740 02a1 00000000 .4byte 0x0 + 1741 .LLST15: + 1742 02a5 1E030000 .4byte .LVL15-.Ltext0 + 1743 02a9 30030000 .4byte .LVL16-.Ltext0 + 1744 02ad 0100 .2byte 0x1 + 1745 02af 50 .byte 0x50 + 1746 02b0 00000000 .4byte 0x0 + 1747 02b4 00000000 .4byte 0x0 + 1748 .LLST16: + 1749 02b8 56030000 .4byte .LVL17-.Ltext0 + 1750 02bc 68030000 .4byte .LVL18-.Ltext0 + 1751 02c0 0100 .2byte 0x1 + 1752 02c2 50 .byte 0x50 + 1753 02c3 00000000 .4byte 0x0 + 1754 02c7 00000000 .4byte 0x0 + 1755 .LLST17: + 1756 02cb 58040000 .4byte .LFB26-.Ltext0 + 1757 02cf 5A040000 .4byte .LCFI23-.Ltext0 + 1758 02d3 0100 .2byte 0x1 + 1759 02d5 5E .byte 0x5e + 1760 02d6 5A040000 .4byte .LCFI23-.Ltext0 + 1761 02da 5C040000 .4byte .LCFI24-.Ltext0 + 1762 02de 0200 .2byte 0x2 + 1763 02e0 7E .byte 0x7e + 1764 02e1 04 .sleb128 4 + 1765 02e2 5C040000 .4byte .LCFI24-.Ltext0 + 1766 02e6 5E040000 .4byte .LCFI25-.Ltext0 + 1767 02ea 0200 .2byte 0x2 + 1768 02ec 7E .byte 0x7e + 1769 02ed 08 .sleb128 8 + 1770 02ee 5E040000 .4byte .LCFI25-.Ltext0 + 1771 02f2 60040000 .4byte .LCFI26-.Ltext0 + 1772 02f6 0200 .2byte 0x2 + 1773 02f8 7E .byte 0x7e + 1774 02f9 0C .sleb128 12 + 1775 02fa 60040000 .4byte .LCFI26-.Ltext0 + 1776 02fe 62040000 .4byte .LCFI27-.Ltext0 + 1777 0302 0200 .2byte 0x2 + 1778 0304 7E .byte 0x7e + 1779 0305 10 .sleb128 16 + 1780 0306 62040000 .4byte .LCFI27-.Ltext0 + 1781 030a 64040000 .4byte .LCFI28-.Ltext0 + BFIN GAS /tmp/ccZiL1p8.s page 45 + + + 1782 030e 0200 .2byte 0x2 + 1783 0310 7E .byte 0x7e + 1784 0311 14 .sleb128 20 + 1785 0312 64040000 .4byte .LCFI28-.Ltext0 + 1786 0316 66040000 .4byte .LCFI29-.Ltext0 + 1787 031a 0200 .2byte 0x2 + 1788 031c 7E .byte 0x7e + 1789 031d 18 .sleb128 24 + 1790 031e 66040000 .4byte .LCFI29-.Ltext0 + 1791 0322 68040000 .4byte .LCFI30-.Ltext0 + 1792 0326 0200 .2byte 0x2 + 1793 0328 7E .byte 0x7e + 1794 0329 1C .sleb128 28 + 1795 032a 68040000 .4byte .LCFI30-.Ltext0 + 1796 032e 6A040000 .4byte .LCFI31-.Ltext0 + 1797 0332 0300 .2byte 0x3 + 1798 0334 7E .byte 0x7e + 1799 0335 D400 .sleb128 84 + 1800 0337 6A040000 .4byte .LCFI31-.Ltext0 + 1801 033b 6C040000 .4byte .LCFI32-.Ltext0 + 1802 033f 0300 .2byte 0x3 + 1803 0341 7E .byte 0x7e + 1804 0342 D800 .sleb128 88 + 1805 0344 6C040000 .4byte .LCFI32-.Ltext0 + 1806 0348 6E040000 .4byte .LCFI33-.Ltext0 + 1807 034c 0300 .2byte 0x3 + 1808 034e 7E .byte 0x7e + 1809 034f DC00 .sleb128 92 + 1810 0351 6E040000 .4byte .LCFI33-.Ltext0 + 1811 0355 70040000 .4byte .LCFI34-.Ltext0 + 1812 0359 0300 .2byte 0x3 + 1813 035b 7E .byte 0x7e + 1814 035c E000 .sleb128 96 + 1815 035e 70040000 .4byte .LCFI34-.Ltext0 + 1816 0362 72040000 .4byte .LCFI35-.Ltext0 + 1817 0366 0300 .2byte 0x3 + 1818 0368 7E .byte 0x7e + 1819 0369 E400 .sleb128 100 + 1820 036b 72040000 .4byte .LCFI35-.Ltext0 + 1821 036f 74040000 .4byte .LCFI36-.Ltext0 + 1822 0373 0300 .2byte 0x3 + 1823 0375 7E .byte 0x7e + 1824 0376 E800 .sleb128 104 + 1825 0378 74040000 .4byte .LCFI36-.Ltext0 + 1826 037c 76040000 .4byte .LCFI37-.Ltext0 + 1827 0380 0300 .2byte 0x3 + 1828 0382 7E .byte 0x7e + 1829 0383 EC00 .sleb128 108 + 1830 0385 76040000 .4byte .LCFI37-.Ltext0 + 1831 0389 78040000 .4byte .LCFI38-.Ltext0 + 1832 038d 0300 .2byte 0x3 + 1833 038f 7E .byte 0x7e + 1834 0390 F000 .sleb128 112 + 1835 0392 78040000 .4byte .LCFI38-.Ltext0 + 1836 0396 7A040000 .4byte .LCFI39-.Ltext0 + 1837 039a 0300 .2byte 0x3 + 1838 039c 7E .byte 0x7e + BFIN GAS /tmp/ccZiL1p8.s page 46 + + + 1839 039d F400 .sleb128 116 + 1840 039f 7A040000 .4byte .LCFI39-.Ltext0 + 1841 03a3 7C040000 .4byte .LCFI40-.Ltext0 + 1842 03a7 0300 .2byte 0x3 + 1843 03a9 7E .byte 0x7e + 1844 03aa F800 .sleb128 120 + 1845 03ac 7C040000 .4byte .LCFI40-.Ltext0 + 1846 03b0 7E040000 .4byte .LCFI41-.Ltext0 + 1847 03b4 0300 .2byte 0x3 + 1848 03b6 7E .byte 0x7e + 1849 03b7 FC00 .sleb128 124 + 1850 03b9 7E040000 .4byte .LCFI41-.Ltext0 + 1851 03bd 80040000 .4byte .LCFI42-.Ltext0 + 1852 03c1 0300 .2byte 0x3 + 1853 03c3 7E .byte 0x7e + 1854 03c4 8001 .sleb128 128 + 1855 03c6 80040000 .4byte .LCFI42-.Ltext0 + 1856 03ca 82040000 .4byte .LCFI43-.Ltext0 + 1857 03ce 0300 .2byte 0x3 + 1858 03d0 7E .byte 0x7e + 1859 03d1 8401 .sleb128 132 + 1860 03d3 82040000 .4byte .LCFI43-.Ltext0 + 1861 03d7 84040000 .4byte .LCFI44-.Ltext0 + 1862 03db 0300 .2byte 0x3 + 1863 03dd 7E .byte 0x7e + 1864 03de 8801 .sleb128 136 + 1865 03e0 84040000 .4byte .LCFI44-.Ltext0 + 1866 03e4 86040000 .4byte .LCFI45-.Ltext0 + 1867 03e8 0300 .2byte 0x3 + 1868 03ea 7E .byte 0x7e + 1869 03eb 8C01 .sleb128 140 + 1870 03ed 86040000 .4byte .LCFI45-.Ltext0 + 1871 03f1 88040000 .4byte .LCFI46-.Ltext0 + 1872 03f5 0300 .2byte 0x3 + 1873 03f7 7E .byte 0x7e + 1874 03f8 9001 .sleb128 144 + 1875 03fa 88040000 .4byte .LCFI46-.Ltext0 + 1876 03fe 8C040000 .4byte .LCFI47-.Ltext0 + 1877 0402 0300 .2byte 0x3 + 1878 0404 7E .byte 0x7e + 1879 0405 9401 .sleb128 148 + 1880 0407 8C040000 .4byte .LCFI47-.Ltext0 + 1881 040b 94040000 .4byte .LCFI48-.Ltext0 + 1882 040f 0300 .2byte 0x3 + 1883 0411 7E .byte 0x7e + 1884 0412 9C01 .sleb128 156 + 1885 0414 94040000 .4byte .LCFI48-.Ltext0 + 1886 0418 9A040000 .4byte .LCFI49-.Ltext0 + 1887 041c 0300 .2byte 0x3 + 1888 041e 7E .byte 0x7e + 1889 041f A401 .sleb128 164 + 1890 0421 9A040000 .4byte .LCFI49-.Ltext0 + 1891 0425 9E040000 .4byte .LCFI50-.Ltext0 + 1892 0429 0300 .2byte 0x3 + 1893 042b 7E .byte 0x7e + 1894 042c A801 .sleb128 168 + 1895 042e 9E040000 .4byte .LCFI50-.Ltext0 + BFIN GAS /tmp/ccZiL1p8.s page 47 + + + 1896 0432 C8050000 .4byte .LFE26-.Ltext0 + 1897 0436 0300 .2byte 0x3 + 1898 0438 7F .byte 0x7f + 1899 0439 B001 .sleb128 176 + 1900 043b 00000000 .4byte 0x0 + 1901 043f 00000000 .4byte 0x0 + 1902 .file 3 "/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib + 1903 .file 4 "src/l502_bf_cmd_defs.h" + 1904 .file 5 "src/l502_global.h" + 1905 .section .debug_info + 1906 0000 1B060000 .4byte 0x61b + 1907 0004 0200 .2byte 0x2 + 1908 0006 00000000 .4byte .Ldebug_abbrev0 + 1909 000a 04 .byte 0x4 + 1910 000b 01 .uleb128 0x1 + 1911 000c 25010000 .4byte .LASF63 + 1912 0010 01 .byte 0x1 + 1913 0011 BC010000 .4byte .LASF64 + 1914 0015 31010000 .4byte .LASF65 + 1915 0019 00000000 .4byte .Ltext0 + 1916 001d C8050000 .4byte .Letext0 + 1917 0021 00000000 .4byte .Ldebug_line0 + 1918 0025 02 .uleb128 0x2 + 1919 0026 01 .byte 0x1 + 1920 0027 06 .byte 0x6 + 1921 0028 7A000000 .4byte .LASF0 + 1922 002c 03 .uleb128 0x3 + 1923 002d 0D030000 .4byte .LASF3 + 1924 0031 03 .byte 0x3 + 1925 0032 2A .byte 0x2a + 1926 0033 37000000 .4byte 0x37 + 1927 0037 02 .uleb128 0x2 + 1928 0038 01 .byte 0x1 + 1929 0039 08 .byte 0x8 + 1930 003a 4E020000 .4byte .LASF1 + 1931 003e 02 .uleb128 0x2 + 1932 003f 02 .byte 0x2 + 1933 0040 05 .byte 0x5 + 1934 0041 61020000 .4byte .LASF2 + 1935 0045 03 .uleb128 0x3 + 1936 0046 E7000000 .4byte .LASF4 + 1937 004a 03 .byte 0x3 + 1938 004b 36 .byte 0x36 + 1939 004c 50000000 .4byte 0x50 + 1940 0050 02 .uleb128 0x2 + 1941 0051 02 .byte 0x2 + 1942 0052 07 .byte 0x7 + 1943 0053 A9010000 .4byte .LASF5 + 1944 0057 03 .uleb128 0x3 + 1945 0058 46020000 .4byte .LASF6 + 1946 005c 03 .byte 0x3 + 1947 005d 4F .byte 0x4f + 1948 005e 62000000 .4byte 0x62 + 1949 0062 02 .uleb128 0x2 + 1950 0063 04 .byte 0x4 + 1951 0064 05 .byte 0x5 + 1952 0065 D1000000 .4byte .LASF7 + BFIN GAS /tmp/ccZiL1p8.s page 48 + + + 1953 0069 03 .uleb128 0x3 + 1954 006a 9C020000 .4byte .LASF8 + 1955 006e 03 .byte 0x3 + 1956 006f 50 .byte 0x50 + 1957 0070 74000000 .4byte 0x74 + 1958 0074 02 .uleb128 0x2 + 1959 0075 04 .byte 0x4 + 1960 0076 07 .byte 0x7 + 1961 0077 88010000 .4byte .LASF9 + 1962 007b 02 .uleb128 0x2 + 1963 007c 08 .byte 0x8 + 1964 007d 05 .byte 0x5 + 1965 007e 6C000000 .4byte .LASF10 + 1966 0082 02 .uleb128 0x2 + 1967 0083 08 .byte 0x8 + 1968 0084 07 .byte 0x7 + 1969 0085 2B000000 .4byte .LASF11 + 1970 0089 04 .uleb128 0x4 + 1971 008a 04 .byte 0x4 + 1972 008b 05 .byte 0x5 + 1973 008c 696E7400 .string "int" + 1974 0090 02 .uleb128 0x2 + 1975 0091 04 .byte 0x4 + 1976 0092 07 .byte 0x7 + 1977 0093 7B010000 .4byte .LASF12 + 1978 0097 05 .uleb128 0x5 + 1979 0098 04 .byte 0x4 + 1980 0099 04 .byte 0x4 + 1981 009a 13 .byte 0x13 + 1982 009b BE000000 .4byte 0xbe + 1983 009f 06 .uleb128 0x6 + 1984 00a0 86000000 .4byte .LASF13 + 1985 00a4 00 .sleb128 0 + 1986 00a5 06 .uleb128 0x6 + 1987 00a6 3D030000 .4byte .LASF14 + 1988 00aa 81B401 .sleb128 23041 + 1989 00ad 06 .uleb128 0x6 + 1990 00ae F5000000 .4byte .LASF15 + 1991 00b2 82B401 .sleb128 23042 + 1992 00b5 06 .uleb128 0x6 + 1993 00b6 5D030000 .4byte .LASF16 + 1994 00ba 83B401 .sleb128 23043 + 1995 00bd 00 .byte 0x0 + 1996 00be 07 .uleb128 0x7 + 1997 00bf 1010 .2byte 0x1010 + 1998 00c1 04 .byte 0x4 + 1999 00c2 8B .byte 0x8b + 2000 00c3 1C010000 .4byte 0x11c + 2001 00c7 08 .uleb128 0x8 + 2002 00c8 E3020000 .4byte .LASF17 + 2003 00cc 04 .byte 0x4 + 2004 00cd 8C .byte 0x8c + 2005 00ce 45000000 .4byte 0x45 + 2006 00d2 02 .byte 0x2 + 2007 00d3 23 .byte 0x23 + 2008 00d4 00 .uleb128 0x0 + 2009 00d5 08 .uleb128 0x8 + BFIN GAS /tmp/ccZiL1p8.s page 49 + + + 2010 00d6 E8020000 .4byte .LASF18 + 2011 00da 04 .byte 0x4 + 2012 00db 8D .byte 0x8d + 2013 00dc 45000000 .4byte 0x45 + 2014 00e0 02 .byte 0x2 + 2015 00e1 23 .byte 0x23 + 2016 00e2 02 .uleb128 0x2 + 2017 00e3 08 .uleb128 0x8 + 2018 00e4 FE010000 .4byte .LASF19 + 2019 00e8 04 .byte 0x4 + 2020 00e9 8E .byte 0x8e + 2021 00ea 69000000 .4byte 0x69 + 2022 00ee 02 .byte 0x2 + 2023 00ef 23 .byte 0x23 + 2024 00f0 04 .uleb128 0x4 + 2025 00f1 08 .uleb128 0x8 + 2026 00f2 75030000 .4byte .LASF20 + 2027 00f6 04 .byte 0x4 + 2028 00f7 8F .byte 0x8f + 2029 00f8 57000000 .4byte 0x57 + 2030 00fc 02 .byte 0x2 + 2031 00fd 23 .byte 0x23 + 2032 00fe 08 .uleb128 0x8 + 2033 00ff 08 .uleb128 0x8 + 2034 0100 D6010000 .4byte .LASF21 + 2035 0104 04 .byte 0x4 + 2036 0105 90 .byte 0x90 + 2037 0106 69000000 .4byte 0x69 + 2038 010a 02 .byte 0x2 + 2039 010b 23 .byte 0x23 + 2040 010c 0C .uleb128 0xc + 2041 010d 08 .uleb128 0x8 + 2042 010e 9F010000 .4byte .LASF22 + 2043 0112 04 .byte 0x4 + 2044 0113 91 .byte 0x91 + 2045 0114 1C010000 .4byte 0x11c + 2046 0118 02 .byte 0x2 + 2047 0119 23 .byte 0x23 + 2048 011a 10 .uleb128 0x10 + 2049 011b 00 .byte 0x0 + 2050 011c 09 .uleb128 0x9 + 2051 011d 69000000 .4byte 0x69 + 2052 0121 2D010000 .4byte 0x12d + 2053 0125 0A .uleb128 0xa + 2054 0126 2D010000 .4byte 0x12d + 2055 012a FF03 .2byte 0x3ff + 2056 012c 00 .byte 0x0 + 2057 012d 0B .uleb128 0xb + 2058 012e 04 .byte 0x4 + 2059 012f 07 .byte 0x7 + 2060 0130 03 .uleb128 0x3 + 2061 0131 A4000000 .4byte .LASF23 + 2062 0135 04 .byte 0x4 + 2063 0136 92 .byte 0x92 + 2064 0137 BE000000 .4byte 0xbe + 2065 013b 0C .uleb128 0xc + 2066 013c 20 .byte 0x20 + BFIN GAS /tmp/ccZiL1p8.s page 50 + + + 2067 013d 05 .byte 0x5 + 2068 013e 1C .byte 0x1c + 2069 013f DD010000 .4byte 0x1dd + 2070 0143 08 .uleb128 0x8 + 2071 0144 15030000 .4byte .LASF24 + 2072 0148 05 .byte 0x5 + 2073 0149 1D .byte 0x1d + 2074 014a 69000000 .4byte 0x69 + 2075 014e 02 .byte 0x2 + 2076 014f 23 .byte 0x23 + 2077 0150 00 .uleb128 0x0 + 2078 0151 08 .uleb128 0x8 + 2079 0152 CC010000 .4byte .LASF25 + 2080 0156 05 .byte 0x5 + 2081 0157 1E .byte 0x1e + 2082 0158 69000000 .4byte 0x69 + 2083 015c 02 .byte 0x2 + 2084 015d 23 .byte 0x23 + 2085 015e 04 .uleb128 0x4 + 2086 015f 08 .uleb128 0x8 + 2087 0160 56000000 .4byte .LASF26 + 2088 0164 05 .byte 0x5 + 2089 0165 1F .byte 0x1f + 2090 0166 DD010000 .4byte 0x1dd + 2091 016a 02 .byte 0x2 + 2092 016b 23 .byte 0x23 + 2093 016c 08 .uleb128 0x8 + 2094 016d 08 .uleb128 0x8 + 2095 016e 9A010000 .4byte .LASF27 + 2096 0172 05 .byte 0x5 + 2097 0173 20 .byte 0x20 + 2098 0174 45000000 .4byte 0x45 + 2099 0178 02 .byte 0x2 + 2100 0179 23 .byte 0x23 + 2101 017a 0C .uleb128 0xc + 2102 017b 08 .uleb128 0x8 + 2103 017c 5C020000 .4byte .LASF28 + 2104 0180 05 .byte 0x5 + 2105 0181 21 .byte 0x21 + 2106 0182 45000000 .4byte 0x45 + 2107 0186 02 .byte 0x2 + 2108 0187 23 .byte 0x23 + 2109 0188 0E .uleb128 0xe + 2110 0189 08 .uleb128 0x8 + 2111 018a F0000000 .4byte .LASF29 + 2112 018e 05 .byte 0x5 + 2113 018f 22 .byte 0x22 + 2114 0190 45000000 .4byte 0x45 + 2115 0194 02 .byte 0x2 + 2116 0195 23 .byte 0x23 + 2117 0196 10 .uleb128 0x10 + 2118 0197 08 .uleb128 0x8 + 2119 0198 04020000 .4byte .LASF30 + 2120 019c 05 .byte 0x5 + 2121 019d 23 .byte 0x23 + 2122 019e 45000000 .4byte 0x45 + 2123 01a2 02 .byte 0x2 + BFIN GAS /tmp/ccZiL1p8.s page 51 + + + 2124 01a3 23 .byte 0x23 + 2125 01a4 12 .uleb128 0x12 + 2126 01a5 08 .uleb128 0x8 + 2127 01a6 D8020000 .4byte .LASF31 + 2128 01aa 05 .byte 0x5 + 2129 01ab 24 .byte 0x24 + 2130 01ac DD010000 .4byte 0x1dd + 2131 01b0 02 .byte 0x2 + 2132 01b1 23 .byte 0x23 + 2133 01b2 14 .uleb128 0x14 + 2134 01b3 0D .uleb128 0xd + 2135 01b4 696400 .string "id" + 2136 01b7 05 .byte 0x5 + 2137 01b8 25 .byte 0x25 + 2138 01b9 45000000 .4byte 0x45 + 2139 01bd 02 .byte 0x2 + 2140 01be 23 .byte 0x23 + 2141 01bf 18 .uleb128 0x18 + 2142 01c0 08 .uleb128 0x8 + 2143 01c1 8E020000 .4byte .LASF32 + 2144 01c5 05 .byte 0x5 + 2145 01c6 26 .byte 0x26 + 2146 01c7 45000000 .4byte 0x45 + 2147 01cb 02 .byte 0x2 + 2148 01cc 23 .byte 0x23 + 2149 01cd 1A .uleb128 0x1a + 2150 01ce 08 .uleb128 0x8 + 2151 01cf DA000000 .4byte .LASF33 + 2152 01d3 05 .byte 0x5 + 2153 01d4 27 .byte 0x27 + 2154 01d5 69000000 .4byte 0x69 + 2155 01d9 02 .byte 0x2 + 2156 01da 23 .byte 0x23 + 2157 01db 1C .uleb128 0x1c + 2158 01dc 00 .byte 0x0 + 2159 01dd 0E .uleb128 0xe + 2160 01de 04 .byte 0x4 + 2161 01df 03 .uleb128 0x3 + 2162 01e0 11010000 .4byte .LASF34 + 2163 01e4 05 .byte 0x5 + 2164 01e5 28 .byte 0x28 + 2165 01e6 3B010000 .4byte 0x13b + 2166 01ea 07 .uleb128 0x7 + 2167 01eb 0008 .2byte 0x800 + 2168 01ed 05 .byte 0x5 + 2169 01ee 36 .byte 0x36 + 2170 01ef 2D020000 .4byte 0x22d + 2171 01f3 08 .uleb128 0x8 + 2172 01f4 09020000 .4byte .LASF35 + 2173 01f8 05 .byte 0x5 + 2174 01f9 37 .byte 0x37 + 2175 01fa DF010000 .4byte 0x1df + 2176 01fe 02 .byte 0x2 + 2177 01ff 23 .byte 0x23 + 2178 0200 00 .uleb128 0x0 + 2179 0201 0D .uleb128 0xd + 2180 0202 696E00 .string "in" + BFIN GAS /tmp/ccZiL1p8.s page 52 + + + 2181 0205 05 .byte 0x5 + 2182 0206 38 .byte 0x38 + 2183 0207 2D020000 .4byte 0x22d + 2184 020b 02 .byte 0x2 + 2185 020c 23 .byte 0x23 + 2186 020d 20 .uleb128 0x20 + 2187 020e 08 .uleb128 0x8 + 2188 020f E0000000 .4byte .LASF36 + 2189 0213 05 .byte 0x5 + 2190 0214 39 .byte 0x39 + 2191 0215 DF010000 .4byte 0x1df + 2192 0219 03 .byte 0x3 + 2193 021a 23 .byte 0x23 + 2194 021b 8008 .uleb128 0x400 + 2195 021d 0D .uleb128 0xd + 2196 021e 6F757400 .string "out" + 2197 0222 05 .byte 0x5 + 2198 0223 3A .byte 0x3a + 2199 0224 2D020000 .4byte 0x22d + 2200 0228 03 .byte 0x3 + 2201 0229 23 .byte 0x23 + 2202 022a A008 .uleb128 0x420 + 2203 022c 00 .byte 0x0 + 2204 022d 09 .uleb128 0x9 + 2205 022e DF010000 .4byte 0x1df + 2206 0232 3D020000 .4byte 0x23d + 2207 0236 0F .uleb128 0xf + 2208 0237 2D010000 .4byte 0x12d + 2209 023b 1E .byte 0x1e + 2210 023c 00 .byte 0x0 + 2211 023d 03 .uleb128 0x3 + 2212 023e 5B000000 .4byte .LASF37 + 2213 0242 05 .byte 0x5 + 2214 0243 3B .byte 0x3b + 2215 0244 EA010000 .4byte 0x1ea + 2216 0248 07 .uleb128 0x7 + 2217 0249 1018 .2byte 0x1810 + 2218 024b 05 .byte 0x5 + 2219 024c 42 .byte 0x42 + 2220 024d 6F020000 .4byte 0x26f + 2221 0251 08 .uleb128 0x8 + 2222 0252 EF010000 .4byte .LASF38 + 2223 0256 05 .byte 0x5 + 2224 0257 43 .byte 0x43 + 2225 0258 3D020000 .4byte 0x23d + 2226 025c 02 .byte 0x2 + 2227 025d 23 .byte 0x23 + 2228 025e 00 .uleb128 0x0 + 2229 025f 0D .uleb128 0xd + 2230 0260 636D6400 .string "cmd" + 2231 0264 05 .byte 0x5 + 2232 0265 44 .byte 0x44 + 2233 0266 30010000 .4byte 0x130 + 2234 026a 03 .byte 0x3 + 2235 026b 23 .byte 0x23 + 2236 026c 8010 .uleb128 0x800 + 2237 026e 00 .byte 0x0 + BFIN GAS /tmp/ccZiL1p8.s page 53 + + + 2238 026f 03 .uleb128 0x3 + 2239 0270 1B030000 .4byte .LASF39 + 2240 0274 05 .byte 0x5 + 2241 0275 45 .byte 0x45 + 2242 0276 48020000 .4byte 0x248 + 2243 027a 02 .uleb128 0x2 + 2244 027b 01 .byte 0x1 + 2245 027c 06 .byte 0x6 + 2246 027d A5020000 .4byte .LASF40 + 2247 0281 10 .uleb128 0x10 + 2248 0282 01 .byte 0x1 + 2249 0283 6B020000 .4byte .LASF43 + 2250 0287 01 .byte 0x1 + 2251 0288 BE .byte 0xbe + 2252 0289 01 .byte 0x1 + 2253 028a 89000000 .4byte 0x89 + 2254 028e 01 .byte 0x1 + 2255 028f 11 .uleb128 0x11 + 2256 0290 EF020000 .4byte .LASF66 + 2257 0294 01 .byte 0x1 + 2258 0295 45 .byte 0x45 + 2259 0296 01 .byte 0x1 + 2260 0297 03 .byte 0x3 + 2261 0298 DE020000 .4byte 0x2de + 2262 029c 12 .uleb128 0x12 + 2263 029d C0020000 .4byte .LASF41 + 2264 02a1 01 .byte 0x1 + 2265 02a2 44 .byte 0x44 + 2266 02a3 DE020000 .4byte 0x2de + 2267 02a7 13 .uleb128 0x13 + 2268 02a8 706F7300 .string "pos" + 2269 02ac 01 .byte 0x1 + 2270 02ad 44 .byte 0x44 + 2271 02ae E4020000 .4byte 0x2e4 + 2272 02b2 13 .uleb128 0x13 + 2273 02b3 696400 .string "id" + 2274 02b6 01 .byte 0x1 + 2275 02b7 45 .byte 0x45 + 2276 02b8 EA020000 .4byte 0x2ea + 2277 02bc 12 .uleb128 0x12 + 2278 02bd 56000000 .4byte .LASF26 + 2279 02c1 01 .byte 0x1 + 2280 02c2 45 .byte 0x45 + 2281 02c3 F0020000 .4byte 0x2f0 + 2282 02c7 12 .uleb128 0x12 + 2283 02c8 A4010000 .4byte .LASF42 + 2284 02cc 01 .byte 0x1 + 2285 02cd 45 .byte 0x45 + 2286 02ce 69000000 .4byte 0x69 + 2287 02d2 12 .uleb128 0x12 + 2288 02d3 15030000 .4byte .LASF24 + 2289 02d7 01 .byte 0x1 + 2290 02d8 45 .byte 0x45 + 2291 02d9 69000000 .4byte 0x69 + 2292 02dd 00 .byte 0x0 + 2293 02de 14 .uleb128 0x14 + 2294 02df 04 .byte 0x4 + BFIN GAS /tmp/ccZiL1p8.s page 54 + + + 2295 02e0 DF010000 .4byte 0x1df + 2296 02e4 14 .uleb128 0x14 + 2297 02e5 04 .byte 0x4 + 2298 02e6 2C000000 .4byte 0x2c + 2299 02ea 14 .uleb128 0x14 + 2300 02eb 04 .byte 0x4 + 2301 02ec 45000000 .4byte 0x45 + 2302 02f0 14 .uleb128 0x14 + 2303 02f1 04 .byte 0x4 + 2304 02f2 69000000 .4byte 0x69 + 2305 02f6 10 .uleb128 0x10 + 2306 02f7 01 .byte 0x1 + 2307 02f8 0F020000 .4byte .LASF44 + 2308 02fc 01 .byte 0x1 + 2309 02fd C9 .byte 0xc9 + 2310 02fe 01 .byte 0x1 + 2311 02ff 89000000 .4byte 0x89 + 2312 0303 01 .byte 0x1 + 2313 0304 15 .uleb128 0x15 + 2314 0305 9E000000 .4byte .LASF45 + 2315 0309 02 .byte 0x2 + 2316 030a 1401 .2byte 0x114 + 2317 030c 01 .byte 0x1 + 2318 030d 01 .byte 0x1 + 2319 030e 15 .uleb128 0x15 + 2320 030f BA020000 .4byte .LASF46 + 2321 0313 02 .byte 0x2 + 2322 0314 0201 .2byte 0x102 + 2323 0316 01 .byte 0x1 + 2324 0317 01 .byte 0x1 + 2325 0318 16 .uleb128 0x16 + 2326 0319 01 .byte 0x1 + 2327 031a C1000000 .4byte .LASF47 + 2328 031e 01 .byte 0x1 + 2329 031f 8E .byte 0x8e + 2330 0320 01 .byte 0x1 + 2331 0321 00000000 .4byte .LFB18 + 2332 0325 44000000 .4byte .LFE18 + 2333 0329 00000000 .4byte .LLST0 + 2334 032d 16 .uleb128 0x16 + 2335 032e 01 .byte 0x1 + 2336 032f 2E030000 .4byte .LASF48 + 2337 0333 01 .byte 0x1 + 2338 0334 9B .byte 0x9b + 2339 0335 01 .byte 0x1 + 2340 0336 44000000 .4byte .LFB19 + 2341 033a 5C000000 .4byte .LFE19 + 2342 033e 1F000000 .4byte .LLST1 + 2343 0342 16 .uleb128 0x16 + 2344 0343 01 .byte 0x1 + 2345 0344 AA020000 .4byte .LASF49 + 2346 0348 01 .byte 0x1 + 2347 0349 A4 .byte 0xa4 + 2348 034a 01 .byte 0x1 + 2349 034b 5C000000 .4byte .LFB20 + 2350 034f AC000000 .4byte .LFE20 + 2351 0353 3E000000 .4byte .LLST2 + BFIN GAS /tmp/ccZiL1p8.s page 55 + + + 2352 0357 16 .uleb128 0x16 + 2353 0358 01 .byte 0x1 + 2354 0359 B2000000 .4byte .LASF50 + 2355 035d 01 .byte 0x1 + 2356 035e B1 .byte 0xb1 + 2357 035f 01 .byte 0x1 + 2358 0360 AC000000 .4byte .LFB21 + 2359 0364 C4000000 .4byte .LFE21 + 2360 0368 5D000000 .4byte .LLST3 + 2361 036c 17 .uleb128 0x17 + 2362 036d 81020000 .4byte 0x281 + 2363 0371 C4000000 .4byte .LFB22 + 2364 0375 EA000000 .4byte .LFE22 + 2365 0379 7C000000 .4byte .LLST4 + 2366 037d 17 .uleb128 0x17 + 2367 037e F6020000 .4byte 0x2f6 + 2368 0382 EC000000 .4byte .LFB23 + 2369 0386 12010000 .4byte .LFE23 + 2370 038a 9B000000 .4byte .LLST5 + 2371 038e 18 .uleb128 0x18 + 2372 038f 01 .byte 0x1 + 2373 0390 42000000 .4byte .LASF51 + 2374 0394 01 .byte 0x1 + 2375 0395 DA .byte 0xda + 2376 0396 01 .byte 0x1 + 2377 0397 89000000 .4byte 0x89 + 2378 039b 14010000 .4byte .LFB24 + 2379 039f B4010000 .4byte .LFE24 + 2380 03a3 BA000000 .4byte .LLST6 + 2381 03a7 0E040000 .4byte 0x40e + 2382 03ab 19 .uleb128 0x19 + 2383 03ac 62756600 .string "buf" + 2384 03b0 01 .byte 0x1 + 2385 03b1 DA .byte 0xda + 2386 03b2 0E040000 .4byte 0x40e + 2387 03b6 E5000000 .4byte .LLST7 + 2388 03ba 1A .uleb128 0x1a + 2389 03bb A4010000 .4byte .LASF42 + 2390 03bf 01 .byte 0x1 + 2391 03c0 DA .byte 0xda + 2392 03c1 69000000 .4byte 0x69 + 2393 03c5 19010000 .4byte .LLST8 + 2394 03c9 1A .uleb128 0x1a + 2395 03ca 15030000 .4byte .LASF24 + 2396 03ce 01 .byte 0x1 + 2397 03cf DA .byte 0xda + 2398 03d0 69000000 .4byte 0x69 + 2399 03d4 4D010000 .4byte .LLST9 + 2400 03d8 1B .uleb128 0x1b + 2401 03d9 81020000 .4byte 0x281 + 2402 03dd 00000000 .4byte .Ldebug_ranges0+0x0 + 2403 03e1 01 .byte 0x1 + 2404 03e2 DB .byte 0xdb + 2405 03e3 1C .uleb128 0x1c + 2406 03e4 8F020000 .4byte 0x28f + 2407 03e8 20000000 .4byte .Ldebug_ranges0+0x20 + 2408 03ec 01 .byte 0x1 + BFIN GAS /tmp/ccZiL1p8.s page 56 + + + 2409 03ed DC .byte 0xdc + 2410 03ee 1D .uleb128 0x1d + 2411 03ef D2020000 .4byte 0x2d2 + 2412 03f3 1D .uleb128 0x1d + 2413 03f4 C7020000 .4byte 0x2c7 + 2414 03f8 1D .uleb128 0x1d + 2415 03f9 BC020000 .4byte 0x2bc + 2416 03fd 1D .uleb128 0x1d + 2417 03fe B2020000 .4byte 0x2b2 + 2418 0402 1D .uleb128 0x1d + 2419 0403 A7020000 .4byte 0x2a7 + 2420 0407 1D .uleb128 0x1d + 2421 0408 9C020000 .4byte 0x29c + 2422 040c 00 .byte 0x0 + 2423 040d 00 .byte 0x0 + 2424 040e 14 .uleb128 0x14 + 2425 040f 04 .byte 0x4 + 2426 0410 14040000 .4byte 0x414 + 2427 0414 1E .uleb128 0x1e + 2428 0415 69000000 .4byte 0x69 + 2429 0419 18 .uleb128 0x18 + 2430 041a 01 .byte 0x1 + 2431 041b 21020000 .4byte .LASF52 + 2432 041f 01 .byte 0x1 + 2433 0420 F0 .byte 0xf0 + 2434 0421 01 .byte 0x1 + 2435 0422 89000000 .4byte 0x89 + 2436 0426 B4010000 .4byte .LFB25 + 2437 042a 58020000 .4byte .LFE25 + 2438 042e 8C010000 .4byte .LLST10 + 2439 0432 8A040000 .4byte 0x48a + 2440 0436 19 .uleb128 0x19 + 2441 0437 62756600 .string "buf" + 2442 043b 01 .byte 0x1 + 2443 043c F0 .byte 0xf0 + 2444 043d F0020000 .4byte 0x2f0 + 2445 0441 B7010000 .4byte .LLST11 + 2446 0445 1A .uleb128 0x1a + 2447 0446 A4010000 .4byte .LASF42 + 2448 044a 01 .byte 0x1 + 2449 044b F0 .byte 0xf0 + 2450 044c 69000000 .4byte 0x69 + 2451 0450 EB010000 .4byte .LLST12 + 2452 0454 1B .uleb128 0x1b + 2453 0455 F6020000 .4byte 0x2f6 + 2454 0459 38000000 .4byte .Ldebug_ranges0+0x38 + 2455 045d 01 .byte 0x1 + 2456 045e F1 .byte 0xf1 + 2457 045f 1C .uleb128 0x1c + 2458 0460 8F020000 .4byte 0x28f + 2459 0464 58000000 .4byte .Ldebug_ranges0+0x58 + 2460 0468 01 .byte 0x1 + 2461 0469 F2 .byte 0xf2 + 2462 046a 1D .uleb128 0x1d + 2463 046b D2020000 .4byte 0x2d2 + 2464 046f 1D .uleb128 0x1d + 2465 0470 C7020000 .4byte 0x2c7 + BFIN GAS /tmp/ccZiL1p8.s page 57 + + + 2466 0474 1D .uleb128 0x1d + 2467 0475 BC020000 .4byte 0x2bc + 2468 0479 1D .uleb128 0x1d + 2469 047a B2020000 .4byte 0x2b2 + 2470 047e 1D .uleb128 0x1d + 2471 047f A7020000 .4byte 0x2a7 + 2472 0483 1D .uleb128 0x1d + 2473 0484 9C020000 .4byte 0x29c + 2474 0488 00 .byte 0x0 + 2475 0489 00 .byte 0x0 + 2476 048a 1F .uleb128 0x1f + 2477 048b 01 .byte 0x1 + 2478 048c 00000000 .4byte .LASF53 + 2479 0490 01 .byte 0x1 + 2480 0491 3701 .2byte 0x137 + 2481 0493 01 .byte 0x1 + 2482 0494 58020000 .4byte .LFB27 + 2483 0498 9A020000 .4byte .LFE27 + 2484 049c 1F020000 .4byte .LLST13 + 2485 04a0 B5040000 .4byte 0x4b5 + 2486 04a4 20 .uleb128 0x20 + 2487 04a5 04030000 .4byte 0x304 + 2488 04a9 88020000 .4byte .LBB47 + 2489 04ad 8A020000 .4byte .LBE47 + 2490 04b1 01 .byte 0x1 + 2491 04b2 3C01 .2byte 0x13c + 2492 04b4 00 .byte 0x0 + 2493 04b5 21 .uleb128 0x21 + 2494 04b6 01 .byte 0x1 + 2495 04b7 F4010000 .4byte .LASF54 + 2496 04bb 01 .byte 0x1 + 2497 04bc 58 .byte 0x58 + 2498 04bd 01 .byte 0x1 + 2499 04be 9C020000 .4byte .LFB17 + 2500 04c2 58040000 .4byte .LFE17 + 2501 04c6 7A020000 .4byte .LLST14 + 2502 04ca 48050000 .4byte 0x548 + 2503 04ce 22 .uleb128 0x22 + 2504 04cf 6400 .string "d" + 2505 04d1 01 .byte 0x1 + 2506 04d2 59 .byte 0x59 + 2507 04d3 89000000 .4byte 0x89 + 2508 04d7 01 .byte 0x1 + 2509 04d8 51 .byte 0x51 + 2510 04d9 23 .uleb128 0x23 + 2511 04da 04030000 .4byte .LBB49 + 2512 04de 26030000 .4byte .LBE49 + 2513 04e2 12050000 .4byte 0x512 + 2514 04e6 24 .uleb128 0x24 + 2515 04e7 6900 .string "i" + 2516 04e9 01 .byte 0x1 + 2517 04ea 6B .byte 0x6b + 2518 04eb 89000000 .4byte 0x89 + 2519 04ef A5020000 .4byte .LLST15 + 2520 04f3 25 .uleb128 0x25 + 2521 04f4 04030000 .4byte 0x304 + 2522 04f8 04030000 .4byte .LBB50 + BFIN GAS /tmp/ccZiL1p8.s page 58 + + + 2523 04fc 06030000 .4byte .LBE50 + 2524 0500 01 .byte 0x1 + 2525 0501 6B .byte 0x6b + 2526 0502 25 .uleb128 0x25 + 2527 0503 04030000 .4byte 0x304 + 2528 0507 18030000 .4byte .LBB52 + 2529 050b 1A030000 .4byte .LBE52 + 2530 050f 01 .byte 0x1 + 2531 0510 6B .byte 0x6b + 2532 0511 00 .byte 0x0 + 2533 0512 26 .uleb128 0x26 + 2534 0513 3E030000 .4byte .LBB54 + 2535 0517 5E030000 .4byte .LBE54 + 2536 051b 24 .uleb128 0x24 + 2537 051c 6900 .string "i" + 2538 051e 01 .byte 0x1 + 2539 051f 6E .byte 0x6e + 2540 0520 89000000 .4byte 0x89 + 2541 0524 B8020000 .4byte .LLST16 + 2542 0528 25 .uleb128 0x25 + 2543 0529 04030000 .4byte 0x304 + 2544 052d 3E030000 .4byte .LBB55 + 2545 0531 40030000 .4byte .LBE55 + 2546 0535 01 .byte 0x1 + 2547 0536 6E .byte 0x6e + 2548 0537 25 .uleb128 0x25 + 2549 0538 04030000 .4byte 0x304 + 2550 053c 52030000 .4byte .LBB57 + 2551 0540 54030000 .4byte .LBE57 + 2552 0544 01 .byte 0x1 + 2553 0545 6E .byte 0x6e + 2554 0546 00 .byte 0x0 + 2555 0547 00 .byte 0x0 + 2556 0548 1F .uleb128 0x1f + 2557 0549 01 .byte 0x1 + 2558 054a 54030000 .4byte .LASF55 + 2559 054e 01 .byte 0x1 + 2560 054f 0101 .2byte 0x101 + 2561 0551 01 .byte 0x1 + 2562 0552 58040000 .4byte .LFB26 + 2563 0556 C8050000 .4byte .LFE26 + 2564 055a CB020000 .4byte .LLST17 + 2565 055e 95050000 .4byte 0x595 + 2566 0562 20 .uleb128 0x20 + 2567 0563 0E030000 .4byte 0x30e + 2568 0567 E8040000 .4byte .LBB59 + 2569 056b EA040000 .4byte .LBE59 + 2570 056f 01 .byte 0x1 + 2571 0570 2B01 .2byte 0x12b + 2572 0572 20 .uleb128 0x20 + 2573 0573 04030000 .4byte 0x304 + 2574 0577 F6040000 .4byte .LBB61 + 2575 057b F8040000 .4byte .LBE61 + 2576 057f 01 .byte 0x1 + 2577 0580 2E01 .2byte 0x12e + 2578 0582 27 .uleb128 0x27 + 2579 0583 70000000 .4byte .Ldebug_ranges0+0x70 + BFIN GAS /tmp/ccZiL1p8.s page 59 + + + 2580 0587 28 .uleb128 0x28 + 2581 0588 A4010000 .4byte .LASF42 + 2582 058c 01 .byte 0x1 + 2583 058d 1401 .2byte 0x114 + 2584 058f 69000000 .4byte 0x69 + 2585 0593 00 .byte 0x0 + 2586 0594 00 .byte 0x0 + 2587 0595 29 .uleb128 0x29 + 2588 0596 E0010000 .4byte .LASF56 + 2589 059a 01 .byte 0x1 + 2590 059b 34 .byte 0x34 + 2591 059c 45000000 .4byte 0x45 + 2592 05a0 05 .byte 0x5 + 2593 05a1 03 .byte 0x3 + 2594 05a2 00000000 .4byte _f_snd_start_id + 2595 05a6 29 .uleb128 0x29 + 2596 05a7 FE020000 .4byte .LASF57 + 2597 05ab 01 .byte 0x1 + 2598 05ac 34 .byte 0x34 + 2599 05ad 45000000 .4byte 0x45 + 2600 05b1 05 .byte 0x5 + 2601 05b2 03 .byte 0x3 + 2602 05b3 02000000 .4byte _f_rcv_start_id + 2603 05b7 29 .uleb128 0x29 + 2604 05b8 CA020000 .4byte .LASF58 + 2605 05bc 01 .byte 0x1 + 2606 05bd 35 .byte 0x35 + 2607 05be 45000000 .4byte 0x45 + 2608 05c2 05 .byte 0x5 + 2609 05c3 03 .byte 0x3 + 2610 05c4 04000000 .4byte _f_snd_done_id + 2611 05c8 29 .uleb128 0x29 + 2612 05c9 0C000000 .4byte .LASF59 + 2613 05cd 01 .byte 0x1 + 2614 05ce 35 .byte 0x35 + 2615 05cf 45000000 .4byte 0x45 + 2616 05d3 05 .byte 0x5 + 2617 05d4 03 .byte 0x3 + 2618 05d5 06000000 .4byte _f_rcv_done_id + 2619 05d9 29 .uleb128 0x29 + 2620 05da 7D020000 .4byte .LASF60 + 2621 05de 01 .byte 0x1 + 2622 05df 36 .byte 0x36 + 2623 05e0 2C000000 .4byte 0x2c + 2624 05e4 05 .byte 0x5 + 2625 05e5 03 .byte 0x3 + 2626 05e6 08000000 .4byte _f_snd_next_descr + 2627 05ea 29 .uleb128 0x29 + 2628 05eb 35020000 .4byte .LASF61 + 2629 05ef 01 .byte 0x1 + 2630 05f0 36 .byte 0x36 + 2631 05f1 2C000000 .4byte 0x2c + 2632 05f5 05 .byte 0x5 + 2633 05f6 03 .byte 0x3 + 2634 05f7 09000000 .4byte _f_rcv_next_descr + 2635 05fb 29 .uleb128 0x29 + 2636 05fc 1A000000 .4byte .LASF62 + BFIN GAS /tmp/ccZiL1p8.s page 60 + + + 2637 0600 01 .byte 0x1 + 2638 0601 37 .byte 0x37 + 2639 0602 2C000000 .4byte 0x2c + 2640 0606 05 .byte 0x5 + 2641 0607 03 .byte 0x3 + 2642 0608 0A000000 .4byte _f_rcv_done_descr + 2643 060c 2A .uleb128 0x2a + 2644 060d 94020000 .4byte .LASF67 + 2645 0611 05 .byte 0x5 + 2646 0612 48 .byte 0x48 + 2647 0613 19060000 .4byte 0x619 + 2648 0617 01 .byte 0x1 + 2649 0618 01 .byte 0x1 + 2650 0619 2B .uleb128 0x2b + 2651 061a 6F020000 .4byte 0x26f + 2652 061e 00 .byte 0x0 + 2653 .section .debug_abbrev + 2654 0000 01 .uleb128 0x1 + 2655 0001 11 .uleb128 0x11 + 2656 0002 01 .byte 0x1 + 2657 0003 25 .uleb128 0x25 + 2658 0004 0E .uleb128 0xe + 2659 0005 13 .uleb128 0x13 + 2660 0006 0B .uleb128 0xb + 2661 0007 03 .uleb128 0x3 + 2662 0008 0E .uleb128 0xe + 2663 0009 1B .uleb128 0x1b + 2664 000a 0E .uleb128 0xe + 2665 000b 11 .uleb128 0x11 + 2666 000c 01 .uleb128 0x1 + 2667 000d 12 .uleb128 0x12 + 2668 000e 01 .uleb128 0x1 + 2669 000f 10 .uleb128 0x10 + 2670 0010 06 .uleb128 0x6 + 2671 0011 00 .byte 0x0 + 2672 0012 00 .byte 0x0 + 2673 0013 02 .uleb128 0x2 + 2674 0014 24 .uleb128 0x24 + 2675 0015 00 .byte 0x0 + 2676 0016 0B .uleb128 0xb + 2677 0017 0B .uleb128 0xb + 2678 0018 3E .uleb128 0x3e + 2679 0019 0B .uleb128 0xb + 2680 001a 03 .uleb128 0x3 + 2681 001b 0E .uleb128 0xe + 2682 001c 00 .byte 0x0 + 2683 001d 00 .byte 0x0 + 2684 001e 03 .uleb128 0x3 + 2685 001f 16 .uleb128 0x16 + 2686 0020 00 .byte 0x0 + 2687 0021 03 .uleb128 0x3 + 2688 0022 0E .uleb128 0xe + 2689 0023 3A .uleb128 0x3a + 2690 0024 0B .uleb128 0xb + 2691 0025 3B .uleb128 0x3b + 2692 0026 0B .uleb128 0xb + 2693 0027 49 .uleb128 0x49 + BFIN GAS /tmp/ccZiL1p8.s page 61 + + + 2694 0028 13 .uleb128 0x13 + 2695 0029 00 .byte 0x0 + 2696 002a 00 .byte 0x0 + 2697 002b 04 .uleb128 0x4 + 2698 002c 24 .uleb128 0x24 + 2699 002d 00 .byte 0x0 + 2700 002e 0B .uleb128 0xb + 2701 002f 0B .uleb128 0xb + 2702 0030 3E .uleb128 0x3e + 2703 0031 0B .uleb128 0xb + 2704 0032 03 .uleb128 0x3 + 2705 0033 08 .uleb128 0x8 + 2706 0034 00 .byte 0x0 + 2707 0035 00 .byte 0x0 + 2708 0036 05 .uleb128 0x5 + 2709 0037 04 .uleb128 0x4 + 2710 0038 01 .byte 0x1 + 2711 0039 0B .uleb128 0xb + 2712 003a 0B .uleb128 0xb + 2713 003b 3A .uleb128 0x3a + 2714 003c 0B .uleb128 0xb + 2715 003d 3B .uleb128 0x3b + 2716 003e 0B .uleb128 0xb + 2717 003f 01 .uleb128 0x1 + 2718 0040 13 .uleb128 0x13 + 2719 0041 00 .byte 0x0 + 2720 0042 00 .byte 0x0 + 2721 0043 06 .uleb128 0x6 + 2722 0044 28 .uleb128 0x28 + 2723 0045 00 .byte 0x0 + 2724 0046 03 .uleb128 0x3 + 2725 0047 0E .uleb128 0xe + 2726 0048 1C .uleb128 0x1c + 2727 0049 0D .uleb128 0xd + 2728 004a 00 .byte 0x0 + 2729 004b 00 .byte 0x0 + 2730 004c 07 .uleb128 0x7 + 2731 004d 13 .uleb128 0x13 + 2732 004e 01 .byte 0x1 + 2733 004f 0B .uleb128 0xb + 2734 0050 05 .uleb128 0x5 + 2735 0051 3A .uleb128 0x3a + 2736 0052 0B .uleb128 0xb + 2737 0053 3B .uleb128 0x3b + 2738 0054 0B .uleb128 0xb + 2739 0055 01 .uleb128 0x1 + 2740 0056 13 .uleb128 0x13 + 2741 0057 00 .byte 0x0 + 2742 0058 00 .byte 0x0 + 2743 0059 08 .uleb128 0x8 + 2744 005a 0D .uleb128 0xd + 2745 005b 00 .byte 0x0 + 2746 005c 03 .uleb128 0x3 + 2747 005d 0E .uleb128 0xe + 2748 005e 3A .uleb128 0x3a + 2749 005f 0B .uleb128 0xb + 2750 0060 3B .uleb128 0x3b + BFIN GAS /tmp/ccZiL1p8.s page 62 + + + 2751 0061 0B .uleb128 0xb + 2752 0062 49 .uleb128 0x49 + 2753 0063 13 .uleb128 0x13 + 2754 0064 38 .uleb128 0x38 + 2755 0065 0A .uleb128 0xa + 2756 0066 00 .byte 0x0 + 2757 0067 00 .byte 0x0 + 2758 0068 09 .uleb128 0x9 + 2759 0069 01 .uleb128 0x1 + 2760 006a 01 .byte 0x1 + 2761 006b 49 .uleb128 0x49 + 2762 006c 13 .uleb128 0x13 + 2763 006d 01 .uleb128 0x1 + 2764 006e 13 .uleb128 0x13 + 2765 006f 00 .byte 0x0 + 2766 0070 00 .byte 0x0 + 2767 0071 0A .uleb128 0xa + 2768 0072 21 .uleb128 0x21 + 2769 0073 00 .byte 0x0 + 2770 0074 49 .uleb128 0x49 + 2771 0075 13 .uleb128 0x13 + 2772 0076 2F .uleb128 0x2f + 2773 0077 05 .uleb128 0x5 + 2774 0078 00 .byte 0x0 + 2775 0079 00 .byte 0x0 + 2776 007a 0B .uleb128 0xb + 2777 007b 24 .uleb128 0x24 + 2778 007c 00 .byte 0x0 + 2779 007d 0B .uleb128 0xb + 2780 007e 0B .uleb128 0xb + 2781 007f 3E .uleb128 0x3e + 2782 0080 0B .uleb128 0xb + 2783 0081 00 .byte 0x0 + 2784 0082 00 .byte 0x0 + 2785 0083 0C .uleb128 0xc + 2786 0084 13 .uleb128 0x13 + 2787 0085 01 .byte 0x1 + 2788 0086 0B .uleb128 0xb + 2789 0087 0B .uleb128 0xb + 2790 0088 3A .uleb128 0x3a + 2791 0089 0B .uleb128 0xb + 2792 008a 3B .uleb128 0x3b + 2793 008b 0B .uleb128 0xb + 2794 008c 01 .uleb128 0x1 + 2795 008d 13 .uleb128 0x13 + 2796 008e 00 .byte 0x0 + 2797 008f 00 .byte 0x0 + 2798 0090 0D .uleb128 0xd + 2799 0091 0D .uleb128 0xd + 2800 0092 00 .byte 0x0 + 2801 0093 03 .uleb128 0x3 + 2802 0094 08 .uleb128 0x8 + 2803 0095 3A .uleb128 0x3a + 2804 0096 0B .uleb128 0xb + 2805 0097 3B .uleb128 0x3b + 2806 0098 0B .uleb128 0xb + 2807 0099 49 .uleb128 0x49 + BFIN GAS /tmp/ccZiL1p8.s page 63 + + + 2808 009a 13 .uleb128 0x13 + 2809 009b 38 .uleb128 0x38 + 2810 009c 0A .uleb128 0xa + 2811 009d 00 .byte 0x0 + 2812 009e 00 .byte 0x0 + 2813 009f 0E .uleb128 0xe + 2814 00a0 0F .uleb128 0xf + 2815 00a1 00 .byte 0x0 + 2816 00a2 0B .uleb128 0xb + 2817 00a3 0B .uleb128 0xb + 2818 00a4 00 .byte 0x0 + 2819 00a5 00 .byte 0x0 + 2820 00a6 0F .uleb128 0xf + 2821 00a7 21 .uleb128 0x21 + 2822 00a8 00 .byte 0x0 + 2823 00a9 49 .uleb128 0x49 + 2824 00aa 13 .uleb128 0x13 + 2825 00ab 2F .uleb128 0x2f + 2826 00ac 0B .uleb128 0xb + 2827 00ad 00 .byte 0x0 + 2828 00ae 00 .byte 0x0 + 2829 00af 10 .uleb128 0x10 + 2830 00b0 2E .uleb128 0x2e + 2831 00b1 00 .byte 0x0 + 2832 00b2 3F .uleb128 0x3f + 2833 00b3 0C .uleb128 0xc + 2834 00b4 03 .uleb128 0x3 + 2835 00b5 0E .uleb128 0xe + 2836 00b6 3A .uleb128 0x3a + 2837 00b7 0B .uleb128 0xb + 2838 00b8 3B .uleb128 0x3b + 2839 00b9 0B .uleb128 0xb + 2840 00ba 27 .uleb128 0x27 + 2841 00bb 0C .uleb128 0xc + 2842 00bc 49 .uleb128 0x49 + 2843 00bd 13 .uleb128 0x13 + 2844 00be 20 .uleb128 0x20 + 2845 00bf 0B .uleb128 0xb + 2846 00c0 00 .byte 0x0 + 2847 00c1 00 .byte 0x0 + 2848 00c2 11 .uleb128 0x11 + 2849 00c3 2E .uleb128 0x2e + 2850 00c4 01 .byte 0x1 + 2851 00c5 03 .uleb128 0x3 + 2852 00c6 0E .uleb128 0xe + 2853 00c7 3A .uleb128 0x3a + 2854 00c8 0B .uleb128 0xb + 2855 00c9 3B .uleb128 0x3b + 2856 00ca 0B .uleb128 0xb + 2857 00cb 27 .uleb128 0x27 + 2858 00cc 0C .uleb128 0xc + 2859 00cd 20 .uleb128 0x20 + 2860 00ce 0B .uleb128 0xb + 2861 00cf 01 .uleb128 0x1 + 2862 00d0 13 .uleb128 0x13 + 2863 00d1 00 .byte 0x0 + 2864 00d2 00 .byte 0x0 + BFIN GAS /tmp/ccZiL1p8.s page 64 + + + 2865 00d3 12 .uleb128 0x12 + 2866 00d4 05 .uleb128 0x5 + 2867 00d5 00 .byte 0x0 + 2868 00d6 03 .uleb128 0x3 + 2869 00d7 0E .uleb128 0xe + 2870 00d8 3A .uleb128 0x3a + 2871 00d9 0B .uleb128 0xb + 2872 00da 3B .uleb128 0x3b + 2873 00db 0B .uleb128 0xb + 2874 00dc 49 .uleb128 0x49 + 2875 00dd 13 .uleb128 0x13 + 2876 00de 00 .byte 0x0 + 2877 00df 00 .byte 0x0 + 2878 00e0 13 .uleb128 0x13 + 2879 00e1 05 .uleb128 0x5 + 2880 00e2 00 .byte 0x0 + 2881 00e3 03 .uleb128 0x3 + 2882 00e4 08 .uleb128 0x8 + 2883 00e5 3A .uleb128 0x3a + 2884 00e6 0B .uleb128 0xb + 2885 00e7 3B .uleb128 0x3b + 2886 00e8 0B .uleb128 0xb + 2887 00e9 49 .uleb128 0x49 + 2888 00ea 13 .uleb128 0x13 + 2889 00eb 00 .byte 0x0 + 2890 00ec 00 .byte 0x0 + 2891 00ed 14 .uleb128 0x14 + 2892 00ee 0F .uleb128 0xf + 2893 00ef 00 .byte 0x0 + 2894 00f0 0B .uleb128 0xb + 2895 00f1 0B .uleb128 0xb + 2896 00f2 49 .uleb128 0x49 + 2897 00f3 13 .uleb128 0x13 + 2898 00f4 00 .byte 0x0 + 2899 00f5 00 .byte 0x0 + 2900 00f6 15 .uleb128 0x15 + 2901 00f7 2E .uleb128 0x2e + 2902 00f8 00 .byte 0x0 + 2903 00f9 03 .uleb128 0x3 + 2904 00fa 0E .uleb128 0xe + 2905 00fb 3A .uleb128 0x3a + 2906 00fc 0B .uleb128 0xb + 2907 00fd 3B .uleb128 0x3b + 2908 00fe 05 .uleb128 0x5 + 2909 00ff 27 .uleb128 0x27 + 2910 0100 0C .uleb128 0xc + 2911 0101 20 .uleb128 0x20 + 2912 0102 0B .uleb128 0xb + 2913 0103 00 .byte 0x0 + 2914 0104 00 .byte 0x0 + 2915 0105 16 .uleb128 0x16 + 2916 0106 2E .uleb128 0x2e + 2917 0107 00 .byte 0x0 + 2918 0108 3F .uleb128 0x3f + 2919 0109 0C .uleb128 0xc + 2920 010a 03 .uleb128 0x3 + 2921 010b 0E .uleb128 0xe + BFIN GAS /tmp/ccZiL1p8.s page 65 + + + 2922 010c 3A .uleb128 0x3a + 2923 010d 0B .uleb128 0xb + 2924 010e 3B .uleb128 0x3b + 2925 010f 0B .uleb128 0xb + 2926 0110 27 .uleb128 0x27 + 2927 0111 0C .uleb128 0xc + 2928 0112 11 .uleb128 0x11 + 2929 0113 01 .uleb128 0x1 + 2930 0114 12 .uleb128 0x12 + 2931 0115 01 .uleb128 0x1 + 2932 0116 40 .uleb128 0x40 + 2933 0117 06 .uleb128 0x6 + 2934 0118 00 .byte 0x0 + 2935 0119 00 .byte 0x0 + 2936 011a 17 .uleb128 0x17 + 2937 011b 2E .uleb128 0x2e + 2938 011c 00 .byte 0x0 + 2939 011d 31 .uleb128 0x31 + 2940 011e 13 .uleb128 0x13 + 2941 011f 11 .uleb128 0x11 + 2942 0120 01 .uleb128 0x1 + 2943 0121 12 .uleb128 0x12 + 2944 0122 01 .uleb128 0x1 + 2945 0123 40 .uleb128 0x40 + 2946 0124 06 .uleb128 0x6 + 2947 0125 00 .byte 0x0 + 2948 0126 00 .byte 0x0 + 2949 0127 18 .uleb128 0x18 + 2950 0128 2E .uleb128 0x2e + 2951 0129 01 .byte 0x1 + 2952 012a 3F .uleb128 0x3f + 2953 012b 0C .uleb128 0xc + 2954 012c 03 .uleb128 0x3 + 2955 012d 0E .uleb128 0xe + 2956 012e 3A .uleb128 0x3a + 2957 012f 0B .uleb128 0xb + 2958 0130 3B .uleb128 0x3b + 2959 0131 0B .uleb128 0xb + 2960 0132 27 .uleb128 0x27 + 2961 0133 0C .uleb128 0xc + 2962 0134 49 .uleb128 0x49 + 2963 0135 13 .uleb128 0x13 + 2964 0136 11 .uleb128 0x11 + 2965 0137 01 .uleb128 0x1 + 2966 0138 12 .uleb128 0x12 + 2967 0139 01 .uleb128 0x1 + 2968 013a 40 .uleb128 0x40 + 2969 013b 06 .uleb128 0x6 + 2970 013c 01 .uleb128 0x1 + 2971 013d 13 .uleb128 0x13 + 2972 013e 00 .byte 0x0 + 2973 013f 00 .byte 0x0 + 2974 0140 19 .uleb128 0x19 + 2975 0141 05 .uleb128 0x5 + 2976 0142 00 .byte 0x0 + 2977 0143 03 .uleb128 0x3 + 2978 0144 08 .uleb128 0x8 + BFIN GAS /tmp/ccZiL1p8.s page 66 + + + 2979 0145 3A .uleb128 0x3a + 2980 0146 0B .uleb128 0xb + 2981 0147 3B .uleb128 0x3b + 2982 0148 0B .uleb128 0xb + 2983 0149 49 .uleb128 0x49 + 2984 014a 13 .uleb128 0x13 + 2985 014b 02 .uleb128 0x2 + 2986 014c 06 .uleb128 0x6 + 2987 014d 00 .byte 0x0 + 2988 014e 00 .byte 0x0 + 2989 014f 1A .uleb128 0x1a + 2990 0150 05 .uleb128 0x5 + 2991 0151 00 .byte 0x0 + 2992 0152 03 .uleb128 0x3 + 2993 0153 0E .uleb128 0xe + 2994 0154 3A .uleb128 0x3a + 2995 0155 0B .uleb128 0xb + 2996 0156 3B .uleb128 0x3b + 2997 0157 0B .uleb128 0xb + 2998 0158 49 .uleb128 0x49 + 2999 0159 13 .uleb128 0x13 + 3000 015a 02 .uleb128 0x2 + 3001 015b 06 .uleb128 0x6 + 3002 015c 00 .byte 0x0 + 3003 015d 00 .byte 0x0 + 3004 015e 1B .uleb128 0x1b + 3005 015f 1D .uleb128 0x1d + 3006 0160 00 .byte 0x0 + 3007 0161 31 .uleb128 0x31 + 3008 0162 13 .uleb128 0x13 + 3009 0163 55 .uleb128 0x55 + 3010 0164 06 .uleb128 0x6 + 3011 0165 58 .uleb128 0x58 + 3012 0166 0B .uleb128 0xb + 3013 0167 59 .uleb128 0x59 + 3014 0168 0B .uleb128 0xb + 3015 0169 00 .byte 0x0 + 3016 016a 00 .byte 0x0 + 3017 016b 1C .uleb128 0x1c + 3018 016c 1D .uleb128 0x1d + 3019 016d 01 .byte 0x1 + 3020 016e 31 .uleb128 0x31 + 3021 016f 13 .uleb128 0x13 + 3022 0170 55 .uleb128 0x55 + 3023 0171 06 .uleb128 0x6 + 3024 0172 58 .uleb128 0x58 + 3025 0173 0B .uleb128 0xb + 3026 0174 59 .uleb128 0x59 + 3027 0175 0B .uleb128 0xb + 3028 0176 00 .byte 0x0 + 3029 0177 00 .byte 0x0 + 3030 0178 1D .uleb128 0x1d + 3031 0179 05 .uleb128 0x5 + 3032 017a 00 .byte 0x0 + 3033 017b 31 .uleb128 0x31 + 3034 017c 13 .uleb128 0x13 + 3035 017d 00 .byte 0x0 + BFIN GAS /tmp/ccZiL1p8.s page 67 + + + 3036 017e 00 .byte 0x0 + 3037 017f 1E .uleb128 0x1e + 3038 0180 26 .uleb128 0x26 + 3039 0181 00 .byte 0x0 + 3040 0182 49 .uleb128 0x49 + 3041 0183 13 .uleb128 0x13 + 3042 0184 00 .byte 0x0 + 3043 0185 00 .byte 0x0 + 3044 0186 1F .uleb128 0x1f + 3045 0187 2E .uleb128 0x2e + 3046 0188 01 .byte 0x1 + 3047 0189 3F .uleb128 0x3f + 3048 018a 0C .uleb128 0xc + 3049 018b 03 .uleb128 0x3 + 3050 018c 0E .uleb128 0xe + 3051 018d 3A .uleb128 0x3a + 3052 018e 0B .uleb128 0xb + 3053 018f 3B .uleb128 0x3b + 3054 0190 05 .uleb128 0x5 + 3055 0191 27 .uleb128 0x27 + 3056 0192 0C .uleb128 0xc + 3057 0193 11 .uleb128 0x11 + 3058 0194 01 .uleb128 0x1 + 3059 0195 12 .uleb128 0x12 + 3060 0196 01 .uleb128 0x1 + 3061 0197 40 .uleb128 0x40 + 3062 0198 06 .uleb128 0x6 + 3063 0199 01 .uleb128 0x1 + 3064 019a 13 .uleb128 0x13 + 3065 019b 00 .byte 0x0 + 3066 019c 00 .byte 0x0 + 3067 019d 20 .uleb128 0x20 + 3068 019e 1D .uleb128 0x1d + 3069 019f 00 .byte 0x0 + 3070 01a0 31 .uleb128 0x31 + 3071 01a1 13 .uleb128 0x13 + 3072 01a2 11 .uleb128 0x11 + 3073 01a3 01 .uleb128 0x1 + 3074 01a4 12 .uleb128 0x12 + 3075 01a5 01 .uleb128 0x1 + 3076 01a6 58 .uleb128 0x58 + 3077 01a7 0B .uleb128 0xb + 3078 01a8 59 .uleb128 0x59 + 3079 01a9 05 .uleb128 0x5 + 3080 01aa 00 .byte 0x0 + 3081 01ab 00 .byte 0x0 + 3082 01ac 21 .uleb128 0x21 + 3083 01ad 2E .uleb128 0x2e + 3084 01ae 01 .byte 0x1 + 3085 01af 3F .uleb128 0x3f + 3086 01b0 0C .uleb128 0xc + 3087 01b1 03 .uleb128 0x3 + 3088 01b2 0E .uleb128 0xe + 3089 01b3 3A .uleb128 0x3a + 3090 01b4 0B .uleb128 0xb + 3091 01b5 3B .uleb128 0x3b + 3092 01b6 0B .uleb128 0xb + BFIN GAS /tmp/ccZiL1p8.s page 68 + + + 3093 01b7 27 .uleb128 0x27 + 3094 01b8 0C .uleb128 0xc + 3095 01b9 11 .uleb128 0x11 + 3096 01ba 01 .uleb128 0x1 + 3097 01bb 12 .uleb128 0x12 + 3098 01bc 01 .uleb128 0x1 + 3099 01bd 40 .uleb128 0x40 + 3100 01be 06 .uleb128 0x6 + 3101 01bf 01 .uleb128 0x1 + 3102 01c0 13 .uleb128 0x13 + 3103 01c1 00 .byte 0x0 + 3104 01c2 00 .byte 0x0 + 3105 01c3 22 .uleb128 0x22 + 3106 01c4 34 .uleb128 0x34 + 3107 01c5 00 .byte 0x0 + 3108 01c6 03 .uleb128 0x3 + 3109 01c7 08 .uleb128 0x8 + 3110 01c8 3A .uleb128 0x3a + 3111 01c9 0B .uleb128 0xb + 3112 01ca 3B .uleb128 0x3b + 3113 01cb 0B .uleb128 0xb + 3114 01cc 49 .uleb128 0x49 + 3115 01cd 13 .uleb128 0x13 + 3116 01ce 02 .uleb128 0x2 + 3117 01cf 0A .uleb128 0xa + 3118 01d0 00 .byte 0x0 + 3119 01d1 00 .byte 0x0 + 3120 01d2 23 .uleb128 0x23 + 3121 01d3 0B .uleb128 0xb + 3122 01d4 01 .byte 0x1 + 3123 01d5 11 .uleb128 0x11 + 3124 01d6 01 .uleb128 0x1 + 3125 01d7 12 .uleb128 0x12 + 3126 01d8 01 .uleb128 0x1 + 3127 01d9 01 .uleb128 0x1 + 3128 01da 13 .uleb128 0x13 + 3129 01db 00 .byte 0x0 + 3130 01dc 00 .byte 0x0 + 3131 01dd 24 .uleb128 0x24 + 3132 01de 34 .uleb128 0x34 + 3133 01df 00 .byte 0x0 + 3134 01e0 03 .uleb128 0x3 + 3135 01e1 08 .uleb128 0x8 + 3136 01e2 3A .uleb128 0x3a + 3137 01e3 0B .uleb128 0xb + 3138 01e4 3B .uleb128 0x3b + 3139 01e5 0B .uleb128 0xb + 3140 01e6 49 .uleb128 0x49 + 3141 01e7 13 .uleb128 0x13 + 3142 01e8 02 .uleb128 0x2 + 3143 01e9 06 .uleb128 0x6 + 3144 01ea 00 .byte 0x0 + 3145 01eb 00 .byte 0x0 + 3146 01ec 25 .uleb128 0x25 + 3147 01ed 1D .uleb128 0x1d + 3148 01ee 00 .byte 0x0 + 3149 01ef 31 .uleb128 0x31 + BFIN GAS /tmp/ccZiL1p8.s page 69 + + + 3150 01f0 13 .uleb128 0x13 + 3151 01f1 11 .uleb128 0x11 + 3152 01f2 01 .uleb128 0x1 + 3153 01f3 12 .uleb128 0x12 + 3154 01f4 01 .uleb128 0x1 + 3155 01f5 58 .uleb128 0x58 + 3156 01f6 0B .uleb128 0xb + 3157 01f7 59 .uleb128 0x59 + 3158 01f8 0B .uleb128 0xb + 3159 01f9 00 .byte 0x0 + 3160 01fa 00 .byte 0x0 + 3161 01fb 26 .uleb128 0x26 + 3162 01fc 0B .uleb128 0xb + 3163 01fd 01 .byte 0x1 + 3164 01fe 11 .uleb128 0x11 + 3165 01ff 01 .uleb128 0x1 + 3166 0200 12 .uleb128 0x12 + 3167 0201 01 .uleb128 0x1 + 3168 0202 00 .byte 0x0 + 3169 0203 00 .byte 0x0 + 3170 0204 27 .uleb128 0x27 + 3171 0205 0B .uleb128 0xb + 3172 0206 01 .byte 0x1 + 3173 0207 55 .uleb128 0x55 + 3174 0208 06 .uleb128 0x6 + 3175 0209 00 .byte 0x0 + 3176 020a 00 .byte 0x0 + 3177 020b 28 .uleb128 0x28 + 3178 020c 34 .uleb128 0x34 + 3179 020d 00 .byte 0x0 + 3180 020e 03 .uleb128 0x3 + 3181 020f 0E .uleb128 0xe + 3182 0210 3A .uleb128 0x3a + 3183 0211 0B .uleb128 0xb + 3184 0212 3B .uleb128 0x3b + 3185 0213 05 .uleb128 0x5 + 3186 0214 49 .uleb128 0x49 + 3187 0215 13 .uleb128 0x13 + 3188 0216 00 .byte 0x0 + 3189 0217 00 .byte 0x0 + 3190 0218 29 .uleb128 0x29 + 3191 0219 34 .uleb128 0x34 + 3192 021a 00 .byte 0x0 + 3193 021b 03 .uleb128 0x3 + 3194 021c 0E .uleb128 0xe + 3195 021d 3A .uleb128 0x3a + 3196 021e 0B .uleb128 0xb + 3197 021f 3B .uleb128 0x3b + 3198 0220 0B .uleb128 0xb + 3199 0221 49 .uleb128 0x49 + 3200 0222 13 .uleb128 0x13 + 3201 0223 02 .uleb128 0x2 + 3202 0224 0A .uleb128 0xa + 3203 0225 00 .byte 0x0 + 3204 0226 00 .byte 0x0 + 3205 0227 2A .uleb128 0x2a + 3206 0228 34 .uleb128 0x34 + BFIN GAS /tmp/ccZiL1p8.s page 70 + + + 3207 0229 00 .byte 0x0 + 3208 022a 03 .uleb128 0x3 + 3209 022b 0E .uleb128 0xe + 3210 022c 3A .uleb128 0x3a + 3211 022d 0B .uleb128 0xb + 3212 022e 3B .uleb128 0x3b + 3213 022f 0B .uleb128 0xb + 3214 0230 49 .uleb128 0x49 + 3215 0231 13 .uleb128 0x13 + 3216 0232 3F .uleb128 0x3f + 3217 0233 0C .uleb128 0xc + 3218 0234 3C .uleb128 0x3c + 3219 0235 0C .uleb128 0xc + 3220 0236 00 .byte 0x0 + 3221 0237 00 .byte 0x0 + 3222 0238 2B .uleb128 0x2b + 3223 0239 35 .uleb128 0x35 + 3224 023a 00 .byte 0x0 + 3225 023b 49 .uleb128 0x49 + 3226 023c 13 .uleb128 0x13 + 3227 023d 00 .byte 0x0 + 3228 023e 00 .byte 0x0 + 3229 023f 00 .byte 0x0 + 3230 .section .debug_pubnames,"",@progbits + 3231 0000 E3000000 .4byte 0xe3 + 3232 0004 0200 .2byte 0x2 + 3233 0006 00000000 .4byte .Ldebug_info0 + 3234 000a 1F060000 .4byte 0x61f + 3235 000e 18030000 .4byte 0x318 + 3236 0012 68646D61 .string "hdma_send_start" + 3236 5F73656E + 3236 645F7374 + 3236 61727400 + 3237 0022 2D030000 .4byte 0x32d + 3238 0026 68646D61 .string "hdma_send_stop" + 3238 5F73656E + 3238 645F7374 + 3238 6F7000 + 3239 0035 42030000 .4byte 0x342 + 3240 0039 68646D61 .string "hdma_recv_start" + 3240 5F726563 + 3240 765F7374 + 3240 61727400 + 3241 0049 57030000 .4byte 0x357 + 3242 004d 68646D61 .string "hdma_recv_stop" + 3242 5F726563 + 3242 765F7374 + 3242 6F7000 + 3243 005c 6C030000 .4byte 0x36c + 3244 0060 68646D61 .string "hdma_send_req_rdy" + 3244 5F73656E + 3244 645F7265 + 3244 715F7264 + 3244 7900 + 3245 0072 7D030000 .4byte 0x37d + 3246 0076 68646D61 .string "hdma_recv_req_rdy" + 3246 5F726563 + BFIN GAS /tmp/ccZiL1p8.s page 71 + + + 3246 765F7265 + 3246 715F7264 + 3246 7900 + 3247 0088 8E030000 .4byte 0x38e + 3248 008c 68646D61 .string "hdma_send_req_start" + 3248 5F73656E + 3248 645F7265 + 3248 715F7374 + 3248 61727400 + 3249 00a0 19040000 .4byte 0x419 + 3250 00a4 68646D61 .string "hdma_recv_req_start" + 3250 5F726563 + 3250 765F7265 + 3250 715F7374 + 3250 61727400 + 3251 00b8 8A040000 .4byte 0x48a + 3252 00bc 68646D61 .string "hdma_rd_isr" + 3252 5F72645F + 3252 69737200 + 3253 00c8 B5040000 .4byte 0x4b5 + 3254 00cc 68646D61 .string "hdma_init" + 3254 5F696E69 + 3254 7400 + 3255 00d6 48050000 .4byte 0x548 + 3256 00da 68646D61 .string "hdma_isr" + 3256 5F697372 + 3256 00 + 3257 00e3 00000000 .4byte 0x0 + 3258 .section .debug_aranges,"",@progbits + 3259 0000 1C000000 .4byte 0x1c + 3260 0004 0200 .2byte 0x2 + 3261 0006 00000000 .4byte .Ldebug_info0 + 3262 000a 04 .byte 0x4 + 3263 000b 00 .byte 0x0 + 3264 000c 0000 .2byte 0x0 + 3265 000e 0000 .2byte 0x0 + 3266 0010 00000000 .4byte .Ltext0 + 3267 0014 C8050000 .4byte .Letext0-.Ltext0 + 3268 0018 00000000 .4byte 0x0 + 3269 001c 00000000 .4byte 0x0 + 3270 .section .debug_ranges,"",@progbits + 3271 .Ldebug_ranges0: + 3272 0000 16010000 .4byte .LBB27-.Ltext0 + 3273 0004 1A010000 .4byte .LBE27-.Ltext0 + 3274 0008 2C010000 .4byte .LBB32-.Ltext0 + 3275 000c 2E010000 .4byte .LBE32-.Ltext0 + 3276 0010 24010000 .4byte .LBB31-.Ltext0 + 3277 0014 28010000 .4byte .LBE31-.Ltext0 + 3278 0018 00000000 .4byte 0x0 + 3279 001c 00000000 .4byte 0x0 + 3280 0020 40010000 .4byte .LBB33-.Ltext0 + 3281 0024 8C010000 .4byte .LBE33-.Ltext0 + 3282 0028 AE010000 .4byte .LBB36-.Ltext0 + 3283 002c B4010000 .4byte .LBE36-.Ltext0 + 3284 0030 00000000 .4byte 0x0 + 3285 0034 00000000 .4byte 0x0 + 3286 0038 B6010000 .4byte .LBB37-.Ltext0 + BFIN GAS /tmp/ccZiL1p8.s page 72 + + + 3287 003c BA010000 .4byte .LBE37-.Ltext0 + 3288 0040 CC010000 .4byte .LBB42-.Ltext0 + 3289 0044 CE010000 .4byte .LBE42-.Ltext0 + 3290 0048 C4010000 .4byte .LBB41-.Ltext0 + 3291 004c C8010000 .4byte .LBE41-.Ltext0 + 3292 0050 00000000 .4byte 0x0 + 3293 0054 00000000 .4byte 0x0 + 3294 0058 DE010000 .4byte .LBB43-.Ltext0 + 3295 005c 2E020000 .4byte .LBE43-.Ltext0 + 3296 0060 52020000 .4byte .LBB46-.Ltext0 + 3297 0064 58020000 .4byte .LBE46-.Ltext0 + 3298 0068 00000000 .4byte 0x0 + 3299 006c 00000000 .4byte 0x0 + 3300 0070 38050000 .4byte .LBB63-.Ltext0 + 3301 0074 84050000 .4byte .LBE63-.Ltext0 + 3302 0078 A4050000 .4byte .LBB64-.Ltext0 + 3303 007c C8050000 .4byte .LBE64-.Ltext0 + 3304 0080 00000000 .4byte 0x0 + 3305 0084 00000000 .4byte 0x0 + 3306 .section .debug_str,"MS",@progbits,1 + 3307 .LASF53: + 3308 0000 68646D61 .string "hdma_rd_isr" + 3308 5F72645F + 3308 69737200 + 3309 .LASF59: + 3310 000c 665F7263 .string "f_rcv_done_id" + 3310 765F646F + 3310 6E655F69 + 3310 6400 + 3311 .LASF62: + 3312 001a 665F7263 .string "f_rcv_done_descr" + 3312 765F646F + 3312 6E655F64 + 3312 65736372 + 3312 00 + 3313 .LASF11: + 3314 002b 6C6F6E67 .string "long long unsigned int" + 3314 206C6F6E + 3314 6720756E + 3314 7369676E + 3314 65642069 + 3315 .LASF51: + 3316 0042 68646D61 .string "hdma_send_req_start" + 3316 5F73656E + 3316 645F7265 + 3316 715F7374 + 3316 61727400 + 3317 .LASF26: + 3318 0056 61646472 .string "addr" + 3318 00 + 3319 .LASF37: + 3320 005b 745F6864 .string "t_hdma_descr_arr" + 3320 6D615F64 + 3320 65736372 + 3320 5F617272 + 3320 00 + 3321 .LASF10: + BFIN GAS /tmp/ccZiL1p8.s page 73 + + + 3322 006c 6C6F6E67 .string "long long int" + 3322 206C6F6E + 3322 6720696E + 3322 7400 + 3323 .LASF0: + 3324 007a 7369676E .string "signed char" + 3324 65642063 + 3324 68617200 + 3325 .LASF13: + 3326 0086 4C353032 .string "L502_BF_CMD_STATUS_IDLE" + 3326 5F42465F + 3326 434D445F + 3326 53544154 + 3326 55535F49 + 3327 .LASF45: + 3328 009e 7373796E .string "ssync" + 3328 6300 + 3329 .LASF23: + 3330 00a4 745F6C35 .string "t_l502_bf_cmd" + 3330 30325F62 + 3330 665F636D + 3330 6400 + 3331 .LASF50: + 3332 00b2 68646D61 .string "hdma_recv_stop" + 3332 5F726563 + 3332 765F7374 + 3332 6F7000 + 3333 .LASF47: + 3334 00c1 68646D61 .string "hdma_send_start" + 3334 5F73656E + 3334 645F7374 + 3334 61727400 + 3335 .LASF7: + 3336 00d1 6C6F6E67 .string "long int" + 3336 20696E74 + 3336 00 + 3337 .LASF33: + 3338 00da 75646174 .string "udata" + 3338 6100 + 3339 .LASF36: + 3340 00e0 6F75745F .string "out_lb" + 3340 6C6200 + 3341 .LASF4: + 3342 00e7 75696E74 .string "uint16_t" + 3342 31365F74 + 3342 00 + 3343 .LASF29: + 3344 00f0 79636E74 .string "ycnt" + 3344 00 + 3345 .LASF15: + 3346 00f5 4C353032 .string "L502_BF_CMD_STATUS_PROGRESS" + 3346 5F42465F + 3346 434D445F + 3346 53544154 + 3346 55535F50 + 3347 .LASF34: + 3348 0111 745F6864 .string "t_hdma_stream_descr" + BFIN GAS /tmp/ccZiL1p8.s page 74 + + + 3348 6D615F73 + 3348 74726561 + 3348 6D5F6465 + 3348 73637200 + 3349 .LASF63: + 3350 0125 474E5520 .string "GNU C 4.3.5" + 3350 4320342E + 3350 332E3500 + 3351 .LASF65: + 3352 0131 2F686F6D .string "/home/feda/MIPT/RadioPhotonic_Subserface_radar/ADC_computing/BFfirmware_0" + 3352 652F6665 + 3352 64612F4D + 3352 4950542F + 3352 52616469 + 3353 .LASF12: + 3354 017b 756E7369 .string "unsigned int" + 3354 676E6564 + 3354 20696E74 + 3354 00 + 3355 .LASF9: + 3356 0188 6C6F6E67 .string "long unsigned int" + 3356 20756E73 + 3356 69676E65 + 3356 6420696E + 3356 7400 + 3357 .LASF27: + 3358 019a 78636E74 .string "xcnt" + 3358 00 + 3359 .LASF22: + 3360 019f 64617461 .string "data" + 3360 00 + 3361 .LASF42: + 3362 01a4 73697A65 .string "size" + 3362 00 + 3363 .LASF5: + 3364 01a9 73686F72 .string "short unsigned int" + 3364 7420756E + 3364 7369676E + 3364 65642069 + 3364 6E7400 + 3365 .LASF64: + 3366 01bc 7372632F .string "src/l502_hdma.c" + 3366 6C353032 + 3366 5F68646D + 3366 612E6300 + 3367 .LASF25: + 3368 01cc 66756C6C .string "full_size" + 3368 5F73697A + 3368 6500 + 3369 .LASF21: + 3370 01d6 64617461 .string "data_size" + 3370 5F73697A + 3370 6500 + 3371 .LASF56: + 3372 01e0 665F736E .string "f_snd_start_id" + 3372 645F7374 + 3372 6172745F + BFIN GAS /tmp/ccZiL1p8.s page 75 + + + 3372 696400 + 3373 .LASF38: + 3374 01ef 68646D61 .string "hdma" + 3374 00 + 3375 .LASF54: + 3376 01f4 68646D61 .string "hdma_init" + 3376 5F696E69 + 3376 7400 + 3377 .LASF19: + 3378 01fe 70617261 .string "param" + 3378 6D00 + 3379 .LASF30: + 3380 0204 796D6F64 .string "ymod" + 3380 00 + 3381 .LASF35: + 3382 0209 696E5F6C .string "in_lb" + 3382 6200 + 3383 .LASF44: + 3384 020f 68646D61 .string "hdma_recv_req_rdy" + 3384 5F726563 + 3384 765F7265 + 3384 715F7264 + 3384 7900 + 3385 .LASF52: + 3386 0221 68646D61 .string "hdma_recv_req_start" + 3386 5F726563 + 3386 765F7265 + 3386 715F7374 + 3386 61727400 + 3387 .LASF61: + 3388 0235 665F7263 .string "f_rcv_next_descr" + 3388 765F6E65 + 3388 78745F64 + 3388 65736372 + 3388 00 + 3389 .LASF6: + 3390 0246 696E7433 .string "int32_t" + 3390 325F7400 + 3391 .LASF1: + 3392 024e 756E7369 .string "unsigned char" + 3392 676E6564 + 3392 20636861 + 3392 7200 + 3393 .LASF28: + 3394 025c 786D6F64 .string "xmod" + 3394 00 + 3395 .LASF2: + 3396 0261 73686F72 .string "short int" + 3396 7420696E + 3396 7400 + 3397 .LASF43: + 3398 026b 68646D61 .string "hdma_send_req_rdy" + 3398 5F73656E + 3398 645F7265 + 3398 715F7264 + 3398 7900 + 3399 .LASF60: + BFIN GAS /tmp/ccZiL1p8.s page 76 + + + 3400 027d 665F736E .string "f_snd_next_descr" + 3400 645F6E65 + 3400 78745F64 + 3400 65736372 + 3400 00 + 3401 .LASF32: + 3402 028e 76616C69 .string "valid" + 3402 6400 + 3403 .LASF67: + 3404 0294 675F7374 .string "g_state" + 3404 61746500 + 3405 .LASF8: + 3406 029c 75696E74 .string "uint32_t" + 3406 33325F74 + 3406 00 + 3407 .LASF40: + 3408 02a5 63686172 .string "char" + 3408 00 + 3409 .LASF49: + 3410 02aa 68646D61 .string "hdma_recv_start" + 3410 5F726563 + 3410 765F7374 + 3410 61727400 + 3411 .LASF46: + 3412 02ba 6373796E .string "csync" + 3412 6300 + 3413 .LASF41: + 3414 02c0 64657363 .string "descr_arr" + 3414 725F6172 + 3414 7200 + 3415 .LASF58: + 3416 02ca 665F736E .string "f_snd_done_id" + 3416 645F646F + 3416 6E655F69 + 3416 6400 + 3417 .LASF31: + 3418 02d8 6E657874 .string "next_descr" + 3418 5F646573 + 3418 637200 + 3419 .LASF17: + 3420 02e3 636F6465 .string "code" + 3420 00 + 3421 .LASF18: + 3422 02e8 73746174 .string "status" + 3422 757300 + 3423 .LASF66: + 3424 02ef 68646D61 .string "hdma_set_descr" + 3424 5F736574 + 3424 5F646573 + 3424 637200 + 3425 .LASF57: + 3426 02fe 665F7263 .string "f_rcv_start_id" + 3426 765F7374 + 3426 6172745F + 3426 696400 + 3427 .LASF3: + 3428 030d 75696E74 .string "uint8_t" + BFIN GAS /tmp/ccZiL1p8.s page 77 + + + 3428 385F7400 + 3429 .LASF24: + 3430 0315 666C6167 .string "flags" + 3430 7300 + 3431 .LASF39: + 3432 031b 745F6C35 .string "t_l502_board_state" + 3432 30325F62 + 3432 6F617264 + 3432 5F737461 + 3432 746500 + 3433 .LASF48: + 3434 032e 68646D61 .string "hdma_send_stop" + 3434 5F73656E + 3434 645F7374 + 3434 6F7000 + 3435 .LASF14: + 3436 033d 4C353032 .string "L502_BF_CMD_STATUS_REQ" + 3436 5F42465F + 3436 434D445F + 3436 53544154 + 3436 55535F52 + 3437 .LASF55: + 3438 0354 68646D61 .string "hdma_isr" + 3438 5F697372 + 3438 00 + 3439 .LASF16: + 3440 035d 4C353032 .string "L502_BF_CMD_STATUS_DONE" + 3440 5F42465F + 3440 434D445F + 3440 53544154 + 3440 55535F44 + 3441 .LASF20: + 3442 0375 72657375 .string "result" + 3442 6C7400 + 3443 .ident "GCC: (ADI-2014R1-RC2) 4.3.5" + BFIN GAS /tmp/ccZiL1p8.s page 78 + + +DEFINED SYMBOLS + *ABS*:0000000000000000 src/l502_hdma.c + /tmp/ccZiL1p8.s:13 .text:0000000000000000 _hdma_send_start + /tmp/ccZiL1p8.s:1007 .bss:0000000000000000 _f_snd_start_id + /tmp/ccZiL1p8.s:1011 .bss:0000000000000004 _f_snd_done_id + /tmp/ccZiL1p8.s:1013 .bss:0000000000000008 _f_snd_next_descr + /tmp/ccZiL1p8.s:52 .text:0000000000000044 _hdma_send_stop + /tmp/ccZiL1p8.s:72 .text:000000000000005c _hdma_recv_start + /tmp/ccZiL1p8.s:1009 .bss:0000000000000002 _f_rcv_start_id + /tmp/ccZiL1p8.s:1013 .bss:0000000000000006 _f_rcv_done_id + /tmp/ccZiL1p8.s:1015 .bss:0000000000000009 _f_rcv_next_descr + /tmp/ccZiL1p8.s:1017 .bss:000000000000000a _f_rcv_done_descr + /tmp/ccZiL1p8.s:114 .text:00000000000000ac _hdma_recv_stop + /tmp/ccZiL1p8.s:134 .text:00000000000000c4 _hdma_send_req_rdy + /tmp/ccZiL1p8.s:158 .text:00000000000000ec _hdma_recv_req_rdy + /tmp/ccZiL1p8.s:182 .text:0000000000000114 _hdma_send_req_start + /tmp/ccZiL1p8.s:328 .text:00000000000001b4 _hdma_recv_req_start + /tmp/ccZiL1p8.s:467 .text:0000000000000258 _hdma_rd_isr + /tmp/ccZiL1p8.s:522 .text:000000000000029c _hdma_init + /tmp/ccZiL1p8.s:774 .text:0000000000000458 _hdma_isr + +UNDEFINED SYMBOLS +_g_state +_hdma_recv_done +_hdma_send_done +_l502_cmd_set_req diff --git a/build/release/lst/l502_init.lst b/build/release/lst/l502_init.lst new file mode 100644 index 0000000..70457a7 --- /dev/null +++ b/build/release/lst/l502_init.lst @@ -0,0 +1,3093 @@ +BFIN GAS /tmp/cc0bhzXF.s page 1 + + + 1 .file "src/l502_init.c"; + 2 .section .debug_abbrev,"",@progbits + 3 .Ldebug_abbrev0: + 4 .section .debug_info,"",@progbits + 5 .Ldebug_info0: + 6 .section .debug_line,"",@progbits + 7 .Ldebug_line0: + 8 0000 BE010000 .text; + 8 0200D900 + 8 00000101 + 8 FB0E0D00 + 8 01010101 + 9 .Ltext0: + 10 .align 4 + 11 .global _l502_otp_make_invalid; + 12 .type _l502_otp_make_invalid, STT_FUNC; + 13 _l502_otp_make_invalid: + 14 .LFB17: + 15 .file 1 "src/l502_init.c" + 1:src/l502_init.c **** #include + 2:src/l502_init.c **** #include + 3:src/l502_init.c **** #include + 4:src/l502_init.c **** #include + 5:src/l502_init.c **** #include + 6:src/l502_init.c **** #include + 7:src/l502_init.c **** + 8:src/l502_init.c **** + 9:src/l502_init.c **** + 10:src/l502_init.c **** + 11:src/l502_init.c **** #include "l502_cdefs.h" + 12:src/l502_init.c **** #include "l502_fpga.h" + 13:src/l502_init.c **** #include "l502_hdma.h" + 14:src/l502_init.c **** + 15:src/l502_init.c **** ISR(isr_sport_dma_rx); + 16:src/l502_init.c **** ISR(isr_sport_dma_tx); + 17:src/l502_init.c **** + 18:src/l502_init.c **** + 19:src/l502_init.c **** void l502_stream_init(void); + 20:src/l502_init.c **** + 21:src/l502_init.c **** /* fVCO = 530 MHZ = (20/2)*53, CDIV=1, SDIV = 4 => SCLK = 132.5 MHz */ + 22:src/l502_init.c **** #define L502_PLL_CTL (SET_MSEL(53) | DF) + 23:src/l502_init.c **** #define L502_PLL_DIV (SET_SSEL(4) | CSEL_DIV1) + 24:src/l502_init.c **** + 25:src/l502_init.c **** /* конфигурим SDRAM + 26:src/l502_init.c **** * RDIV=((117964,8*64ms)/8192)-(6+3)=912 // по логике - это последняя конфигурация + 27:src/l502_init.c **** * кстати - возможно не 8192, а 4096, в таком случае 1834 + 28:src/l502_init.c **** */ + 29:src/l502_init.c **** #define L502_SDRAM_SDRRC (((132500000 / 1000) * 64) / 8192 - (6 + 3)) + 30:src/l502_init.c **** /* размер памяти - 32 Мб, 9 бит - под адрес колонки */ + 31:src/l502_init.c **** #define L502_SDRAM_SDBCTL (EBE | EBSZ_32 | EBCAW_9) + 32:src/l502_init.c **** /* CAS latency=3, хотя можно и 2 - чем меньше тем лучше (правда при этом глюки появляются!!!!) + 33:src/l502_init.c **** * PASR_ALL - тоже для SDRAM с 2.5 В - экономия энергии, поэтому рефрешим все + 34:src/l502_init.c **** * tRAS(min)=45 нс (при частоте 120 Мгц - 6 тактов) + 35:src/l502_init.c **** * tRP(min)=20 нс (при частоте 120 Мгц - 3 тактов) + 36:src/l502_init.c **** * tRCD(min)=20 нс (при частоте 120 Мгц - 3 тактов) + 37:src/l502_init.c **** * tWR - хз, на вскидку 2 + 38:src/l502_init.c **** * POWER startup delay - не нужна + BFIN GAS /tmp/cc0bhzXF.s page 2 + + + 39:src/l502_init.c **** * PSS - power SDRAM - должно быть + 40:src/l502_init.c **** * SRFS - нужна для перевода SDRAM в режим пониженного энергопотребления 0 не нужно + 41:src/l502_init.c **** * EBUFE=0 - только один чип SDRAM + 42:src/l502_init.c **** * FBBRW=0 - для того, чтобы чтение сразу шло за записью, может не работать - попробовать позже + 43:src/l502_init.c **** * EMREN=0 - тоже для SDRAM с 2.5 В - экономия энергии + 44:src/l502_init.c **** * TCSR=0 - тоже для SDRAM с 2.5 В - экономия энергии + 45:src/l502_init.c **** * CDDBG=0 - по моему сотекщд signals не расшарены + 46:src/l502_init.c **** */ + 47:src/l502_init.c **** #define L502_SDRAM_SDGCTL (SCTLE | CL_2 | PASR_ALL | TRAS_6 | TRP_3 | TRCD_3 | TWR_2 | PSS) + 48:src/l502_init.c **** + 49:src/l502_init.c **** + 50:src/l502_init.c **** uint32_t l502_otp_make_invalid(uint32_t page) { + 16 .loc 1 50 0 + 17 .LVL0: + 18 0000 7805 [--sp] = ( r7:7 ); + 19 + 20 .LCFI0: + 21 0002 3830 R7 = R0; + 51:src/l502_init.c **** uint32_t err = bfrom_OtpCommand(OTP_INIT, (0x0A548800 | 133)); + 22 .loc 1 51 0 + 23 0004 41E1540A R1.H = 2644; + 24 0008 4AE100EF P2.H = 61184; + 50:src/l502_init.c **** uint32_t l502_otp_make_invalid(uint32_t page) { + 25 .loc 1 50 0 + 26 000c 00E80500 LINK 20; + 27 .LCFI1: + 28 .loc 1 51 0 + 29 0010 0860 R0 = 1 (X); + 30 .LVL1: + 31 0012 01E18588 R1.L = 34949; + 32 0016 0AE11800 P2.L = 24; + 33 001a 6200 call (P2); + 52:src/l502_init.c **** if(!err) { + 34 .loc 1 52 0 + 35 001c 000C cc =R0==0; + 36 .LVL2: + 37 001e 0F14 if !cc jump .L2 (bp); + 38 .LBB17: + 53:src/l502_init.c **** uint64_t val = (uint64_t)3 << OTP_INVALID_P; + 39 .loc 1 53 0 + 40 0020 F963 R1 = -1 (X); + 41 0022 0060 R0 = 0 (X); + 42 .LVL3: + 43 0024 F14F R1 <<= 30; + 44 0026 E0BB [FP+-8] = R0; + 45 .LVL4: + 46 0028 F1BB [FP+-4] = R1; + 47 .LVL5: + 54:src/l502_init.c **** err = bfrom_OtpWrite(page, OTP_LOWER_HALF | OTP_NO_ECC, &val); + 48 .loc 1 54 0 + 49 002a 5730 R2 = FP; + 50 002c 4AE100EF P2.H = 61184; + 51 0030 0730 R0 = R7; + 52 0032 8160 R1 = 16 (X); + 53 0034 C267 R2 += -8; + 54 0036 0AE11C00 P2.L = 28; + 55 003a 6200 call (P2); + BFIN GAS /tmp/cc0bhzXF.s page 3 + + + 56 .LVL6: + 57 .L2: + 58 .LBE17: + 55:src/l502_init.c **** } + 56:src/l502_init.c **** return err; + 57:src/l502_init.c **** } + 59 .loc 1 57 0 + 60 003c 01E80000 UNLINK; + 61 .LVL7: + 62 0040 3805 ( r7:7 ) = [sp++]; + 63 + 64 .LCFI2: + 65 .LVL8: + 66 0042 1000 rts; + 67 .LFE17: + 68 .size _l502_otp_make_invalid, .-_l502_otp_make_invalid + 69 .align 4 + 70 .global _l502_setup_pll; + 71 .type _l502_setup_pll, STT_FUNC; + 72 _l502_setup_pll: + 73 .LFB18: + 58:src/l502_init.c **** + 59:src/l502_init.c **** /* Настройка частоты BlackFin'a */ + 60:src/l502_init.c **** void l502_setup_pll(void) { + 74 .loc 1 60 0 + 75 0044 00E80600 LINK 24; + 76 .LCFI3: + 61:src/l502_init.c **** ADI_SYSCTRL_VALUES sysctl; + 62:src/l502_init.c **** sysctl.uwPllCtl = L502_PLL_CTL; + 77 .loc 1 62 0 + 78 0048 20E1016A R0 = 27137 (X); + 79 004c 78E6FBFF W [FP+-10] = R0; + 63:src/l502_init.c **** bfrom_SysControl(SYSCTRL_WRITE | SYSCTRL_PLLCTL, &sysctl, 0); + 80 .loc 1 63 0 + 81 0050 4F30 R1 = FP; + 82 0052 4AE100EF P2.H = 61184; + 83 0056 20E10101 R0 = 257 (X); + 84 005a A167 R1 += -12; + 85 005c 0260 R2 = 0 (X); + 86 005e 0AE13800 P2.L = 56; + 87 0062 6200 call (P2); + 64:src/l502_init.c **** } + 88 .loc 1 64 0 + 89 0064 01E80000 UNLINK; + 90 0068 1000 rts; + 91 .LFE18: + 92 .size _l502_setup_pll, .-_l502_setup_pll + 93 006a 0000 .align 4 + 94 .global _l502_otp_write_cfg; + 95 .type _l502_otp_write_cfg, STT_FUNC; + 96 _l502_otp_write_cfg: + 97 .LFB19: + 65:src/l502_init.c **** + 66:src/l502_init.c **** /* Запись настроек PLL и SDRAM в блок OTP, начиная с заданной страницы */ + 67:src/l502_init.c **** uint32_t l502_otp_write_cfg(uint32_t first_page) { + 98 .loc 1 67 0 + 99 .LVL9: + BFIN GAS /tmp/cc0bhzXF.s page 4 + + + 100 006c ED05 [--sp] = ( r7:5, p5:5 ); + 101 + 102 .LCFI4: + 103 006e 3030 R6 = R0; + 68:src/l502_init.c **** uint32_t err = bfrom_OtpCommand(OTP_INIT, (0x0A548800 | 133)); + 104 .loc 1 68 0 + 105 0070 41E1540A R1.H = 2644; + 106 0074 4AE100EF P2.H = 61184; + 67:src/l502_init.c **** uint32_t l502_otp_write_cfg(uint32_t first_page) { + 107 .loc 1 67 0 + 108 0078 00E80700 LINK 28; + 109 .LCFI5: + 110 .loc 1 68 0 + 111 007c 0860 R0 = 1 (X); + 112 .LVL10: + 113 007e 01E18588 R1.L = 34949; + 114 0082 0AE11800 P2.L = 24; + 115 0086 6200 call (P2); + 116 0088 3830 R7 = R0; + 117 .LVL11: + 69:src/l502_init.c **** uint64_t val = 0; + 70:src/l502_init.c **** if (!err) { + 118 .loc 1 70 0 + 119 008a 000C cc =R0==0; + 120 008c 0618 if cc jump .L12; + 121 .LVL12: + 122 .L8: + 71:src/l502_init.c **** val = ((uint64_t)L502_PLL_DIV << OTP_PLL_DIV_P) | ((uint64_t)L502_PLL_CTL << OTP_PLL_CTL_P) + 72:src/l502_init.c **** | ((uint64_t)OTP_SET_PLL_M<< 32)| ((uint64_t)OTP_LOAD_PBS02L_M<<32); + 73:src/l502_init.c **** err = bfrom_OtpWrite(first_page, OTP_LOWER_HALF | OTP_CHECK_FOR_PREV_WRITE, &val); + 74:src/l502_init.c **** if (!err) { + 75:src/l502_init.c **** val = ((uint64_t)L502_SDRAM_SDRRC << OTP_EBIU_SDRCC_P) | ((uint64_t)L502_SDRAM_SDBCTL < + 76:src/l502_init.c **** | ((uint64_t)L502_SDRAM_SDGCTL << OTP_EBIU_SDGCTL_P); + 77:src/l502_init.c **** err = bfrom_OtpWrite(PBS02-PBS00+first_page, OTP_LOWER_HALF + 78:src/l502_init.c **** | OTP_CHECK_FOR_PREV_WRITE, &val); + 79:src/l502_init.c **** } + 80:src/l502_init.c **** + 81:src/l502_init.c **** /* если была ошибка - делаем недействительным весь блок */ + 82:src/l502_init.c **** if (err) + 83:src/l502_init.c **** l502_otp_make_invalid(first_page); + 84:src/l502_init.c **** } + 85:src/l502_init.c **** return err; + 86:src/l502_init.c **** + 87:src/l502_init.c **** } + 123 .loc 1 87 0 + 124 008e 0730 R0 = R7; + 125 .LVL13: + 126 0090 01E80000 UNLINK; + 127 0094 AD05 ( r7:5, p5:5 ) = [sp++]; + 128 + 129 .LCFI6: + 130 .LVL14: + 131 0096 1000 rts; + 132 .LVL15: + 133 .L12: + 71:src/l502_init.c **** val = ((uint64_t)L502_PLL_DIV << OTP_PLL_DIV_P) | ((uint64_t)L502_PLL_CTL << OTP_PLL_CTL_P) + 134 .loc 1 71 0 + BFIN GAS /tmp/cc0bhzXF.s page 5 + + + 135 0098 20E1016A R0 = 27137 (X); + 136 .LVL16: + 137 009c 2160 R1 = 4 (X); + 138 009e 804F R0 <<= 16; + 139 00a0 41E10404 R1.H = 1028; + 73:src/l502_init.c **** err = bfrom_OtpWrite(first_page, OTP_LOWER_HALF | OTP_CHECK_FOR_PREV_WRITE, &val); + 140 .loc 1 73 0 + 141 00a4 6F30 R5 = FP; + 71:src/l502_init.c **** val = ((uint64_t)L502_PLL_DIV << OTP_PLL_DIV_P) | ((uint64_t)L502_PLL_CTL << OTP_PLL_CTL_P) + 142 .loc 1 71 0 + 143 00a6 E0BB [FP+-8] = R0; + 144 .LVL17: + 145 00a8 F1BB [FP+-4] = R1; + 146 .LVL18: + 73:src/l502_init.c **** err = bfrom_OtpWrite(first_page, OTP_LOWER_HALF | OTP_CHECK_FOR_PREV_WRITE, &val); + 147 .loc 1 73 0 + 148 00aa C567 R5 += -8; + 149 00ac 4DE100EF P5.H = 61184; + 150 00b0 0DE11C00 P5.L = 28; + 151 00b4 0630 R0 = R6; + 152 00b6 21E18000 R1 = 128 (X); + 153 00ba 1530 R2 = R5; + 154 00bc 6500 call (P5); + 155 00be 3830 R7 = R0; + 74:src/l502_init.c **** if (!err) { + 156 .loc 1 74 0 + 157 00c0 000C cc =R0==0; + 158 00c2 1C18 if cc jump .L13; + 159 .LVL19: + 160 .L9: + 161 .LBB21: + 51:src/l502_init.c **** uint32_t err = bfrom_OtpCommand(OTP_INIT, (0x0A548800 | 133)); + 162 .loc 1 51 0 + 163 00c4 41E1540A R1.H = 2644; + 164 00c8 4AE100EF P2.H = 61184; + 165 00cc 0860 R0 = 1 (X); + 166 .LVL20: + 167 00ce 01E18588 R1.L = 34949; + 168 00d2 0AE11800 P2.L = 24; + 169 00d6 6200 call (P2); + 170 .LBB22: + 52:src/l502_init.c **** if(!err) { + 171 .loc 1 52 0 + 172 00d8 000C cc =R0==0; + 173 .LVL21: + 174 00da DA17 if !cc jump .L8 (bp); + 175 .LBB23: + 53:src/l502_init.c **** uint64_t val = (uint64_t)3 << OTP_INVALID_P; + 176 .loc 1 53 0 + 177 00dc F963 R1 = -1 (X); + 178 00de 0060 R0 = 0 (X); + 179 .LVL22: + 180 00e0 F14F R1 <<= 30; + 181 00e2 C0BB [FP+-16] = R0; + 182 .LVL23: + 183 00e4 D1BB [FP+-12] = R1; + 184 .LVL24: + BFIN GAS /tmp/cc0bhzXF.s page 6 + + + 54:src/l502_init.c **** err = bfrom_OtpWrite(page, OTP_LOWER_HALF | OTP_NO_ECC, &val); + 185 .loc 1 54 0 + 186 00e6 5730 R2 = FP; + 187 00e8 4AE100EF P2.H = 61184; + 188 00ec 0630 R0 = R6; + 189 00ee 8160 R1 = 16 (X); + 190 00f0 8267 R2 += -16; + 191 00f2 0AE11C00 P2.L = 28; + 192 00f6 6200 call (P2); + 193 00f8 CB2F jump.s .L8; + 194 .LVL25: + 195 .L13: + 196 .LBE23: + 197 .LBE22: + 198 .LBE21: + 75:src/l502_init.c **** val = ((uint64_t)L502_SDRAM_SDRRC << OTP_EBIU_SDRCC_P) | ((uint64_t)L502_SDRAM_SDBCTL < + 199 .loc 1 75 0 + 200 00fa 40E19100 R0.H = 145; + 201 .LVL26: + 202 00fe 00E18999 R0.L = 39305; + 203 0102 9960 R1 = 19 (X); + 204 0104 41E10204 R1.H = 1026; + 205 0108 E0BB [FP+-8] = R0; + 206 .LVL27: + 207 010a F1BB [FP+-4] = R1; + 208 .LVL28: + 77:src/l502_init.c **** err = bfrom_OtpWrite(PBS02-PBS00+first_page, OTP_LOWER_HALF + 209 .loc 1 77 0 + 210 010c 0630 R0 = R6; + 211 010e 1064 R0 += 2; + 212 0110 21E18000 R1 = 128 (X); + 213 0114 1530 R2 = R5; + 214 0116 6500 call (P5); + 215 0118 3830 R7 = R0; + 82:src/l502_init.c **** if (err) + 216 .loc 1 82 0 + 217 011a 000C cc =R0==0; + 218 011c D413 if !cc jump .L9; + 219 .LVL29: + 220 .loc 1 87 0 + 221 011e 0730 R0 = R7; + 222 .LVL30: + 223 0120 01E80000 UNLINK; + 224 0124 AD05 ( r7:5, p5:5 ) = [sp++]; + 225 + 226 .LCFI7: + 227 .LVL31: + 228 0126 1000 rts; + 229 .LFE19: + 230 .size _l502_otp_write_cfg, .-_l502_otp_write_cfg + 231 .align 4 + 232 .global _l502_otp_init; + 233 .type _l502_otp_init, STT_FUNC; + 234 _l502_otp_init: + 235 .LFB20: + 88:src/l502_init.c **** + 89:src/l502_init.c **** + BFIN GAS /tmp/cc0bhzXF.s page 7 + + + 90:src/l502_init.c **** + 91:src/l502_init.c **** /* Проверяем, есть ли действтиельные настройки PLL и SDRAM в OTP. Если нет, + 92:src/l502_init.c **** то записываем их в OTP и инициализируем PLL вручную */ + 93:src/l502_init.c **** void l502_otp_init(void) { + 236 .loc 1 93 0 + 237 0128 E305 [--sp] = ( r7:4, p5:3 ); + 238 + 239 .LCFI8: + 240 012a 00E80C00 LINK 48; + 241 .LCFI9: + 242 012e 6732 P4 = FP; + 243 .LBB34: + 94:src/l502_init.c **** uint32_t err=0, page, fnd=0, pll_setup=0; + 95:src/l502_init.c **** + 96:src/l502_init.c **** //err = l502_otp_make_invalid(PBS00); + 97:src/l502_init.c **** + 98:src/l502_init.c **** /* ищем первый действительный блок настройки загрузки */ + 99:src/l502_init.c **** for (page = PBS00; !(fnd && !err) && (page < 0xD8); page += 4) { + 100:src/l502_init.c **** uint64_t val; + 101:src/l502_init.c **** err = bfrom_OtpRead(page, OTP_LOWER_HALF, &val); + 244 .loc 1 101 0 + 245 0130 4DE100EF P5.H = 61184; + 246 .LBB36: + 73:src/l502_init.c **** err = bfrom_OtpWrite(first_page, OTP_LOWER_HALF | OTP_CHECK_FOR_PREV_WRITE, &val); + 247 .loc 1 73 0 + 248 0134 4BE100EF P3.H = 61184; + 249 .LBE36: + 250 .LBE34: + 93:src/l502_init.c **** void l502_otp_init(void) { + 251 .loc 1 93 0 + 252 0138 C660 R6 = 24 (X); + 253 .LVL32: + 254 013a 0560 R5 = 0 (X); + 255 .LVL33: + 256 013c 0460 R4 = 0 (X); + 257 .LVL34: + 258 013e C46F P4 += -8; + 259 .LBB50: + 260 .loc 1 101 0 + 261 0140 0DE11A00 P5.L = 26; + 262 .LBB45: + 73:src/l502_init.c **** err = bfrom_OtpWrite(first_page, OTP_LOWER_HALF | OTP_CHECK_FOR_PREV_WRITE, &val); + 263 .loc 1 73 0 + 264 0144 0BE11C00 P3.L = 28; + 265 .LVL35: + 266 .L24: + 267 .LBE45: + 268 .loc 1 101 0 + 269 0148 0630 R0 = R6; + 270 .LVL36: + 271 014a 0160 R1 = 0 (X); + 272 014c 5430 R2 = P4; + 273 014e 6500 call (P5); + 274 0150 3830 R7 = R0; + 102:src/l502_init.c **** if (!err && !((val>>OTP_INVALID_P)&0x3)) { + 275 .loc 1 102 0 + 276 0152 000C cc =R0==0; + BFIN GAS /tmp/cc0bhzXF.s page 8 + + + 277 0154 5914 if !cc jump .L15 (bp); + 278 .LVL37: + 279 0156 F1B9 R1 = [FP+-4]; + 280 0158 82CE1181 R0 = R1 >> 30 || + 280 E2B90000 + 281 R2 = [FP+-8] || + 282 nop; + 283 .LVL38: + 284 0160 000C cc =R0==0; + 285 0162 5214 if !cc jump .L15 (bp); + 103:src/l502_init.c **** fnd = 1; + 104:src/l502_init.c **** if (!val) { + 286 .loc 1 104 0 + 287 0164 0A56 R0 = R2 | R1; + 288 0166 000C cc =R0==0; + 289 0168 1714 if !cc jump .L16 (bp); + 105:src/l502_init.c **** /* если блок с настройками не был записан => PLL записываем + 106:src/l502_init.c **** вручную и записываем настройки для корректной инициализации + 107:src/l502_init.c **** в дальнейшем */ + 108:src/l502_init.c **** if (!pll_setup) { + 290 .loc 1 108 0 + 291 016a 040C cc =R4==0; + 292 016c 5118 if cc jump .L29; + 293 .L17: + 294 .LBB46: + 68:src/l502_init.c **** uint32_t err = bfrom_OtpCommand(OTP_INIT, (0x0A548800 | 133)); + 295 .loc 1 68 0 + 296 016e 41E1540A R1.H = 2644; + 297 0172 4AE100EF P2.H = 61184; + 298 0176 01E18588 R1.L = 34949; + 299 017a 0860 R0 = 1 (X); + 300 017c 0AE11800 P2.L = 24; + 301 0180 6200 call (P2); + 302 0182 3830 R7 = R0; + 303 .LBB39: + 69:src/l502_init.c **** uint64_t val = 0; + 304 .loc 1 69 0 + 305 0184 0060 R0 = 0 (X); + 306 0186 00CC09C2 R1 = R1 -|- R1 || + 306 C0BB0000 + 307 [FP+-16] = R0 || + 308 nop; + 309 .LVL39: + 310 018e D1BB [FP+-12] = R1; + 311 .LVL40: + 70:src/l502_init.c **** if (!err) { + 312 .loc 1 70 0 + 313 0190 070C cc =R7==0; + 314 0192 1218 if cc jump .L30; + 315 .LVL41: + 316 .L21: + 317 .LBE39: + 318 .LBE46: + 109:src/l502_init.c **** l502_setup_pll(); + 110:src/l502_init.c **** pll_setup = 1; + 111:src/l502_init.c **** } + 112:src/l502_init.c **** err = l502_otp_write_cfg(page); + BFIN GAS /tmp/cc0bhzXF.s page 9 + + + 113:src/l502_init.c **** page+=4; + 319 .loc 1 113 0 + 320 0194 2664 R6 += 4; + 321 .L16: + 322 .LBE50: + 99:src/l502_init.c **** for (page = PBS00; !(fnd && !err) && (page < 0xD8); page += 4) { + 323 .loc 1 99 0 + 324 0196 2664 R6 += 4; + 325 0198 0D60 R5 = 1 (X); + 326 .LVL42: + 327 .L26: + 328 019a 070C cc =R7==0; + 329 019c 0918 if cc jump .L27; + 330 .L22: + 331 019e 21E1D700 R1 = 215 (X); + 332 01a2 0E0A cc =R6<=R1 (iu); + 333 01a4 D21F if cc jump .L24 (bp); + 114:src/l502_init.c **** if (!err && (page< 0xD8)) { + 115:src/l502_init.c **** /* если есть место - то дописываем вторую копию, чтобы всегда + 116:src/l502_init.c **** быть уверенным, что если даже при первом чтении была ошибка, + 117:src/l502_init.c **** все загрузится нормально */ + 118:src/l502_init.c **** err = l502_otp_write_cfg(page); + 119:src/l502_init.c **** } + 120:src/l502_init.c **** } + 121:src/l502_init.c **** } + 122:src/l502_init.c **** } + 123:src/l502_init.c **** + 124:src/l502_init.c **** /* если все страницы настроек испорчены, то инициализируем PLL, + 125:src/l502_init.c **** так как скорее всего его система не проинициализировала */ + 126:src/l502_init.c **** if (!fnd && !pll_setup) { + 334 .loc 1 126 0 + 335 01a6 050C cc =R5==0; + 336 01a8 0310 if !cc jump .L27; + 337 01aa 040C cc =R4==0; + 338 01ac 5E18 if cc jump .L31; + 339 .L27: + 127:src/l502_init.c **** l502_setup_pll(); + 128:src/l502_init.c **** } + 129:src/l502_init.c **** + 130:src/l502_init.c **** } + 340 .loc 1 130 0 + 341 01ae 01E80000 UNLINK; + 342 01b2 A305 ( r7:4, p5:3 ) = [sp++]; + 343 + 344 .LCFI10: + 345 .LVL43: + 346 01b4 1000 rts; + 347 .LVL44: + 348 .L30: + 349 .LBB51: + 350 .LBB35: + 351 .LBB38: + 71:src/l502_init.c **** val = ((uint64_t)L502_PLL_DIV << OTP_PLL_DIV_P) | ((uint64_t)L502_PLL_CTL << OTP_PLL_CTL_P) + 352 .loc 1 71 0 + 353 01b6 20E1016A R0 = 27137 (X); + 354 01ba 2160 R1 = 4 (X); + 355 01bc 804F R0 <<= 16; + BFIN GAS /tmp/cc0bhzXF.s page 10 + + + 356 01be 41E10404 R1.H = 1028; + 357 01c2 C0BB [FP+-16] = R0; + 358 .LVL45: + 359 01c4 D1BB [FP+-12] = R1; + 360 .LVL46: + 361 .LBE38: + 73:src/l502_init.c **** err = bfrom_OtpWrite(first_page, OTP_LOWER_HALF | OTP_CHECK_FOR_PREV_WRITE, &val); + 362 .loc 1 73 0 + 363 01c6 5730 R2 = FP; + 364 01c8 0630 R0 = R6; + 365 01ca 21E18000 R1 = 128 (X); + 366 01ce 8267 R2 += -16; + 367 01d0 6300 call (P3); + 368 01d2 3830 R7 = R0; + 369 .LBB37: + 74:src/l502_init.c **** if (!err) { + 370 .loc 1 74 0 + 371 01d4 000C cc =R0==0; + 372 01d6 2C18 if cc jump .L32; + 373 .LVL47: + 374 .L19: + 375 .LBB40: + 51:src/l502_init.c **** uint32_t err = bfrom_OtpCommand(OTP_INIT, (0x0A548800 | 133)); + 376 .loc 1 51 0 + 377 01d8 41E1540A R1.H = 2644; + 378 01dc 4AE100EF P2.H = 61184; + 379 01e0 0860 R0 = 1 (X); + 380 .LVL48: + 381 01e2 01E18588 R1.L = 34949; + 382 01e6 0AE11800 P2.L = 24; + 383 01ea 6200 call (P2); + 384 .LBB41: + 52:src/l502_init.c **** if(!err) { + 385 .loc 1 52 0 + 386 01ec 000C cc =R0==0; + 387 .LVL49: + 388 01ee D317 if !cc jump .L21 (bp); + 389 .LBB42: + 53:src/l502_init.c **** uint64_t val = (uint64_t)3 << OTP_INVALID_P; + 390 .loc 1 53 0 + 391 01f0 F963 R1 = -1 (X); + 392 01f2 0060 R0 = 0 (X); + 393 .LVL50: + 394 01f4 F14F R1 <<= 30; + 395 01f6 A0BB [FP+-24] = R0; + 396 .LVL51: + 397 01f8 B1BB [FP+-20] = R1; + 398 .LVL52: + 54:src/l502_init.c **** err = bfrom_OtpWrite(page, OTP_LOWER_HALF | OTP_NO_ECC, &val); + 399 .loc 1 54 0 + 400 01fa 5730 R2 = FP; + 401 01fc 0630 R0 = R6; + 402 01fe 8160 R1 = 16 (X); + 403 0200 4267 R2 += -24; + 404 0202 6300 call (P3); + 405 0204 C82F jump.s .L21; + 406 .LVL53: + BFIN GAS /tmp/cc0bhzXF.s page 11 + + + 407 .L15: + 408 .LBE42: + 409 .LBE41: + 410 .LBE40: + 411 .LBE37: + 412 .LBE35: + 413 .LBE51: + 99:src/l502_init.c **** for (page = PBS00; !(fnd && !err) && (page < 0xD8); page += 4) { + 414 .loc 1 99 0 + 415 0206 2664 R6 += 4; + 416 0208 050C cc =R5==0; + 417 020a CA1F if cc jump .L22 (bp); + 418 020c C72F jump.s .L26; + 419 .LVL54: + 420 .L29: + 421 .LBB52: + 422 .LBB47: + 423 .LBB48: + 62:src/l502_init.c **** sysctl.uwPllCtl = L502_PLL_CTL; + 424 .loc 1 62 0 + 425 020e 20E1016A R0 = 27137 (X); + 426 0212 78E6EFFF W [FP+-34] = R0; + 63:src/l502_init.c **** bfrom_SysControl(SYSCTRL_WRITE | SYSCTRL_PLLCTL, &sysctl, 0); + 427 .loc 1 63 0 + 428 0216 4F30 R1 = FP; + 429 0218 4AE100EF P2.H = 61184; + 430 021c 20E10101 R0 = 257 (X); + 431 0220 E166 R1 += -36; + 432 0222 0260 R2 = 0 (X); + 433 0224 0AE13800 P2.L = 56; + 434 0228 6200 call (P2); + 435 022a 0C60 R4 = 1 (X); + 436 022c A12F jump.s .L17; + 437 .LVL55: + 438 .L32: + 439 .LBE48: + 440 .LBE47: + 441 .LBB49: + 442 .LBB43: + 75:src/l502_init.c **** val = ((uint64_t)L502_SDRAM_SDRRC << OTP_EBIU_SDRCC_P) | ((uint64_t)L502_SDRAM_SDBCTL < + 443 .loc 1 75 0 + 444 022e 40E19100 R0.H = 145; + 445 .LVL56: + 446 0232 00E18999 R0.L = 39305; + 447 0236 9960 R1 = 19 (X); + 448 0238 41E10204 R1.H = 1026; + 449 023c C0BB [FP+-16] = R0; + 450 .LVL57: + 451 023e D1BB [FP+-12] = R1; + 452 .LVL58: + 453 .LBE43: + 77:src/l502_init.c **** err = bfrom_OtpWrite(PBS02-PBS00+first_page, OTP_LOWER_HALF + 454 .loc 1 77 0 + 455 0240 0630 R0 = R6; + 456 0242 5730 R2 = FP; + 457 0244 1064 R0 += 2; + 458 0246 21E18000 R1 = 128 (X); + BFIN GAS /tmp/cc0bhzXF.s page 12 + + + 459 024a 8267 R2 += -16; + 460 024c 6300 call (P3); + 461 024e 3830 R7 = R0; + 462 .LBB44: + 82:src/l502_init.c **** if (err) + 463 .loc 1 82 0 + 464 0250 000C cc =R0==0; + 465 0252 C313 if !cc jump .L19; + 466 .LVL59: + 467 .LBE44: + 468 .LBE49: + 113:src/l502_init.c **** page+=4; + 469 .loc 1 113 0 + 470 0254 2664 R6 += 4; + 114:src/l502_init.c **** if (!err && (page< 0xD8)) { + 471 .loc 1 114 0 + 472 0256 20E1D700 R0 = 215 (X); + 473 .LVL60: + 474 025a 060A cc =R6<=R0 (iu); + 475 025c 9D17 if !cc jump .L16 (bp); + 118:src/l502_init.c **** err = l502_otp_write_cfg(page); + 476 .loc 1 118 0 + 477 025e 0630 R0 = R6; + 478 0260 FFE306FF call _l502_otp_write_cfg; + 479 0264 3830 R7 = R0; + 480 0266 982F jump.s .L16; + 481 .LVL61: + 482 .L31: + 483 .LBE52: + 484 .LBB53: + 485 .LBB54: + 62:src/l502_init.c **** sysctl.uwPllCtl = L502_PLL_CTL; + 486 .loc 1 62 0 + 487 0268 20E1016A R0 = 27137 (X); + 488 .LVL62: + 489 026c 78E6EFFF W [FP+-34] = R0; + 63:src/l502_init.c **** bfrom_SysControl(SYSCTRL_WRITE | SYSCTRL_PLLCTL, &sysctl, 0); + 490 .loc 1 63 0 + 491 0270 4F30 R1 = FP; + 492 0272 4AE100EF P2.H = 61184; + 493 0276 20E10101 R0 = 257 (X); + 494 027a E166 R1 += -36; + 495 027c 0260 R2 = 0 (X); + 496 027e 0AE13800 P2.L = 56; + 497 0282 6200 call (P2); + 498 .LBE54: + 499 .LBE53: + 500 .loc 1 130 0 + 501 0284 01E80000 UNLINK; + 502 0288 A305 ( r7:4, p5:3 ) = [sp++]; + 503 + 504 .LCFI11: + 505 .LVL63: + 506 028a 1000 rts; + 507 .LFE20: + 508 .size _l502_otp_init, .-_l502_otp_init + 509 .align 4 + BFIN GAS /tmp/cc0bhzXF.s page 13 + + + 510 .global _l502_init; + 511 .type _l502_init, STT_FUNC; + 512 _l502_init: + 513 .LFB21: + 131:src/l502_init.c **** + 132:src/l502_init.c **** void l502_init(void) { + 514 .loc 1 132 0 + 515 028c FD05 [--sp] = ( r7:7, p5:5 ); + 516 + 517 .LCFI12: + 518 028e 00E80300 LINK 12; + 519 .LCFI13: + 133:src/l502_init.c **** /* инициализация OTP-памяти и PLL, если эти значения не были уже + 134:src/l502_init.c **** * проинициализированны до этого. Если в OTP уже были нужные значения, то + 135:src/l502_init.c **** * SDRAM и PLL проинициализированы уже загрузочным кодом BlackFin */ + 136:src/l502_init.c **** l502_otp_init(); + 520 .loc 1 136 0 + 521 0292 FFE34BFF call _l502_otp_init; + 137:src/l502_init.c **** + 138:src/l502_init.c **** + 139:src/l502_init.c **** /* настройка SPI */ + 140:src/l502_init.c **** fpga_spi_init(); + 522 .loc 1 140 0 + 523 0296 FFE3B5FE call _fpga_spi_init; + 141:src/l502_init.c **** + 142:src/l502_init.c **** /* настройки SPORT0 */ + 143:src/l502_init.c **** *pSPORT0_TCLKDIV = 0; + 524 .loc 1 143 0 + 525 029a 4AE1C0FF P2.H = 65472; + 526 029e 0060 R0 = 0 (X); + 527 02a0 0AE10808 P2.L = 2056; + 528 02a4 1097 W [P2] = R0; + 144:src/l502_init.c **** *pSPORT0_RCLKDIV = 0; + 529 .loc 1 144 0 + 530 02a6 026D P2 += 32; + 531 02a8 1097 W [P2] = R0; + 145:src/l502_init.c **** + 146:src/l502_init.c **** /* clk - internal, fs - external, req, active high, early */ + 147:src/l502_init.c **** *pSPORT0_TCR1 = ITCLK | TFSR; //TCKFE-??? + 532 .loc 1 147 0 + 533 02aa 27E10204 R7 = 1026 (X); + 534 02ae C26E P2 += -40; + 535 02b0 1797 W [P2] = R7; + 148:src/l502_init.c **** *pSPORT0_RCR1 = IRCLK | RFSR | RCKFE; + 536 .loc 1 148 0 + 537 02b2 20E10244 R0 = 17410 (X); + 538 02b6 026D P2 += 32; + 539 02b8 1097 W [P2] = R0; + 149:src/l502_init.c **** /* len = 16 bit, secondary enable */ + 150:src/l502_init.c **** *pSPORT0_TCR2 = SLEN(15) | TXSE; + 540 .loc 1 150 0 + 541 02ba 20E10F01 R0 = 271 (X); + 542 02be 226F P2 += -28; + 543 02c0 1097 W [P2] = R0; + 151:src/l502_init.c **** *pSPORT0_RCR2 = SLEN(15) | RXSE; + 544 .loc 1 151 0 + 545 02c2 026D P2 += 32; + BFIN GAS /tmp/cc0bhzXF.s page 14 + + + 546 02c4 1097 W [P2] = R0; + 152:src/l502_init.c **** + 153:src/l502_init.c **** *pPORTF_MUX = (*pPORTF_MUX & 0xFFFC) | 1; + 547 .loc 1 153 0 + 548 02c6 4AE1C0FF P2.H = 65472; + 549 02ca 0AE11032 P2.L = 12816; + 550 02ce 1095 R0 = W [P2] (Z); + 551 02d0 E163 R1 = -4 (X); + 552 02d2 0854 R0 = R0 & R1; + 553 02d4 004A BITSET (R0, 0); + 554 02d6 1097 W [P2] = R0; + 154:src/l502_init.c **** *pPORTF_FER |= PF0 | PF1 | PF2 | PF3 | PF4 | PF5 | PF6 | PF7; + 555 .loc 1 154 0 + 556 02d8 826F P2 += -16; + 557 02da 1195 R1 = W [P2] (Z); + 558 02dc 20E1FF00 R0 = 255 (X); + 559 02e0 0856 R0 = R0 | R1; + 560 02e2 1097 W [P2] = R0; + 155:src/l502_init.c **** + 156:src/l502_init.c **** /* назначение SPORT RX на IVG7 */ + 157:src/l502_init.c **** *pSIC_IAR2 = (*pSIC_IAR2 & 0xFFFFFFF0UL) | P16_IVG(7); + 561 .loc 1 157 0 + 562 02e4 4AE1C0FF P2.H = 65472; + 563 02e8 0AE11801 P2.L = 280; + 564 02ec 1091 R0 = [P2]; + 565 02ee 8163 R1 = -16 (X); + 566 02f0 0854 R0 = R0 & R1; + 567 02f2 1093 [P2] = R0; + 568 .LBB55: + 569 .LBB56: + 570 .LBB57: + 571 .file 2 "/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib + 1:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** /* + 2:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** * Copyright (C) 2012 Analog Devices Inc. All rights reserved. + 3:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** * + 4:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** * Licensed under the Clear BSD license. + 5:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** * Please see COPYING.LIBGLOSS for details. + 6:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** */ + 7:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 8:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #ifdef _MISRA_RULES + 9:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(push) + 10:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_2_4) + 11:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_5_3) + 12:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_6_3) + 13:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_8_1) + 14:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_8_8) + 15:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_8_5) + 16:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_19_7) + 17:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_19_15) + 18:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_20_2) + 19:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif + 20:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 21:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #ifdef __cplusplus + 22:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** extern "C" { + 23:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif + 24:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 25:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if !defined(__NO_BUILTIN) + BFIN GAS /tmp/cc0bhzXF.s page 15 + + + 26:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 27:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** /* VDSP -> GCC glue */ + 28:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_NOP() __asm__ __volatile__ ("NOP;") + 29:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_cli() ({ unsigned int __rval; __asm__ __volatile__ ("cli %0;" : "=r"(_ + 30:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_sti(x) __asm__ __volatile__ ("sti %0;" : : "r"(x)) + 31:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_idle() __asm__ __volatile__ ("IDLE;") + 32:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_raise(x) __asm__ __volatile__ ("raise %0;" : : "n"(x)) + 33:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_excpt(x) __asm__ __volatile__ ("excpt %0;" : : "n"(x)) + 34:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_prefetch(x) __asm__ __volatile__ ("PREFETCH[%0];" : : "p"(x)) + 35:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_prefetchmodup(x) ({ void *__p = &(x); __asm__ __volatile__ ("PREFETCH[%0++];" : " + 36:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_flushinv(x) __asm__ __volatile__ ("FLUSHINV[%0];" : : "p"(x)) + 37:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_flushinvmodup(x) ({ void *__p = &(x); __asm__ __volatile__ ("FLUSHINV[%0++];" : " + 38:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_flush(x) __asm__ __volatile__ ("FLUSH[%0];" : : "p"(x)) + 39:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_flushmodup(x) ({ void *__p = &(x); __asm__ __volatile__ ("FLUSH[%0++];" : "+p" + 40:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_iflush(x) __asm__ __volatile__ ("IFLUSH[%0];" : : "p"(x)) + 41:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_iflushmodup(x) ({ void *__p = &(x); __asm__ __volatile__ ("IFLUSH[%0++];" : "+p + 42:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_csync() __builtin_bfin_csync() + 43:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_ssync() __builtin_bfin_ssync() + 44:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 45:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __NO_BUILTIN */ + 46:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 47:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 48:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if !defined(__NO_BUILTIN) && !defined(__NO_SHORTNAMES) + 49:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 50:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_NOP) && \ + 51:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_NOP)) || \ + 52:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_NOP)))) + 53:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 54:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_NOP + 55:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 56:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** /* Insert a normal 16 bit NOP, which is treated as volatile. + 57:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** */ + 58:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 59:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 60:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 61:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void NOP(void) { + 62:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_NOP(); + 63:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 64:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 65:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_NOP */ + 66:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 67:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_CLI) && \ + 68:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_CLI)) || \ + 69:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_CLI)))) + 70:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 71:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_CLI + 72:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 73:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 74:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 75:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static unsigned int cli(void) { + 76:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** unsigned int __rval = __builtin_cli(); + 77:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** return __rval; + 78:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 79:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 80:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_CLI */ + 81:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 82:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_STI) && \ + BFIN GAS /tmp/cc0bhzXF.s page 16 + + + 83:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_STI)) || \ + 84:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_STI)))) + 85:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 86:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_STI + 87:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 88:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 89:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 90:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void sti(unsigned int __a) { + 91:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_sti(__a); + 92:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 93:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 94:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_STI */ + 95:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 96:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_IDLE) && \ + 97:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_IDLE)) || \ + 98:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_IDLE)))) + 99:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 100:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_IDLE + 101:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 102:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 103:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 104:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void idle(void) { + 105:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_idle(); + 106:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 107:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 108:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_IDLE */ + 109:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 110:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_RAISE_INTR) && \ + 111:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_RAISE_INTR)) || \ + 112:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_RAISE_INTR)))) + 113:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 114:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_RAISE_INTR + 115:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 116:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define raise_intr(A) (__builtin_raise((A))) + 117:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 118:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_RAISE_INTR */ + 119:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 120:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_EXCPT) && \ + 121:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_EXCPT)) || \ + 122:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_EXCPT)))) + 123:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 124:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_EXCPT + 125:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 126:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define excpt(A) (__builtin_excpt((A))) + 127:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 128:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_EXCPT */ + 129:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 130:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_PREFETCH) && \ + 131:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_PREFETCH)) || \ + 132:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_PREFETCH)))) + 133:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 134:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_PREFETCH + 135:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 136:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 137:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 138:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void prefetch(void * __a) { + 139:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_prefetch(__a); + BFIN GAS /tmp/cc0bhzXF.s page 17 + + + 140:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 141:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 142:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_PREFETCH */ + 143:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 144:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_PREFETCHMODUP) && \ + 145:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_PREFETCHMODUP)) || \ + 146:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_PREFETCHMODUP)))) + 147:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 148:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_PREFETCHMODUP + 149:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 150:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 151:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 152:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void * prefetchmodup(void * __a) { + 153:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** void * __rval = __builtin_prefetchmodup(__a); + 154:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** return __rval; + 155:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 156:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 157:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_PREFETCHMODUP */ + 158:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 159:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_FLUSHINV) && \ + 160:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_FLUSHINV)) || \ + 161:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_FLUSHINV)))) + 162:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 163:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_FLUSHINV + 164:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 165:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 166:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 167:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void flushinv(void * __a) { + 168:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_flushinv(__a); + 169:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 170:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 171:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_FLUSHINV */ + 172:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 173:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_FLUSHINVMODUP) && \ + 174:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_FLUSHINVMODUP)) || \ + 175:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_FLUSHINVMODUP)))) + 176:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 177:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_FLUSHINVMODUP + 178:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 179:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 180:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 181:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void * flushinvmodup(void * __a) { + 182:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** void * __rval = __builtin_flushinvmodup(__a); + 183:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** return __rval; + 184:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 185:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 186:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_FLUSHINVMODUP */ + 187:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 188:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_FLUSH) && \ + 189:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_FLUSH)) || \ + 190:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_FLUSH)))) + 191:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 192:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_FLUSH + 193:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 194:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 195:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 196:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void flush(void * __a) { + BFIN GAS /tmp/cc0bhzXF.s page 18 + + + 197:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_flush(__a); + 198:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 199:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 200:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_FLUSH */ + 201:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 202:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_FLUSHMODUP) && \ + 203:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_FLUSHMODUP)) || \ + 204:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_FLUSHMODUP)))) + 205:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 206:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_FLUSHMODUP + 207:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 208:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 209:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 210:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void * flushmodup(void * __a) { + 211:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** void * __rval = __builtin_flushmodup(__a); + 212:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** return __rval; + 213:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 214:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 215:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_FLUSHMODUP */ + 216:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 217:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_IFLUSH) && \ + 218:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_IFLUSH)) || \ + 219:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_IFLUSH)))) + 220:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 221:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_IFLUSH + 222:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 223:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 224:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 225:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void iflush(void * __a) { + 226:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_iflush(__a); + 227:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 228:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 229:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_IFLUSH */ + 230:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 231:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_IFLUSHMODUP) && \ + 232:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_IFLUSHMODUP)) || \ + 233:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_IFLUSHMODUP)))) + 234:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 235:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_IFLUSHMODUP + 236:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 237:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 238:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 239:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void * iflushmodup(void * __a) { + 240:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** void * __rval = __builtin_iflushmodup(__a); + 241:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** return __rval; + 242:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 243:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 244:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_IFLUSHMODUP */ + 245:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 246:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_CSYNC) && \ + 247:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_CSYNC)) || \ + 248:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_CSYNC)))) + 249:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 250:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_CSYNC + 251:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 252:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** /* generate a csync instruction protected by CLI/STI for anomaly 05-00-0312; + 253:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ** you can generate an unprotected csync by using csync_int + BFIN GAS /tmp/cc0bhzXF.s page 19 + + + 254:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** */ + 255:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 256:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 257:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 258:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void csync(void) { + 259:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_csync(); + 260:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 261:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 262:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_CSYNC */ + 263:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 264:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_SSYNC) && \ + 265:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_SSYNC)) || \ + 266:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_SSYNC)))) + 267:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 268:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_SSYNC + 269:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 270:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** /* generate a ssync instruction protected by CLI/STI for anomaly 05-00-0312; + 271:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ** you can generate an unprotected ssync by using ssync_int + 272:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** */ + 273:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 274:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 275:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 276:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void ssync(void) { + 277:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_ssync(); + 572 .loc 2 277 0 + 573 02f4 2400 ssync; + 574 .LBE57: + 575 .LBE56: + 158:src/l502_init.c **** REGISTER_ISR(7, isr_sport_dma_rx); + 576 .loc 1 158 0 + 577 02f6 40E10000 R0.H = _isr_sport_dma_rx; + 578 02fa 4AE1E0FF P2.H = 65504; + 579 02fe 00E10000 R0.L = _isr_sport_dma_rx; + 580 0302 0AE11C20 P2.L = 8220; + 581 0306 1093 [P2] = R0; + 582 .LBB58: + 583 .LBB59: + 584 .loc 2 277 0 + 585 0308 2400 ssync; + 586 .LBE59: + 587 .LBE58: + 588 .loc 1 158 0 + 589 030a 0568 P5 = 0 (X); + 590 030c 4530 R0 = P5; + 591 .LVL64: + 592 // 158 "src/l502_init.c" 1 + 593 030e 3000384A cli R0; bitset (R0, 7); sti R0; csync; + 593 40002300 + 594 // 0 "" 2 + 595 .LBE55: + 596 .LBB60: + 597 .LBB61: + 598 .LBB62: + 599 .loc 2 277 0 + 600 0316 2400 ssync; + 601 .LBE62: + 602 .LBE61: + BFIN GAS /tmp/cc0bhzXF.s page 20 + + + 159:src/l502_init.c **** /* SPORT TX оставляем на IVG9 */ + 160:src/l502_init.c **** REGISTER_ISR(9, isr_sport_dma_tx); + 603 .loc 1 160 0 + 604 0318 40E10000 R0.H = _isr_sport_dma_tx; + 605 .LVL65: + 606 031c 00E10000 R0.L = _isr_sport_dma_tx; + 607 0320 426C P2 += 8; + 608 0322 1093 [P2] = R0; + 609 .LBB63: + 610 .LBB64: + 611 .loc 2 277 0 + 612 0324 2400 ssync; + 613 .LBE64: + 614 .LBE63: + 615 .loc 1 160 0 + 616 0326 4530 R0 = P5; + 617 .LVL66: + 618 // 160 "src/l502_init.c" 1 + 619 0328 3000484A cli R0; bitset (R0, 9); sti R0; csync; + 619 40002300 + 620 // 0 "" 2 + 621 .LBE60: + 161:src/l502_init.c **** + 162:src/l502_init.c **** /* настройка HostDMA-интерфейса */ + 163:src/l502_init.c **** hdma_init(); + 622 .loc 1 163 0 + 623 0330 FFE368FE call _hdma_init; + 624 .LVL67: + 164:src/l502_init.c **** + 165:src/l502_init.c **** + 166:src/l502_init.c **** /* если SDRAM не настроена, то инициализируем ее */ + 167:src/l502_init.c **** if (*pEBIU_SDSTAT & SDRS) { + 625 .loc 1 167 0 + 626 0334 49E1C0FF P1.H = 65472; + 627 0338 09E11C0A P1.L = 2588; + 628 033c 0895 R0 = W [P1] (Z); + 629 033e 1848 cc = !BITTST (R0,3); + 630 0340 0610 if !cc jump .L38; + 168:src/l502_init.c **** uint32_t* a=0; + 169:src/l502_init.c **** *pEBIU_SDRRC = L502_SDRAM_SDRRC; + 170:src/l502_init.c **** *pEBIU_SDBCTL = L502_SDRAM_SDBCTL; + 171:src/l502_init.c **** *pEBIU_SDGCTL = L502_SDRAM_SDGCTL; + 172:src/l502_init.c **** ssync(); + 173:src/l502_init.c **** + 174:src/l502_init.c **** *a = 0; /* записываем по нулевому адресу произвольное слово, чтобы активировать память */ + 175:src/l502_init.c **** + 176:src/l502_init.c **** while (*pEBIU_SDSTAT & SDRS) {} + 177:src/l502_init.c **** } + 178:src/l502_init.c **** + 179:src/l502_init.c **** /* инициализируем параметры для потоков ввода/вывода */ + 180:src/l502_init.c **** l502_stream_init(); + 181:src/l502_init.c **** + 182:src/l502_init.c **** + 183:src/l502_init.c **** } + 631 .loc 1 183 0 + 632 0342 01E80000 UNLINK; + 633 0346 BD05 ( r7:7, p5:5 ) = [sp++]; + BFIN GAS /tmp/cc0bhzXF.s page 21 + + + 634 + 635 .LCFI14: + 180:src/l502_init.c **** l502_stream_init(); + 636 .loc 1 180 0 + 637 0348 FFE25CFE jump.l _l502_stream_init; + 638 .L38: + 639 .LBB65: + 169:src/l502_init.c **** *pEBIU_SDRRC = L502_SDRAM_SDRRC; + 640 .loc 1 169 0 + 641 034c 4AE1C0FF P2.H = 65472; + 642 0350 0AE1180A P2.L = 2584; + 643 0354 1797 W [P2] = R7; + 170:src/l502_init.c **** *pEBIU_SDBCTL = L502_SDRAM_SDBCTL; + 644 .loc 1 170 0 + 645 0356 9860 R0 = 19 (X); + 646 0358 E26F P2 += -4; + 647 035a 1097 W [P2] = R0; + 171:src/l502_init.c **** *pEBIU_SDGCTL = L502_SDRAM_SDGCTL; + 648 .loc 1 171 0 + 649 035c 40E19100 R0.H = 145; + 650 0360 00E18999 R0.L = 39305; + 651 0364 E26F P2 += -4; + 652 0366 1093 [P2] = R0; + 653 .LBB66: + 654 .LBB67: + 655 .loc 2 277 0 + 656 0368 2400 ssync; + 657 .LBE67: + 658 .LBE66: + 176:src/l502_init.c **** while (*pEBIU_SDSTAT & SDRS) {} + 659 .loc 1 176 0 + 660 036a 5132 P2 = P1; + 174:src/l502_init.c **** *a = 0; /* записываем по нулевому адресу произвольное слово, чтобы активировать память */ + 661 .loc 1 174 0 + 662 036c 6D93 [P5] = P5; + 176:src/l502_init.c **** while (*pEBIU_SDSTAT & SDRS) {} + 663 .loc 1 176 0 + 664 036e 4160 R1 = 8 (X); + 665 0370 4234 I0 = P2; + 666 .L35: + 667 0372 0000 nop; + 668 0374 209D R0.L = W [I0]; + 669 0376 0154 R0 = R1 & R0; + 670 0378 000C cc =R0==0; + 671 037a FC17 if !cc jump .L35 (bp); + 672 .LBE65: + 673 .loc 1 183 0 + 674 037c 01E80000 UNLINK; + 675 0380 BD05 ( r7:7, p5:5 ) = [sp++]; + 676 + 677 .LCFI15: + 180:src/l502_init.c **** l502_stream_init(); + 678 .loc 1 180 0 + 679 0382 FFE23FFE jump.l _l502_stream_init; + 680 .LFE21: + 681 .size _l502_init, .-_l502_init + 682 .section .debug_frame,"",@progbits + BFIN GAS /tmp/cc0bhzXF.s page 22 + + + 683 .Lframe0: + 684 0000 0C000000 .4byte .LECIE0-.LSCIE0 + 685 .LSCIE0: + 686 0004 FFFFFFFF .4byte 0xffffffff + 687 0008 01 .byte 0x1 + 688 0009 00 .string "" + 689 000a 01 .uleb128 0x1 + 690 000b 7C .sleb128 -4 + 691 000c 23 .byte 0x23 + 692 000d 0C .byte 0xc + 693 000e 0E .uleb128 0xe + 694 000f 00 .uleb128 0x0 + 695 .align 4 + 696 .LECIE0: + 697 .LSFDE0: + 698 0010 1C000000 .4byte .LEFDE0-.LASFDE0 + 699 .LASFDE0: + 700 0014 00000000 .4byte .Lframe0 + 701 0018 00000000 .4byte .LFB17 + 702 001c 44000000 .4byte .LFE17-.LFB17 + 703 0020 42 .byte 0x4 + 704 .4byte .LCFI0-.LFB17 + 705 0021 0E .byte 0xe + 706 0022 04 .uleb128 0x4 + 707 0023 87 .byte 0x87 + 708 0024 01 .uleb128 0x1 + 709 0025 4E .byte 0x4 + 710 .4byte .LCFI1-.LCFI0 + 711 0026 0C .byte 0xc + 712 0027 0F .uleb128 0xf + 713 0028 0C .uleb128 0xc + 714 0029 8F .byte 0x8f + 715 002a 03 .uleb128 0x3 + 716 002b A3 .byte 0xa3 + 717 002c 02 .uleb128 0x2 + 718 002d 000000 .align 4 + 719 .LEFDE0: + 720 .LSFDE2: + 721 0030 14000000 .4byte .LEFDE2-.LASFDE2 + 722 .LASFDE2: + 723 0034 00000000 .4byte .Lframe0 + 724 0038 44000000 .4byte .LFB18 + 725 003c 26000000 .4byte .LFE18-.LFB18 + 726 0040 44 .byte 0x4 + 727 .4byte .LCFI3-.LFB18 + 728 0041 0C .byte 0xc + 729 0042 0F .uleb128 0xf + 730 0043 08 .uleb128 0x8 + 731 0044 8F .byte 0x8f + 732 0045 02 .uleb128 0x2 + 733 0046 A3 .byte 0xa3 + 734 0047 01 .uleb128 0x1 + 735 .align 4 + 736 .LEFDE2: + 737 .LSFDE4: + 738 0048 20000000 .4byte .LEFDE4-.LASFDE4 + 739 .LASFDE4: + BFIN GAS /tmp/cc0bhzXF.s page 23 + + + 740 004c 00000000 .4byte .Lframe0 + 741 0050 6C000000 .4byte .LFB19 + 742 0054 BC000000 .4byte .LFE19-.LFB19 + 743 0058 42 .byte 0x4 + 744 .4byte .LCFI4-.LFB19 + 745 0059 0E .byte 0xe + 746 005a 10 .uleb128 0x10 + 747 005b 8D .byte 0x8d + 748 005c 04 .uleb128 0x4 + 749 005d 87 .byte 0x87 + 750 005e 03 .uleb128 0x3 + 751 005f 86 .byte 0x86 + 752 0060 02 .uleb128 0x2 + 753 0061 85 .byte 0x85 + 754 0062 01 .uleb128 0x1 + 755 0063 4E .byte 0x4 + 756 .4byte .LCFI5-.LCFI4 + 757 0064 0C .byte 0xc + 758 0065 0F .uleb128 0xf + 759 0066 18 .uleb128 0x18 + 760 0067 8F .byte 0x8f + 761 0068 06 .uleb128 0x6 + 762 0069 A3 .byte 0xa3 + 763 006a 05 .uleb128 0x5 + 764 006b 00 .align 4 + 765 .LEFDE4: + 766 .LSFDE6: + 767 006c 28000000 .4byte .LEFDE6-.LASFDE6 + 768 .LASFDE6: + 769 0070 00000000 .4byte .Lframe0 + 770 0074 28010000 .4byte .LFB20 + 771 0078 64010000 .4byte .LFE20-.LFB20 + 772 007c 42 .byte 0x4 + 773 .4byte .LCFI8-.LFB20 + 774 007d 0E .byte 0xe + 775 007e 1C .uleb128 0x1c + 776 007f 44 .byte 0x4 + 777 .4byte .LCFI9-.LCFI8 + 778 0080 0C .byte 0xc + 779 0081 0F .uleb128 0xf + 780 0082 24 .uleb128 0x24 + 781 0083 8F .byte 0x8f + 782 0084 09 .uleb128 0x9 + 783 0085 A3 .byte 0xa3 + 784 0086 08 .uleb128 0x8 + 785 0087 8D .byte 0x8d + 786 0088 07 .uleb128 0x7 + 787 0089 8C .byte 0x8c + 788 008a 06 .uleb128 0x6 + 789 008b 8B .byte 0x8b + 790 008c 05 .uleb128 0x5 + 791 008d 87 .byte 0x87 + 792 008e 04 .uleb128 0x4 + 793 008f 86 .byte 0x86 + 794 0090 03 .uleb128 0x3 + 795 0091 85 .byte 0x85 + 796 0092 02 .uleb128 0x2 + BFIN GAS /tmp/cc0bhzXF.s page 24 + + + 797 0093 84 .byte 0x84 + 798 0094 01 .uleb128 0x1 + 799 0095 000000 .align 4 + 800 .LEFDE6: + 801 .LSFDE8: + 802 0098 1C000000 .4byte .LEFDE8-.LASFDE8 + 803 .LASFDE8: + 804 009c 00000000 .4byte .Lframe0 + 805 00a0 8C020000 .4byte .LFB21 + 806 00a4 FA000000 .4byte .LFE21-.LFB21 + 807 00a8 42 .byte 0x4 + 808 .4byte .LCFI12-.LFB21 + 809 00a9 0E .byte 0xe + 810 00aa 08 .uleb128 0x8 + 811 00ab 44 .byte 0x4 + 812 .4byte .LCFI13-.LCFI12 + 813 00ac 0C .byte 0xc + 814 00ad 0F .uleb128 0xf + 815 00ae 10 .uleb128 0x10 + 816 00af 8F .byte 0x8f + 817 00b0 04 .uleb128 0x4 + 818 00b1 A3 .byte 0xa3 + 819 00b2 03 .uleb128 0x3 + 820 00b3 8D .byte 0x8d + 821 00b4 02 .uleb128 0x2 + 822 00b5 87 .byte 0x87 + 823 00b6 01 .uleb128 0x1 + 824 00b7 00 .align 4 + 825 .LEFDE8: + 826 .text; + 827 .Letext0: + 828 0386 0000 .section .debug_loc,"",@progbits + 829 .Ldebug_loc0: + 830 .LLST0: + 831 0000 00000000 .4byte .LFB17-.Ltext0 + 832 0004 02000000 .4byte .LCFI0-.Ltext0 + 833 0008 0100 .2byte 0x1 + 834 000a 5E .byte 0x5e + 835 000b 02000000 .4byte .LCFI0-.Ltext0 + 836 000f 10000000 .4byte .LCFI1-.Ltext0 + 837 0013 0200 .2byte 0x2 + 838 0015 7E .byte 0x7e + 839 0016 04 .sleb128 4 + 840 0017 10000000 .4byte .LCFI1-.Ltext0 + 841 001b 44000000 .4byte .LFE17-.Ltext0 + 842 001f 0200 .2byte 0x2 + 843 0021 7F .byte 0x7f + 844 0022 0C .sleb128 12 + 845 0023 00000000 .4byte 0x0 + 846 0027 00000000 .4byte 0x0 + 847 .LLST1: + 848 002b 00000000 .4byte .LVL0-.Ltext0 + 849 002f 12000000 .4byte .LVL1-.Ltext0 + 850 0033 0100 .2byte 0x1 + 851 0035 50 .byte 0x50 + 852 0036 12000000 .4byte .LVL1-.Ltext0 + 853 003a 42000000 .4byte .LVL8-.Ltext0 + BFIN GAS /tmp/cc0bhzXF.s page 25 + + + 854 003e 0100 .2byte 0x1 + 855 0040 57 .byte 0x57 + 856 0041 00000000 .4byte 0x0 + 857 0045 00000000 .4byte 0x0 + 858 .LLST2: + 859 0049 1E000000 .4byte .LVL2-.Ltext0 + 860 004d 24000000 .4byte .LVL3-.Ltext0 + 861 0051 0100 .2byte 0x1 + 862 0053 50 .byte 0x50 + 863 0054 3C000000 .4byte .LVL6-.Ltext0 + 864 0058 40000000 .4byte .LVL7-.Ltext0 + 865 005c 0100 .2byte 0x1 + 866 005e 50 .byte 0x50 + 867 005f 00000000 .4byte 0x0 + 868 0063 00000000 .4byte 0x0 + 869 .LLST3: + 870 0067 44000000 .4byte .LFB18-.Ltext0 + 871 006b 48000000 .4byte .LCFI3-.Ltext0 + 872 006f 0100 .2byte 0x1 + 873 0071 5E .byte 0x5e + 874 0072 48000000 .4byte .LCFI3-.Ltext0 + 875 0076 6A000000 .4byte .LFE18-.Ltext0 + 876 007a 0200 .2byte 0x2 + 877 007c 7F .byte 0x7f + 878 007d 08 .sleb128 8 + 879 007e 00000000 .4byte 0x0 + 880 0082 00000000 .4byte 0x0 + 881 .LLST4: + 882 0086 6C000000 .4byte .LFB19-.Ltext0 + 883 008a 6E000000 .4byte .LCFI4-.Ltext0 + 884 008e 0100 .2byte 0x1 + 885 0090 5E .byte 0x5e + 886 0091 6E000000 .4byte .LCFI4-.Ltext0 + 887 0095 7C000000 .4byte .LCFI5-.Ltext0 + 888 0099 0200 .2byte 0x2 + 889 009b 7E .byte 0x7e + 890 009c 10 .sleb128 16 + 891 009d 7C000000 .4byte .LCFI5-.Ltext0 + 892 00a1 28010000 .4byte .LFE19-.Ltext0 + 893 00a5 0200 .2byte 0x2 + 894 00a7 7F .byte 0x7f + 895 00a8 18 .sleb128 24 + 896 00a9 00000000 .4byte 0x0 + 897 00ad 00000000 .4byte 0x0 + 898 .LLST5: + 899 00b1 6C000000 .4byte .LVL9-.Ltext0 + 900 00b5 7E000000 .4byte .LVL10-.Ltext0 + 901 00b9 0100 .2byte 0x1 + 902 00bb 50 .byte 0x50 + 903 00bc 7E000000 .4byte .LVL10-.Ltext0 + 904 00c0 96000000 .4byte .LVL14-.Ltext0 + 905 00c4 0100 .2byte 0x1 + 906 00c6 56 .byte 0x56 + 907 00c7 98000000 .4byte .LVL15-.Ltext0 + 908 00cb 26010000 .4byte .LVL31-.Ltext0 + 909 00cf 0100 .2byte 0x1 + 910 00d1 56 .byte 0x56 + BFIN GAS /tmp/cc0bhzXF.s page 26 + + + 911 00d2 00000000 .4byte 0x0 + 912 00d6 00000000 .4byte 0x0 + 913 .LLST6: + 914 00da 8A000000 .4byte .LVL11-.Ltext0 + 915 00de 96000000 .4byte .LVL14-.Ltext0 + 916 00e2 0100 .2byte 0x1 + 917 00e4 57 .byte 0x57 + 918 00e5 98000000 .4byte .LVL15-.Ltext0 + 919 00e9 9C000000 .4byte .LVL16-.Ltext0 + 920 00ed 0100 .2byte 0x1 + 921 00ef 50 .byte 0x50 + 922 00f0 9C000000 .4byte .LVL16-.Ltext0 + 923 00f4 C4000000 .4byte .LVL19-.Ltext0 + 924 00f8 0100 .2byte 0x1 + 925 00fa 57 .byte 0x57 + 926 00fb C4000000 .4byte .LVL19-.Ltext0 + 927 00ff CE000000 .4byte .LVL20-.Ltext0 + 928 0103 0100 .2byte 0x1 + 929 0105 50 .byte 0x50 + 930 0106 CE000000 .4byte .LVL20-.Ltext0 + 931 010a FA000000 .4byte .LVL25-.Ltext0 + 932 010e 0100 .2byte 0x1 + 933 0110 57 .byte 0x57 + 934 0111 FA000000 .4byte .LVL25-.Ltext0 + 935 0115 FE000000 .4byte .LVL26-.Ltext0 + 936 0119 0100 .2byte 0x1 + 937 011b 50 .byte 0x50 + 938 011c FE000000 .4byte .LVL26-.Ltext0 + 939 0120 1E010000 .4byte .LVL29-.Ltext0 + 940 0124 0100 .2byte 0x1 + 941 0126 57 .byte 0x57 + 942 0127 1E010000 .4byte .LVL29-.Ltext0 + 943 012b 20010000 .4byte .LVL30-.Ltext0 + 944 012f 0100 .2byte 0x1 + 945 0131 50 .byte 0x50 + 946 0132 20010000 .4byte .LVL30-.Ltext0 + 947 0136 26010000 .4byte .LVL31-.Ltext0 + 948 013a 0100 .2byte 0x1 + 949 013c 57 .byte 0x57 + 950 013d 00000000 .4byte 0x0 + 951 0141 00000000 .4byte 0x0 + 952 .LLST7: + 953 0145 8E000000 .4byte .LVL12-.Ltext0 + 954 0149 98000000 .4byte .LVL15-.Ltext0 + 955 014d 0200 .2byte 0x2 + 956 014f 7F .byte 0x7f + 957 0150 78 .sleb128 -8 + 958 0151 AA000000 .4byte .LVL18-.Ltext0 + 959 0155 28010000 .4byte .LFE19-.Ltext0 + 960 0159 0200 .2byte 0x2 + 961 015b 7F .byte 0x7f + 962 015c 78 .sleb128 -8 + 963 015d 00000000 .4byte 0x0 + 964 0161 00000000 .4byte 0x0 + 965 .LLST8: + 966 0165 8E000000 .4byte .LVL12-.Ltext0 + 967 0169 90000000 .4byte .LVL13-.Ltext0 + BFIN GAS /tmp/cc0bhzXF.s page 27 + + + 968 016d 0100 .2byte 0x1 + 969 016f 50 .byte 0x50 + 970 0170 DA000000 .4byte .LVL21-.Ltext0 + 971 0174 E0000000 .4byte .LVL22-.Ltext0 + 972 0178 0100 .2byte 0x1 + 973 017a 50 .byte 0x50 + 974 017b 00000000 .4byte 0x0 + 975 017f 00000000 .4byte 0x0 + 976 .LLST9: + 977 0183 8E000000 .4byte .LVL12-.Ltext0 + 978 0187 98000000 .4byte .LVL15-.Ltext0 + 979 018b 0200 .2byte 0x2 + 980 018d 7F .byte 0x7f + 981 018e 70 .sleb128 -16 + 982 018f E6000000 .4byte .LVL24-.Ltext0 + 983 0193 FA000000 .4byte .LVL25-.Ltext0 + 984 0197 0200 .2byte 0x2 + 985 0199 7F .byte 0x7f + 986 019a 70 .sleb128 -16 + 987 019b 00000000 .4byte 0x0 + 988 019f 00000000 .4byte 0x0 + 989 .LLST10: + 990 01a3 28010000 .4byte .LFB20-.Ltext0 + 991 01a7 2A010000 .4byte .LCFI8-.Ltext0 + 992 01ab 0100 .2byte 0x1 + 993 01ad 5E .byte 0x5e + 994 01ae 2A010000 .4byte .LCFI8-.Ltext0 + 995 01b2 2E010000 .4byte .LCFI9-.Ltext0 + 996 01b6 0200 .2byte 0x2 + 997 01b8 7E .byte 0x7e + 998 01b9 1C .sleb128 28 + 999 01ba 2E010000 .4byte .LCFI9-.Ltext0 + 1000 01be 8C020000 .4byte .LFE20-.Ltext0 + 1001 01c2 0200 .2byte 0x2 + 1002 01c4 7F .byte 0x7f + 1003 01c5 24 .sleb128 36 + 1004 01c6 00000000 .4byte 0x0 + 1005 01ca 00000000 .4byte 0x0 + 1006 .LLST11: + 1007 01ce 48010000 .4byte .LVL35-.Ltext0 + 1008 01d2 56010000 .4byte .LVL37-.Ltext0 + 1009 01d6 0100 .2byte 0x1 + 1010 01d8 57 .byte 0x57 + 1011 01d9 56010000 .4byte .LVL37-.Ltext0 + 1012 01dd 60010000 .4byte .LVL38-.Ltext0 + 1013 01e1 0100 .2byte 0x1 + 1014 01e3 50 .byte 0x50 + 1015 01e4 60010000 .4byte .LVL38-.Ltext0 + 1016 01e8 B4010000 .4byte .LVL43-.Ltext0 + 1017 01ec 0100 .2byte 0x1 + 1018 01ee 57 .byte 0x57 + 1019 01ef B4010000 .4byte .LVL43-.Ltext0 + 1020 01f3 B6010000 .4byte .LVL44-.Ltext0 + 1021 01f7 0100 .2byte 0x1 + 1022 01f9 50 .byte 0x50 + 1023 01fa B6010000 .4byte .LVL44-.Ltext0 + 1024 01fe D8010000 .4byte .LVL47-.Ltext0 + BFIN GAS /tmp/cc0bhzXF.s page 28 + + + 1025 0202 0100 .2byte 0x1 + 1026 0204 57 .byte 0x57 + 1027 0205 D8010000 .4byte .LVL47-.Ltext0 + 1028 0209 E2010000 .4byte .LVL48-.Ltext0 + 1029 020d 0100 .2byte 0x1 + 1030 020f 50 .byte 0x50 + 1031 0210 E2010000 .4byte .LVL48-.Ltext0 + 1032 0214 2E020000 .4byte .LVL55-.Ltext0 + 1033 0218 0100 .2byte 0x1 + 1034 021a 57 .byte 0x57 + 1035 021b 2E020000 .4byte .LVL55-.Ltext0 + 1036 021f 32020000 .4byte .LVL56-.Ltext0 + 1037 0223 0100 .2byte 0x1 + 1038 0225 50 .byte 0x50 + 1039 0226 32020000 .4byte .LVL56-.Ltext0 + 1040 022a 54020000 .4byte .LVL59-.Ltext0 + 1041 022e 0100 .2byte 0x1 + 1042 0230 57 .byte 0x57 + 1043 0231 54020000 .4byte .LVL59-.Ltext0 + 1044 0235 5A020000 .4byte .LVL60-.Ltext0 + 1045 0239 0100 .2byte 0x1 + 1046 023b 50 .byte 0x50 + 1047 023c 5A020000 .4byte .LVL60-.Ltext0 + 1048 0240 8A020000 .4byte .LVL63-.Ltext0 + 1049 0244 0100 .2byte 0x1 + 1050 0246 57 .byte 0x57 + 1051 0247 00000000 .4byte 0x0 + 1052 024b 00000000 .4byte 0x0 + 1053 .LLST12: + 1054 024f 3A010000 .4byte .LVL32-.Ltext0 + 1055 0253 B4010000 .4byte .LVL43-.Ltext0 + 1056 0257 0100 .2byte 0x1 + 1057 0259 56 .byte 0x56 + 1058 025a B6010000 .4byte .LVL44-.Ltext0 + 1059 025e 8A020000 .4byte .LVL63-.Ltext0 + 1060 0262 0100 .2byte 0x1 + 1061 0264 56 .byte 0x56 + 1062 0265 00000000 .4byte 0x0 + 1063 0269 00000000 .4byte 0x0 + 1064 .LLST13: + 1065 026d 3C010000 .4byte .LVL33-.Ltext0 + 1066 0271 B4010000 .4byte .LVL43-.Ltext0 + 1067 0275 0100 .2byte 0x1 + 1068 0277 55 .byte 0x55 + 1069 0278 B6010000 .4byte .LVL44-.Ltext0 + 1070 027c 8A020000 .4byte .LVL63-.Ltext0 + 1071 0280 0100 .2byte 0x1 + 1072 0282 55 .byte 0x55 + 1073 0283 00000000 .4byte 0x0 + 1074 0287 00000000 .4byte 0x0 + 1075 .LLST14: + 1076 028b 3E010000 .4byte .LVL34-.Ltext0 + 1077 028f B4010000 .4byte .LVL43-.Ltext0 + 1078 0293 0100 .2byte 0x1 + 1079 0295 54 .byte 0x54 + 1080 0296 B6010000 .4byte .LVL44-.Ltext0 + 1081 029a 8A020000 .4byte .LVL63-.Ltext0 + BFIN GAS /tmp/cc0bhzXF.s page 29 + + + 1082 029e 0100 .2byte 0x1 + 1083 02a0 54 .byte 0x54 + 1084 02a1 00000000 .4byte 0x0 + 1085 02a5 00000000 .4byte 0x0 + 1086 .LLST15: + 1087 02a9 48010000 .4byte .LVL35-.Ltext0 + 1088 02ad 4A010000 .4byte .LVL36-.Ltext0 + 1089 02b1 0100 .2byte 0x1 + 1090 02b3 50 .byte 0x50 + 1091 02b4 94010000 .4byte .LVL41-.Ltext0 + 1092 02b8 B6010000 .4byte .LVL44-.Ltext0 + 1093 02bc 0100 .2byte 0x1 + 1094 02be 50 .byte 0x50 + 1095 02bf EE010000 .4byte .LVL49-.Ltext0 + 1096 02c3 F4010000 .4byte .LVL50-.Ltext0 + 1097 02c7 0100 .2byte 0x1 + 1098 02c9 50 .byte 0x50 + 1099 02ca 68020000 .4byte .LVL61-.Ltext0 + 1100 02ce 6C020000 .4byte .LVL62-.Ltext0 + 1101 02d2 0100 .2byte 0x1 + 1102 02d4 50 .byte 0x50 + 1103 02d5 00000000 .4byte 0x0 + 1104 02d9 00000000 .4byte 0x0 + 1105 .LLST16: + 1106 02dd 8C020000 .4byte .LFB21-.Ltext0 + 1107 02e1 8E020000 .4byte .LCFI12-.Ltext0 + 1108 02e5 0100 .2byte 0x1 + 1109 02e7 5E .byte 0x5e + 1110 02e8 8E020000 .4byte .LCFI12-.Ltext0 + 1111 02ec 92020000 .4byte .LCFI13-.Ltext0 + 1112 02f0 0200 .2byte 0x2 + 1113 02f2 7E .byte 0x7e + 1114 02f3 08 .sleb128 8 + 1115 02f4 92020000 .4byte .LCFI13-.Ltext0 + 1116 02f8 86030000 .4byte .LFE21-.Ltext0 + 1117 02fc 0200 .2byte 0x2 + 1118 02fe 7F .byte 0x7f + 1119 02ff 10 .sleb128 16 + 1120 0300 00000000 .4byte 0x0 + 1121 0304 00000000 .4byte 0x0 + 1122 .LLST17: + 1123 0308 0E030000 .4byte .LVL64-.Ltext0 + 1124 030c 1C030000 .4byte .LVL65-.Ltext0 + 1125 0310 0100 .2byte 0x1 + 1126 0312 50 .byte 0x50 + 1127 0313 00000000 .4byte 0x0 + 1128 0317 00000000 .4byte 0x0 + 1129 .LLST18: + 1130 031b 28030000 .4byte .LVL66-.Ltext0 + 1131 031f 34030000 .4byte .LVL67-.Ltext0 + 1132 0323 0100 .2byte 0x1 + 1133 0325 50 .byte 0x50 + 1134 0326 00000000 .4byte 0x0 + 1135 032a 00000000 .4byte 0x0 + 1136 .file 3 "/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib + 1137 .file 4 "gcc/bfrom.h" + 1138 .section .debug_info + BFIN GAS /tmp/cc0bhzXF.s page 30 + + + 1139 0000 D8040000 .4byte 0x4d8 + 1140 0004 0200 .2byte 0x2 + 1141 0006 00000000 .4byte .Ldebug_abbrev0 + 1142 000a 04 .byte 0x4 + 1143 000b 01 .uleb128 0x1 + 1144 000c F0000000 .4byte .LASF31 + 1145 0010 01 .byte 0x1 + 1146 0011 1E010000 .4byte .LASF32 + 1147 0015 0F000000 .4byte .LASF33 + 1148 0019 00000000 .4byte .Ltext0 + 1149 001d 86030000 .4byte .Letext0 + 1150 0021 00000000 .4byte .Ldebug_line0 + 1151 0025 02 .uleb128 0x2 + 1152 0026 04 .byte 0x4 + 1153 0027 07 .byte 0x7 + 1154 0028 C2000000 .4byte .LASF0 + 1155 002c 03 .uleb128 0x3 + 1156 002d 04 .byte 0x4 + 1157 002e 05 .byte 0x5 + 1158 002f 696E7400 .string "int" + 1159 0033 02 .uleb128 0x2 + 1160 0034 01 .byte 0x1 + 1161 0035 06 .byte 0x6 + 1162 0036 F2010000 .4byte .LASF1 + 1163 003a 02 .uleb128 0x2 + 1164 003b 01 .byte 0x1 + 1165 003c 08 .byte 0x8 + 1166 003d A5000000 .4byte .LASF2 + 1167 0041 02 .uleb128 0x2 + 1168 0042 02 .byte 0x2 + 1169 0043 05 .byte 0x5 + 1170 0044 8A010000 .4byte .LASF3 + 1171 0048 02 .uleb128 0x2 + 1172 0049 02 .byte 0x2 + 1173 004a 07 .byte 0x7 + 1174 004b D4000000 .4byte .LASF4 + 1175 004f 02 .uleb128 0x2 + 1176 0050 04 .byte 0x4 + 1177 0051 07 .byte 0x7 + 1178 0052 11010000 .4byte .LASF5 + 1179 0056 02 .uleb128 0x2 + 1180 0057 08 .byte 0x8 + 1181 0058 05 .byte 0x5 + 1182 0059 59010000 .4byte .LASF6 + 1183 005d 02 .uleb128 0x2 + 1184 005e 08 .byte 0x8 + 1185 005f 07 .byte 0x7 + 1186 0060 38010000 .4byte .LASF7 + 1187 0064 02 .uleb128 0x2 + 1188 0065 04 .byte 0x4 + 1189 0066 05 .byte 0x5 + 1190 0067 C8010000 .4byte .LASF8 + 1191 006b 04 .uleb128 0x4 + 1192 006c 04 .byte 0x4 + 1193 006d 07 .byte 0x7 + 1194 006e 05 .uleb128 0x5 + 1195 006f 04 .byte 0x4 + BFIN GAS /tmp/cc0bhzXF.s page 31 + + + 1196 0070 02 .uleb128 0x2 + 1197 0071 01 .byte 0x1 + 1198 0072 06 .byte 0x6 + 1199 0073 67010000 .4byte .LASF9 + 1200 0077 06 .uleb128 0x6 + 1201 0078 A5010000 .4byte .LASF10 + 1202 007c 03 .byte 0x3 + 1203 007d 36 .byte 0x36 + 1204 007e 48000000 .4byte 0x48 + 1205 0082 06 .uleb128 0x6 + 1206 0083 BF010000 .4byte .LASF11 + 1207 0087 03 .byte 0x3 + 1208 0088 50 .byte 0x50 + 1209 0089 25000000 .4byte 0x25 + 1210 008d 06 .uleb128 0x6 + 1211 008e 7B000000 .4byte .LASF12 + 1212 0092 03 .byte 0x3 + 1213 0093 78 .byte 0x78 + 1214 0094 5D000000 .4byte 0x5d + 1215 0098 07 .uleb128 0x7 + 1216 0099 84000000 .4byte .LASF18 + 1217 009d 0A .byte 0xa + 1218 009e 04 .byte 0x4 + 1219 009f 1E .byte 0x1e + 1220 00a0 EB000000 .4byte 0xeb + 1221 00a4 08 .uleb128 0x8 + 1222 00a5 FC000000 .4byte .LASF13 + 1223 00a9 04 .byte 0x4 + 1224 00aa 1F .byte 0x1f + 1225 00ab 77000000 .4byte 0x77 + 1226 00af 02 .byte 0x2 + 1227 00b0 23 .byte 0x23 + 1228 00b1 00 .uleb128 0x0 + 1229 00b2 08 .uleb128 0x8 + 1230 00b3 6C010000 .4byte .LASF14 + 1231 00b7 04 .byte 0x4 + 1232 00b8 20 .byte 0x20 + 1233 00b9 77000000 .4byte 0x77 + 1234 00bd 02 .byte 0x2 + 1235 00be 23 .byte 0x23 + 1236 00bf 02 .uleb128 0x2 + 1237 00c0 08 .uleb128 0x8 + 1238 00c1 E7000000 .4byte .LASF15 + 1239 00c5 04 .byte 0x4 + 1240 00c6 21 .byte 0x21 + 1241 00c7 77000000 .4byte 0x77 + 1242 00cb 02 .byte 0x2 + 1243 00cc 23 .byte 0x23 + 1244 00cd 04 .uleb128 0x4 + 1245 00ce 08 .uleb128 0x8 + 1246 00cf 04010000 .4byte .LASF16 + 1247 00d3 04 .byte 0x4 + 1248 00d4 22 .byte 0x22 + 1249 00d5 77000000 .4byte 0x77 + 1250 00d9 02 .byte 0x2 + 1251 00da 23 .byte 0x23 + 1252 00db 06 .uleb128 0x6 + BFIN GAS /tmp/cc0bhzXF.s page 32 + + + 1253 00dc 08 .uleb128 0x8 + 1254 00dd 05000000 .4byte .LASF17 + 1255 00e1 04 .byte 0x4 + 1256 00e2 23 .byte 0x23 + 1257 00e3 77000000 .4byte 0x77 + 1258 00e7 02 .byte 0x2 + 1259 00e8 23 .byte 0x23 + 1260 00e9 08 .uleb128 0x8 + 1261 00ea 00 .byte 0x0 + 1262 00eb 06 .uleb128 0x6 + 1263 00ec 84000000 .4byte .LASF18 + 1264 00f0 04 .byte 0x4 + 1265 00f1 24 .byte 0x24 + 1266 00f2 98000000 .4byte 0x98 + 1267 00f6 09 .uleb128 0x9 + 1268 00f7 FE010000 .4byte .LASF34 + 1269 00fb 02 .byte 0x2 + 1270 00fc 1401 .2byte 0x114 + 1271 00fe 01 .byte 0x1 + 1272 00ff 01 .byte 0x1 + 1273 0100 0A .uleb128 0xa + 1274 0101 01 .byte 0x1 + 1275 0102 D1010000 .4byte .LASF20 + 1276 0106 01 .byte 0x1 + 1277 0107 32 .byte 0x32 + 1278 0108 01 .byte 0x1 + 1279 0109 82000000 .4byte 0x82 + 1280 010d 01 .byte 0x1 + 1281 010e 36010000 .4byte 0x136 + 1282 0112 0B .uleb128 0xb + 1283 0113 00000000 .4byte .LASF22 + 1284 0117 01 .byte 0x1 + 1285 0118 32 .byte 0x32 + 1286 0119 82000000 .4byte 0x82 + 1287 011d 0C .uleb128 0xc + 1288 011e 65727200 .string "err" + 1289 0122 01 .byte 0x1 + 1290 0123 33 .byte 0x33 + 1291 0124 82000000 .4byte 0x82 + 1292 0128 0D .uleb128 0xd + 1293 0129 0C .uleb128 0xc + 1294 012a 76616C00 .string "val" + 1295 012e 01 .byte 0x1 + 1296 012f 35 .byte 0x35 + 1297 0130 8D000000 .4byte 0x8d + 1298 0134 00 .byte 0x0 + 1299 0135 00 .byte 0x0 + 1300 0136 0E .uleb128 0xe + 1301 0137 00010000 .4byte 0x100 + 1302 013b 00000000 .4byte .LFB17 + 1303 013f 44000000 .4byte .LFE17 + 1304 0143 00000000 .4byte .LLST0 + 1305 0147 70010000 .4byte 0x170 + 1306 014b 0F .uleb128 0xf + 1307 014c 12010000 .4byte 0x112 + 1308 0150 2B000000 .4byte .LLST1 + 1309 0154 10 .uleb128 0x10 + BFIN GAS /tmp/cc0bhzXF.s page 33 + + + 1310 0155 1D010000 .4byte 0x11d + 1311 0159 49000000 .4byte .LLST2 + 1312 015d 11 .uleb128 0x11 + 1313 015e 20000000 .4byte .LBB17 + 1314 0162 3C000000 .4byte .LBE17 + 1315 0166 12 .uleb128 0x12 + 1316 0167 29010000 .4byte 0x129 + 1317 016b 02 .byte 0x2 + 1318 016c 7F .byte 0x7f + 1319 016d 78 .sleb128 -8 + 1320 016e 00 .byte 0x0 + 1321 016f 00 .byte 0x0 + 1322 0170 13 .uleb128 0x13 + 1323 0171 01 .byte 0x1 + 1324 0172 59000000 .4byte .LASF35 + 1325 0176 01 .byte 0x1 + 1326 0177 3C .byte 0x3c + 1327 0178 01 .byte 0x1 + 1328 0179 01 .byte 0x1 + 1329 017a 8A010000 .4byte 0x18a + 1330 017e 14 .uleb128 0x14 + 1331 017f 75010000 .4byte .LASF19 + 1332 0183 01 .byte 0x1 + 1333 0184 3D .byte 0x3d + 1334 0185 EB000000 .4byte 0xeb + 1335 0189 00 .byte 0x0 + 1336 018a 0E .uleb128 0xe + 1337 018b 70010000 .4byte 0x170 + 1338 018f 44000000 .4byte .LFB18 + 1339 0193 6A000000 .4byte .LFE18 + 1340 0197 67000000 .4byte .LLST3 + 1341 019b A8010000 .4byte 0x1a8 + 1342 019f 12 .uleb128 0x12 + 1343 01a0 7E010000 .4byte 0x17e + 1344 01a4 02 .byte 0x2 + 1345 01a5 7F .byte 0x7f + 1346 01a6 74 .sleb128 -12 + 1347 01a7 00 .byte 0x0 + 1348 01a8 0A .uleb128 0xa + 1349 01a9 01 .byte 0x1 + 1350 01aa 68000000 .4byte .LASF21 + 1351 01ae 01 .byte 0x1 + 1352 01af 43 .byte 0x43 + 1353 01b0 01 .byte 0x1 + 1354 01b1 82000000 .4byte 0x82 + 1355 01b5 01 .byte 0x1 + 1356 01b6 F1010000 .4byte 0x1f1 + 1357 01ba 0B .uleb128 0xb + 1358 01bb E7010000 .4byte .LASF23 + 1359 01bf 01 .byte 0x1 + 1360 01c0 43 .byte 0x43 + 1361 01c1 82000000 .4byte 0x82 + 1362 01c5 0C .uleb128 0xc + 1363 01c6 65727200 .string "err" + 1364 01ca 01 .byte 0x1 + 1365 01cb 44 .byte 0x44 + 1366 01cc 82000000 .4byte 0x82 + BFIN GAS /tmp/cc0bhzXF.s page 34 + + + 1367 01d0 0C .uleb128 0xc + 1368 01d1 76616C00 .string "val" + 1369 01d5 01 .byte 0x1 + 1370 01d6 45 .byte 0x45 + 1371 01d7 8D000000 .4byte 0x8d + 1372 01db 0D .uleb128 0xd + 1373 01dc 15 .uleb128 0x15 + 1374 01dd 4B010000 .4byte 0x14b + 1375 01e1 0D .uleb128 0xd + 1376 01e2 16 .uleb128 0x16 + 1377 01e3 1D010000 .4byte 0x11d + 1378 01e7 0D .uleb128 0xd + 1379 01e8 16 .uleb128 0x16 + 1380 01e9 29010000 .4byte 0x129 + 1381 01ed 00 .byte 0x0 + 1382 01ee 00 .byte 0x0 + 1383 01ef 00 .byte 0x0 + 1384 01f0 00 .byte 0x0 + 1385 01f1 0E .uleb128 0xe + 1386 01f2 A8010000 .4byte 0x1a8 + 1387 01f6 6C000000 .4byte .LFB19 + 1388 01fa 28010000 .4byte .LFE19 + 1389 01fe 86000000 .4byte .LLST4 + 1390 0202 5D020000 .4byte 0x25d + 1391 0206 0F .uleb128 0xf + 1392 0207 BA010000 .4byte 0x1ba + 1393 020b B1000000 .4byte .LLST5 + 1394 020f 10 .uleb128 0x10 + 1395 0210 C5010000 .4byte 0x1c5 + 1396 0214 DA000000 .4byte .LLST6 + 1397 0218 10 .uleb128 0x10 + 1398 0219 D0010000 .4byte 0x1d0 + 1399 021d 45010000 .4byte .LLST7 + 1400 0221 17 .uleb128 0x17 + 1401 0222 00010000 .4byte 0x100 + 1402 0226 C4000000 .4byte .LBB21 + 1403 022a FA000000 .4byte .LBE21 + 1404 022e 01 .byte 0x1 + 1405 022f 53 .byte 0x53 + 1406 0230 15 .uleb128 0x15 + 1407 0231 4B010000 .4byte 0x14b + 1408 0235 11 .uleb128 0x11 + 1409 0236 D8000000 .4byte .LBB22 + 1410 023a FA000000 .4byte .LBE22 + 1411 023e 10 .uleb128 0x10 + 1412 023f 1D010000 .4byte 0x11d + 1413 0243 65010000 .4byte .LLST8 + 1414 0247 11 .uleb128 0x11 + 1415 0248 DC000000 .4byte .LBB23 + 1416 024c FA000000 .4byte .LBE23 + 1417 0250 10 .uleb128 0x10 + 1418 0251 29010000 .4byte 0x129 + 1419 0255 83010000 .4byte .LLST9 + 1420 0259 00 .byte 0x0 + 1421 025a 00 .byte 0x0 + 1422 025b 00 .byte 0x0 + 1423 025c 00 .byte 0x0 + BFIN GAS /tmp/cc0bhzXF.s page 35 + + + 1424 025d 18 .uleb128 0x18 + 1425 025e 01 .byte 0x1 + 1426 025f 7C010000 .4byte .LASF25 + 1427 0263 01 .byte 0x1 + 1428 0264 5D .byte 0x5d + 1429 0265 01 .byte 0x1 + 1430 0266 28010000 .4byte .LFB20 + 1431 026a 8C020000 .4byte .LFE20 + 1432 026e A3010000 .4byte .LLST10 + 1433 0272 71030000 .4byte 0x371 + 1434 0276 19 .uleb128 0x19 + 1435 0277 65727200 .string "err" + 1436 027b 01 .byte 0x1 + 1437 027c 5E .byte 0x5e + 1438 027d 82000000 .4byte 0x82 + 1439 0281 CE010000 .4byte .LLST11 + 1440 0285 1A .uleb128 0x1a + 1441 0286 00000000 .4byte .LASF22 + 1442 028a 01 .byte 0x1 + 1443 028b 5E .byte 0x5e + 1444 028c 82000000 .4byte 0x82 + 1445 0290 4F020000 .4byte .LLST12 + 1446 0294 19 .uleb128 0x19 + 1447 0295 666E6400 .string "fnd" + 1448 0299 01 .byte 0x1 + 1449 029a 5E .byte 0x5e + 1450 029b 82000000 .4byte 0x82 + 1451 029f 6D020000 .4byte .LLST13 + 1452 02a3 1A .uleb128 0x1a + 1453 02a4 2E010000 .4byte .LASF24 + 1454 02a8 01 .byte 0x1 + 1455 02a9 5E .byte 0x5e + 1456 02aa 82000000 .4byte 0x82 + 1457 02ae 8B020000 .4byte .LLST14 + 1458 02b2 1B .uleb128 0x1b + 1459 02b3 00000000 .4byte .Ldebug_ranges0+0x0 + 1460 02b7 4E030000 .4byte 0x34e + 1461 02bb 1C .uleb128 0x1c + 1462 02bc 76616C00 .string "val" + 1463 02c0 01 .byte 0x1 + 1464 02c1 64 .byte 0x64 + 1465 02c2 8D000000 .4byte 0x8d + 1466 02c6 02 .byte 0x2 + 1467 02c7 7F .byte 0x7f + 1468 02c8 78 .sleb128 -8 + 1469 02c9 1D .uleb128 0x1d + 1470 02ca A8010000 .4byte 0x1a8 + 1471 02ce 28000000 .4byte .Ldebug_ranges0+0x28 + 1472 02d2 01 .byte 0x1 + 1473 02d3 70 .byte 0x70 + 1474 02d4 2B030000 .4byte 0x32b + 1475 02d8 15 .uleb128 0x15 + 1476 02d9 06020000 .4byte 0x206 + 1477 02dd 1E .uleb128 0x1e + 1478 02de 58000000 .4byte .Ldebug_ranges0+0x58 + 1479 02e2 16 .uleb128 0x16 + 1480 02e3 C5010000 .4byte 0x1c5 + BFIN GAS /tmp/cc0bhzXF.s page 36 + + + 1481 02e7 12 .uleb128 0x12 + 1482 02e8 D0010000 .4byte 0x1d0 + 1483 02ec 02 .byte 0x2 + 1484 02ed 7F .byte 0x7f + 1485 02ee 70 .sleb128 -16 + 1486 02ef 17 .uleb128 0x17 + 1487 02f0 00010000 .4byte 0x100 + 1488 02f4 D8010000 .4byte .LBB40 + 1489 02f8 06020000 .4byte .LBE40 + 1490 02fc 01 .byte 0x1 + 1491 02fd 53 .byte 0x53 + 1492 02fe 15 .uleb128 0x15 + 1493 02ff 4B010000 .4byte 0x14b + 1494 0303 11 .uleb128 0x11 + 1495 0304 EC010000 .4byte .LBB41 + 1496 0308 06020000 .4byte .LBE41 + 1497 030c 10 .uleb128 0x10 + 1498 030d 1D010000 .4byte 0x11d + 1499 0311 A9020000 .4byte .LLST15 + 1500 0315 11 .uleb128 0x11 + 1501 0316 F0010000 .4byte .LBB42 + 1502 031a 06020000 .4byte .LBE42 + 1503 031e 12 .uleb128 0x12 + 1504 031f 29010000 .4byte 0x129 + 1505 0323 02 .byte 0x2 + 1506 0324 7F .byte 0x7f + 1507 0325 68 .sleb128 -24 + 1508 0326 00 .byte 0x0 + 1509 0327 00 .byte 0x0 + 1510 0328 00 .byte 0x0 + 1511 0329 00 .byte 0x0 + 1512 032a 00 .byte 0x0 + 1513 032b 17 .uleb128 0x17 + 1514 032c 70010000 .4byte 0x170 + 1515 0330 0E020000 .4byte .LBB47 + 1516 0334 2E020000 .4byte .LBE47 + 1517 0338 01 .byte 0x1 + 1518 0339 6D .byte 0x6d + 1519 033a 11 .uleb128 0x11 + 1520 033b 0E020000 .4byte .LBB48 + 1521 033f 2E020000 .4byte .LBE48 + 1522 0343 12 .uleb128 0x12 + 1523 0344 7E010000 .4byte 0x17e + 1524 0348 02 .byte 0x2 + 1525 0349 7F .byte 0x7f + 1526 034a 5C .sleb128 -36 + 1527 034b 00 .byte 0x0 + 1528 034c 00 .byte 0x0 + 1529 034d 00 .byte 0x0 + 1530 034e 17 .uleb128 0x17 + 1531 034f 70010000 .4byte 0x170 + 1532 0353 68020000 .4byte .LBB53 + 1533 0357 84020000 .4byte .LBE53 + 1534 035b 01 .byte 0x1 + 1535 035c 7F .byte 0x7f + 1536 035d 11 .uleb128 0x11 + 1537 035e 68020000 .4byte .LBB54 + BFIN GAS /tmp/cc0bhzXF.s page 37 + + + 1538 0362 84020000 .4byte .LBE54 + 1539 0366 12 .uleb128 0x12 + 1540 0367 7E010000 .4byte 0x17e + 1541 036b 02 .byte 0x2 + 1542 036c 7F .byte 0x7f + 1543 036d 5C .sleb128 -36 + 1544 036e 00 .byte 0x0 + 1545 036f 00 .byte 0x0 + 1546 0370 00 .byte 0x0 + 1547 0371 18 .uleb128 0x18 + 1548 0372 01 .byte 0x1 + 1549 0373 4F010000 .4byte .LASF26 + 1550 0377 01 .byte 0x1 + 1551 0378 84 .byte 0x84 + 1552 0379 01 .byte 0x1 + 1553 037a 8C020000 .4byte .LFB21 + 1554 037e 86030000 .4byte .LFE21 + 1555 0382 DD020000 .4byte .LLST16 + 1556 0386 1F040000 .4byte 0x41f + 1557 038a 1F .uleb128 0x1f + 1558 038b F4020000 .4byte .LBB55 + 1559 038f 16030000 .4byte .LBE55 + 1560 0393 C3030000 .4byte 0x3c3 + 1561 0397 19 .uleb128 0x19 + 1562 0398 6900 .string "i" + 1563 039a 01 .byte 0x1 + 1564 039b 9E .byte 0x9e + 1565 039c 2C000000 .4byte 0x2c + 1566 03a0 08030000 .4byte .LLST17 + 1567 03a4 20 .uleb128 0x20 + 1568 03a5 F6000000 .4byte 0xf6 + 1569 03a9 F4020000 .4byte .LBB56 + 1570 03ad F6020000 .4byte .LBE56 + 1571 03b1 01 .byte 0x1 + 1572 03b2 9E .byte 0x9e + 1573 03b3 20 .uleb128 0x20 + 1574 03b4 F6000000 .4byte 0xf6 + 1575 03b8 08030000 .4byte .LBB58 + 1576 03bc 0A030000 .4byte .LBE58 + 1577 03c0 01 .byte 0x1 + 1578 03c1 9E .byte 0x9e + 1579 03c2 00 .byte 0x0 + 1580 03c3 1F .uleb128 0x1f + 1581 03c4 16030000 .4byte .LBB60 + 1582 03c8 30030000 .4byte .LBE60 + 1583 03cc FC030000 .4byte 0x3fc + 1584 03d0 19 .uleb128 0x19 + 1585 03d1 6900 .string "i" + 1586 03d3 01 .byte 0x1 + 1587 03d4 A0 .byte 0xa0 + 1588 03d5 2C000000 .4byte 0x2c + 1589 03d9 1B030000 .4byte .LLST18 + 1590 03dd 20 .uleb128 0x20 + 1591 03de F6000000 .4byte 0xf6 + 1592 03e2 16030000 .4byte .LBB61 + 1593 03e6 18030000 .4byte .LBE61 + 1594 03ea 01 .byte 0x1 + BFIN GAS /tmp/cc0bhzXF.s page 38 + + + 1595 03eb A0 .byte 0xa0 + 1596 03ec 20 .uleb128 0x20 + 1597 03ed F6000000 .4byte 0xf6 + 1598 03f1 24030000 .4byte .LBB63 + 1599 03f5 26030000 .4byte .LBE63 + 1600 03f9 01 .byte 0x1 + 1601 03fa A0 .byte 0xa0 + 1602 03fb 00 .byte 0x0 + 1603 03fc 11 .uleb128 0x11 + 1604 03fd 4C030000 .4byte .LBB65 + 1605 0401 7C030000 .4byte .LBE65 + 1606 0405 0C .uleb128 0xc + 1607 0406 6100 .string "a" + 1608 0408 01 .byte 0x1 + 1609 0409 A8 .byte 0xa8 + 1610 040a 1F040000 .4byte 0x41f + 1611 040e 20 .uleb128 0x20 + 1612 040f F6000000 .4byte 0xf6 + 1613 0413 68030000 .4byte .LBB66 + 1614 0417 6A030000 .4byte .LBE66 + 1615 041b 01 .byte 0x1 + 1616 041c AC .byte 0xac + 1617 041d 00 .byte 0x0 + 1618 041e 00 .byte 0x0 + 1619 041f 21 .uleb128 0x21 + 1620 0420 04 .byte 0x4 + 1621 0421 82000000 .4byte 0x82 + 1622 0425 22 .uleb128 0x22 + 1623 0426 01 .byte 0x1 + 1624 0427 82000000 .4byte 0x82 + 1625 042b 3F040000 .4byte 0x43f + 1626 042f 23 .uleb128 0x23 + 1627 0430 82000000 .4byte 0x82 + 1628 0434 23 .uleb128 0x23 + 1629 0435 3F040000 .4byte 0x43f + 1630 0439 23 .uleb128 0x23 + 1631 043a 6E000000 .4byte 0x6e + 1632 043e 00 .byte 0x0 + 1633 043f 21 .uleb128 0x21 + 1634 0440 04 .byte 0x4 + 1635 0441 EB000000 .4byte 0xeb + 1636 0445 24 .uleb128 0x24 + 1637 0446 AE010000 .4byte .LASF27 + 1638 044a 04 .byte 0x4 + 1639 044b 26 .byte 0x26 + 1640 044c 55040000 .4byte 0x455 + 1641 0450 B88080F8 .sleb128 -285212616 + 1641 7E + 1642 0455 25 .uleb128 0x25 + 1643 0456 5A040000 .4byte 0x45a + 1644 045a 21 .uleb128 0x21 + 1645 045b 04 .byte 0x4 + 1646 045c 25040000 .4byte 0x425 + 1647 0460 22 .uleb128 0x22 + 1648 0461 01 .byte 0x1 + 1649 0462 82000000 .4byte 0x82 + 1650 0466 75040000 .4byte 0x475 + BFIN GAS /tmp/cc0bhzXF.s page 39 + + + 1651 046a 23 .uleb128 0x23 + 1652 046b 82000000 .4byte 0x82 + 1653 046f 23 .uleb128 0x23 + 1654 0470 82000000 .4byte 0x82 + 1655 0474 00 .byte 0x0 + 1656 0475 24 .uleb128 0x24 + 1657 0476 94010000 .4byte .LASF28 + 1658 047a 04 .byte 0x4 + 1659 047b 41 .byte 0x41 + 1660 047c 85040000 .4byte 0x485 + 1661 0480 988080F8 .sleb128 -285212648 + 1661 7E + 1662 0485 25 .uleb128 0x25 + 1663 0486 8A040000 .4byte 0x48a + 1664 048a 21 .uleb128 0x21 + 1665 048b 04 .byte 0x4 + 1666 048c 60040000 .4byte 0x460 + 1667 0490 22 .uleb128 0x22 + 1668 0491 01 .byte 0x1 + 1669 0492 82000000 .4byte 0x82 + 1670 0496 AA040000 .4byte 0x4aa + 1671 049a 23 .uleb128 0x23 + 1672 049b 82000000 .4byte 0x82 + 1673 049f 23 .uleb128 0x23 + 1674 04a0 82000000 .4byte 0x82 + 1675 04a4 23 .uleb128 0x23 + 1676 04a5 AA040000 .4byte 0x4aa + 1677 04a9 00 .byte 0x0 + 1678 04aa 21 .uleb128 0x21 + 1679 04ab 04 .byte 0x4 + 1680 04ac 8D000000 .4byte 0x8d + 1681 04b0 24 .uleb128 0x24 + 1682 04b1 97000000 .4byte .LASF29 + 1683 04b5 04 .byte 0x4 + 1684 04b6 42 .byte 0x42 + 1685 04b7 C0040000 .4byte 0x4c0 + 1686 04bb 9A8080F8 .sleb128 -285212646 + 1686 7E + 1687 04c0 25 .uleb128 0x25 + 1688 04c1 C5040000 .4byte 0x4c5 + 1689 04c5 21 .uleb128 0x21 + 1690 04c6 04 .byte 0x4 + 1691 04c7 90040000 .4byte 0x490 + 1692 04cb 24 .uleb128 0x24 + 1693 04cc B3000000 .4byte .LASF30 + 1694 04d0 04 .byte 0x4 + 1695 04d1 43 .byte 0x43 + 1696 04d2 C0040000 .4byte 0x4c0 + 1697 04d6 9C8080F8 .sleb128 -285212644 + 1697 7E + 1698 04db 00 .byte 0x0 + 1699 .section .debug_abbrev + 1700 0000 01 .uleb128 0x1 + 1701 0001 11 .uleb128 0x11 + 1702 0002 01 .byte 0x1 + 1703 0003 25 .uleb128 0x25 + 1704 0004 0E .uleb128 0xe + BFIN GAS /tmp/cc0bhzXF.s page 40 + + + 1705 0005 13 .uleb128 0x13 + 1706 0006 0B .uleb128 0xb + 1707 0007 03 .uleb128 0x3 + 1708 0008 0E .uleb128 0xe + 1709 0009 1B .uleb128 0x1b + 1710 000a 0E .uleb128 0xe + 1711 000b 11 .uleb128 0x11 + 1712 000c 01 .uleb128 0x1 + 1713 000d 12 .uleb128 0x12 + 1714 000e 01 .uleb128 0x1 + 1715 000f 10 .uleb128 0x10 + 1716 0010 06 .uleb128 0x6 + 1717 0011 00 .byte 0x0 + 1718 0012 00 .byte 0x0 + 1719 0013 02 .uleb128 0x2 + 1720 0014 24 .uleb128 0x24 + 1721 0015 00 .byte 0x0 + 1722 0016 0B .uleb128 0xb + 1723 0017 0B .uleb128 0xb + 1724 0018 3E .uleb128 0x3e + 1725 0019 0B .uleb128 0xb + 1726 001a 03 .uleb128 0x3 + 1727 001b 0E .uleb128 0xe + 1728 001c 00 .byte 0x0 + 1729 001d 00 .byte 0x0 + 1730 001e 03 .uleb128 0x3 + 1731 001f 24 .uleb128 0x24 + 1732 0020 00 .byte 0x0 + 1733 0021 0B .uleb128 0xb + 1734 0022 0B .uleb128 0xb + 1735 0023 3E .uleb128 0x3e + 1736 0024 0B .uleb128 0xb + 1737 0025 03 .uleb128 0x3 + 1738 0026 08 .uleb128 0x8 + 1739 0027 00 .byte 0x0 + 1740 0028 00 .byte 0x0 + 1741 0029 04 .uleb128 0x4 + 1742 002a 24 .uleb128 0x24 + 1743 002b 00 .byte 0x0 + 1744 002c 0B .uleb128 0xb + 1745 002d 0B .uleb128 0xb + 1746 002e 3E .uleb128 0x3e + 1747 002f 0B .uleb128 0xb + 1748 0030 00 .byte 0x0 + 1749 0031 00 .byte 0x0 + 1750 0032 05 .uleb128 0x5 + 1751 0033 0F .uleb128 0xf + 1752 0034 00 .byte 0x0 + 1753 0035 0B .uleb128 0xb + 1754 0036 0B .uleb128 0xb + 1755 0037 00 .byte 0x0 + 1756 0038 00 .byte 0x0 + 1757 0039 06 .uleb128 0x6 + 1758 003a 16 .uleb128 0x16 + 1759 003b 00 .byte 0x0 + 1760 003c 03 .uleb128 0x3 + 1761 003d 0E .uleb128 0xe + BFIN GAS /tmp/cc0bhzXF.s page 41 + + + 1762 003e 3A .uleb128 0x3a + 1763 003f 0B .uleb128 0xb + 1764 0040 3B .uleb128 0x3b + 1765 0041 0B .uleb128 0xb + 1766 0042 49 .uleb128 0x49 + 1767 0043 13 .uleb128 0x13 + 1768 0044 00 .byte 0x0 + 1769 0045 00 .byte 0x0 + 1770 0046 07 .uleb128 0x7 + 1771 0047 13 .uleb128 0x13 + 1772 0048 01 .byte 0x1 + 1773 0049 03 .uleb128 0x3 + 1774 004a 0E .uleb128 0xe + 1775 004b 0B .uleb128 0xb + 1776 004c 0B .uleb128 0xb + 1777 004d 3A .uleb128 0x3a + 1778 004e 0B .uleb128 0xb + 1779 004f 3B .uleb128 0x3b + 1780 0050 0B .uleb128 0xb + 1781 0051 01 .uleb128 0x1 + 1782 0052 13 .uleb128 0x13 + 1783 0053 00 .byte 0x0 + 1784 0054 00 .byte 0x0 + 1785 0055 08 .uleb128 0x8 + 1786 0056 0D .uleb128 0xd + 1787 0057 00 .byte 0x0 + 1788 0058 03 .uleb128 0x3 + 1789 0059 0E .uleb128 0xe + 1790 005a 3A .uleb128 0x3a + 1791 005b 0B .uleb128 0xb + 1792 005c 3B .uleb128 0x3b + 1793 005d 0B .uleb128 0xb + 1794 005e 49 .uleb128 0x49 + 1795 005f 13 .uleb128 0x13 + 1796 0060 38 .uleb128 0x38 + 1797 0061 0A .uleb128 0xa + 1798 0062 00 .byte 0x0 + 1799 0063 00 .byte 0x0 + 1800 0064 09 .uleb128 0x9 + 1801 0065 2E .uleb128 0x2e + 1802 0066 00 .byte 0x0 + 1803 0067 03 .uleb128 0x3 + 1804 0068 0E .uleb128 0xe + 1805 0069 3A .uleb128 0x3a + 1806 006a 0B .uleb128 0xb + 1807 006b 3B .uleb128 0x3b + 1808 006c 05 .uleb128 0x5 + 1809 006d 27 .uleb128 0x27 + 1810 006e 0C .uleb128 0xc + 1811 006f 20 .uleb128 0x20 + 1812 0070 0B .uleb128 0xb + 1813 0071 00 .byte 0x0 + 1814 0072 00 .byte 0x0 + 1815 0073 0A .uleb128 0xa + 1816 0074 2E .uleb128 0x2e + 1817 0075 01 .byte 0x1 + 1818 0076 3F .uleb128 0x3f + BFIN GAS /tmp/cc0bhzXF.s page 42 + + + 1819 0077 0C .uleb128 0xc + 1820 0078 03 .uleb128 0x3 + 1821 0079 0E .uleb128 0xe + 1822 007a 3A .uleb128 0x3a + 1823 007b 0B .uleb128 0xb + 1824 007c 3B .uleb128 0x3b + 1825 007d 0B .uleb128 0xb + 1826 007e 27 .uleb128 0x27 + 1827 007f 0C .uleb128 0xc + 1828 0080 49 .uleb128 0x49 + 1829 0081 13 .uleb128 0x13 + 1830 0082 20 .uleb128 0x20 + 1831 0083 0B .uleb128 0xb + 1832 0084 01 .uleb128 0x1 + 1833 0085 13 .uleb128 0x13 + 1834 0086 00 .byte 0x0 + 1835 0087 00 .byte 0x0 + 1836 0088 0B .uleb128 0xb + 1837 0089 05 .uleb128 0x5 + 1838 008a 00 .byte 0x0 + 1839 008b 03 .uleb128 0x3 + 1840 008c 0E .uleb128 0xe + 1841 008d 3A .uleb128 0x3a + 1842 008e 0B .uleb128 0xb + 1843 008f 3B .uleb128 0x3b + 1844 0090 0B .uleb128 0xb + 1845 0091 49 .uleb128 0x49 + 1846 0092 13 .uleb128 0x13 + 1847 0093 00 .byte 0x0 + 1848 0094 00 .byte 0x0 + 1849 0095 0C .uleb128 0xc + 1850 0096 34 .uleb128 0x34 + 1851 0097 00 .byte 0x0 + 1852 0098 03 .uleb128 0x3 + 1853 0099 08 .uleb128 0x8 + 1854 009a 3A .uleb128 0x3a + 1855 009b 0B .uleb128 0xb + 1856 009c 3B .uleb128 0x3b + 1857 009d 0B .uleb128 0xb + 1858 009e 49 .uleb128 0x49 + 1859 009f 13 .uleb128 0x13 + 1860 00a0 00 .byte 0x0 + 1861 00a1 00 .byte 0x0 + 1862 00a2 0D .uleb128 0xd + 1863 00a3 0B .uleb128 0xb + 1864 00a4 01 .byte 0x1 + 1865 00a5 00 .byte 0x0 + 1866 00a6 00 .byte 0x0 + 1867 00a7 0E .uleb128 0xe + 1868 00a8 2E .uleb128 0x2e + 1869 00a9 01 .byte 0x1 + 1870 00aa 31 .uleb128 0x31 + 1871 00ab 13 .uleb128 0x13 + 1872 00ac 11 .uleb128 0x11 + 1873 00ad 01 .uleb128 0x1 + 1874 00ae 12 .uleb128 0x12 + 1875 00af 01 .uleb128 0x1 + BFIN GAS /tmp/cc0bhzXF.s page 43 + + + 1876 00b0 40 .uleb128 0x40 + 1877 00b1 06 .uleb128 0x6 + 1878 00b2 01 .uleb128 0x1 + 1879 00b3 13 .uleb128 0x13 + 1880 00b4 00 .byte 0x0 + 1881 00b5 00 .byte 0x0 + 1882 00b6 0F .uleb128 0xf + 1883 00b7 05 .uleb128 0x5 + 1884 00b8 00 .byte 0x0 + 1885 00b9 31 .uleb128 0x31 + 1886 00ba 13 .uleb128 0x13 + 1887 00bb 02 .uleb128 0x2 + 1888 00bc 06 .uleb128 0x6 + 1889 00bd 00 .byte 0x0 + 1890 00be 00 .byte 0x0 + 1891 00bf 10 .uleb128 0x10 + 1892 00c0 34 .uleb128 0x34 + 1893 00c1 00 .byte 0x0 + 1894 00c2 31 .uleb128 0x31 + 1895 00c3 13 .uleb128 0x13 + 1896 00c4 02 .uleb128 0x2 + 1897 00c5 06 .uleb128 0x6 + 1898 00c6 00 .byte 0x0 + 1899 00c7 00 .byte 0x0 + 1900 00c8 11 .uleb128 0x11 + 1901 00c9 0B .uleb128 0xb + 1902 00ca 01 .byte 0x1 + 1903 00cb 11 .uleb128 0x11 + 1904 00cc 01 .uleb128 0x1 + 1905 00cd 12 .uleb128 0x12 + 1906 00ce 01 .uleb128 0x1 + 1907 00cf 00 .byte 0x0 + 1908 00d0 00 .byte 0x0 + 1909 00d1 12 .uleb128 0x12 + 1910 00d2 34 .uleb128 0x34 + 1911 00d3 00 .byte 0x0 + 1912 00d4 31 .uleb128 0x31 + 1913 00d5 13 .uleb128 0x13 + 1914 00d6 02 .uleb128 0x2 + 1915 00d7 0A .uleb128 0xa + 1916 00d8 00 .byte 0x0 + 1917 00d9 00 .byte 0x0 + 1918 00da 13 .uleb128 0x13 + 1919 00db 2E .uleb128 0x2e + 1920 00dc 01 .byte 0x1 + 1921 00dd 3F .uleb128 0x3f + 1922 00de 0C .uleb128 0xc + 1923 00df 03 .uleb128 0x3 + 1924 00e0 0E .uleb128 0xe + 1925 00e1 3A .uleb128 0x3a + 1926 00e2 0B .uleb128 0xb + 1927 00e3 3B .uleb128 0x3b + 1928 00e4 0B .uleb128 0xb + 1929 00e5 27 .uleb128 0x27 + 1930 00e6 0C .uleb128 0xc + 1931 00e7 20 .uleb128 0x20 + 1932 00e8 0B .uleb128 0xb + BFIN GAS /tmp/cc0bhzXF.s page 44 + + + 1933 00e9 01 .uleb128 0x1 + 1934 00ea 13 .uleb128 0x13 + 1935 00eb 00 .byte 0x0 + 1936 00ec 00 .byte 0x0 + 1937 00ed 14 .uleb128 0x14 + 1938 00ee 34 .uleb128 0x34 + 1939 00ef 00 .byte 0x0 + 1940 00f0 03 .uleb128 0x3 + 1941 00f1 0E .uleb128 0xe + 1942 00f2 3A .uleb128 0x3a + 1943 00f3 0B .uleb128 0xb + 1944 00f4 3B .uleb128 0x3b + 1945 00f5 0B .uleb128 0xb + 1946 00f6 49 .uleb128 0x49 + 1947 00f7 13 .uleb128 0x13 + 1948 00f8 00 .byte 0x0 + 1949 00f9 00 .byte 0x0 + 1950 00fa 15 .uleb128 0x15 + 1951 00fb 05 .uleb128 0x5 + 1952 00fc 00 .byte 0x0 + 1953 00fd 31 .uleb128 0x31 + 1954 00fe 13 .uleb128 0x13 + 1955 00ff 00 .byte 0x0 + 1956 0100 00 .byte 0x0 + 1957 0101 16 .uleb128 0x16 + 1958 0102 34 .uleb128 0x34 + 1959 0103 00 .byte 0x0 + 1960 0104 31 .uleb128 0x31 + 1961 0105 13 .uleb128 0x13 + 1962 0106 00 .byte 0x0 + 1963 0107 00 .byte 0x0 + 1964 0108 17 .uleb128 0x17 + 1965 0109 1D .uleb128 0x1d + 1966 010a 01 .byte 0x1 + 1967 010b 31 .uleb128 0x31 + 1968 010c 13 .uleb128 0x13 + 1969 010d 11 .uleb128 0x11 + 1970 010e 01 .uleb128 0x1 + 1971 010f 12 .uleb128 0x12 + 1972 0110 01 .uleb128 0x1 + 1973 0111 58 .uleb128 0x58 + 1974 0112 0B .uleb128 0xb + 1975 0113 59 .uleb128 0x59 + 1976 0114 0B .uleb128 0xb + 1977 0115 00 .byte 0x0 + 1978 0116 00 .byte 0x0 + 1979 0117 18 .uleb128 0x18 + 1980 0118 2E .uleb128 0x2e + 1981 0119 01 .byte 0x1 + 1982 011a 3F .uleb128 0x3f + 1983 011b 0C .uleb128 0xc + 1984 011c 03 .uleb128 0x3 + 1985 011d 0E .uleb128 0xe + 1986 011e 3A .uleb128 0x3a + 1987 011f 0B .uleb128 0xb + 1988 0120 3B .uleb128 0x3b + 1989 0121 0B .uleb128 0xb + BFIN GAS /tmp/cc0bhzXF.s page 45 + + + 1990 0122 27 .uleb128 0x27 + 1991 0123 0C .uleb128 0xc + 1992 0124 11 .uleb128 0x11 + 1993 0125 01 .uleb128 0x1 + 1994 0126 12 .uleb128 0x12 + 1995 0127 01 .uleb128 0x1 + 1996 0128 40 .uleb128 0x40 + 1997 0129 06 .uleb128 0x6 + 1998 012a 01 .uleb128 0x1 + 1999 012b 13 .uleb128 0x13 + 2000 012c 00 .byte 0x0 + 2001 012d 00 .byte 0x0 + 2002 012e 19 .uleb128 0x19 + 2003 012f 34 .uleb128 0x34 + 2004 0130 00 .byte 0x0 + 2005 0131 03 .uleb128 0x3 + 2006 0132 08 .uleb128 0x8 + 2007 0133 3A .uleb128 0x3a + 2008 0134 0B .uleb128 0xb + 2009 0135 3B .uleb128 0x3b + 2010 0136 0B .uleb128 0xb + 2011 0137 49 .uleb128 0x49 + 2012 0138 13 .uleb128 0x13 + 2013 0139 02 .uleb128 0x2 + 2014 013a 06 .uleb128 0x6 + 2015 013b 00 .byte 0x0 + 2016 013c 00 .byte 0x0 + 2017 013d 1A .uleb128 0x1a + 2018 013e 34 .uleb128 0x34 + 2019 013f 00 .byte 0x0 + 2020 0140 03 .uleb128 0x3 + 2021 0141 0E .uleb128 0xe + 2022 0142 3A .uleb128 0x3a + 2023 0143 0B .uleb128 0xb + 2024 0144 3B .uleb128 0x3b + 2025 0145 0B .uleb128 0xb + 2026 0146 49 .uleb128 0x49 + 2027 0147 13 .uleb128 0x13 + 2028 0148 02 .uleb128 0x2 + 2029 0149 06 .uleb128 0x6 + 2030 014a 00 .byte 0x0 + 2031 014b 00 .byte 0x0 + 2032 014c 1B .uleb128 0x1b + 2033 014d 0B .uleb128 0xb + 2034 014e 01 .byte 0x1 + 2035 014f 55 .uleb128 0x55 + 2036 0150 06 .uleb128 0x6 + 2037 0151 01 .uleb128 0x1 + 2038 0152 13 .uleb128 0x13 + 2039 0153 00 .byte 0x0 + 2040 0154 00 .byte 0x0 + 2041 0155 1C .uleb128 0x1c + 2042 0156 34 .uleb128 0x34 + 2043 0157 00 .byte 0x0 + 2044 0158 03 .uleb128 0x3 + 2045 0159 08 .uleb128 0x8 + 2046 015a 3A .uleb128 0x3a + BFIN GAS /tmp/cc0bhzXF.s page 46 + + + 2047 015b 0B .uleb128 0xb + 2048 015c 3B .uleb128 0x3b + 2049 015d 0B .uleb128 0xb + 2050 015e 49 .uleb128 0x49 + 2051 015f 13 .uleb128 0x13 + 2052 0160 02 .uleb128 0x2 + 2053 0161 0A .uleb128 0xa + 2054 0162 00 .byte 0x0 + 2055 0163 00 .byte 0x0 + 2056 0164 1D .uleb128 0x1d + 2057 0165 1D .uleb128 0x1d + 2058 0166 01 .byte 0x1 + 2059 0167 31 .uleb128 0x31 + 2060 0168 13 .uleb128 0x13 + 2061 0169 55 .uleb128 0x55 + 2062 016a 06 .uleb128 0x6 + 2063 016b 58 .uleb128 0x58 + 2064 016c 0B .uleb128 0xb + 2065 016d 59 .uleb128 0x59 + 2066 016e 0B .uleb128 0xb + 2067 016f 01 .uleb128 0x1 + 2068 0170 13 .uleb128 0x13 + 2069 0171 00 .byte 0x0 + 2070 0172 00 .byte 0x0 + 2071 0173 1E .uleb128 0x1e + 2072 0174 0B .uleb128 0xb + 2073 0175 01 .byte 0x1 + 2074 0176 55 .uleb128 0x55 + 2075 0177 06 .uleb128 0x6 + 2076 0178 00 .byte 0x0 + 2077 0179 00 .byte 0x0 + 2078 017a 1F .uleb128 0x1f + 2079 017b 0B .uleb128 0xb + 2080 017c 01 .byte 0x1 + 2081 017d 11 .uleb128 0x11 + 2082 017e 01 .uleb128 0x1 + 2083 017f 12 .uleb128 0x12 + 2084 0180 01 .uleb128 0x1 + 2085 0181 01 .uleb128 0x1 + 2086 0182 13 .uleb128 0x13 + 2087 0183 00 .byte 0x0 + 2088 0184 00 .byte 0x0 + 2089 0185 20 .uleb128 0x20 + 2090 0186 1D .uleb128 0x1d + 2091 0187 00 .byte 0x0 + 2092 0188 31 .uleb128 0x31 + 2093 0189 13 .uleb128 0x13 + 2094 018a 11 .uleb128 0x11 + 2095 018b 01 .uleb128 0x1 + 2096 018c 12 .uleb128 0x12 + 2097 018d 01 .uleb128 0x1 + 2098 018e 58 .uleb128 0x58 + 2099 018f 0B .uleb128 0xb + 2100 0190 59 .uleb128 0x59 + 2101 0191 0B .uleb128 0xb + 2102 0192 00 .byte 0x0 + 2103 0193 00 .byte 0x0 + BFIN GAS /tmp/cc0bhzXF.s page 47 + + + 2104 0194 21 .uleb128 0x21 + 2105 0195 0F .uleb128 0xf + 2106 0196 00 .byte 0x0 + 2107 0197 0B .uleb128 0xb + 2108 0198 0B .uleb128 0xb + 2109 0199 49 .uleb128 0x49 + 2110 019a 13 .uleb128 0x13 + 2111 019b 00 .byte 0x0 + 2112 019c 00 .byte 0x0 + 2113 019d 22 .uleb128 0x22 + 2114 019e 15 .uleb128 0x15 + 2115 019f 01 .byte 0x1 + 2116 01a0 27 .uleb128 0x27 + 2117 01a1 0C .uleb128 0xc + 2118 01a2 49 .uleb128 0x49 + 2119 01a3 13 .uleb128 0x13 + 2120 01a4 01 .uleb128 0x1 + 2121 01a5 13 .uleb128 0x13 + 2122 01a6 00 .byte 0x0 + 2123 01a7 00 .byte 0x0 + 2124 01a8 23 .uleb128 0x23 + 2125 01a9 05 .uleb128 0x5 + 2126 01aa 00 .byte 0x0 + 2127 01ab 49 .uleb128 0x49 + 2128 01ac 13 .uleb128 0x13 + 2129 01ad 00 .byte 0x0 + 2130 01ae 00 .byte 0x0 + 2131 01af 24 .uleb128 0x24 + 2132 01b0 34 .uleb128 0x34 + 2133 01b1 00 .byte 0x0 + 2134 01b2 03 .uleb128 0x3 + 2135 01b3 0E .uleb128 0xe + 2136 01b4 3A .uleb128 0x3a + 2137 01b5 0B .uleb128 0xb + 2138 01b6 3B .uleb128 0x3b + 2139 01b7 0B .uleb128 0xb + 2140 01b8 49 .uleb128 0x49 + 2141 01b9 13 .uleb128 0x13 + 2142 01ba 1C .uleb128 0x1c + 2143 01bb 0D .uleb128 0xd + 2144 01bc 00 .byte 0x0 + 2145 01bd 00 .byte 0x0 + 2146 01be 25 .uleb128 0x25 + 2147 01bf 26 .uleb128 0x26 + 2148 01c0 00 .byte 0x0 + 2149 01c1 49 .uleb128 0x49 + 2150 01c2 13 .uleb128 0x13 + 2151 01c3 00 .byte 0x0 + 2152 01c4 00 .byte 0x0 + 2153 01c5 00 .byte 0x0 + 2154 .section .debug_pubnames,"",@progbits + 2155 0000 72000000 .4byte 0x72 + 2156 0004 0200 .2byte 0x2 + 2157 0006 00000000 .4byte .Ldebug_info0 + 2158 000a DC040000 .4byte 0x4dc + 2159 000e 36010000 .4byte 0x136 + 2160 0012 6C353032 .string "l502_otp_make_invalid" + BFIN GAS /tmp/cc0bhzXF.s page 48 + + + 2160 5F6F7470 + 2160 5F6D616B + 2160 655F696E + 2160 76616C69 + 2161 0028 8A010000 .4byte 0x18a + 2162 002c 6C353032 .string "l502_setup_pll" + 2162 5F736574 + 2162 75705F70 + 2162 6C6C00 + 2163 003b F1010000 .4byte 0x1f1 + 2164 003f 6C353032 .string "l502_otp_write_cfg" + 2164 5F6F7470 + 2164 5F777269 + 2164 74655F63 + 2164 666700 + 2165 0052 5D020000 .4byte 0x25d + 2166 0056 6C353032 .string "l502_otp_init" + 2166 5F6F7470 + 2166 5F696E69 + 2166 7400 + 2167 0064 71030000 .4byte 0x371 + 2168 0068 6C353032 .string "l502_init" + 2168 5F696E69 + 2168 7400 + 2169 0072 00000000 .4byte 0x0 + 2170 .section .debug_aranges,"",@progbits + 2171 0000 1C000000 .4byte 0x1c + 2172 0004 0200 .2byte 0x2 + 2173 0006 00000000 .4byte .Ldebug_info0 + 2174 000a 04 .byte 0x4 + 2175 000b 00 .byte 0x0 + 2176 000c 0000 .2byte 0x0 + 2177 000e 0000 .2byte 0x0 + 2178 0010 00000000 .4byte .Ltext0 + 2179 0014 86030000 .4byte .Letext0-.Ltext0 + 2180 0018 00000000 .4byte 0x0 + 2181 001c 00000000 .4byte 0x0 + 2182 .section .debug_ranges,"",@progbits + 2183 .Ldebug_ranges0: + 2184 0000 30010000 .4byte .LBB34-.Ltext0 + 2185 0004 38010000 .4byte .LBE34-.Ltext0 + 2186 0008 0E020000 .4byte .LBB52-.Ltext0 + 2187 000c 68020000 .4byte .LBE52-.Ltext0 + 2188 0010 B6010000 .4byte .LBB51-.Ltext0 + 2189 0014 06020000 .4byte .LBE51-.Ltext0 + 2190 0018 40010000 .4byte .LBB50-.Ltext0 + 2191 001c 96010000 .4byte .LBE50-.Ltext0 + 2192 0020 00000000 .4byte 0x0 + 2193 0024 00000000 .4byte 0x0 + 2194 0028 34010000 .4byte .LBB36-.Ltext0 + 2195 002c 38010000 .4byte .LBE36-.Ltext0 + 2196 0030 2E020000 .4byte .LBB49-.Ltext0 + 2197 0034 54020000 .4byte .LBE49-.Ltext0 + 2198 0038 B6010000 .4byte .LBB35-.Ltext0 + 2199 003c 06020000 .4byte .LBE35-.Ltext0 + 2200 0040 6E010000 .4byte .LBB46-.Ltext0 + 2201 0044 94010000 .4byte .LBE46-.Ltext0 + BFIN GAS /tmp/cc0bhzXF.s page 49 + + + 2202 0048 44010000 .4byte .LBB45-.Ltext0 + 2203 004c 48010000 .4byte .LBE45-.Ltext0 + 2204 0050 00000000 .4byte 0x0 + 2205 0054 00000000 .4byte 0x0 + 2206 0058 84010000 .4byte .LBB39-.Ltext0 + 2207 005c 94010000 .4byte .LBE39-.Ltext0 + 2208 0060 50020000 .4byte .LBB44-.Ltext0 + 2209 0064 54020000 .4byte .LBE44-.Ltext0 + 2210 0068 2E020000 .4byte .LBB43-.Ltext0 + 2211 006c 40020000 .4byte .LBE43-.Ltext0 + 2212 0070 D4010000 .4byte .LBB37-.Ltext0 + 2213 0074 06020000 .4byte .LBE37-.Ltext0 + 2214 0078 B6010000 .4byte .LBB38-.Ltext0 + 2215 007c C6010000 .4byte .LBE38-.Ltext0 + 2216 0080 00000000 .4byte 0x0 + 2217 0084 00000000 .4byte 0x0 + 2218 .section .debug_str,"MS",@progbits,1 + 2219 .LASF22: + 2220 0000 70616765 .string "page" + 2220 00 + 2221 .LASF17: + 2222 0005 7577506C .string "uwPllStat" + 2222 6C537461 + 2222 7400 + 2223 .LASF33: + 2224 000f 2F686F6D .string "/home/feda/MIPT/RadioPhotonic_Subserface_radar/ADC_computing/BFfirmware_0" + 2224 652F6665 + 2224 64612F4D + 2224 4950542F + 2224 52616469 + 2225 .LASF35: + 2226 0059 6C353032 .string "l502_setup_pll" + 2226 5F736574 + 2226 75705F70 + 2226 6C6C00 + 2227 .LASF21: + 2228 0068 6C353032 .string "l502_otp_write_cfg" + 2228 5F6F7470 + 2228 5F777269 + 2228 74655F63 + 2228 666700 + 2229 .LASF12: + 2230 007b 75696E74 .string "uint64_t" + 2230 36345F74 + 2230 00 + 2231 .LASF18: + 2232 0084 4144495F .string "ADI_SYSCTRL_VALUES" + 2232 53595343 + 2232 54524C5F + 2232 56414C55 + 2232 455300 + 2233 .LASF29: + 2234 0097 6266726F .string "bfrom_OtpRead" + 2234 6D5F4F74 + 2234 70526561 + 2234 6400 + 2235 .LASF2: + BFIN GAS /tmp/cc0bhzXF.s page 50 + + + 2236 00a5 756E7369 .string "unsigned char" + 2236 676E6564 + 2236 20636861 + 2236 7200 + 2237 .LASF30: + 2238 00b3 6266726F .string "bfrom_OtpWrite" + 2238 6D5F4F74 + 2238 70577269 + 2238 746500 + 2239 .LASF0: + 2240 00c2 6C6F6E67 .string "long unsigned int" + 2240 20756E73 + 2240 69676E65 + 2240 6420696E + 2240 7400 + 2241 .LASF4: + 2242 00d4 73686F72 .string "short unsigned int" + 2242 7420756E + 2242 7369676E + 2242 65642069 + 2242 6E7400 + 2243 .LASF15: + 2244 00e7 7577506C .string "uwPllDiv" + 2244 6C446976 + 2244 00 + 2245 .LASF31: + 2246 00f0 474E5520 .string "GNU C 4.3.5" + 2246 4320342E + 2246 332E3500 + 2247 .LASF13: + 2248 00fc 75775672 .string "uwVrCtl" + 2248 43746C00 + 2249 .LASF16: + 2250 0104 7577506C .string "uwPllLockCnt" + 2250 6C4C6F63 + 2250 6B436E74 + 2250 00 + 2251 .LASF5: + 2252 0111 756E7369 .string "unsigned int" + 2252 676E6564 + 2252 20696E74 + 2252 00 + 2253 .LASF32: + 2254 011e 7372632F .string "src/l502_init.c" + 2254 6C353032 + 2254 5F696E69 + 2254 742E6300 + 2255 .LASF24: + 2256 012e 706C6C5F .string "pll_setup" + 2256 73657475 + 2256 7000 + 2257 .LASF7: + 2258 0138 6C6F6E67 .string "long long unsigned int" + 2258 206C6F6E + 2258 6720756E + 2258 7369676E + 2258 65642069 + BFIN GAS /tmp/cc0bhzXF.s page 51 + + + 2259 .LASF26: + 2260 014f 6C353032 .string "l502_init" + 2260 5F696E69 + 2260 7400 + 2261 .LASF6: + 2262 0159 6C6F6E67 .string "long long int" + 2262 206C6F6E + 2262 6720696E + 2262 7400 + 2263 .LASF9: + 2264 0167 63686172 .string "char" + 2264 00 + 2265 .LASF14: + 2266 016c 7577506C .string "uwPllCtl" + 2266 6C43746C + 2266 00 + 2267 .LASF19: + 2268 0175 73797363 .string "sysctl" + 2268 746C00 + 2269 .LASF25: + 2270 017c 6C353032 .string "l502_otp_init" + 2270 5F6F7470 + 2270 5F696E69 + 2270 7400 + 2271 .LASF3: + 2272 018a 73686F72 .string "short int" + 2272 7420696E + 2272 7400 + 2273 .LASF28: + 2274 0194 6266726F .string "bfrom_OtpCommand" + 2274 6D5F4F74 + 2274 70436F6D + 2274 6D616E64 + 2274 00 + 2275 .LASF10: + 2276 01a5 75696E74 .string "uint16_t" + 2276 31365F74 + 2276 00 + 2277 .LASF27: + 2278 01ae 6266726F .string "bfrom_SysControl" + 2278 6D5F5379 + 2278 73436F6E + 2278 74726F6C + 2278 00 + 2279 .LASF11: + 2280 01bf 75696E74 .string "uint32_t" + 2280 33325F74 + 2280 00 + 2281 .LASF8: + 2282 01c8 6C6F6E67 .string "long int" + 2282 20696E74 + 2282 00 + 2283 .LASF20: + 2284 01d1 6C353032 .string "l502_otp_make_invalid" + 2284 5F6F7470 + 2284 5F6D616B + 2284 655F696E + BFIN GAS /tmp/cc0bhzXF.s page 52 + + + 2284 76616C69 + 2285 .LASF23: + 2286 01e7 66697273 .string "first_page" + 2286 745F7061 + 2286 676500 + 2287 .LASF1: + 2288 01f2 7369676E .string "signed char" + 2288 65642063 + 2288 68617200 + 2289 .LASF34: + 2290 01fe 7373796E .string "ssync" + 2290 6300 + 2291 .ident "GCC: (ADI-2014R1-RC2) 4.3.5" + BFIN GAS /tmp/cc0bhzXF.s page 53 + + +DEFINED SYMBOLS + *ABS*:0000000000000000 src/l502_init.c + /tmp/cc0bhzXF.s:13 .text:0000000000000000 _l502_otp_make_invalid + /tmp/cc0bhzXF.s:72 .text:0000000000000044 _l502_setup_pll + /tmp/cc0bhzXF.s:96 .text:000000000000006c _l502_otp_write_cfg + /tmp/cc0bhzXF.s:234 .text:0000000000000128 _l502_otp_init + /tmp/cc0bhzXF.s:512 .text:000000000000028c _l502_init + +UNDEFINED SYMBOLS +_fpga_spi_init +_isr_sport_dma_rx +_isr_sport_dma_tx +_hdma_init +_l502_stream_init diff --git a/build/release/lst/l502_params.lst b/build/release/lst/l502_params.lst new file mode 100644 index 0000000..77e84ab --- /dev/null +++ b/build/release/lst/l502_params.lst @@ -0,0 +1,3006 @@ +BFIN GAS /tmp/ccAbtljy.s page 1 + + + 1 .file "src/l502_params.c"; + 2 .section .debug_abbrev,"",@progbits + 3 .Ldebug_abbrev0: + 4 .section .debug_info,"",@progbits + 5 .Ldebug_info0: + 6 .section .debug_line,"",@progbits + 7 .Ldebug_line0: + 8 0000 9E010000 .text; + 8 02000501 + 8 00000101 + 8 FB0E0D00 + 8 01010101 + 9 .Ltext0: + 10 .align 4 + 11 .global _params_set_lch_cnt; + 12 .type _params_set_lch_cnt, STT_FUNC; + 13 _params_set_lch_cnt: + 14 .LFB2: + 15 .file 1 "src/l502_params.c" + 1:src/l502_params.c **** /** @addtogroup config_params + 2:src/l502_params.c **** @{ + 3:src/l502_params.c **** @file l502_params.c + 4:src/l502_params.c **** Файл содержит функции по обработке команд от ПК на установку параметров + 5:src/l502_params.c **** конфигурации сбора данных и других параметров. + 6:src/l502_params.c **** Только в данном файле должны быть изменения полей структуры общих + 7:src/l502_params.c **** настроек - g_set. + 8:src/l502_params.c **** Так же здесь */ + 9:src/l502_params.c **** + 10:src/l502_params.c **** + 11:src/l502_params.c **** #include + 12:src/l502_params.c **** #include + 13:src/l502_params.c **** + 14:src/l502_params.c **** #include "l502_global.h" + 15:src/l502_params.c **** #include "l502_cmd.h" + 16:src/l502_params.c **** #include "l502_fpga.h" + 17:src/l502_params.c **** #include "l502_params.h" + 18:src/l502_params.c **** #include "l502_stream.h" + 19:src/l502_params.c **** + 20:src/l502_params.c **** + 21:src/l502_params.c **** + 22:src/l502_params.c **** /* проверка правильного режима синхронизации */ + 23:src/l502_params.c **** #define CHECK_SYNC_MODE(cmd) (((cmd) != L502_SYNC_INTERNAL) \ + 24:src/l502_params.c **** && ((cmd) !=L502_SYNC_EXTERNAL_MASTER) \ + 25:src/l502_params.c **** && ((cmd) != L502_SYNC_DI_SYN1_RISE) \ + 26:src/l502_params.c **** && ((cmd) != L502_SYNC_DI_SYN2_RISE) \ + 27:src/l502_params.c **** && ((cmd) != L502_SYNC_DI_SYN1_FALL) \ + 28:src/l502_params.c **** && ((cmd) != L502_SYNC_DI_SYN2_FALL) ? L502_BF_ERR_INVALID_CMD_PARAMS : + 29:src/l502_params.c **** + 30:src/l502_params.c **** + 31:src/l502_params.c **** t_settings g_set = { + 32:src/l502_params.c **** .lch_cnt = 1, + 33:src/l502_params.c **** .adc_freq_div = 1, + 34:src/l502_params.c **** .adc_frame_delay = 0, + 35:src/l502_params.c **** .din_freq_div = 2, + 36:src/l502_params.c **** .ref_freq = L502_REF_FREQ_2000KHZ, + 37:src/l502_params.c **** .out_freq_div = X502_OUT_FREQ_DIV_DEFAULT, + 38:src/l502_params.c **** .sync_mode = L502_SYNC_INTERNAL, + BFIN GAS /tmp/ccAbtljy.s page 2 + + + 39:src/l502_params.c **** .sync_start_mode = L502_SYNC_INTERNAL + 40:src/l502_params.c **** }; + 41:src/l502_params.c **** + 42:src/l502_params.c **** t_module_info g_module_info; + 43:src/l502_params.c **** + 44:src/l502_params.c **** + 45:src/l502_params.c **** + 46:src/l502_params.c **** + 47:src/l502_params.c **** /** @brief Установка количества логических каналов + 48:src/l502_params.c **** + 49:src/l502_params.c **** Проверка и запись в поле g_set.lch_cnt значение кол-ва каналов в логической + 50:src/l502_params.c **** таблице АЦП. + 51:src/l502_params.c **** + 52:src/l502_params.c **** @param[in] lch_cnt Количество логических каналов (от 1 до #L502_LTABLE_MAX_CH_CNT) + 53:src/l502_params.c **** @return Код ошибки */ + 54:src/l502_params.c **** int32_t params_set_lch_cnt(uint32_t lch_cnt) { + 16 .loc 1 54 0 + 17 .LVL0: + 55:src/l502_params.c **** if (lch_cnt > L502_LTABLE_MAX_CH_CNT) + 18 .loc 1 55 0 + 19 0000 21E10001 R1 = 256 (X); + 54:src/l502_params.c **** int32_t params_set_lch_cnt(uint32_t lch_cnt) { + 20 .loc 1 54 0 + 21 0004 00E80000 LINK 0; + 22 .LCFI0: + 23 .loc 1 55 0 + 24 0008 080A cc =R0<=R1 (iu); + 25 000a 0B10 if !cc jump .L6; + 56:src/l502_params.c **** return L502_BF_ERR_INVALID_CMD_PARAMS; + 57:src/l502_params.c **** g_set.lch_cnt = lch_cnt; + 26 .loc 1 57 0 + 27 000c 4AE10000 P2.H = _g_set; + 28 0010 0AE10000 P2.L = _g_set; + 29 0014 50E60004 W [P2+2048] = R0; + 30 0018 0060 R0 = 0 (X); + 31 .LVL1: + 58:src/l502_params.c **** return 0; + 59:src/l502_params.c **** } + 32 .loc 1 59 0 + 33 001a 01E80000 UNLINK; + 34 001e 1000 rts; + 35 .LVL2: + 36 .L6: + 55:src/l502_params.c **** if (lch_cnt > L502_LTABLE_MAX_CH_CNT) + 37 .loc 1 55 0 + 38 0020 20E1FEFD R0 = -514 (X); + 39 .LVL3: + 40 .loc 1 59 0 + 41 0024 01E80000 UNLINK; + 42 0028 1000 rts; + 43 .LFE2: + 44 .size _params_set_lch_cnt, .-_params_set_lch_cnt + 45 002a 0000 .align 4 + 46 .global _params_set_lch; + 47 .type _params_set_lch, STT_FUNC; + 48 _params_set_lch: + 49 .LFB3: + BFIN GAS /tmp/ccAbtljy.s page 3 + + + 60:src/l502_params.c **** + 61:src/l502_params.c **** /** @brief Установить параметры логического канала + 62:src/l502_params.c **** + 63:src/l502_params.c **** Функция проверяет входные параметры и записывает их в соответствующее поле + 64:src/l502_params.c **** таблицы g_set.lch[] + 65:src/l502_params.c **** + 66:src/l502_params.c **** @param[in] index Номер логического канала [0, L502_LTABLE_MAX_CH_CNT-1] + 67:src/l502_params.c **** @param[in] ch Номер физического канала (от 0 до 15 или 31) + 68:src/l502_params.c **** @param[in] mode Режим измерения для данного лог. канала + 69:src/l502_params.c **** @param[in] range Диапазон измерения для данного лог. канала + 70:src/l502_params.c **** @param[in] avg Коэф. усреднения по данному лог. каналу + 71:src/l502_params.c **** @param[in] flags Дополнительные флаги + 72:src/l502_params.c **** @return Код ошибки */ + 73:src/l502_params.c **** int32_t params_set_lch(uint32_t index, uint32_t ch, t_l502_lch_mode mode, + 74:src/l502_params.c **** t_l502_adc_range range, uint32_t avg, uint32_t flags) { + 50 .loc 1 74 0 + 51 .LVL4: + 52 002c 1830 R3 = R0; + 75:src/l502_params.c **** if (index >= L502_LTABLE_MAX_CH_CNT) + 53 .loc 1 75 0 + 54 002e 20E1FF00 R0 = 255 (X); + 55 .LVL5: + 74:src/l502_params.c **** t_l502_adc_range range, uint32_t avg, uint32_t flags) { + 56 .loc 1 74 0 + 57 0032 00E80000 LINK 0; + 58 .LCFI1: + 59 .loc 1 75 0 + 60 0036 030A cc =R3<=R0 (iu); + 61 0038 0618 if cc jump .L12; + 62 .L8: + 76:src/l502_params.c **** return L502_BF_ERR_INVALID_CMD_PARAMS; + 77:src/l502_params.c **** if ((mode!=L502_LCH_MODE_COMM) && (mode != L502_LCH_MODE_DIFF) && + 78:src/l502_params.c **** (mode!=L502_LCH_MODE_ZERO)) + 79:src/l502_params.c **** return L502_BF_ERR_INVALID_CMD_PARAMS; + 80:src/l502_params.c **** if ((ch >= 32) || ((mode != L502_LCH_MODE_COMM) && (ch>=16))) + 81:src/l502_params.c **** return L502_BF_ERR_INVALID_CMD_PARAMS; + 82:src/l502_params.c **** + 83:src/l502_params.c **** + 84:src/l502_params.c **** g_set.lch[index].phy_ch = ch; + 85:src/l502_params.c **** g_set.lch[index].mode = mode; + 86:src/l502_params.c **** g_set.lch[index].range = range; + 87:src/l502_params.c **** g_set.lch[index].avg = avg; + 88:src/l502_params.c **** g_set.lch[index].flags = flags; + 89:src/l502_params.c **** return 0; + 63 .loc 1 89 0 + 64 003a 20E1FEFD R0 = -514 (X); + 65 .LVL6: + 66 .L10: + 90:src/l502_params.c **** } + 67 .loc 1 90 0 + 68 003e 01E80000 UNLINK; + 69 0042 1000 rts; + 70 .LVL7: + 71 .L12: + 77:src/l502_params.c **** if ((mode!=L502_LCH_MODE_COMM) && (mode != L502_LCH_MODE_DIFF) && + 72 .loc 1 77 0 + 73 0044 120E cc =R2<=2 (iu); + BFIN GAS /tmp/ccAbtljy.s page 4 + + + 74 0046 FA17 if !cc jump .L8 (bp); + 80:src/l502_params.c **** if ((ch >= 32) || ((mode != L502_LCH_MODE_COMM) && (ch>=16))) + 75 .loc 1 80 0 + 76 0048 F860 R0 = 31 (X); + 77 004a 010A cc =R1<=R0 (iu); + 78 004c F713 if !cc jump .L8; + 79 004e 020C cc =R2==0; + 80 0050 1910 if !cc jump .L13; + 81 .L9: + 84:src/l502_params.c **** g_set.lch[index].phy_ch = ch; + 82 .loc 1 84 0 + 83 0052 82C61B80 R0 = R3 << 3; + 84 0056 0032 P0 = R0; + 85 0058 49E10000 P1.H = _g_set; + 86 005c 09E10000 P1.L = _g_set; + 87 0060 815A P2 = P1 + P0; + 88 0062 119B B [P2] = R1; + 85:src/l502_params.c **** g_set.lch[index].mode = mode; + 89 .loc 1 85 0 + 90 0064 92E60100 B [P2+1] = R2; + 86:src/l502_params.c **** g_set.lch[index].range = range; + 91 .loc 1 86 0 + 92 0068 B8E51400 R0 = B [FP+20] (X); + 93 006c 90E60200 B [P2+2] = R0; + 87:src/l502_params.c **** g_set.lch[index].avg = avg; + 94 .loc 1 87 0 + 95 0070 B8E51800 R0 = B [FP+24] (X); + 96 0074 90E60300 B [P2+3] = R0; + 88:src/l502_params.c **** g_set.lch[index].flags = flags; + 97 .loc 1 88 0 + 98 0078 F8A1 R0 = [FP+28]; + 99 007a 415A P1 = P1 + P0; + 100 007c 48B0 [P1+4] = R0; + 101 007e 0060 R0 = 0 (X); + 102 0080 DF2F jump.s .L10; + 103 .LVL8: + 104 .L13: + 80:src/l502_params.c **** if ((ch >= 32) || ((mode != L502_LCH_MODE_COMM) && (ch>=16))) + 105 .loc 1 80 0 + 106 0082 7860 R0 = 15 (X); + 107 0084 010A cc =R1<=R0 (iu); + 108 0086 E61F if cc jump .L9 (bp); + 109 0088 D92F jump.s .L8; + 110 .LFE3: + 111 .size _params_set_lch, .-_params_set_lch + 112 008a 0000 .align 4 + 113 .global _params_set_adc_freq_div; + 114 .type _params_set_adc_freq_div, STT_FUNC; + 115 _params_set_adc_freq_div: + 116 .LFB4: + 91:src/l502_params.c **** + 92:src/l502_params.c **** /** Установка делителя частоты АЦП + 93:src/l502_params.c **** @param[in] div Значение делителя + 94:src/l502_params.c **** @return Код ошибки */ + 95:src/l502_params.c **** int32_t params_set_adc_freq_div(uint32_t div) { + 117 .loc 1 95 0 + 118 .LVL9: + BFIN GAS /tmp/ccAbtljy.s page 5 + + + 119 008c 0830 R1 = R0; + 96:src/l502_params.c **** if ((div==0) || (div > L502_ADC_FREQ_DIV_MAX)) + 120 .loc 1 96 0 + 121 008e FA63 R2 = -1 (X); + 122 0090 F867 R0 += -1; + 123 .LVL10: + 124 0092 42E10F00 R2.H = 15; + 95:src/l502_params.c **** int32_t params_set_adc_freq_div(uint32_t div) { + 125 .loc 1 95 0 + 126 0096 00E80000 LINK 0; + 127 .LCFI2: + 128 .loc 1 96 0 + 129 009a 100A cc =R0<=R2 (iu); + 130 009c 0B10 if !cc jump .L18; + 97:src/l502_params.c **** return L502_BF_ERR_INVALID_CMD_PARAMS; + 98:src/l502_params.c **** g_set.adc_freq_div = div; + 131 .loc 1 98 0 + 132 009e 4AE10000 P2.H = _g_set; + 133 00a2 0AE10000 P2.L = _g_set; + 134 00a6 11E60102 [P2+2052] = R1; + 135 00aa 0060 R0 = 0 (X); + 99:src/l502_params.c **** return 0; + 100:src/l502_params.c **** } + 136 .loc 1 100 0 + 137 00ac 01E80000 UNLINK; + 138 00b0 1000 rts; + 139 .L18: + 96:src/l502_params.c **** if ((div==0) || (div > L502_ADC_FREQ_DIV_MAX)) + 140 .loc 1 96 0 + 141 00b2 20E1FEFD R0 = -514 (X); + 142 .loc 1 100 0 + 143 00b6 01E80000 UNLINK; + 144 00ba 1000 rts; + 145 .LFE4: + 146 .size _params_set_adc_freq_div, .-_params_set_adc_freq_div + 147 .align 4 + 148 .global _params_set_ref_freq; + 149 .type _params_set_ref_freq, STT_FUNC; + 150 _params_set_ref_freq: + 151 .LFB5: + 101:src/l502_params.c **** + 102:src/l502_params.c **** /** Установка значения опорной частоты + 103:src/l502_params.c **** @param[in] freq_code Значение частоты. Для внутренней может быть только + 104:src/l502_params.c **** #L502_REF_FREQ_2000KHZ или #L502_REF_FREQ_1500KHZ + 105:src/l502_params.c **** @return Код ошибки */ + 106:src/l502_params.c **** int32_t params_set_ref_freq(uint32_t freq_code) { + 152 .loc 1 106 0 + 153 .LVL11: + 107:src/l502_params.c **** g_set.ref_freq = freq_code; + 154 .loc 1 107 0 + 155 00bc 4AE10000 P2.H = _g_set; + 156 00c0 0AE10000 P2.L = _g_set; + 106:src/l502_params.c **** int32_t params_set_ref_freq(uint32_t freq_code) { + 157 .loc 1 106 0 + 158 00c4 00E80000 LINK 0; + 159 .LCFI3: + 160 .loc 1 107 0 + BFIN GAS /tmp/ccAbtljy.s page 6 + + + 161 00c8 10E60402 [P2+2064] = R0; + 108:src/l502_params.c **** return 0; + 109:src/l502_params.c **** } + 162 .loc 1 109 0 + 163 00cc 0060 R0 = 0 (X); + 164 .LVL12: + 165 00ce 01E80000 UNLINK; + 166 00d2 1000 rts; + 167 .LFE5: + 168 .size _params_set_ref_freq, .-_params_set_ref_freq + 169 .align 4 + 170 .global _params_set_adc_interframe_delay; + 171 .type _params_set_adc_interframe_delay, STT_FUNC; + 172 _params_set_adc_interframe_delay: + 173 .LFB6: + 110:src/l502_params.c **** /** Установка значения межкадровой задержки + 111:src/l502_params.c **** @param[in] delay Значение межкадровой задержки (от 0 до L502_ADC_INTERFRAME_DELAY_MAX) + 112:src/l502_params.c **** @return Код ошибки */ + 113:src/l502_params.c **** int32_t params_set_adc_interframe_delay(uint32_t delay) { + 174 .loc 1 113 0 + 175 .LVL13: + 114:src/l502_params.c **** if (delay > L502_ADC_INTERFRAME_DELAY_MAX) + 176 .loc 1 114 0 + 177 00d4 F963 R1 = -1 (X); + 178 00d6 41E11F00 R1.H = 31; + 113:src/l502_params.c **** int32_t params_set_adc_interframe_delay(uint32_t delay) { + 179 .loc 1 113 0 + 180 00da 00E80000 LINK 0; + 181 .LCFI4: + 182 .loc 1 114 0 + 183 00de 080A cc =R0<=R1 (iu); + 184 00e0 0B10 if !cc jump .L25; + 115:src/l502_params.c **** return L502_BF_ERR_INVALID_CMD_PARAMS; + 116:src/l502_params.c **** g_set.adc_frame_delay = delay; + 185 .loc 1 116 0 + 186 00e2 4AE10000 P2.H = _g_set; + 187 00e6 0AE10000 P2.L = _g_set; + 188 00ea 10E60302 [P2+2060] = R0; + 189 00ee 0060 R0 = 0 (X); + 190 .LVL14: + 117:src/l502_params.c **** return 0; + 118:src/l502_params.c **** } + 191 .loc 1 118 0 + 192 00f0 01E80000 UNLINK; + 193 00f4 1000 rts; + 194 .LVL15: + 195 .L25: + 114:src/l502_params.c **** if (delay > L502_ADC_INTERFRAME_DELAY_MAX) + 196 .loc 1 114 0 + 197 00f6 20E1FEFD R0 = -514 (X); + 198 .LVL16: + 199 .loc 1 118 0 + 200 00fa 01E80000 UNLINK; + 201 00fe 1000 rts; + 202 .LFE6: + 203 .size _params_set_adc_interframe_delay, .-_params_set_adc_interframe_delay + 204 .align 4 + BFIN GAS /tmp/ccAbtljy.s page 7 + + + 205 .global _params_set_sync_mode; + 206 .type _params_set_sync_mode, STT_FUNC; + 207 _params_set_sync_mode: + 208 .LFB7: + 119:src/l502_params.c **** + 120:src/l502_params.c **** /** Установка источника опроной частоты синхронизации + 121:src/l502_params.c **** @param[in] sync_mode Значение из #t_l502_sync_mode + 122:src/l502_params.c **** @return Код ошибки */ + 123:src/l502_params.c **** int32_t params_set_sync_mode(t_l502_sync_mode sync_mode) { + 209 .loc 1 123 0 + 210 .LVL17: + 211 0100 00E80000 LINK 0; + 212 .LCFI5: + 124:src/l502_params.c **** int32_t err = CHECK_SYNC_MODE(sync_mode); + 213 .loc 1 124 0 + 214 0104 180E cc =R0<=3 (iu); + 215 0106 041C if cc jump .L27 (bp); + 216 0108 3160 R1 = 6 (X); + 217 010a 0808 cc =R0==R1; + 218 010c 0B10 if !cc jump .L30; + 219 .L27: + 125:src/l502_params.c **** if (!err) + 126:src/l502_params.c **** g_set.sync_mode = sync_mode; + 220 .loc 1 126 0 + 221 010e 4AE10000 P2.H = _g_set; + 222 0112 0AE10000 P2.L = _g_set; + 223 0116 90E61608 B [P2+2070] = R0; + 224 011a 0060 R0 = 0 (X); + 225 .LVL18: + 226 .L28: + 227 .LVL19: + 127:src/l502_params.c **** return err; + 128:src/l502_params.c **** } + 228 .loc 1 128 0 + 229 011c 01E80000 UNLINK; + 230 0120 1000 rts; + 231 .LVL20: + 232 .L30: + 124:src/l502_params.c **** int32_t err = CHECK_SYNC_MODE(sync_mode); + 233 .loc 1 124 0 + 234 0122 3960 R1 = 7 (X); + 235 0124 0808 cc =R0==R1; + 236 0126 F41B if cc jump .L27; + 237 0128 20E1FEFD R0 = -514 (X); + 238 .LVL21: + 239 012c F82F jump.s .L28; + 240 .LFE7: + 241 .size _params_set_sync_mode, .-_params_set_sync_mode + 242 012e 0000 .align 4 + 243 .global _params_set_sync_start_mode; + 244 .type _params_set_sync_start_mode, STT_FUNC; + 245 _params_set_sync_start_mode: + 246 .LFB8: + 129:src/l502_params.c **** + 130:src/l502_params.c **** /** Установка источника синхронизации старта сбора данных + 131:src/l502_params.c **** @param[in] sync_mode Значение из #t_l502_sync_mode + 132:src/l502_params.c **** @return Код ошибки */ + BFIN GAS /tmp/ccAbtljy.s page 8 + + + 133:src/l502_params.c **** int32_t params_set_sync_start_mode(t_l502_sync_mode sync_mode) { + 247 .loc 1 133 0 + 248 .LVL22: + 249 0130 00E80000 LINK 0; + 250 .LCFI6: + 134:src/l502_params.c **** int32_t err = CHECK_SYNC_MODE(sync_mode); + 251 .loc 1 134 0 + 252 0134 180E cc =R0<=3 (iu); + 253 0136 041C if cc jump .L32 (bp); + 254 0138 3160 R1 = 6 (X); + 255 013a 0808 cc =R0==R1; + 256 013c 0B10 if !cc jump .L35; + 257 .L32: + 135:src/l502_params.c **** if (!err) + 136:src/l502_params.c **** g_set.sync_start_mode = sync_mode; + 258 .loc 1 136 0 + 259 013e 4AE10000 P2.H = _g_set; + 260 0142 0AE10000 P2.L = _g_set; + 261 0146 90E61708 B [P2+2071] = R0; + 262 014a 0060 R0 = 0 (X); + 263 .LVL23: + 264 .L33: + 265 .LVL24: + 137:src/l502_params.c **** return err; + 138:src/l502_params.c **** } + 266 .loc 1 138 0 + 267 014c 01E80000 UNLINK; + 268 0150 1000 rts; + 269 .LVL25: + 270 .L35: + 134:src/l502_params.c **** int32_t err = CHECK_SYNC_MODE(sync_mode); + 271 .loc 1 134 0 + 272 0152 3960 R1 = 7 (X); + 273 0154 0808 cc =R0==R1; + 274 0156 F41B if cc jump .L32; + 275 0158 20E1FEFD R0 = -514 (X); + 276 .LVL26: + 277 015c F82F jump.s .L33; + 278 .LFE8: + 279 .size _params_set_sync_start_mode, .-_params_set_sync_start_mode + 280 015e 0000 .align 4 + 281 .global _params_set_din_freq_div; + 282 .type _params_set_din_freq_div, STT_FUNC; + 283 _params_set_din_freq_div: + 284 .LFB9: + 139:src/l502_params.c **** + 140:src/l502_params.c **** + 141:src/l502_params.c **** /** Установка делителя частоты синхронного ввода цифровых линий + 142:src/l502_params.c **** @param[in] div Значение делителя + 143:src/l502_params.c **** @return Код ошибки */ + 144:src/l502_params.c **** int32_t params_set_din_freq_div(uint32_t div) { + 285 .loc 1 144 0 + 286 .LVL27: + 287 0160 0830 R1 = R0; + 145:src/l502_params.c **** if ((div==0) || (div > L502_DIN_FREQ_DIV_MAX)) + 288 .loc 1 145 0 + 289 0162 FA63 R2 = -1 (X); + BFIN GAS /tmp/ccAbtljy.s page 9 + + + 290 0164 F867 R0 += -1; + 291 .LVL28: + 292 0166 42E10F00 R2.H = 15; + 144:src/l502_params.c **** int32_t params_set_din_freq_div(uint32_t div) { + 293 .loc 1 144 0 + 294 016a 00E80000 LINK 0; + 295 .LCFI7: + 296 .loc 1 145 0 + 297 016e 100A cc =R0<=R2 (iu); + 298 0170 0B10 if !cc jump .L40; + 146:src/l502_params.c **** return L502_BF_ERR_INVALID_CMD_PARAMS; + 147:src/l502_params.c **** g_set.din_freq_div = div; + 299 .loc 1 147 0 + 300 0172 4AE10000 P2.H = _g_set; + 301 0176 0AE10000 P2.L = _g_set; + 302 017a 11E60202 [P2+2056] = R1; + 303 017e 0060 R0 = 0 (X); + 148:src/l502_params.c **** return 0; + 149:src/l502_params.c **** } + 304 .loc 1 149 0 + 305 0180 01E80000 UNLINK; + 306 0184 1000 rts; + 307 .L40: + 145:src/l502_params.c **** if ((div==0) || (div > L502_DIN_FREQ_DIV_MAX)) + 308 .loc 1 145 0 + 309 0186 20E1FEFD R0 = -514 (X); + 310 .loc 1 149 0 + 311 018a 01E80000 UNLINK; + 312 018e 1000 rts; + 313 .LFE9: + 314 .size _params_set_din_freq_div, .-_params_set_din_freq_div + 315 .align 4 + 316 .global _params_set_dac_freq_div; + 317 .type _params_set_dac_freq_div, STT_FUNC; + 318 _params_set_dac_freq_div: + 319 .LFB10: + 150:src/l502_params.c **** + 151:src/l502_params.c **** /** Установка делителя частоты вывода на ЦАП + 152:src/l502_params.c **** @param[in] div Значение делителя (1 или 2) + 153:src/l502_params.c **** @return Код ошибки */ + 154:src/l502_params.c **** int32_t params_set_dac_freq_div(uint32_t div) { + 320 .loc 1 154 0 + 321 .LVL29: + 322 0190 0830 R1 = R0; + 155:src/l502_params.c **** if ((div < X502_OUT_FREQ_DIV_MIN) || (div > X502_OUT_FREQ_DIV_MAX)) + 323 .loc 1 155 0 + 324 0192 F067 R0 += -2; + 325 .LVL30: + 326 0194 22E1FE03 R2 = 1022 (X); + 154:src/l502_params.c **** int32_t params_set_dac_freq_div(uint32_t div) { + 327 .loc 1 154 0 + 328 0198 00E80000 LINK 0; + 329 .LCFI8: + 330 .loc 1 155 0 + 331 019c 100A cc =R0<=R2 (iu); + 332 019e 0B10 if !cc jump .L45; + 156:src/l502_params.c **** return L502_BF_ERR_INVALID_CMD_PARAMS; + BFIN GAS /tmp/ccAbtljy.s page 10 + + + 157:src/l502_params.c **** g_set.out_freq_div = div; + 333 .loc 1 157 0 + 334 01a0 4AE10000 P2.H = _g_set; + 335 01a4 0AE10000 P2.L = _g_set; + 336 01a8 51E60A04 W [P2+2068] = R1; + 337 01ac 0060 R0 = 0 (X); + 158:src/l502_params.c **** return 0; + 159:src/l502_params.c **** } + 338 .loc 1 159 0 + 339 01ae 01E80000 UNLINK; + 340 01b2 1000 rts; + 341 .L45: + 155:src/l502_params.c **** if ((div < X502_OUT_FREQ_DIV_MIN) || (div > X502_OUT_FREQ_DIV_MAX)) + 342 .loc 1 155 0 + 343 01b4 20E1FEFD R0 = -514 (X); + 344 .loc 1 159 0 + 345 01b8 01E80000 UNLINK; + 346 01bc 1000 rts; + 347 .LFE10: + 348 .size _params_set_dac_freq_div, .-_params_set_dac_freq_div + 349 01be 0000 .align 4 + 350 .global _configure; + 351 .type _configure, STT_FUNC; + 352 _configure: + 353 .LFB11: + 160:src/l502_params.c **** + 161:src/l502_params.c **** + 162:src/l502_params.c **** + 163:src/l502_params.c **** + 164:src/l502_params.c **** /** @brief Запись параметров сбора в регистры ПЛИС + 165:src/l502_params.c **** + 166:src/l502_params.c **** Функция выполняет запись всех параметров из структуры #g_set в регистры + 167:src/l502_params.c **** ПЛИС. Функция может вызываться только когда сбор данных остановлен. + 168:src/l502_params.c **** + 169:src/l502_params.c **** @return Код ошибки */ + 170:src/l502_params.c **** int32_t configure(void) { + 354 .loc 1 170 0 + 355 01c0 E305 [--sp] = ( r7:4, p5:3 ); + 356 + 357 .LCFI9: + 171:src/l502_params.c **** uint16_t ch; + 172:src/l502_params.c **** + 173:src/l502_params.c **** int32_t err = g_mode != L502_BF_MODE_IDLE ? L502_BF_ERR_STREAM_RUNNING : 0; + 358 .loc 1 173 0 + 359 01c2 4AE10000 P2.H = _g_mode; + 170:src/l502_params.c **** int32_t configure(void) { + 360 .loc 1 170 0 + 361 01c6 00E80300 LINK 12; + 362 .LCFI10: + 363 .loc 1 173 0 + 364 01ca 0AE10000 P2.L = _g_mode; + 365 01ce 1091 R0 = [P2]; + 366 01d0 000C cc =R0==0; + 367 01d2 071C if cc jump .L47 (bp); + 174:src/l502_params.c **** if (!err) { + 175:src/l502_params.c **** /* записываем логическую таблицу */ + 176:src/l502_params.c **** for (ch = 0; ch < g_set.lch_cnt; ch++) { + BFIN GAS /tmp/ccAbtljy.s page 11 + + + 177:src/l502_params.c **** uint32_t wrd = ((g_set.lch[ch].phy_ch & 0xF) << 3) | (g_set.lch[ch].range & 0x7); + 178:src/l502_params.c **** + 179:src/l502_params.c **** if (g_set.lch[ch].mode == L502_LCH_MODE_ZERO) { + 180:src/l502_params.c **** wrd |= (3 << 7); + 181:src/l502_params.c **** } else if (g_set.lch[ch].mode == L502_LCH_MODE_COMM) { + 182:src/l502_params.c **** wrd |= (g_set.lch[ch].phy_ch & 0x10 ? 2 : 1) << 7; + 183:src/l502_params.c **** } + 184:src/l502_params.c **** + 185:src/l502_params.c **** if (g_set.lch[ch].avg) + 186:src/l502_params.c **** wrd |= ((g_set.lch[ch].avg-1) & 0x7F) << 9; + 187:src/l502_params.c **** + 188:src/l502_params.c **** fpga_reg_write(L502_REGS_IOHARD_LTABLE + g_set.lch_cnt - 1 - ch, wrd); + 189:src/l502_params.c **** } + 190:src/l502_params.c **** + 191:src/l502_params.c **** fpga_reg_write(L502_REGS_IOHARD_LCH_CNT, g_set.lch_cnt - 1); + 192:src/l502_params.c **** + 193:src/l502_params.c **** fpga_reg_write(L502_REGS_IOHARD_ADC_FREQ_DIV, g_set.adc_freq_div - 1); + 194:src/l502_params.c **** fpga_reg_write(L502_REGS_IOARITH_ADC_FREQ_DIV, g_set.adc_freq_div - 1); + 195:src/l502_params.c **** + 196:src/l502_params.c **** fpga_reg_write(L502_REGS_IOHARD_ADC_FRAME_DELAY, g_set.adc_frame_delay); + 197:src/l502_params.c **** + 198:src/l502_params.c **** fpga_reg_write(L502_REGS_IOHARD_IO_MODE, (g_set.sync_mode & 0x7) + 199:src/l502_params.c **** | ((g_set.sync_start_mode&0x7)<<3) + 200:src/l502_params.c **** | ((g_set.ref_freq==L502_REF_FREQ_2000KHZ ? 0 : 2) << 7) + 201:src/l502_params.c **** | (((g_set.out_freq_div-1)&0x3FF)<<9)); + 202:src/l502_params.c **** + 203:src/l502_params.c **** fpga_reg_write(L502_REGS_IOHARD_DIGIN_FREQ_DIV, g_set.din_freq_div - 1); + 204:src/l502_params.c **** } + 205:src/l502_params.c **** return err; + 206:src/l502_params.c **** } + 368 .loc 1 206 0 + 369 01d4 01E80000 UNLINK; + 173:src/l502_params.c **** int32_t err = g_mode != L502_BF_MODE_IDLE ? L502_BF_ERR_STREAM_RUNNING : 0; + 370 .loc 1 173 0 + 371 01d8 20E1FCFD R0 = -516 (X); + 372 .LVL31: + 373 .loc 1 206 0 + 374 01dc A305 ( r7:4, p5:3 ) = [sp++]; + 375 + 376 .LCFI11: + 377 .LVL32: + 378 01de 1000 rts; + 379 .L47: + 176:src/l502_params.c **** for (ch = 0; ch < g_set.lch_cnt; ch++) { + 380 .loc 1 176 0 + 381 01e0 4DE10000 P5.H = _g_set; + 382 01e4 0DE10000 P5.L = _g_set; + 383 01e8 6BE50004 R3 = W [P5+2048] (X); + 384 01ec D942 R1 = R3.L (Z); + 385 01ee 010C cc =R1==0; + 386 01f0 3918 if cc jump .L49; + 387 01f2 0760 R7 = 0 (X); + 388 .LVL33: + 389 01f4 0060 R0 = 0 (X); + 390 .LBB2: + 177:src/l502_params.c **** uint32_t wrd = ((g_set.lch[ch].phy_ch & 0xF) << 3) | (g_set.lch[ch].range & 0x7); + 391 .loc 1 177 0 + BFIN GAS /tmp/ccAbtljy.s page 12 + + + 392 01f6 7C60 R4 = 15 (X); + 393 01f8 3D60 R5 = 7 (X); + 182:src/l502_params.c **** wrd |= (g_set.lch[ch].phy_ch & 0x10 ? 2 : 1) << 7; + 394 .loc 1 182 0 + 395 01fa 2BE10001 P3 = 256 (X); + 396 01fe 2CE18000 P4 = 128 (X); + 188:src/l502_params.c **** fpga_reg_write(L502_REGS_IOHARD_LTABLE + g_set.lch_cnt - 1 - ch, wrd); + 397 .loc 1 188 0 + 398 0202 26E1FF01 R6 = 511 (X); + 399 0206 1C20 jump.s .L55; + 400 .LVL34: + 401 .L50: + 181:src/l502_params.c **** } else if (g_set.lch[ch].mode == L502_LCH_MODE_COMM) { + 402 .loc 1 181 0 + 403 0208 000C cc =R0==0; + 404 020a 0514 if !cc jump .L51 (bp); + 182:src/l502_params.c **** wrd |= (g_set.lch[ch].phy_ch & 0x10 ? 2 : 1) << 7; + 405 .loc 1 182 0 + 406 020c 2248 cc = !BITTST (R2,4); + 407 020e 43064407 if !cc R0 = P3; if cc R0 = P4; + 408 0212 4156 R1 = R1 | R0; + 409 .L51: + 185:src/l502_params.c **** if (g_set.lch[ch].avg) + 410 .loc 1 185 0 + 411 0214 8D5A P2 = P5 + P1; + 412 0216 90E40300 R0 = B [P2+3] (Z); + 413 021a 000C cc =R0==0; + 414 021c 051C if cc jump .L54 (bp); + 186:src/l502_params.c **** wrd |= ((g_set.lch[ch].avg-1) & 0x7F) << 9; + 415 .loc 1 186 0 + 416 021e F867 R0 += -1; + 417 0220 484F R0 <<= 9; + 418 0222 C042 R0 = R0.L (Z); + 419 0224 4156 R1 = R1 | R0; + 420 .L54: + 188:src/l502_params.c **** fpga_reg_write(L502_REGS_IOHARD_LTABLE + g_set.lch_cnt - 1 - ch, wrd); + 421 .loc 1 188 0 + 422 0226 3350 R0 = R3 + R6; + 423 0228 3852 R0 = R0 - R7; + 424 022a C042 R0 = R0.L (Z); + 425 022c FFE3EAFE call _fpga_reg_write; + 426 .LVL35: + 427 .LBE2: + 176:src/l502_params.c **** for (ch = 0; ch < g_set.lch_cnt; ch++) { + 428 .loc 1 176 0 + 429 0230 0F64 R7 += 1; + 430 .LVL36: + 431 0232 6BE50004 R3 = W [P5+2048] (X); + 432 0236 D942 R1 = R3.L (Z); + 433 0238 F842 R0 = R7.L (Z); + 434 023a 010A cc =R1<=R0 (iu); + 435 023c 1318 if cc jump .L49; + 436 .L55: + 437 .LBB3: + 177:src/l502_params.c **** uint32_t wrd = ((g_set.lch[ch].phy_ch & 0xF) << 3) | (g_set.lch[ch].range & 0x7); + 438 .loc 1 177 0 + 439 023e 184F R0 <<= 3; + BFIN GAS /tmp/ccAbtljy.s page 13 + + + 440 0240 0832 P1 = R0; + 441 0242 8D5A P2 = P5 + P1; + 442 0244 1299 R2 = B [P2] (Z); + 443 0246 6254 R1 = R2 & R4; + 444 0248 90E40200 R0 = B [P2+2] (Z); + 445 024c 2854 R0 = R0 & R5; + 446 024e 194F R1 <<= 3; + 447 0250 4156 R1 = R1 | R0; + 448 .LVL37: + 179:src/l502_params.c **** if (g_set.lch[ch].mode == L502_LCH_MODE_ZERO) { + 449 .loc 1 179 0 + 450 0252 90E40100 R0 = B [P2+1] (Z); + 451 0256 100C cc =R0==2; + 452 0258 D817 if !cc jump .L50 (bp); + 180:src/l502_params.c **** wrd |= (3 << 7); + 453 .loc 1 180 0 + 454 025a 20E18001 R0 = 384 (X); + 455 025e 4156 R1 = R1 | R0; + 456 0260 DA2F jump.s .L51; + 457 .LVL38: + 458 .L49: + 459 .LBE3: + 191:src/l502_params.c **** fpga_reg_write(L502_REGS_IOHARD_LCH_CNT, g_set.lch_cnt - 1); + 460 .loc 1 191 0 + 461 0262 F967 R1 += -1; + 462 0264 20E10003 R0 = 768 (X); + 463 0268 FFE3CCFE call _fpga_reg_write; + 193:src/l502_params.c **** fpga_reg_write(L502_REGS_IOHARD_ADC_FREQ_DIV, g_set.adc_freq_div - 1); + 464 .loc 1 193 0 + 465 026c 29E40102 R1 = [P5+2052]; + 466 0270 F967 R1 += -1; + 467 0272 20E10203 R0 = 770 (X); + 468 0276 FFE3C5FE call _fpga_reg_write; + 194:src/l502_params.c **** fpga_reg_write(L502_REGS_IOARITH_ADC_FREQ_DIV, g_set.adc_freq_div - 1); + 469 .loc 1 194 0 + 470 027a 29E40102 R1 = [P5+2052]; + 471 027e F967 R1 += -1; + 472 0280 20E11204 R0 = 1042 (X); + 473 0284 FFE3BEFE call _fpga_reg_write; + 196:src/l502_params.c **** fpga_reg_write(L502_REGS_IOHARD_ADC_FRAME_DELAY, g_set.adc_frame_delay); + 474 .loc 1 196 0 + 475 0288 29E40302 R1 = [P5+2060]; + 476 028c 20E10403 R0 = 772 (X); + 477 0290 FFE3B8FE call _fpga_reg_write; + 198:src/l502_params.c **** fpga_reg_write(L502_REGS_IOHARD_IO_MODE, (g_set.sync_mode & 0x7) + 478 .loc 1 198 0 + 479 0294 21E1093D R1 = 15625 (X); + 480 0298 28E40402 R0 = [P5+2064]; + 481 029c 394F R1 <<= 7; + 482 029e 0808 cc =R0==R1; + 483 02a0 20E10001 R0 = 256 (X); + 484 02a4 0360 R3 = 0 (X); + 485 02a6 1806 if !cc R3 = R0; + 486 02a8 A9E41708 R1 = B [P5+2071] (Z); + 487 02ac 3A60 R2 = 7 (X); + 488 02ae A8E41608 R0 = B [P5+2070] (Z); + 489 02b2 5154 R1 = R1 & R2; + BFIN GAS /tmp/ccAbtljy.s page 14 + + + 490 02b4 1054 R0 = R0 & R2; + 491 02b6 194F R1 <<= 3; + 492 02b8 4156 R1 = R1 | R0; + 493 02ba 68E40A04 R0 = W [P5+2068] (Z); + 494 02be 22E1FF03 R2 = 1023 (X); + 495 02c2 F867 R0 += -1; + 496 02c4 1054 R0 = R0 & R2; + 497 02c6 484F R0 <<= 9; + 498 02c8 4156 R1 = R1 | R0; + 499 02ca 5956 R1 = R1 | R3; + 500 02cc 20E10803 R0 = 776 (X); + 501 02d0 FFE398FE call _fpga_reg_write; + 203:src/l502_params.c **** fpga_reg_write(L502_REGS_IOHARD_DIGIN_FREQ_DIV, g_set.din_freq_div - 1); + 502 .loc 1 203 0 + 503 02d4 29E40202 R1 = [P5+2056]; + 504 02d8 20E10603 R0 = 774 (X); + 505 02dc F967 R1 += -1; + 506 02de FFE391FE call _fpga_reg_write; + 507 .loc 1 206 0 + 508 02e2 01E80000 UNLINK; + 203:src/l502_params.c **** fpga_reg_write(L502_REGS_IOHARD_DIGIN_FREQ_DIV, g_set.din_freq_div - 1); + 509 .loc 1 203 0 + 510 02e6 0060 R0 = 0 (X); + 511 .LVL39: + 512 .LVL40: + 513 .loc 1 206 0 + 514 02e8 A305 ( r7:4, p5:3 ) = [sp++]; + 515 + 516 .LCFI12: + 517 .LVL41: + 518 02ea 1000 rts; + 519 .LFE11: + 520 .size _configure, .-_configure + 521 .global _g_set; + 522 .data; + 523 .align 4 + 524 .type _g_set, @object + 525 .size _g_set, 2072 + 526 _g_set: + 527 0000 00000000 .zero 2048 + 527 00000000 + 527 00000000 + 527 00000000 + 527 00000000 + 528 0800 0100 .short 1 + 529 0802 0000 .zero 2 + 530 0804 01000000 .long 1 + 531 0808 02000000 .long 2 + 532 080c 00000000 .long 0 + 533 0810 80841E00 .long 2000000 + 534 0814 0200 .short 2 + 535 0816 00 .byte 0 + 536 0817 00 .byte 0 + 537 .comm _g_module_info,24,4 + 538 .section .debug_frame,"",@progbits + 539 .Lframe0: + 540 0000 0C000000 .4byte .LECIE0-.LSCIE0 + BFIN GAS /tmp/ccAbtljy.s page 15 + + + 541 .LSCIE0: + 542 0004 FFFFFFFF .4byte 0xffffffff + 543 0008 01 .byte 0x1 + 544 0009 00 .string "" + 545 000a 01 .uleb128 0x1 + 546 000b 7C .sleb128 -4 + 547 000c 23 .byte 0x23 + 548 000d 0C .byte 0xc + 549 000e 0E .uleb128 0xe + 550 000f 00 .uleb128 0x0 + 551 .align 4 + 552 .LECIE0: + 553 .LSFDE0: + 554 0010 14000000 .4byte .LEFDE0-.LASFDE0 + 555 .LASFDE0: + 556 0014 00000000 .4byte .Lframe0 + 557 0018 00000000 .4byte .LFB2 + 558 001c 2A000000 .4byte .LFE2-.LFB2 + 559 0020 48 .byte 0x4 + 560 .4byte .LCFI0-.LFB2 + 561 0021 0C .byte 0xc + 562 0022 0F .uleb128 0xf + 563 0023 08 .uleb128 0x8 + 564 0024 8F .byte 0x8f + 565 0025 02 .uleb128 0x2 + 566 0026 A3 .byte 0xa3 + 567 0027 01 .uleb128 0x1 + 568 .align 4 + 569 .LEFDE0: + 570 .LSFDE2: + 571 0028 14000000 .4byte .LEFDE2-.LASFDE2 + 572 .LASFDE2: + 573 002c 00000000 .4byte .Lframe0 + 574 0030 2C000000 .4byte .LFB3 + 575 0034 5E000000 .4byte .LFE3-.LFB3 + 576 0038 4A .byte 0x4 + 577 .4byte .LCFI1-.LFB3 + 578 0039 0C .byte 0xc + 579 003a 0F .uleb128 0xf + 580 003b 08 .uleb128 0x8 + 581 003c 8F .byte 0x8f + 582 003d 02 .uleb128 0x2 + 583 003e A3 .byte 0xa3 + 584 003f 01 .uleb128 0x1 + 585 .align 4 + 586 .LEFDE2: + 587 .LSFDE4: + 588 0040 14000000 .4byte .LEFDE4-.LASFDE4 + 589 .LASFDE4: + 590 0044 00000000 .4byte .Lframe0 + 591 0048 8C000000 .4byte .LFB4 + 592 004c 30000000 .4byte .LFE4-.LFB4 + 593 0050 4E .byte 0x4 + 594 .4byte .LCFI2-.LFB4 + 595 0051 0C .byte 0xc + 596 0052 0F .uleb128 0xf + 597 0053 08 .uleb128 0x8 + BFIN GAS /tmp/ccAbtljy.s page 16 + + + 598 0054 8F .byte 0x8f + 599 0055 02 .uleb128 0x2 + 600 0056 A3 .byte 0xa3 + 601 0057 01 .uleb128 0x1 + 602 .align 4 + 603 .LEFDE4: + 604 .LSFDE6: + 605 0058 14000000 .4byte .LEFDE6-.LASFDE6 + 606 .LASFDE6: + 607 005c 00000000 .4byte .Lframe0 + 608 0060 BC000000 .4byte .LFB5 + 609 0064 18000000 .4byte .LFE5-.LFB5 + 610 0068 4C .byte 0x4 + 611 .4byte .LCFI3-.LFB5 + 612 0069 0C .byte 0xc + 613 006a 0F .uleb128 0xf + 614 006b 08 .uleb128 0x8 + 615 006c 8F .byte 0x8f + 616 006d 02 .uleb128 0x2 + 617 006e A3 .byte 0xa3 + 618 006f 01 .uleb128 0x1 + 619 .align 4 + 620 .LEFDE6: + 621 .LSFDE8: + 622 0070 14000000 .4byte .LEFDE8-.LASFDE8 + 623 .LASFDE8: + 624 0074 00000000 .4byte .Lframe0 + 625 0078 D4000000 .4byte .LFB6 + 626 007c 2C000000 .4byte .LFE6-.LFB6 + 627 0080 4A .byte 0x4 + 628 .4byte .LCFI4-.LFB6 + 629 0081 0C .byte 0xc + 630 0082 0F .uleb128 0xf + 631 0083 08 .uleb128 0x8 + 632 0084 8F .byte 0x8f + 633 0085 02 .uleb128 0x2 + 634 0086 A3 .byte 0xa3 + 635 0087 01 .uleb128 0x1 + 636 .align 4 + 637 .LEFDE8: + 638 .LSFDE10: + 639 0088 14000000 .4byte .LEFDE10-.LASFDE10 + 640 .LASFDE10: + 641 008c 00000000 .4byte .Lframe0 + 642 0090 00010000 .4byte .LFB7 + 643 0094 2E000000 .4byte .LFE7-.LFB7 + 644 0098 44 .byte 0x4 + 645 .4byte .LCFI5-.LFB7 + 646 0099 0C .byte 0xc + 647 009a 0F .uleb128 0xf + 648 009b 08 .uleb128 0x8 + 649 009c 8F .byte 0x8f + 650 009d 02 .uleb128 0x2 + 651 009e A3 .byte 0xa3 + 652 009f 01 .uleb128 0x1 + 653 .align 4 + 654 .LEFDE10: + BFIN GAS /tmp/ccAbtljy.s page 17 + + + 655 .LSFDE12: + 656 00a0 14000000 .4byte .LEFDE12-.LASFDE12 + 657 .LASFDE12: + 658 00a4 00000000 .4byte .Lframe0 + 659 00a8 30010000 .4byte .LFB8 + 660 00ac 2E000000 .4byte .LFE8-.LFB8 + 661 00b0 44 .byte 0x4 + 662 .4byte .LCFI6-.LFB8 + 663 00b1 0C .byte 0xc + 664 00b2 0F .uleb128 0xf + 665 00b3 08 .uleb128 0x8 + 666 00b4 8F .byte 0x8f + 667 00b5 02 .uleb128 0x2 + 668 00b6 A3 .byte 0xa3 + 669 00b7 01 .uleb128 0x1 + 670 .align 4 + 671 .LEFDE12: + 672 .LSFDE14: + 673 00b8 14000000 .4byte .LEFDE14-.LASFDE14 + 674 .LASFDE14: + 675 00bc 00000000 .4byte .Lframe0 + 676 00c0 60010000 .4byte .LFB9 + 677 00c4 30000000 .4byte .LFE9-.LFB9 + 678 00c8 4E .byte 0x4 + 679 .4byte .LCFI7-.LFB9 + 680 00c9 0C .byte 0xc + 681 00ca 0F .uleb128 0xf + 682 00cb 08 .uleb128 0x8 + 683 00cc 8F .byte 0x8f + 684 00cd 02 .uleb128 0x2 + 685 00ce A3 .byte 0xa3 + 686 00cf 01 .uleb128 0x1 + 687 .align 4 + 688 .LEFDE14: + 689 .LSFDE16: + 690 00d0 14000000 .4byte .LEFDE16-.LASFDE16 + 691 .LASFDE16: + 692 00d4 00000000 .4byte .Lframe0 + 693 00d8 90010000 .4byte .LFB10 + 694 00dc 2E000000 .4byte .LFE10-.LFB10 + 695 00e0 4C .byte 0x4 + 696 .4byte .LCFI8-.LFB10 + 697 00e1 0C .byte 0xc + 698 00e2 0F .uleb128 0xf + 699 00e3 08 .uleb128 0x8 + 700 00e4 8F .byte 0x8f + 701 00e5 02 .uleb128 0x2 + 702 00e6 A3 .byte 0xa3 + 703 00e7 01 .uleb128 0x1 + 704 .align 4 + 705 .LEFDE16: + 706 .LSFDE18: + 707 00e8 28000000 .4byte .LEFDE18-.LASFDE18 + 708 .LASFDE18: + 709 00ec 00000000 .4byte .Lframe0 + 710 00f0 C0010000 .4byte .LFB11 + 711 00f4 2C010000 .4byte .LFE11-.LFB11 + BFIN GAS /tmp/ccAbtljy.s page 18 + + + 712 00f8 42 .byte 0x4 + 713 .4byte .LCFI9-.LFB11 + 714 00f9 0E .byte 0xe + 715 00fa 1C .uleb128 0x1c + 716 00fb 48 .byte 0x4 + 717 .4byte .LCFI10-.LCFI9 + 718 00fc 0C .byte 0xc + 719 00fd 0F .uleb128 0xf + 720 00fe 24 .uleb128 0x24 + 721 00ff 8F .byte 0x8f + 722 0100 09 .uleb128 0x9 + 723 0101 A3 .byte 0xa3 + 724 0102 08 .uleb128 0x8 + 725 0103 8D .byte 0x8d + 726 0104 07 .uleb128 0x7 + 727 0105 8C .byte 0x8c + 728 0106 06 .uleb128 0x6 + 729 0107 8B .byte 0x8b + 730 0108 05 .uleb128 0x5 + 731 0109 87 .byte 0x87 + 732 010a 04 .uleb128 0x4 + 733 010b 86 .byte 0x86 + 734 010c 03 .uleb128 0x3 + 735 010d 85 .byte 0x85 + 736 010e 02 .uleb128 0x2 + 737 010f 84 .byte 0x84 + 738 0110 01 .uleb128 0x1 + 739 0111 000000 .align 4 + 740 .LEFDE18: + 741 .text; + 742 .Letext0: + 743 .section .debug_loc,"",@progbits + 744 .Ldebug_loc0: + 745 .LLST0: + 746 0000 00000000 .4byte .LFB2-.Ltext0 + 747 0004 08000000 .4byte .LCFI0-.Ltext0 + 748 0008 0100 .2byte 0x1 + 749 000a 5E .byte 0x5e + 750 000b 08000000 .4byte .LCFI0-.Ltext0 + 751 000f 2A000000 .4byte .LFE2-.Ltext0 + 752 0013 0200 .2byte 0x2 + 753 0015 7F .byte 0x7f + 754 0016 08 .sleb128 8 + 755 0017 00000000 .4byte 0x0 + 756 001b 00000000 .4byte 0x0 + 757 .LLST1: + 758 001f 00000000 .4byte .LVL0-.Ltext0 + 759 0023 1A000000 .4byte .LVL1-.Ltext0 + 760 0027 0100 .2byte 0x1 + 761 0029 50 .byte 0x50 + 762 002a 20000000 .4byte .LVL2-.Ltext0 + 763 002e 24000000 .4byte .LVL3-.Ltext0 + 764 0032 0100 .2byte 0x1 + 765 0034 50 .byte 0x50 + 766 0035 00000000 .4byte 0x0 + 767 0039 00000000 .4byte 0x0 + 768 .LLST2: + BFIN GAS /tmp/ccAbtljy.s page 19 + + + 769 003d 2C000000 .4byte .LFB3-.Ltext0 + 770 0041 36000000 .4byte .LCFI1-.Ltext0 + 771 0045 0100 .2byte 0x1 + 772 0047 5E .byte 0x5e + 773 0048 36000000 .4byte .LCFI1-.Ltext0 + 774 004c 8A000000 .4byte .LFE3-.Ltext0 + 775 0050 0200 .2byte 0x2 + 776 0052 7F .byte 0x7f + 777 0053 08 .sleb128 8 + 778 0054 00000000 .4byte 0x0 + 779 0058 00000000 .4byte 0x0 + 780 .LLST3: + 781 005c 2C000000 .4byte .LVL4-.Ltext0 + 782 0060 32000000 .4byte .LVL5-.Ltext0 + 783 0064 0100 .2byte 0x1 + 784 0066 50 .byte 0x50 + 785 0067 32000000 .4byte .LVL5-.Ltext0 + 786 006b 8A000000 .4byte .LFE3-.Ltext0 + 787 006f 0100 .2byte 0x1 + 788 0071 53 .byte 0x53 + 789 0072 00000000 .4byte 0x0 + 790 0076 00000000 .4byte 0x0 + 791 .LLST4: + 792 007a 8C000000 .4byte .LFB4-.Ltext0 + 793 007e 9A000000 .4byte .LCFI2-.Ltext0 + 794 0082 0100 .2byte 0x1 + 795 0084 5E .byte 0x5e + 796 0085 9A000000 .4byte .LCFI2-.Ltext0 + 797 0089 BC000000 .4byte .LFE4-.Ltext0 + 798 008d 0200 .2byte 0x2 + 799 008f 7F .byte 0x7f + 800 0090 08 .sleb128 8 + 801 0091 00000000 .4byte 0x0 + 802 0095 00000000 .4byte 0x0 + 803 .LLST5: + 804 0099 8C000000 .4byte .LVL9-.Ltext0 + 805 009d 92000000 .4byte .LVL10-.Ltext0 + 806 00a1 0100 .2byte 0x1 + 807 00a3 50 .byte 0x50 + 808 00a4 92000000 .4byte .LVL10-.Ltext0 + 809 00a8 BC000000 .4byte .LFE4-.Ltext0 + 810 00ac 0100 .2byte 0x1 + 811 00ae 51 .byte 0x51 + 812 00af 00000000 .4byte 0x0 + 813 00b3 00000000 .4byte 0x0 + 814 .LLST6: + 815 00b7 BC000000 .4byte .LFB5-.Ltext0 + 816 00bb C8000000 .4byte .LCFI3-.Ltext0 + 817 00bf 0100 .2byte 0x1 + 818 00c1 5E .byte 0x5e + 819 00c2 C8000000 .4byte .LCFI3-.Ltext0 + 820 00c6 D4000000 .4byte .LFE5-.Ltext0 + 821 00ca 0200 .2byte 0x2 + 822 00cc 7F .byte 0x7f + 823 00cd 08 .sleb128 8 + 824 00ce 00000000 .4byte 0x0 + 825 00d2 00000000 .4byte 0x0 + BFIN GAS /tmp/ccAbtljy.s page 20 + + + 826 .LLST7: + 827 00d6 BC000000 .4byte .LVL11-.Ltext0 + 828 00da CE000000 .4byte .LVL12-.Ltext0 + 829 00de 0100 .2byte 0x1 + 830 00e0 50 .byte 0x50 + 831 00e1 00000000 .4byte 0x0 + 832 00e5 00000000 .4byte 0x0 + 833 .LLST8: + 834 00e9 D4000000 .4byte .LFB6-.Ltext0 + 835 00ed DE000000 .4byte .LCFI4-.Ltext0 + 836 00f1 0100 .2byte 0x1 + 837 00f3 5E .byte 0x5e + 838 00f4 DE000000 .4byte .LCFI4-.Ltext0 + 839 00f8 00010000 .4byte .LFE6-.Ltext0 + 840 00fc 0200 .2byte 0x2 + 841 00fe 7F .byte 0x7f + 842 00ff 08 .sleb128 8 + 843 0100 00000000 .4byte 0x0 + 844 0104 00000000 .4byte 0x0 + 845 .LLST9: + 846 0108 D4000000 .4byte .LVL13-.Ltext0 + 847 010c F0000000 .4byte .LVL14-.Ltext0 + 848 0110 0100 .2byte 0x1 + 849 0112 50 .byte 0x50 + 850 0113 F6000000 .4byte .LVL15-.Ltext0 + 851 0117 FA000000 .4byte .LVL16-.Ltext0 + 852 011b 0100 .2byte 0x1 + 853 011d 50 .byte 0x50 + 854 011e 00000000 .4byte 0x0 + 855 0122 00000000 .4byte 0x0 + 856 .LLST10: + 857 0126 00010000 .4byte .LFB7-.Ltext0 + 858 012a 04010000 .4byte .LCFI5-.Ltext0 + 859 012e 0100 .2byte 0x1 + 860 0130 5E .byte 0x5e + 861 0131 04010000 .4byte .LCFI5-.Ltext0 + 862 0135 2E010000 .4byte .LFE7-.Ltext0 + 863 0139 0200 .2byte 0x2 + 864 013b 7F .byte 0x7f + 865 013c 08 .sleb128 8 + 866 013d 00000000 .4byte 0x0 + 867 0141 00000000 .4byte 0x0 + 868 .LLST11: + 869 0145 00010000 .4byte .LVL17-.Ltext0 + 870 0149 1C010000 .4byte .LVL18-.Ltext0 + 871 014d 0100 .2byte 0x1 + 872 014f 50 .byte 0x50 + 873 0150 22010000 .4byte .LVL20-.Ltext0 + 874 0154 2C010000 .4byte .LVL21-.Ltext0 + 875 0158 0100 .2byte 0x1 + 876 015a 50 .byte 0x50 + 877 015b 00000000 .4byte 0x0 + 878 015f 00000000 .4byte 0x0 + 879 .LLST12: + 880 0163 1C010000 .4byte .LVL18-.Ltext0 + 881 0167 1C010000 .4byte .LVL19-.Ltext0 + 882 016b 0100 .2byte 0x1 + BFIN GAS /tmp/ccAbtljy.s page 21 + + + 883 016d 50 .byte 0x50 + 884 016e 2C010000 .4byte .LVL21-.Ltext0 + 885 0172 2E010000 .4byte .LFE7-.Ltext0 + 886 0176 0100 .2byte 0x1 + 887 0178 50 .byte 0x50 + 888 0179 00000000 .4byte 0x0 + 889 017d 00000000 .4byte 0x0 + 890 .LLST13: + 891 0181 30010000 .4byte .LFB8-.Ltext0 + 892 0185 34010000 .4byte .LCFI6-.Ltext0 + 893 0189 0100 .2byte 0x1 + 894 018b 5E .byte 0x5e + 895 018c 34010000 .4byte .LCFI6-.Ltext0 + 896 0190 5E010000 .4byte .LFE8-.Ltext0 + 897 0194 0200 .2byte 0x2 + 898 0196 7F .byte 0x7f + 899 0197 08 .sleb128 8 + 900 0198 00000000 .4byte 0x0 + 901 019c 00000000 .4byte 0x0 + 902 .LLST14: + 903 01a0 30010000 .4byte .LVL22-.Ltext0 + 904 01a4 4C010000 .4byte .LVL23-.Ltext0 + 905 01a8 0100 .2byte 0x1 + 906 01aa 50 .byte 0x50 + 907 01ab 52010000 .4byte .LVL25-.Ltext0 + 908 01af 5C010000 .4byte .LVL26-.Ltext0 + 909 01b3 0100 .2byte 0x1 + 910 01b5 50 .byte 0x50 + 911 01b6 00000000 .4byte 0x0 + 912 01ba 00000000 .4byte 0x0 + 913 .LLST15: + 914 01be 4C010000 .4byte .LVL23-.Ltext0 + 915 01c2 4C010000 .4byte .LVL24-.Ltext0 + 916 01c6 0100 .2byte 0x1 + 917 01c8 50 .byte 0x50 + 918 01c9 5C010000 .4byte .LVL26-.Ltext0 + 919 01cd 5E010000 .4byte .LFE8-.Ltext0 + 920 01d1 0100 .2byte 0x1 + 921 01d3 50 .byte 0x50 + 922 01d4 00000000 .4byte 0x0 + 923 01d8 00000000 .4byte 0x0 + 924 .LLST16: + 925 01dc 60010000 .4byte .LFB9-.Ltext0 + 926 01e0 6E010000 .4byte .LCFI7-.Ltext0 + 927 01e4 0100 .2byte 0x1 + 928 01e6 5E .byte 0x5e + 929 01e7 6E010000 .4byte .LCFI7-.Ltext0 + 930 01eb 90010000 .4byte .LFE9-.Ltext0 + 931 01ef 0200 .2byte 0x2 + 932 01f1 7F .byte 0x7f + 933 01f2 08 .sleb128 8 + 934 01f3 00000000 .4byte 0x0 + 935 01f7 00000000 .4byte 0x0 + 936 .LLST17: + 937 01fb 60010000 .4byte .LVL27-.Ltext0 + 938 01ff 66010000 .4byte .LVL28-.Ltext0 + 939 0203 0100 .2byte 0x1 + BFIN GAS /tmp/ccAbtljy.s page 22 + + + 940 0205 50 .byte 0x50 + 941 0206 66010000 .4byte .LVL28-.Ltext0 + 942 020a 90010000 .4byte .LFE9-.Ltext0 + 943 020e 0100 .2byte 0x1 + 944 0210 51 .byte 0x51 + 945 0211 00000000 .4byte 0x0 + 946 0215 00000000 .4byte 0x0 + 947 .LLST18: + 948 0219 90010000 .4byte .LFB10-.Ltext0 + 949 021d 9C010000 .4byte .LCFI8-.Ltext0 + 950 0221 0100 .2byte 0x1 + 951 0223 5E .byte 0x5e + 952 0224 9C010000 .4byte .LCFI8-.Ltext0 + 953 0228 BE010000 .4byte .LFE10-.Ltext0 + 954 022c 0200 .2byte 0x2 + 955 022e 7F .byte 0x7f + 956 022f 08 .sleb128 8 + 957 0230 00000000 .4byte 0x0 + 958 0234 00000000 .4byte 0x0 + 959 .LLST19: + 960 0238 90010000 .4byte .LVL29-.Ltext0 + 961 023c 94010000 .4byte .LVL30-.Ltext0 + 962 0240 0100 .2byte 0x1 + 963 0242 50 .byte 0x50 + 964 0243 94010000 .4byte .LVL30-.Ltext0 + 965 0247 BE010000 .4byte .LFE10-.Ltext0 + 966 024b 0100 .2byte 0x1 + 967 024d 51 .byte 0x51 + 968 024e 00000000 .4byte 0x0 + 969 0252 00000000 .4byte 0x0 + 970 .LLST20: + 971 0256 C0010000 .4byte .LFB11-.Ltext0 + 972 025a C2010000 .4byte .LCFI9-.Ltext0 + 973 025e 0100 .2byte 0x1 + 974 0260 5E .byte 0x5e + 975 0261 C2010000 .4byte .LCFI9-.Ltext0 + 976 0265 CA010000 .4byte .LCFI10-.Ltext0 + 977 0269 0200 .2byte 0x2 + 978 026b 7E .byte 0x7e + 979 026c 1C .sleb128 28 + 980 026d CA010000 .4byte .LCFI10-.Ltext0 + 981 0271 EC020000 .4byte .LFE11-.Ltext0 + 982 0275 0200 .2byte 0x2 + 983 0277 7F .byte 0x7f + 984 0278 24 .sleb128 36 + 985 0279 00000000 .4byte 0x0 + 986 027d 00000000 .4byte 0x0 + 987 .LLST21: + 988 0281 F4010000 .4byte .LVL33-.Ltext0 + 989 0285 EA020000 .4byte .LVL41-.Ltext0 + 990 0289 0100 .2byte 0x1 + 991 028b 57 .byte 0x57 + 992 028c 00000000 .4byte 0x0 + 993 0290 00000000 .4byte 0x0 + 994 .LLST22: + 995 0294 DC010000 .4byte .LVL31-.Ltext0 + 996 0298 DE010000 .4byte .LVL32-.Ltext0 + BFIN GAS /tmp/ccAbtljy.s page 23 + + + 997 029c 0100 .2byte 0x1 + 998 029e 50 .byte 0x50 + 999 029f E8020000 .4byte .LVL39-.Ltext0 + 1000 02a3 E8020000 .4byte .LVL40-.Ltext0 + 1001 02a7 0100 .2byte 0x1 + 1002 02a9 50 .byte 0x50 + 1003 02aa 00000000 .4byte 0x0 + 1004 02ae 00000000 .4byte 0x0 + 1005 .LLST23: + 1006 02b2 08020000 .4byte .LVL34-.Ltext0 + 1007 02b6 30020000 .4byte .LVL35-.Ltext0 + 1008 02ba 0100 .2byte 0x1 + 1009 02bc 51 .byte 0x51 + 1010 02bd 52020000 .4byte .LVL37-.Ltext0 + 1011 02c1 62020000 .4byte .LVL38-.Ltext0 + 1012 02c5 0100 .2byte 0x1 + 1013 02c7 51 .byte 0x51 + 1014 02c8 00000000 .4byte 0x0 + 1015 02cc 00000000 .4byte 0x0 + 1016 .file 2 "/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib + 1017 .file 3 "src/l502_bf_cmd_defs.h" + 1018 .file 4 "src/l502_defs.h" + 1019 .file 5 "src/l502_params.h" + 1020 .file 6 "src/l502_stream.h" + 1021 .section .debug_info + 1022 0000 CA050000 .4byte 0x5ca + 1023 0004 0200 .2byte 0x2 + 1024 0006 00000000 .4byte .Ldebug_abbrev0 + 1025 000a 04 .byte 0x4 + 1026 000b 01 .uleb128 0x1 + 1027 000c 74000000 .4byte .LASF85 + 1028 0010 01 .byte 0x1 + 1029 0011 D2010000 .4byte .LASF86 + 1030 0015 4E040000 .4byte .LASF87 + 1031 0019 00000000 .4byte .Ltext0 + 1032 001d EC020000 .4byte .Letext0 + 1033 0021 00000000 .4byte .Ldebug_line0 + 1034 0025 02 .uleb128 0x2 + 1035 0026 01 .byte 0x1 + 1036 0027 06 .byte 0x6 + 1037 0028 80000000 .4byte .LASF0 + 1038 002c 03 .uleb128 0x3 + 1039 002d 08050000 .4byte .LASF3 + 1040 0031 02 .byte 0x2 + 1041 0032 2A .byte 0x2a + 1042 0033 37000000 .4byte 0x37 + 1043 0037 02 .uleb128 0x2 + 1044 0038 01 .byte 0x1 + 1045 0039 08 .byte 0x8 + 1046 003a B9020000 .4byte .LASF1 + 1047 003e 02 .uleb128 0x2 + 1048 003f 02 .byte 0x2 + 1049 0040 05 .byte 0x5 + 1050 0041 A7000000 .4byte .LASF2 + 1051 0045 03 .uleb128 0x3 + 1052 0046 39030000 .4byte .LASF4 + 1053 004a 02 .byte 0x2 + BFIN GAS /tmp/ccAbtljy.s page 24 + + + 1054 004b 36 .byte 0x36 + 1055 004c 50000000 .4byte 0x50 + 1056 0050 02 .uleb128 0x2 + 1057 0051 02 .byte 0x2 + 1058 0052 07 .byte 0x7 + 1059 0053 84030000 .4byte .LASF5 + 1060 0057 03 .uleb128 0x3 + 1061 0058 D7030000 .4byte .LASF6 + 1062 005c 02 .byte 0x2 + 1063 005d 4F .byte 0x4f + 1064 005e 62000000 .4byte 0x62 + 1065 0062 02 .uleb128 0x2 + 1066 0063 04 .byte 0x4 + 1067 0064 05 .byte 0x5 + 1068 0065 09020000 .4byte .LASF7 + 1069 0069 03 .uleb128 0x3 + 1070 006a 16030000 .4byte .LASF8 + 1071 006e 02 .byte 0x2 + 1072 006f 50 .byte 0x50 + 1073 0070 74000000 .4byte 0x74 + 1074 0074 02 .uleb128 0x2 + 1075 0075 04 .byte 0x4 + 1076 0076 07 .byte 0x7 + 1077 0077 98040000 .4byte .LASF9 + 1078 007b 02 .uleb128 0x2 + 1079 007c 08 .byte 0x8 + 1080 007d 05 .byte 0x5 + 1081 007e E4010000 .4byte .LASF10 + 1082 0082 02 .uleb128 0x2 + 1083 0083 08 .byte 0x8 + 1084 0084 07 .byte 0x7 + 1085 0085 EC020000 .4byte .LASF11 + 1086 0089 04 .uleb128 0x4 + 1087 008a 04 .byte 0x4 + 1088 008b 05 .byte 0x5 + 1089 008c 696E7400 .string "int" + 1090 0090 02 .uleb128 0x2 + 1091 0091 04 .byte 0x4 + 1092 0092 07 .byte 0x7 + 1093 0093 2C030000 .4byte .LASF12 + 1094 0097 05 .uleb128 0x5 + 1095 0098 04 .byte 0x4 + 1096 0099 07 .byte 0x7 + 1097 009a 02 .uleb128 0x2 + 1098 009b 01 .byte 0x1 + 1099 009c 06 .byte 0x6 + 1100 009d C8030000 .4byte .LASF13 + 1101 00a1 06 .uleb128 0x6 + 1102 00a2 04 .byte 0x4 + 1103 00a3 03 .byte 0x3 + 1104 00a4 68 .byte 0x68 + 1105 00a5 EF000000 .4byte 0xef + 1106 00a9 07 .uleb128 0x7 + 1107 00aa 43050000 .4byte .LASF14 + 1108 00ae 00 .sleb128 0 + 1109 00af 07 .uleb128 0x7 + 1110 00b0 10050000 .4byte .LASF15 + BFIN GAS /tmp/ccAbtljy.s page 25 + + + 1111 00b4 807C .sleb128 -512 + 1112 00b6 07 .uleb128 0x7 + 1113 00b7 12020000 .4byte .LASF16 + 1114 00bb 807C .sleb128 -512 + 1115 00bd 07 .uleb128 0x7 + 1116 00be 54020000 .4byte .LASF17 + 1117 00c2 FF7B .sleb128 -513 + 1118 00c4 07 .uleb128 0x7 + 1119 00c5 97030000 .4byte .LASF18 + 1120 00c9 FE7B .sleb128 -514 + 1121 00cb 07 .uleb128 0x7 + 1122 00cc DF030000 .4byte .LASF19 + 1123 00d0 FD7B .sleb128 -515 + 1124 00d2 07 .uleb128 0x7 + 1125 00d3 26000000 .4byte .LASF20 + 1126 00d7 FC7B .sleb128 -516 + 1127 00d9 07 .uleb128 0x7 + 1128 00da 42010000 .4byte .LASF21 + 1129 00de FB7B .sleb128 -517 + 1130 00e0 07 .uleb128 0x7 + 1131 00e1 16040000 .4byte .LASF22 + 1132 00e5 FA7B .sleb128 -518 + 1133 00e7 07 .uleb128 0x7 + 1134 00e8 F2010000 .4byte .LASF23 + 1135 00ec F97B .sleb128 -519 + 1136 00ee 00 .byte 0x0 + 1137 00ef 06 .uleb128 0x6 + 1138 00f0 04 .byte 0x4 + 1139 00f1 03 .byte 0x3 + 1140 00f2 79 .byte 0x79 + 1141 00f3 0A010000 .4byte 0x10a + 1142 00f7 07 .uleb128 0x7 + 1143 00f8 85050000 .4byte .LASF24 + 1144 00fc 00 .sleb128 0 + 1145 00fd 07 .uleb128 0x7 + 1146 00fe 12000000 .4byte .LASF25 + 1147 0102 01 .sleb128 1 + 1148 0103 07 .uleb128 0x7 + 1149 0104 B6030000 .4byte .LASF26 + 1150 0108 02 .sleb128 2 + 1151 0109 00 .byte 0x0 + 1152 010a 06 .uleb128 0x6 + 1153 010b 04 .byte 0x4 + 1154 010c 04 .byte 0x4 + 1155 010d 4E .byte 0x4e + 1156 010e 25010000 .4byte 0x125 + 1157 0112 07 .uleb128 0x7 + 1158 0113 7A010000 .4byte .LASF27 + 1159 0117 8089FA00 .sleb128 2000000 + 1160 011b 07 .uleb128 0x7 + 1161 011c 2C010000 .4byte .LASF28 + 1162 0120 E0C6DB00 .sleb128 1500000 + 1163 0124 00 .byte 0x0 + 1164 0125 06 .uleb128 0x6 + 1165 0126 04 .byte 0x4 + 1166 0127 04 .byte 0x4 + 1167 0128 55 .byte 0x55 + BFIN GAS /tmp/ccAbtljy.s page 26 + + + 1168 0129 52010000 .4byte 0x152 + 1169 012d 07 .uleb128 0x7 + 1170 012e 00000000 .4byte .LASF29 + 1171 0132 00 .sleb128 0 + 1172 0133 07 .uleb128 0x7 + 1173 0134 63000000 .4byte .LASF30 + 1174 0138 01 .sleb128 1 + 1175 0139 07 .uleb128 0x7 + 1176 013a 52000000 .4byte .LASF31 + 1177 013e 02 .sleb128 2 + 1178 013f 07 .uleb128 0x7 + 1179 0140 41000000 .4byte .LASF32 + 1180 0144 03 .sleb128 3 + 1181 0145 07 .uleb128 0x7 + 1182 0146 AA040000 .4byte .LASF33 + 1183 014a 04 .sleb128 4 + 1184 014b 07 .uleb128 0x7 + 1185 014c C7020000 .4byte .LASF34 + 1186 0150 05 .sleb128 5 + 1187 0151 00 .byte 0x0 + 1188 0152 03 .uleb128 0x3 + 1189 0153 32050000 .4byte .LASF35 + 1190 0157 04 .byte 0x4 + 1191 0158 5C .byte 0x5c + 1192 0159 25010000 .4byte 0x125 + 1193 015d 06 .uleb128 0x6 + 1194 015e 04 .byte 0x4 + 1195 015f 04 .byte 0x4 + 1196 0160 5F .byte 0x5f + 1197 0161 78010000 .4byte 0x178 + 1198 0165 07 .uleb128 0x7 + 1199 0166 8C000000 .4byte .LASF36 + 1200 016a 00 .sleb128 0 + 1201 016b 07 .uleb128 0x7 + 1202 016c E9000000 .4byte .LASF37 + 1203 0170 01 .sleb128 1 + 1204 0171 07 .uleb128 0x7 + 1205 0172 03030000 .4byte .LASF38 + 1206 0176 02 .sleb128 2 + 1207 0177 00 .byte 0x0 + 1208 0178 03 .uleb128 0x3 + 1209 0179 97050000 .4byte .LASF39 + 1210 017d 04 .byte 0x4 + 1211 017e 63 .byte 0x63 + 1212 017f 5D010000 .4byte 0x15d + 1213 0183 06 .uleb128 0x6 + 1214 0184 04 .byte 0x4 + 1215 0185 04 .byte 0x4 + 1216 0186 69 .byte 0x69 + 1217 0187 B0010000 .4byte 0x1b0 + 1218 018b 07 .uleb128 0x7 + 1219 018c 8E020000 .4byte .LASF40 + 1220 0190 00 .sleb128 0 + 1221 0191 07 .uleb128 0x7 + 1222 0192 A7010000 .4byte .LASF41 + 1223 0196 01 .sleb128 1 + 1224 0197 07 .uleb128 0x7 + BFIN GAS /tmp/ccAbtljy.s page 27 + + + 1225 0198 C9000000 .4byte .LASF42 + 1226 019c 02 .sleb128 2 + 1227 019d 07 .uleb128 0x7 + 1228 019e D3040000 .4byte .LASF43 + 1229 01a2 03 .sleb128 3 + 1230 01a3 07 .uleb128 0x7 + 1231 01a4 90010000 .4byte .LASF44 + 1232 01a8 06 .sleb128 6 + 1233 01a9 07 .uleb128 0x7 + 1234 01aa BC040000 .4byte .LASF45 + 1235 01ae 07 .sleb128 7 + 1236 01af 00 .byte 0x0 + 1237 01b0 03 .uleb128 0x3 + 1238 01b1 3D040000 .4byte .LASF46 + 1239 01b5 04 .byte 0x4 + 1240 01b6 70 .byte 0x70 + 1241 01b7 83010000 .4byte 0x183 + 1242 01bb 08 .uleb128 0x8 + 1243 01bc 08 .byte 0x8 + 1244 01bd 05 .byte 0x5 + 1245 01be 13 .byte 0x13 + 1246 01bf DE010000 .4byte 0x1de + 1247 01c3 09 .uleb128 0x9 + 1248 01c4 CD010000 .4byte .LASF47 + 1249 01c8 05 .byte 0x5 + 1250 01c9 14 .byte 0x14 + 1251 01ca DE010000 .4byte 0x1de + 1252 01ce 02 .byte 0x2 + 1253 01cf 23 .byte 0x23 + 1254 01d0 00 .uleb128 0x0 + 1255 01d1 0A .uleb128 0xa + 1256 01d2 6B00 .string "k" + 1257 01d4 05 .byte 0x5 + 1258 01d5 15 .byte 0x15 + 1259 01d6 DE010000 .4byte 0x1de + 1260 01da 02 .byte 0x2 + 1261 01db 23 .byte 0x23 + 1262 01dc 04 .uleb128 0x4 + 1263 01dd 00 .byte 0x0 + 1264 01de 02 .uleb128 0x2 + 1265 01df 04 .byte 0x4 + 1266 01e0 04 .byte 0x4 + 1267 01e1 C7010000 .4byte .LASF48 + 1268 01e5 03 .uleb128 0x3 + 1269 01e6 07040000 .4byte .LASF49 + 1270 01ea 05 .byte 0x5 + 1271 01eb 16 .byte 0x16 + 1272 01ec BB010000 .4byte 0x1bb + 1273 01f0 08 .uleb128 0x8 + 1274 01f1 18 .byte 0x18 + 1275 01f2 05 .byte 0x5 + 1276 01f3 19 .byte 0x19 + 1277 01f4 31020000 .4byte 0x231 + 1278 01f8 09 .uleb128 0x9 + 1279 01f9 E0000000 .4byte .LASF50 + 1280 01fd 05 .byte 0x5 + 1281 01fe 1A .byte 0x1a + BFIN GAS /tmp/ccAbtljy.s page 28 + + + 1282 01ff 69000000 .4byte 0x69 + 1283 0203 02 .byte 0x2 + 1284 0204 23 .byte 0x23 + 1285 0205 00 .uleb128 0x0 + 1286 0206 09 .uleb128 0x9 + 1287 0207 1D010000 .4byte .LASF51 + 1288 020b 05 .byte 0x5 + 1289 020c 1B .byte 0x1b + 1290 020d 45000000 .4byte 0x45 + 1291 0211 02 .byte 0x2 + 1292 0212 23 .byte 0x23 + 1293 0213 04 .uleb128 0x4 + 1294 0214 09 .uleb128 0x9 + 1295 0215 A7050000 .4byte .LASF52 + 1296 0219 05 .byte 0x5 + 1297 021a 1C .byte 0x1c + 1298 021b 2C000000 .4byte 0x2c + 1299 021f 02 .byte 0x2 + 1300 0220 23 .byte 0x23 + 1301 0221 06 .uleb128 0x6 + 1302 0222 09 .uleb128 0x9 + 1303 0223 9F000000 .4byte .LASF53 + 1304 0227 05 .byte 0x5 + 1305 0228 1D .byte 0x1d + 1306 0229 31020000 .4byte 0x231 + 1307 022d 02 .byte 0x2 + 1308 022e 23 .byte 0x23 + 1309 022f 08 .uleb128 0x8 + 1310 0230 00 .byte 0x0 + 1311 0231 0B .uleb128 0xb + 1312 0232 E5010000 .4byte 0x1e5 + 1313 0236 41020000 .4byte 0x241 + 1314 023a 0C .uleb128 0xc + 1315 023b 97000000 .4byte 0x97 + 1316 023f 01 .byte 0x1 + 1317 0240 00 .byte 0x0 + 1318 0241 03 .uleb128 0x3 + 1319 0242 42030000 .4byte .LASF54 + 1320 0246 05 .byte 0x5 + 1321 0247 1E .byte 0x1e + 1322 0248 F0010000 .4byte 0x1f0 + 1323 024c 08 .uleb128 0x8 + 1324 024d 08 .byte 0x8 + 1325 024e 05 .byte 0x5 + 1326 024f 22 .byte 0x22 + 1327 0250 9B020000 .4byte 0x29b + 1328 0254 09 .uleb128 0x9 + 1329 0255 5D010000 .4byte .LASF55 + 1330 0259 05 .byte 0x5 + 1331 025a 23 .byte 0x23 + 1332 025b 2C000000 .4byte 0x2c + 1333 025f 02 .byte 0x2 + 1334 0260 23 .byte 0x23 + 1335 0261 00 .uleb128 0x0 + 1336 0262 09 .uleb128 0x9 + 1337 0263 18010000 .4byte .LASF56 + 1338 0267 05 .byte 0x5 + BFIN GAS /tmp/ccAbtljy.s page 29 + + + 1339 0268 24 .byte 0x24 + 1340 0269 2C000000 .4byte 0x2c + 1341 026d 02 .byte 0x2 + 1342 026e 23 .byte 0x23 + 1343 026f 01 .uleb128 0x1 + 1344 0270 09 .uleb128 0x9 + 1345 0271 02050000 .4byte .LASF57 + 1346 0275 05 .byte 0x5 + 1347 0276 25 .byte 0x25 + 1348 0277 2C000000 .4byte 0x2c + 1349 027b 02 .byte 0x2 + 1350 027c 23 .byte 0x23 + 1351 027d 02 .uleb128 0x2 + 1352 027e 0A .uleb128 0xa + 1353 027f 61766700 .string "avg" + 1354 0283 05 .byte 0x5 + 1355 0284 26 .byte 0x26 + 1356 0285 2C000000 .4byte 0x2c + 1357 0289 02 .byte 0x2 + 1358 028a 23 .byte 0x23 + 1359 028b 03 .uleb128 0x3 + 1360 028c 09 .uleb128 0x9 + 1361 028d E6020000 .4byte .LASF58 + 1362 0291 05 .byte 0x5 + 1363 0292 27 .byte 0x27 + 1364 0293 69000000 .4byte 0x69 + 1365 0297 02 .byte 0x2 + 1366 0298 23 .byte 0x23 + 1367 0299 04 .uleb128 0x4 + 1368 029a 00 .byte 0x0 + 1369 029b 03 .uleb128 0x3 + 1370 029c 26010000 .4byte .LASF59 + 1371 02a0 05 .byte 0x5 + 1372 02a1 28 .byte 0x28 + 1373 02a2 4C020000 .4byte 0x24c + 1374 02a6 0D .uleb128 0xd + 1375 02a7 1808 .2byte 0x818 + 1376 02a9 05 .byte 0x5 + 1377 02aa 2C .byte 0x2c + 1378 02ab 36030000 .4byte 0x336 + 1379 02af 0A .uleb128 0xa + 1380 02b0 6C636800 .string "lch" + 1381 02b4 05 .byte 0x5 + 1382 02b5 2E .byte 0x2e + 1383 02b6 36030000 .4byte 0x336 + 1384 02ba 02 .byte 0x2 + 1385 02bb 23 .byte 0x23 + 1386 02bc 00 .uleb128 0x0 + 1387 02bd 09 .uleb128 0x9 + 1388 02be 57050000 .4byte .LASF60 + 1389 02c2 05 .byte 0x5 + 1390 02c3 2F .byte 0x2f + 1391 02c4 45000000 .4byte 0x45 + 1392 02c8 03 .byte 0x3 + 1393 02c9 23 .byte 0x23 + 1394 02ca 8010 .uleb128 0x800 + 1395 02cc 09 .uleb128 0x9 + BFIN GAS /tmp/ccAbtljy.s page 30 + + + 1396 02cd D9020000 .4byte .LASF61 + 1397 02d1 05 .byte 0x5 + 1398 02d2 30 .byte 0x30 + 1399 02d3 69000000 .4byte 0x69 + 1400 02d7 03 .byte 0x3 + 1401 02d8 23 .byte 0x23 + 1402 02d9 8410 .uleb128 0x804 + 1403 02db 09 .uleb128 0x9 + 1404 02dc 1F030000 .4byte .LASF62 + 1405 02e0 05 .byte 0x5 + 1406 02e1 31 .byte 0x31 + 1407 02e2 69000000 .4byte 0x69 + 1408 02e6 03 .byte 0x3 + 1409 02e7 23 .byte 0x23 + 1410 02e8 8810 .uleb128 0x808 + 1411 02ea 09 .uleb128 0x9 + 1412 02eb 6A010000 .4byte .LASF63 + 1413 02ef 05 .byte 0x5 + 1414 02f0 32 .byte 0x32 + 1415 02f1 69000000 .4byte 0x69 + 1416 02f5 03 .byte 0x3 + 1417 02f6 23 .byte 0x23 + 1418 02f7 8C10 .uleb128 0x80c + 1419 02f9 09 .uleb128 0x9 + 1420 02fa 0F010000 .4byte .LASF64 + 1421 02fe 05 .byte 0x5 + 1422 02ff 33 .byte 0x33 + 1423 0300 69000000 .4byte 0x69 + 1424 0304 03 .byte 0x3 + 1425 0305 23 .byte 0x23 + 1426 0306 9010 .uleb128 0x810 + 1427 0308 09 .uleb128 0x9 + 1428 0309 FA030000 .4byte .LASF65 + 1429 030d 05 .byte 0x5 + 1430 030e 34 .byte 0x34 + 1431 030f 45000000 .4byte 0x45 + 1432 0313 03 .byte 0x3 + 1433 0314 23 .byte 0x23 + 1434 0315 9410 .uleb128 0x814 + 1435 0317 09 .uleb128 0x9 + 1436 0318 CD030000 .4byte .LASF66 + 1437 031c 05 .byte 0x5 + 1438 031d 35 .byte 0x35 + 1439 031e 2C000000 .4byte 0x2c + 1440 0322 03 .byte 0x3 + 1441 0323 23 .byte 0x23 + 1442 0324 9610 .uleb128 0x816 + 1443 0326 09 .uleb128 0x9 + 1444 0327 74030000 .4byte .LASF67 + 1445 032b 05 .byte 0x5 + 1446 032c 36 .byte 0x36 + 1447 032d 2C000000 .4byte 0x2c + 1448 0331 03 .byte 0x3 + 1449 0332 23 .byte 0x23 + 1450 0333 9710 .uleb128 0x817 + 1451 0335 00 .byte 0x0 + 1452 0336 0B .uleb128 0xb + BFIN GAS /tmp/ccAbtljy.s page 31 + + + 1453 0337 9B020000 .4byte 0x29b + 1454 033b 46030000 .4byte 0x346 + 1455 033f 0C .uleb128 0xc + 1456 0340 97000000 .4byte 0x97 + 1457 0344 FF .byte 0xff + 1458 0345 00 .byte 0x0 + 1459 0346 03 .uleb128 0x3 + 1460 0347 27050000 .4byte .LASF68 + 1461 034b 05 .byte 0x5 + 1462 034c 37 .byte 0x37 + 1463 034d A6020000 .4byte 0x2a6 + 1464 0351 0E .uleb128 0xe + 1465 0352 01 .byte 0x1 + 1466 0353 FC000000 .4byte .LASF69 + 1467 0357 01 .byte 0x1 + 1468 0358 36 .byte 0x36 + 1469 0359 01 .byte 0x1 + 1470 035a 57000000 .4byte 0x57 + 1471 035e 00000000 .4byte .LFB2 + 1472 0362 2A000000 .4byte .LFE2 + 1473 0366 00000000 .4byte .LLST0 + 1474 036a 7E030000 .4byte 0x37e + 1475 036e 0F .uleb128 0xf + 1476 036f 57050000 .4byte .LASF60 + 1477 0373 01 .byte 0x1 + 1478 0374 36 .byte 0x36 + 1479 0375 69000000 .4byte 0x69 + 1480 0379 1F000000 .4byte .LLST1 + 1481 037d 00 .byte 0x0 + 1482 037e 0E .uleb128 0xe + 1483 037f 01 .byte 0x1 + 1484 0380 65030000 .4byte .LASF70 + 1485 0384 01 .byte 0x1 + 1486 0385 4A .byte 0x4a + 1487 0386 01 .byte 0x1 + 1488 0387 57000000 .4byte 0x57 + 1489 038b 2C000000 .4byte .LFB3 + 1490 038f 8A000000 .4byte .LFE3 + 1491 0393 3D000000 .4byte .LLST2 + 1492 0397 EE030000 .4byte 0x3ee + 1493 039b 0F .uleb128 0xf + 1494 039c 64010000 .4byte .LASF71 + 1495 03a0 01 .byte 0x1 + 1496 03a1 49 .byte 0x49 + 1497 03a2 69000000 .4byte 0x69 + 1498 03a6 5C000000 .4byte .LLST3 + 1499 03aa 10 .uleb128 0x10 + 1500 03ab 636800 .string "ch" + 1501 03ae 01 .byte 0x1 + 1502 03af 49 .byte 0x49 + 1503 03b0 69000000 .4byte 0x69 + 1504 03b4 01 .byte 0x1 + 1505 03b5 51 .byte 0x51 + 1506 03b6 11 .uleb128 0x11 + 1507 03b7 18010000 .4byte .LASF56 + 1508 03bb 01 .byte 0x1 + 1509 03bc 49 .byte 0x49 + BFIN GAS /tmp/ccAbtljy.s page 32 + + + 1510 03bd 78010000 .4byte 0x178 + 1511 03c1 01 .byte 0x1 + 1512 03c2 52 .byte 0x52 + 1513 03c3 11 .uleb128 0x11 + 1514 03c4 02050000 .4byte .LASF57 + 1515 03c8 01 .byte 0x1 + 1516 03c9 4A .byte 0x4a + 1517 03ca 52010000 .4byte 0x152 + 1518 03ce 02 .byte 0x2 + 1519 03cf 91 .byte 0x91 + 1520 03d0 0C .sleb128 12 + 1521 03d1 10 .uleb128 0x10 + 1522 03d2 61766700 .string "avg" + 1523 03d6 01 .byte 0x1 + 1524 03d7 4A .byte 0x4a + 1525 03d8 69000000 .4byte 0x69 + 1526 03dc 02 .byte 0x2 + 1527 03dd 91 .byte 0x91 + 1528 03de 10 .sleb128 16 + 1529 03df 11 .uleb128 0x11 + 1530 03e0 E6020000 .4byte .LASF58 + 1531 03e4 01 .byte 0x1 + 1532 03e5 4A .byte 0x4a + 1533 03e6 69000000 .4byte 0x69 + 1534 03ea 02 .byte 0x2 + 1535 03eb 91 .byte 0x91 + 1536 03ec 14 .sleb128 20 + 1537 03ed 00 .byte 0x0 + 1538 03ee 0E .uleb128 0xe + 1539 03ef 01 .byte 0x1 + 1540 03f0 3C020000 .4byte .LASF72 + 1541 03f4 01 .byte 0x1 + 1542 03f5 5F .byte 0x5f + 1543 03f6 01 .byte 0x1 + 1544 03f7 57000000 .4byte 0x57 + 1545 03fb 8C000000 .4byte .LFB4 + 1546 03ff BC000000 .4byte .LFE4 + 1547 0403 7A000000 .4byte .LLST4 + 1548 0407 1B040000 .4byte 0x41b + 1549 040b 12 .uleb128 0x12 + 1550 040c 64697600 .string "div" + 1551 0410 01 .byte 0x1 + 1552 0411 5F .byte 0x5f + 1553 0412 69000000 .4byte 0x69 + 1554 0416 99000000 .4byte .LLST5 + 1555 041a 00 .byte 0x0 + 1556 041b 0E .uleb128 0xe + 1557 041c 01 .byte 0x1 + 1558 041d 28020000 .4byte .LASF73 + 1559 0421 01 .byte 0x1 + 1560 0422 6A .byte 0x6a + 1561 0423 01 .byte 0x1 + 1562 0424 57000000 .4byte 0x57 + 1563 0428 BC000000 .4byte .LFB5 + 1564 042c D4000000 .4byte .LFE5 + 1565 0430 B7000000 .4byte .LLST6 + 1566 0434 48040000 .4byte 0x448 + BFIN GAS /tmp/ccAbtljy.s page 33 + + + 1567 0438 0F .uleb128 0xf + 1568 0439 33040000 .4byte .LASF74 + 1569 043d 01 .byte 0x1 + 1570 043e 6A .byte 0x6a + 1571 043f 69000000 .4byte 0x69 + 1572 0443 D6000000 .4byte .LLST7 + 1573 0447 00 .byte 0x0 + 1574 0448 0E .uleb128 0xe + 1575 0449 01 .byte 0x1 + 1576 044a 65050000 .4byte .LASF75 + 1577 044e 01 .byte 0x1 + 1578 044f 71 .byte 0x71 + 1579 0450 01 .byte 0x1 + 1580 0451 57000000 .4byte 0x57 + 1581 0455 D4000000 .4byte .LFB6 + 1582 0459 00010000 .4byte .LFE6 + 1583 045d E9000000 .4byte .LLST8 + 1584 0461 75040000 .4byte 0x475 + 1585 0465 0F .uleb128 0xf + 1586 0466 C1010000 .4byte .LASF76 + 1587 046a 01 .byte 0x1 + 1588 046b 71 .byte 0x71 + 1589 046c 69000000 .4byte 0x69 + 1590 0470 08010000 .4byte .LLST9 + 1591 0474 00 .byte 0x0 + 1592 0475 0E .uleb128 0xe + 1593 0476 01 .byte 0x1 + 1594 0477 50030000 .4byte .LASF77 + 1595 047b 01 .byte 0x1 + 1596 047c 7B .byte 0x7b + 1597 047d 01 .byte 0x1 + 1598 047e 57000000 .4byte 0x57 + 1599 0482 00010000 .4byte .LFB7 + 1600 0486 2E010000 .4byte .LFE7 + 1601 048a 26010000 .4byte .LLST10 + 1602 048e B1040000 .4byte 0x4b1 + 1603 0492 0F .uleb128 0xf + 1604 0493 CD030000 .4byte .LASF66 + 1605 0497 01 .byte 0x1 + 1606 0498 7B .byte 0x7b + 1607 0499 B0010000 .4byte 0x1b0 + 1608 049d 45010000 .4byte .LLST11 + 1609 04a1 13 .uleb128 0x13 + 1610 04a2 65727200 .string "err" + 1611 04a6 01 .byte 0x1 + 1612 04a7 7C .byte 0x7c + 1613 04a8 57000000 .4byte 0x57 + 1614 04ac 63010000 .4byte .LLST12 + 1615 04b0 00 .byte 0x0 + 1616 04b1 0E .uleb128 0xe + 1617 04b2 01 .byte 0x1 + 1618 04b3 73020000 .4byte .LASF78 + 1619 04b7 01 .byte 0x1 + 1620 04b8 85 .byte 0x85 + 1621 04b9 01 .byte 0x1 + 1622 04ba 57000000 .4byte 0x57 + 1623 04be 30010000 .4byte .LFB8 + BFIN GAS /tmp/ccAbtljy.s page 34 + + + 1624 04c2 5E010000 .4byte .LFE8 + 1625 04c6 81010000 .4byte .LLST13 + 1626 04ca ED040000 .4byte 0x4ed + 1627 04ce 0F .uleb128 0xf + 1628 04cf CD030000 .4byte .LASF66 + 1629 04d3 01 .byte 0x1 + 1630 04d4 85 .byte 0x85 + 1631 04d5 B0010000 .4byte 0x1b0 + 1632 04d9 A0010000 .4byte .LLST14 + 1633 04dd 13 .uleb128 0x13 + 1634 04de 65727200 .string "err" + 1635 04e2 01 .byte 0x1 + 1636 04e3 86 .byte 0x86 + 1637 04e4 57000000 .4byte 0x57 + 1638 04e8 BE010000 .4byte .LLST15 + 1639 04ec 00 .byte 0x0 + 1640 04ed 0E .uleb128 0xe + 1641 04ee 01 .byte 0x1 + 1642 04ef A1020000 .4byte .LASF79 + 1643 04f3 01 .byte 0x1 + 1644 04f4 90 .byte 0x90 + 1645 04f5 01 .byte 0x1 + 1646 04f6 57000000 .4byte 0x57 + 1647 04fa 60010000 .4byte .LFB9 + 1648 04fe 90010000 .4byte .LFE9 + 1649 0502 DC010000 .4byte .LLST16 + 1650 0506 1A050000 .4byte 0x51a + 1651 050a 12 .uleb128 0x12 + 1652 050b 64697600 .string "div" + 1653 050f 01 .byte 0x1 + 1654 0510 90 .byte 0x90 + 1655 0511 69000000 .4byte 0x69 + 1656 0515 FB010000 .4byte .LLST17 + 1657 0519 00 .byte 0x0 + 1658 051a 0E .uleb128 0xe + 1659 051b 01 .byte 0x1 + 1660 051c EA040000 .4byte .LASF80 + 1661 0520 01 .byte 0x1 + 1662 0521 9A .byte 0x9a + 1663 0522 01 .byte 0x1 + 1664 0523 57000000 .4byte 0x57 + 1665 0527 90010000 .4byte .LFB10 + 1666 052b BE010000 .4byte .LFE10 + 1667 052f 19020000 .4byte .LLST18 + 1668 0533 47050000 .4byte 0x547 + 1669 0537 12 .uleb128 0x12 + 1670 0538 64697600 .string "div" + 1671 053c 01 .byte 0x1 + 1672 053d 9A .byte 0x9a + 1673 053e 69000000 .4byte 0x69 + 1674 0542 38020000 .4byte .LLST19 + 1675 0546 00 .byte 0x0 + 1676 0547 0E .uleb128 0xe + 1677 0548 01 .byte 0x1 + 1678 0549 BF000000 .4byte .LASF81 + 1679 054d 01 .byte 0x1 + 1680 054e AA .byte 0xaa + BFIN GAS /tmp/ccAbtljy.s page 35 + + + 1681 054f 01 .byte 0x1 + 1682 0550 57000000 .4byte 0x57 + 1683 0554 C0010000 .4byte .LFB11 + 1684 0558 EC020000 .4byte .LFE11 + 1685 055c 56020000 .4byte .LLST20 + 1686 0560 97050000 .4byte 0x597 + 1687 0564 13 .uleb128 0x13 + 1688 0565 636800 .string "ch" + 1689 0568 01 .byte 0x1 + 1690 0569 AB .byte 0xab + 1691 056a 45000000 .4byte 0x45 + 1692 056e 81020000 .4byte .LLST21 + 1693 0572 13 .uleb128 0x13 + 1694 0573 65727200 .string "err" + 1695 0577 01 .byte 0x1 + 1696 0578 AD .byte 0xad + 1697 0579 57000000 .4byte 0x57 + 1698 057d 94020000 .4byte .LLST22 + 1699 0581 14 .uleb128 0x14 + 1700 0582 00000000 .4byte .Ldebug_ranges0+0x0 + 1701 0586 13 .uleb128 0x13 + 1702 0587 77726400 .string "wrd" + 1703 058b 01 .byte 0x1 + 1704 058c B1 .byte 0xb1 + 1705 058d 69000000 .4byte 0x69 + 1706 0591 B2020000 .4byte .LLST23 + 1707 0595 00 .byte 0x0 + 1708 0596 00 .byte 0x0 + 1709 0597 15 .uleb128 0x15 + 1710 0598 5F050000 .4byte .LASF82 + 1711 059c 01 .byte 0x1 + 1712 059d 1F .byte 0x1f + 1713 059e 46030000 .4byte 0x346 + 1714 05a2 01 .byte 0x1 + 1715 05a3 05 .byte 0x5 + 1716 05a4 03 .byte 0x3 + 1717 05a5 00000000 .4byte _g_set + 1718 05a9 15 .uleb128 0x15 + 1719 05aa B1000000 .4byte .LASF83 + 1720 05ae 01 .byte 0x1 + 1721 05af 2A .byte 0x2a + 1722 05b0 41020000 .4byte 0x241 + 1723 05b4 01 .byte 0x1 + 1724 05b5 05 .byte 0x5 + 1725 05b6 03 .byte 0x3 + 1726 05b7 18000000 .4byte _g_module_info + 1727 05bb 16 .uleb128 0x16 + 1728 05bc 6C020000 .4byte .LASF84 + 1729 05c0 06 .byte 0x6 + 1730 05c1 28 .byte 0x28 + 1731 05c2 C8050000 .4byte 0x5c8 + 1732 05c6 01 .byte 0x1 + 1733 05c7 01 .byte 0x1 + 1734 05c8 17 .uleb128 0x17 + 1735 05c9 89000000 .4byte 0x89 + 1736 05cd 00 .byte 0x0 + 1737 .section .debug_abbrev + BFIN GAS /tmp/ccAbtljy.s page 36 + + + 1738 0000 01 .uleb128 0x1 + 1739 0001 11 .uleb128 0x11 + 1740 0002 01 .byte 0x1 + 1741 0003 25 .uleb128 0x25 + 1742 0004 0E .uleb128 0xe + 1743 0005 13 .uleb128 0x13 + 1744 0006 0B .uleb128 0xb + 1745 0007 03 .uleb128 0x3 + 1746 0008 0E .uleb128 0xe + 1747 0009 1B .uleb128 0x1b + 1748 000a 0E .uleb128 0xe + 1749 000b 11 .uleb128 0x11 + 1750 000c 01 .uleb128 0x1 + 1751 000d 12 .uleb128 0x12 + 1752 000e 01 .uleb128 0x1 + 1753 000f 10 .uleb128 0x10 + 1754 0010 06 .uleb128 0x6 + 1755 0011 00 .byte 0x0 + 1756 0012 00 .byte 0x0 + 1757 0013 02 .uleb128 0x2 + 1758 0014 24 .uleb128 0x24 + 1759 0015 00 .byte 0x0 + 1760 0016 0B .uleb128 0xb + 1761 0017 0B .uleb128 0xb + 1762 0018 3E .uleb128 0x3e + 1763 0019 0B .uleb128 0xb + 1764 001a 03 .uleb128 0x3 + 1765 001b 0E .uleb128 0xe + 1766 001c 00 .byte 0x0 + 1767 001d 00 .byte 0x0 + 1768 001e 03 .uleb128 0x3 + 1769 001f 16 .uleb128 0x16 + 1770 0020 00 .byte 0x0 + 1771 0021 03 .uleb128 0x3 + 1772 0022 0E .uleb128 0xe + 1773 0023 3A .uleb128 0x3a + 1774 0024 0B .uleb128 0xb + 1775 0025 3B .uleb128 0x3b + 1776 0026 0B .uleb128 0xb + 1777 0027 49 .uleb128 0x49 + 1778 0028 13 .uleb128 0x13 + 1779 0029 00 .byte 0x0 + 1780 002a 00 .byte 0x0 + 1781 002b 04 .uleb128 0x4 + 1782 002c 24 .uleb128 0x24 + 1783 002d 00 .byte 0x0 + 1784 002e 0B .uleb128 0xb + 1785 002f 0B .uleb128 0xb + 1786 0030 3E .uleb128 0x3e + 1787 0031 0B .uleb128 0xb + 1788 0032 03 .uleb128 0x3 + 1789 0033 08 .uleb128 0x8 + 1790 0034 00 .byte 0x0 + 1791 0035 00 .byte 0x0 + 1792 0036 05 .uleb128 0x5 + 1793 0037 24 .uleb128 0x24 + 1794 0038 00 .byte 0x0 + BFIN GAS /tmp/ccAbtljy.s page 37 + + + 1795 0039 0B .uleb128 0xb + 1796 003a 0B .uleb128 0xb + 1797 003b 3E .uleb128 0x3e + 1798 003c 0B .uleb128 0xb + 1799 003d 00 .byte 0x0 + 1800 003e 00 .byte 0x0 + 1801 003f 06 .uleb128 0x6 + 1802 0040 04 .uleb128 0x4 + 1803 0041 01 .byte 0x1 + 1804 0042 0B .uleb128 0xb + 1805 0043 0B .uleb128 0xb + 1806 0044 3A .uleb128 0x3a + 1807 0045 0B .uleb128 0xb + 1808 0046 3B .uleb128 0x3b + 1809 0047 0B .uleb128 0xb + 1810 0048 01 .uleb128 0x1 + 1811 0049 13 .uleb128 0x13 + 1812 004a 00 .byte 0x0 + 1813 004b 00 .byte 0x0 + 1814 004c 07 .uleb128 0x7 + 1815 004d 28 .uleb128 0x28 + 1816 004e 00 .byte 0x0 + 1817 004f 03 .uleb128 0x3 + 1818 0050 0E .uleb128 0xe + 1819 0051 1C .uleb128 0x1c + 1820 0052 0D .uleb128 0xd + 1821 0053 00 .byte 0x0 + 1822 0054 00 .byte 0x0 + 1823 0055 08 .uleb128 0x8 + 1824 0056 13 .uleb128 0x13 + 1825 0057 01 .byte 0x1 + 1826 0058 0B .uleb128 0xb + 1827 0059 0B .uleb128 0xb + 1828 005a 3A .uleb128 0x3a + 1829 005b 0B .uleb128 0xb + 1830 005c 3B .uleb128 0x3b + 1831 005d 0B .uleb128 0xb + 1832 005e 01 .uleb128 0x1 + 1833 005f 13 .uleb128 0x13 + 1834 0060 00 .byte 0x0 + 1835 0061 00 .byte 0x0 + 1836 0062 09 .uleb128 0x9 + 1837 0063 0D .uleb128 0xd + 1838 0064 00 .byte 0x0 + 1839 0065 03 .uleb128 0x3 + 1840 0066 0E .uleb128 0xe + 1841 0067 3A .uleb128 0x3a + 1842 0068 0B .uleb128 0xb + 1843 0069 3B .uleb128 0x3b + 1844 006a 0B .uleb128 0xb + 1845 006b 49 .uleb128 0x49 + 1846 006c 13 .uleb128 0x13 + 1847 006d 38 .uleb128 0x38 + 1848 006e 0A .uleb128 0xa + 1849 006f 00 .byte 0x0 + 1850 0070 00 .byte 0x0 + 1851 0071 0A .uleb128 0xa + BFIN GAS /tmp/ccAbtljy.s page 38 + + + 1852 0072 0D .uleb128 0xd + 1853 0073 00 .byte 0x0 + 1854 0074 03 .uleb128 0x3 + 1855 0075 08 .uleb128 0x8 + 1856 0076 3A .uleb128 0x3a + 1857 0077 0B .uleb128 0xb + 1858 0078 3B .uleb128 0x3b + 1859 0079 0B .uleb128 0xb + 1860 007a 49 .uleb128 0x49 + 1861 007b 13 .uleb128 0x13 + 1862 007c 38 .uleb128 0x38 + 1863 007d 0A .uleb128 0xa + 1864 007e 00 .byte 0x0 + 1865 007f 00 .byte 0x0 + 1866 0080 0B .uleb128 0xb + 1867 0081 01 .uleb128 0x1 + 1868 0082 01 .byte 0x1 + 1869 0083 49 .uleb128 0x49 + 1870 0084 13 .uleb128 0x13 + 1871 0085 01 .uleb128 0x1 + 1872 0086 13 .uleb128 0x13 + 1873 0087 00 .byte 0x0 + 1874 0088 00 .byte 0x0 + 1875 0089 0C .uleb128 0xc + 1876 008a 21 .uleb128 0x21 + 1877 008b 00 .byte 0x0 + 1878 008c 49 .uleb128 0x49 + 1879 008d 13 .uleb128 0x13 + 1880 008e 2F .uleb128 0x2f + 1881 008f 0B .uleb128 0xb + 1882 0090 00 .byte 0x0 + 1883 0091 00 .byte 0x0 + 1884 0092 0D .uleb128 0xd + 1885 0093 13 .uleb128 0x13 + 1886 0094 01 .byte 0x1 + 1887 0095 0B .uleb128 0xb + 1888 0096 05 .uleb128 0x5 + 1889 0097 3A .uleb128 0x3a + 1890 0098 0B .uleb128 0xb + 1891 0099 3B .uleb128 0x3b + 1892 009a 0B .uleb128 0xb + 1893 009b 01 .uleb128 0x1 + 1894 009c 13 .uleb128 0x13 + 1895 009d 00 .byte 0x0 + 1896 009e 00 .byte 0x0 + 1897 009f 0E .uleb128 0xe + 1898 00a0 2E .uleb128 0x2e + 1899 00a1 01 .byte 0x1 + 1900 00a2 3F .uleb128 0x3f + 1901 00a3 0C .uleb128 0xc + 1902 00a4 03 .uleb128 0x3 + 1903 00a5 0E .uleb128 0xe + 1904 00a6 3A .uleb128 0x3a + 1905 00a7 0B .uleb128 0xb + 1906 00a8 3B .uleb128 0x3b + 1907 00a9 0B .uleb128 0xb + 1908 00aa 27 .uleb128 0x27 + BFIN GAS /tmp/ccAbtljy.s page 39 + + + 1909 00ab 0C .uleb128 0xc + 1910 00ac 49 .uleb128 0x49 + 1911 00ad 13 .uleb128 0x13 + 1912 00ae 11 .uleb128 0x11 + 1913 00af 01 .uleb128 0x1 + 1914 00b0 12 .uleb128 0x12 + 1915 00b1 01 .uleb128 0x1 + 1916 00b2 40 .uleb128 0x40 + 1917 00b3 06 .uleb128 0x6 + 1918 00b4 01 .uleb128 0x1 + 1919 00b5 13 .uleb128 0x13 + 1920 00b6 00 .byte 0x0 + 1921 00b7 00 .byte 0x0 + 1922 00b8 0F .uleb128 0xf + 1923 00b9 05 .uleb128 0x5 + 1924 00ba 00 .byte 0x0 + 1925 00bb 03 .uleb128 0x3 + 1926 00bc 0E .uleb128 0xe + 1927 00bd 3A .uleb128 0x3a + 1928 00be 0B .uleb128 0xb + 1929 00bf 3B .uleb128 0x3b + 1930 00c0 0B .uleb128 0xb + 1931 00c1 49 .uleb128 0x49 + 1932 00c2 13 .uleb128 0x13 + 1933 00c3 02 .uleb128 0x2 + 1934 00c4 06 .uleb128 0x6 + 1935 00c5 00 .byte 0x0 + 1936 00c6 00 .byte 0x0 + 1937 00c7 10 .uleb128 0x10 + 1938 00c8 05 .uleb128 0x5 + 1939 00c9 00 .byte 0x0 + 1940 00ca 03 .uleb128 0x3 + 1941 00cb 08 .uleb128 0x8 + 1942 00cc 3A .uleb128 0x3a + 1943 00cd 0B .uleb128 0xb + 1944 00ce 3B .uleb128 0x3b + 1945 00cf 0B .uleb128 0xb + 1946 00d0 49 .uleb128 0x49 + 1947 00d1 13 .uleb128 0x13 + 1948 00d2 02 .uleb128 0x2 + 1949 00d3 0A .uleb128 0xa + 1950 00d4 00 .byte 0x0 + 1951 00d5 00 .byte 0x0 + 1952 00d6 11 .uleb128 0x11 + 1953 00d7 05 .uleb128 0x5 + 1954 00d8 00 .byte 0x0 + 1955 00d9 03 .uleb128 0x3 + 1956 00da 0E .uleb128 0xe + 1957 00db 3A .uleb128 0x3a + 1958 00dc 0B .uleb128 0xb + 1959 00dd 3B .uleb128 0x3b + 1960 00de 0B .uleb128 0xb + 1961 00df 49 .uleb128 0x49 + 1962 00e0 13 .uleb128 0x13 + 1963 00e1 02 .uleb128 0x2 + 1964 00e2 0A .uleb128 0xa + 1965 00e3 00 .byte 0x0 + BFIN GAS /tmp/ccAbtljy.s page 40 + + + 1966 00e4 00 .byte 0x0 + 1967 00e5 12 .uleb128 0x12 + 1968 00e6 05 .uleb128 0x5 + 1969 00e7 00 .byte 0x0 + 1970 00e8 03 .uleb128 0x3 + 1971 00e9 08 .uleb128 0x8 + 1972 00ea 3A .uleb128 0x3a + 1973 00eb 0B .uleb128 0xb + 1974 00ec 3B .uleb128 0x3b + 1975 00ed 0B .uleb128 0xb + 1976 00ee 49 .uleb128 0x49 + 1977 00ef 13 .uleb128 0x13 + 1978 00f0 02 .uleb128 0x2 + 1979 00f1 06 .uleb128 0x6 + 1980 00f2 00 .byte 0x0 + 1981 00f3 00 .byte 0x0 + 1982 00f4 13 .uleb128 0x13 + 1983 00f5 34 .uleb128 0x34 + 1984 00f6 00 .byte 0x0 + 1985 00f7 03 .uleb128 0x3 + 1986 00f8 08 .uleb128 0x8 + 1987 00f9 3A .uleb128 0x3a + 1988 00fa 0B .uleb128 0xb + 1989 00fb 3B .uleb128 0x3b + 1990 00fc 0B .uleb128 0xb + 1991 00fd 49 .uleb128 0x49 + 1992 00fe 13 .uleb128 0x13 + 1993 00ff 02 .uleb128 0x2 + 1994 0100 06 .uleb128 0x6 + 1995 0101 00 .byte 0x0 + 1996 0102 00 .byte 0x0 + 1997 0103 14 .uleb128 0x14 + 1998 0104 0B .uleb128 0xb + 1999 0105 01 .byte 0x1 + 2000 0106 55 .uleb128 0x55 + 2001 0107 06 .uleb128 0x6 + 2002 0108 00 .byte 0x0 + 2003 0109 00 .byte 0x0 + 2004 010a 15 .uleb128 0x15 + 2005 010b 34 .uleb128 0x34 + 2006 010c 00 .byte 0x0 + 2007 010d 03 .uleb128 0x3 + 2008 010e 0E .uleb128 0xe + 2009 010f 3A .uleb128 0x3a + 2010 0110 0B .uleb128 0xb + 2011 0111 3B .uleb128 0x3b + 2012 0112 0B .uleb128 0xb + 2013 0113 49 .uleb128 0x49 + 2014 0114 13 .uleb128 0x13 + 2015 0115 3F .uleb128 0x3f + 2016 0116 0C .uleb128 0xc + 2017 0117 02 .uleb128 0x2 + 2018 0118 0A .uleb128 0xa + 2019 0119 00 .byte 0x0 + 2020 011a 00 .byte 0x0 + 2021 011b 16 .uleb128 0x16 + 2022 011c 34 .uleb128 0x34 + BFIN GAS /tmp/ccAbtljy.s page 41 + + + 2023 011d 00 .byte 0x0 + 2024 011e 03 .uleb128 0x3 + 2025 011f 0E .uleb128 0xe + 2026 0120 3A .uleb128 0x3a + 2027 0121 0B .uleb128 0xb + 2028 0122 3B .uleb128 0x3b + 2029 0123 0B .uleb128 0xb + 2030 0124 49 .uleb128 0x49 + 2031 0125 13 .uleb128 0x13 + 2032 0126 3F .uleb128 0x3f + 2033 0127 0C .uleb128 0xc + 2034 0128 3C .uleb128 0x3c + 2035 0129 0C .uleb128 0xc + 2036 012a 00 .byte 0x0 + 2037 012b 00 .byte 0x0 + 2038 012c 17 .uleb128 0x17 + 2039 012d 35 .uleb128 0x35 + 2040 012e 00 .byte 0x0 + 2041 012f 49 .uleb128 0x49 + 2042 0130 13 .uleb128 0x13 + 2043 0131 00 .byte 0x0 + 2044 0132 00 .byte 0x0 + 2045 0133 00 .byte 0x0 + 2046 .section .debug_pubnames,"",@progbits + 2047 0000 2A010000 .4byte 0x12a + 2048 0004 0200 .2byte 0x2 + 2049 0006 00000000 .4byte .Ldebug_info0 + 2050 000a CE050000 .4byte 0x5ce + 2051 000e 51030000 .4byte 0x351 + 2052 0012 70617261 .string "params_set_lch_cnt" + 2052 6D735F73 + 2052 65745F6C + 2052 63685F63 + 2052 6E7400 + 2053 0025 7E030000 .4byte 0x37e + 2054 0029 70617261 .string "params_set_lch" + 2054 6D735F73 + 2054 65745F6C + 2054 636800 + 2055 0038 EE030000 .4byte 0x3ee + 2056 003c 70617261 .string "params_set_adc_freq_div" + 2056 6D735F73 + 2056 65745F61 + 2056 64635F66 + 2056 7265715F + 2057 0054 1B040000 .4byte 0x41b + 2058 0058 70617261 .string "params_set_ref_freq" + 2058 6D735F73 + 2058 65745F72 + 2058 65665F66 + 2058 72657100 + 2059 006c 48040000 .4byte 0x448 + 2060 0070 70617261 .string "params_set_adc_interframe_delay" + 2060 6D735F73 + 2060 65745F61 + 2060 64635F69 + 2060 6E746572 + BFIN GAS /tmp/ccAbtljy.s page 42 + + + 2061 0090 75040000 .4byte 0x475 + 2062 0094 70617261 .string "params_set_sync_mode" + 2062 6D735F73 + 2062 65745F73 + 2062 796E635F + 2062 6D6F6465 + 2063 00a9 B1040000 .4byte 0x4b1 + 2064 00ad 70617261 .string "params_set_sync_start_mode" + 2064 6D735F73 + 2064 65745F73 + 2064 796E635F + 2064 73746172 + 2065 00c8 ED040000 .4byte 0x4ed + 2066 00cc 70617261 .string "params_set_din_freq_div" + 2066 6D735F73 + 2066 65745F64 + 2066 696E5F66 + 2066 7265715F + 2067 00e4 1A050000 .4byte 0x51a + 2068 00e8 70617261 .string "params_set_dac_freq_div" + 2068 6D735F73 + 2068 65745F64 + 2068 61635F66 + 2068 7265715F + 2069 0100 47050000 .4byte 0x547 + 2070 0104 636F6E66 .string "configure" + 2070 69677572 + 2070 6500 + 2071 010e 97050000 .4byte 0x597 + 2072 0112 675F7365 .string "g_set" + 2072 7400 + 2073 0118 A9050000 .4byte 0x5a9 + 2074 011c 675F6D6F .string "g_module_info" + 2074 64756C65 + 2074 5F696E66 + 2074 6F00 + 2075 012a 00000000 .4byte 0x0 + 2076 .section .debug_aranges,"",@progbits + 2077 0000 1C000000 .4byte 0x1c + 2078 0004 0200 .2byte 0x2 + 2079 0006 00000000 .4byte .Ldebug_info0 + 2080 000a 04 .byte 0x4 + 2081 000b 00 .byte 0x0 + 2082 000c 0000 .2byte 0x0 + 2083 000e 0000 .2byte 0x0 + 2084 0010 00000000 .4byte .Ltext0 + 2085 0014 EC020000 .4byte .Letext0-.Ltext0 + 2086 0018 00000000 .4byte 0x0 + 2087 001c 00000000 .4byte 0x0 + 2088 .section .debug_ranges,"",@progbits + 2089 .Ldebug_ranges0: + 2090 0000 F6010000 .4byte .LBB2-.Ltext0 + 2091 0004 30020000 .4byte .LBE2-.Ltext0 + 2092 0008 3E020000 .4byte .LBB3-.Ltext0 + 2093 000c 62020000 .4byte .LBE3-.Ltext0 + 2094 0010 00000000 .4byte 0x0 + 2095 0014 00000000 .4byte 0x0 + BFIN GAS /tmp/ccAbtljy.s page 43 + + + 2096 .section .debug_str,"MS",@progbits,1 + 2097 .LASF29: + 2098 0000 4C353032 .string "L502_ADC_RANGE_10" + 2098 5F414443 + 2098 5F52414E + 2098 47455F31 + 2098 3000 + 2099 .LASF25: + 2100 0012 4C353032 .string "L502_BF_MODE_STREAM" + 2100 5F42465F + 2100 4D4F4445 + 2100 5F535452 + 2100 45414D00 + 2101 .LASF20: + 2102 0026 4C353032 .string "L502_BF_ERR_STREAM_RUNNING" + 2102 5F42465F + 2102 4552525F + 2102 53545245 + 2102 414D5F52 + 2103 .LASF32: + 2104 0041 4C353032 .string "L502_ADC_RANGE_1" + 2104 5F414443 + 2104 5F52414E + 2104 47455F31 + 2104 00 + 2105 .LASF31: + 2106 0052 4C353032 .string "L502_ADC_RANGE_2" + 2106 5F414443 + 2106 5F52414E + 2106 47455F32 + 2106 00 + 2107 .LASF30: + 2108 0063 4C353032 .string "L502_ADC_RANGE_5" + 2108 5F414443 + 2108 5F52414E + 2108 47455F35 + 2108 00 + 2109 .LASF85: + 2110 0074 474E5520 .string "GNU C 4.3.5" + 2110 4320342E + 2110 332E3500 + 2111 .LASF0: + 2112 0080 7369676E .string "signed char" + 2112 65642063 + 2112 68617200 + 2113 .LASF36: + 2114 008c 4C353032 .string "L502_LCH_MODE_COMM" + 2114 5F4C4348 + 2114 5F4D4F44 + 2114 455F434F + 2114 4D4D00 + 2115 .LASF53: + 2116 009f 6461635F .string "dac_cbr" + 2116 63627200 + 2117 .LASF2: + 2118 00a7 73686F72 .string "short int" + 2118 7420696E + BFIN GAS /tmp/ccAbtljy.s page 44 + + + 2118 7400 + 2119 .LASF83: + 2120 00b1 675F6D6F .string "g_module_info" + 2120 64756C65 + 2120 5F696E66 + 2120 6F00 + 2121 .LASF81: + 2122 00bf 636F6E66 .string "configure" + 2122 69677572 + 2122 6500 + 2123 .LASF42: + 2124 00c9 4C353032 .string "L502_SYNC_DI_SYN1_RISE" + 2124 5F53594E + 2124 435F4449 + 2124 5F53594E + 2124 315F5249 + 2125 .LASF50: + 2126 00e0 64657666 .string "devflags" + 2126 6C616773 + 2126 00 + 2127 .LASF37: + 2128 00e9 4C353032 .string "L502_LCH_MODE_DIFF" + 2128 5F4C4348 + 2128 5F4D4F44 + 2128 455F4449 + 2128 464600 + 2129 .LASF69: + 2130 00fc 70617261 .string "params_set_lch_cnt" + 2130 6D735F73 + 2130 65745F6C + 2130 63685F63 + 2130 6E7400 + 2131 .LASF64: + 2132 010f 7265665F .string "ref_freq" + 2132 66726571 + 2132 00 + 2133 .LASF56: + 2134 0118 6D6F6465 .string "mode" + 2134 00 + 2135 .LASF51: + 2136 011d 66706761 .string "fpga_ver" + 2136 5F766572 + 2136 00 + 2137 .LASF59: + 2138 0126 745F6C63 .string "t_lch" + 2138 6800 + 2139 .LASF28: + 2140 012c 4C353032 .string "L502_REF_FREQ_1500KHZ" + 2140 5F524546 + 2140 5F465245 + 2140 515F3135 + 2140 30304B48 + 2141 .LASF21: + 2142 0142 4C353032 .string "L502_BF_ERR_STREAM_STOPPED" + 2142 5F42465F + 2142 4552525F + 2142 53545245 + BFIN GAS /tmp/ccAbtljy.s page 45 + + + 2142 414D5F53 + 2143 .LASF55: + 2144 015d 7068795F .string "phy_ch" + 2144 636800 + 2145 .LASF71: + 2146 0164 696E6465 .string "index" + 2146 7800 + 2147 .LASF63: + 2148 016a 6164635F .string "adc_frame_delay" + 2148 6672616D + 2148 655F6465 + 2148 6C617900 + 2149 .LASF27: + 2150 017a 4C353032 .string "L502_REF_FREQ_2000KHZ" + 2150 5F524546 + 2150 5F465245 + 2150 515F3230 + 2150 30304B48 + 2151 .LASF44: + 2152 0190 4C353032 .string "L502_SYNC_DI_SYN1_FALL" + 2152 5F53594E + 2152 435F4449 + 2152 5F53594E + 2152 315F4641 + 2153 .LASF41: + 2154 01a7 4C353032 .string "L502_SYNC_EXTERNAL_MASTER" + 2154 5F53594E + 2154 435F4558 + 2154 5445524E + 2154 414C5F4D + 2155 .LASF76: + 2156 01c1 64656C61 .string "delay" + 2156 7900 + 2157 .LASF48: + 2158 01c7 666C6F61 .string "float" + 2158 7400 + 2159 .LASF47: + 2160 01cd 6F666673 .string "offs" + 2160 00 + 2161 .LASF86: + 2162 01d2 7372632F .string "src/l502_params.c" + 2162 6C353032 + 2162 5F706172 + 2162 616D732E + 2162 6300 + 2163 .LASF10: + 2164 01e4 6C6F6E67 .string "long long int" + 2164 206C6F6E + 2164 6720696E + 2164 7400 + 2165 .LASF23: + 2166 01f2 4C353032 .string "L502_BF_ERR_TEST_VALUE" + 2166 5F42465F + 2166 4552525F + 2166 54455354 + 2166 5F56414C + 2167 .LASF7: + BFIN GAS /tmp/ccAbtljy.s page 46 + + + 2168 0209 6C6F6E67 .string "long int" + 2168 20696E74 + 2168 00 + 2169 .LASF16: + 2170 0212 4C353032 .string "L502_BF_ERR_UNSUP_CMD" + 2170 5F42465F + 2170 4552525F + 2170 554E5355 + 2170 505F434D + 2171 .LASF73: + 2172 0228 70617261 .string "params_set_ref_freq" + 2172 6D735F73 + 2172 65745F72 + 2172 65665F66 + 2172 72657100 + 2173 .LASF72: + 2174 023c 70617261 .string "params_set_adc_freq_div" + 2174 6D735F73 + 2174 65745F61 + 2174 64635F66 + 2174 7265715F + 2175 .LASF17: + 2176 0254 4C353032 .string "L502_BF_ERR_CMD_OVERRUN" + 2176 5F42465F + 2176 4552525F + 2176 434D445F + 2176 4F564552 + 2177 .LASF84: + 2178 026c 675F6D6F .string "g_mode" + 2178 646500 + 2179 .LASF78: + 2180 0273 70617261 .string "params_set_sync_start_mode" + 2180 6D735F73 + 2180 65745F73 + 2180 796E635F + 2180 73746172 + 2181 .LASF40: + 2182 028e 4C353032 .string "L502_SYNC_INTERNAL" + 2182 5F53594E + 2182 435F494E + 2182 5445524E + 2182 414C00 + 2183 .LASF79: + 2184 02a1 70617261 .string "params_set_din_freq_div" + 2184 6D735F73 + 2184 65745F64 + 2184 696E5F66 + 2184 7265715F + 2185 .LASF1: + 2186 02b9 756E7369 .string "unsigned char" + 2186 676E6564 + 2186 20636861 + 2186 7200 + 2187 .LASF34: + 2188 02c7 4C353032 .string "L502_ADC_RANGE_02" + 2188 5F414443 + 2188 5F52414E + BFIN GAS /tmp/ccAbtljy.s page 47 + + + 2188 47455F30 + 2188 3200 + 2189 .LASF61: + 2190 02d9 6164635F .string "adc_freq_div" + 2190 66726571 + 2190 5F646976 + 2190 00 + 2191 .LASF58: + 2192 02e6 666C6167 .string "flags" + 2192 7300 + 2193 .LASF11: + 2194 02ec 6C6F6E67 .string "long long unsigned int" + 2194 206C6F6E + 2194 6720756E + 2194 7369676E + 2194 65642069 + 2195 .LASF38: + 2196 0303 4C353032 .string "L502_LCH_MODE_ZERO" + 2196 5F4C4348 + 2196 5F4D4F44 + 2196 455F5A45 + 2196 524F00 + 2197 .LASF8: + 2198 0316 75696E74 .string "uint32_t" + 2198 33325F74 + 2198 00 + 2199 .LASF62: + 2200 031f 64696E5F .string "din_freq_div" + 2200 66726571 + 2200 5F646976 + 2200 00 + 2201 .LASF12: + 2202 032c 756E7369 .string "unsigned int" + 2202 676E6564 + 2202 20696E74 + 2202 00 + 2203 .LASF4: + 2204 0339 75696E74 .string "uint16_t" + 2204 31365F74 + 2204 00 + 2205 .LASF54: + 2206 0342 745F6D6F .string "t_module_info" + 2206 64756C65 + 2206 5F696E66 + 2206 6F00 + 2207 .LASF77: + 2208 0350 70617261 .string "params_set_sync_mode" + 2208 6D735F73 + 2208 65745F73 + 2208 796E635F + 2208 6D6F6465 + 2209 .LASF70: + 2210 0365 70617261 .string "params_set_lch" + 2210 6D735F73 + 2210 65745F6C + 2210 636800 + 2211 .LASF67: + BFIN GAS /tmp/ccAbtljy.s page 48 + + + 2212 0374 73796E63 .string "sync_start_mode" + 2212 5F737461 + 2212 72745F6D + 2212 6F646500 + 2213 .LASF5: + 2214 0384 73686F72 .string "short unsigned int" + 2214 7420756E + 2214 7369676E + 2214 65642069 + 2214 6E7400 + 2215 .LASF18: + 2216 0397 4C353032 .string "L502_BF_ERR_INVALID_CMD_PARAMS" + 2216 5F42465F + 2216 4552525F + 2216 494E5641 + 2216 4C49445F + 2217 .LASF26: + 2218 03b6 4C353032 .string "L502_BF_MODE_TEST" + 2218 5F42465F + 2218 4D4F4445 + 2218 5F544553 + 2218 5400 + 2219 .LASF13: + 2220 03c8 63686172 .string "char" + 2220 00 + 2221 .LASF66: + 2222 03cd 73796E63 .string "sync_mode" + 2222 5F6D6F64 + 2222 6500 + 2223 .LASF6: + 2224 03d7 696E7433 .string "int32_t" + 2224 325F7400 + 2225 .LASF19: + 2226 03df 4C353032 .string "L502_BF_ERR_INSUF_CMD_DATA" + 2226 5F42465F + 2226 4552525F + 2226 494E5355 + 2226 465F434D + 2227 .LASF65: + 2228 03fa 6F75745F .string "out_freq_div" + 2228 66726571 + 2228 5F646976 + 2228 00 + 2229 .LASF49: + 2230 0407 745F6461 .string "t_dac_cbr_coef" + 2230 635F6362 + 2230 725F636F + 2230 656600 + 2231 .LASF22: + 2232 0416 4C353032 .string "L502_BF_ERR_NO_TEST_IN_PROGR" + 2232 5F42465F + 2232 4552525F + 2232 4E4F5F54 + 2232 4553545F + 2233 .LASF74: + 2234 0433 66726571 .string "freq_code" + 2234 5F636F64 + BFIN GAS /tmp/ccAbtljy.s page 49 + + + 2234 6500 + 2235 .LASF46: + 2236 043d 745F6C35 .string "t_l502_sync_mode" + 2236 30325F73 + 2236 796E635F + 2236 6D6F6465 + 2236 00 + 2237 .LASF87: + 2238 044e 2F686F6D .string "/home/feda/MIPT/RadioPhotonic_Subserface_radar/ADC_computing/BFfirmware_0" + 2238 652F6665 + 2238 64612F4D + 2238 4950542F + 2238 52616469 + 2239 .LASF9: + 2240 0498 6C6F6E67 .string "long unsigned int" + 2240 20756E73 + 2240 69676E65 + 2240 6420696E + 2240 7400 + 2241 .LASF33: + 2242 04aa 4C353032 .string "L502_ADC_RANGE_05" + 2242 5F414443 + 2242 5F52414E + 2242 47455F30 + 2242 3500 + 2243 .LASF45: + 2244 04bc 4C353032 .string "L502_SYNC_DI_SYN2_FALL" + 2244 5F53594E + 2244 435F4449 + 2244 5F53594E + 2244 325F4641 + 2245 .LASF43: + 2246 04d3 4C353032 .string "L502_SYNC_DI_SYN2_RISE" + 2246 5F53594E + 2246 435F4449 + 2246 5F53594E + 2246 325F5249 + 2247 .LASF80: + 2248 04ea 70617261 .string "params_set_dac_freq_div" + 2248 6D735F73 + 2248 65745F64 + 2248 61635F66 + 2248 7265715F + 2249 .LASF57: + 2250 0502 72616E67 .string "range" + 2250 6500 + 2251 .LASF3: + 2252 0508 75696E74 .string "uint8_t" + 2252 385F7400 + 2253 .LASF15: + 2254 0510 4C353032 .string "L502_BF_ERR_FIRST_CODE" + 2254 5F42465F + 2254 4552525F + 2254 46495253 + 2254 545F434F + 2255 .LASF68: + 2256 0527 745F7365 .string "t_settings" + BFIN GAS /tmp/ccAbtljy.s page 50 + + + 2256 7474696E + 2256 677300 + 2257 .LASF35: + 2258 0532 745F6C35 .string "t_l502_adc_range" + 2258 30325F61 + 2258 64635F72 + 2258 616E6765 + 2258 00 + 2259 .LASF14: + 2260 0543 4C353032 .string "L502_BF_ERR_SUCCESS" + 2260 5F42465F + 2260 4552525F + 2260 53554343 + 2260 45535300 + 2261 .LASF60: + 2262 0557 6C63685F .string "lch_cnt" + 2262 636E7400 + 2263 .LASF82: + 2264 055f 675F7365 .string "g_set" + 2264 7400 + 2265 .LASF75: + 2266 0565 70617261 .string "params_set_adc_interframe_delay" + 2266 6D735F73 + 2266 65745F61 + 2266 64635F69 + 2266 6E746572 + 2267 .LASF24: + 2268 0585 4C353032 .string "L502_BF_MODE_IDLE" + 2268 5F42465F + 2268 4D4F4445 + 2268 5F49444C + 2268 4500 + 2269 .LASF39: + 2270 0597 745F6C35 .string "t_l502_lch_mode" + 2270 30325F6C + 2270 63685F6D + 2270 6F646500 + 2271 .LASF52: + 2272 05a7 706C6461 .string "plda_ver" + 2272 5F766572 + 2272 00 + 2273 .ident "GCC: (ADI-2014R1-RC2) 4.3.5" + BFIN GAS /tmp/ccAbtljy.s page 51 + + +DEFINED SYMBOLS + *ABS*:0000000000000000 src/l502_params.c + /tmp/ccAbtljy.s:13 .text:0000000000000000 _params_set_lch_cnt + /tmp/ccAbtljy.s:526 .data:0000000000000000 _g_set + /tmp/ccAbtljy.s:48 .text:000000000000002c _params_set_lch + /tmp/ccAbtljy.s:115 .text:000000000000008c _params_set_adc_freq_div + /tmp/ccAbtljy.s:150 .text:00000000000000bc _params_set_ref_freq + /tmp/ccAbtljy.s:172 .text:00000000000000d4 _params_set_adc_interframe_delay + /tmp/ccAbtljy.s:207 .text:0000000000000100 _params_set_sync_mode + /tmp/ccAbtljy.s:245 .text:0000000000000130 _params_set_sync_start_mode + /tmp/ccAbtljy.s:283 .text:0000000000000160 _params_set_din_freq_div + /tmp/ccAbtljy.s:318 .text:0000000000000190 _params_set_dac_freq_div + /tmp/ccAbtljy.s:352 .text:00000000000001c0 _configure + *COM*:0000000000000018 _g_module_info + +UNDEFINED SYMBOLS +_g_mode +_fpga_reg_write diff --git a/build/release/lst/l502_sport_tx.lst b/build/release/lst/l502_sport_tx.lst new file mode 100644 index 0000000..6031251 --- /dev/null +++ b/build/release/lst/l502_sport_tx.lst @@ -0,0 +1,3317 @@ +BFIN GAS /tmp/ccAC6MSl.s page 1 + + + 1 .file "src/l502_sport_tx.c"; + 2 .section .debug_abbrev,"",@progbits + 3 .Ldebug_abbrev0: + 4 .section .debug_info,"",@progbits + 5 .Ldebug_info0: + 6 .section .debug_line,"",@progbits + 7 .Ldebug_line0: + 8 0000 CC010000 .text; + 8 0200EE00 + 8 00000101 + 8 FB0E0D00 + 8 01010101 + 9 .Ltext0: + 10 .align 4 + 11 .global _sport_tx_out_status; + 12 .type _sport_tx_out_status, STT_FUNC; + 13 _sport_tx_out_status: + 14 .LFB16: + 15 .file 1 "src/l502_sport_tx.c" + 1:src/l502_sport_tx.c **** /** @addtogroup sport_tx + 2:src/l502_sport_tx.c **** @{ + 3:src/l502_sport_tx.c **** @file l502_sport_tx.c + 4:src/l502_sport_tx.c **** Файл содержит логику для управления передачей по SPORT0. + 5:src/l502_sport_tx.c **** Изначально DMA должен быть проинициализирован с помощью sport_tx_init(), + 6:src/l502_sport_tx.c **** Передача начинается с помщью sport_tx_start_req(). Можно поставить до 16 + 7:src/l502_sport_tx.c **** запросов одновременно. + 8:src/l502_sport_tx.c **** Останвить все текущие передачи можно с помощью sport_tx_stop(). + 9:src/l502_sport_tx.c **** ***********************************************************************/ + 10:src/l502_sport_tx.c **** + 11:src/l502_sport_tx.c **** + 12:src/l502_sport_tx.c **** + 13:src/l502_sport_tx.c **** #include + 14:src/l502_sport_tx.c **** #include + 15:src/l502_sport_tx.c **** + 16:src/l502_sport_tx.c **** + 17:src/l502_sport_tx.c **** #include + 18:src/l502_sport_tx.c **** #include + 19:src/l502_sport_tx.c **** #include + 20:src/l502_sport_tx.c **** #include "l502_sport_tx.h" + 21:src/l502_sport_tx.c **** #include "l502_cdefs.h" + 22:src/l502_sport_tx.c **** #include "l502_fpga_regs.h" + 23:src/l502_sport_tx.c **** #include "l502_fpga.h" + 24:src/l502_sport_tx.c **** #include "l502_bf_cmd_defs.h" + 25:src/l502_sport_tx.c **** #include "l502_defs.h" + 26:src/l502_sport_tx.c **** #include "l502_stream.h" + 27:src/l502_sport_tx.c **** + 28:src/l502_sport_tx.c **** #define SPORT_TX_DESCR_CNT 16 + 29:src/l502_sport_tx.c **** + 30:src/l502_sport_tx.c **** #define SPORT_TX_DMA_CFG_WAIT (DMAEN | DI_EN | WDSIZE_16 | SYNC) + 31:src/l502_sport_tx.c **** #define SPORT_TX_DMA_CFG_START (SPORT_TX_DMA_CFG_WAIT | NDSIZE_5 | FLOW_SMALL) + 32:src/l502_sport_tx.c **** + 33:src/l502_sport_tx.c **** + 34:src/l502_sport_tx.c **** + 35:src/l502_sport_tx.c **** /* дескриптор DMA размера 5 16-битных слов */ + 36:src/l502_sport_tx.c **** typedef struct { + 37:src/l502_sport_tx.c **** uint16_t ndpl; + 38:src/l502_sport_tx.c **** uint16_t sal; + BFIN GAS /tmp/ccAC6MSl.s page 2 + + + 39:src/l502_sport_tx.c **** uint16_t sah; + 40:src/l502_sport_tx.c **** uint16_t cfg; + 41:src/l502_sport_tx.c **** uint16_t xcnt; + 42:src/l502_sport_tx.c **** } t_sport_dma_descr; + 43:src/l502_sport_tx.c **** + 44:src/l502_sport_tx.c **** + 45:src/l502_sport_tx.c **** static t_sport_dma_descr f_descrs[SPORT_TX_DESCR_CNT]; + 46:src/l502_sport_tx.c **** static uint8_t f_put_descr, f_done_descr; + 47:src/l502_sport_tx.c **** static volatile int f_put_cnt, f_done_cnt; + 48:src/l502_sport_tx.c **** static int f_first; + 49:src/l502_sport_tx.c **** + 50:src/l502_sport_tx.c **** static volatile int f_tx_was_empty = 0; + 51:src/l502_sport_tx.c **** + 52:src/l502_sport_tx.c **** void sport_tx_done(uint32_t* addr, uint32_t size); + 53:src/l502_sport_tx.c **** + 54:src/l502_sport_tx.c **** /***************************************************************************//** + 55:src/l502_sport_tx.c **** @brief Чтение флагов статуса вывода + 56:src/l502_sport_tx.c **** @return Флаги статуса --- набор битов из #t_x502_out_status_flags, + 57:src/l502_sport_tx.c **** объединенных через логическое “ИЛИ”. + 58:src/l502_sport_tx.c **** ******************************************************************************/ + 59:src/l502_sport_tx.c **** uint32_t sport_tx_out_status(void) { + 16 .loc 1 59 0 + 60:src/l502_sport_tx.c **** uint32_t ret = 0; + 61:src/l502_sport_tx.c **** if (f_put_cnt == f_done_cnt) + 17 .loc 1 61 0 + 18 0000 4AE10000 P2.H = _f_put_cnt; + 59:src/l502_sport_tx.c **** uint32_t sport_tx_out_status(void) { + 19 .loc 1 59 0 + 20 0004 00E80000 LINK 0; + 21 .LCFI0: + 22 .loc 1 61 0 + 23 0008 0AE1A800 P2.L = _f_put_cnt; + 24 000c 1191 R1 = [P2]; + 25 000e 4AE10000 P2.H = _f_done_cnt; + 26 0012 0AE1AC00 P2.L = _f_done_cnt; + 27 0016 1091 R0 = [P2]; + 62:src/l502_sport_tx.c **** ret |= X502_OUT_STATUS_FLAG_BUF_IS_EMPTY; + 63:src/l502_sport_tx.c **** if (f_tx_was_empty) { + 28 .loc 1 63 0 + 29 0018 4AE10000 P2.H = _f_tx_was_empty; + 61:src/l502_sport_tx.c **** if (f_put_cnt == f_done_cnt) + 30 .loc 1 61 0 + 31 001c 0108 cc =R1==R0; + 32 .loc 1 63 0 + 33 001e 0AE10000 P2.L = _f_tx_was_empty; + 61:src/l502_sport_tx.c **** if (f_put_cnt == f_done_cnt) + 34 .loc 1 61 0 + 35 0022 0102 R1 = CC; + 36 .LVL0: + 37 .loc 1 63 0 + 38 0024 1091 R0 = [P2]; + 39 0026 000C cc =R0==0; + 40 0028 0418 if cc jump .L2; + 64:src/l502_sport_tx.c **** ret |= X502_OUT_STATUS_FLAG_BUF_WAS_EMPTY; + 65:src/l502_sport_tx.c **** f_tx_was_empty = 0; + 41 .loc 1 65 0 + 42 002a 0060 R0 = 0 (X); + BFIN GAS /tmp/ccAC6MSl.s page 3 + + + 64:src/l502_sport_tx.c **** ret |= X502_OUT_STATUS_FLAG_BUF_WAS_EMPTY; + 43 .loc 1 64 0 + 44 002c 094A BITSET (R1, 1); + 45 .loc 1 65 0 + 46 002e 1093 [P2] = R0; + 47 .L2: + 66:src/l502_sport_tx.c **** } + 67:src/l502_sport_tx.c **** return ret; + 68:src/l502_sport_tx.c **** } + 48 .loc 1 68 0 + 49 0030 0130 R0 = R1; + 50 0032 01E80000 UNLINK; + 51 0036 1000 rts; + 52 .LFE16: + 53 .size _sport_tx_out_status, .-_sport_tx_out_status + 54 .align 4 + 55 .global _sport_tx_init; + 56 .type _sport_tx_init, STT_FUNC; + 57 _sport_tx_init: + 58 .LFB17: + 69:src/l502_sport_tx.c **** + 70:src/l502_sport_tx.c **** + 71:src/l502_sport_tx.c **** + 72:src/l502_sport_tx.c **** /** @brief Начальная инициализация канала DMA на передачу по SPORT. + 73:src/l502_sport_tx.c **** + 74:src/l502_sport_tx.c **** Функция устанавливает параметры DMA которые не меняются при последующей работе + 75:src/l502_sport_tx.c **** прошивки */ + 76:src/l502_sport_tx.c **** void sport_tx_init(void) { + 59 .loc 1 76 0 + 77:src/l502_sport_tx.c **** int i; + 78:src/l502_sport_tx.c **** for (i=0; i < SPORT_TX_DESCR_CNT; i++) { + 79:src/l502_sport_tx.c **** f_descrs[i].cfg = SPORT_TX_DMA_CFG_WAIT; + 60 .loc 1 79 0 + 61 0038 4AE10000 P2.H = _f_descrs; + 62 003c 0AE10400 P2.L = _f_descrs; + 80:src/l502_sport_tx.c **** f_descrs[i].ndpl = i==(SPORT_TX_DESCR_CNT-1) ? (uint32_t)&f_descrs[0]&0xFFFF : + 63 .loc 1 80 0 + 64 0040 4230 R0 = P2; + 76:src/l502_sport_tx.c **** void sport_tx_init(void) { + 65 .loc 1 76 0 + 66 0042 00E80000 LINK 0; + 67 .LCFI1: + 68 .loc 1 80 0 + 69 0046 5064 R0 += 10; + 70 0048 1097 W [P2] = R0; + 71 004a 5064 R0 += 10; + 72 004c 50B5 W [P2+10] = R0; + 73 004e 5064 R0 += 10; + 74 0050 90B6 W [P2+20] = R0; + 75 0052 5064 R0 += 10; + 76 0054 D0B7 W [P2+30] = R0; + 77 0056 5064 R0 += 10; + 78 0058 50E61400 W [P2+40] = R0; + 79 005c 5064 R0 += 10; + 80 005e 50E61900 W [P2+50] = R0; + 81 0062 40E10000 R0.H = _f_descrs+70; + 82 0066 00E14A00 R0.L = _f_descrs+70; + BFIN GAS /tmp/ccAC6MSl.s page 4 + + + 83 006a 50E61E00 W [P2+60] = R0; + 84 006e 40E10000 R0.H = _f_descrs+80; + 85 0072 00E15400 R0.L = _f_descrs+80; + 86 0076 50E62300 W [P2+70] = R0; + 87 007a 40E10000 R0.H = _f_descrs+90; + 88 007e 00E15E00 R0.L = _f_descrs+90; + 89 0082 50E62800 W [P2+80] = R0; + 90 0086 40E10000 R0.H = _f_descrs+100; + 91 008a 00E16800 R0.L = _f_descrs+100; + 92 008e 50E62D00 W [P2+90] = R0; + 93 0092 40E10000 R0.H = _f_descrs+110; + 94 0096 00E17200 R0.L = _f_descrs+110; + 95 009a 50E63200 W [P2+100] = R0; + 96 009e 40E10000 R0.H = _f_descrs+120; + 97 00a2 00E17C00 R0.L = _f_descrs+120; + 98 00a6 50E63700 W [P2+110] = R0; + 99 00aa 40E10000 R0.H = _f_descrs+130; + 100 00ae 00E18600 R0.L = _f_descrs+130; + 101 00b2 50E63C00 W [P2+120] = R0; + 102 00b6 40E10000 R0.H = _f_descrs+140; + 103 00ba 00E19000 R0.L = _f_descrs+140; + 104 00be 50E64100 W [P2+130] = R0; + 105 00c2 40E10000 R0.H = _f_descrs+150; + 106 00c6 00E19A00 R0.L = _f_descrs+150; + 79:src/l502_sport_tx.c **** f_descrs[i].cfg = SPORT_TX_DMA_CFG_WAIT; + 107 .loc 1 79 0 + 108 00ca 21E1A500 R1 = 165 (X); + 109 .loc 1 80 0 + 110 00ce 50E64600 W [P2+140] = R0; + 111 00d2 4230 R0 = P2; + 79:src/l502_sport_tx.c **** f_descrs[i].cfg = SPORT_TX_DMA_CFG_WAIT; + 112 .loc 1 79 0 + 113 00d4 D1B4 W [P2+6] = R1; + 114 00d6 11B6 W [P2+16] = R1; + 115 00d8 51B7 W [P2+26] = R1; + 116 00da 51E61200 W [P2+36] = R1; + 117 00de 51E61700 W [P2+46] = R1; + 118 00e2 51E61C00 W [P2+56] = R1; + 119 00e6 51E62100 W [P2+66] = R1; + 120 00ea 51E62600 W [P2+76] = R1; + 121 00ee 51E62B00 W [P2+86] = R1; + 122 00f2 51E63000 W [P2+96] = R1; + 123 00f6 51E63500 W [P2+106] = R1; + 124 00fa 51E63A00 W [P2+116] = R1; + 125 00fe 51E63F00 W [P2+126] = R1; + 126 0102 51E64400 W [P2+136] = R1; + 127 0106 51E64900 W [P2+146] = R1; + 128 010a 51E64E00 W [P2+156] = R1; + 81:src/l502_sport_tx.c **** (uint32_t)&f_descrs[i+1]&0xFFFF; + 82:src/l502_sport_tx.c **** } + 83:src/l502_sport_tx.c **** + 84:src/l502_sport_tx.c **** *pDMA4_NEXT_DESC_PTR = f_descrs; + 129 .loc 1 84 0 + 130 010e 49E1C0FF P1.H = 65472; + 80:src/l502_sport_tx.c **** f_descrs[i].ndpl = i==(SPORT_TX_DESCR_CNT-1) ? (uint32_t)&f_descrs[0]&0xFFFF : + 131 .loc 1 80 0 + 132 0112 50E64B00 W [P2+150] = R0; + BFIN GAS /tmp/ccAC6MSl.s page 5 + + + 133 .loc 1 84 0 + 134 0116 09E1000D P1.L = 3328; + 135 011a 4A93 [P1] = P2; + 85:src/l502_sport_tx.c **** *pDMA4_X_MODIFY = 2; + 136 .loc 1 85 0 + 137 011c 4AE1C0FF P2.H = 65472; + 138 0120 1060 R0 = 2 (X); + 139 0122 0AE1140D P2.L = 3348; + 140 0126 1097 W [P2] = R0; + 86:src/l502_sport_tx.c **** f_put_cnt = f_done_cnt = 0; + 141 .loc 1 86 0 + 142 0128 4AE10000 P2.H = _f_done_cnt; + 143 012c 0AE1AC00 P2.L = _f_done_cnt; + 144 0130 0060 R0 = 0 (X); + 145 0132 1093 [P2] = R0; + 146 0134 1091 R0 = [P2]; + 147 0136 4AE10000 P2.H = _f_put_cnt; + 148 013a 0AE1A800 P2.L = _f_put_cnt; + 149 013e 1093 [P2] = R0; + 87:src/l502_sport_tx.c **** f_put_descr = f_done_descr = 0; + 150 .loc 1 87 0 + 151 0140 4AE10000 P2.H = _f_done_descr; + 152 0144 0060 R0 = 0 (X); + 153 0146 0AE1A500 P2.L = _f_done_descr; + 154 014a 109B B [P2] = R0; + 155 014c 4AE10000 P2.H = _f_put_descr; + 156 0150 0AE1A400 P2.L = _f_put_descr; + 157 0154 109B B [P2] = R0; + 88:src/l502_sport_tx.c **** f_first = 1; + 158 .loc 1 88 0 + 159 0156 4AE10000 P2.H = _f_first; + 160 015a 0860 R0 = 1 (X); + 161 015c 0AE1B000 P2.L = _f_first; + 162 0160 1093 [P2] = R0; + 89:src/l502_sport_tx.c **** } + 163 .loc 1 89 0 + 164 0162 01E80000 UNLINK; + 165 0166 1000 rts; + 166 .LFE17: + 167 .size _sport_tx_init, .-_sport_tx_init + 168 .align 4 + 169 .global _sport_tx_req_rdy; + 170 .type _sport_tx_req_rdy, STT_FUNC; + 171 _sport_tx_req_rdy: + 172 .LFB20: + 90:src/l502_sport_tx.c **** + 91:src/l502_sport_tx.c **** + 92:src/l502_sport_tx.c **** /* Функция разрешает канал DMA для передачи данных в SPORT0 и саму передачу + 93:src/l502_sport_tx.c **** * для SPORT 0 */ + 94:src/l502_sport_tx.c **** static void f_sport_tx_start(void) { + 95:src/l502_sport_tx.c **** /* разрешаем передачу по SPORT'у */ + 96:src/l502_sport_tx.c **** *pSPORT0_TCR1 |= TSPEN; + 97:src/l502_sport_tx.c **** f_first = 0; + 98:src/l502_sport_tx.c **** f_tx_was_empty = 0; + 99:src/l502_sport_tx.c **** } + 100:src/l502_sport_tx.c **** + 101:src/l502_sport_tx.c **** + BFIN GAS /tmp/ccAC6MSl.s page 6 + + + 102:src/l502_sport_tx.c **** /** @brief Останов сбора по SPORT0. + 103:src/l502_sport_tx.c **** * + 104:src/l502_sport_tx.c **** * Функция запрещает прием по SPORT0 и соответствующий канал DMA на прем */ + 105:src/l502_sport_tx.c **** void sport_tx_stop(void) { + 106:src/l502_sport_tx.c **** *pSIC_IMASK0 &= ~IRQ_DMA4; + 107:src/l502_sport_tx.c **** + 108:src/l502_sport_tx.c **** *pDMA4_CONFIG = 0; + 109:src/l502_sport_tx.c **** /* нужно подождать до 3-х циклов, чтобы DMA действительно завершился */ + 110:src/l502_sport_tx.c **** ssync(); + 111:src/l502_sport_tx.c **** ssync(); + 112:src/l502_sport_tx.c **** ssync(); + 113:src/l502_sport_tx.c **** /* запрет передачи по SPORT */ + 114:src/l502_sport_tx.c **** *pSPORT0_TCR1 &= ~TSPEN; + 115:src/l502_sport_tx.c **** /* сбрасываем признаки прерываний от DMA */ + 116:src/l502_sport_tx.c **** *pDMA4_IRQ_STATUS = DMA_DONE | DMA_ERR; + 117:src/l502_sport_tx.c **** + 118:src/l502_sport_tx.c **** /* заново инициализируем все дескрипторы */ + 119:src/l502_sport_tx.c **** sport_tx_init(); + 120:src/l502_sport_tx.c **** } + 121:src/l502_sport_tx.c **** + 122:src/l502_sport_tx.c **** /**************************************************************************//** + 123:src/l502_sport_tx.c **** @brief Получить количество свободных дескрипторов на передачу + 124:src/l502_sport_tx.c **** + 125:src/l502_sport_tx.c **** Функция возвращает количество запросов, которое можно поставить в очередь + 126:src/l502_sport_tx.c **** на передачу с помощью sport_tx_start_req(). + 127:src/l502_sport_tx.c **** @return Количество запросов на передачу, которое можно поставить в очередь + 128:src/l502_sport_tx.c **** ******************************************************************************/ + 129:src/l502_sport_tx.c **** int sport_tx_req_rdy(void) { + 173 .loc 1 129 0 + 130:src/l502_sport_tx.c **** return SPORT_TX_DESCR_CNT - (f_put_cnt - f_done_cnt + 1); + 174 .loc 1 130 0 + 175 0168 4AE10000 P2.H = _f_put_cnt; + 129:src/l502_sport_tx.c **** int sport_tx_req_rdy(void) { + 176 .loc 1 129 0 + 177 016c 00E80000 LINK 0; + 178 .LCFI2: + 179 .loc 1 130 0 + 180 0170 0AE1A800 P2.L = _f_put_cnt; + 181 0174 1091 R0 = [P2]; + 182 0176 4AE10000 P2.H = _f_done_cnt; + 183 017a 0AE1AC00 P2.L = _f_done_cnt; + 184 017e 1191 R1 = [P2]; + 185 0180 0852 R0 = R0 - R1; + 186 0182 C043 R0 = ~R0; + 187 0184 8064 R0 += 16; + 131:src/l502_sport_tx.c **** } + 188 .loc 1 131 0 + 189 0186 01E80000 UNLINK; + 190 018a 1000 rts; + 191 .LFE20: + 192 .size _sport_tx_req_rdy, .-_sport_tx_req_rdy + 193 .align 4 + 194 .global _isr_sport_dma_tx; + 195 .type _isr_sport_dma_tx, STT_FUNC; + 196 _isr_sport_dma_tx: + 197 .LFB22: + 132:src/l502_sport_tx.c **** + BFIN GAS /tmp/ccAC6MSl.s page 7 + + + 133:src/l502_sport_tx.c **** + 134:src/l502_sport_tx.c **** /**************************************************************************//** + 135:src/l502_sport_tx.c **** @brief Поставить запрос на передачу по SPORT0 + 136:src/l502_sport_tx.c **** + 137:src/l502_sport_tx.c **** Функция ставит запрос на передачу указанных данных. Сами данные не копируются, + 138:src/l502_sport_tx.c **** т.е. буфер нельзя будет использовать до того, как данные не будут переданы! + 139:src/l502_sport_tx.c **** Для постановки запроса необходимо, чтобы был свободный дескриптор (можно + 140:src/l502_sport_tx.c **** узнать через sport_tx_req_rdy()). + 141:src/l502_sport_tx.c **** + 142:src/l502_sport_tx.c **** Количество слов в запросе не должно превышать #SPORT_TX_REQ_SIZE_MAX + 143:src/l502_sport_tx.c **** + 144:src/l502_sport_tx.c **** При добавление первого дескриптора автомтически разрешается передача по + 145:src/l502_sport_tx.c **** DMA и SPORT0. + 146:src/l502_sport_tx.c **** + 147:src/l502_sport_tx.c **** @param[in] buf Указатель на массив на передачу. + 148:src/l502_sport_tx.c **** @param[in] size Количество 32-битных слов на передачу + 149:src/l502_sport_tx.c **** *******************************************************************************/ + 150:src/l502_sport_tx.c **** void sport_tx_start_req(uint32_t* buf, uint32_t size) { + 151:src/l502_sport_tx.c **** /* запрещаем прерывание от DMA на случай гонок с изменением позиций */ + 152:src/l502_sport_tx.c **** *pSIC_IMASK0 &= ~IRQ_DMA4; + 153:src/l502_sport_tx.c **** + 154:src/l502_sport_tx.c **** f_descrs[f_put_descr].sal = (uint32_t)buf & 0xFFFF; + 155:src/l502_sport_tx.c **** f_descrs[f_put_descr].sah = ((uint32_t)buf >> 16) & 0xFFFF; + 156:src/l502_sport_tx.c **** f_descrs[f_put_descr].xcnt = size*2; + 157:src/l502_sport_tx.c **** f_descrs[f_put_descr].cfg = SPORT_TX_DMA_CFG_WAIT; + 158:src/l502_sport_tx.c **** /* убеждаемся, что данные будут уже записаны в память к моменту запуска DMA */ + 159:src/l502_sport_tx.c **** ssync(); + 160:src/l502_sport_tx.c **** + 161:src/l502_sport_tx.c **** /* если DMA сейчас остановлен => запускаем его */ + 162:src/l502_sport_tx.c **** if (f_put_cnt==f_done_cnt) { + 163:src/l502_sport_tx.c **** uint32_t cfg_wrd = SPORT_TX_DMA_CFG_START; + 164:src/l502_sport_tx.c **** *pDMA4_CONFIG = cfg_wrd; + 165:src/l502_sport_tx.c **** if (f_first) + 166:src/l502_sport_tx.c **** f_sport_tx_start(); + 167:src/l502_sport_tx.c **** } + 168:src/l502_sport_tx.c **** + 169:src/l502_sport_tx.c **** if (f_put_cnt!=f_done_cnt) { + 170:src/l502_sport_tx.c **** uint8_t prev_descr = (f_put_descr==0) ? SPORT_TX_DESCR_CNT-1 : f_put_descr-1; + 171:src/l502_sport_tx.c **** f_descrs[prev_descr].cfg = SPORT_TX_DMA_CFG_START; + 172:src/l502_sport_tx.c **** } + 173:src/l502_sport_tx.c **** + 174:src/l502_sport_tx.c **** if (++f_put_descr==SPORT_TX_DESCR_CNT) + 175:src/l502_sport_tx.c **** f_put_descr=0; + 176:src/l502_sport_tx.c **** f_put_cnt++; + 177:src/l502_sport_tx.c **** + 178:src/l502_sport_tx.c **** *pSIC_IMASK0 |= IRQ_DMA4; + 179:src/l502_sport_tx.c **** } + 180:src/l502_sport_tx.c **** + 181:src/l502_sport_tx.c **** + 182:src/l502_sport_tx.c **** /** @brief Обработчик прерывания по SPORT0 на завершение передачи. + 183:src/l502_sport_tx.c **** + 184:src/l502_sport_tx.c **** Прерывание возникает, когда был передан блок данных по SPORT0, соответствующий + 185:src/l502_sport_tx.c **** одному дескриптору. + 186:src/l502_sport_tx.c **** Функция рассчитывает количество переданных данных и вызывает sport_tx_done(). + 187:src/l502_sport_tx.c **** Также функция помечает дескриптор как свободный и при необходимости + 188:src/l502_sport_tx.c **** снова запускает DMA (если он был остановлен, но при этом уже добавлен новый + 189:src/l502_sport_tx.c **** дескриптор на передачу) */ + BFIN GAS /tmp/ccAC6MSl.s page 8 + + + 190:src/l502_sport_tx.c **** ISR( isr_sport_dma_tx) { + 198 .loc 1 190 0 + 199 018c 6601 [--SP] = ASTAT; + 200 .LCFI3: + 201 018e 7101 [--SP] = LT0; + 202 .LCFI4: + 203 0190 7401 [--SP] = LT1; + 204 .LCFI5: + 205 0192 7001 [--SP] = LC0; + 206 .LCFI6: + 207 0194 7301 [--SP] = LC1; + 208 .LCFI7: + 209 0196 7201 [--SP] = LB0; + 210 .LCFI8: + 211 0198 7501 [--SP] = LB1; + 212 .LCFI9: + 213 019a C005 [--sp] = ( r7:0, p5:0 ); + 214 + 215 .LCFI10: + 216 019c 5001 [--SP] = I0; + 217 .LCFI11: + 218 019e 5101 [--SP] = I1; + 219 .LCFI12: + 220 01a0 5201 [--SP] = I2; + 221 .LCFI13: + 222 01a2 5301 [--SP] = I3; + 223 .LCFI14: + 224 01a4 5801 [--SP] = B0; + 225 .LCFI15: + 226 01a6 5901 [--SP] = B1; + 227 .LCFI16: + 228 01a8 5A01 [--SP] = B2; + 229 .LCFI17: + 230 01aa 5B01 [--SP] = B3; + 231 .LCFI18: + 232 01ac 5C01 [--SP] = L0; + 233 .LCFI19: + 234 01ae 5D01 [--SP] = L1; + 235 .LCFI20: + 236 01b0 5E01 [--SP] = L2; + 237 .LCFI21: + 238 01b2 5F01 [--SP] = L3; + 239 .LCFI22: + 240 01b4 5401 [--SP] = M0; + 241 .LCFI23: + 242 01b6 5501 [--SP] = M1; + 243 .LCFI24: + 244 01b8 5601 [--SP] = M2; + 245 .LCFI25: + 246 01ba 5701 [--SP] = M3; + 247 .LCFI26: + 248 01bc 60016101 [--SP] = A0.x; [--SP] = A0.w; + 249 .LCFI27: + 191:src/l502_sport_tx.c **** if (*pDMA4_IRQ_STATUS & DMA_DONE) { + 250 .loc 1 191 0 + 251 01c0 4AE1C0FF P2.H = 65472; + 190:src/l502_sport_tx.c **** ISR( isr_sport_dma_tx) { + BFIN GAS /tmp/ccAC6MSl.s page 9 + + + 252 .loc 1 190 0 + 253 01c4 62016301 [--SP] = A1.x; [--SP] = A1.w; + 254 .LCFI28: + 255 .loc 1 191 0 + 256 01c8 0AE1280D P2.L = 3368; + 190:src/l502_sport_tx.c **** ISR( isr_sport_dma_tx) { + 257 .loc 1 190 0 + 258 01cc 7B01 [--SP] = RETI; + 259 .LCFI29: + 260 01ce 00E80300 LINK 12; + 261 .LCFI30: + 262 .loc 1 191 0 + 263 01d2 1095 R0 = W [P2] (Z); + 264 01d4 0048 cc = !BITTST (R0,0); + 265 01d6 531C if cc jump .L10 (bp); + 266 .LBB19: + 192:src/l502_sport_tx.c **** uint32_t* addr; + 193:src/l502_sport_tx.c **** uint32_t size; + 194:src/l502_sport_tx.c **** uint32_t status; + 195:src/l502_sport_tx.c **** + 196:src/l502_sport_tx.c **** *pDMA4_IRQ_STATUS = DMA_DONE; + 267 .loc 1 196 0 + 268 01d8 0860 R0 = 1 (X); + 197:src/l502_sport_tx.c **** + 198:src/l502_sport_tx.c **** /* обработку выполняем только в случае, если есть начатые, но не завершенные + 199:src/l502_sport_tx.c **** дескрипторы */ + 200:src/l502_sport_tx.c **** if (f_done_cnt != f_put_cnt) { + 269 .loc 1 200 0 + 270 01da 4CE10000 P4.H = _f_done_cnt; + 196:src/l502_sport_tx.c **** *pDMA4_IRQ_STATUS = DMA_DONE; + 271 .loc 1 196 0 + 272 01de 1097 W [P2] = R0; + 273 .loc 1 200 0 + 274 01e0 0CE1AC00 P4.L = _f_done_cnt; + 275 01e4 4BE10000 P3.H = _f_put_cnt; + 276 01e8 2191 R1 = [P4]; + 277 01ea 0BE1A800 P3.L = _f_put_cnt; + 278 01ee 1891 R0 = [P3]; + 279 01f0 0108 cc =R1==R0; + 280 01f2 4518 if cc jump .L10; + 201:src/l502_sport_tx.c **** f_done_cnt++; + 202:src/l502_sport_tx.c **** + 203:src/l502_sport_tx.c **** f_descrs[f_done_descr].cfg = SPORT_TX_DMA_CFG_WAIT; + 281 .loc 1 203 0 + 282 01f4 4DE10000 P5.H = _f_done_descr; + 283 01f8 0DE1A500 P5.L = _f_done_descr; + 284 01fc 49E10000 P1.H = _f_descrs; + 201:src/l502_sport_tx.c **** f_done_cnt++; + 285 .loc 1 201 0 + 286 0200 2091 R0 = [P4]; + 287 0202 0864 R0 += 1; + 288 0204 2093 [P4] = R0; + 289 .loc 1 203 0 + 290 0206 2899 R0 = B [P5] (Z); + 291 0208 1032 P2 = R0; + 292 020a 09E10400 P1.L = _f_descrs; + 293 020e 20E1A500 R0 = 165 (X); + BFIN GAS /tmp/ccAC6MSl.s page 10 + + + 294 0212 925E P2 = P2 + (P2 << 2); + 295 0214 915C P2 = P1 + (P2 << 1); + 204:src/l502_sport_tx.c **** + 205:src/l502_sport_tx.c **** addr = ((uint32_t*)(f_descrs[f_done_descr].sal | + 206:src/l502_sport_tx.c **** ((uint32_t)f_descrs[f_done_descr].sah<<16)) + f_descrs[f_done_descr].xcnt*2); + 207:src/l502_sport_tx.c **** size = f_descrs[f_done_descr].xcnt/2; + 296 .loc 1 207 0 + 297 0216 13A5 R3 = W [P2+8] (Z); + 298 0218 82CEFB83 R1 = R3 >> 1 || + 298 D0B40000 + 299 W [P2+6] = R0 || + 300 nop; + 301 .LVL1: + 208:src/l502_sport_tx.c **** if (!size) + 302 .loc 1 208 0 + 303 0220 010C cc =R1==0; + 304 0222 80E10080 R0 = 32768 (Z); + 305 0226 0807 if cc R1 = R0; + 209:src/l502_sport_tx.c **** size = 0x8000; + 210:src/l502_sport_tx.c **** sport_tx_done(addr, size); + 306 .loc 1 210 0 + 307 0228 90A4 R0 = W [P2+4] (Z); + 308 022a 52A4 R2 = W [P2+2] (Z); + 309 022c 804F R0 <<= 16; + 310 022e 1056 R0 = R0 | R2; + 311 0230 1B4F R3 <<= 3; + 312 0232 1850 R0 = R0 + R3; + 313 0234 FFE3E6FE call _sport_tx_done; + 314 .LVL2: + 211:src/l502_sport_tx.c **** + 212:src/l502_sport_tx.c **** if (++f_done_descr==SPORT_TX_DESCR_CNT) + 315 .loc 1 212 0 + 316 0238 6899 R0 = B [P5] (X); + 317 023a 0864 R0 += 1; + 318 023c 289B B [P5] = R0; + 319 023e 4043 R0 = R0.B (Z); + 320 0240 8160 R1 = 16 (X); + 321 0242 0808 cc =R0==R1; + 322 0244 5518 if cc jump .L17; + 323 0246 0000 nop; + 324 0248 0000 nop; + 325 024a 0000 nop; + 326 .L12: + 327 .LBB20: + 328 .LBB21: + 329 .file 2 "/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib + 1:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** /* + 2:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** * Copyright (C) 2012 Analog Devices Inc. All rights reserved. + 3:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** * + 4:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** * Licensed under the Clear BSD license. + 5:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** * Please see COPYING.LIBGLOSS for details. + 6:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** */ + 7:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 8:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #ifdef _MISRA_RULES + 9:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(push) + 10:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_2_4) + 11:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_5_3) + BFIN GAS /tmp/ccAC6MSl.s page 11 + + + 12:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_6_3) + 13:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_8_1) + 14:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_8_8) + 15:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_8_5) + 16:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_19_7) + 17:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_19_15) + 18:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_20_2) + 19:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif + 20:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 21:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #ifdef __cplusplus + 22:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** extern "C" { + 23:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif + 24:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 25:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if !defined(__NO_BUILTIN) + 26:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 27:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** /* VDSP -> GCC glue */ + 28:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_NOP() __asm__ __volatile__ ("NOP;") + 29:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_cli() ({ unsigned int __rval; __asm__ __volatile__ ("cli %0;" : "=r"(_ + 30:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_sti(x) __asm__ __volatile__ ("sti %0;" : : "r"(x)) + 31:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_idle() __asm__ __volatile__ ("IDLE;") + 32:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_raise(x) __asm__ __volatile__ ("raise %0;" : : "n"(x)) + 33:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_excpt(x) __asm__ __volatile__ ("excpt %0;" : : "n"(x)) + 34:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_prefetch(x) __asm__ __volatile__ ("PREFETCH[%0];" : : "p"(x)) + 35:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_prefetchmodup(x) ({ void *__p = &(x); __asm__ __volatile__ ("PREFETCH[%0++];" : " + 36:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_flushinv(x) __asm__ __volatile__ ("FLUSHINV[%0];" : : "p"(x)) + 37:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_flushinvmodup(x) ({ void *__p = &(x); __asm__ __volatile__ ("FLUSHINV[%0++];" : " + 38:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_flush(x) __asm__ __volatile__ ("FLUSH[%0];" : : "p"(x)) + 39:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_flushmodup(x) ({ void *__p = &(x); __asm__ __volatile__ ("FLUSH[%0++];" : "+p" + 40:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_iflush(x) __asm__ __volatile__ ("IFLUSH[%0];" : : "p"(x)) + 41:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_iflushmodup(x) ({ void *__p = &(x); __asm__ __volatile__ ("IFLUSH[%0++];" : "+p + 42:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_csync() __builtin_bfin_csync() + 43:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_ssync() __builtin_bfin_ssync() + 44:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 45:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __NO_BUILTIN */ + 46:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 47:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 48:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if !defined(__NO_BUILTIN) && !defined(__NO_SHORTNAMES) + 49:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 50:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_NOP) && \ + 51:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_NOP)) || \ + 52:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_NOP)))) + 53:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 54:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_NOP + 55:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 56:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** /* Insert a normal 16 bit NOP, which is treated as volatile. + 57:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** */ + 58:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 59:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 60:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 61:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void NOP(void) { + 62:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_NOP(); + 63:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 64:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 65:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_NOP */ + 66:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 67:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_CLI) && \ + 68:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_CLI)) || \ + BFIN GAS /tmp/ccAC6MSl.s page 12 + + + 69:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_CLI)))) + 70:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 71:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_CLI + 72:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 73:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 74:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 75:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static unsigned int cli(void) { + 76:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** unsigned int __rval = __builtin_cli(); + 77:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** return __rval; + 78:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 79:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 80:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_CLI */ + 81:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 82:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_STI) && \ + 83:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_STI)) || \ + 84:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_STI)))) + 85:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 86:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_STI + 87:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 88:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 89:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 90:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void sti(unsigned int __a) { + 91:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_sti(__a); + 92:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 93:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 94:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_STI */ + 95:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 96:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_IDLE) && \ + 97:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_IDLE)) || \ + 98:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_IDLE)))) + 99:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 100:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_IDLE + 101:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 102:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 103:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 104:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void idle(void) { + 105:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_idle(); + 106:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 107:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 108:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_IDLE */ + 109:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 110:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_RAISE_INTR) && \ + 111:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_RAISE_INTR)) || \ + 112:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_RAISE_INTR)))) + 113:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 114:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_RAISE_INTR + 115:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 116:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define raise_intr(A) (__builtin_raise((A))) + 117:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 118:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_RAISE_INTR */ + 119:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 120:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_EXCPT) && \ + 121:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_EXCPT)) || \ + 122:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_EXCPT)))) + 123:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 124:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_EXCPT + 125:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + BFIN GAS /tmp/ccAC6MSl.s page 13 + + + 126:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define excpt(A) (__builtin_excpt((A))) + 127:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 128:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_EXCPT */ + 129:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 130:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_PREFETCH) && \ + 131:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_PREFETCH)) || \ + 132:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_PREFETCH)))) + 133:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 134:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_PREFETCH + 135:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 136:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 137:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 138:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void prefetch(void * __a) { + 139:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_prefetch(__a); + 140:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 141:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 142:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_PREFETCH */ + 143:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 144:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_PREFETCHMODUP) && \ + 145:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_PREFETCHMODUP)) || \ + 146:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_PREFETCHMODUP)))) + 147:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 148:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_PREFETCHMODUP + 149:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 150:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 151:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 152:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void * prefetchmodup(void * __a) { + 153:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** void * __rval = __builtin_prefetchmodup(__a); + 154:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** return __rval; + 155:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 156:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 157:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_PREFETCHMODUP */ + 158:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 159:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_FLUSHINV) && \ + 160:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_FLUSHINV)) || \ + 161:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_FLUSHINV)))) + 162:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 163:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_FLUSHINV + 164:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 165:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 166:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 167:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void flushinv(void * __a) { + 168:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_flushinv(__a); + 169:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 170:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 171:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_FLUSHINV */ + 172:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 173:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_FLUSHINVMODUP) && \ + 174:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_FLUSHINVMODUP)) || \ + 175:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_FLUSHINVMODUP)))) + 176:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 177:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_FLUSHINVMODUP + 178:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 179:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 180:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 181:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void * flushinvmodup(void * __a) { + 182:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** void * __rval = __builtin_flushinvmodup(__a); + BFIN GAS /tmp/ccAC6MSl.s page 14 + + + 183:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** return __rval; + 184:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 185:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 186:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_FLUSHINVMODUP */ + 187:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 188:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_FLUSH) && \ + 189:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_FLUSH)) || \ + 190:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_FLUSH)))) + 191:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 192:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_FLUSH + 193:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 194:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 195:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 196:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void flush(void * __a) { + 197:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_flush(__a); + 198:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 199:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 200:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_FLUSH */ + 201:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 202:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_FLUSHMODUP) && \ + 203:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_FLUSHMODUP)) || \ + 204:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_FLUSHMODUP)))) + 205:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 206:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_FLUSHMODUP + 207:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 208:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 209:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 210:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void * flushmodup(void * __a) { + 211:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** void * __rval = __builtin_flushmodup(__a); + 212:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** return __rval; + 213:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 214:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 215:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_FLUSHMODUP */ + 216:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 217:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_IFLUSH) && \ + 218:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_IFLUSH)) || \ + 219:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_IFLUSH)))) + 220:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 221:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_IFLUSH + 222:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 223:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 224:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 225:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void iflush(void * __a) { + 226:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_iflush(__a); + 227:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 228:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 229:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_IFLUSH */ + 230:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 231:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_IFLUSHMODUP) && \ + 232:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_IFLUSHMODUP)) || \ + 233:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_IFLUSHMODUP)))) + 234:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 235:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_IFLUSHMODUP + 236:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 237:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 238:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 239:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void * iflushmodup(void * __a) { + BFIN GAS /tmp/ccAC6MSl.s page 15 + + + 240:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** void * __rval = __builtin_iflushmodup(__a); + 241:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** return __rval; + 242:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 243:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 244:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_IFLUSHMODUP */ + 245:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 246:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_CSYNC) && \ + 247:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_CSYNC)) || \ + 248:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_CSYNC)))) + 249:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 250:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_CSYNC + 251:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 252:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** /* generate a csync instruction protected by CLI/STI for anomaly 05-00-0312; + 253:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ** you can generate an unprotected csync by using csync_int + 254:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** */ + 255:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 256:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 257:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 258:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void csync(void) { + 259:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_csync(); + 260:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 261:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 262:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_CSYNC */ + 263:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 264:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_SSYNC) && \ + 265:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_SSYNC)) || \ + 266:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_SSYNC)))) + 267:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 268:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_SSYNC + 269:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 270:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** /* generate a ssync instruction protected by CLI/STI for anomaly 05-00-0312; + 271:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ** you can generate an unprotected ssync by using ssync_int + 272:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** */ + 273:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 274:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 275:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 276:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void ssync(void) { + 277:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_ssync(); + 330 .loc 2 277 0 + 331 024c 2400 ssync; + 332 .LBE21: + 333 .LBE20: + 213:src/l502_sport_tx.c **** f_done_descr=0; + 214:src/l502_sport_tx.c **** + 215:src/l502_sport_tx.c **** ssync(); + 216:src/l502_sport_tx.c **** + 217:src/l502_sport_tx.c **** status = *pDMA4_IRQ_STATUS; + 334 .loc 1 217 0 + 335 024e 4AE1C0FF P2.H = 65472; + 336 0252 0AE1280D P2.L = 3368; + 337 0256 1295 R2 = W [P2] (Z); + 218:src/l502_sport_tx.c **** /* если DMA остановлен, а дескрипторы на передачу еще есть => запускаем снова */ + 219:src/l502_sport_tx.c **** if ((f_done_cnt != f_put_cnt) && !(status & DMA_RUN)) { + 338 .loc 1 219 0 + 339 0258 2191 R1 = [P4]; + 340 025a 1891 R0 = [P3]; + 341 025c 0108 cc =R1==R0; + BFIN GAS /tmp/ccAC6MSl.s page 16 + + + 342 025e 0318 if cc jump .L13; + 343 0260 1A48 cc = !BITTST (R2,3); + 344 0262 361C if cc jump .L18 (bp); + 345 .L13: + 220:src/l502_sport_tx.c **** *pDMA4_CONFIG = SPORT_TX_DMA_CFG_START; + 221:src/l502_sport_tx.c **** } + 222:src/l502_sport_tx.c **** + 223:src/l502_sport_tx.c **** if (f_done_cnt == f_put_cnt) { + 346 .loc 1 223 0 + 347 0264 2191 R1 = [P4]; + 348 0266 1891 R0 = [P3]; + 349 0268 0108 cc =R1==R0; + 350 026a 4518 if cc jump .L19; + 351 .L14: + 224:src/l502_sport_tx.c **** ssync(); + 225:src/l502_sport_tx.c **** } + 226:src/l502_sport_tx.c **** + 227:src/l502_sport_tx.c **** if ((g_stream_out_state == OUT_STREAM_RUN) && (f_done_cnt == f_put_cnt)) + 352 .loc 1 227 0 + 353 026c 4AE10000 P2.H = _g_stream_out_state; + 354 0270 0AE10000 P2.L = _g_stream_out_state; + 355 0274 1091 R0 = [P2]; + 356 0276 100C cc =R0==2; + 357 0278 3018 if cc jump .L20; + 358 027a 0000 nop; + 359 .L10: + 360 .LBE19: + 228:src/l502_sport_tx.c **** f_tx_was_empty = 1; + 229:src/l502_sport_tx.c **** } + 230:src/l502_sport_tx.c **** } + 231:src/l502_sport_tx.c **** + 232:src/l502_sport_tx.c **** if (*pDMA4_IRQ_STATUS & DMA_ERR) { + 361 .loc 1 232 0 + 362 027c 4AE1C0FF P2.H = 65472; + 363 0280 0AE1280D P2.L = 3368; + 364 0284 1095 R0 = W [P2] (Z); + 365 0286 0848 cc = !BITTST (R0,1); + 366 0288 0318 if cc jump .L16; + 233:src/l502_sport_tx.c **** *pDMA4_IRQ_STATUS = DMA_ERR; + 367 .loc 1 233 0 + 368 028a 1060 R0 = 2 (X); + 369 028c 1097 W [P2] = R0; + 370 .L16: + 234:src/l502_sport_tx.c **** } + 235:src/l502_sport_tx.c **** + 236:src/l502_sport_tx.c **** } + 371 .loc 1 236 0 + 372 028e 01E80000 UNLINK; + 373 0292 3B01 RETI = [SP++]; + 374 0294 23012201 A1.w = [SP++]; A1.x = [SP++]; + 375 0298 21012001 A0.w = [SP++]; A0.x = [SP++]; + 376 029c 1701 M3 = [SP++]; + 377 029e 1601 M2 = [SP++]; + 378 02a0 1501 M1 = [SP++]; + 379 02a2 1401 M0 = [SP++]; + 380 02a4 1F01 L3 = [SP++]; + 381 02a6 1E01 L2 = [SP++]; + BFIN GAS /tmp/ccAC6MSl.s page 17 + + + 382 02a8 1D01 L1 = [SP++]; + 383 02aa 1C01 L0 = [SP++]; + 384 02ac 1B01 B3 = [SP++]; + 385 02ae 1A01 B2 = [SP++]; + 386 02b0 1901 B1 = [SP++]; + 387 02b2 1801 B0 = [SP++]; + 388 02b4 1301 I3 = [SP++]; + 389 02b6 1201 I2 = [SP++]; + 390 02b8 1101 I1 = [SP++]; + 391 02ba 1001 I0 = [SP++]; + 392 02bc 8005 ( r7:0, p5:0 ) = [sp++]; + 393 + 394 .LCFI31: + 395 02be 3501 LB1 = [SP++]; + 396 02c0 3201 LB0 = [SP++]; + 397 02c2 3301 LC1 = [SP++]; + 398 02c4 3001 LC0 = [SP++]; + 399 02c6 3401 LT1 = [SP++]; + 400 02c8 3101 LT0 = [SP++]; + 401 02ca 2601 ASTAT = [SP++]; + 402 02cc 1100 rti; + 403 .L18: + 404 .LBB24: + 220:src/l502_sport_tx.c **** *pDMA4_CONFIG = SPORT_TX_DMA_CFG_START; + 405 .loc 1 220 0 + 406 02ce 20E1A565 R0 = 26021 (X); + 407 02d2 026F P2 += -32; + 408 02d4 1097 W [P2] = R0; + 409 02d6 C72F jump.s .L13; + 410 .L20: + 227:src/l502_sport_tx.c **** if ((g_stream_out_state == OUT_STREAM_RUN) && (f_done_cnt == f_put_cnt)) + 411 .loc 1 227 0 + 412 02d8 2191 R1 = [P4]; + 413 02da 1891 R0 = [P3]; + 414 02dc 0108 cc =R1==R0; + 415 02de CF17 if !cc jump .L10 (bp); + 228:src/l502_sport_tx.c **** f_tx_was_empty = 1; + 416 .loc 1 228 0 + 417 02e0 4AE10000 P2.H = _f_tx_was_empty; + 418 02e4 0860 R0 = 1 (X); + 419 02e6 0AE10000 P2.L = _f_tx_was_empty; + 420 02ea 1093 [P2] = R0; + 421 02ec C82F jump.s .L10; + 422 .L17: + 213:src/l502_sport_tx.c **** f_done_descr=0; + 423 .loc 1 213 0 + 424 02ee 0060 R0 = 0 (X); + 425 02f0 289B B [P5] = R0; + 426 02f2 AD2F jump.s .L12; + 427 .L19: + 428 .LBB22: + 429 .LBB23: + 430 .loc 2 277 0 + 431 02f4 2400 ssync; + 432 02f6 BB2F jump.s .L14; + 433 .LBE23: + 434 .LBE22: + BFIN GAS /tmp/ccAC6MSl.s page 18 + + + 435 .LBE24: + 436 .LFE22: + 437 .size _isr_sport_dma_tx, .-_isr_sport_dma_tx + 438 .align 4 + 439 .global _sport_tx_start_req; + 440 .type _sport_tx_start_req, STT_FUNC; + 441 _sport_tx_start_req: + 442 .LFB21: + 150:src/l502_sport_tx.c **** void sport_tx_start_req(uint32_t* buf, uint32_t size) { + 443 .loc 1 150 0 + 444 .LVL3: + 445 02f8 C304 [--sp] = ( p5:3 ); + 446 + 447 .LCFI32: + 152:src/l502_sport_tx.c **** *pSIC_IMASK0 &= ~IRQ_DMA4; + 448 .loc 1 152 0 + 449 02fa 4AE1C0FF P2.H = 65472; + 150:src/l502_sport_tx.c **** void sport_tx_start_req(uint32_t* buf, uint32_t size) { + 450 .loc 1 150 0 + 451 02fe 00E80000 LINK 0; + 452 .LCFI33: + 152:src/l502_sport_tx.c **** *pSIC_IMASK0 &= ~IRQ_DMA4; + 453 .loc 1 152 0 + 454 0302 0AE10C01 P2.L = 268; + 455 0306 1291 R2 = [P2]; + 456 0308 8A4C BITCLR (R2,17); + 154:src/l502_sport_tx.c **** f_descrs[f_put_descr].sal = (uint32_t)buf & 0xFFFF; + 457 .loc 1 154 0 + 458 030a 48E10000 P0.H = _f_put_descr; + 152:src/l502_sport_tx.c **** *pSIC_IMASK0 &= ~IRQ_DMA4; + 459 .loc 1 152 0 + 460 030e 1293 [P2] = R2; + 154:src/l502_sport_tx.c **** f_descrs[f_put_descr].sal = (uint32_t)buf & 0xFFFF; + 461 .loc 1 154 0 + 462 0310 08E1A400 P0.L = _f_put_descr; + 463 0314 0299 R2 = B [P0] (Z); + 464 0316 1232 P2 = R2; + 465 0318 4BE10000 P3.H = _f_descrs; + 466 031c 0BE10400 P3.L = _f_descrs; + 156:src/l502_sport_tx.c **** f_descrs[f_put_descr].xcnt = size*2; + 467 .loc 1 156 0 + 468 0320 094F R1 <<= 1; + 469 .LVL4: + 154:src/l502_sport_tx.c **** f_descrs[f_put_descr].sal = (uint32_t)buf & 0xFFFF; + 470 .loc 1 154 0 + 471 0322 925E P2 = P2 + (P2 << 2); + 472 0324 935C P2 = P3 + (P2 << 1); + 473 0326 50B4 W [P2+2] = R0; + 155:src/l502_sport_tx.c **** f_descrs[f_put_descr].sah = ((uint32_t)buf >> 16) & 0xFFFF; + 474 .loc 1 155 0 + 475 0328 804E R0 >>= 16; + 476 .LVL5: + 477 032a 90B4 W [P2+4] = R0; + 157:src/l502_sport_tx.c **** f_descrs[f_put_descr].cfg = SPORT_TX_DMA_CFG_WAIT; + 478 .loc 1 157 0 + 479 032c 20E1A500 R0 = 165 (X); + 156:src/l502_sport_tx.c **** f_descrs[f_put_descr].xcnt = size*2; + BFIN GAS /tmp/ccAC6MSl.s page 19 + + + 480 .loc 1 156 0 + 481 0330 11B5 W [P2+8] = R1; + 157:src/l502_sport_tx.c **** f_descrs[f_put_descr].cfg = SPORT_TX_DMA_CFG_WAIT; + 482 .loc 1 157 0 + 483 0332 D0B4 W [P2+6] = R0; + 484 .LBB25: + 485 .LBB26: + 486 .loc 2 277 0 + 487 0334 2400 ssync; + 488 .LBE26: + 489 .LBE25: + 162:src/l502_sport_tx.c **** if (f_put_cnt==f_done_cnt) { + 490 .loc 1 162 0 + 491 0336 49E10000 P1.H = _f_put_cnt; + 492 033a 09E1A800 P1.L = _f_put_cnt; + 493 033e 4DE10000 P5.H = _f_done_cnt; + 494 0342 0991 R1 = [P1]; + 495 0344 0DE1AC00 P5.L = _f_done_cnt; + 496 0348 2891 R0 = [P5]; + 497 034a 0108 cc =R1==R0; + 498 034c 2F18 if cc jump .L28; + 499 .L22: + 169:src/l502_sport_tx.c **** if (f_put_cnt!=f_done_cnt) { + 500 .loc 1 169 0 + 501 034e 0991 R1 = [P1]; + 502 0350 2891 R0 = [P5]; + 503 0352 0108 cc =R1==R0; + 504 0354 0B18 if cc jump .L23; + 505 .LBB27: + 170:src/l502_sport_tx.c **** uint8_t prev_descr = (f_put_descr==0) ? SPORT_TX_DESCR_CNT-1 : f_put_descr-1; + 506 .loc 1 170 0 + 507 0356 4199 R1 = B [P0] (X); + 508 0358 4843 R0 = R1.B (Z); + 509 035a 000C cc =R0==0; + 510 035c 2214 if !cc jump .L24 (bp); + 511 035e 7A68 P2 = 15 (X); + 512 .L25: + 171:src/l502_sport_tx.c **** f_descrs[prev_descr].cfg = SPORT_TX_DMA_CFG_START; + 513 .loc 1 171 0 + 514 0360 925E P2 = P2 + (P2 << 2); + 515 0362 935C P2 = P3 + (P2 << 1); + 516 0364 20E1A565 R0 = 26021 (X); + 517 0368 D0B4 W [P2+6] = R0; + 518 .L23: + 519 .LBE27: + 174:src/l502_sport_tx.c **** if (++f_put_descr==SPORT_TX_DESCR_CNT) + 520 .loc 1 174 0 + 521 036a 4099 R0 = B [P0] (X); + 522 036c 0864 R0 += 1; + 523 036e 009B B [P0] = R0; + 524 0370 4043 R0 = R0.B (Z); + 525 0372 8160 R1 = 16 (X); + 526 0374 0808 cc =R0==R1; + 527 0376 0714 if !cc jump .L26 (bp); + 175:src/l502_sport_tx.c **** f_put_descr=0; + 528 .loc 1 175 0 + 529 0378 4AE10000 P2.H = _f_put_descr; + BFIN GAS /tmp/ccAC6MSl.s page 20 + + + 530 037c 0060 R0 = 0 (X); + 531 037e 0AE1A400 P2.L = _f_put_descr; + 532 0382 109B B [P2] = R0; + 533 .L26: + 178:src/l502_sport_tx.c **** *pSIC_IMASK0 |= IRQ_DMA4; + 534 .loc 1 178 0 + 535 0384 4AE1C0FF P2.H = 65472; + 176:src/l502_sport_tx.c **** f_put_cnt++; + 536 .loc 1 176 0 + 537 0388 0891 R0 = [P1]; + 538 038a 0864 R0 += 1; + 539 038c 0893 [P1] = R0; + 178:src/l502_sport_tx.c **** *pSIC_IMASK0 |= IRQ_DMA4; + 540 .loc 1 178 0 + 541 038e 0AE10C01 P2.L = 268; + 542 0392 1091 R0 = [P2]; + 543 0394 884A BITSET (R0, 17); + 544 0396 1093 [P2] = R0; + 179:src/l502_sport_tx.c **** } + 545 .loc 1 179 0 + 546 0398 01E80000 UNLINK; + 547 039c 8304 ( p5:3 ) = [sp++]; + 548 + 549 .LCFI34: + 550 039e 1000 rts; + 551 .L24: + 552 .LBB28: + 170:src/l502_sport_tx.c **** uint8_t prev_descr = (f_put_descr==0) ? SPORT_TX_DESCR_CNT-1 : f_put_descr-1; + 553 .loc 1 170 0 + 554 03a0 0130 R0 = R1; + 555 03a2 F867 R0 += -1; + 556 03a4 4043 R0 = R0.B (Z); + 557 03a6 1032 P2 = R0; + 558 03a8 DC2F jump.s .L25; + 559 .L28: + 560 .LBE28: + 561 .LBB29: + 164:src/l502_sport_tx.c **** *pDMA4_CONFIG = cfg_wrd; + 562 .loc 1 164 0 + 563 03aa 4AE1C0FF P2.H = 65472; + 564 03ae 20E1A565 R0 = 26021 (X); + 565 03b2 0AE1080D P2.L = 3336; + 165:src/l502_sport_tx.c **** if (f_first) + 566 .loc 1 165 0 + 567 03b6 4CE10000 P4.H = _f_first; + 164:src/l502_sport_tx.c **** *pDMA4_CONFIG = cfg_wrd; + 568 .loc 1 164 0 + 569 03ba 1097 W [P2] = R0; + 165:src/l502_sport_tx.c **** if (f_first) + 570 .loc 1 165 0 + 571 03bc 0CE1B000 P4.L = _f_first; + 572 03c0 2091 R0 = [P4]; + 573 03c2 000C cc =R0==0; + 574 03c4 C51F if cc jump .L22 (bp); + 575 .LBB30: + 576 .LBB31: + 96:src/l502_sport_tx.c **** *pSPORT0_TCR1 |= TSPEN; + BFIN GAS /tmp/ccAC6MSl.s page 21 + + + 577 .loc 1 96 0 + 578 03c6 4AE1C0FF P2.H = 65472; + 579 03ca 0AE10008 P2.L = 2048; + 580 03ce 1095 R0 = W [P2] (Z); + 581 03d0 004A BITSET (R0, 0); + 582 03d2 1097 W [P2] = R0; + 98:src/l502_sport_tx.c **** f_tx_was_empty = 0; + 583 .loc 1 98 0 + 584 03d4 4AE10000 P2.H = _f_tx_was_empty; + 97:src/l502_sport_tx.c **** f_first = 0; + 585 .loc 1 97 0 + 586 03d8 0060 R0 = 0 (X); + 98:src/l502_sport_tx.c **** f_tx_was_empty = 0; + 587 .loc 1 98 0 + 588 03da 0AE10000 P2.L = _f_tx_was_empty; + 97:src/l502_sport_tx.c **** f_first = 0; + 589 .loc 1 97 0 + 590 03de 2093 [P4] = R0; + 98:src/l502_sport_tx.c **** f_tx_was_empty = 0; + 591 .loc 1 98 0 + 592 03e0 1093 [P2] = R0; + 593 03e2 B62F jump.s .L22; + 594 .LBE31: + 595 .LBE30: + 596 .LBE29: + 597 .LFE21: + 598 .size _sport_tx_start_req, .-_sport_tx_start_req + 599 .align 4 + 600 .global _sport_tx_stop; + 601 .type _sport_tx_stop, STT_FUNC; + 602 _sport_tx_stop: + 603 .LFB19: + 105:src/l502_sport_tx.c **** void sport_tx_stop(void) { + 604 .loc 1 105 0 + 106:src/l502_sport_tx.c **** *pSIC_IMASK0 &= ~IRQ_DMA4; + 605 .loc 1 106 0 + 606 03e4 4AE1C0FF P2.H = 65472; + 105:src/l502_sport_tx.c **** void sport_tx_stop(void) { + 607 .loc 1 105 0 + 608 03e8 00E80000 LINK 0; + 609 .LCFI35: + 106:src/l502_sport_tx.c **** *pSIC_IMASK0 &= ~IRQ_DMA4; + 610 .loc 1 106 0 + 611 03ec 0AE10C01 P2.L = 268; + 612 03f0 1091 R0 = [P2]; + 613 03f2 884C BITCLR (R0,17); + 614 03f4 1093 [P2] = R0; + 108:src/l502_sport_tx.c **** *pDMA4_CONFIG = 0; + 615 .loc 1 108 0 + 616 03f6 4AE1C0FF P2.H = 65472; + 617 03fa 0060 R0 = 0 (X); + 618 03fc 0AE1080D P2.L = 3336; + 619 0400 1097 W [P2] = R0; + 620 .LBB40: + 621 .LBB41: + 622 .loc 2 277 0 + 623 0402 2400 ssync; + BFIN GAS /tmp/ccAC6MSl.s page 22 + + + 624 .LBE41: + 625 .LBE40: + 626 .LBB42: + 627 .LBB43: + 628 0404 2400 ssync; + 629 .LBE43: + 630 .LBE42: + 631 .LBB44: + 632 .LBB45: + 633 0406 2400 ssync; + 634 .LBE45: + 635 .LBE44: + 114:src/l502_sport_tx.c **** *pSPORT0_TCR1 &= ~TSPEN; + 636 .loc 1 114 0 + 637 0408 4AE1C0FF P2.H = 65472; + 638 040c 0AE10008 P2.L = 2048; + 639 0410 1095 R0 = W [P2] (Z); + 640 0412 004C BITCLR (R0,0); + 641 0414 1097 W [P2] = R0; + 116:src/l502_sport_tx.c **** *pDMA4_IRQ_STATUS = DMA_DONE | DMA_ERR; + 642 .loc 1 116 0 + 643 0416 4AE1C0FF P2.H = 65472; + 644 041a 1860 R0 = 3 (X); + 645 041c 0AE1280D P2.L = 3368; + 646 0420 1097 W [P2] = R0; + 647 .LBB46: + 648 .LBB47: + 79:src/l502_sport_tx.c **** f_descrs[i].cfg = SPORT_TX_DMA_CFG_WAIT; + 649 .loc 1 79 0 + 650 0422 4AE10000 P2.H = _f_descrs; + 651 0426 0AE10400 P2.L = _f_descrs; + 80:src/l502_sport_tx.c **** f_descrs[i].ndpl = i==(SPORT_TX_DESCR_CNT-1) ? (uint32_t)&f_descrs[0]&0xFFFF : + 652 .loc 1 80 0 + 653 042a 4230 R0 = P2; + 654 042c 5064 R0 += 10; + 655 042e 1097 W [P2] = R0; + 656 0430 5064 R0 += 10; + 657 0432 50B5 W [P2+10] = R0; + 658 0434 5064 R0 += 10; + 659 0436 90B6 W [P2+20] = R0; + 660 0438 5064 R0 += 10; + 661 043a D0B7 W [P2+30] = R0; + 662 043c 5064 R0 += 10; + 663 043e 50E61400 W [P2+40] = R0; + 664 0442 5064 R0 += 10; + 665 0444 50E61900 W [P2+50] = R0; + 666 0448 40E10000 R0.H = _f_descrs+70; + 667 044c 00E14A00 R0.L = _f_descrs+70; + 668 0450 50E61E00 W [P2+60] = R0; + 669 0454 40E10000 R0.H = _f_descrs+80; + 670 0458 00E15400 R0.L = _f_descrs+80; + 671 045c 50E62300 W [P2+70] = R0; + 672 0460 40E10000 R0.H = _f_descrs+90; + 673 0464 00E15E00 R0.L = _f_descrs+90; + 674 0468 50E62800 W [P2+80] = R0; + 675 046c 40E10000 R0.H = _f_descrs+100; + 676 0470 00E16800 R0.L = _f_descrs+100; + BFIN GAS /tmp/ccAC6MSl.s page 23 + + + 677 0474 50E62D00 W [P2+90] = R0; + 678 0478 40E10000 R0.H = _f_descrs+110; + 679 047c 00E17200 R0.L = _f_descrs+110; + 680 0480 50E63200 W [P2+100] = R0; + 681 0484 40E10000 R0.H = _f_descrs+120; + 682 0488 00E17C00 R0.L = _f_descrs+120; + 683 048c 50E63700 W [P2+110] = R0; + 684 0490 40E10000 R0.H = _f_descrs+130; + 685 0494 00E18600 R0.L = _f_descrs+130; + 686 0498 50E63C00 W [P2+120] = R0; + 687 049c 40E10000 R0.H = _f_descrs+140; + 688 04a0 00E19000 R0.L = _f_descrs+140; + 689 04a4 50E64100 W [P2+130] = R0; + 690 04a8 40E10000 R0.H = _f_descrs+150; + 79:src/l502_sport_tx.c **** f_descrs[i].cfg = SPORT_TX_DMA_CFG_WAIT; + 691 .loc 1 79 0 + 692 04ac 21E1A500 R1 = 165 (X); + 80:src/l502_sport_tx.c **** f_descrs[i].ndpl = i==(SPORT_TX_DESCR_CNT-1) ? (uint32_t)&f_descrs[0]&0xFFFF : + 693 .loc 1 80 0 + 694 04b0 00E19A00 R0.L = _f_descrs+150; + 695 04b4 50E64600 W [P2+140] = R0; + 79:src/l502_sport_tx.c **** f_descrs[i].cfg = SPORT_TX_DMA_CFG_WAIT; + 696 .loc 1 79 0 + 697 04b8 D1B4 W [P2+6] = R1; + 698 04ba 11B6 W [P2+16] = R1; + 699 04bc 51B7 W [P2+26] = R1; + 700 04be 51E61200 W [P2+36] = R1; + 701 04c2 51E61700 W [P2+46] = R1; + 702 04c6 51E61C00 W [P2+56] = R1; + 703 04ca 51E62100 W [P2+66] = R1; + 704 04ce 51E62600 W [P2+76] = R1; + 705 04d2 51E62B00 W [P2+86] = R1; + 706 04d6 51E63000 W [P2+96] = R1; + 707 04da 51E63500 W [P2+106] = R1; + 708 04de 51E63A00 W [P2+116] = R1; + 709 04e2 51E63F00 W [P2+126] = R1; + 710 04e6 51E64400 W [P2+136] = R1; + 711 04ea 51E64900 W [P2+146] = R1; + 84:src/l502_sport_tx.c **** *pDMA4_NEXT_DESC_PTR = f_descrs; + 712 .loc 1 84 0 + 713 04ee 49E1C0FF P1.H = 65472; + 79:src/l502_sport_tx.c **** f_descrs[i].cfg = SPORT_TX_DMA_CFG_WAIT; + 714 .loc 1 79 0 + 715 04f2 51E64E00 W [P2+156] = R1; + 80:src/l502_sport_tx.c **** f_descrs[i].ndpl = i==(SPORT_TX_DESCR_CNT-1) ? (uint32_t)&f_descrs[0]&0xFFFF : + 716 .loc 1 80 0 + 717 04f6 4230 R0 = P2; + 84:src/l502_sport_tx.c **** *pDMA4_NEXT_DESC_PTR = f_descrs; + 718 .loc 1 84 0 + 719 04f8 09E1000D P1.L = 3328; + 720 04fc 4A93 [P1] = P2; + 80:src/l502_sport_tx.c **** f_descrs[i].ndpl = i==(SPORT_TX_DESCR_CNT-1) ? (uint32_t)&f_descrs[0]&0xFFFF : + 721 .loc 1 80 0 + 722 04fe 50E64B00 W [P2+150] = R0; + 85:src/l502_sport_tx.c **** *pDMA4_X_MODIFY = 2; + 723 .loc 1 85 0 + 724 0502 4AE1C0FF P2.H = 65472; + BFIN GAS /tmp/ccAC6MSl.s page 24 + + + 725 0506 1060 R0 = 2 (X); + 726 0508 0AE1140D P2.L = 3348; + 727 050c 1097 W [P2] = R0; + 86:src/l502_sport_tx.c **** f_put_cnt = f_done_cnt = 0; + 728 .loc 1 86 0 + 729 050e 4AE10000 P2.H = _f_done_cnt; + 730 0512 0AE1AC00 P2.L = _f_done_cnt; + 731 0516 0060 R0 = 0 (X); + 732 0518 1093 [P2] = R0; + 733 051a 1091 R0 = [P2]; + 734 051c 4AE10000 P2.H = _f_put_cnt; + 735 0520 0AE1A800 P2.L = _f_put_cnt; + 736 0524 1093 [P2] = R0; + 87:src/l502_sport_tx.c **** f_put_descr = f_done_descr = 0; + 737 .loc 1 87 0 + 738 0526 4AE10000 P2.H = _f_done_descr; + 739 052a 0060 R0 = 0 (X); + 740 052c 0AE1A500 P2.L = _f_done_descr; + 741 0530 109B B [P2] = R0; + 742 0532 4AE10000 P2.H = _f_put_descr; + 743 0536 0AE1A400 P2.L = _f_put_descr; + 744 053a 109B B [P2] = R0; + 88:src/l502_sport_tx.c **** f_first = 1; + 745 .loc 1 88 0 + 746 053c 4AE10000 P2.H = _f_first; + 747 0540 0860 R0 = 1 (X); + 748 0542 0AE1B000 P2.L = _f_first; + 749 0546 1093 [P2] = R0; + 750 .LBE47: + 751 .LBE46: + 120:src/l502_sport_tx.c **** } + 752 .loc 1 120 0 + 753 0548 01E80000 UNLINK; + 754 054c 1000 rts; + 755 .LFE19: + 756 .size _sport_tx_stop, .-_sport_tx_stop + 757 .local _f_tx_was_empty + 758 .comm _f_tx_was_empty,4,4 + 759 .local _f_descrs + 760 .comm _f_descrs,160,2 + 761 .local _f_put_descr + 762 .comm _f_put_descr,1,1 + 763 .local _f_done_descr + 764 .comm _f_done_descr,1,1 + 765 .local _f_put_cnt + 766 .comm _f_put_cnt,4,4 + 767 .local _f_done_cnt + 768 .comm _f_done_cnt,4,4 + 769 .local _f_first + 770 .comm _f_first,4,4 + 771 .section .debug_frame,"",@progbits + 772 .Lframe0: + 773 0000 0C000000 .4byte .LECIE0-.LSCIE0 + 774 .LSCIE0: + 775 0004 FFFFFFFF .4byte 0xffffffff + 776 0008 01 .byte 0x1 + 777 0009 00 .string "" + BFIN GAS /tmp/ccAC6MSl.s page 25 + + + 778 000a 01 .uleb128 0x1 + 779 000b 7C .sleb128 -4 + 780 000c 23 .byte 0x23 + 781 000d 0C .byte 0xc + 782 000e 0E .uleb128 0xe + 783 000f 00 .uleb128 0x0 + 784 .align 4 + 785 .LECIE0: + 786 .LSFDE0: + 787 0010 14000000 .4byte .LEFDE0-.LASFDE0 + 788 .LASFDE0: + 789 0014 00000000 .4byte .Lframe0 + 790 0018 00000000 .4byte .LFB16 + 791 001c 38000000 .4byte .LFE16-.LFB16 + 792 0020 48 .byte 0x4 + 793 .4byte .LCFI0-.LFB16 + 794 0021 0C .byte 0xc + 795 0022 0F .uleb128 0xf + 796 0023 08 .uleb128 0x8 + 797 0024 8F .byte 0x8f + 798 0025 02 .uleb128 0x2 + 799 0026 A3 .byte 0xa3 + 800 0027 01 .uleb128 0x1 + 801 .align 4 + 802 .LEFDE0: + 803 .LSFDE2: + 804 0028 14000000 .4byte .LEFDE2-.LASFDE2 + 805 .LASFDE2: + 806 002c 00000000 .4byte .Lframe0 + 807 0030 38000000 .4byte .LFB17 + 808 0034 30010000 .4byte .LFE17-.LFB17 + 809 0038 4E .byte 0x4 + 810 .4byte .LCFI1-.LFB17 + 811 0039 0C .byte 0xc + 812 003a 0F .uleb128 0xf + 813 003b 08 .uleb128 0x8 + 814 003c 8F .byte 0x8f + 815 003d 02 .uleb128 0x2 + 816 003e A3 .byte 0xa3 + 817 003f 01 .uleb128 0x1 + 818 .align 4 + 819 .LEFDE2: + 820 .LSFDE4: + 821 0040 14000000 .4byte .LEFDE4-.LASFDE4 + 822 .LASFDE4: + 823 0044 00000000 .4byte .Lframe0 + 824 0048 68010000 .4byte .LFB20 + 825 004c 24000000 .4byte .LFE20-.LFB20 + 826 0050 48 .byte 0x4 + 827 .4byte .LCFI2-.LFB20 + 828 0051 0C .byte 0xc + 829 0052 0F .uleb128 0xf + 830 0053 08 .uleb128 0x8 + 831 0054 8F .byte 0x8f + 832 0055 02 .uleb128 0x2 + 833 0056 A3 .byte 0xa3 + 834 0057 01 .uleb128 0x1 + BFIN GAS /tmp/ccAC6MSl.s page 26 + + + 835 .align 4 + 836 .LEFDE4: + 837 .LSFDE6: + 838 0058 C0000000 .4byte .LEFDE6-.LASFDE6 + 839 .LASFDE6: + 840 005c 00000000 .4byte .Lframe0 + 841 0060 8C010000 .4byte .LFB22 + 842 0064 6C010000 .4byte .LFE22-.LFB22 + 843 0068 42 .byte 0x4 + 844 .4byte .LCFI3-.LFB22 + 845 0069 0E .byte 0xe + 846 006a 04 .uleb128 0x4 + 847 006b 42 .byte 0x4 + 848 .4byte .LCFI4-.LCFI3 + 849 006c 0E .byte 0xe + 850 006d 08 .uleb128 0x8 + 851 006e 42 .byte 0x4 + 852 .4byte .LCFI5-.LCFI4 + 853 006f 0E .byte 0xe + 854 0070 0C .uleb128 0xc + 855 0071 42 .byte 0x4 + 856 .4byte .LCFI6-.LCFI5 + 857 0072 0E .byte 0xe + 858 0073 10 .uleb128 0x10 + 859 0074 42 .byte 0x4 + 860 .4byte .LCFI7-.LCFI6 + 861 0075 0E .byte 0xe + 862 0076 14 .uleb128 0x14 + 863 0077 42 .byte 0x4 + 864 .4byte .LCFI8-.LCFI7 + 865 0078 0E .byte 0xe + 866 0079 18 .uleb128 0x18 + 867 007a 42 .byte 0x4 + 868 .4byte .LCFI9-.LCFI8 + 869 007b 0E .byte 0xe + 870 007c 1C .uleb128 0x1c + 871 007d 42 .byte 0x4 + 872 .4byte .LCFI10-.LCFI9 + 873 007e 0E .byte 0xe + 874 007f 54 .uleb128 0x54 + 875 0080 42 .byte 0x4 + 876 .4byte .LCFI11-.LCFI10 + 877 0081 0E .byte 0xe + 878 0082 58 .uleb128 0x58 + 879 0083 42 .byte 0x4 + 880 .4byte .LCFI12-.LCFI11 + 881 0084 0E .byte 0xe + 882 0085 5C .uleb128 0x5c + 883 0086 42 .byte 0x4 + 884 .4byte .LCFI13-.LCFI12 + 885 0087 0E .byte 0xe + 886 0088 60 .uleb128 0x60 + 887 0089 42 .byte 0x4 + 888 .4byte .LCFI14-.LCFI13 + 889 008a 0E .byte 0xe + 890 008b 64 .uleb128 0x64 + 891 008c 42 .byte 0x4 + BFIN GAS /tmp/ccAC6MSl.s page 27 + + + 892 .4byte .LCFI15-.LCFI14 + 893 008d 0E .byte 0xe + 894 008e 68 .uleb128 0x68 + 895 008f 42 .byte 0x4 + 896 .4byte .LCFI16-.LCFI15 + 897 0090 0E .byte 0xe + 898 0091 6C .uleb128 0x6c + 899 0092 42 .byte 0x4 + 900 .4byte .LCFI17-.LCFI16 + 901 0093 0E .byte 0xe + 902 0094 70 .uleb128 0x70 + 903 0095 42 .byte 0x4 + 904 .4byte .LCFI18-.LCFI17 + 905 0096 0E .byte 0xe + 906 0097 74 .uleb128 0x74 + 907 0098 42 .byte 0x4 + 908 .4byte .LCFI19-.LCFI18 + 909 0099 0E .byte 0xe + 910 009a 78 .uleb128 0x78 + 911 009b 42 .byte 0x4 + 912 .4byte .LCFI20-.LCFI19 + 913 009c 0E .byte 0xe + 914 009d 7C .uleb128 0x7c + 915 009e 42 .byte 0x4 + 916 .4byte .LCFI21-.LCFI20 + 917 009f 0E .byte 0xe + 918 00a0 8001 .uleb128 0x80 + 919 00a2 42 .byte 0x4 + 920 .4byte .LCFI22-.LCFI21 + 921 00a3 0E .byte 0xe + 922 00a4 8401 .uleb128 0x84 + 923 00a6 42 .byte 0x4 + 924 .4byte .LCFI23-.LCFI22 + 925 00a7 0E .byte 0xe + 926 00a8 8801 .uleb128 0x88 + 927 00aa 42 .byte 0x4 + 928 .4byte .LCFI24-.LCFI23 + 929 00ab 0E .byte 0xe + 930 00ac 8C01 .uleb128 0x8c + 931 00ae 42 .byte 0x4 + 932 .4byte .LCFI25-.LCFI24 + 933 00af 0E .byte 0xe + 934 00b0 9001 .uleb128 0x90 + 935 00b2 42 .byte 0x4 + 936 .4byte .LCFI26-.LCFI25 + 937 00b3 0E .byte 0xe + 938 00b4 9401 .uleb128 0x94 + 939 00b6 44 .byte 0x4 + 940 .4byte .LCFI27-.LCFI26 + 941 00b7 0E .byte 0xe + 942 00b8 9C01 .uleb128 0x9c + 943 00ba A0 .byte 0xa0 + 944 00bb 27 .uleb128 0x27 + 945 00bc 9F .byte 0x9f + 946 00bd 25 .uleb128 0x25 + 947 00be 9E .byte 0x9e + 948 00bf 24 .uleb128 0x24 + BFIN GAS /tmp/ccAC6MSl.s page 28 + + + 949 00c0 9D .byte 0x9d + 950 00c1 23 .uleb128 0x23 + 951 00c2 9C .byte 0x9c + 952 00c3 22 .uleb128 0x22 + 953 00c4 9B .byte 0x9b + 954 00c5 21 .uleb128 0x21 + 955 00c6 9A .byte 0x9a + 956 00c7 20 .uleb128 0x20 + 957 00c8 99 .byte 0x99 + 958 00c9 1F .uleb128 0x1f + 959 00ca 98 .byte 0x98 + 960 00cb 1E .uleb128 0x1e + 961 00cc 97 .byte 0x97 + 962 00cd 1D .uleb128 0x1d + 963 00ce 96 .byte 0x96 + 964 00cf 1C .uleb128 0x1c + 965 00d0 95 .byte 0x95 + 966 00d1 1B .uleb128 0x1b + 967 00d2 94 .byte 0x94 + 968 00d3 1A .uleb128 0x1a + 969 00d4 93 .byte 0x93 + 970 00d5 19 .uleb128 0x19 + 971 00d6 92 .byte 0x92 + 972 00d7 18 .uleb128 0x18 + 973 00d8 91 .byte 0x91 + 974 00d9 17 .uleb128 0x17 + 975 00da 90 .byte 0x90 + 976 00db 16 .uleb128 0x16 + 977 00dc 8D .byte 0x8d + 978 00dd 15 .uleb128 0x15 + 979 00de 8C .byte 0x8c + 980 00df 14 .uleb128 0x14 + 981 00e0 8B .byte 0x8b + 982 00e1 13 .uleb128 0x13 + 983 00e2 8A .byte 0x8a + 984 00e3 12 .uleb128 0x12 + 985 00e4 89 .byte 0x89 + 986 00e5 11 .uleb128 0x11 + 987 00e6 88 .byte 0x88 + 988 00e7 10 .uleb128 0x10 + 989 00e8 87 .byte 0x87 + 990 00e9 0F .uleb128 0xf + 991 00ea 86 .byte 0x86 + 992 00eb 0E .uleb128 0xe + 993 00ec 85 .byte 0x85 + 994 00ed 0D .uleb128 0xd + 995 00ee 84 .byte 0x84 + 996 00ef 0C .uleb128 0xc + 997 00f0 83 .byte 0x83 + 998 00f1 0B .uleb128 0xb + 999 00f2 82 .byte 0x82 + 1000 00f3 0A .uleb128 0xa + 1001 00f4 81 .byte 0x81 + 1002 00f5 09 .uleb128 0x9 + 1003 00f6 80 .byte 0x80 + 1004 00f7 08 .uleb128 0x8 + 1005 00f8 B1 .byte 0xb1 + BFIN GAS /tmp/ccAC6MSl.s page 29 + + + 1006 00f9 07 .uleb128 0x7 + 1007 00fa B0 .byte 0xb0 + 1008 00fb 06 .uleb128 0x6 + 1009 00fc AF .byte 0xaf + 1010 00fd 05 .uleb128 0x5 + 1011 00fe AE .byte 0xae + 1012 00ff 04 .uleb128 0x4 + 1013 0100 AD .byte 0xad + 1014 0101 03 .uleb128 0x3 + 1015 0102 AC .byte 0xac + 1016 0103 02 .uleb128 0x2 + 1017 0104 A8 .byte 0xa8 + 1018 0105 01 .uleb128 0x1 + 1019 0106 48 .byte 0x4 + 1020 .4byte .LCFI28-.LCFI27 + 1021 0107 0E .byte 0xe + 1022 0108 A401 .uleb128 0xa4 + 1023 010a 46 .byte 0x4 + 1024 .4byte .LCFI29-.LCFI28 + 1025 010b 0E .byte 0xe + 1026 010c A801 .uleb128 0xa8 + 1027 010e 44 .byte 0x4 + 1028 .4byte .LCFI30-.LCFI29 + 1029 010f 0C .byte 0xc + 1030 0110 0F .uleb128 0xf + 1031 0111 B001 .uleb128 0xb0 + 1032 0113 8F .byte 0x8f + 1033 0114 2C .uleb128 0x2c + 1034 0115 A3 .byte 0xa3 + 1035 0116 2B .uleb128 0x2b + 1036 0117 A4 .byte 0xa4 + 1037 0118 2A .uleb128 0x2a + 1038 0119 A1 .byte 0xa1 + 1039 011a 29 .uleb128 0x29 + 1040 011b 00 .align 4 + 1041 .LEFDE6: + 1042 .LSFDE8: + 1043 011c 20000000 .4byte .LEFDE8-.LASFDE8 + 1044 .LASFDE8: + 1045 0120 00000000 .4byte .Lframe0 + 1046 0124 F8020000 .4byte .LFB21 + 1047 0128 EC000000 .4byte .LFE21-.LFB21 + 1048 012c 42 .byte 0x4 + 1049 .4byte .LCFI32-.LFB21 + 1050 012d 0E .byte 0xe + 1051 012e 0C .uleb128 0xc + 1052 012f 48 .byte 0x4 + 1053 .4byte .LCFI33-.LCFI32 + 1054 0130 0C .byte 0xc + 1055 0131 0F .uleb128 0xf + 1056 0132 14 .uleb128 0x14 + 1057 0133 8F .byte 0x8f + 1058 0134 05 .uleb128 0x5 + 1059 0135 A3 .byte 0xa3 + 1060 0136 04 .uleb128 0x4 + 1061 0137 8D .byte 0x8d + 1062 0138 03 .uleb128 0x3 + BFIN GAS /tmp/ccAC6MSl.s page 30 + + + 1063 0139 8C .byte 0x8c + 1064 013a 02 .uleb128 0x2 + 1065 013b 8B .byte 0x8b + 1066 013c 01 .uleb128 0x1 + 1067 013d 000000 .align 4 + 1068 .LEFDE8: + 1069 .LSFDE10: + 1070 0140 14000000 .4byte .LEFDE10-.LASFDE10 + 1071 .LASFDE10: + 1072 0144 00000000 .4byte .Lframe0 + 1073 0148 E4030000 .4byte .LFB19 + 1074 014c 6A010000 .4byte .LFE19-.LFB19 + 1075 0150 48 .byte 0x4 + 1076 .4byte .LCFI35-.LFB19 + 1077 0151 0C .byte 0xc + 1078 0152 0F .uleb128 0xf + 1079 0153 08 .uleb128 0x8 + 1080 0154 8F .byte 0x8f + 1081 0155 02 .uleb128 0x2 + 1082 0156 A3 .byte 0xa3 + 1083 0157 01 .uleb128 0x1 + 1084 .align 4 + 1085 .LEFDE10: + 1086 .text; + 1087 .Letext0: + 1088 054e 0000 .section .debug_loc,"",@progbits + 1089 .Ldebug_loc0: + 1090 .LLST0: + 1091 0000 00000000 .4byte .LFB16-.Ltext0 + 1092 0004 08000000 .4byte .LCFI0-.Ltext0 + 1093 0008 0100 .2byte 0x1 + 1094 000a 5E .byte 0x5e + 1095 000b 08000000 .4byte .LCFI0-.Ltext0 + 1096 000f 38000000 .4byte .LFE16-.Ltext0 + 1097 0013 0200 .2byte 0x2 + 1098 0015 7F .byte 0x7f + 1099 0016 08 .sleb128 8 + 1100 0017 00000000 .4byte 0x0 + 1101 001b 00000000 .4byte 0x0 + 1102 .LLST1: + 1103 001f 38000000 .4byte .LFB17-.Ltext0 + 1104 0023 46000000 .4byte .LCFI1-.Ltext0 + 1105 0027 0100 .2byte 0x1 + 1106 0029 5E .byte 0x5e + 1107 002a 46000000 .4byte .LCFI1-.Ltext0 + 1108 002e 68010000 .4byte .LFE17-.Ltext0 + 1109 0032 0200 .2byte 0x2 + 1110 0034 7F .byte 0x7f + 1111 0035 08 .sleb128 8 + 1112 0036 00000000 .4byte 0x0 + 1113 003a 00000000 .4byte 0x0 + 1114 .LLST2: + 1115 003e 68010000 .4byte .LFB20-.Ltext0 + 1116 0042 70010000 .4byte .LCFI2-.Ltext0 + 1117 0046 0100 .2byte 0x1 + 1118 0048 5E .byte 0x5e + 1119 0049 70010000 .4byte .LCFI2-.Ltext0 + BFIN GAS /tmp/ccAC6MSl.s page 31 + + + 1120 004d 8C010000 .4byte .LFE20-.Ltext0 + 1121 0051 0200 .2byte 0x2 + 1122 0053 7F .byte 0x7f + 1123 0054 08 .sleb128 8 + 1124 0055 00000000 .4byte 0x0 + 1125 0059 00000000 .4byte 0x0 + 1126 .LLST3: + 1127 005d 8C010000 .4byte .LFB22-.Ltext0 + 1128 0061 8E010000 .4byte .LCFI3-.Ltext0 + 1129 0065 0100 .2byte 0x1 + 1130 0067 5E .byte 0x5e + 1131 0068 8E010000 .4byte .LCFI3-.Ltext0 + 1132 006c 90010000 .4byte .LCFI4-.Ltext0 + 1133 0070 0200 .2byte 0x2 + 1134 0072 7E .byte 0x7e + 1135 0073 04 .sleb128 4 + 1136 0074 90010000 .4byte .LCFI4-.Ltext0 + 1137 0078 92010000 .4byte .LCFI5-.Ltext0 + 1138 007c 0200 .2byte 0x2 + 1139 007e 7E .byte 0x7e + 1140 007f 08 .sleb128 8 + 1141 0080 92010000 .4byte .LCFI5-.Ltext0 + 1142 0084 94010000 .4byte .LCFI6-.Ltext0 + 1143 0088 0200 .2byte 0x2 + 1144 008a 7E .byte 0x7e + 1145 008b 0C .sleb128 12 + 1146 008c 94010000 .4byte .LCFI6-.Ltext0 + 1147 0090 96010000 .4byte .LCFI7-.Ltext0 + 1148 0094 0200 .2byte 0x2 + 1149 0096 7E .byte 0x7e + 1150 0097 10 .sleb128 16 + 1151 0098 96010000 .4byte .LCFI7-.Ltext0 + 1152 009c 98010000 .4byte .LCFI8-.Ltext0 + 1153 00a0 0200 .2byte 0x2 + 1154 00a2 7E .byte 0x7e + 1155 00a3 14 .sleb128 20 + 1156 00a4 98010000 .4byte .LCFI8-.Ltext0 + 1157 00a8 9A010000 .4byte .LCFI9-.Ltext0 + 1158 00ac 0200 .2byte 0x2 + 1159 00ae 7E .byte 0x7e + 1160 00af 18 .sleb128 24 + 1161 00b0 9A010000 .4byte .LCFI9-.Ltext0 + 1162 00b4 9C010000 .4byte .LCFI10-.Ltext0 + 1163 00b8 0200 .2byte 0x2 + 1164 00ba 7E .byte 0x7e + 1165 00bb 1C .sleb128 28 + 1166 00bc 9C010000 .4byte .LCFI10-.Ltext0 + 1167 00c0 9E010000 .4byte .LCFI11-.Ltext0 + 1168 00c4 0300 .2byte 0x3 + 1169 00c6 7E .byte 0x7e + 1170 00c7 D400 .sleb128 84 + 1171 00c9 9E010000 .4byte .LCFI11-.Ltext0 + 1172 00cd A0010000 .4byte .LCFI12-.Ltext0 + 1173 00d1 0300 .2byte 0x3 + 1174 00d3 7E .byte 0x7e + 1175 00d4 D800 .sleb128 88 + 1176 00d6 A0010000 .4byte .LCFI12-.Ltext0 + BFIN GAS /tmp/ccAC6MSl.s page 32 + + + 1177 00da A2010000 .4byte .LCFI13-.Ltext0 + 1178 00de 0300 .2byte 0x3 + 1179 00e0 7E .byte 0x7e + 1180 00e1 DC00 .sleb128 92 + 1181 00e3 A2010000 .4byte .LCFI13-.Ltext0 + 1182 00e7 A4010000 .4byte .LCFI14-.Ltext0 + 1183 00eb 0300 .2byte 0x3 + 1184 00ed 7E .byte 0x7e + 1185 00ee E000 .sleb128 96 + 1186 00f0 A4010000 .4byte .LCFI14-.Ltext0 + 1187 00f4 A6010000 .4byte .LCFI15-.Ltext0 + 1188 00f8 0300 .2byte 0x3 + 1189 00fa 7E .byte 0x7e + 1190 00fb E400 .sleb128 100 + 1191 00fd A6010000 .4byte .LCFI15-.Ltext0 + 1192 0101 A8010000 .4byte .LCFI16-.Ltext0 + 1193 0105 0300 .2byte 0x3 + 1194 0107 7E .byte 0x7e + 1195 0108 E800 .sleb128 104 + 1196 010a A8010000 .4byte .LCFI16-.Ltext0 + 1197 010e AA010000 .4byte .LCFI17-.Ltext0 + 1198 0112 0300 .2byte 0x3 + 1199 0114 7E .byte 0x7e + 1200 0115 EC00 .sleb128 108 + 1201 0117 AA010000 .4byte .LCFI17-.Ltext0 + 1202 011b AC010000 .4byte .LCFI18-.Ltext0 + 1203 011f 0300 .2byte 0x3 + 1204 0121 7E .byte 0x7e + 1205 0122 F000 .sleb128 112 + 1206 0124 AC010000 .4byte .LCFI18-.Ltext0 + 1207 0128 AE010000 .4byte .LCFI19-.Ltext0 + 1208 012c 0300 .2byte 0x3 + 1209 012e 7E .byte 0x7e + 1210 012f F400 .sleb128 116 + 1211 0131 AE010000 .4byte .LCFI19-.Ltext0 + 1212 0135 B0010000 .4byte .LCFI20-.Ltext0 + 1213 0139 0300 .2byte 0x3 + 1214 013b 7E .byte 0x7e + 1215 013c F800 .sleb128 120 + 1216 013e B0010000 .4byte .LCFI20-.Ltext0 + 1217 0142 B2010000 .4byte .LCFI21-.Ltext0 + 1218 0146 0300 .2byte 0x3 + 1219 0148 7E .byte 0x7e + 1220 0149 FC00 .sleb128 124 + 1221 014b B2010000 .4byte .LCFI21-.Ltext0 + 1222 014f B4010000 .4byte .LCFI22-.Ltext0 + 1223 0153 0300 .2byte 0x3 + 1224 0155 7E .byte 0x7e + 1225 0156 8001 .sleb128 128 + 1226 0158 B4010000 .4byte .LCFI22-.Ltext0 + 1227 015c B6010000 .4byte .LCFI23-.Ltext0 + 1228 0160 0300 .2byte 0x3 + 1229 0162 7E .byte 0x7e + 1230 0163 8401 .sleb128 132 + 1231 0165 B6010000 .4byte .LCFI23-.Ltext0 + 1232 0169 B8010000 .4byte .LCFI24-.Ltext0 + 1233 016d 0300 .2byte 0x3 + BFIN GAS /tmp/ccAC6MSl.s page 33 + + + 1234 016f 7E .byte 0x7e + 1235 0170 8801 .sleb128 136 + 1236 0172 B8010000 .4byte .LCFI24-.Ltext0 + 1237 0176 BA010000 .4byte .LCFI25-.Ltext0 + 1238 017a 0300 .2byte 0x3 + 1239 017c 7E .byte 0x7e + 1240 017d 8C01 .sleb128 140 + 1241 017f BA010000 .4byte .LCFI25-.Ltext0 + 1242 0183 BC010000 .4byte .LCFI26-.Ltext0 + 1243 0187 0300 .2byte 0x3 + 1244 0189 7E .byte 0x7e + 1245 018a 9001 .sleb128 144 + 1246 018c BC010000 .4byte .LCFI26-.Ltext0 + 1247 0190 C0010000 .4byte .LCFI27-.Ltext0 + 1248 0194 0300 .2byte 0x3 + 1249 0196 7E .byte 0x7e + 1250 0197 9401 .sleb128 148 + 1251 0199 C0010000 .4byte .LCFI27-.Ltext0 + 1252 019d C8010000 .4byte .LCFI28-.Ltext0 + 1253 01a1 0300 .2byte 0x3 + 1254 01a3 7E .byte 0x7e + 1255 01a4 9C01 .sleb128 156 + 1256 01a6 C8010000 .4byte .LCFI28-.Ltext0 + 1257 01aa CE010000 .4byte .LCFI29-.Ltext0 + 1258 01ae 0300 .2byte 0x3 + 1259 01b0 7E .byte 0x7e + 1260 01b1 A401 .sleb128 164 + 1261 01b3 CE010000 .4byte .LCFI29-.Ltext0 + 1262 01b7 D2010000 .4byte .LCFI30-.Ltext0 + 1263 01bb 0300 .2byte 0x3 + 1264 01bd 7E .byte 0x7e + 1265 01be A801 .sleb128 168 + 1266 01c0 D2010000 .4byte .LCFI30-.Ltext0 + 1267 01c4 F8020000 .4byte .LFE22-.Ltext0 + 1268 01c8 0300 .2byte 0x3 + 1269 01ca 7F .byte 0x7f + 1270 01cb B001 .sleb128 176 + 1271 01cd 00000000 .4byte 0x0 + 1272 01d1 00000000 .4byte 0x0 + 1273 .LLST4: + 1274 01d5 20020000 .4byte .LVL1-.Ltext0 + 1275 01d9 38020000 .4byte .LVL2-.Ltext0 + 1276 01dd 0100 .2byte 0x1 + 1277 01df 51 .byte 0x51 + 1278 01e0 00000000 .4byte 0x0 + 1279 01e4 00000000 .4byte 0x0 + 1280 .LLST5: + 1281 01e8 F8020000 .4byte .LFB21-.Ltext0 + 1282 01ec FA020000 .4byte .LCFI32-.Ltext0 + 1283 01f0 0100 .2byte 0x1 + 1284 01f2 5E .byte 0x5e + 1285 01f3 FA020000 .4byte .LCFI32-.Ltext0 + 1286 01f7 02030000 .4byte .LCFI33-.Ltext0 + 1287 01fb 0200 .2byte 0x2 + 1288 01fd 7E .byte 0x7e + 1289 01fe 0C .sleb128 12 + 1290 01ff 02030000 .4byte .LCFI33-.Ltext0 + BFIN GAS /tmp/ccAC6MSl.s page 34 + + + 1291 0203 E4030000 .4byte .LFE21-.Ltext0 + 1292 0207 0200 .2byte 0x2 + 1293 0209 7F .byte 0x7f + 1294 020a 14 .sleb128 20 + 1295 020b 00000000 .4byte 0x0 + 1296 020f 00000000 .4byte 0x0 + 1297 .LLST6: + 1298 0213 F8020000 .4byte .LVL3-.Ltext0 + 1299 0217 2A030000 .4byte .LVL5-.Ltext0 + 1300 021b 0100 .2byte 0x1 + 1301 021d 50 .byte 0x50 + 1302 021e 00000000 .4byte 0x0 + 1303 0222 00000000 .4byte 0x0 + 1304 .LLST7: + 1305 0226 F8020000 .4byte .LVL3-.Ltext0 + 1306 022a 22030000 .4byte .LVL4-.Ltext0 + 1307 022e 0100 .2byte 0x1 + 1308 0230 51 .byte 0x51 + 1309 0231 00000000 .4byte 0x0 + 1310 0235 00000000 .4byte 0x0 + 1311 .LLST8: + 1312 0239 E4030000 .4byte .LFB19-.Ltext0 + 1313 023d EC030000 .4byte .LCFI35-.Ltext0 + 1314 0241 0100 .2byte 0x1 + 1315 0243 5E .byte 0x5e + 1316 0244 EC030000 .4byte .LCFI35-.Ltext0 + 1317 0248 4E050000 .4byte .LFE19-.Ltext0 + 1318 024c 0200 .2byte 0x2 + 1319 024e 7F .byte 0x7f + 1320 024f 08 .sleb128 8 + 1321 0250 00000000 .4byte 0x0 + 1322 0254 00000000 .4byte 0x0 + 1323 .file 3 "/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib + 1324 .file 4 "src/l502_defs.h" + 1325 .file 5 "src/l502_stream.h" + 1326 .section .debug_info + 1327 0000 A6030000 .4byte 0x3a6 + 1328 0004 0200 .2byte 0x2 + 1329 0006 00000000 .4byte .Ldebug_abbrev0 + 1330 000a 04 .byte 0x4 + 1331 000b 01 .uleb128 0x1 + 1332 000c 16010000 .4byte .LASF41 + 1333 0010 01 .byte 0x1 + 1334 0011 0E000000 .4byte .LASF42 + 1335 0015 27000000 .4byte .LASF43 + 1336 0019 00000000 .4byte .Ltext0 + 1337 001d 4E050000 .4byte .Letext0 + 1338 0021 00000000 .4byte .Ldebug_line0 + 1339 0025 02 .uleb128 0x2 + 1340 0026 01 .byte 0x1 + 1341 0027 06 .byte 0x6 + 1342 0028 81020000 .4byte .LASF0 + 1343 002c 03 .uleb128 0x3 + 1344 002d B4010000 .4byte .LASF3 + 1345 0031 03 .byte 0x3 + 1346 0032 2A .byte 0x2a + 1347 0033 37000000 .4byte 0x37 + BFIN GAS /tmp/ccAC6MSl.s page 35 + + + 1348 0037 02 .uleb128 0x2 + 1349 0038 01 .byte 0x1 + 1350 0039 08 .byte 0x8 + 1351 003a 36010000 .4byte .LASF1 + 1352 003e 02 .uleb128 0x2 + 1353 003f 02 .byte 0x2 + 1354 0040 05 .byte 0x5 + 1355 0041 34020000 .4byte .LASF2 + 1356 0045 03 .uleb128 0x3 + 1357 0046 48020000 .4byte .LASF4 + 1358 004a 03 .byte 0x3 + 1359 004b 36 .byte 0x36 + 1360 004c 50000000 .4byte 0x50 + 1361 0050 02 .uleb128 0x2 + 1362 0051 02 .byte 0x2 + 1363 0052 07 .byte 0x7 + 1364 0053 82000000 .4byte .LASF5 + 1365 0057 02 .uleb128 0x2 + 1366 0058 04 .byte 0x4 + 1367 0059 05 .byte 0x5 + 1368 005a 69020000 .4byte .LASF6 + 1369 005e 03 .uleb128 0x3 + 1370 005f 60020000 .4byte .LASF7 + 1371 0063 03 .byte 0x3 + 1372 0064 50 .byte 0x50 + 1373 0065 69000000 .4byte 0x69 + 1374 0069 02 .uleb128 0x2 + 1375 006a 04 .byte 0x4 + 1376 006b 07 .byte 0x7 + 1377 006c FF000000 .4byte .LASF8 + 1378 0070 02 .uleb128 0x2 + 1379 0071 08 .byte 0x8 + 1380 0072 05 .byte 0x5 + 1381 0073 E1010000 .4byte .LASF9 + 1382 0077 02 .uleb128 0x2 + 1383 0078 08 .byte 0x8 + 1384 0079 07 .byte 0x7 + 1385 007a 9D010000 .4byte .LASF10 + 1386 007e 04 .uleb128 0x4 + 1387 007f 04 .byte 0x4 + 1388 0080 05 .byte 0x5 + 1389 0081 696E7400 .string "int" + 1390 0085 02 .uleb128 0x2 + 1391 0086 04 .byte 0x4 + 1392 0087 07 .byte 0x7 + 1393 0088 90010000 .4byte .LASF11 + 1394 008c 05 .uleb128 0x5 + 1395 008d 04 .byte 0x4 + 1396 008e 07 .byte 0x7 + 1397 008f 02 .uleb128 0x2 + 1398 0090 01 .byte 0x1 + 1399 0091 06 .byte 0x6 + 1400 0092 EF010000 .4byte .LASF12 + 1401 0096 06 .uleb128 0x6 + 1402 0097 04 .byte 0x4 + 1403 0098 04 .byte 0x4 + 1404 0099 37 .byte 0x37 + BFIN GAS /tmp/ccAC6MSl.s page 36 + + + 1405 009a AB000000 .4byte 0xab + 1406 009e 07 .uleb128 0x7 + 1407 009f AC020000 .4byte .LASF13 + 1408 00a3 01 .sleb128 1 + 1409 00a4 07 .uleb128 0x7 + 1410 00a5 44010000 .4byte .LASF14 + 1411 00a9 02 .sleb128 2 + 1412 00aa 00 .byte 0x0 + 1413 00ab 06 .uleb128 0x6 + 1414 00ac 04 .byte 0x4 + 1415 00ad 05 .byte 0x5 + 1416 00ae 19 .byte 0x19 + 1417 00af D2000000 .4byte 0xd2 + 1418 00b3 07 .uleb128 0x7 + 1419 00b4 EA000000 .4byte .LASF15 + 1420 00b8 00 .sleb128 0 + 1421 00b9 07 .uleb128 0x7 + 1422 00ba 8D020000 .4byte .LASF16 + 1423 00be 01 .sleb128 1 + 1424 00bf 07 .uleb128 0x7 + 1425 00c0 72020000 .4byte .LASF17 + 1426 00c4 02 .sleb128 2 + 1427 00c5 07 .uleb128 0x7 + 1428 00c6 51020000 .4byte .LASF18 + 1429 00ca 03 .sleb128 3 + 1430 00cb 07 .uleb128 0x7 + 1431 00cc D9000000 .4byte .LASF19 + 1432 00d0 04 .sleb128 4 + 1433 00d1 00 .byte 0x0 + 1434 00d2 03 .uleb128 0x3 + 1435 00d3 67010000 .4byte .LASF20 + 1436 00d7 05 .byte 0x5 + 1437 00d8 20 .byte 0x20 + 1438 00d9 AB000000 .4byte 0xab + 1439 00dd 08 .uleb128 0x8 + 1440 00de 0A .byte 0xa + 1441 00df 01 .byte 0x1 + 1442 00e0 24 .byte 0x24 + 1443 00e1 2C010000 .4byte 0x12c + 1444 00e5 09 .uleb128 0x9 + 1445 00e6 22010000 .4byte .LASF21 + 1446 00ea 01 .byte 0x1 + 1447 00eb 25 .byte 0x25 + 1448 00ec 45000000 .4byte 0x45 + 1449 00f0 02 .byte 0x2 + 1450 00f1 23 .byte 0x23 + 1451 00f2 00 .uleb128 0x0 + 1452 00f3 0A .uleb128 0xa + 1453 00f4 73616C00 .string "sal" + 1454 00f8 01 .byte 0x1 + 1455 00f9 26 .byte 0x26 + 1456 00fa 45000000 .4byte 0x45 + 1457 00fe 02 .byte 0x2 + 1458 00ff 23 .byte 0x23 + 1459 0100 02 .uleb128 0x2 + 1460 0101 0A .uleb128 0xa + 1461 0102 73616800 .string "sah" + BFIN GAS /tmp/ccAC6MSl.s page 37 + + + 1462 0106 01 .byte 0x1 + 1463 0107 27 .byte 0x27 + 1464 0108 45000000 .4byte 0x45 + 1465 010c 02 .byte 0x2 + 1466 010d 23 .byte 0x23 + 1467 010e 04 .uleb128 0x4 + 1468 010f 0A .uleb128 0xa + 1469 0110 63666700 .string "cfg" + 1470 0114 01 .byte 0x1 + 1471 0115 28 .byte 0x28 + 1472 0116 45000000 .4byte 0x45 + 1473 011a 02 .byte 0x2 + 1474 011b 23 .byte 0x23 + 1475 011c 06 .uleb128 0x6 + 1476 011d 09 .uleb128 0x9 + 1477 011e 22000000 .4byte .LASF22 + 1478 0122 01 .byte 0x1 + 1479 0123 29 .byte 0x29 + 1480 0124 45000000 .4byte 0x45 + 1481 0128 02 .byte 0x2 + 1482 0129 23 .byte 0x23 + 1483 012a 08 .uleb128 0x8 + 1484 012b 00 .byte 0x0 + 1485 012c 03 .uleb128 0x3 + 1486 012d A0000000 .4byte .LASF23 + 1487 0131 01 .byte 0x1 + 1488 0132 2A .byte 0x2a + 1489 0133 DD000000 .4byte 0xdd + 1490 0137 0B .uleb128 0xb + 1491 0138 CE020000 .4byte .LASF24 + 1492 013c 02 .byte 0x2 + 1493 013d 1401 .2byte 0x114 + 1494 013f 01 .byte 0x1 + 1495 0140 01 .byte 0x1 + 1496 0141 0C .uleb128 0xc + 1497 0142 05020000 .4byte .LASF25 + 1498 0146 01 .byte 0x1 + 1499 0147 5E .byte 0x5e + 1500 0148 01 .byte 0x1 + 1501 0149 01 .byte 0x1 + 1502 014a 0D .uleb128 0xd + 1503 014b 01 .byte 0x1 + 1504 014c BC010000 .4byte .LASF44 + 1505 0150 01 .byte 0x1 + 1506 0151 3B .byte 0x3b + 1507 0152 01 .byte 0x1 + 1508 0153 5E000000 .4byte 0x5e + 1509 0157 00000000 .4byte .LFB16 + 1510 015b 38000000 .4byte .LFE16 + 1511 015f 00000000 .4byte .LLST0 + 1512 0163 75010000 .4byte 0x175 + 1513 0167 0E .uleb128 0xe + 1514 0168 72657400 .string "ret" + 1515 016c 01 .byte 0x1 + 1516 016d 3C .byte 0x3c + 1517 016e 5E000000 .4byte 0x5e + 1518 0172 01 .byte 0x1 + BFIN GAS /tmp/ccAC6MSl.s page 38 + + + 1519 0173 51 .byte 0x51 + 1520 0174 00 .byte 0x0 + 1521 0175 0F .uleb128 0xf + 1522 0176 01 .byte 0x1 + 1523 0177 00000000 .4byte .LASF45 + 1524 017b 01 .byte 0x1 + 1525 017c 4C .byte 0x4c + 1526 017d 01 .byte 0x1 + 1527 017e 01 .byte 0x1 + 1528 017f 8D010000 .4byte 0x18d + 1529 0183 10 .uleb128 0x10 + 1530 0184 6900 .string "i" + 1531 0186 01 .byte 0x1 + 1532 0187 4D .byte 0x4d + 1533 0188 7E000000 .4byte 0x7e + 1534 018c 00 .byte 0x0 + 1535 018d 11 .uleb128 0x11 + 1536 018e 75010000 .4byte 0x175 + 1537 0192 38000000 .4byte .LFB17 + 1538 0196 68010000 .4byte .LFE17 + 1539 019a 1F000000 .4byte .LLST1 + 1540 019e A8010000 .4byte 0x1a8 + 1541 01a2 12 .uleb128 0x12 + 1542 01a3 83010000 .4byte 0x183 + 1543 01a7 00 .byte 0x0 + 1544 01a8 13 .uleb128 0x13 + 1545 01a9 01 .byte 0x1 + 1546 01aa F4010000 .4byte .LASF46 + 1547 01ae 01 .byte 0x1 + 1548 01af 81 .byte 0x81 + 1549 01b0 01 .byte 0x1 + 1550 01b1 7E000000 .4byte 0x7e + 1551 01b5 68010000 .4byte .LFB20 + 1552 01b9 8C010000 .4byte .LFE20 + 1553 01bd 3E000000 .4byte .LLST2 + 1554 01c1 14 .uleb128 0x14 + 1555 01c2 01 .byte 0x1 + 1556 01c3 71000000 .4byte .LASF29 + 1557 01c7 01 .byte 0x1 + 1558 01c8 BE .byte 0xbe + 1559 01c9 01 .byte 0x1 + 1560 01ca 8C010000 .4byte .LFB22 + 1561 01ce F8020000 .4byte .LFE22 + 1562 01d2 5D000000 .4byte .LLST3 + 1563 01d6 24020000 .4byte 0x224 + 1564 01da 15 .uleb128 0x15 + 1565 01db 00000000 .4byte .Ldebug_ranges0+0x0 + 1566 01df 16 .uleb128 0x16 + 1567 01e0 11010000 .4byte .LASF26 + 1568 01e4 01 .byte 0x1 + 1569 01e5 C0 .byte 0xc0 + 1570 01e6 24020000 .4byte 0x224 + 1571 01ea 17 .uleb128 0x17 + 1572 01eb FA000000 .4byte .LASF27 + 1573 01ef 01 .byte 0x1 + 1574 01f0 C1 .byte 0xc1 + 1575 01f1 5E000000 .4byte 0x5e + BFIN GAS /tmp/ccAC6MSl.s page 39 + + + 1576 01f5 D5010000 .4byte .LLST4 + 1577 01f9 16 .uleb128 0x16 + 1578 01fa B2000000 .4byte .LASF28 + 1579 01fe 01 .byte 0x1 + 1580 01ff C2 .byte 0xc2 + 1581 0200 5E000000 .4byte 0x5e + 1582 0204 18 .uleb128 0x18 + 1583 0205 37010000 .4byte 0x137 + 1584 0209 4C020000 .4byte .LBB20 + 1585 020d 4E020000 .4byte .LBE20 + 1586 0211 01 .byte 0x1 + 1587 0212 D7 .byte 0xd7 + 1588 0213 18 .uleb128 0x18 + 1589 0214 37010000 .4byte 0x137 + 1590 0218 F4020000 .4byte .LBB22 + 1591 021c F8020000 .4byte .LBE22 + 1592 0220 01 .byte 0x1 + 1593 0221 E0 .byte 0xe0 + 1594 0222 00 .byte 0x0 + 1595 0223 00 .byte 0x0 + 1596 0224 19 .uleb128 0x19 + 1597 0225 04 .byte 0x4 + 1598 0226 5E000000 .4byte 0x5e + 1599 022a 14 .uleb128 0x14 + 1600 022b 01 .byte 0x1 + 1601 022c 21020000 .4byte .LASF30 + 1602 0230 01 .byte 0x1 + 1603 0231 96 .byte 0x96 + 1604 0232 01 .byte 0x1 + 1605 0233 F8020000 .4byte .LFB21 + 1606 0237 E4030000 .4byte .LFE21 + 1607 023b E8010000 .4byte .LLST5 + 1608 023f AA020000 .4byte 0x2aa + 1609 0243 1A .uleb128 0x1a + 1610 0244 62756600 .string "buf" + 1611 0248 01 .byte 0x1 + 1612 0249 96 .byte 0x96 + 1613 024a 24020000 .4byte 0x224 + 1614 024e 13020000 .4byte .LLST6 + 1615 0252 1B .uleb128 0x1b + 1616 0253 FA000000 .4byte .LASF27 + 1617 0257 01 .byte 0x1 + 1618 0258 96 .byte 0x96 + 1619 0259 5E000000 .4byte 0x5e + 1620 025d 26020000 .4byte .LLST7 + 1621 0261 18 .uleb128 0x18 + 1622 0262 37010000 .4byte 0x137 + 1623 0266 34030000 .4byte .LBB25 + 1624 026a 36030000 .4byte .LBE25 + 1625 026e 01 .byte 0x1 + 1626 026f 9F .byte 0x9f + 1627 0270 1C .uleb128 0x1c + 1628 0271 18000000 .4byte .Ldebug_ranges0+0x18 + 1629 0275 85020000 .4byte 0x285 + 1630 0279 16 .uleb128 0x16 + 1631 027a 95000000 .4byte .LASF31 + 1632 027e 01 .byte 0x1 + BFIN GAS /tmp/ccAC6MSl.s page 40 + + + 1633 027f AA .byte 0xaa + 1634 0280 2C000000 .4byte 0x2c + 1635 0284 00 .byte 0x0 + 1636 0285 1D .uleb128 0x1d + 1637 0286 AA030000 .4byte .LBB29 + 1638 028a E4030000 .4byte .LBE29 + 1639 028e 16 .uleb128 0x16 + 1640 028f D0010000 .4byte .LASF32 + 1641 0293 01 .byte 0x1 + 1642 0294 A3 .byte 0xa3 + 1643 0295 5E000000 .4byte 0x5e + 1644 0299 18 .uleb128 0x18 + 1645 029a 41010000 .4byte 0x141 + 1646 029e C6030000 .4byte .LBB30 + 1647 02a2 E4030000 .4byte .LBE30 + 1648 02a6 01 .byte 0x1 + 1649 02a7 A6 .byte 0xa6 + 1650 02a8 00 .byte 0x0 + 1651 02a9 00 .byte 0x0 + 1652 02aa 14 .uleb128 0x14 + 1653 02ab 01 .byte 0x1 + 1654 02ac 7A010000 .4byte .LASF33 + 1655 02b0 01 .byte 0x1 + 1656 02b1 69 .byte 0x69 + 1657 02b2 01 .byte 0x1 + 1658 02b3 E4030000 .4byte .LFB19 + 1659 02b7 4E050000 .4byte .LFE19 + 1660 02bb 39020000 .4byte .LLST8 + 1661 02bf 10030000 .4byte 0x310 + 1662 02c3 18 .uleb128 0x18 + 1663 02c4 37010000 .4byte 0x137 + 1664 02c8 02040000 .4byte .LBB40 + 1665 02cc 04040000 .4byte .LBE40 + 1666 02d0 01 .byte 0x1 + 1667 02d1 6E .byte 0x6e + 1668 02d2 18 .uleb128 0x18 + 1669 02d3 37010000 .4byte 0x137 + 1670 02d7 04040000 .4byte .LBB42 + 1671 02db 06040000 .4byte .LBE42 + 1672 02df 01 .byte 0x1 + 1673 02e0 6F .byte 0x6f + 1674 02e1 18 .uleb128 0x18 + 1675 02e2 37010000 .4byte 0x137 + 1676 02e6 06040000 .4byte .LBB44 + 1677 02ea 08040000 .4byte .LBE44 + 1678 02ee 01 .byte 0x1 + 1679 02ef 70 .byte 0x70 + 1680 02f0 1E .uleb128 0x1e + 1681 02f1 75010000 .4byte 0x175 + 1682 02f5 22040000 .4byte .LBB46 + 1683 02f9 48050000 .4byte .LBE46 + 1684 02fd 01 .byte 0x1 + 1685 02fe 77 .byte 0x77 + 1686 02ff 1D .uleb128 0x1d + 1687 0300 22040000 .4byte .LBB47 + 1688 0304 48050000 .4byte .LBE47 + 1689 0308 12 .uleb128 0x12 + BFIN GAS /tmp/ccAC6MSl.s page 41 + + + 1690 0309 83010000 .4byte 0x183 + 1691 030d 00 .byte 0x0 + 1692 030e 00 .byte 0x0 + 1693 030f 00 .byte 0x0 + 1694 0310 1F .uleb128 0x1f + 1695 0311 2C010000 .4byte 0x12c + 1696 0315 20030000 .4byte 0x320 + 1697 0319 20 .uleb128 0x20 + 1698 031a 8C000000 .4byte 0x8c + 1699 031e 0F .byte 0xf + 1700 031f 00 .byte 0x0 + 1701 0320 21 .uleb128 0x21 + 1702 0321 D8010000 .4byte .LASF34 + 1703 0325 01 .byte 0x1 + 1704 0326 2D .byte 0x2d + 1705 0327 10030000 .4byte 0x310 + 1706 032b 05 .byte 0x5 + 1707 032c 03 .byte 0x3 + 1708 032d 04000000 .4byte _f_descrs + 1709 0331 21 .uleb128 0x21 + 1710 0332 A0020000 .4byte .LASF35 + 1711 0336 01 .byte 0x1 + 1712 0337 2E .byte 0x2e + 1713 0338 2C000000 .4byte 0x2c + 1714 033c 05 .byte 0x5 + 1715 033d 03 .byte 0x3 + 1716 033e A4000000 .4byte _f_put_descr + 1717 0342 21 .uleb128 0x21 + 1718 0343 CC000000 .4byte .LASF36 + 1719 0347 01 .byte 0x1 + 1720 0348 2E .byte 0x2e + 1721 0349 2C000000 .4byte 0x2c + 1722 034d 05 .byte 0x5 + 1723 034e 03 .byte 0x3 + 1724 034f A5000000 .4byte _f_done_descr + 1725 0353 21 .uleb128 0x21 + 1726 0354 3E020000 .4byte .LASF37 + 1727 0358 01 .byte 0x1 + 1728 0359 2F .byte 0x2f + 1729 035a 64030000 .4byte 0x364 + 1730 035e 05 .byte 0x5 + 1731 035f 03 .byte 0x3 + 1732 0360 A8000000 .4byte _f_put_cnt + 1733 0364 22 .uleb128 0x22 + 1734 0365 7E000000 .4byte 0x7e + 1735 0369 21 .uleb128 0x21 + 1736 036a 16020000 .4byte .LASF38 + 1737 036e 01 .byte 0x1 + 1738 036f 2F .byte 0x2f + 1739 0370 64030000 .4byte 0x364 + 1740 0374 05 .byte 0x5 + 1741 0375 03 .byte 0x3 + 1742 0376 AC000000 .4byte _f_done_cnt + 1743 037a 21 .uleb128 0x21 + 1744 037b 88010000 .4byte .LASF39 + 1745 037f 01 .byte 0x1 + 1746 0380 30 .byte 0x30 + BFIN GAS /tmp/ccAC6MSl.s page 42 + + + 1747 0381 7E000000 .4byte 0x7e + 1748 0385 05 .byte 0x5 + 1749 0386 03 .byte 0x3 + 1750 0387 B0000000 .4byte _f_first + 1751 038b 21 .uleb128 0x21 + 1752 038c 27010000 .4byte .LASF40 + 1753 0390 01 .byte 0x1 + 1754 0391 32 .byte 0x32 + 1755 0392 64030000 .4byte 0x364 + 1756 0396 05 .byte 0x5 + 1757 0397 03 .byte 0x3 + 1758 0398 00000000 .4byte _f_tx_was_empty + 1759 039c 23 .uleb128 0x23 + 1760 039d B9000000 .4byte .LASF47 + 1761 03a1 05 .byte 0x5 + 1762 03a2 26 .byte 0x26 + 1763 03a3 D2000000 .4byte 0xd2 + 1764 03a7 01 .byte 0x1 + 1765 03a8 01 .byte 0x1 + 1766 03a9 00 .byte 0x0 + 1767 .section .debug_abbrev + 1768 0000 01 .uleb128 0x1 + 1769 0001 11 .uleb128 0x11 + 1770 0002 01 .byte 0x1 + 1771 0003 25 .uleb128 0x25 + 1772 0004 0E .uleb128 0xe + 1773 0005 13 .uleb128 0x13 + 1774 0006 0B .uleb128 0xb + 1775 0007 03 .uleb128 0x3 + 1776 0008 0E .uleb128 0xe + 1777 0009 1B .uleb128 0x1b + 1778 000a 0E .uleb128 0xe + 1779 000b 11 .uleb128 0x11 + 1780 000c 01 .uleb128 0x1 + 1781 000d 12 .uleb128 0x12 + 1782 000e 01 .uleb128 0x1 + 1783 000f 10 .uleb128 0x10 + 1784 0010 06 .uleb128 0x6 + 1785 0011 00 .byte 0x0 + 1786 0012 00 .byte 0x0 + 1787 0013 02 .uleb128 0x2 + 1788 0014 24 .uleb128 0x24 + 1789 0015 00 .byte 0x0 + 1790 0016 0B .uleb128 0xb + 1791 0017 0B .uleb128 0xb + 1792 0018 3E .uleb128 0x3e + 1793 0019 0B .uleb128 0xb + 1794 001a 03 .uleb128 0x3 + 1795 001b 0E .uleb128 0xe + 1796 001c 00 .byte 0x0 + 1797 001d 00 .byte 0x0 + 1798 001e 03 .uleb128 0x3 + 1799 001f 16 .uleb128 0x16 + 1800 0020 00 .byte 0x0 + 1801 0021 03 .uleb128 0x3 + 1802 0022 0E .uleb128 0xe + 1803 0023 3A .uleb128 0x3a + BFIN GAS /tmp/ccAC6MSl.s page 43 + + + 1804 0024 0B .uleb128 0xb + 1805 0025 3B .uleb128 0x3b + 1806 0026 0B .uleb128 0xb + 1807 0027 49 .uleb128 0x49 + 1808 0028 13 .uleb128 0x13 + 1809 0029 00 .byte 0x0 + 1810 002a 00 .byte 0x0 + 1811 002b 04 .uleb128 0x4 + 1812 002c 24 .uleb128 0x24 + 1813 002d 00 .byte 0x0 + 1814 002e 0B .uleb128 0xb + 1815 002f 0B .uleb128 0xb + 1816 0030 3E .uleb128 0x3e + 1817 0031 0B .uleb128 0xb + 1818 0032 03 .uleb128 0x3 + 1819 0033 08 .uleb128 0x8 + 1820 0034 00 .byte 0x0 + 1821 0035 00 .byte 0x0 + 1822 0036 05 .uleb128 0x5 + 1823 0037 24 .uleb128 0x24 + 1824 0038 00 .byte 0x0 + 1825 0039 0B .uleb128 0xb + 1826 003a 0B .uleb128 0xb + 1827 003b 3E .uleb128 0x3e + 1828 003c 0B .uleb128 0xb + 1829 003d 00 .byte 0x0 + 1830 003e 00 .byte 0x0 + 1831 003f 06 .uleb128 0x6 + 1832 0040 04 .uleb128 0x4 + 1833 0041 01 .byte 0x1 + 1834 0042 0B .uleb128 0xb + 1835 0043 0B .uleb128 0xb + 1836 0044 3A .uleb128 0x3a + 1837 0045 0B .uleb128 0xb + 1838 0046 3B .uleb128 0x3b + 1839 0047 0B .uleb128 0xb + 1840 0048 01 .uleb128 0x1 + 1841 0049 13 .uleb128 0x13 + 1842 004a 00 .byte 0x0 + 1843 004b 00 .byte 0x0 + 1844 004c 07 .uleb128 0x7 + 1845 004d 28 .uleb128 0x28 + 1846 004e 00 .byte 0x0 + 1847 004f 03 .uleb128 0x3 + 1848 0050 0E .uleb128 0xe + 1849 0051 1C .uleb128 0x1c + 1850 0052 0D .uleb128 0xd + 1851 0053 00 .byte 0x0 + 1852 0054 00 .byte 0x0 + 1853 0055 08 .uleb128 0x8 + 1854 0056 13 .uleb128 0x13 + 1855 0057 01 .byte 0x1 + 1856 0058 0B .uleb128 0xb + 1857 0059 0B .uleb128 0xb + 1858 005a 3A .uleb128 0x3a + 1859 005b 0B .uleb128 0xb + 1860 005c 3B .uleb128 0x3b + BFIN GAS /tmp/ccAC6MSl.s page 44 + + + 1861 005d 0B .uleb128 0xb + 1862 005e 01 .uleb128 0x1 + 1863 005f 13 .uleb128 0x13 + 1864 0060 00 .byte 0x0 + 1865 0061 00 .byte 0x0 + 1866 0062 09 .uleb128 0x9 + 1867 0063 0D .uleb128 0xd + 1868 0064 00 .byte 0x0 + 1869 0065 03 .uleb128 0x3 + 1870 0066 0E .uleb128 0xe + 1871 0067 3A .uleb128 0x3a + 1872 0068 0B .uleb128 0xb + 1873 0069 3B .uleb128 0x3b + 1874 006a 0B .uleb128 0xb + 1875 006b 49 .uleb128 0x49 + 1876 006c 13 .uleb128 0x13 + 1877 006d 38 .uleb128 0x38 + 1878 006e 0A .uleb128 0xa + 1879 006f 00 .byte 0x0 + 1880 0070 00 .byte 0x0 + 1881 0071 0A .uleb128 0xa + 1882 0072 0D .uleb128 0xd + 1883 0073 00 .byte 0x0 + 1884 0074 03 .uleb128 0x3 + 1885 0075 08 .uleb128 0x8 + 1886 0076 3A .uleb128 0x3a + 1887 0077 0B .uleb128 0xb + 1888 0078 3B .uleb128 0x3b + 1889 0079 0B .uleb128 0xb + 1890 007a 49 .uleb128 0x49 + 1891 007b 13 .uleb128 0x13 + 1892 007c 38 .uleb128 0x38 + 1893 007d 0A .uleb128 0xa + 1894 007e 00 .byte 0x0 + 1895 007f 00 .byte 0x0 + 1896 0080 0B .uleb128 0xb + 1897 0081 2E .uleb128 0x2e + 1898 0082 00 .byte 0x0 + 1899 0083 03 .uleb128 0x3 + 1900 0084 0E .uleb128 0xe + 1901 0085 3A .uleb128 0x3a + 1902 0086 0B .uleb128 0xb + 1903 0087 3B .uleb128 0x3b + 1904 0088 05 .uleb128 0x5 + 1905 0089 27 .uleb128 0x27 + 1906 008a 0C .uleb128 0xc + 1907 008b 20 .uleb128 0x20 + 1908 008c 0B .uleb128 0xb + 1909 008d 00 .byte 0x0 + 1910 008e 00 .byte 0x0 + 1911 008f 0C .uleb128 0xc + 1912 0090 2E .uleb128 0x2e + 1913 0091 00 .byte 0x0 + 1914 0092 03 .uleb128 0x3 + 1915 0093 0E .uleb128 0xe + 1916 0094 3A .uleb128 0x3a + 1917 0095 0B .uleb128 0xb + BFIN GAS /tmp/ccAC6MSl.s page 45 + + + 1918 0096 3B .uleb128 0x3b + 1919 0097 0B .uleb128 0xb + 1920 0098 27 .uleb128 0x27 + 1921 0099 0C .uleb128 0xc + 1922 009a 20 .uleb128 0x20 + 1923 009b 0B .uleb128 0xb + 1924 009c 00 .byte 0x0 + 1925 009d 00 .byte 0x0 + 1926 009e 0D .uleb128 0xd + 1927 009f 2E .uleb128 0x2e + 1928 00a0 01 .byte 0x1 + 1929 00a1 3F .uleb128 0x3f + 1930 00a2 0C .uleb128 0xc + 1931 00a3 03 .uleb128 0x3 + 1932 00a4 0E .uleb128 0xe + 1933 00a5 3A .uleb128 0x3a + 1934 00a6 0B .uleb128 0xb + 1935 00a7 3B .uleb128 0x3b + 1936 00a8 0B .uleb128 0xb + 1937 00a9 27 .uleb128 0x27 + 1938 00aa 0C .uleb128 0xc + 1939 00ab 49 .uleb128 0x49 + 1940 00ac 13 .uleb128 0x13 + 1941 00ad 11 .uleb128 0x11 + 1942 00ae 01 .uleb128 0x1 + 1943 00af 12 .uleb128 0x12 + 1944 00b0 01 .uleb128 0x1 + 1945 00b1 40 .uleb128 0x40 + 1946 00b2 06 .uleb128 0x6 + 1947 00b3 01 .uleb128 0x1 + 1948 00b4 13 .uleb128 0x13 + 1949 00b5 00 .byte 0x0 + 1950 00b6 00 .byte 0x0 + 1951 00b7 0E .uleb128 0xe + 1952 00b8 34 .uleb128 0x34 + 1953 00b9 00 .byte 0x0 + 1954 00ba 03 .uleb128 0x3 + 1955 00bb 08 .uleb128 0x8 + 1956 00bc 3A .uleb128 0x3a + 1957 00bd 0B .uleb128 0xb + 1958 00be 3B .uleb128 0x3b + 1959 00bf 0B .uleb128 0xb + 1960 00c0 49 .uleb128 0x49 + 1961 00c1 13 .uleb128 0x13 + 1962 00c2 02 .uleb128 0x2 + 1963 00c3 0A .uleb128 0xa + 1964 00c4 00 .byte 0x0 + 1965 00c5 00 .byte 0x0 + 1966 00c6 0F .uleb128 0xf + 1967 00c7 2E .uleb128 0x2e + 1968 00c8 01 .byte 0x1 + 1969 00c9 3F .uleb128 0x3f + 1970 00ca 0C .uleb128 0xc + 1971 00cb 03 .uleb128 0x3 + 1972 00cc 0E .uleb128 0xe + 1973 00cd 3A .uleb128 0x3a + 1974 00ce 0B .uleb128 0xb + BFIN GAS /tmp/ccAC6MSl.s page 46 + + + 1975 00cf 3B .uleb128 0x3b + 1976 00d0 0B .uleb128 0xb + 1977 00d1 27 .uleb128 0x27 + 1978 00d2 0C .uleb128 0xc + 1979 00d3 20 .uleb128 0x20 + 1980 00d4 0B .uleb128 0xb + 1981 00d5 01 .uleb128 0x1 + 1982 00d6 13 .uleb128 0x13 + 1983 00d7 00 .byte 0x0 + 1984 00d8 00 .byte 0x0 + 1985 00d9 10 .uleb128 0x10 + 1986 00da 34 .uleb128 0x34 + 1987 00db 00 .byte 0x0 + 1988 00dc 03 .uleb128 0x3 + 1989 00dd 08 .uleb128 0x8 + 1990 00de 3A .uleb128 0x3a + 1991 00df 0B .uleb128 0xb + 1992 00e0 3B .uleb128 0x3b + 1993 00e1 0B .uleb128 0xb + 1994 00e2 49 .uleb128 0x49 + 1995 00e3 13 .uleb128 0x13 + 1996 00e4 00 .byte 0x0 + 1997 00e5 00 .byte 0x0 + 1998 00e6 11 .uleb128 0x11 + 1999 00e7 2E .uleb128 0x2e + 2000 00e8 01 .byte 0x1 + 2001 00e9 31 .uleb128 0x31 + 2002 00ea 13 .uleb128 0x13 + 2003 00eb 11 .uleb128 0x11 + 2004 00ec 01 .uleb128 0x1 + 2005 00ed 12 .uleb128 0x12 + 2006 00ee 01 .uleb128 0x1 + 2007 00ef 40 .uleb128 0x40 + 2008 00f0 06 .uleb128 0x6 + 2009 00f1 01 .uleb128 0x1 + 2010 00f2 13 .uleb128 0x13 + 2011 00f3 00 .byte 0x0 + 2012 00f4 00 .byte 0x0 + 2013 00f5 12 .uleb128 0x12 + 2014 00f6 34 .uleb128 0x34 + 2015 00f7 00 .byte 0x0 + 2016 00f8 31 .uleb128 0x31 + 2017 00f9 13 .uleb128 0x13 + 2018 00fa 00 .byte 0x0 + 2019 00fb 00 .byte 0x0 + 2020 00fc 13 .uleb128 0x13 + 2021 00fd 2E .uleb128 0x2e + 2022 00fe 00 .byte 0x0 + 2023 00ff 3F .uleb128 0x3f + 2024 0100 0C .uleb128 0xc + 2025 0101 03 .uleb128 0x3 + 2026 0102 0E .uleb128 0xe + 2027 0103 3A .uleb128 0x3a + 2028 0104 0B .uleb128 0xb + 2029 0105 3B .uleb128 0x3b + 2030 0106 0B .uleb128 0xb + 2031 0107 27 .uleb128 0x27 + BFIN GAS /tmp/ccAC6MSl.s page 47 + + + 2032 0108 0C .uleb128 0xc + 2033 0109 49 .uleb128 0x49 + 2034 010a 13 .uleb128 0x13 + 2035 010b 11 .uleb128 0x11 + 2036 010c 01 .uleb128 0x1 + 2037 010d 12 .uleb128 0x12 + 2038 010e 01 .uleb128 0x1 + 2039 010f 40 .uleb128 0x40 + 2040 0110 06 .uleb128 0x6 + 2041 0111 00 .byte 0x0 + 2042 0112 00 .byte 0x0 + 2043 0113 14 .uleb128 0x14 + 2044 0114 2E .uleb128 0x2e + 2045 0115 01 .byte 0x1 + 2046 0116 3F .uleb128 0x3f + 2047 0117 0C .uleb128 0xc + 2048 0118 03 .uleb128 0x3 + 2049 0119 0E .uleb128 0xe + 2050 011a 3A .uleb128 0x3a + 2051 011b 0B .uleb128 0xb + 2052 011c 3B .uleb128 0x3b + 2053 011d 0B .uleb128 0xb + 2054 011e 27 .uleb128 0x27 + 2055 011f 0C .uleb128 0xc + 2056 0120 11 .uleb128 0x11 + 2057 0121 01 .uleb128 0x1 + 2058 0122 12 .uleb128 0x12 + 2059 0123 01 .uleb128 0x1 + 2060 0124 40 .uleb128 0x40 + 2061 0125 06 .uleb128 0x6 + 2062 0126 01 .uleb128 0x1 + 2063 0127 13 .uleb128 0x13 + 2064 0128 00 .byte 0x0 + 2065 0129 00 .byte 0x0 + 2066 012a 15 .uleb128 0x15 + 2067 012b 0B .uleb128 0xb + 2068 012c 01 .byte 0x1 + 2069 012d 55 .uleb128 0x55 + 2070 012e 06 .uleb128 0x6 + 2071 012f 00 .byte 0x0 + 2072 0130 00 .byte 0x0 + 2073 0131 16 .uleb128 0x16 + 2074 0132 34 .uleb128 0x34 + 2075 0133 00 .byte 0x0 + 2076 0134 03 .uleb128 0x3 + 2077 0135 0E .uleb128 0xe + 2078 0136 3A .uleb128 0x3a + 2079 0137 0B .uleb128 0xb + 2080 0138 3B .uleb128 0x3b + 2081 0139 0B .uleb128 0xb + 2082 013a 49 .uleb128 0x49 + 2083 013b 13 .uleb128 0x13 + 2084 013c 00 .byte 0x0 + 2085 013d 00 .byte 0x0 + 2086 013e 17 .uleb128 0x17 + 2087 013f 34 .uleb128 0x34 + 2088 0140 00 .byte 0x0 + BFIN GAS /tmp/ccAC6MSl.s page 48 + + + 2089 0141 03 .uleb128 0x3 + 2090 0142 0E .uleb128 0xe + 2091 0143 3A .uleb128 0x3a + 2092 0144 0B .uleb128 0xb + 2093 0145 3B .uleb128 0x3b + 2094 0146 0B .uleb128 0xb + 2095 0147 49 .uleb128 0x49 + 2096 0148 13 .uleb128 0x13 + 2097 0149 02 .uleb128 0x2 + 2098 014a 06 .uleb128 0x6 + 2099 014b 00 .byte 0x0 + 2100 014c 00 .byte 0x0 + 2101 014d 18 .uleb128 0x18 + 2102 014e 1D .uleb128 0x1d + 2103 014f 00 .byte 0x0 + 2104 0150 31 .uleb128 0x31 + 2105 0151 13 .uleb128 0x13 + 2106 0152 11 .uleb128 0x11 + 2107 0153 01 .uleb128 0x1 + 2108 0154 12 .uleb128 0x12 + 2109 0155 01 .uleb128 0x1 + 2110 0156 58 .uleb128 0x58 + 2111 0157 0B .uleb128 0xb + 2112 0158 59 .uleb128 0x59 + 2113 0159 0B .uleb128 0xb + 2114 015a 00 .byte 0x0 + 2115 015b 00 .byte 0x0 + 2116 015c 19 .uleb128 0x19 + 2117 015d 0F .uleb128 0xf + 2118 015e 00 .byte 0x0 + 2119 015f 0B .uleb128 0xb + 2120 0160 0B .uleb128 0xb + 2121 0161 49 .uleb128 0x49 + 2122 0162 13 .uleb128 0x13 + 2123 0163 00 .byte 0x0 + 2124 0164 00 .byte 0x0 + 2125 0165 1A .uleb128 0x1a + 2126 0166 05 .uleb128 0x5 + 2127 0167 00 .byte 0x0 + 2128 0168 03 .uleb128 0x3 + 2129 0169 08 .uleb128 0x8 + 2130 016a 3A .uleb128 0x3a + 2131 016b 0B .uleb128 0xb + 2132 016c 3B .uleb128 0x3b + 2133 016d 0B .uleb128 0xb + 2134 016e 49 .uleb128 0x49 + 2135 016f 13 .uleb128 0x13 + 2136 0170 02 .uleb128 0x2 + 2137 0171 06 .uleb128 0x6 + 2138 0172 00 .byte 0x0 + 2139 0173 00 .byte 0x0 + 2140 0174 1B .uleb128 0x1b + 2141 0175 05 .uleb128 0x5 + 2142 0176 00 .byte 0x0 + 2143 0177 03 .uleb128 0x3 + 2144 0178 0E .uleb128 0xe + 2145 0179 3A .uleb128 0x3a + BFIN GAS /tmp/ccAC6MSl.s page 49 + + + 2146 017a 0B .uleb128 0xb + 2147 017b 3B .uleb128 0x3b + 2148 017c 0B .uleb128 0xb + 2149 017d 49 .uleb128 0x49 + 2150 017e 13 .uleb128 0x13 + 2151 017f 02 .uleb128 0x2 + 2152 0180 06 .uleb128 0x6 + 2153 0181 00 .byte 0x0 + 2154 0182 00 .byte 0x0 + 2155 0183 1C .uleb128 0x1c + 2156 0184 0B .uleb128 0xb + 2157 0185 01 .byte 0x1 + 2158 0186 55 .uleb128 0x55 + 2159 0187 06 .uleb128 0x6 + 2160 0188 01 .uleb128 0x1 + 2161 0189 13 .uleb128 0x13 + 2162 018a 00 .byte 0x0 + 2163 018b 00 .byte 0x0 + 2164 018c 1D .uleb128 0x1d + 2165 018d 0B .uleb128 0xb + 2166 018e 01 .byte 0x1 + 2167 018f 11 .uleb128 0x11 + 2168 0190 01 .uleb128 0x1 + 2169 0191 12 .uleb128 0x12 + 2170 0192 01 .uleb128 0x1 + 2171 0193 00 .byte 0x0 + 2172 0194 00 .byte 0x0 + 2173 0195 1E .uleb128 0x1e + 2174 0196 1D .uleb128 0x1d + 2175 0197 01 .byte 0x1 + 2176 0198 31 .uleb128 0x31 + 2177 0199 13 .uleb128 0x13 + 2178 019a 11 .uleb128 0x11 + 2179 019b 01 .uleb128 0x1 + 2180 019c 12 .uleb128 0x12 + 2181 019d 01 .uleb128 0x1 + 2182 019e 58 .uleb128 0x58 + 2183 019f 0B .uleb128 0xb + 2184 01a0 59 .uleb128 0x59 + 2185 01a1 0B .uleb128 0xb + 2186 01a2 00 .byte 0x0 + 2187 01a3 00 .byte 0x0 + 2188 01a4 1F .uleb128 0x1f + 2189 01a5 01 .uleb128 0x1 + 2190 01a6 01 .byte 0x1 + 2191 01a7 49 .uleb128 0x49 + 2192 01a8 13 .uleb128 0x13 + 2193 01a9 01 .uleb128 0x1 + 2194 01aa 13 .uleb128 0x13 + 2195 01ab 00 .byte 0x0 + 2196 01ac 00 .byte 0x0 + 2197 01ad 20 .uleb128 0x20 + 2198 01ae 21 .uleb128 0x21 + 2199 01af 00 .byte 0x0 + 2200 01b0 49 .uleb128 0x49 + 2201 01b1 13 .uleb128 0x13 + 2202 01b2 2F .uleb128 0x2f + BFIN GAS /tmp/ccAC6MSl.s page 50 + + + 2203 01b3 0B .uleb128 0xb + 2204 01b4 00 .byte 0x0 + 2205 01b5 00 .byte 0x0 + 2206 01b6 21 .uleb128 0x21 + 2207 01b7 34 .uleb128 0x34 + 2208 01b8 00 .byte 0x0 + 2209 01b9 03 .uleb128 0x3 + 2210 01ba 0E .uleb128 0xe + 2211 01bb 3A .uleb128 0x3a + 2212 01bc 0B .uleb128 0xb + 2213 01bd 3B .uleb128 0x3b + 2214 01be 0B .uleb128 0xb + 2215 01bf 49 .uleb128 0x49 + 2216 01c0 13 .uleb128 0x13 + 2217 01c1 02 .uleb128 0x2 + 2218 01c2 0A .uleb128 0xa + 2219 01c3 00 .byte 0x0 + 2220 01c4 00 .byte 0x0 + 2221 01c5 22 .uleb128 0x22 + 2222 01c6 35 .uleb128 0x35 + 2223 01c7 00 .byte 0x0 + 2224 01c8 49 .uleb128 0x49 + 2225 01c9 13 .uleb128 0x13 + 2226 01ca 00 .byte 0x0 + 2227 01cb 00 .byte 0x0 + 2228 01cc 23 .uleb128 0x23 + 2229 01cd 34 .uleb128 0x34 + 2230 01ce 00 .byte 0x0 + 2231 01cf 03 .uleb128 0x3 + 2232 01d0 0E .uleb128 0xe + 2233 01d1 3A .uleb128 0x3a + 2234 01d2 0B .uleb128 0xb + 2235 01d3 3B .uleb128 0x3b + 2236 01d4 0B .uleb128 0xb + 2237 01d5 49 .uleb128 0x49 + 2238 01d6 13 .uleb128 0x13 + 2239 01d7 3F .uleb128 0x3f + 2240 01d8 0C .uleb128 0xc + 2241 01d9 3C .uleb128 0x3c + 2242 01da 0C .uleb128 0xc + 2243 01db 00 .byte 0x0 + 2244 01dc 00 .byte 0x0 + 2245 01dd 00 .byte 0x0 + 2246 .section .debug_pubnames,"",@progbits + 2247 0000 8B000000 .4byte 0x8b + 2248 0004 0200 .2byte 0x2 + 2249 0006 00000000 .4byte .Ldebug_info0 + 2250 000a AA030000 .4byte 0x3aa + 2251 000e 4A010000 .4byte 0x14a + 2252 0012 73706F72 .string "sport_tx_out_status" + 2252 745F7478 + 2252 5F6F7574 + 2252 5F737461 + 2252 74757300 + 2253 0026 8D010000 .4byte 0x18d + 2254 002a 73706F72 .string "sport_tx_init" + 2254 745F7478 + BFIN GAS /tmp/ccAC6MSl.s page 51 + + + 2254 5F696E69 + 2254 7400 + 2255 0038 A8010000 .4byte 0x1a8 + 2256 003c 73706F72 .string "sport_tx_req_rdy" + 2256 745F7478 + 2256 5F726571 + 2256 5F726479 + 2256 00 + 2257 004d C1010000 .4byte 0x1c1 + 2258 0051 6973725F .string "isr_sport_dma_tx" + 2258 73706F72 + 2258 745F646D + 2258 615F7478 + 2258 00 + 2259 0062 2A020000 .4byte 0x22a + 2260 0066 73706F72 .string "sport_tx_start_req" + 2260 745F7478 + 2260 5F737461 + 2260 72745F72 + 2260 657100 + 2261 0079 AA020000 .4byte 0x2aa + 2262 007d 73706F72 .string "sport_tx_stop" + 2262 745F7478 + 2262 5F73746F + 2262 7000 + 2263 008b 00000000 .4byte 0x0 + 2264 .section .debug_aranges,"",@progbits + 2265 0000 1C000000 .4byte 0x1c + 2266 0004 0200 .2byte 0x2 + 2267 0006 00000000 .4byte .Ldebug_info0 + 2268 000a 04 .byte 0x4 + 2269 000b 00 .byte 0x0 + 2270 000c 0000 .2byte 0x0 + 2271 000e 0000 .2byte 0x0 + 2272 0010 00000000 .4byte .Ltext0 + 2273 0014 4E050000 .4byte .Letext0-.Ltext0 + 2274 0018 00000000 .4byte 0x0 + 2275 001c 00000000 .4byte 0x0 + 2276 .section .debug_ranges,"",@progbits + 2277 .Ldebug_ranges0: + 2278 0000 D8010000 .4byte .LBB19-.Ltext0 + 2279 0004 7C020000 .4byte .LBE19-.Ltext0 + 2280 0008 CE020000 .4byte .LBB24-.Ltext0 + 2281 000c F8020000 .4byte .LBE24-.Ltext0 + 2282 0010 00000000 .4byte 0x0 + 2283 0014 00000000 .4byte 0x0 + 2284 0018 56030000 .4byte .LBB27-.Ltext0 + 2285 001c 6A030000 .4byte .LBE27-.Ltext0 + 2286 0020 A0030000 .4byte .LBB28-.Ltext0 + 2287 0024 AA030000 .4byte .LBE28-.Ltext0 + 2288 0028 00000000 .4byte 0x0 + 2289 002c 00000000 .4byte 0x0 + 2290 .section .debug_str,"MS",@progbits,1 + 2291 .LASF45: + 2292 0000 73706F72 .string "sport_tx_init" + 2292 745F7478 + 2292 5F696E69 + BFIN GAS /tmp/ccAC6MSl.s page 52 + + + 2292 7400 + 2293 .LASF42: + 2294 000e 7372632F .string "src/l502_sport_tx.c" + 2294 6C353032 + 2294 5F73706F + 2294 72745F74 + 2294 782E6300 + 2295 .LASF22: + 2296 0022 78636E74 .string "xcnt" + 2296 00 + 2297 .LASF43: + 2298 0027 2F686F6D .string "/home/feda/MIPT/RadioPhotonic_Subserface_radar/ADC_computing/BFfirmware_0" + 2298 652F6665 + 2298 64612F4D + 2298 4950542F + 2298 52616469 + 2299 .LASF29: + 2300 0071 6973725F .string "isr_sport_dma_tx" + 2300 73706F72 + 2300 745F646D + 2300 615F7478 + 2300 00 + 2301 .LASF5: + 2302 0082 73686F72 .string "short unsigned int" + 2302 7420756E + 2302 7369676E + 2302 65642069 + 2302 6E7400 + 2303 .LASF31: + 2304 0095 70726576 .string "prev_descr" + 2304 5F646573 + 2304 637200 + 2305 .LASF23: + 2306 00a0 745F7370 .string "t_sport_dma_descr" + 2306 6F72745F + 2306 646D615F + 2306 64657363 + 2306 7200 + 2307 .LASF28: + 2308 00b2 73746174 .string "status" + 2308 757300 + 2309 .LASF47: + 2310 00b9 675F7374 .string "g_stream_out_state" + 2310 7265616D + 2310 5F6F7574 + 2310 5F737461 + 2310 746500 + 2311 .LASF36: + 2312 00cc 665F646F .string "f_done_descr" + 2312 6E655F64 + 2312 65736372 + 2312 00 + 2313 .LASF19: + 2314 00d9 4F55545F .string "OUT_STREAM_CYCLE" + 2314 53545245 + 2314 414D5F43 + 2314 59434C45 + BFIN GAS /tmp/ccAC6MSl.s page 53 + + + 2314 00 + 2315 .LASF15: + 2316 00ea 4F55545F .string "OUT_STREAM_STOP" + 2316 53545245 + 2316 414D5F53 + 2316 544F5000 + 2317 .LASF27: + 2318 00fa 73697A65 .string "size" + 2318 00 + 2319 .LASF8: + 2320 00ff 6C6F6E67 .string "long unsigned int" + 2320 20756E73 + 2320 69676E65 + 2320 6420696E + 2320 7400 + 2321 .LASF26: + 2322 0111 61646472 .string "addr" + 2322 00 + 2323 .LASF41: + 2324 0116 474E5520 .string "GNU C 4.3.5" + 2324 4320342E + 2324 332E3500 + 2325 .LASF21: + 2326 0122 6E64706C .string "ndpl" + 2326 00 + 2327 .LASF40: + 2328 0127 665F7478 .string "f_tx_was_empty" + 2328 5F776173 + 2328 5F656D70 + 2328 747900 + 2329 .LASF1: + 2330 0136 756E7369 .string "unsigned char" + 2330 676E6564 + 2330 20636861 + 2330 7200 + 2331 .LASF14: + 2332 0144 58353032 .string "X502_OUT_STATUS_FLAG_BUF_WAS_EMPTY" + 2332 5F4F5554 + 2332 5F535441 + 2332 5455535F + 2332 464C4147 + 2333 .LASF20: + 2334 0167 745F6F75 .string "t_out_stream_state" + 2334 745F7374 + 2334 7265616D + 2334 5F737461 + 2334 746500 + 2335 .LASF33: + 2336 017a 73706F72 .string "sport_tx_stop" + 2336 745F7478 + 2336 5F73746F + 2336 7000 + 2337 .LASF39: + 2338 0188 665F6669 .string "f_first" + 2338 72737400 + 2339 .LASF11: + 2340 0190 756E7369 .string "unsigned int" + BFIN GAS /tmp/ccAC6MSl.s page 54 + + + 2340 676E6564 + 2340 20696E74 + 2340 00 + 2341 .LASF10: + 2342 019d 6C6F6E67 .string "long long unsigned int" + 2342 206C6F6E + 2342 6720756E + 2342 7369676E + 2342 65642069 + 2343 .LASF3: + 2344 01b4 75696E74 .string "uint8_t" + 2344 385F7400 + 2345 .LASF44: + 2346 01bc 73706F72 .string "sport_tx_out_status" + 2346 745F7478 + 2346 5F6F7574 + 2346 5F737461 + 2346 74757300 + 2347 .LASF32: + 2348 01d0 6366675F .string "cfg_wrd" + 2348 77726400 + 2349 .LASF34: + 2350 01d8 665F6465 .string "f_descrs" + 2350 73637273 + 2350 00 + 2351 .LASF9: + 2352 01e1 6C6F6E67 .string "long long int" + 2352 206C6F6E + 2352 6720696E + 2352 7400 + 2353 .LASF12: + 2354 01ef 63686172 .string "char" + 2354 00 + 2355 .LASF46: + 2356 01f4 73706F72 .string "sport_tx_req_rdy" + 2356 745F7478 + 2356 5F726571 + 2356 5F726479 + 2356 00 + 2357 .LASF25: + 2358 0205 665F7370 .string "f_sport_tx_start" + 2358 6F72745F + 2358 74785F73 + 2358 74617274 + 2358 00 + 2359 .LASF38: + 2360 0216 665F646F .string "f_done_cnt" + 2360 6E655F63 + 2360 6E7400 + 2361 .LASF30: + 2362 0221 73706F72 .string "sport_tx_start_req" + 2362 745F7478 + 2362 5F737461 + 2362 72745F72 + 2362 657100 + 2363 .LASF2: + 2364 0234 73686F72 .string "short int" + BFIN GAS /tmp/ccAC6MSl.s page 55 + + + 2364 7420696E + 2364 7400 + 2365 .LASF37: + 2366 023e 665F7075 .string "f_put_cnt" + 2366 745F636E + 2366 7400 + 2367 .LASF4: + 2368 0248 75696E74 .string "uint16_t" + 2368 31365F74 + 2368 00 + 2369 .LASF18: + 2370 0251 4F55545F .string "OUT_STREAM_ERR" + 2370 53545245 + 2370 414D5F45 + 2370 525200 + 2371 .LASF7: + 2372 0260 75696E74 .string "uint32_t" + 2372 33325F74 + 2372 00 + 2373 .LASF6: + 2374 0269 6C6F6E67 .string "long int" + 2374 20696E74 + 2374 00 + 2375 .LASF17: + 2376 0272 4F55545F .string "OUT_STREAM_RUN" + 2376 53545245 + 2376 414D5F52 + 2376 554E00 + 2377 .LASF0: + 2378 0281 7369676E .string "signed char" + 2378 65642063 + 2378 68617200 + 2379 .LASF16: + 2380 028d 4F55545F .string "OUT_STREAM_PRELOAD" + 2380 53545245 + 2380 414D5F50 + 2380 52454C4F + 2380 414400 + 2381 .LASF35: + 2382 02a0 665F7075 .string "f_put_descr" + 2382 745F6465 + 2382 73637200 + 2383 .LASF13: + 2384 02ac 58353032 .string "X502_OUT_STATUS_FLAG_BUF_IS_EMPTY" + 2384 5F4F5554 + 2384 5F535441 + 2384 5455535F + 2384 464C4147 + 2385 .LASF24: + 2386 02ce 7373796E .string "ssync" + 2386 6300 + 2387 .ident "GCC: (ADI-2014R1-RC2) 4.3.5" + BFIN GAS /tmp/ccAC6MSl.s page 56 + + +DEFINED SYMBOLS + *ABS*:0000000000000000 src/l502_sport_tx.c + /tmp/ccAC6MSl.s:13 .text:0000000000000000 _sport_tx_out_status + /tmp/ccAC6MSl.s:766 .bss:00000000000000a8 _f_put_cnt + /tmp/ccAC6MSl.s:768 .bss:00000000000000ac _f_done_cnt + /tmp/ccAC6MSl.s:758 .bss:0000000000000000 _f_tx_was_empty + /tmp/ccAC6MSl.s:57 .text:0000000000000038 _sport_tx_init + /tmp/ccAC6MSl.s:760 .bss:0000000000000004 _f_descrs + /tmp/ccAC6MSl.s:762 .bss:00000000000000a5 _f_done_descr + /tmp/ccAC6MSl.s:760 .bss:00000000000000a4 _f_put_descr + /tmp/ccAC6MSl.s:770 .bss:00000000000000b0 _f_first + /tmp/ccAC6MSl.s:171 .text:0000000000000168 _sport_tx_req_rdy + /tmp/ccAC6MSl.s:196 .text:000000000000018c _isr_sport_dma_tx + /tmp/ccAC6MSl.s:441 .text:00000000000002f8 _sport_tx_start_req + /tmp/ccAC6MSl.s:602 .text:00000000000003e4 _sport_tx_stop + +UNDEFINED SYMBOLS +_sport_tx_done +_g_stream_out_state diff --git a/build/release/lst/l502_stream.lst b/build/release/lst/l502_stream.lst new file mode 100644 index 0000000..d539961 --- /dev/null +++ b/build/release/lst/l502_stream.lst @@ -0,0 +1,6583 @@ +BFIN GAS /tmp/ccgWA8p2.s page 1 + + + 1 .file "src/l502_stream.c"; + 2 .section .debug_abbrev,"",@progbits + 3 .Ldebug_abbrev0: + 4 .section .debug_info,"",@progbits + 5 .Ldebug_info0: + 6 .section .debug_line,"",@progbits + 7 .Ldebug_line0: + 8 0000 72030000 .text; + 8 02000201 + 8 00000101 + 8 FB0E0D00 + 8 01010101 + 9 .Ltext0: + 10 .align 4 + 11 .global _stream_in_buf_free; + 12 .type _stream_in_buf_free, STT_FUNC; + 13 _stream_in_buf_free: + 14 .LFB25: + 15 .file 1 "src/l502_stream.c" + 1:src/l502_stream.c **** /** + 2:src/l502_stream.c **** @addtogroup streams + 3:src/l502_stream.c **** @{ + 4:src/l502_stream.c **** + 5:src/l502_stream.c **** @file l502_stream.c + 6:src/l502_stream.c **** Файл содержит функции обработки потоков от АЦП/DIN в ПК и от ПК в ЦАП/DOUT. + 7:src/l502_stream.c **** Также в этот файл внесена реализация функций приема по SPORT0, так как они + 8:src/l502_stream.c **** связаны с логикой управления потоков. + 9:src/l502_stream.c **** */ + 10:src/l502_stream.c **** + 11:src/l502_stream.c **** + 12:src/l502_stream.c **** #include + 13:src/l502_stream.c **** #include + 14:src/l502_stream.c **** + 15:src/l502_stream.c **** #include + 16:src/l502_stream.c **** #include + 17:src/l502_stream.c **** #include + 18:src/l502_stream.c **** + 19:src/l502_stream.c **** #include "l502_cdefs.h" + 20:src/l502_stream.c **** #include "l502_cmd.h" + 21:src/l502_stream.c **** #include "l502_fpga.h" + 22:src/l502_stream.c **** #include "l502_defs.h" + 23:src/l502_stream.c **** #include "l502_global.h" + 24:src/l502_stream.c **** #include "l502_hdma.h" + 25:src/l502_stream.c **** #include "l502_sport_tx.h" + 26:src/l502_stream.c **** #include "l502_user_process.h" + 27:src/l502_stream.c **** #include "l502_stream.h" + 28:src/l502_stream.c **** #include "l502_sport_rx.h" + 29:src/l502_stream.c **** + 30:src/l502_stream.c **** + 31:src/l502_stream.c **** /** Размер буфера на прием данных по SPORT0 в 32-битных словах */ + 32:src/l502_stream.c **** #define L502_SPORT_IN_BUF_SIZE (2048*1024) + 33:src/l502_stream.c **** /** Размер буфера для приема данных по HostDMA на вывод в 32-битных словах */ + 34:src/l502_stream.c **** #define L502_HDMA_OUT_BUF_SIZE (1024*1024) + 35:src/l502_stream.c **** + 36:src/l502_stream.c **** /** Шаг прерываний для приема данных по SPORT0 по-умолчанию */ + 37:src/l502_stream.c **** #define L502_DEFAULT_SPORT_RX_BLOCK_SIZE (32*1024) + 38:src/l502_stream.c **** + BFIN GAS /tmp/ccgWA8p2.s page 2 + + + 39:src/l502_stream.c **** + 40:src/l502_stream.c **** + 41:src/l502_stream.c **** + 42:src/l502_stream.c **** t_in_stream_state g_stream_in_state = IN_STREAM_STOP; + 43:src/l502_stream.c **** t_out_stream_state g_stream_out_state = OUT_STREAM_STOP; + 44:src/l502_stream.c **** /** Режим работы - определяет, запущен ли синхронный сбор или тест */ + 45:src/l502_stream.c **** volatile int g_mode = L502_BF_MODE_IDLE; + 46:src/l502_stream.c **** + 47:src/l502_stream.c **** int g_streams = L502_STREAM_ADC; + 48:src/l502_stream.c **** static int f_bf_reg = 0; + 49:src/l502_stream.c **** + 50:src/l502_stream.c **** /* слово, обозначающее, что произошло переполнение */ + 51:src/l502_stream.c **** static const uint32_t f_overflow_wrd = L502_STREAM_IN_MSG_OVERFLOW; + 52:src/l502_stream.c **** + 53:src/l502_stream.c **** + 54:src/l502_stream.c **** + 55:src/l502_stream.c **** /* буфер для приема digin и данных АЦП от SPORT (в неинициализируемой области) */ + 56:src/l502_stream.c **** #include "l502_sdram_noinit.h" + 57:src/l502_stream.c **** static volatile uint32_t f_sport_in_buf[L502_SPORT_IN_BUF_SIZE]; + 58:src/l502_stream.c **** /* позиция в буфере в которую будет записан следующий принятых отсчет */ + 59:src/l502_stream.c **** static volatile uint32_t f_sport_in_put_pos = 0; + 60:src/l502_stream.c **** /* позиция в буфере за последним обработанным отсчетом */ + 61:src/l502_stream.c **** static uint32_t f_sport_in_proc_pos = 0; + 62:src/l502_stream.c **** /* позиция в буфере за последним изятым из буфера отсчетом (позиция первого занятого отсчета) */ + 63:src/l502_stream.c **** static volatile uint32_t f_sport_in_get_pos = 0; + 64:src/l502_stream.c **** /* шаг прерываний на прием по SPORT0 */ + 65:src/l502_stream.c **** static uint32_t f_sport_in_block_size = L502_DEFAULT_SPORT_RX_BLOCK_SIZE; + 66:src/l502_stream.c **** /* реально используемый размер входного буфера на прием */ + 67:src/l502_stream.c **** static uint32_t f_sport_in_buf_size = L502_SPORT_IN_BUF_SIZE; + 68:src/l502_stream.c **** + 69:src/l502_stream.c **** + 70:src/l502_stream.c **** /* буфер для прв кинятых данных по HDMA для вывода на ЦАП и DIGOUT */ + 71:src/l502_stream.c **** #include "l502_sdram_noinit.h" + 72:src/l502_stream.c **** static volatile uint32_t f_hdma_out_buf[L502_HDMA_OUT_BUF_SIZE]; + 73:src/l502_stream.c **** static volatile uint32_t f_hdma_out_put_pos = 0; /* указатель на позицию за последним принятым по H + 74:src/l502_stream.c **** static uint32_t f_hdma_out_start_pos; /* указатель на позицию за последним поставленным на прием сл + 75:src/l502_stream.c **** (с нее будет стартовать следующий запрос) */ + 76:src/l502_stream.c **** static volatile uint32_t f_hdma_out_get_pos = 0; /* указатель на позицию за последним обработанным + 77:src/l502_stream.c **** (с нее будет взято следующее слово для обработки, когда будет + 78:src/l502_stream.c **** static int f_hdma_out_block_size = 0x8000; + 79:src/l502_stream.c **** static int f_hdma_out_proc_pos; + 80:src/l502_stream.c **** + 81:src/l502_stream.c **** static uint32_t f_recv_size = 0; + 82:src/l502_stream.c **** + 83:src/l502_stream.c **** + 84:src/l502_stream.c **** + 85:src/l502_stream.c **** + 86:src/l502_stream.c **** + 87:src/l502_stream.c **** + 88:src/l502_stream.c **** + 89:src/l502_stream.c **** /* функция вызывается при возникновении переполнения буфера на прием + 90:src/l502_stream.c **** по SPORT'у данных АЦП/DIGIN */ + 91:src/l502_stream.c **** static void f_stream_in_set_overflow(void) { + 92:src/l502_stream.c **** /* останавливаем прием данных от АЦП */ + 93:src/l502_stream.c **** sport_rx_stop(); + 94:src/l502_stream.c **** /* устанавливаем флаг, что нужно передать сообщение о + 95:src/l502_stream.c **** переполнении */ + BFIN GAS /tmp/ccgWA8p2.s page 3 + + + 96:src/l502_stream.c **** g_stream_in_state = IN_STREAM_OV_ALERT; + 97:src/l502_stream.c **** } + 98:src/l502_stream.c **** + 99:src/l502_stream.c **** + 100:src/l502_stream.c **** + 101:src/l502_stream.c **** + 102:src/l502_stream.c **** + 103:src/l502_stream.c **** /** @brief Начальная инициализация параметров для синхронных потоков */ + 104:src/l502_stream.c **** void l502_stream_init(void) { + 105:src/l502_stream.c **** /* останавливаем сбор данных, если он был запущен */ + 106:src/l502_stream.c **** fpga_reg_write(L502_REGS_IOHARD_GO_SYNC_IO, 0); + 107:src/l502_stream.c **** fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, 0); + 108:src/l502_stream.c **** /* настройка DMA на передачу по SPORT */ + 109:src/l502_stream.c **** sport_tx_init(); + 110:src/l502_stream.c **** } + 111:src/l502_stream.c **** + 112:src/l502_stream.c **** + 113:src/l502_stream.c **** /** @brief Запуск предзагрузки данных на вывода + 114:src/l502_stream.c **** + 115:src/l502_stream.c **** Данная функция запускает предзагрузку данных потока на вывод. + 116:src/l502_stream.c **** Используется, чтобы загрузить данные в буфер BlackFin до запуска синхронного + 117:src/l502_stream.c **** ввода-вывода. + 118:src/l502_stream.c **** @return Код ошибки */ + 119:src/l502_stream.c **** int32_t stream_out_preload(void) { + 120:src/l502_stream.c **** int32_t err = g_stream_out_state==OUT_STREAM_RUN ? L502_BF_ERR_STREAM_RUNNING : + 121:src/l502_stream.c **** 0; + 122:src/l502_stream.c **** if (!err) { + 123:src/l502_stream.c **** f_hdma_out_get_pos = f_hdma_out_start_pos = + 124:src/l502_stream.c **** f_hdma_out_put_pos = f_hdma_out_proc_pos = 0; + 125:src/l502_stream.c **** + 126:src/l502_stream.c **** /* разрешаем прием по HDMA */ + 127:src/l502_stream.c **** hdma_recv_start(); + 128:src/l502_stream.c **** /* запускаем первый блок на прием (остальные будут + 129:src/l502_stream.c **** добавлены из stream_proc() */ + 130:src/l502_stream.c **** f_hdma_out_start_pos+=f_hdma_out_block_size; + 131:src/l502_stream.c **** hdma_recv_req_start((uint32_t*)f_hdma_out_buf, f_hdma_out_block_size); + 132:src/l502_stream.c **** + 133:src/l502_stream.c **** g_stream_out_state = OUT_STREAM_PRELOAD; + 134:src/l502_stream.c **** } + 135:src/l502_stream.c **** return err; + 136:src/l502_stream.c **** } + 137:src/l502_stream.c **** + 138:src/l502_stream.c **** + 139:src/l502_stream.c **** static void f_set_streams(uint32_t streams) { + 140:src/l502_stream.c **** uint32_t wrd_en = 0; + 141:src/l502_stream.c **** + 142:src/l502_stream.c **** /* если уже запущен потоковый режим и разрешается один из + 143:src/l502_stream.c **** потоков на ввод, то инициализируем прием по SPORT и передачу по hdma */ + 144:src/l502_stream.c **** if (g_mode == L502_BF_MODE_STREAM) { + 145:src/l502_stream.c **** if ((streams & L502_STREAM_ALL_IN) && !(g_streams & L502_STREAM_ALL_IN)) { + 146:src/l502_stream.c **** sport_rx_start(); + 147:src/l502_stream.c **** } + 148:src/l502_stream.c **** + 149:src/l502_stream.c **** if (!(streams & L502_STREAM_ALL_IN) && (g_streams & L502_STREAM_ALL_IN)) { + 150:src/l502_stream.c **** sport_rx_stop(); + 151:src/l502_stream.c **** } + 152:src/l502_stream.c **** } + BFIN GAS /tmp/ccgWA8p2.s page 4 + + + 153:src/l502_stream.c **** + 154:src/l502_stream.c **** /* изменяем разрешенные потоки в регистре FPGA */ + 155:src/l502_stream.c **** if (streams & L502_STREAM_ADC) + 156:src/l502_stream.c **** wrd_en |= 0x1; + 157:src/l502_stream.c **** if (streams & L502_STREAM_DIN) + 158:src/l502_stream.c **** wrd_en |= 0x2; + 159:src/l502_stream.c **** fpga_reg_write(L502_REGS_IOARITH_IN_STREAM_ENABLE, wrd_en); + 160:src/l502_stream.c **** + 161:src/l502_stream.c **** + 162:src/l502_stream.c **** /** @todo: разрешение на лету выходных потоков */ + 163:src/l502_stream.c **** + 164:src/l502_stream.c **** g_streams = streams; + 165:src/l502_stream.c **** } + 166:src/l502_stream.c **** + 167:src/l502_stream.c **** /** @brief Разрешение указанных синхронных потоков + 168:src/l502_stream.c **** @param[in] streams Битовая маска из #t_l502_streams, указывающая какие потоки + 169:src/l502_stream.c **** должны быть разрешены (в дополнения к уже разрешенным) + 170:src/l502_stream.c **** @return Код ошибки */ + 171:src/l502_stream.c **** int32_t stream_enable(uint32_t streams) { + 172:src/l502_stream.c **** f_set_streams(g_streams | streams); + 173:src/l502_stream.c **** return 0; + 174:src/l502_stream.c **** } + 175:src/l502_stream.c **** + 176:src/l502_stream.c **** + 177:src/l502_stream.c **** /** @brief Запрещение указанных синхронных потоков + 178:src/l502_stream.c **** @param[in] streams Битовая маска из #t_l502_streams, указывающая какие потоки + 179:src/l502_stream.c **** должны быть запрещены + 180:src/l502_stream.c **** @return Код ошибки */ + 181:src/l502_stream.c **** int32_t stream_disable(uint32_t streams) { + 182:src/l502_stream.c **** f_set_streams(g_streams & ~streams); + 183:src/l502_stream.c **** return 0; + 184:src/l502_stream.c **** } + 185:src/l502_stream.c **** + 186:src/l502_stream.c **** /***************************************************************************//** + 187:src/l502_stream.c **** @brief Запуск синхронного ввода-вывода + 188:src/l502_stream.c **** + 189:src/l502_stream.c **** Функция запускает синхронный ввод-вывод платы. + 190:src/l502_stream.c **** При этом начинается передача по всем ранее разрешенным потокам с помощью + 191:src/l502_stream.c **** stream_enable(). + 192:src/l502_stream.c **** После вызова этой функции изменять настройки модуля уже нельязя, однако + 193:src/l502_stream.c **** можно дополнительно разрешать или запрещать потоки через stream_enable() + 194:src/l502_stream.c **** или stream_disable(). + 195:src/l502_stream.c **** + 196:src/l502_stream.c **** @return Код ошибки. + 197:src/l502_stream.c **** ***************************************************************************/ + 198:src/l502_stream.c **** int32_t streams_start(void) { + 199:src/l502_stream.c **** int32_t err = g_mode != L502_BF_MODE_IDLE ? L502_BF_ERR_STREAM_RUNNING : 0; + 200:src/l502_stream.c **** if (!err) { + 201:src/l502_stream.c **** /* прием по SPORT инициализируется всесте с началом запуска + 202:src/l502_stream.c **** синхронного сбора */ + 203:src/l502_stream.c **** f_sport_in_put_pos = f_sport_in_get_pos = f_sport_in_proc_pos = 0; + 204:src/l502_stream.c **** + 205:src/l502_stream.c **** + 206:src/l502_stream.c **** if (g_streams & L502_STREAM_ALL_IN) { + 207:src/l502_stream.c **** sport_rx_start(); + 208:src/l502_stream.c **** g_stream_in_state = IN_STREAM_RUN; + 209:src/l502_stream.c **** } + BFIN GAS /tmp/ccgWA8p2.s page 5 + + + 210:src/l502_stream.c **** + 211:src/l502_stream.c **** hdma_send_start(); + 212:src/l502_stream.c **** + 213:src/l502_stream.c **** f_set_streams(g_streams); + 214:src/l502_stream.c **** + 215:src/l502_stream.c **** if (g_streams & L502_STREAM_ALL_OUT) { + 216:src/l502_stream.c **** /* разрешаем ПЛИС генерацию TFS по SPORT */ + 217:src/l502_stream.c **** f_bf_reg |= L502_REGBIT_IOHARD_OUT_TFS_EN_Msk; + 218:src/l502_stream.c **** fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, f_bf_reg); + 219:src/l502_stream.c **** + 220:src/l502_stream.c **** + 221:src/l502_stream.c **** /* если не было предзагрузки до запуска, + 222:src/l502_stream.c **** то запускаем прием сейчас */ + 223:src/l502_stream.c **** if ((g_stream_out_state == OUT_STREAM_STOP) || + 224:src/l502_stream.c **** (g_stream_out_state == OUT_STREAM_ERR)) { + 225:src/l502_stream.c **** stream_out_preload(); + 226:src/l502_stream.c **** } + 227:src/l502_stream.c **** + 228:src/l502_stream.c **** if (g_stream_out_state == OUT_STREAM_PRELOAD) { + 229:src/l502_stream.c **** /* выполняем предзагрузку данных */ + 230:src/l502_stream.c **** fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, f_bf_reg | 1); + 231:src/l502_stream.c **** g_stream_out_state = OUT_STREAM_RUN; + 232:src/l502_stream.c **** } + 233:src/l502_stream.c **** } + 234:src/l502_stream.c **** + 235:src/l502_stream.c **** + 236:src/l502_stream.c **** + 237:src/l502_stream.c **** /* Так как конвейер автомата управления входной коммутации АЦП состоит + 238:src/l502_stream.c **** из 2-х стадий, для корректного синхронного старта необходимо в + 239:src/l502_stream.c **** ыполнить два раза предзагрузку. В противном случае, + 240:src/l502_stream.c **** время момента первого отсчета может не совпадать с моментом + 241:src/l502_stream.c **** запуска синхронизации + 242:src/l502_stream.c **** */ + 243:src/l502_stream.c **** fpga_reg_write(L502_REGS_IOHARD_PRELOAD_ADC, 1); + 244:src/l502_stream.c **** fpga_reg_write(L502_REGS_IOHARD_PRELOAD_ADC, 1); + 245:src/l502_stream.c **** + 246:src/l502_stream.c **** + 247:src/l502_stream.c **** fpga_reg_write(L502_REGS_IOHARD_GO_SYNC_IO, 1); + 248:src/l502_stream.c **** + 249:src/l502_stream.c **** g_mode = L502_BF_MODE_STREAM; + 250:src/l502_stream.c **** } + 251:src/l502_stream.c **** return err; + 252:src/l502_stream.c **** } + 253:src/l502_stream.c **** + 254:src/l502_stream.c **** + 255:src/l502_stream.c **** + 256:src/l502_stream.c **** + 257:src/l502_stream.c **** /** @brief Останов синхронных потоков ввода-вывода. + 258:src/l502_stream.c **** + 259:src/l502_stream.c **** По этой функции останавливаются все синхронные потоки. + 260:src/l502_stream.c **** Запрещается передача потоков по SPORT и по HostDMA + 261:src/l502_stream.c **** + 262:src/l502_stream.c **** @return Код ошибки */ + 263:src/l502_stream.c **** int32_t streams_stop(void) { + 264:src/l502_stream.c **** int32_t err = g_mode != L502_BF_MODE_STREAM ? L502_BF_ERR_STREAM_STOPPED : 0; + 265:src/l502_stream.c **** if (!err) { + 266:src/l502_stream.c **** hdma_send_stop(); + BFIN GAS /tmp/ccgWA8p2.s page 6 + + + 267:src/l502_stream.c **** hdma_recv_stop(); + 268:src/l502_stream.c **** fpga_reg_write(L502_REGS_IOHARD_GO_SYNC_IO, 0); + 269:src/l502_stream.c **** + 270:src/l502_stream.c **** /* запрещаем прием и передачу по SPORT'у */ + 271:src/l502_stream.c **** sport_rx_stop(); + 272:src/l502_stream.c **** sport_tx_stop(); + 273:src/l502_stream.c **** + 274:src/l502_stream.c **** /* запрещаем генерацию TFS и RFS */ + 275:src/l502_stream.c **** f_bf_reg = 0; + 276:src/l502_stream.c **** fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, f_bf_reg); + 277:src/l502_stream.c **** + 278:src/l502_stream.c **** + 279:src/l502_stream.c **** g_mode = L502_BF_MODE_IDLE; + 280:src/l502_stream.c **** g_stream_in_state = IN_STREAM_STOP; + 281:src/l502_stream.c **** g_stream_out_state = OUT_STREAM_STOP; + 282:src/l502_stream.c **** } + 283:src/l502_stream.c **** return err; + 284:src/l502_stream.c **** } + 285:src/l502_stream.c **** + 286:src/l502_stream.c **** + 287:src/l502_stream.c **** + 288:src/l502_stream.c **** /** @brief Фоновая обработка потокой ввода-вывода + 289:src/l502_stream.c **** + 290:src/l502_stream.c **** Функция переодически вызывается из основного цикла программы. + 291:src/l502_stream.c **** При рабочем режиме, проверяются, есть + 292:src/l502_stream.c **** ли необработанные данные пришедшие от АЦП/DIGIN и/или пришедшие от ПК данные + 293:src/l502_stream.c **** на ЦАП или DOUT. При их наличии вызывается соответствующая функция пользовательской + 294:src/l502_stream.c **** обработки данных. + 295:src/l502_stream.c **** Также, если было переполнение и все данные до переполнения были обработаны, + 296:src/l502_stream.c **** то в ПК посылается слово о том, что в этом месте произошло переполнение */ + 297:src/l502_stream.c **** void stream_proc(void) { + 298:src/l502_stream.c **** /* если запущен поток ввода */ + 299:src/l502_stream.c **** if ((g_stream_in_state != IN_STREAM_STOP) && (g_stream_in_state != IN_STREAM_ERR)) { + 300:src/l502_stream.c **** uint32_t sport_rdy_size; + 301:src/l502_stream.c **** uint32_t put_pos = f_sport_in_put_pos; + 302:src/l502_stream.c **** + 303:src/l502_stream.c **** /* смотрим, сколько принято необработанных данных по sport'у */ + 304:src/l502_stream.c **** sport_rdy_size = put_pos >= f_sport_in_proc_pos ? + 305:src/l502_stream.c **** put_pos - f_sport_in_proc_pos : f_sport_in_buf_size - f_sport_in_proc_pos; + 306:src/l502_stream.c **** /* если есть необработанные данные - вызываем функцию для обработки */ + 307:src/l502_stream.c **** if (sport_rdy_size) { + 308:src/l502_stream.c **** uint32_t processed = usr_in_proc_data( + 309:src/l502_stream.c **** (uint32_t*)&f_sport_in_buf[f_sport_in_proc_pos], + 310:src/l502_stream.c **** sport_rdy_size); + 311:src/l502_stream.c **** /* обновляем счетчик обработканных данных */ + 312:src/l502_stream.c **** f_sport_in_proc_pos += processed; + 313:src/l502_stream.c **** if (f_sport_in_proc_pos==f_sport_in_buf_size) + 314:src/l502_stream.c **** f_sport_in_proc_pos = 0; + 315:src/l502_stream.c **** } + 316:src/l502_stream.c **** + 317:src/l502_stream.c **** /* если было переполнение - нужно передать слово о переполнениии. + 318:src/l502_stream.c **** передаем его после того, как передадим все слова до переполнения */ + 319:src/l502_stream.c **** if ((g_stream_in_state == IN_STREAM_OV_ALERT) && !sport_rdy_size && hdma_send_req_rdy()) { + 320:src/l502_stream.c **** hdma_send_req_start(&f_overflow_wrd, 1, 1); + 321:src/l502_stream.c **** g_stream_in_state = IN_STREAM_ERR; + 322:src/l502_stream.c **** } + 323:src/l502_stream.c **** } + BFIN GAS /tmp/ccgWA8p2.s page 7 + + + 324:src/l502_stream.c **** + 325:src/l502_stream.c **** /* если есть поток на вывод */ + 326:src/l502_stream.c **** if ((g_stream_out_state == OUT_STREAM_PRELOAD) || + 327:src/l502_stream.c **** (g_stream_out_state == OUT_STREAM_RUN)) { + 328:src/l502_stream.c **** + 329:src/l502_stream.c **** uint32_t hdma_rdy_size; + 330:src/l502_stream.c **** uint32_t put_pos = f_hdma_out_put_pos; + 331:src/l502_stream.c **** + 332:src/l502_stream.c **** /* проверяем, сколько есть необработанных данных, принятых по HDMA */ + 333:src/l502_stream.c **** hdma_rdy_size = put_pos >= f_hdma_out_proc_pos ? + 334:src/l502_stream.c **** put_pos - f_hdma_out_proc_pos : L502_HDMA_OUT_BUF_SIZE - f_hdma_out_proc_pos; + 335:src/l502_stream.c **** + 336:src/l502_stream.c **** + 337:src/l502_stream.c **** /* если такие есть -> пробуем обработать */ + 338:src/l502_stream.c **** if (hdma_rdy_size != 0) { + 339:src/l502_stream.c **** uint32_t processed = usr_out_proc_data( + 340:src/l502_stream.c **** (uint32_t*)&f_hdma_out_buf[f_hdma_out_proc_pos], + 341:src/l502_stream.c **** hdma_rdy_size); + 342:src/l502_stream.c **** + 343:src/l502_stream.c **** /* обновляем счетчик обработанных данных */ + 344:src/l502_stream.c **** f_hdma_out_proc_pos += processed; + 345:src/l502_stream.c **** if (f_hdma_out_proc_pos==L502_HDMA_OUT_BUF_SIZE) + 346:src/l502_stream.c **** f_hdma_out_proc_pos = 0; + 347:src/l502_stream.c **** } + 348:src/l502_stream.c **** + 349:src/l502_stream.c **** + 350:src/l502_stream.c **** /* если есть свободное место в буфере на прием и есть свободные + 351:src/l502_stream.c **** дескрипторы => ставим новый запрос на прием даннх */ + 352:src/l502_stream.c **** if (hdma_recv_req_rdy()) { + 353:src/l502_stream.c **** uint32_t get_pos = f_hdma_out_get_pos; + 354:src/l502_stream.c **** + 355:src/l502_stream.c **** hdma_rdy_size = f_hdma_out_start_pos >= get_pos ? + 356:src/l502_stream.c **** L502_HDMA_OUT_BUF_SIZE - f_hdma_out_start_pos + get_pos : + 357:src/l502_stream.c **** get_pos - f_hdma_out_start_pos; + 358:src/l502_stream.c **** if (hdma_rdy_size > f_hdma_out_block_size) { + 359:src/l502_stream.c **** hdma_recv_req_start((uint32_t*)&f_hdma_out_buf[f_hdma_out_start_pos], + 360:src/l502_stream.c **** f_hdma_out_block_size); + 361:src/l502_stream.c **** + 362:src/l502_stream.c **** f_hdma_out_start_pos+=f_hdma_out_block_size; + 363:src/l502_stream.c **** if (f_hdma_out_start_pos==L502_HDMA_OUT_BUF_SIZE) + 364:src/l502_stream.c **** f_hdma_out_start_pos = 0; + 365:src/l502_stream.c **** } + 366:src/l502_stream.c **** } + 367:src/l502_stream.c **** } + 368:src/l502_stream.c **** } + 369:src/l502_stream.c **** + 370:src/l502_stream.c **** /** @brief Освобождение size слов из буфера приема по SPORT0 + 371:src/l502_stream.c **** + 372:src/l502_stream.c **** Функция помечает, что size слов из начала той части буфера SPORT0, в которую + 373:src/l502_stream.c **** были приняты данные, но не освобождены, как освобожденные. Т.е. в эту область + 374:src/l502_stream.c **** снова можно будет принимать данные со SPORT0. + 375:src/l502_stream.c **** При этом надо всегда следить, чтобы количество освобожденных данных не + 376:src/l502_stream.c **** привышало количество обработанных! + 377:src/l502_stream.c **** + 378:src/l502_stream.c **** @param[in] size Размер освобожденных данных в 32-битных словах */ + 379:src/l502_stream.c **** void stream_in_buf_free(uint32_t size) { + 16 .loc 1 379 0 + BFIN GAS /tmp/ccgWA8p2.s page 8 + + + 17 .LVL0: + 380:src/l502_stream.c **** /* обновляем позицию переданного слова */ + 381:src/l502_stream.c **** uint32_t get_pos = f_sport_in_get_pos; + 18 .loc 1 381 0 + 19 0000 49E10000 P1.H = _f_sport_in_get_pos; + 20 0004 09E11000 P1.L = _f_sport_in_get_pos; + 21 0008 0991 R1 = [P1]; + 22 .LVL1: + 382:src/l502_stream.c **** get_pos += size; + 383:src/l502_stream.c **** if (get_pos >= f_sport_in_buf_size) + 23 .loc 1 383 0 + 24 000a 4AE10000 P2.H = _f_sport_in_buf_size; + 382:src/l502_stream.c **** get_pos += size; + 25 .loc 1 382 0 + 26 000e 0850 R0 = R0 + R1; + 27 .LVL2: + 28 .loc 1 383 0 + 29 0010 0AE10800 P2.L = _f_sport_in_buf_size; + 30 0014 1191 R1 = [P2]; + 31 0016 8809 cc =R0= L502_HDMA_OUT_BUF_SIZE) + 61 .loc 1 400 0 + 62 0034 F863 R0 = -1 (X); + 63 .LVL6: + 64 0036 40E10F00 R0.H = 15; + 397:src/l502_stream.c **** void stream_out_buf_free(uint32_t size) { + 65 .loc 1 397 0 + 66 003a 00E80000 LINK 0; + 67 .LCFI1: + 68 .loc 1 400 0 + 69 003e 010A cc =R1<=R0 (iu); + 70 0040 0418 if cc jump .L5; + 401:src/l502_stream.c **** get_pos -= L502_HDMA_OUT_BUF_SIZE; + 71 .loc 1 401 0 + 72 0042 F863 R0 = -1 (X); + 73 0044 A04F R0 <<= 20; + 74 0046 4150 R1 = R1 + R0; + 75 .L5: + 402:src/l502_stream.c **** f_hdma_out_get_pos = get_pos; + 76 .loc 1 402 0 + 77 0048 1193 [P2] = R1; + 403:src/l502_stream.c **** } + 78 .loc 1 403 0 + 79 004a 01E80000 UNLINK; + 80 004e 1000 rts; + 81 .LFE26: + 82 .size _stream_out_buf_free, .-_stream_out_buf_free + 83 .align 4 + 84 .global _hdma_recv_done; + 85 .type _hdma_recv_done, STT_FUNC; + 86 _hdma_recv_done: + 87 .LFB27: + 404:src/l502_stream.c **** + 405:src/l502_stream.c **** /** @brief Обработка завершения приема по HostDMA + 406:src/l502_stream.c **** + 407:src/l502_stream.c **** Функция вызывается из обработчика прерывания, когда завершился прием + 408:src/l502_stream.c **** блока данных по HDMA в ПК, поставленного до этого на передачу с + 409:src/l502_stream.c **** помощью hdma_recv_req_start(). + 410:src/l502_stream.c **** Функция просто обновляет счетчик принятых данных (а обработка будет уже + 411:src/l502_stream.c **** из фоновой функции stream_proc(). + 412:src/l502_stream.c **** + 413:src/l502_stream.c **** @param[in] addr Адрес слова, сразу за последним принятым словом. + 414:src/l502_stream.c **** @param[in] size Количество принятых 32-битных слов */ + 415:src/l502_stream.c **** void hdma_recv_done(uint32_t* addr, uint32_t size) { + 88 .loc 1 415 0 + 89 .LVL7: + 416:src/l502_stream.c **** /* обновляем позицию принятого слова */ + 417:src/l502_stream.c **** uint32_t put_pos = f_hdma_out_put_pos; + BFIN GAS /tmp/ccgWA8p2.s page 10 + + + 90 .loc 1 417 0 + 91 0050 4AE10000 P2.H = _f_hdma_out_put_pos; + 92 0054 0AE12000 P2.L = _f_hdma_out_put_pos; + 93 0058 1091 R0 = [P2]; + 94 .LVL8: + 418:src/l502_stream.c **** put_pos += size; + 95 .loc 1 418 0 + 96 005a 4150 R1 = R1 + R0; + 97 .LVL9: + 419:src/l502_stream.c **** if (put_pos == L502_HDMA_OUT_BUF_SIZE) + 98 .loc 1 419 0 + 99 005c 0860 R0 = 1 (X); + 100 005e A04F R0 <<= 20; + 101 0060 0108 cc =R1==R0; + 102 0062 0060 R0 = 0 (X); + 415:src/l502_stream.c **** void hdma_recv_done(uint32_t* addr, uint32_t size) { + 103 .loc 1 415 0 + 104 0064 00E80000 LINK 0; + 105 .LCFI2: + 106 .loc 1 419 0 + 107 0068 0807 if cc R1 = R0; + 420:src/l502_stream.c **** put_pos = 0; + 421:src/l502_stream.c **** f_hdma_out_put_pos = put_pos; + 108 .loc 1 421 0 + 109 006a 1193 [P2] = R1; + 422:src/l502_stream.c **** } + 110 .loc 1 422 0 + 111 006c 01E80000 UNLINK; + 112 0070 1000 rts; + 113 .LFE27: + 114 .size _hdma_recv_done, .-_hdma_recv_done + 115 0072 0000 .align 4 + 116 .global _sport_in_buffer_size; + 117 .type _sport_in_buffer_size, STT_FUNC; + 118 _sport_in_buffer_size: + 119 .LFB28: + 423:src/l502_stream.c **** + 424:src/l502_stream.c **** + 425:src/l502_stream.c **** + 426:src/l502_stream.c **** + 427:src/l502_stream.c **** + 428:src/l502_stream.c **** /** @brief Размер буфера на прием. + 429:src/l502_stream.c **** + 430:src/l502_stream.c **** Функция возвращает размер буфера на прием по SPORT0 + 431:src/l502_stream.c **** @return размер буфера на прием в 32-битных словах */ + 432:src/l502_stream.c **** extern uint32_t sport_in_buffer_size(void) { + 120 .loc 1 432 0 + 121 0074 00E80000 LINK 0; + 122 .LCFI3: + 433:src/l502_stream.c **** return L502_SPORT_IN_BUF_SIZE; + 434:src/l502_stream.c **** } + 123 .loc 1 434 0 + 124 0078 0860 R0 = 1 (X); + 125 007a A84F R0 <<= 21; + 126 007c 01E80000 UNLINK; + 127 0080 1000 rts; + 128 .LFE28: + BFIN GAS /tmp/ccgWA8p2.s page 11 + + + 129 .size _sport_in_buffer_size, .-_sport_in_buffer_size + 130 .global ___udivsi3; + 131 0082 0000 .align 4 + 132 .global _sport_in_set_step_size; + 133 .type _sport_in_set_step_size, STT_FUNC; + 134 _sport_in_set_step_size: + 135 .LFB29: + 435:src/l502_stream.c **** + 436:src/l502_stream.c **** /** @} */ + 437:src/l502_stream.c **** + 438:src/l502_stream.c **** + 439:src/l502_stream.c **** /** @addtogroup sport_rx + 440:src/l502_stream.c **** @{ */ + 441:src/l502_stream.c **** + 442:src/l502_stream.c **** /** @brief Установка шага прерывания для према по SPORT0 + 443:src/l502_stream.c **** + 444:src/l502_stream.c **** Функция устанавливает шаг прерываний для DMA, использующегося для + 445:src/l502_stream.c **** приема данных синхронного ввода. + 446:src/l502_stream.c **** При этом размер шага должен быть как имнимум в 4 раза меньше размера + 447:src/l502_stream.c **** буфера #L502_SPORT_IN_BUF_SIZE. + 448:src/l502_stream.c **** После установки шага определяется реально используемый размер буфера, + 449:src/l502_stream.c **** как наибольшее число кратное шагу и не превышающее #L502_SPORT_IN_BUF_SIZE. + 450:src/l502_stream.c **** + 451:src/l502_stream.c **** @param[in] size Размер шага прерывания в 32-битных словах + 452:src/l502_stream.c **** @return Код ошибки */ + 453:src/l502_stream.c **** int32_t sport_in_set_step_size(uint32_t size) { + 136 .loc 1 453 0 + 137 .LVL10: + 138 0084 7805 [--sp] = ( r7:7 ); + 139 + 140 .LCFI4: + 141 0086 3830 R7 = R0; + 454:src/l502_stream.c **** int mul; + 455:src/l502_stream.c **** if ((size >= L502_SPORT_IN_BUF_SIZE/4) || (size > 0x8000)) + 142 .loc 1 455 0 + 143 0088 80E10080 R0 = 32768 (Z); + 144 .LVL11: + 453:src/l502_stream.c **** int32_t sport_in_set_step_size(uint32_t size) { + 145 .loc 1 453 0 + 146 008c 00E80300 LINK 12; + 147 .LCFI5: + 148 .loc 1 455 0 + 149 0090 070A cc =R7<=R0 (iu); + 150 0092 1A10 if !cc jump .L17; + 456:src/l502_stream.c **** return L502_BF_ERR_INVALID_CMD_PARAMS; + 457:src/l502_stream.c **** mul = L502_SPORT_IN_BUF_SIZE/size; + 151 .loc 1 457 0 + 152 0094 0860 R0 = 1 (X); + 153 0096 0F30 R1 = R7; + 154 0098 A84F R0 <<= 21; + 155 009a FFE3B3FF call ___udivsi3; + 458:src/l502_stream.c **** /* не может быть боьше 0x8000 шагов, так как регистр + 459:src/l502_stream.c **** YCNT 16-разрядный (+ еще умножаем на 2) */ + 460:src/l502_stream.c **** if (mul > 0x8000) + 461:src/l502_stream.c **** mul = 0x8000; + 462:src/l502_stream.c **** f_sport_in_buf_size = size*mul; + 156 .loc 1 462 0 + BFIN GAS /tmp/ccgWA8p2.s page 12 + + + 157 009e 81E10080 R1 = 32768 (Z); + 158 00a2 07C40140 R0 = min(R0,R1); + 159 00a6 F840 R0 *= R7; + 160 00a8 4AE10000 P2.H = _f_sport_in_buf_size; + 161 00ac 0AE10800 P2.L = _f_sport_in_buf_size; + 162 00b0 1093 [P2] = R0; + 463:src/l502_stream.c **** f_sport_in_block_size = size; + 163 .loc 1 463 0 + 164 00b2 4AE10000 P2.H = _f_sport_in_block_size; + 165 00b6 0AE10400 P2.L = _f_sport_in_block_size; + 166 00ba 1793 [P2] = R7; + 464:src/l502_stream.c **** return 0; + 465:src/l502_stream.c **** } + 167 .loc 1 465 0 + 168 00bc 01E80000 UNLINK; + 463:src/l502_stream.c **** f_sport_in_block_size = size; + 169 .loc 1 463 0 + 170 00c0 0060 R0 = 0 (X); + 171 .loc 1 465 0 + 172 00c2 3805 ( r7:7 ) = [sp++]; + 173 + 174 .LCFI6: + 175 .LVL12: + 176 00c4 1000 rts; + 177 .LVL13: + 178 .L17: + 179 00c6 01E80000 UNLINK; + 455:src/l502_stream.c **** if ((size >= L502_SPORT_IN_BUF_SIZE/4) || (size > 0x8000)) + 180 .loc 1 455 0 + 181 00ca 20E1FEFD R0 = -514 (X); + 182 .loc 1 465 0 + 183 00ce 3805 ( r7:7 ) = [sp++]; + 184 + 185 .LCFI7: + 186 .LVL14: + 187 00d0 1000 rts; + 188 .LFE29: + 189 .size _sport_in_set_step_size, .-_sport_in_set_step_size + 190 00d2 0000 .align 4 + 191 .global _sport_rx_stop; + 192 .type _sport_rx_stop, STT_FUNC; + 193 _sport_rx_stop: + 194 .LFB31: + 466:src/l502_stream.c **** + 467:src/l502_stream.c **** + 468:src/l502_stream.c **** /** @brief Запуск сбора данных по SPORT0 + 469:src/l502_stream.c **** + 470:src/l502_stream.c **** Функция настраивает DMA3 на режим автобуфера с 2D, размер шага выбирается + 471:src/l502_stream.c **** равным f_sport_in_block_size. После чего разрешается канал DMA и + 472:src/l502_stream.c **** прием по SPORT0 */ + 473:src/l502_stream.c **** void sport_rx_start(void) { + 474:src/l502_stream.c **** static volatile int dummy; + 475:src/l502_stream.c **** /* запрещаем DMA */ + 476:src/l502_stream.c **** *pDMA3_CONFIG = 0; + 477:src/l502_stream.c **** ssync(); + 478:src/l502_stream.c **** /* вычитываем все данные из буфера, если они были */ + 479:src/l502_stream.c **** while (*pSPORT0_STAT & RXNE) { + BFIN GAS /tmp/ccgWA8p2.s page 13 + + + 480:src/l502_stream.c **** dummy = *pSPORT0_RX16; + 481:src/l502_stream.c **** ssync(); + 482:src/l502_stream.c **** } + 483:src/l502_stream.c **** + 484:src/l502_stream.c **** /* настраиваем DMA */ + 485:src/l502_stream.c **** *pDMA3_START_ADDR = (void*)f_sport_in_buf; + 486:src/l502_stream.c **** *pDMA3_X_COUNT = 2*f_sport_in_block_size; /* так как SPORT настроен на 16 бит (хоть и 2 канала) + 487:src/l502_stream.c **** а размер в 32 битных словах => умножаем на 2) */ + 488:src/l502_stream.c **** *pDMA3_X_MODIFY = 2; + 489:src/l502_stream.c **** *pDMA3_Y_COUNT = f_sport_in_buf_size/f_sport_in_block_size;; + 490:src/l502_stream.c **** *pDMA3_Y_MODIFY = 2; + 491:src/l502_stream.c **** *pDMA3_CURR_ADDR = (void*)f_sport_in_buf; + 492:src/l502_stream.c **** *pDMA3_CONFIG = FLOW_AUTO | DI_EN | DI_SEL | SYNC | DMA2D | WNR | WDSIZE_16; + 493:src/l502_stream.c **** + 494:src/l502_stream.c **** + 495:src/l502_stream.c **** ssync(); + 496:src/l502_stream.c **** /* разрешаем DMA */ + 497:src/l502_stream.c **** *pSIC_IMASK0 |= IRQ_DMA3; + 498:src/l502_stream.c **** *pDMA3_CONFIG |= DMAEN; + 499:src/l502_stream.c **** /* разрешаем прием по SPORT'у */ + 500:src/l502_stream.c **** *pSPORT0_RCR1 |= RSPEN; + 501:src/l502_stream.c **** + 502:src/l502_stream.c **** /* разрешаем генерацию RFS на SPORT0 */ + 503:src/l502_stream.c **** f_bf_reg |= L502_REGBIT_IOHARD_OUT_RFS_EN_Msk; + 504:src/l502_stream.c **** fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, f_bf_reg); + 505:src/l502_stream.c **** } + 506:src/l502_stream.c **** + 507:src/l502_stream.c **** + 508:src/l502_stream.c **** + 509:src/l502_stream.c **** /** @brief Останов сбора данных по SPORT0 + 510:src/l502_stream.c **** + 511:src/l502_stream.c **** Функция запрещает прием по SPORT0 и останавливает DMA */ + 512:src/l502_stream.c **** void sport_rx_stop(void) { + 195 .loc 1 512 0 + 513:src/l502_stream.c **** /* останавливаем генерацию RFS */ + 514:src/l502_stream.c **** f_bf_reg &= ~L502_REGBIT_IOHARD_OUT_RFS_EN_Msk; + 196 .loc 1 514 0 + 197 00d4 4AE10000 P2.H = _f_bf_reg; + 512:src/l502_stream.c **** void sport_rx_stop(void) { + 198 .loc 1 512 0 + 199 00d8 00E80300 LINK 12; + 200 .LCFI8: + 201 .loc 1 514 0 + 202 00dc 0AE11800 P2.L = _f_bf_reg; + 203 00e0 1191 R1 = [P2]; + 204 00e2 194C BITCLR (R1,3); + 205 00e4 1193 [P2] = R1; + 515:src/l502_stream.c **** fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, f_bf_reg); + 206 .loc 1 515 0 + 207 00e6 20E11803 R0 = 792 (X); + 208 00ea FFE38BFF call _fpga_reg_write; + 209 .LBB23: + 210 .LBB24: + 211 .file 2 "/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib + 1:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** /* + 2:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** * Copyright (C) 2012 Analog Devices Inc. All rights reserved. + 3:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** * + BFIN GAS /tmp/ccgWA8p2.s page 14 + + + 4:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** * Licensed under the Clear BSD license. + 5:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** * Please see COPYING.LIBGLOSS for details. + 6:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** */ + 7:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 8:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #ifdef _MISRA_RULES + 9:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(push) + 10:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_2_4) + 11:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_5_3) + 12:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_6_3) + 13:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_8_1) + 14:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_8_8) + 15:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_8_5) + 16:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_19_7) + 17:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_19_15) + 18:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma diag(suppress:misra_rule_20_2) + 19:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif + 20:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 21:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #ifdef __cplusplus + 22:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** extern "C" { + 23:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif + 24:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 25:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if !defined(__NO_BUILTIN) + 26:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 27:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** /* VDSP -> GCC glue */ + 28:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_NOP() __asm__ __volatile__ ("NOP;") + 29:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_cli() ({ unsigned int __rval; __asm__ __volatile__ ("cli %0;" : "=r"(_ + 30:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_sti(x) __asm__ __volatile__ ("sti %0;" : : "r"(x)) + 31:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_idle() __asm__ __volatile__ ("IDLE;") + 32:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_raise(x) __asm__ __volatile__ ("raise %0;" : : "n"(x)) + 33:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_excpt(x) __asm__ __volatile__ ("excpt %0;" : : "n"(x)) + 34:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_prefetch(x) __asm__ __volatile__ ("PREFETCH[%0];" : : "p"(x)) + 35:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_prefetchmodup(x) ({ void *__p = &(x); __asm__ __volatile__ ("PREFETCH[%0++];" : " + 36:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_flushinv(x) __asm__ __volatile__ ("FLUSHINV[%0];" : : "p"(x)) + 37:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_flushinvmodup(x) ({ void *__p = &(x); __asm__ __volatile__ ("FLUSHINV[%0++];" : " + 38:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_flush(x) __asm__ __volatile__ ("FLUSH[%0];" : : "p"(x)) + 39:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_flushmodup(x) ({ void *__p = &(x); __asm__ __volatile__ ("FLUSH[%0++];" : "+p" + 40:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_iflush(x) __asm__ __volatile__ ("IFLUSH[%0];" : : "p"(x)) + 41:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_iflushmodup(x) ({ void *__p = &(x); __asm__ __volatile__ ("IFLUSH[%0++];" : "+p + 42:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_csync() __builtin_bfin_csync() + 43:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __builtin_ssync() __builtin_bfin_ssync() + 44:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 45:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __NO_BUILTIN */ + 46:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 47:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 48:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if !defined(__NO_BUILTIN) && !defined(__NO_SHORTNAMES) + 49:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 50:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_NOP) && \ + 51:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_NOP)) || \ + 52:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_NOP)))) + 53:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 54:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_NOP + 55:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 56:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** /* Insert a normal 16 bit NOP, which is treated as volatile. + 57:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** */ + 58:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 59:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 60:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + BFIN GAS /tmp/ccgWA8p2.s page 15 + + + 61:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void NOP(void) { + 62:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_NOP(); + 63:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 64:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 65:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_NOP */ + 66:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 67:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_CLI) && \ + 68:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_CLI)) || \ + 69:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_CLI)))) + 70:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 71:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_CLI + 72:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 73:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 74:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 75:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static unsigned int cli(void) { + 76:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** unsigned int __rval = __builtin_cli(); + 77:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** return __rval; + 78:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 79:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 80:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_CLI */ + 81:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 82:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_STI) && \ + 83:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_STI)) || \ + 84:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_STI)))) + 85:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 86:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_STI + 87:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 88:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 89:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 90:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void sti(unsigned int __a) { + 91:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_sti(__a); + 92:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 93:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 94:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_STI */ + 95:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 96:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_IDLE) && \ + 97:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_IDLE)) || \ + 98:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_IDLE)))) + 99:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 100:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_IDLE + 101:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 102:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 103:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 104:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void idle(void) { + 105:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_idle(); + 106:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 107:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 108:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_IDLE */ + 109:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 110:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_RAISE_INTR) && \ + 111:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_RAISE_INTR)) || \ + 112:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_RAISE_INTR)))) + 113:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 114:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_RAISE_INTR + 115:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 116:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define raise_intr(A) (__builtin_raise((A))) + 117:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + BFIN GAS /tmp/ccgWA8p2.s page 16 + + + 118:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_RAISE_INTR */ + 119:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 120:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_EXCPT) && \ + 121:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_EXCPT)) || \ + 122:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_EXCPT)))) + 123:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 124:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_EXCPT + 125:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 126:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define excpt(A) (__builtin_excpt((A))) + 127:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 128:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_EXCPT */ + 129:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 130:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_PREFETCH) && \ + 131:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_PREFETCH)) || \ + 132:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_PREFETCH)))) + 133:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 134:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_PREFETCH + 135:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 136:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 137:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 138:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void prefetch(void * __a) { + 139:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_prefetch(__a); + 140:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 141:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 142:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_PREFETCH */ + 143:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 144:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_PREFETCHMODUP) && \ + 145:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_PREFETCHMODUP)) || \ + 146:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_PREFETCHMODUP)))) + 147:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 148:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_PREFETCHMODUP + 149:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 150:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 151:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 152:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void * prefetchmodup(void * __a) { + 153:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** void * __rval = __builtin_prefetchmodup(__a); + 154:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** return __rval; + 155:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 156:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 157:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_PREFETCHMODUP */ + 158:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 159:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_FLUSHINV) && \ + 160:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_FLUSHINV)) || \ + 161:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_FLUSHINV)))) + 162:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 163:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_FLUSHINV + 164:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 165:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 166:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 167:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void flushinv(void * __a) { + 168:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_flushinv(__a); + 169:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 170:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 171:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_FLUSHINV */ + 172:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 173:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_FLUSHINVMODUP) && \ + 174:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_FLUSHINVMODUP)) || \ + BFIN GAS /tmp/ccgWA8p2.s page 17 + + + 175:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_FLUSHINVMODUP)))) + 176:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 177:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_FLUSHINVMODUP + 178:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 179:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 180:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 181:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void * flushinvmodup(void * __a) { + 182:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** void * __rval = __builtin_flushinvmodup(__a); + 183:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** return __rval; + 184:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 185:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 186:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_FLUSHINVMODUP */ + 187:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 188:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_FLUSH) && \ + 189:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_FLUSH)) || \ + 190:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_FLUSH)))) + 191:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 192:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_FLUSH + 193:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 194:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 195:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 196:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void flush(void * __a) { + 197:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_flush(__a); + 198:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 199:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 200:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_FLUSH */ + 201:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 202:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_FLUSHMODUP) && \ + 203:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_FLUSHMODUP)) || \ + 204:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_FLUSHMODUP)))) + 205:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 206:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_FLUSHMODUP + 207:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 208:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 209:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 210:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void * flushmodup(void * __a) { + 211:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** void * __rval = __builtin_flushmodup(__a); + 212:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** return __rval; + 213:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 214:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 215:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_FLUSHMODUP */ + 216:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 217:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_IFLUSH) && \ + 218:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_IFLUSH)) || \ + 219:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_IFLUSH)))) + 220:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 221:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_IFLUSH + 222:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 223:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 224:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 225:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void iflush(void * __a) { + 226:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_iflush(__a); + 227:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 228:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 229:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_IFLUSH */ + 230:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 231:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_IFLUSHMODUP) && \ + BFIN GAS /tmp/ccgWA8p2.s page 18 + + + 232:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_IFLUSHMODUP)) || \ + 233:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_IFLUSHMODUP)))) + 234:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 235:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_IFLUSHMODUP + 236:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 237:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 238:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 239:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void * iflushmodup(void * __a) { + 240:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** void * __rval = __builtin_iflushmodup(__a); + 241:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** return __rval; + 242:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 243:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 244:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_IFLUSHMODUP */ + 245:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 246:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_CSYNC) && \ + 247:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_CSYNC)) || \ + 248:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_CSYNC)))) + 249:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 250:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_CSYNC + 251:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 252:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** /* generate a csync instruction protected by CLI/STI for anomaly 05-00-0312; + 253:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ** you can generate an unprotected csync by using csync_int + 254:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** */ + 255:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 256:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 257:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 258:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void csync(void) { + 259:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_csync(); + 260:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** } + 261:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 262:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_CSYNC */ + 263:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 264:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_SSYNC) && \ + 265:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_SSYNC)) || \ + 266:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_SSYNC)))) + 267:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 268:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_SSYNC + 269:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 270:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** /* generate a ssync instruction protected by CLI/STI for anomaly 05-00-0312; + 271:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ** you can generate an unprotected ssync by using ssync_int + 272:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** */ + 273:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** + 274:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline + 275:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline + 276:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void ssync(void) { + 277:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_ssync(); + 212 .loc 2 277 0 + 213 00ee 2400 ssync; + 214 .LBE24: + 215 .LBE23: + 216 .LBB25: + 217 .LBB26: + 218 00f0 2400 ssync; + 219 .LBE26: + 220 .LBE25: + 516:src/l502_stream.c **** + 517:src/l502_stream.c **** ssync(); + BFIN GAS /tmp/ccgWA8p2.s page 19 + + + 518:src/l502_stream.c **** ssync(); + 519:src/l502_stream.c **** + 520:src/l502_stream.c **** /* запрещаем прием по SPORT */ + 521:src/l502_stream.c **** *pSPORT0_RCR1 &= ~RSPEN; + 221 .loc 1 521 0 + 222 00f2 4AE1C0FF P2.H = 65472; + 223 00f6 0AE12008 P2.L = 2080; + 224 00fa 1095 R0 = W [P2] (Z); + 225 00fc 004C BITCLR (R0,0); + 226 00fe 1097 W [P2] = R0; + 522:src/l502_stream.c **** /* запрещаем DMA */ + 523:src/l502_stream.c **** *pDMA3_CONFIG =0; //&= ~DMAEN; + 227 .loc 1 523 0 + 228 0100 4AE1C0FF P2.H = 65472; + 229 0104 0060 R0 = 0 (X); + 230 0106 0AE1C80C P2.L = 3272; + 231 010a 1097 W [P2] = R0; + 524:src/l502_stream.c **** *pSIC_IMASK0 &= ~IRQ_DMA3; + 232 .loc 1 524 0 + 233 010c 4AE1C0FF P2.H = 65472; + 234 0110 0AE10C01 P2.L = 268; + 235 0114 1091 R0 = [P2]; + 236 0116 804C BITCLR (R0,16); + 237 0118 1093 [P2] = R0; + 525:src/l502_stream.c **** //ssync(); + 526:src/l502_stream.c **** } + 238 .loc 1 526 0 + 239 011a 01E80000 UNLINK; + 240 011e 1000 rts; + 241 .LFE31: + 242 .size _sport_rx_stop, .-_sport_rx_stop + 243 .align 4 + 244 .global _sport_rx_start; + 245 .type _sport_rx_start, STT_FUNC; + 246 _sport_rx_start: + 247 .LFB30: + 473:src/l502_stream.c **** void sport_rx_start(void) { + 248 .loc 1 473 0 + 249 0120 7005 [--sp] = ( r7:6 ); + 250 + 251 .LCFI9: + 476:src/l502_stream.c **** *pDMA3_CONFIG = 0; + 252 .loc 1 476 0 + 253 0122 4AE1C0FF P2.H = 65472; + 473:src/l502_stream.c **** void sport_rx_start(void) { + 254 .loc 1 473 0 + 255 0126 00E80300 LINK 12; + 256 .LCFI10: + 476:src/l502_stream.c **** *pDMA3_CONFIG = 0; + 257 .loc 1 476 0 + 258 012a 0060 R0 = 0 (X); + 259 012c 0AE1C80C P2.L = 3272; + 260 0130 1097 W [P2] = R0; + 261 .LBB39: + 262 .LBB40: + 263 .loc 2 277 0 + 264 0132 2400 ssync; + BFIN GAS /tmp/ccgWA8p2.s page 20 + + + 265 .LBE40: + 266 .LBE39: + 479:src/l502_stream.c **** while (*pSPORT0_STAT & RXNE) { + 267 .loc 1 479 0 + 268 0134 4AE1C0FF P2.H = 65472; + 269 0138 0AE13008 P2.L = 2096; + 270 013c 1095 R0 = W [P2] (Z); + 271 013e 0048 cc = !BITTST (R0,0); + 272 0140 1518 if cc jump .L21; + 480:src/l502_stream.c **** dummy = *pSPORT0_RX16; + 273 .loc 1 480 0 + 274 0142 49E1C0FF P1.H = 65472; + 275 0146 48E10000 P0.H = _dummy.2409; + 276 014a 09E11808 P1.L = 2072; + 277 014e 08E11C00 P0.L = _dummy.2409; + 479:src/l502_stream.c **** while (*pSPORT0_STAT & RXNE) { + 278 .loc 1 479 0 + 279 0152 0960 R1 = 1 (X); + 280 0154 4134 I0 = P1; + 281 0156 4A34 I1 = P2; + 282 .L22: + 283 0158 0000 nop; + 480:src/l502_stream.c **** dummy = *pSPORT0_RX16; + 284 .loc 1 480 0 + 285 015a 209D R0.L = W [I0]; + 286 015c C042 R0 = R0.L (Z); + 287 015e 0093 [P0] = R0; + 288 .LBB41: + 289 .LBB42: + 290 .loc 2 277 0 + 291 0160 2400 ssync; + 292 .LBE42: + 293 .LBE41: + 479:src/l502_stream.c **** while (*pSPORT0_STAT & RXNE) { + 294 .loc 1 479 0 + 295 0162 289D R0.L = W [I1]; + 296 0164 0154 R0 = R1 & R0; + 297 0166 000C cc =R0==0; + 298 0168 F817 if !cc jump .L22 (bp); + 299 .L21: + 485:src/l502_stream.c **** *pDMA3_START_ADDR = (void*)f_sport_in_buf; + 300 .loc 1 485 0 + 301 016a 46E10000 R6.H = _f_sport_in_buf; + 302 016e 4AE1C0FF P2.H = 65472; + 303 0172 06E10000 R6.L = _f_sport_in_buf; + 304 0176 0AE1C40C P2.L = 3268; + 305 017a 1693 [P2] = R6; + 486:src/l502_stream.c **** *pDMA3_X_COUNT = 2*f_sport_in_block_size; /* так как SPORT настроен на 16 бит (хоть и 2 канала) + 306 .loc 1 486 0 + 307 017c 4AE10000 P2.H = _f_sport_in_block_size; + 308 0180 0AE10400 P2.L = _f_sport_in_block_size; + 309 0184 1191 R1 = [P2]; + 310 0186 4AE1C0FF P2.H = 65472; + 311 018a 82C60980 R0 = R1 << 1; + 312 018e 0AE1D00C P2.L = 3280; + 313 0192 1097 W [P2] = R0; + 488:src/l502_stream.c **** *pDMA3_X_MODIFY = 2; + BFIN GAS /tmp/ccgWA8p2.s page 21 + + + 314 .loc 1 488 0 + 315 0194 1760 R7 = 2 (X); + 316 0196 226C P2 += 4; + 317 0198 1797 W [P2] = R7; + 489:src/l502_stream.c **** *pDMA3_Y_COUNT = f_sport_in_buf_size/f_sport_in_block_size;; + 318 .loc 1 489 0 + 319 019a 4AE10000 P2.H = _f_sport_in_buf_size; + 320 019e 0AE10800 P2.L = _f_sport_in_buf_size; + 321 01a2 1091 R0 = [P2]; + 322 01a4 FFE32EFF call ___udivsi3; + 323 01a8 4AE1C0FF P2.H = 65472; + 324 01ac 0AE1D80C P2.L = 3288; + 325 01b0 1097 W [P2] = R0; + 490:src/l502_stream.c **** *pDMA3_Y_MODIFY = 2; + 326 .loc 1 490 0 + 327 01b2 226C P2 += 4; + 328 01b4 1797 W [P2] = R7; + 491:src/l502_stream.c **** *pDMA3_CURR_ADDR = (void*)f_sport_in_buf; + 329 .loc 1 491 0 + 330 01b6 426C P2 += 8; + 492:src/l502_stream.c **** *pDMA3_CONFIG = FLOW_AUTO | DI_EN | DI_SEL | SYNC | DMA2D | WNR | WDSIZE_16; + 331 .loc 1 492 0 + 332 01b8 49E1C0FF P1.H = 65472; + 491:src/l502_stream.c **** *pDMA3_CURR_ADDR = (void*)f_sport_in_buf; + 333 .loc 1 491 0 + 334 01bc 1693 [P2] = R6; + 492:src/l502_stream.c **** *pDMA3_CONFIG = FLOW_AUTO | DI_EN | DI_SEL | SYNC | DMA2D | WNR | WDSIZE_16; + 335 .loc 1 492 0 + 336 01be 09E1C80C P1.L = 3272; + 337 01c2 20E1F610 R0 = 4342 (X); + 338 01c6 0897 W [P1] = R0; + 339 .LBB43: + 340 .LBB44: + 341 .loc 2 277 0 + 342 01c8 2400 ssync; + 343 .LBE44: + 344 .LBE43: + 497:src/l502_stream.c **** *pSIC_IMASK0 |= IRQ_DMA3; + 345 .loc 1 497 0 + 346 01ca 4AE1C0FF P2.H = 65472; + 347 01ce 0AE10C01 P2.L = 268; + 348 01d2 1091 R0 = [P2]; + 349 01d4 804A BITSET (R0, 16); + 350 01d6 1093 [P2] = R0; + 498:src/l502_stream.c **** *pDMA3_CONFIG |= DMAEN; + 351 .loc 1 498 0 + 352 01d8 0895 R0 = W [P1] (Z); + 353 01da 004A BITSET (R0, 0); + 500:src/l502_stream.c **** *pSPORT0_RCR1 |= RSPEN; + 354 .loc 1 500 0 + 355 01dc 4AE1C0FF P2.H = 65472; + 498:src/l502_stream.c **** *pDMA3_CONFIG |= DMAEN; + 356 .loc 1 498 0 + 357 01e0 0897 W [P1] = R0; + 500:src/l502_stream.c **** *pSPORT0_RCR1 |= RSPEN; + 358 .loc 1 500 0 + 359 01e2 0AE12008 P2.L = 2080; + BFIN GAS /tmp/ccgWA8p2.s page 22 + + + 360 01e6 1095 R0 = W [P2] (Z); + 361 01e8 004A BITSET (R0, 0); + 362 01ea 1097 W [P2] = R0; + 503:src/l502_stream.c **** f_bf_reg |= L502_REGBIT_IOHARD_OUT_RFS_EN_Msk; + 363 .loc 1 503 0 + 364 01ec 4AE10000 P2.H = _f_bf_reg; + 365 01f0 0AE11800 P2.L = _f_bf_reg; + 366 01f4 1191 R1 = [P2]; + 367 01f6 194A BITSET (R1, 3); + 368 01f8 1193 [P2] = R1; + 505:src/l502_stream.c **** } + 369 .loc 1 505 0 + 370 01fa 01E80000 UNLINK; + 504:src/l502_stream.c **** fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, f_bf_reg); + 371 .loc 1 504 0 + 372 01fe 20E11803 R0 = 792 (X); + 505:src/l502_stream.c **** } + 373 .loc 1 505 0 + 374 0202 3005 ( r7:6 ) = [sp++]; + 375 + 376 .LCFI11: + 504:src/l502_stream.c **** fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, f_bf_reg); + 377 .loc 1 504 0 + 378 0204 FFE2FEFE jump.l _fpga_reg_write; + 379 .LFE30: + 380 .size _sport_rx_start, .-_sport_rx_start + 381 .align 4 + 382 .global _stream_proc; + 383 .type _stream_proc, STT_FUNC; + 384 _stream_proc: + 385 .LFB24: + 297:src/l502_stream.c **** void stream_proc(void) { + 386 .loc 1 297 0 + 387 0208 C304 [--sp] = ( p5:3 ); + 388 + 389 .LCFI12: + 299:src/l502_stream.c **** if ((g_stream_in_state != IN_STREAM_STOP) && (g_stream_in_state != IN_STREAM_ERR)) { + 390 .loc 1 299 0 + 391 020a 4BE10000 P3.H = _g_stream_in_state; + 392 020e 0BE10000 P3.L = _g_stream_in_state; + 393 0212 1891 R0 = [P3]; + 297:src/l502_stream.c **** void stream_proc(void) { + 394 .loc 1 297 0 + 395 0214 00E80300 LINK 12; + 396 .LCFI13: + 299:src/l502_stream.c **** if ((g_stream_in_state != IN_STREAM_STOP) && (g_stream_in_state != IN_STREAM_ERR)) { + 397 .loc 1 299 0 + 398 0218 000C cc =R0==0; + 399 021a 171C if cc jump .L26 (bp); + 400 021c 180C cc =R0==3; + 401 021e 1518 if cc jump .L26; + 402 .LBB45: + 301:src/l502_stream.c **** uint32_t put_pos = f_sport_in_put_pos; + 403 .loc 1 301 0 + 404 0220 4AE10000 P2.H = _f_sport_in_put_pos; + 304:src/l502_stream.c **** sport_rdy_size = put_pos >= f_sport_in_proc_pos ? + 405 .loc 1 304 0 + BFIN GAS /tmp/ccgWA8p2.s page 23 + + + 406 0224 4CE10000 P4.H = _f_sport_in_proc_pos; + 301:src/l502_stream.c **** uint32_t put_pos = f_sport_in_put_pos; + 407 .loc 1 301 0 + 408 0228 0AE10C00 P2.L = _f_sport_in_put_pos; + 304:src/l502_stream.c **** sport_rdy_size = put_pos >= f_sport_in_proc_pos ? + 409 .loc 1 304 0 + 410 022c 0CE12800 P4.L = _f_sport_in_proc_pos; + 301:src/l502_stream.c **** uint32_t put_pos = f_sport_in_put_pos; + 411 .loc 1 301 0 + 412 0230 5291 P2 = [P2]; + 413 .LVL15: + 304:src/l502_stream.c **** sport_rdy_size = put_pos >= f_sport_in_proc_pos ? + 414 .loc 1 304 0 + 415 0232 6191 P1 = [P4]; + 416 0234 CA09 cc =P2= f_hdma_out_proc_pos ? + BFIN GAS /tmp/ccgWA8p2.s page 24 + + + 453 .loc 1 333 0 + 454 0264 4DE10000 P5.H = _f_hdma_out_proc_pos; + 455 .LVL20: + 330:src/l502_stream.c **** uint32_t put_pos = f_hdma_out_put_pos; + 456 .loc 1 330 0 + 457 0268 0AE12000 P2.L = _f_hdma_out_put_pos; + 333:src/l502_stream.c **** hdma_rdy_size = put_pos >= f_hdma_out_proc_pos ? + 458 .loc 1 333 0 + 459 026c 0DE13000 P5.L = _f_hdma_out_proc_pos; + 330:src/l502_stream.c **** uint32_t put_pos = f_hdma_out_put_pos; + 460 .loc 1 330 0 + 461 0270 5291 P2 = [P2]; + 462 .LVL21: + 333:src/l502_stream.c **** hdma_rdy_size = put_pos >= f_hdma_out_proc_pos ? + 463 .loc 1 333 0 + 464 0272 6991 P1 = [P5]; + 465 0274 CA09 cc =P2= get_pos ? + 484 .loc 1 355 0 + 485 0290 4DE10000 P5.H = _f_hdma_out_start_pos; + 353:src/l502_stream.c **** uint32_t get_pos = f_hdma_out_get_pos; + 486 .loc 1 353 0 + 487 0294 0AE12400 P2.L = _f_hdma_out_get_pos; + 355:src/l502_stream.c **** hdma_rdy_size = f_hdma_out_start_pos >= get_pos ? + 488 .loc 1 355 0 + 489 0298 0DE12C00 P5.L = _f_hdma_out_start_pos; + 353:src/l502_stream.c **** uint32_t get_pos = f_hdma_out_get_pos; + 490 .loc 1 353 0 + 491 029c 5191 P1 = [P2]; + 492 .LVL24: + 355:src/l502_stream.c **** hdma_rdy_size = f_hdma_out_start_pos >= get_pos ? + 493 .loc 1 355 0 + 494 029e 6891 P0 = [P5]; + 495 02a0 410A cc =P1<=P0 (iu); + 496 02a2 7814 if !cc jump .L34 (bp); + 497 02a4 4AE11000 P2.H = 16; + BFIN GAS /tmp/ccgWA8p2.s page 25 + + + 498 02a8 0AE10000 P2.L = 0; + 499 02ac 915A P2 = P1 + P2; + 500 02ae 0244 P2 -= P0; + 501 .LVL25: + 502 .L35: + 358:src/l502_stream.c **** if (hdma_rdy_size > f_hdma_out_block_size) { + 503 .loc 1 358 0 + 504 02b0 49E10000 P1.H = 0; + 505 .LVL26: + 506 02b4 09E10080 P1.L = 32768; + 507 02b8 4A0A cc =P2<=P1 (iu); + 508 02ba CF1F if cc jump .L36 (bp); + 359:src/l502_stream.c **** hdma_recv_req_start((uint32_t*)&f_hdma_out_buf[f_hdma_out_start_pos], + 509 .loc 1 359 0 + 510 02bc 4AE18000 P2.H = _f_hdma_out_buf; + 511 .LVL27: + 512 02c0 0AE10000 P2.L = _f_hdma_out_buf; + 513 02c4 825E P2 = P2 + (P0 << 2); + 514 02c6 4930 R1 = P1; + 515 02c8 4230 R0 = P2; + 516 02ca FFE39BFE call _hdma_recv_req_start; + 362:src/l502_stream.c **** f_hdma_out_start_pos+=f_hdma_out_block_size; + 517 .loc 1 362 0 + 518 02ce 2891 R0 = [P5]; + 519 02d0 81E10080 R1 = 32768 (Z); + 520 02d4 0850 R0 = R0 + R1; + 363:src/l502_stream.c **** if (f_hdma_out_start_pos==L502_HDMA_OUT_BUF_SIZE) + 521 .loc 1 363 0 + 522 02d6 0960 R1 = 1 (X); + 523 02d8 A14F R1 <<= 20; + 362:src/l502_stream.c **** f_hdma_out_start_pos+=f_hdma_out_block_size; + 524 .loc 1 362 0 + 525 02da 2893 [P5] = R0; + 363:src/l502_stream.c **** if (f_hdma_out_start_pos==L502_HDMA_OUT_BUF_SIZE) + 526 .loc 1 363 0 + 527 02dc 0808 cc =R0==R1; + 528 02de BD17 if !cc jump .L36 (bp); + 364:src/l502_stream.c **** f_hdma_out_start_pos = 0; + 529 .loc 1 364 0 + 530 02e0 4AE10000 P2.H = _f_hdma_out_start_pos; + 531 02e4 0060 R0 = 0 (X); + 532 02e6 0AE12C00 P2.L = _f_hdma_out_start_pos; + 533 02ea 1093 [P2] = R0; + 534 02ec B62F jump.s .L36; + 535 .LVL28: + 536 .L27: + 537 .LBE49: + 538 .LBE47: + 539 .LBB51: + 304:src/l502_stream.c **** sport_rdy_size = put_pos >= f_sport_in_proc_pos ? + 540 .loc 1 304 0 + 541 02ee 4AE10000 P2.H = _f_sport_in_buf_size; + 542 .LVL29: + 543 02f2 0AE10800 P2.L = _f_sport_in_buf_size; + 544 02f6 5291 P2 = [P2]; + 545 02f8 6A32 P5 = P2; + 546 .LVL30: + BFIN GAS /tmp/ccgWA8p2.s page 26 + + + 547 02fa 0D44 P5 -= P1; + 307:src/l502_stream.c **** if (sport_rdy_size) { + 548 .loc 1 307 0 + 549 02fc 450C cc =P5==0; + 550 02fe A11F if cc jump .L29 (bp); + 551 .L38: + 552 .LBB46: + 310:src/l502_stream.c **** sport_rdy_size); + 553 .loc 1 310 0 + 554 0300 4AE10000 P2.H = _f_sport_in_buf; + 555 0304 0AE10000 P2.L = _f_sport_in_buf; + 556 0308 8A5E P2 = P2 + (P1 << 2); + 557 030a 4230 R0 = P2; + 558 030c 4D30 R1 = P5; + 559 030e FFE379FE call _usr_in_proc_data; + 312:src/l502_stream.c **** f_sport_in_proc_pos += processed; + 560 .loc 1 312 0 + 561 0312 2191 R1 = [P4]; + 313:src/l502_stream.c **** if (f_sport_in_proc_pos==f_sport_in_buf_size) + 562 .loc 1 313 0 + 563 0314 4AE10000 P2.H = _f_sport_in_buf_size; + 312:src/l502_stream.c **** f_sport_in_proc_pos += processed; + 564 .loc 1 312 0 + 565 0318 0850 R0 = R0 + R1; + 566 .LVL31: + 313:src/l502_stream.c **** if (f_sport_in_proc_pos==f_sport_in_buf_size) + 567 .loc 1 313 0 + 568 031a 0AE10800 P2.L = _f_sport_in_buf_size; + 569 031e 1191 R1 = [P2]; + 312:src/l502_stream.c **** f_sport_in_proc_pos += processed; + 570 .loc 1 312 0 + 571 0320 2093 [P4] = R0; + 313:src/l502_stream.c **** if (f_sport_in_proc_pos==f_sport_in_buf_size) + 572 .loc 1 313 0 + 573 0322 0808 cc =R0==R1; + 574 0324 8E17 if !cc jump .L29 (bp); + 314:src/l502_stream.c **** f_sport_in_proc_pos = 0; + 575 .loc 1 314 0 + 576 0326 4AE10000 P2.H = _f_sport_in_proc_pos; + 577 032a 0060 R0 = 0 (X); + 578 032c 0AE12800 P2.L = _f_sport_in_proc_pos; + 579 0330 1093 [P2] = R0; + 580 0332 872F jump.s .L29; + 581 .LVL32: + 582 .L41: + 583 .LBE46: + 584 .LBE51: + 585 .LBB52: + 333:src/l502_stream.c **** hdma_rdy_size = put_pos >= f_hdma_out_proc_pos ? + 586 .loc 1 333 0 + 587 0334 0A44 P2 -= P1; + 588 0336 4A30 R1 = P2; + 589 .LVL33: + 338:src/l502_stream.c **** if (hdma_rdy_size != 0) { + 590 .loc 1 338 0 + 591 0338 010C cc =R1==0; + 592 033a A51F if cc jump .L33 (bp); + BFIN GAS /tmp/ccgWA8p2.s page 27 + + + 593 .L42: + 594 .LBB48: + 341:src/l502_stream.c **** hdma_rdy_size); + 595 .loc 1 341 0 + 596 033c 4AE18000 P2.H = _f_hdma_out_buf; + 597 .LVL34: + 598 0340 0AE10000 P2.L = _f_hdma_out_buf; + 599 0344 8A5E P2 = P2 + (P1 << 2); + 600 0346 4230 R0 = P2; + 601 0348 FFE35CFE call _usr_out_proc_data; + 602 .LVL35: + 344:src/l502_stream.c **** f_hdma_out_proc_pos += processed; + 603 .loc 1 344 0 + 604 034c 2991 R1 = [P5]; + 605 034e 0850 R0 = R0 + R1; + 606 .LVL36: + 345:src/l502_stream.c **** if (f_hdma_out_proc_pos==L502_HDMA_OUT_BUF_SIZE) + 607 .loc 1 345 0 + 608 0350 0960 R1 = 1 (X); + 609 0352 A14F R1 <<= 20; + 344:src/l502_stream.c **** f_hdma_out_proc_pos += processed; + 610 .loc 1 344 0 + 611 0354 2893 [P5] = R0; + 345:src/l502_stream.c **** if (f_hdma_out_proc_pos==L502_HDMA_OUT_BUF_SIZE) + 612 .loc 1 345 0 + 613 0356 0808 cc =R0==R1; + 614 0358 9617 if !cc jump .L33 (bp); + 346:src/l502_stream.c **** f_hdma_out_proc_pos = 0; + 615 .loc 1 346 0 + 616 035a 4AE10000 P2.H = _f_hdma_out_proc_pos; + 617 035e 0060 R0 = 0 (X); + 618 0360 0AE13000 P2.L = _f_hdma_out_proc_pos; + 619 0364 1093 [P2] = R0; + 620 0366 8F2F jump.s .L33; + 621 .LVL37: + 622 .L39: + 623 .LBE48: + 624 .LBE52: + 625 .LBB53: + 319:src/l502_stream.c **** if ((g_stream_in_state == IN_STREAM_OV_ALERT) && !sport_rdy_size && hdma_send_req_rdy()) { + 626 .loc 1 319 0 + 627 0368 450C cc =P5==0; + 628 036a 6F17 if !cc jump .L26 (bp); + 629 036c FFE34AFE call _hdma_send_req_rdy; + 630 0370 000C cc =R0==0; + 631 0372 6B1F if cc jump .L26 (bp); + 320:src/l502_stream.c **** hdma_send_req_start(&f_overflow_wrd, 1, 1); + 632 .loc 1 320 0 + 633 0374 40E10000 R0.H = _f_overflow_wrd; + 634 0378 00E10000 R0.L = _f_overflow_wrd; + 635 037c 0960 R1 = 1 (X); + 636 037e 0A60 R2 = 1 (X); + 637 0380 FFE340FE call _hdma_send_req_start; + 321:src/l502_stream.c **** g_stream_in_state = IN_STREAM_ERR; + 638 .loc 1 321 0 + 639 0384 4AE10000 P2.H = _g_stream_in_state; + 640 0388 1860 R0 = 3 (X); + BFIN GAS /tmp/ccgWA8p2.s page 28 + + + 641 038a 0AE10000 P2.L = _g_stream_in_state; + 642 038e 1093 [P2] = R0; + 643 0390 5C2F jump.s .L26; + 644 .LVL38: + 645 .L34: + 646 .LBE53: + 647 .LBB54: + 648 .LBB50: + 355:src/l502_stream.c **** hdma_rdy_size = f_hdma_out_start_pos >= get_pos ? + 649 .loc 1 355 0 + 650 0392 5132 P2 = P1; + 651 .LVL39: + 652 0394 0244 P2 -= P0; + 653 0396 8D2F jump.s .L35; + 654 .LBE50: + 655 .LBE54: + 656 .LFE24: + 657 .size _stream_proc, .-_stream_proc + 658 .align 4 + 659 .global _stream_out_preload; + 660 .type _stream_out_preload, STT_FUNC; + 661 _stream_out_preload: + 662 .LFB18: + 119:src/l502_stream.c **** int32_t stream_out_preload(void) { + 663 .loc 1 119 0 + 664 0398 C404 [--sp] = ( p5:4 ); + 665 + 666 .LCFI15: + 121:src/l502_stream.c **** 0; + 667 .loc 1 121 0 + 668 039a 4CE10000 P4.H = _g_stream_out_state; + 119:src/l502_stream.c **** int32_t stream_out_preload(void) { + 669 .loc 1 119 0 + 670 039e 00E80300 LINK 12; + 671 .LCFI16: + 121:src/l502_stream.c **** 0; + 672 .loc 1 121 0 + 673 03a2 0CE10400 P4.L = _g_stream_out_state; + 674 03a6 2091 R0 = [P4]; + 675 03a8 100C cc =R0==2; + 676 03aa 2B18 if cc jump .L47; + 123:src/l502_stream.c **** f_hdma_out_get_pos = f_hdma_out_start_pos = + 677 .loc 1 123 0 + 678 03ac 4AE10000 P2.H = _f_hdma_out_proc_pos; + 679 03b0 0060 R0 = 0 (X); + 680 03b2 0AE13000 P2.L = _f_hdma_out_proc_pos; + 681 03b6 1093 [P2] = R0; + 682 03b8 4AE10000 P2.H = _f_hdma_out_put_pos; + 683 03bc 0AE12000 P2.L = _f_hdma_out_put_pos; + 684 03c0 1093 [P2] = R0; + 685 03c2 1091 R0 = [P2]; + 686 03c4 4DE10000 P5.H = _f_hdma_out_start_pos; + 687 03c8 4AE10000 P2.H = _f_hdma_out_get_pos; + 688 03cc 0DE12C00 P5.L = _f_hdma_out_start_pos; + 689 03d0 0AE12400 P2.L = _f_hdma_out_get_pos; + 690 03d4 2893 [P5] = R0; + 691 03d6 1093 [P2] = R0; + BFIN GAS /tmp/ccgWA8p2.s page 29 + + + 127:src/l502_stream.c **** hdma_recv_start(); + 692 .loc 1 127 0 + 693 03d8 FFE314FE call _hdma_recv_start; + 130:src/l502_stream.c **** f_hdma_out_start_pos+=f_hdma_out_block_size; + 694 .loc 1 130 0 + 695 03dc 2891 R0 = [P5]; + 696 03de 81E10080 R1 = 32768 (Z); + 697 03e2 0850 R0 = R0 + R1; + 698 03e4 2893 [P5] = R0; + 131:src/l502_stream.c **** hdma_recv_req_start((uint32_t*)f_hdma_out_buf, f_hdma_out_block_size); + 699 .loc 1 131 0 + 700 03e6 40E18000 R0.H = _f_hdma_out_buf; + 701 03ea 00E10000 R0.L = _f_hdma_out_buf; + 702 03ee FFE309FE call _hdma_recv_req_start; + 133:src/l502_stream.c **** g_stream_out_state = OUT_STREAM_PRELOAD; + 703 .loc 1 133 0 + 704 03f2 0860 R0 = 1 (X); + 705 03f4 2093 [P4] = R0; + 136:src/l502_stream.c **** } + 706 .loc 1 136 0 + 707 03f6 01E80000 UNLINK; + 133:src/l502_stream.c **** g_stream_out_state = OUT_STREAM_PRELOAD; + 708 .loc 1 133 0 + 709 03fa 0060 R0 = 0 (X); + 710 .LVL40: + 711 .LVL41: + 136:src/l502_stream.c **** } + 712 .loc 1 136 0 + 713 03fc 8404 ( p5:4 ) = [sp++]; + 714 + 715 .LCFI17: + 716 03fe 1000 rts; + 717 .L47: + 718 0400 01E80000 UNLINK; + 121:src/l502_stream.c **** 0; + 719 .loc 1 121 0 + 720 0404 20E1FCFD R0 = -516 (X); + 721 .LVL42: + 136:src/l502_stream.c **** } + 722 .loc 1 136 0 + 723 0408 8404 ( p5:4 ) = [sp++]; + 724 + 725 .LCFI18: + 726 .LVL43: + 727 040a 1000 rts; + 728 .LFE18: + 729 .size _stream_out_preload, .-_stream_out_preload + 730 .align 4 + 731 .global _l502_stream_init; + 732 .type _l502_stream_init, STT_FUNC; + 733 _l502_stream_init: + 734 .LFB17: + 104:src/l502_stream.c **** void l502_stream_init(void) { + 735 .loc 1 104 0 + 736 040c 00E80300 LINK 12; + 737 .LCFI19: + 106:src/l502_stream.c **** fpga_reg_write(L502_REGS_IOHARD_GO_SYNC_IO, 0); + BFIN GAS /tmp/ccgWA8p2.s page 30 + + + 738 .loc 1 106 0 + 739 0410 20E10A03 R0 = 778 (X); + 740 0414 0160 R1 = 0 (X); + 741 0416 FFE3F5FD call _fpga_reg_write; + 107:src/l502_stream.c **** fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, 0); + 742 .loc 1 107 0 + 743 041a 20E11803 R0 = 792 (X); + 744 041e 0160 R1 = 0 (X); + 745 0420 FFE3F0FD call _fpga_reg_write; + 110:src/l502_stream.c **** } + 746 .loc 1 110 0 + 747 0424 01E80000 UNLINK; + 109:src/l502_stream.c **** sport_tx_init(); + 748 .loc 1 109 0 + 749 0428 FFE2ECFD jump.l _sport_tx_init; + 750 .LFE17: + 751 .size _l502_stream_init, .-_l502_stream_init + 752 .align 4 + 753 .global _streams_stop; + 754 .type _streams_stop, STT_FUNC; + 755 _streams_stop: + 756 .LFB23: + 263:src/l502_stream.c **** int32_t streams_stop(void) { + 757 .loc 1 263 0 + 758 042c FC05 [--sp] = ( r7:7, p5:4 ); + 759 + 760 .LCFI20: + 264:src/l502_stream.c **** int32_t err = g_mode != L502_BF_MODE_STREAM ? L502_BF_ERR_STREAM_STOPPED : 0; + 761 .loc 1 264 0 + 762 042e 4CE10000 P4.H = _g_mode; + 263:src/l502_stream.c **** int32_t streams_stop(void) { + 763 .loc 1 263 0 + 764 0432 00E80300 LINK 12; + 765 .LCFI21: + 264:src/l502_stream.c **** int32_t err = g_mode != L502_BF_MODE_STREAM ? L502_BF_ERR_STREAM_STOPPED : 0; + 766 .loc 1 264 0 + 767 0436 0CE10800 P4.L = _g_mode; + 768 043a 2091 R0 = [P4]; + 769 043c 080C cc =R0==1; + 770 043e 0718 if cc jump .L51; + 284:src/l502_stream.c **** } + 771 .loc 1 284 0 + 772 0440 01E80000 UNLINK; + 264:src/l502_stream.c **** int32_t err = g_mode != L502_BF_MODE_STREAM ? L502_BF_ERR_STREAM_STOPPED : 0; + 773 .loc 1 264 0 + 774 0444 20E1FBFD R0 = -517 (X); + 775 .LVL44: + 284:src/l502_stream.c **** } + 776 .loc 1 284 0 + 777 0448 BC05 ( r7:7, p5:4 ) = [sp++]; + 778 + 779 .LCFI22: + 780 .LVL45: + 781 044a 1000 rts; + 782 .L51: + 266:src/l502_stream.c **** hdma_send_stop(); + 783 .loc 1 266 0 + BFIN GAS /tmp/ccgWA8p2.s page 31 + + + 784 044c FFE3DAFD call _hdma_send_stop; + 267:src/l502_stream.c **** hdma_recv_stop(); + 785 .loc 1 267 0 + 786 0450 FFE3D8FD call _hdma_recv_stop; + 268:src/l502_stream.c **** fpga_reg_write(L502_REGS_IOHARD_GO_SYNC_IO, 0); + 787 .loc 1 268 0 + 788 0454 20E10A03 R0 = 778 (X); + 789 0458 0160 R1 = 0 (X); + 790 .LBB61: + 791 .LBB62: + 514:src/l502_stream.c **** f_bf_reg &= ~L502_REGBIT_IOHARD_OUT_RFS_EN_Msk; + 792 .loc 1 514 0 + 793 045a 4DE10000 P5.H = _f_bf_reg; + 794 .LBE62: + 795 .LBE61: + 268:src/l502_stream.c **** fpga_reg_write(L502_REGS_IOHARD_GO_SYNC_IO, 0); + 796 .loc 1 268 0 + 797 045e FFE3D1FD call _fpga_reg_write; + 798 .LBB68: + 799 .LBB67: + 514:src/l502_stream.c **** f_bf_reg &= ~L502_REGBIT_IOHARD_OUT_RFS_EN_Msk; + 800 .loc 1 514 0 + 801 0462 0DE11800 P5.L = _f_bf_reg; + 802 0466 2991 R1 = [P5]; + 803 0468 194C BITCLR (R1,3); + 804 046a 2993 [P5] = R1; + 515:src/l502_stream.c **** fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, f_bf_reg); + 805 .loc 1 515 0 + 806 046c 20E11803 R0 = 792 (X); + 807 0470 FFE3C8FD call _fpga_reg_write; + 808 .LBB63: + 809 .LBB64: + 810 .loc 2 277 0 + 811 0474 2400 ssync; + 812 .LBE64: + 813 .LBE63: + 814 .LBB65: + 815 .LBB66: + 816 0476 2400 ssync; + 817 .LBE66: + 818 .LBE65: + 521:src/l502_stream.c **** *pSPORT0_RCR1 &= ~RSPEN; + 819 .loc 1 521 0 + 820 0478 4AE1C0FF P2.H = 65472; + 821 047c 0AE12008 P2.L = 2080; + 822 0480 1095 R0 = W [P2] (Z); + 823 0482 004C BITCLR (R0,0); + 824 0484 1097 W [P2] = R0; + 523:src/l502_stream.c **** *pDMA3_CONFIG =0; //&= ~DMAEN; + 825 .loc 1 523 0 + 826 0486 4AE1C0FF P2.H = 65472; + 827 048a 0060 R0 = 0 (X); + 828 048c 0AE1C80C P2.L = 3272; + 829 0490 1097 W [P2] = R0; + 524:src/l502_stream.c **** *pSIC_IMASK0 &= ~IRQ_DMA3; + 830 .loc 1 524 0 + 831 0492 4AE1C0FF P2.H = 65472; + BFIN GAS /tmp/ccgWA8p2.s page 32 + + + 832 0496 0AE10C01 P2.L = 268; + 833 049a 1091 R0 = [P2]; + 834 049c 804C BITCLR (R0,16); + 835 049e 1093 [P2] = R0; + 836 .LBE67: + 837 .LBE68: + 272:src/l502_stream.c **** sport_tx_stop(); + 838 .loc 1 272 0 + 839 04a0 FFE3B0FD call _sport_tx_stop; + 275:src/l502_stream.c **** f_bf_reg = 0; + 840 .loc 1 275 0 + 841 04a4 0760 R7 = 0 (X); + 842 04a6 2F93 [P5] = R7; + 276:src/l502_stream.c **** fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, f_bf_reg); + 843 .loc 1 276 0 + 844 04a8 20E11803 R0 = 792 (X); + 845 04ac 0160 R1 = 0 (X); + 846 04ae FFE3A9FD call _fpga_reg_write; + 280:src/l502_stream.c **** g_stream_in_state = IN_STREAM_STOP; + 847 .loc 1 280 0 + 848 04b2 4AE10000 P2.H = _g_stream_in_state; + 849 04b6 0AE10000 P2.L = _g_stream_in_state; + 850 04ba 1793 [P2] = R7; + 281:src/l502_stream.c **** g_stream_out_state = OUT_STREAM_STOP; + 851 .loc 1 281 0 + 852 04bc 4AE10000 P2.H = _g_stream_out_state; + 853 04c0 0AE10400 P2.L = _g_stream_out_state; + 279:src/l502_stream.c **** g_mode = L502_BF_MODE_IDLE; + 854 .loc 1 279 0 + 855 04c4 2793 [P4] = R7; + 281:src/l502_stream.c **** g_stream_out_state = OUT_STREAM_STOP; + 856 .loc 1 281 0 + 857 04c6 1793 [P2] = R7; + 284:src/l502_stream.c **** } + 858 .loc 1 284 0 + 859 04c8 01E80000 UNLINK; + 281:src/l502_stream.c **** g_stream_out_state = OUT_STREAM_STOP; + 860 .loc 1 281 0 + 861 04cc 0060 R0 = 0 (X); + 862 .LVL46: + 863 .LVL47: + 284:src/l502_stream.c **** } + 864 .loc 1 284 0 + 865 04ce BC05 ( r7:7, p5:4 ) = [sp++]; + 866 + 867 .LCFI23: + 868 04d0 1000 rts; + 869 .LFE23: + 870 .size _streams_stop, .-_streams_stop + 871 04d2 0000 .align 4 + 872 .global _isr_sport_dma_rx; + 873 .type _isr_sport_dma_rx, STT_FUNC; + 874 _isr_sport_dma_rx: + 875 .LFB32: + 527:src/l502_stream.c **** + 528:src/l502_stream.c **** /** @brief Обработчик прерывания по SPORT0 на прием. + 529:src/l502_stream.c **** + BFIN GAS /tmp/ccgWA8p2.s page 33 + + + 530:src/l502_stream.c **** Прерывание возникает, когда был принят блок данных по SPORT0. + 531:src/l502_stream.c **** Обновляем указатель принятых данных и проверяем переполнение */ + 532:src/l502_stream.c **** ISR(isr_sport_dma_rx) { + 876 .loc 1 532 0 + 877 04d4 6601 [--SP] = ASTAT; + 878 .LCFI24: + 879 04d6 7101 [--SP] = LT0; + 880 .LCFI25: + 881 04d8 7401 [--SP] = LT1; + 882 .LCFI26: + 883 04da 7001 [--SP] = LC0; + 884 .LCFI27: + 885 04dc 7301 [--SP] = LC1; + 886 .LCFI28: + 887 04de 7201 [--SP] = LB0; + 888 .LCFI29: + 889 04e0 7501 [--SP] = LB1; + 890 .LCFI30: + 891 04e2 C005 [--sp] = ( r7:0, p5:0 ); + 892 + 893 .LCFI31: + 894 04e4 5001 [--SP] = I0; + 895 .LCFI32: + 896 04e6 5101 [--SP] = I1; + 897 .LCFI33: + 898 04e8 5201 [--SP] = I2; + 899 .LCFI34: + 900 04ea 5301 [--SP] = I3; + 901 .LCFI35: + 902 04ec 5801 [--SP] = B0; + 903 .LCFI36: + 904 04ee 5901 [--SP] = B1; + 905 .LCFI37: + 906 04f0 5A01 [--SP] = B2; + 907 .LCFI38: + 908 04f2 5B01 [--SP] = B3; + 909 .LCFI39: + 910 04f4 5C01 [--SP] = L0; + 911 .LCFI40: + 912 04f6 5D01 [--SP] = L1; + 913 .LCFI41: + 914 04f8 5E01 [--SP] = L2; + 915 .LCFI42: + 916 04fa 5F01 [--SP] = L3; + 917 .LCFI43: + 918 04fc 5401 [--SP] = M0; + 919 .LCFI44: + 920 04fe 5501 [--SP] = M1; + 921 .LCFI45: + 922 0500 5601 [--SP] = M2; + 923 .LCFI46: + 924 0502 5701 [--SP] = M3; + 925 .LCFI47: + 926 0504 60016101 [--SP] = A0.x; [--SP] = A0.w; + 927 .LCFI48: + 533:src/l502_stream.c **** if (*pDMA3_IRQ_STATUS & DMA_DONE) { + 928 .loc 1 533 0 + BFIN GAS /tmp/ccgWA8p2.s page 34 + + + 929 0508 4AE1C0FF P2.H = 65472; + 532:src/l502_stream.c **** ISR(isr_sport_dma_rx) { + 930 .loc 1 532 0 + 931 050c 62016301 [--SP] = A1.x; [--SP] = A1.w; + 932 .LCFI49: + 933 .loc 1 533 0 + 934 0510 0AE1E80C P2.L = 3304; + 532:src/l502_stream.c **** ISR(isr_sport_dma_rx) { + 935 .loc 1 532 0 + 936 0514 7B01 [--SP] = RETI; + 937 .LCFI50: + 938 0516 00E80300 LINK 12; + 939 .LCFI51: + 940 .loc 1 533 0 + 941 051a 1095 R0 = W [P2] (Z); + 942 051c 0048 cc = !BITTST (R0,0); + 943 051e 3118 if cc jump .L59; + 944 .LBB78: + 534:src/l502_stream.c **** uint32_t rdy_put_pos; + 535:src/l502_stream.c **** /* сбрасываем прерывание от DMA */ + 536:src/l502_stream.c **** *pDMA3_IRQ_STATUS = DMA_DONE; + 945 .loc 1 536 0 + 946 0520 0860 R0 = 1 (X); + 947 0522 1097 W [P2] = R0; + 537:src/l502_stream.c **** + 538:src/l502_stream.c **** /* обновляем количество принятых данных на размер блока */ + 539:src/l502_stream.c **** f_sport_in_put_pos += f_sport_in_block_size; + 948 .loc 1 539 0 + 949 0524 4AE10000 P2.H = _f_sport_in_block_size; + 950 0528 0AE10400 P2.L = _f_sport_in_block_size; + 951 052c 1391 R3 = [P2]; + 540:src/l502_stream.c **** if (f_sport_in_put_pos == f_sport_in_buf_size) + 952 .loc 1 540 0 + 953 052e 4AE10000 P2.H = _f_sport_in_buf_size; + 539:src/l502_stream.c **** f_sport_in_put_pos += f_sport_in_block_size; + 954 .loc 1 539 0 + 955 0532 49E10000 P1.H = _f_sport_in_put_pos; + 956 .loc 1 540 0 + 957 0536 0AE10800 P2.L = _f_sport_in_buf_size; + 539:src/l502_stream.c **** f_sport_in_put_pos += f_sport_in_block_size; + 958 .loc 1 539 0 + 959 053a 09E10C00 P1.L = _f_sport_in_put_pos; + 960 .loc 1 540 0 + 961 053e 5091 P0 = [P2]; + 539:src/l502_stream.c **** f_sport_in_put_pos += f_sport_in_block_size; + 962 .loc 1 539 0 + 963 0540 0891 R0 = [P1]; + 964 0542 0350 R0 = R3 + R0; + 965 0544 0893 [P1] = R0; + 966 .loc 1 540 0 + 967 0546 0891 R0 = [P1]; + 968 0548 4830 R1 = P0; + 969 054a 0808 cc =R0==R1; + 970 054c 6718 if cc jump .L60; + 971 .L56: + 541:src/l502_stream.c **** f_sport_in_put_pos = 0; + 542:src/l502_stream.c **** + BFIN GAS /tmp/ccgWA8p2.s page 35 + + + 543:src/l502_stream.c **** /* смотрим, сколько свободно места в буфере на прием */ + 544:src/l502_stream.c **** uint32_t get_pos = f_sport_in_get_pos; + 972 .loc 1 544 0 + 973 054e 4AE10000 P2.H = _f_sport_in_get_pos; + 974 0552 0AE11000 P2.L = _f_sport_in_get_pos; + 975 0556 1291 R2 = [P2]; + 976 .LVL48: + 545:src/l502_stream.c **** rdy_put_pos = f_sport_in_put_pos > get_pos ? + 977 .loc 1 545 0 + 978 0558 4AE10000 P2.H = _f_sport_in_put_pos; + 979 055c 0891 R0 = [P1]; + 980 055e 0AE10C00 P2.L = _f_sport_in_put_pos; + 981 0562 8209 cc =R2 get_pos ? + 1035 .loc 1 545 0 + 1036 05c0 7830 R7 = P0; + 1037 05c2 1191 R1 = [P2]; + 1038 05c4 3A50 R0 = R2 + R7; + 1039 05c6 4852 R1 = R0 - R1; + 1040 .LVL52: + 1041 05c8 D12F jump.s .L58; + 1042 .L62: + 1043 .LBB79: + 1044 .LBB80: + 1045 .LBB81: + 1046 .LBB82: + 514:src/l502_stream.c **** f_bf_reg &= ~L502_REGBIT_IOHARD_OUT_RFS_EN_Msk; + 1047 .loc 1 514 0 + 1048 05ca 4AE10000 P2.H = _f_bf_reg; + 1049 05ce 0AE11800 P2.L = _f_bf_reg; + 1050 05d2 1191 R1 = [P2]; + 1051 .LVL53: + 1052 05d4 194C BITCLR (R1,3); + 1053 05d6 1193 [P2] = R1; + 515:src/l502_stream.c **** fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, f_bf_reg); + 1054 .loc 1 515 0 + 1055 05d8 20E11803 R0 = 792 (X); + 1056 05dc FFE312FD call _fpga_reg_write; + 1057 .LVL54: + 1058 .LBB83: + 1059 .LBB84: + 1060 .loc 2 277 0 + 1061 05e0 2400 ssync; + 1062 .LBE84: + 1063 .LBE83: + 1064 .LBB85: + 1065 .LBB86: + BFIN GAS /tmp/ccgWA8p2.s page 37 + + + 1066 05e2 2400 ssync; + 1067 .LBE86: + 1068 .LBE85: + 521:src/l502_stream.c **** *pSPORT0_RCR1 &= ~RSPEN; + 1069 .loc 1 521 0 + 1070 05e4 4AE1C0FF P2.H = 65472; + 1071 05e8 0AE12008 P2.L = 2080; + 1072 05ec 1095 R0 = W [P2] (Z); + 1073 05ee 004C BITCLR (R0,0); + 1074 05f0 1097 W [P2] = R0; + 523:src/l502_stream.c **** *pDMA3_CONFIG =0; //&= ~DMAEN; + 1075 .loc 1 523 0 + 1076 05f2 4AE1C0FF P2.H = 65472; + 1077 05f6 0060 R0 = 0 (X); + 1078 05f8 0AE1C80C P2.L = 3272; + 1079 05fc 1097 W [P2] = R0; + 524:src/l502_stream.c **** *pSIC_IMASK0 &= ~IRQ_DMA3; + 1080 .loc 1 524 0 + 1081 05fe 4AE1C0FF P2.H = 65472; + 1082 0602 0AE10C01 P2.L = 268; + 1083 0606 1091 R0 = [P2]; + 1084 0608 804C BITCLR (R0,16); + 1085 060a 1093 [P2] = R0; + 1086 .LBE82: + 1087 .LBE81: + 96:src/l502_stream.c **** g_stream_in_state = IN_STREAM_OV_ALERT; + 1088 .loc 1 96 0 + 1089 060c 4AE10000 P2.H = _g_stream_in_state; + 1090 0610 2060 R0 = 4 (X); + 1091 0612 0AE10000 P2.L = _g_stream_in_state; + 1092 0616 1093 [P2] = R0; + 1093 0618 B42F jump.s .L59; + 1094 .L60: + 1095 .LBE80: + 1096 .LBE79: + 541:src/l502_stream.c **** f_sport_in_put_pos = 0; + 1097 .loc 1 541 0 + 1098 061a 0060 R0 = 0 (X); + 1099 061c 0893 [P1] = R0; + 1100 061e 982F jump.s .L56; + 1101 .LBE87: + 1102 .LFE32: + 1103 .size _isr_sport_dma_rx, .-_isr_sport_dma_rx + 1104 .align 4 + 1105 .global _stream_disable; + 1106 .type _stream_disable, STT_FUNC; + 1107 _stream_disable: + 1108 .LFB21: + 181:src/l502_stream.c **** int32_t stream_disable(uint32_t streams) { + 1109 .loc 1 181 0 + 1110 .LVL55: + 1111 0620 FD05 [--sp] = ( r7:7, p5:5 ); + 1112 + 1113 .LCFI53: + 182:src/l502_stream.c **** f_set_streams(g_streams & ~streams); + 1114 .loc 1 182 0 + 1115 0622 4DE10000 P5.H = _g_streams; + BFIN GAS /tmp/ccgWA8p2.s page 38 + + + 1116 0626 0DE10000 P5.L = _g_streams; + 1117 062a C043 R0 = ~R0; + 1118 .LVL56: + 1119 062c 2991 R1 = [P5]; + 1120 .LBB90: + 1121 .LBB92: + 144:src/l502_stream.c **** if (g_mode == L502_BF_MODE_STREAM) { + 1122 .loc 1 144 0 + 1123 062e 4AE10000 P2.H = _g_mode; + 1124 .LBE92: + 1125 .LBE90: + 182:src/l502_stream.c **** f_set_streams(g_streams & ~streams); + 1126 .loc 1 182 0 + 1127 0632 C855 R7 = R0 & R1; + 1128 .LBB95: + 1129 .LBB93: + 144:src/l502_stream.c **** if (g_mode == L502_BF_MODE_STREAM) { + 1130 .loc 1 144 0 + 1131 0634 0AE10800 P2.L = _g_mode; + 1132 0638 1091 R0 = [P2]; + 1133 .LBE93: + 1134 .LBE95: + 181:src/l502_stream.c **** int32_t stream_disable(uint32_t streams) { + 1135 .loc 1 181 0 + 1136 063a 00E80300 LINK 12; + 1137 .LCFI54: + 1138 .LBB96: + 1139 .LBB91: + 144:src/l502_stream.c **** if (g_mode == L502_BF_MODE_STREAM) { + 1140 .loc 1 144 0 + 1141 063e 080C cc =R0==1; + 1142 0640 1118 if cc jump .L68; + 1143 .L64: + 155:src/l502_stream.c **** if (streams & L502_STREAM_ADC) + 1144 .loc 1 155 0 + 1145 0642 0960 R1 = 1 (X); + 1146 0644 4F54 R1 = R7 & R1; + 1147 .LVL57: + 158:src/l502_stream.c **** wrd_en |= 0x2; + 1148 .loc 1 158 0 + 1149 0646 0130 R0 = R1; + 157:src/l502_stream.c **** if (streams & L502_STREAM_DIN) + 1150 .loc 1 157 0 + 1151 0648 0F48 cc = !BITTST (R7,1); + 158:src/l502_stream.c **** wrd_en |= 0x2; + 1152 .loc 1 158 0 + 1153 064a 084A BITSET (R0, 1); + 1154 064c 0806 if !cc R1 = R0; + 159:src/l502_stream.c **** fpga_reg_write(L502_REGS_IOARITH_IN_STREAM_ENABLE, wrd_en); + 1155 .loc 1 159 0 + 1156 064e 20E11904 R0 = 1049 (X); + 1157 0652 FFE3D7FC call _fpga_reg_write; + 1158 .LVL58: + 164:src/l502_stream.c **** g_streams = streams; + 1159 .loc 1 164 0 + 1160 0656 2F93 [P5] = R7; + 1161 .LBE91: + BFIN GAS /tmp/ccgWA8p2.s page 39 + + + 1162 .LBE96: + 184:src/l502_stream.c **** } + 1163 .loc 1 184 0 + 1164 0658 01E80000 UNLINK; + 1165 065c 0060 R0 = 0 (X); + 1166 065e BD05 ( r7:7, p5:5 ) = [sp++]; + 1167 + 1168 .LCFI55: + 1169 0660 1000 rts; + 1170 .L68: + 1171 .LBB97: + 1172 .LBB94: + 145:src/l502_stream.c **** if ((streams & L502_STREAM_ALL_IN) && !(g_streams & L502_STREAM_ALL_IN)) { + 1173 .loc 1 145 0 + 1174 0662 1A60 R2 = 3 (X); + 1175 0664 1754 R0 = R7 & R2; + 1176 0666 000C cc =R0==0; + 1177 0668 071C if cc jump .L65 (bp); + 1178 066a 1154 R0 = R1 & R2; + 1179 066c 000C cc =R0==0; + 1180 066e EA17 if !cc jump .L64 (bp); + 146:src/l502_stream.c **** sport_rx_start(); + 1181 .loc 1 146 0 + 1182 0670 FFE358FD call _sport_rx_start; + 1183 0674 E72F jump.s .L64; + 1184 .L65: + 149:src/l502_stream.c **** if (!(streams & L502_STREAM_ALL_IN) && (g_streams & L502_STREAM_ALL_IN)) { + 1185 .loc 1 149 0 + 1186 0676 1154 R0 = R1 & R2; + 1187 0678 000C cc =R0==0; + 1188 067a E41F if cc jump .L64 (bp); + 150:src/l502_stream.c **** sport_rx_stop(); + 1189 .loc 1 150 0 + 1190 067c FFE32CFD call _sport_rx_stop; + 1191 0680 E12F jump.s .L64; + 1192 .LBE94: + 1193 .LBE97: + 1194 .LFE21: + 1195 .size _stream_disable, .-_stream_disable + 1196 0682 0000 .align 4 + 1197 .global _stream_enable; + 1198 .type _stream_enable, STT_FUNC; + 1199 _stream_enable: + 1200 .LFB20: + 171:src/l502_stream.c **** int32_t stream_enable(uint32_t streams) { + 1201 .loc 1 171 0 + 1202 .LVL59: + 1203 0684 FD05 [--sp] = ( r7:7, p5:5 ); + 1204 + 1205 .LCFI56: + 172:src/l502_stream.c **** f_set_streams(g_streams | streams); + 1206 .loc 1 172 0 + 1207 0686 4DE10000 P5.H = _g_streams; + 1208 068a 0DE10000 P5.L = _g_streams; + 1209 068e 2991 R1 = [P5]; + 1210 .LBB100: + 1211 .LBB102: + BFIN GAS /tmp/ccgWA8p2.s page 40 + + + 144:src/l502_stream.c **** if (g_mode == L502_BF_MODE_STREAM) { + 1212 .loc 1 144 0 + 1213 0690 4AE10000 P2.H = _g_mode; + 1214 .LBE102: + 1215 .LBE100: + 172:src/l502_stream.c **** f_set_streams(g_streams | streams); + 1216 .loc 1 172 0 + 1217 0694 C857 R7 = R0 | R1; + 1218 .LBB105: + 1219 .LBB103: + 144:src/l502_stream.c **** if (g_mode == L502_BF_MODE_STREAM) { + 1220 .loc 1 144 0 + 1221 0696 0AE10800 P2.L = _g_mode; + 1222 069a 1091 R0 = [P2]; + 1223 .LVL60: + 1224 .LBE103: + 1225 .LBE105: + 171:src/l502_stream.c **** int32_t stream_enable(uint32_t streams) { + 1226 .loc 1 171 0 + 1227 069c 00E80300 LINK 12; + 1228 .LCFI57: + 1229 .LBB106: + 1230 .LBB101: + 144:src/l502_stream.c **** if (g_mode == L502_BF_MODE_STREAM) { + 1231 .loc 1 144 0 + 1232 06a0 080C cc =R0==1; + 1233 06a2 1118 if cc jump .L74; + 1234 .L70: + 155:src/l502_stream.c **** if (streams & L502_STREAM_ADC) + 1235 .loc 1 155 0 + 1236 06a4 0960 R1 = 1 (X); + 1237 06a6 4F54 R1 = R7 & R1; + 1238 .LVL61: + 158:src/l502_stream.c **** wrd_en |= 0x2; + 1239 .loc 1 158 0 + 1240 06a8 0130 R0 = R1; + 157:src/l502_stream.c **** if (streams & L502_STREAM_DIN) + 1241 .loc 1 157 0 + 1242 06aa 0F48 cc = !BITTST (R7,1); + 158:src/l502_stream.c **** wrd_en |= 0x2; + 1243 .loc 1 158 0 + 1244 06ac 084A BITSET (R0, 1); + 1245 06ae 0806 if !cc R1 = R0; + 159:src/l502_stream.c **** fpga_reg_write(L502_REGS_IOARITH_IN_STREAM_ENABLE, wrd_en); + 1246 .loc 1 159 0 + 1247 06b0 20E11904 R0 = 1049 (X); + 1248 06b4 FFE3A6FC call _fpga_reg_write; + 1249 .LVL62: + 164:src/l502_stream.c **** g_streams = streams; + 1250 .loc 1 164 0 + 1251 06b8 2F93 [P5] = R7; + 1252 .LBE101: + 1253 .LBE106: + 174:src/l502_stream.c **** } + 1254 .loc 1 174 0 + 1255 06ba 01E80000 UNLINK; + 1256 06be 0060 R0 = 0 (X); + BFIN GAS /tmp/ccgWA8p2.s page 41 + + + 1257 06c0 BD05 ( r7:7, p5:5 ) = [sp++]; + 1258 + 1259 .LCFI58: + 1260 06c2 1000 rts; + 1261 .L74: + 1262 .LBB107: + 1263 .LBB104: + 145:src/l502_stream.c **** if ((streams & L502_STREAM_ALL_IN) && !(g_streams & L502_STREAM_ALL_IN)) { + 1264 .loc 1 145 0 + 1265 06c4 1A60 R2 = 3 (X); + 1266 06c6 1754 R0 = R7 & R2; + 1267 06c8 000C cc =R0==0; + 1268 06ca 071C if cc jump .L71 (bp); + 1269 06cc 1154 R0 = R1 & R2; + 1270 06ce 000C cc =R0==0; + 1271 06d0 EA17 if !cc jump .L70 (bp); + 146:src/l502_stream.c **** sport_rx_start(); + 1272 .loc 1 146 0 + 1273 06d2 FFE327FD call _sport_rx_start; + 1274 06d6 E72F jump.s .L70; + 1275 .L71: + 149:src/l502_stream.c **** if (!(streams & L502_STREAM_ALL_IN) && (g_streams & L502_STREAM_ALL_IN)) { + 1276 .loc 1 149 0 + 1277 06d8 1154 R0 = R1 & R2; + 1278 06da 000C cc =R0==0; + 1279 06dc E41F if cc jump .L70 (bp); + 150:src/l502_stream.c **** sport_rx_stop(); + 1280 .loc 1 150 0 + 1281 06de FFE3FBFC call _sport_rx_stop; + 1282 06e2 E12F jump.s .L70; + 1283 .LBE104: + 1284 .LBE107: + 1285 .LFE20: + 1286 .size _stream_enable, .-_stream_enable + 1287 .align 4 + 1288 .global _streams_start; + 1289 .type _streams_start, STT_FUNC; + 1290 _streams_start: + 1291 .LFB22: + 198:src/l502_stream.c **** int32_t streams_start(void) { + 1292 .loc 1 198 0 + 1293 06e4 F305 [--sp] = ( r7:6, p5:3 ); + 1294 + 1295 .LCFI59: + 199:src/l502_stream.c **** int32_t err = g_mode != L502_BF_MODE_IDLE ? L502_BF_ERR_STREAM_RUNNING : 0; + 1296 .loc 1 199 0 + 1297 06e6 4BE10000 P3.H = _g_mode; + 198:src/l502_stream.c **** int32_t streams_start(void) { + 1298 .loc 1 198 0 + 1299 06ea 00E80300 LINK 12; + 1300 .LCFI60: + 199:src/l502_stream.c **** int32_t err = g_mode != L502_BF_MODE_IDLE ? L502_BF_ERR_STREAM_RUNNING : 0; + 1301 .loc 1 199 0 + 1302 06ee 0BE10800 P3.L = _g_mode; + 1303 06f2 1891 R0 = [P3]; + 1304 06f4 000C cc =R0==0; + 1305 06f6 071C if cc jump .L76 (bp); + BFIN GAS /tmp/ccgWA8p2.s page 42 + + + 252:src/l502_stream.c **** } + 1306 .loc 1 252 0 + 1307 06f8 01E80000 UNLINK; + 199:src/l502_stream.c **** int32_t err = g_mode != L502_BF_MODE_IDLE ? L502_BF_ERR_STREAM_RUNNING : 0; + 1308 .loc 1 199 0 + 1309 06fc 20E1FCFD R0 = -516 (X); + 1310 .LVL63: + 252:src/l502_stream.c **** } + 1311 .loc 1 252 0 + 1312 0700 B305 ( r7:6, p5:3 ) = [sp++]; + 1313 + 1314 .LCFI61: + 1315 .LVL64: + 1316 0702 1000 rts; + 1317 .L76: + 203:src/l502_stream.c **** f_sport_in_put_pos = f_sport_in_get_pos = f_sport_in_proc_pos = 0; + 1318 .loc 1 203 0 + 1319 0704 4AE10000 P2.H = _f_sport_in_proc_pos; + 1320 0708 0060 R0 = 0 (X); + 1321 070a 0AE12800 P2.L = _f_sport_in_proc_pos; + 1322 070e 1093 [P2] = R0; + 1323 0710 4AE10000 P2.H = _f_sport_in_get_pos; + 1324 0714 0AE11000 P2.L = _f_sport_in_get_pos; + 1325 0718 1093 [P2] = R0; + 1326 071a 1091 R0 = [P2]; + 1327 071c 4AE10000 P2.H = _f_sport_in_put_pos; + 1328 0720 0AE10C00 P2.L = _f_sport_in_put_pos; + 206:src/l502_stream.c **** if (g_streams & L502_STREAM_ALL_IN) { + 1329 .loc 1 206 0 + 1330 0724 4DE10000 P5.H = _g_streams; + 203:src/l502_stream.c **** f_sport_in_put_pos = f_sport_in_get_pos = f_sport_in_proc_pos = 0; + 1331 .loc 1 203 0 + 1332 0728 1093 [P2] = R0; + 206:src/l502_stream.c **** if (g_streams & L502_STREAM_ALL_IN) { + 1333 .loc 1 206 0 + 1334 072a 0DE10000 P5.L = _g_streams; + 1335 072e 2891 R0 = [P5]; + 1336 0730 1960 R1 = 3 (X); + 1337 0732 0854 R0 = R0 & R1; + 1338 0734 000C cc =R0==0; + 1339 0736 5A10 if !cc jump .L90; + 211:src/l502_stream.c **** hdma_send_start(); + 1340 .loc 1 211 0 + 1341 0738 FFE364FC call _hdma_send_start; + 1342 .LBB118: + 1343 .LBB122: + 144:src/l502_stream.c **** if (g_mode == L502_BF_MODE_STREAM) { + 1344 .loc 1 144 0 + 1345 073c 1891 R0 = [P3]; + 1346 .LBE122: + 1347 .LBE118: + 213:src/l502_stream.c **** f_set_streams(g_streams); + 1348 .loc 1 213 0 + 1349 073e 2F91 R7 = [P5]; + 1350 .LBB126: + 1351 .LBB121: + 144:src/l502_stream.c **** if (g_mode == L502_BF_MODE_STREAM) { + BFIN GAS /tmp/ccgWA8p2.s page 43 + + + 1352 .loc 1 144 0 + 1353 0740 080C cc =R0==1; + 1354 0742 4B18 if cc jump .L91; + 1355 .L80: + 150:src/l502_stream.c **** sport_rx_stop(); + 1356 .loc 1 150 0 + 1357 0744 0960 R1 = 1 (X); + 1358 0746 4F54 R1 = R7 & R1; + 1359 .LVL65: + 158:src/l502_stream.c **** wrd_en |= 0x2; + 1360 .loc 1 158 0 + 1361 0748 0130 R0 = R1; + 157:src/l502_stream.c **** if (streams & L502_STREAM_DIN) + 1362 .loc 1 157 0 + 1363 074a 0F48 cc = !BITTST (R7,1); + 158:src/l502_stream.c **** wrd_en |= 0x2; + 1364 .loc 1 158 0 + 1365 074c 084A BITSET (R0, 1); + 1366 074e 0806 if !cc R1 = R0; + 159:src/l502_stream.c **** fpga_reg_write(L502_REGS_IOARITH_IN_STREAM_ENABLE, wrd_en); + 1367 .loc 1 159 0 + 1368 0750 20E11904 R0 = 1049 (X); + 1369 0754 FFE356FC call _fpga_reg_write; + 1370 .LVL66: + 1371 .LBE121: + 1372 .LBE126: + 215:src/l502_stream.c **** if (g_streams & L502_STREAM_ALL_OUT) { + 1373 .loc 1 215 0 + 1374 0758 20E17000 R0 = 112 (X); + 1375 075c 0754 R0 = R7 & R0; + 1376 .LBB127: + 1377 .LBB123: + 164:src/l502_stream.c **** g_streams = streams; + 1378 .loc 1 164 0 + 1379 075e 2F93 [P5] = R7; + 1380 .LBE123: + 1381 .LBE127: + 215:src/l502_stream.c **** if (g_streams & L502_STREAM_ALL_OUT) { + 1382 .loc 1 215 0 + 1383 0760 000C cc =R0==0; + 1384 0762 1710 if !cc jump .L92; + 1385 .L83: + 243:src/l502_stream.c **** fpga_reg_write(L502_REGS_IOHARD_PRELOAD_ADC, 1); + 1386 .loc 1 243 0 + 1387 0764 20E10C03 R0 = 780 (X); + 1388 0768 0960 R1 = 1 (X); + 1389 076a FFE34BFC call _fpga_reg_write; + 244:src/l502_stream.c **** fpga_reg_write(L502_REGS_IOHARD_PRELOAD_ADC, 1); + 1390 .loc 1 244 0 + 1391 076e 20E10C03 R0 = 780 (X); + 1392 0772 0960 R1 = 1 (X); + 1393 0774 FFE346FC call _fpga_reg_write; + 247:src/l502_stream.c **** fpga_reg_write(L502_REGS_IOHARD_GO_SYNC_IO, 1); + 1394 .loc 1 247 0 + 1395 0778 20E10A03 R0 = 778 (X); + 1396 077c 0960 R1 = 1 (X); + 1397 077e FFE341FC call _fpga_reg_write; + BFIN GAS /tmp/ccgWA8p2.s page 44 + + + 249:src/l502_stream.c **** g_mode = L502_BF_MODE_STREAM; + 1398 .loc 1 249 0 + 1399 0782 0860 R0 = 1 (X); + 1400 0784 1893 [P3] = R0; + 252:src/l502_stream.c **** } + 1401 .loc 1 252 0 + 1402 0786 01E80000 UNLINK; + 249:src/l502_stream.c **** g_mode = L502_BF_MODE_STREAM; + 1403 .loc 1 249 0 + 1404 078a 0060 R0 = 0 (X); + 1405 .LVL67: + 1406 .LVL68: + 252:src/l502_stream.c **** } + 1407 .loc 1 252 0 + 1408 078c B305 ( r7:6, p5:3 ) = [sp++]; + 1409 + 1410 .LCFI62: + 1411 078e 1000 rts; + 1412 .L92: + 217:src/l502_stream.c **** f_bf_reg |= L502_REGBIT_IOHARD_OUT_TFS_EN_Msk; + 1413 .loc 1 217 0 + 1414 0790 4DE10000 P5.H = _f_bf_reg; + 1415 0794 0DE11800 P5.L = _f_bf_reg; + 1416 0798 2991 R1 = [P5]; + 1417 079a 094A BITSET (R1, 1); + 218:src/l502_stream.c **** fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, f_bf_reg); + 1418 .loc 1 218 0 + 1419 079c 20E11803 R0 = 792 (X); + 217:src/l502_stream.c **** f_bf_reg |= L502_REGBIT_IOHARD_OUT_TFS_EN_Msk; + 1420 .loc 1 217 0 + 1421 07a0 2993 [P5] = R1; + 223:src/l502_stream.c **** if ((g_stream_out_state == OUT_STREAM_STOP) || + 1422 .loc 1 223 0 + 1423 07a2 4CE10000 P4.H = _g_stream_out_state; + 218:src/l502_stream.c **** fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, f_bf_reg); + 1424 .loc 1 218 0 + 1425 07a6 FFE32DFC call _fpga_reg_write; + 223:src/l502_stream.c **** if ((g_stream_out_state == OUT_STREAM_STOP) || + 1426 .loc 1 223 0 + 1427 07aa 0CE10400 P4.L = _g_stream_out_state; + 1428 07ae 2091 R0 = [P4]; + 1429 07b0 000C cc =R0==0; + 1430 07b2 9718 if cc jump .L84; + 1431 07b4 180C cc =R0==3; + 1432 07b6 9518 if cc jump .L84; + 1433 .L85: + 228:src/l502_stream.c **** if (g_stream_out_state == OUT_STREAM_PRELOAD) { + 1434 .loc 1 228 0 + 1435 07b8 2091 R0 = [P4]; + 1436 07ba 080C cc =R0==1; + 1437 07bc D417 if !cc jump .L83 (bp); + 230:src/l502_stream.c **** fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, f_bf_reg | 1); + 1438 .loc 1 230 0 + 1439 07be 2991 R1 = [P5]; + 1440 07c0 20E11803 R0 = 792 (X); + 1441 07c4 014A BITSET (R1, 0); + 1442 07c6 FFE31DFC call _fpga_reg_write; + BFIN GAS /tmp/ccgWA8p2.s page 45 + + + 231:src/l502_stream.c **** g_stream_out_state = OUT_STREAM_RUN; + 1443 .loc 1 231 0 + 1444 07ca 4AE10000 P2.H = _g_stream_out_state; + 1445 07ce 1060 R0 = 2 (X); + 1446 07d0 0AE10400 P2.L = _g_stream_out_state; + 1447 07d4 1093 [P2] = R0; + 1448 07d6 C72F jump.s .L83; + 1449 .L91: + 1450 .LBB128: + 1451 .LBB120: + 145:src/l502_stream.c **** if ((streams & L502_STREAM_ALL_IN) && !(g_streams & L502_STREAM_ALL_IN)) { + 1452 .loc 1 145 0 + 1453 07d8 1860 R0 = 3 (X); + 1454 07da 0754 R0 = R7 & R0; + 1455 07dc 000C cc =R0==0; + 1456 07de 841C if cc jump .L81 (bp); + 1457 07e0 000C cc =R0==0; + 1458 07e2 B117 if !cc jump .L80 (bp); + 146:src/l502_stream.c **** sport_rx_start(); + 1459 .loc 1 146 0 + 1460 07e4 FFE39EFC call _sport_rx_start; + 1461 07e8 AE2F jump.s .L80; + 1462 .L90: + 1463 .LBE120: + 1464 .LBE128: + 1465 .LBB129: + 1466 .LBB130: + 476:src/l502_stream.c **** *pDMA3_CONFIG = 0; + 1467 .loc 1 476 0 + 1468 07ea 4AE1C0FF P2.H = 65472; + 1469 07ee 0060 R0 = 0 (X); + 1470 07f0 0AE1C80C P2.L = 3272; + 1471 07f4 1097 W [P2] = R0; + 1472 .LBB133: + 1473 .LBB134: + 1474 .loc 2 277 0 + 1475 07f6 2400 ssync; + 1476 .LBE134: + 1477 .LBE133: + 479:src/l502_stream.c **** while (*pSPORT0_STAT & RXNE) { + 1478 .loc 1 479 0 + 1479 07f8 4AE1C0FF P2.H = 65472; + 1480 07fc 0AE13008 P2.L = 2096; + 1481 0800 1095 R0 = W [P2] (Z); + 1482 .LBE130: + 1483 0802 0048 cc = !BITTST (R0,0); + 1484 0804 1518 if cc jump .L78; + 1485 .LBB137: + 480:src/l502_stream.c **** dummy = *pSPORT0_RX16; + 1486 .loc 1 480 0 + 1487 0806 49E1C0FF P1.H = 65472; + 1488 080a 48E10000 P0.H = _dummy.2409; + 1489 080e 09E11808 P1.L = 2072; + 1490 0812 08E11C00 P0.L = _dummy.2409; + 1491 .LBE137: + 479:src/l502_stream.c **** while (*pSPORT0_STAT & RXNE) { + 1492 .loc 1 479 0 + BFIN GAS /tmp/ccgWA8p2.s page 46 + + + 1493 0816 0960 R1 = 1 (X); + 1494 0818 4134 I0 = P1; + 1495 081a 4A34 I1 = P2; + 1496 .L79: + 1497 081c 0000 nop; + 1498 .LBB138: + 480:src/l502_stream.c **** dummy = *pSPORT0_RX16; + 1499 .loc 1 480 0 + 1500 081e 209D R0.L = W [I0]; + 1501 0820 C042 R0 = R0.L (Z); + 1502 0822 0093 [P0] = R0; + 1503 .LBB131: + 1504 .LBB132: + 1505 .loc 2 277 0 + 1506 0824 2400 ssync; + 1507 .LBE132: + 1508 .LBE131: + 479:src/l502_stream.c **** while (*pSPORT0_STAT & RXNE) { + 1509 .loc 1 479 0 + 1510 0826 289D R0.L = W [I1]; + 1511 .LBE138: + 1512 0828 0154 R0 = R1 & R0; + 1513 082a 000C cc =R0==0; + 1514 082c F817 if !cc jump .L79 (bp); + 1515 .L78: + 1516 .LBB139: + 485:src/l502_stream.c **** *pDMA3_START_ADDR = (void*)f_sport_in_buf; + 1517 .loc 1 485 0 + 1518 082e 46E10000 R6.H = _f_sport_in_buf; + 1519 0832 4AE1C0FF P2.H = 65472; + 1520 0836 06E10000 R6.L = _f_sport_in_buf; + 1521 083a 0AE1C40C P2.L = 3268; + 1522 083e 1693 [P2] = R6; + 486:src/l502_stream.c **** *pDMA3_X_COUNT = 2*f_sport_in_block_size; /* так как SPORT настроен на 16 бит (хоть и 2 канала) + 1523 .loc 1 486 0 + 1524 0840 4AE10000 P2.H = _f_sport_in_block_size; + 1525 0844 0AE10400 P2.L = _f_sport_in_block_size; + 1526 0848 1191 R1 = [P2]; + 1527 084a 4AE1C0FF P2.H = 65472; + 1528 084e 82C60980 R0 = R1 << 1; + 1529 0852 0AE1D00C P2.L = 3280; + 1530 0856 1097 W [P2] = R0; + 488:src/l502_stream.c **** *pDMA3_X_MODIFY = 2; + 1531 .loc 1 488 0 + 1532 0858 1760 R7 = 2 (X); + 1533 085a 226C P2 += 4; + 1534 085c 1797 W [P2] = R7; + 489:src/l502_stream.c **** *pDMA3_Y_COUNT = f_sport_in_buf_size/f_sport_in_block_size;; + 1535 .loc 1 489 0 + 1536 085e 4AE10000 P2.H = _f_sport_in_buf_size; + 1537 0862 0AE10800 P2.L = _f_sport_in_buf_size; + 1538 0866 1091 R0 = [P2]; + 1539 0868 FFE3CCFB call ___udivsi3; + 1540 086c 4AE1C0FF P2.H = 65472; + 1541 0870 0AE1D80C P2.L = 3288; + 1542 0874 1097 W [P2] = R0; + 490:src/l502_stream.c **** *pDMA3_Y_MODIFY = 2; + BFIN GAS /tmp/ccgWA8p2.s page 47 + + + 1543 .loc 1 490 0 + 1544 0876 226C P2 += 4; + 1545 0878 1797 W [P2] = R7; + 491:src/l502_stream.c **** *pDMA3_CURR_ADDR = (void*)f_sport_in_buf; + 1546 .loc 1 491 0 + 1547 087a 426C P2 += 8; + 492:src/l502_stream.c **** *pDMA3_CONFIG = FLOW_AUTO | DI_EN | DI_SEL | SYNC | DMA2D | WNR | WDSIZE_16; + 1548 .loc 1 492 0 + 1549 087c 49E1C0FF P1.H = 65472; + 491:src/l502_stream.c **** *pDMA3_CURR_ADDR = (void*)f_sport_in_buf; + 1550 .loc 1 491 0 + 1551 0880 1693 [P2] = R6; + 492:src/l502_stream.c **** *pDMA3_CONFIG = FLOW_AUTO | DI_EN | DI_SEL | SYNC | DMA2D | WNR | WDSIZE_16; + 1552 .loc 1 492 0 + 1553 0882 09E1C80C P1.L = 3272; + 1554 0886 20E1F610 R0 = 4342 (X); + 1555 088a 0897 W [P1] = R0; + 1556 .LBB135: + 1557 .LBB136: + 1558 .loc 2 277 0 + 1559 088c 2400 ssync; + 1560 .LBE136: + 1561 .LBE135: + 497:src/l502_stream.c **** *pSIC_IMASK0 |= IRQ_DMA3; + 1562 .loc 1 497 0 + 1563 088e 4AE1C0FF P2.H = 65472; + 1564 0892 0AE10C01 P2.L = 268; + 1565 0896 1091 R0 = [P2]; + 1566 0898 804A BITSET (R0, 16); + 1567 089a 1093 [P2] = R0; + 498:src/l502_stream.c **** *pDMA3_CONFIG |= DMAEN; + 1568 .loc 1 498 0 + 1569 089c 0895 R0 = W [P1] (Z); + 1570 089e 004A BITSET (R0, 0); + 500:src/l502_stream.c **** *pSPORT0_RCR1 |= RSPEN; + 1571 .loc 1 500 0 + 1572 08a0 4AE1C0FF P2.H = 65472; + 498:src/l502_stream.c **** *pDMA3_CONFIG |= DMAEN; + 1573 .loc 1 498 0 + 1574 08a4 0897 W [P1] = R0; + 500:src/l502_stream.c **** *pSPORT0_RCR1 |= RSPEN; + 1575 .loc 1 500 0 + 1576 08a6 0AE12008 P2.L = 2080; + 1577 08aa 1095 R0 = W [P2] (Z); + 1578 08ac 004A BITSET (R0, 0); + 1579 08ae 1097 W [P2] = R0; + 503:src/l502_stream.c **** f_bf_reg |= L502_REGBIT_IOHARD_OUT_RFS_EN_Msk; + 1580 .loc 1 503 0 + 1581 08b0 4AE10000 P2.H = _f_bf_reg; + 1582 08b4 0AE11800 P2.L = _f_bf_reg; + 1583 08b8 1191 R1 = [P2]; + 1584 08ba 194A BITSET (R1, 3); + 1585 08bc 1193 [P2] = R1; + 504:src/l502_stream.c **** fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, f_bf_reg); + 1586 .loc 1 504 0 + 1587 08be 20E11803 R0 = 792 (X); + 1588 08c2 FFE39FFB call _fpga_reg_write; + BFIN GAS /tmp/ccgWA8p2.s page 48 + + + 1589 .LBE139: + 1590 .LBE129: + 208:src/l502_stream.c **** g_stream_in_state = IN_STREAM_RUN; + 1591 .loc 1 208 0 + 1592 08c6 4AE10000 P2.H = _g_stream_in_state; + 1593 08ca 1060 R0 = 2 (X); + 1594 08cc 0AE10000 P2.L = _g_stream_in_state; + 1595 08d0 1093 [P2] = R0; + 211:src/l502_stream.c **** hdma_send_start(); + 1596 .loc 1 211 0 + 1597 08d2 FFE397FB call _hdma_send_start; + 1598 .LBB140: + 1599 .LBB124: + 144:src/l502_stream.c **** if (g_mode == L502_BF_MODE_STREAM) { + 1600 .loc 1 144 0 + 1601 08d6 1891 R0 = [P3]; + 1602 .LBE124: + 1603 .LBE140: + 213:src/l502_stream.c **** f_set_streams(g_streams); + 1604 .loc 1 213 0 + 1605 08d8 2F91 R7 = [P5]; + 1606 .LBB141: + 1607 .LBB119: + 144:src/l502_stream.c **** if (g_mode == L502_BF_MODE_STREAM) { + 1608 .loc 1 144 0 + 1609 08da 080C cc =R0==1; + 1610 08dc 3417 if !cc jump .L80 (bp); + 1611 08de 7D2F jump.s .L91; + 1612 .L84: + 1613 .LBE119: + 1614 .LBE141: + 225:src/l502_stream.c **** stream_out_preload(); + 1615 .loc 1 225 0 + 1616 08e0 FFE35CFD call _stream_out_preload; + 1617 08e4 6A2F jump.s .L85; + 1618 .L81: + 1619 .LBB142: + 1620 .LBB125: + 149:src/l502_stream.c **** if (!(streams & L502_STREAM_ALL_IN) && (g_streams & L502_STREAM_ALL_IN)) { + 1621 .loc 1 149 0 + 1622 08e6 000C cc =R0==0; + 1623 08e8 2E1F if cc jump .L80 (bp); + 150:src/l502_stream.c **** sport_rx_stop(); + 1624 .loc 1 150 0 + 1625 08ea FFE3F5FB call _sport_rx_stop; + 1626 08ee 2B2F jump.s .L80; + 1627 .LBE125: + 1628 .LBE142: + 1629 .LFE22: + 1630 .size _streams_start, .-_streams_start + 1631 .global _g_stream_in_state; + 1632 .section .bss,"aw",@nobits + 1633 .align 4 + 1634 .type _g_stream_in_state, @object + 1635 .size _g_stream_in_state, 4 + 1636 _g_stream_in_state: + 1637 0000 00000000 .zero 4 + BFIN GAS /tmp/ccgWA8p2.s page 49 + + + 1638 .global _g_stream_out_state; + 1639 .align 4 + 1640 .type _g_stream_out_state, @object + 1641 .size _g_stream_out_state, 4 + 1642 _g_stream_out_state: + 1643 0004 00000000 .zero 4 + 1644 .global _g_mode; + 1645 .align 4 + 1646 .type _g_mode, @object + 1647 .size _g_mode, 4 + 1648 _g_mode: + 1649 0008 00000000 .zero 4 + 1650 .global _g_streams; + 1651 .data; + 1652 .align 4 + 1653 .type _g_streams, @object + 1654 .size _g_streams, 4 + 1655 _g_streams: + 1656 0000 01000000 .long 1 + 1657 .local _f_sport_in_put_pos + 1658 .comm _f_sport_in_put_pos,4,4 + 1659 .align 4 + 1660 .type _f_sport_in_block_size, @object + 1661 .size _f_sport_in_block_size, 4 + 1662 _f_sport_in_block_size: + 1663 0004 00800000 .long 32768 + 1664 .align 4 + 1665 .type _f_sport_in_buf_size, @object + 1666 .size _f_sport_in_buf_size, 4 + 1667 _f_sport_in_buf_size: + 1668 0008 00002000 .long 2097152 + 1669 .local _f_sport_in_get_pos + 1670 .comm _f_sport_in_get_pos,4,4 + 1671 .local _f_recv_size + 1672 .comm _f_recv_size,4,4 + 1673 .local _f_bf_reg + 1674 .comm _f_bf_reg,4,4 + 1675 .local _dummy.2409 + 1676 .comm _dummy.2409,4,4 + 1677 .local _f_hdma_out_put_pos + 1678 .comm _f_hdma_out_put_pos,4,4 + 1679 .local _f_hdma_out_get_pos + 1680 .comm _f_hdma_out_get_pos,4,4 + 1681 .local _f_sport_in_proc_pos + 1682 .comm _f_sport_in_proc_pos,4,4 + 1683 .section .rodata + 1684 .align 4 + 1685 .type _f_overflow_wrd, @object + 1686 .size _f_overflow_wrd, 4 + 1687 _f_overflow_wrd: + 1688 0000 00000101 .long 16842752 + 1689 .section .sdram_noinit,"aw",@progbits + 1690 .align 4 + 1691 .type _f_sport_in_buf, @object + 1692 .size _f_sport_in_buf, 8388608 + 1693 _f_sport_in_buf: + 1694 0000 00000000 .zero 8388608 + BFIN GAS /tmp/ccgWA8p2.s page 50 + + + 1694 00000000 + 1694 00000000 + 1694 00000000 + 1694 00000000 + 1695 .align 4 + 1696 .type _f_hdma_out_buf, @object + 1697 .size _f_hdma_out_buf, 4194304 + 1698 _f_hdma_out_buf: + 1699 800000 00000000 .zero 4194304 + 1699 00000000 + 1699 00000000 + 1699 00000000 + 1699 00000000 + 1700 .local _f_hdma_out_start_pos + 1701 .comm _f_hdma_out_start_pos,4,4 + 1702 .local _f_hdma_out_proc_pos + 1703 .comm _f_hdma_out_proc_pos,4,4 + 1704 .section .debug_frame,"",@progbits + 1705 .Lframe0: + 1706 0000 0C000000 .4byte .LECIE0-.LSCIE0 + 1707 .LSCIE0: + 1708 0004 FFFFFFFF .4byte 0xffffffff + 1709 0008 01 .byte 0x1 + 1710 0009 00 .string "" + 1711 000a 01 .uleb128 0x1 + 1712 000b 7C .sleb128 -4 + 1713 000c 23 .byte 0x23 + 1714 000d 0C .byte 0xc + 1715 000e 0E .uleb128 0xe + 1716 000f 00 .uleb128 0x0 + 1717 .align 4 + 1718 .LECIE0: + 1719 .LSFDE0: + 1720 0010 14000000 .4byte .LEFDE0-.LASFDE0 + 1721 .LASFDE0: + 1722 0014 00000000 .4byte .Lframe0 + 1723 0018 00000000 .4byte .LFB25 + 1724 001c 28000000 .4byte .LFE25-.LFB25 + 1725 0020 5E .byte 0x4 + 1726 .4byte .LCFI0-.LFB25 + 1727 0021 0C .byte 0xc + 1728 0022 0F .uleb128 0xf + 1729 0023 08 .uleb128 0x8 + 1730 0024 8F .byte 0x8f + 1731 0025 02 .uleb128 0x2 + 1732 0026 A3 .byte 0xa3 + 1733 0027 01 .uleb128 0x1 + 1734 .align 4 + 1735 .LEFDE0: + 1736 .LSFDE2: + 1737 0028 14000000 .4byte .LEFDE2-.LASFDE2 + 1738 .LASFDE2: + 1739 002c 00000000 .4byte .Lframe0 + 1740 0030 28000000 .4byte .LFB26 + 1741 0034 28000000 .4byte .LFE26-.LFB26 + 1742 0038 56 .byte 0x4 + 1743 .4byte .LCFI1-.LFB26 + BFIN GAS /tmp/ccgWA8p2.s page 51 + + + 1744 0039 0C .byte 0xc + 1745 003a 0F .uleb128 0xf + 1746 003b 08 .uleb128 0x8 + 1747 003c 8F .byte 0x8f + 1748 003d 02 .uleb128 0x2 + 1749 003e A3 .byte 0xa3 + 1750 003f 01 .uleb128 0x1 + 1751 .align 4 + 1752 .LEFDE2: + 1753 .LSFDE4: + 1754 0040 14000000 .4byte .LEFDE4-.LASFDE4 + 1755 .LASFDE4: + 1756 0044 00000000 .4byte .Lframe0 + 1757 0048 50000000 .4byte .LFB27 + 1758 004c 22000000 .4byte .LFE27-.LFB27 + 1759 0050 58 .byte 0x4 + 1760 .4byte .LCFI2-.LFB27 + 1761 0051 0C .byte 0xc + 1762 0052 0F .uleb128 0xf + 1763 0053 08 .uleb128 0x8 + 1764 0054 8F .byte 0x8f + 1765 0055 02 .uleb128 0x2 + 1766 0056 A3 .byte 0xa3 + 1767 0057 01 .uleb128 0x1 + 1768 .align 4 + 1769 .LEFDE4: + 1770 .LSFDE6: + 1771 0058 14000000 .4byte .LEFDE6-.LASFDE6 + 1772 .LASFDE6: + 1773 005c 00000000 .4byte .Lframe0 + 1774 0060 74000000 .4byte .LFB28 + 1775 0064 0E000000 .4byte .LFE28-.LFB28 + 1776 0068 44 .byte 0x4 + 1777 .4byte .LCFI3-.LFB28 + 1778 0069 0C .byte 0xc + 1779 006a 0F .uleb128 0xf + 1780 006b 08 .uleb128 0x8 + 1781 006c 8F .byte 0x8f + 1782 006d 02 .uleb128 0x2 + 1783 006e A3 .byte 0xa3 + 1784 006f 01 .uleb128 0x1 + 1785 .align 4 + 1786 .LEFDE6: + 1787 .LSFDE8: + 1788 0070 1C000000 .4byte .LEFDE8-.LASFDE8 + 1789 .LASFDE8: + 1790 0074 00000000 .4byte .Lframe0 + 1791 0078 84000000 .4byte .LFB29 + 1792 007c 4E000000 .4byte .LFE29-.LFB29 + 1793 0080 42 .byte 0x4 + 1794 .4byte .LCFI4-.LFB29 + 1795 0081 0E .byte 0xe + 1796 0082 04 .uleb128 0x4 + 1797 0083 87 .byte 0x87 + 1798 0084 01 .uleb128 0x1 + 1799 0085 4A .byte 0x4 + 1800 .4byte .LCFI5-.LCFI4 + BFIN GAS /tmp/ccgWA8p2.s page 52 + + + 1801 0086 0C .byte 0xc + 1802 0087 0F .uleb128 0xf + 1803 0088 0C .uleb128 0xc + 1804 0089 8F .byte 0x8f + 1805 008a 03 .uleb128 0x3 + 1806 008b A3 .byte 0xa3 + 1807 008c 02 .uleb128 0x2 + 1808 008d 000000 .align 4 + 1809 .LEFDE8: + 1810 .LSFDE10: + 1811 0090 14000000 .4byte .LEFDE10-.LASFDE10 + 1812 .LASFDE10: + 1813 0094 00000000 .4byte .Lframe0 + 1814 0098 D4000000 .4byte .LFB31 + 1815 009c 4C000000 .4byte .LFE31-.LFB31 + 1816 00a0 48 .byte 0x4 + 1817 .4byte .LCFI8-.LFB31 + 1818 00a1 0C .byte 0xc + 1819 00a2 0F .uleb128 0xf + 1820 00a3 08 .uleb128 0x8 + 1821 00a4 8F .byte 0x8f + 1822 00a5 02 .uleb128 0x2 + 1823 00a6 A3 .byte 0xa3 + 1824 00a7 01 .uleb128 0x1 + 1825 .align 4 + 1826 .LEFDE10: + 1827 .LSFDE12: + 1828 00a8 1C000000 .4byte .LEFDE12-.LASFDE12 + 1829 .LASFDE12: + 1830 00ac 00000000 .4byte .Lframe0 + 1831 00b0 20010000 .4byte .LFB30 + 1832 00b4 E8000000 .4byte .LFE30-.LFB30 + 1833 00b8 42 .byte 0x4 + 1834 .4byte .LCFI9-.LFB30 + 1835 00b9 0E .byte 0xe + 1836 00ba 08 .uleb128 0x8 + 1837 00bb 48 .byte 0x4 + 1838 .4byte .LCFI10-.LCFI9 + 1839 00bc 0C .byte 0xc + 1840 00bd 0F .uleb128 0xf + 1841 00be 10 .uleb128 0x10 + 1842 00bf 8F .byte 0x8f + 1843 00c0 04 .uleb128 0x4 + 1844 00c1 A3 .byte 0xa3 + 1845 00c2 03 .uleb128 0x3 + 1846 00c3 87 .byte 0x87 + 1847 00c4 02 .uleb128 0x2 + 1848 00c5 86 .byte 0x86 + 1849 00c6 01 .uleb128 0x1 + 1850 00c7 00 .align 4 + 1851 .LEFDE12: + 1852 .LSFDE14: + 1853 00c8 20000000 .4byte .LEFDE14-.LASFDE14 + 1854 .LASFDE14: + 1855 00cc 00000000 .4byte .Lframe0 + 1856 00d0 08020000 .4byte .LFB24 + 1857 00d4 90010000 .4byte .LFE24-.LFB24 + BFIN GAS /tmp/ccgWA8p2.s page 53 + + + 1858 00d8 42 .byte 0x4 + 1859 .4byte .LCFI12-.LFB24 + 1860 00d9 0E .byte 0xe + 1861 00da 0C .uleb128 0xc + 1862 00db 8D .byte 0x8d + 1863 00dc 03 .uleb128 0x3 + 1864 00dd 8C .byte 0x8c + 1865 00de 02 .uleb128 0x2 + 1866 00df 8B .byte 0x8b + 1867 00e0 01 .uleb128 0x1 + 1868 00e1 4E .byte 0x4 + 1869 .4byte .LCFI13-.LCFI12 + 1870 00e2 0C .byte 0xc + 1871 00e3 0F .uleb128 0xf + 1872 00e4 14 .uleb128 0x14 + 1873 00e5 8F .byte 0x8f + 1874 00e6 05 .uleb128 0x5 + 1875 00e7 A3 .byte 0xa3 + 1876 00e8 04 .uleb128 0x4 + 1877 00e9 000000 .align 4 + 1878 .LEFDE14: + 1879 .LSFDE16: + 1880 00ec 1C000000 .4byte .LEFDE16-.LASFDE16 + 1881 .LASFDE16: + 1882 00f0 00000000 .4byte .Lframe0 + 1883 00f4 98030000 .4byte .LFB18 + 1884 00f8 74000000 .4byte .LFE18-.LFB18 + 1885 00fc 42 .byte 0x4 + 1886 .4byte .LCFI15-.LFB18 + 1887 00fd 0E .byte 0xe + 1888 00fe 08 .uleb128 0x8 + 1889 00ff 8D .byte 0x8d + 1890 0100 02 .uleb128 0x2 + 1891 0101 8C .byte 0x8c + 1892 0102 01 .uleb128 0x1 + 1893 0103 48 .byte 0x4 + 1894 .4byte .LCFI16-.LCFI15 + 1895 0104 0C .byte 0xc + 1896 0105 0F .uleb128 0xf + 1897 0106 10 .uleb128 0x10 + 1898 0107 8F .byte 0x8f + 1899 0108 04 .uleb128 0x4 + 1900 0109 A3 .byte 0xa3 + 1901 010a 03 .uleb128 0x3 + 1902 010b 00 .align 4 + 1903 .LEFDE16: + 1904 .LSFDE18: + 1905 010c 14000000 .4byte .LEFDE18-.LASFDE18 + 1906 .LASFDE18: + 1907 0110 00000000 .4byte .Lframe0 + 1908 0114 0C040000 .4byte .LFB17 + 1909 0118 20000000 .4byte .LFE17-.LFB17 + 1910 011c 44 .byte 0x4 + 1911 .4byte .LCFI19-.LFB17 + 1912 011d 0C .byte 0xc + 1913 011e 0F .uleb128 0xf + 1914 011f 08 .uleb128 0x8 + BFIN GAS /tmp/ccgWA8p2.s page 54 + + + 1915 0120 8F .byte 0x8f + 1916 0121 02 .uleb128 0x2 + 1917 0122 A3 .byte 0xa3 + 1918 0123 01 .uleb128 0x1 + 1919 .align 4 + 1920 .LEFDE18: + 1921 .LSFDE20: + 1922 0124 20000000 .4byte .LEFDE20-.LASFDE20 + 1923 .LASFDE20: + 1924 0128 00000000 .4byte .Lframe0 + 1925 012c 2C040000 .4byte .LFB23 + 1926 0130 A6000000 .4byte .LFE23-.LFB23 + 1927 0134 42 .byte 0x4 + 1928 .4byte .LCFI20-.LFB23 + 1929 0135 0E .byte 0xe + 1930 0136 0C .uleb128 0xc + 1931 0137 8D .byte 0x8d + 1932 0138 03 .uleb128 0x3 + 1933 0139 8C .byte 0x8c + 1934 013a 02 .uleb128 0x2 + 1935 013b 87 .byte 0x87 + 1936 013c 01 .uleb128 0x1 + 1937 013d 48 .byte 0x4 + 1938 .4byte .LCFI21-.LCFI20 + 1939 013e 0C .byte 0xc + 1940 013f 0F .uleb128 0xf + 1941 0140 14 .uleb128 0x14 + 1942 0141 8F .byte 0x8f + 1943 0142 05 .uleb128 0x5 + 1944 0143 A3 .byte 0xa3 + 1945 0144 04 .uleb128 0x4 + 1946 0145 000000 .align 4 + 1947 .LEFDE20: + 1948 .LSFDE22: + 1949 0148 C0000000 .4byte .LEFDE22-.LASFDE22 + 1950 .LASFDE22: + 1951 014c 00000000 .4byte .Lframe0 + 1952 0150 D4040000 .4byte .LFB32 + 1953 0154 4C010000 .4byte .LFE32-.LFB32 + 1954 0158 42 .byte 0x4 + 1955 .4byte .LCFI24-.LFB32 + 1956 0159 0E .byte 0xe + 1957 015a 04 .uleb128 0x4 + 1958 015b 42 .byte 0x4 + 1959 .4byte .LCFI25-.LCFI24 + 1960 015c 0E .byte 0xe + 1961 015d 08 .uleb128 0x8 + 1962 015e 42 .byte 0x4 + 1963 .4byte .LCFI26-.LCFI25 + 1964 015f 0E .byte 0xe + 1965 0160 0C .uleb128 0xc + 1966 0161 42 .byte 0x4 + 1967 .4byte .LCFI27-.LCFI26 + 1968 0162 0E .byte 0xe + 1969 0163 10 .uleb128 0x10 + 1970 0164 42 .byte 0x4 + 1971 .4byte .LCFI28-.LCFI27 + BFIN GAS /tmp/ccgWA8p2.s page 55 + + + 1972 0165 0E .byte 0xe + 1973 0166 14 .uleb128 0x14 + 1974 0167 42 .byte 0x4 + 1975 .4byte .LCFI29-.LCFI28 + 1976 0168 0E .byte 0xe + 1977 0169 18 .uleb128 0x18 + 1978 016a 42 .byte 0x4 + 1979 .4byte .LCFI30-.LCFI29 + 1980 016b 0E .byte 0xe + 1981 016c 1C .uleb128 0x1c + 1982 016d 42 .byte 0x4 + 1983 .4byte .LCFI31-.LCFI30 + 1984 016e 0E .byte 0xe + 1985 016f 54 .uleb128 0x54 + 1986 0170 42 .byte 0x4 + 1987 .4byte .LCFI32-.LCFI31 + 1988 0171 0E .byte 0xe + 1989 0172 58 .uleb128 0x58 + 1990 0173 42 .byte 0x4 + 1991 .4byte .LCFI33-.LCFI32 + 1992 0174 0E .byte 0xe + 1993 0175 5C .uleb128 0x5c + 1994 0176 42 .byte 0x4 + 1995 .4byte .LCFI34-.LCFI33 + 1996 0177 0E .byte 0xe + 1997 0178 60 .uleb128 0x60 + 1998 0179 42 .byte 0x4 + 1999 .4byte .LCFI35-.LCFI34 + 2000 017a 0E .byte 0xe + 2001 017b 64 .uleb128 0x64 + 2002 017c 42 .byte 0x4 + 2003 .4byte .LCFI36-.LCFI35 + 2004 017d 0E .byte 0xe + 2005 017e 68 .uleb128 0x68 + 2006 017f 42 .byte 0x4 + 2007 .4byte .LCFI37-.LCFI36 + 2008 0180 0E .byte 0xe + 2009 0181 6C .uleb128 0x6c + 2010 0182 42 .byte 0x4 + 2011 .4byte .LCFI38-.LCFI37 + 2012 0183 0E .byte 0xe + 2013 0184 70 .uleb128 0x70 + 2014 0185 42 .byte 0x4 + 2015 .4byte .LCFI39-.LCFI38 + 2016 0186 0E .byte 0xe + 2017 0187 74 .uleb128 0x74 + 2018 0188 42 .byte 0x4 + 2019 .4byte .LCFI40-.LCFI39 + 2020 0189 0E .byte 0xe + 2021 018a 78 .uleb128 0x78 + 2022 018b 42 .byte 0x4 + 2023 .4byte .LCFI41-.LCFI40 + 2024 018c 0E .byte 0xe + 2025 018d 7C .uleb128 0x7c + 2026 018e 42 .byte 0x4 + 2027 .4byte .LCFI42-.LCFI41 + 2028 018f 0E .byte 0xe + BFIN GAS /tmp/ccgWA8p2.s page 56 + + + 2029 0190 8001 .uleb128 0x80 + 2030 0192 42 .byte 0x4 + 2031 .4byte .LCFI43-.LCFI42 + 2032 0193 0E .byte 0xe + 2033 0194 8401 .uleb128 0x84 + 2034 0196 42 .byte 0x4 + 2035 .4byte .LCFI44-.LCFI43 + 2036 0197 0E .byte 0xe + 2037 0198 8801 .uleb128 0x88 + 2038 019a 42 .byte 0x4 + 2039 .4byte .LCFI45-.LCFI44 + 2040 019b 0E .byte 0xe + 2041 019c 8C01 .uleb128 0x8c + 2042 019e 42 .byte 0x4 + 2043 .4byte .LCFI46-.LCFI45 + 2044 019f 0E .byte 0xe + 2045 01a0 9001 .uleb128 0x90 + 2046 01a2 42 .byte 0x4 + 2047 .4byte .LCFI47-.LCFI46 + 2048 01a3 0E .byte 0xe + 2049 01a4 9401 .uleb128 0x94 + 2050 01a6 44 .byte 0x4 + 2051 .4byte .LCFI48-.LCFI47 + 2052 01a7 0E .byte 0xe + 2053 01a8 9C01 .uleb128 0x9c + 2054 01aa A0 .byte 0xa0 + 2055 01ab 27 .uleb128 0x27 + 2056 01ac 9F .byte 0x9f + 2057 01ad 25 .uleb128 0x25 + 2058 01ae 9E .byte 0x9e + 2059 01af 24 .uleb128 0x24 + 2060 01b0 9D .byte 0x9d + 2061 01b1 23 .uleb128 0x23 + 2062 01b2 9C .byte 0x9c + 2063 01b3 22 .uleb128 0x22 + 2064 01b4 9B .byte 0x9b + 2065 01b5 21 .uleb128 0x21 + 2066 01b6 9A .byte 0x9a + 2067 01b7 20 .uleb128 0x20 + 2068 01b8 99 .byte 0x99 + 2069 01b9 1F .uleb128 0x1f + 2070 01ba 98 .byte 0x98 + 2071 01bb 1E .uleb128 0x1e + 2072 01bc 97 .byte 0x97 + 2073 01bd 1D .uleb128 0x1d + 2074 01be 96 .byte 0x96 + 2075 01bf 1C .uleb128 0x1c + 2076 01c0 95 .byte 0x95 + 2077 01c1 1B .uleb128 0x1b + 2078 01c2 94 .byte 0x94 + 2079 01c3 1A .uleb128 0x1a + 2080 01c4 93 .byte 0x93 + 2081 01c5 19 .uleb128 0x19 + 2082 01c6 92 .byte 0x92 + 2083 01c7 18 .uleb128 0x18 + 2084 01c8 91 .byte 0x91 + 2085 01c9 17 .uleb128 0x17 + BFIN GAS /tmp/ccgWA8p2.s page 57 + + + 2086 01ca 90 .byte 0x90 + 2087 01cb 16 .uleb128 0x16 + 2088 01cc 8D .byte 0x8d + 2089 01cd 15 .uleb128 0x15 + 2090 01ce 8C .byte 0x8c + 2091 01cf 14 .uleb128 0x14 + 2092 01d0 8B .byte 0x8b + 2093 01d1 13 .uleb128 0x13 + 2094 01d2 8A .byte 0x8a + 2095 01d3 12 .uleb128 0x12 + 2096 01d4 89 .byte 0x89 + 2097 01d5 11 .uleb128 0x11 + 2098 01d6 88 .byte 0x88 + 2099 01d7 10 .uleb128 0x10 + 2100 01d8 87 .byte 0x87 + 2101 01d9 0F .uleb128 0xf + 2102 01da 86 .byte 0x86 + 2103 01db 0E .uleb128 0xe + 2104 01dc 85 .byte 0x85 + 2105 01dd 0D .uleb128 0xd + 2106 01de 84 .byte 0x84 + 2107 01df 0C .uleb128 0xc + 2108 01e0 83 .byte 0x83 + 2109 01e1 0B .uleb128 0xb + 2110 01e2 82 .byte 0x82 + 2111 01e3 0A .uleb128 0xa + 2112 01e4 81 .byte 0x81 + 2113 01e5 09 .uleb128 0x9 + 2114 01e6 80 .byte 0x80 + 2115 01e7 08 .uleb128 0x8 + 2116 01e8 B1 .byte 0xb1 + 2117 01e9 07 .uleb128 0x7 + 2118 01ea B0 .byte 0xb0 + 2119 01eb 06 .uleb128 0x6 + 2120 01ec AF .byte 0xaf + 2121 01ed 05 .uleb128 0x5 + 2122 01ee AE .byte 0xae + 2123 01ef 04 .uleb128 0x4 + 2124 01f0 AD .byte 0xad + 2125 01f1 03 .uleb128 0x3 + 2126 01f2 AC .byte 0xac + 2127 01f3 02 .uleb128 0x2 + 2128 01f4 A8 .byte 0xa8 + 2129 01f5 01 .uleb128 0x1 + 2130 01f6 48 .byte 0x4 + 2131 .4byte .LCFI49-.LCFI48 + 2132 01f7 0E .byte 0xe + 2133 01f8 A401 .uleb128 0xa4 + 2134 01fa 46 .byte 0x4 + 2135 .4byte .LCFI50-.LCFI49 + 2136 01fb 0E .byte 0xe + 2137 01fc A801 .uleb128 0xa8 + 2138 01fe 44 .byte 0x4 + 2139 .4byte .LCFI51-.LCFI50 + 2140 01ff 0C .byte 0xc + 2141 0200 0F .uleb128 0xf + 2142 0201 B001 .uleb128 0xb0 + BFIN GAS /tmp/ccgWA8p2.s page 58 + + + 2143 0203 8F .byte 0x8f + 2144 0204 2C .uleb128 0x2c + 2145 0205 A3 .byte 0xa3 + 2146 0206 2B .uleb128 0x2b + 2147 0207 A4 .byte 0xa4 + 2148 0208 2A .uleb128 0x2a + 2149 0209 A1 .byte 0xa1 + 2150 020a 29 .uleb128 0x29 + 2151 020b 00 .align 4 + 2152 .LEFDE22: + 2153 .LSFDE24: + 2154 020c 1C000000 .4byte .LEFDE24-.LASFDE24 + 2155 .LASFDE24: + 2156 0210 00000000 .4byte .Lframe0 + 2157 0214 20060000 .4byte .LFB21 + 2158 0218 62000000 .4byte .LFE21-.LFB21 + 2159 021c 42 .byte 0x4 + 2160 .4byte .LCFI53-.LFB21 + 2161 021d 0E .byte 0xe + 2162 021e 08 .uleb128 0x8 + 2163 021f 8D .byte 0x8d + 2164 0220 02 .uleb128 0x2 + 2165 0221 87 .byte 0x87 + 2166 0222 01 .uleb128 0x1 + 2167 0223 5C .byte 0x4 + 2168 .4byte .LCFI54-.LCFI53 + 2169 0224 0C .byte 0xc + 2170 0225 0F .uleb128 0xf + 2171 0226 10 .uleb128 0x10 + 2172 0227 8F .byte 0x8f + 2173 0228 04 .uleb128 0x4 + 2174 0229 A3 .byte 0xa3 + 2175 022a 03 .uleb128 0x3 + 2176 022b 00 .align 4 + 2177 .LEFDE24: + 2178 .LSFDE26: + 2179 022c 1C000000 .4byte .LEFDE26-.LASFDE26 + 2180 .LASFDE26: + 2181 0230 00000000 .4byte .Lframe0 + 2182 0234 84060000 .4byte .LFB20 + 2183 0238 60000000 .4byte .LFE20-.LFB20 + 2184 023c 42 .byte 0x4 + 2185 .4byte .LCFI56-.LFB20 + 2186 023d 0E .byte 0xe + 2187 023e 08 .uleb128 0x8 + 2188 023f 8D .byte 0x8d + 2189 0240 02 .uleb128 0x2 + 2190 0241 87 .byte 0x87 + 2191 0242 01 .uleb128 0x1 + 2192 0243 5A .byte 0x4 + 2193 .4byte .LCFI57-.LCFI56 + 2194 0244 0C .byte 0xc + 2195 0245 0F .uleb128 0xf + 2196 0246 10 .uleb128 0x10 + 2197 0247 8F .byte 0x8f + 2198 0248 04 .uleb128 0x4 + 2199 0249 A3 .byte 0xa3 + BFIN GAS /tmp/ccgWA8p2.s page 59 + + + 2200 024a 03 .uleb128 0x3 + 2201 024b 00 .align 4 + 2202 .LEFDE26: + 2203 .LSFDE28: + 2204 024c 24000000 .4byte .LEFDE28-.LASFDE28 + 2205 .LASFDE28: + 2206 0250 00000000 .4byte .Lframe0 + 2207 0254 E4060000 .4byte .LFB22 + 2208 0258 0C020000 .4byte .LFE22-.LFB22 + 2209 025c 42 .byte 0x4 + 2210 .4byte .LCFI59-.LFB22 + 2211 025d 0E .byte 0xe + 2212 025e 14 .uleb128 0x14 + 2213 025f 8D .byte 0x8d + 2214 0260 05 .uleb128 0x5 + 2215 0261 8C .byte 0x8c + 2216 0262 04 .uleb128 0x4 + 2217 0263 8B .byte 0x8b + 2218 0264 03 .uleb128 0x3 + 2219 0265 87 .byte 0x87 + 2220 0266 02 .uleb128 0x2 + 2221 0267 86 .byte 0x86 + 2222 0268 01 .uleb128 0x1 + 2223 0269 48 .byte 0x4 + 2224 .4byte .LCFI60-.LCFI59 + 2225 026a 0C .byte 0xc + 2226 026b 0F .uleb128 0xf + 2227 026c 1C .uleb128 0x1c + 2228 026d 8F .byte 0x8f + 2229 026e 07 .uleb128 0x7 + 2230 026f A3 .byte 0xa3 + 2231 0270 06 .uleb128 0x6 + 2232 0271 000000 .align 4 + 2233 .LEFDE28: + 2234 .text; + 2235 .Letext0: + 2236 .section .debug_loc,"",@progbits + 2237 .Ldebug_loc0: + 2238 .LLST0: + 2239 0000 00000000 .4byte .LFB25-.Ltext0 + 2240 0004 1E000000 .4byte .LCFI0-.Ltext0 + 2241 0008 0100 .2byte 0x1 + 2242 000a 5E .byte 0x5e + 2243 000b 1E000000 .4byte .LCFI0-.Ltext0 + 2244 000f 28000000 .4byte .LFE25-.Ltext0 + 2245 0013 0200 .2byte 0x2 + 2246 0015 7F .byte 0x7f + 2247 0016 08 .sleb128 8 + 2248 0017 00000000 .4byte 0x0 + 2249 001b 00000000 .4byte 0x0 + 2250 .LLST1: + 2251 001f 00000000 .4byte .LVL0-.Ltext0 + 2252 0023 10000000 .4byte .LVL2-.Ltext0 + 2253 0027 0100 .2byte 0x1 + 2254 0029 50 .byte 0x50 + 2255 002a 00000000 .4byte 0x0 + 2256 002e 00000000 .4byte 0x0 + BFIN GAS /tmp/ccgWA8p2.s page 60 + + + 2257 .LLST2: + 2258 0032 0A000000 .4byte .LVL1-.Ltext0 + 2259 0036 10000000 .4byte .LVL2-.Ltext0 + 2260 003a 0100 .2byte 0x1 + 2261 003c 51 .byte 0x51 + 2262 003d 10000000 .4byte .LVL2-.Ltext0 + 2263 0041 28000000 .4byte .LFE25-.Ltext0 + 2264 0045 0100 .2byte 0x1 + 2265 0047 50 .byte 0x50 + 2266 0048 00000000 .4byte 0x0 + 2267 004c 00000000 .4byte 0x0 + 2268 .LLST3: + 2269 0050 28000000 .4byte .LFB26-.Ltext0 + 2270 0054 3E000000 .4byte .LCFI1-.Ltext0 + 2271 0058 0100 .2byte 0x1 + 2272 005a 5E .byte 0x5e + 2273 005b 3E000000 .4byte .LCFI1-.Ltext0 + 2274 005f 50000000 .4byte .LFE26-.Ltext0 + 2275 0063 0200 .2byte 0x2 + 2276 0065 7F .byte 0x7f + 2277 0066 08 .sleb128 8 + 2278 0067 00000000 .4byte 0x0 + 2279 006b 00000000 .4byte 0x0 + 2280 .LLST4: + 2281 006f 28000000 .4byte .LVL3-.Ltext0 + 2282 0073 36000000 .4byte .LVL6-.Ltext0 + 2283 0077 0100 .2byte 0x1 + 2284 0079 50 .byte 0x50 + 2285 007a 00000000 .4byte 0x0 + 2286 007e 00000000 .4byte 0x0 + 2287 .LLST5: + 2288 0082 50000000 .4byte .LFB27-.Ltext0 + 2289 0086 68000000 .4byte .LCFI2-.Ltext0 + 2290 008a 0100 .2byte 0x1 + 2291 008c 5E .byte 0x5e + 2292 008d 68000000 .4byte .LCFI2-.Ltext0 + 2293 0091 72000000 .4byte .LFE27-.Ltext0 + 2294 0095 0200 .2byte 0x2 + 2295 0097 7F .byte 0x7f + 2296 0098 08 .sleb128 8 + 2297 0099 00000000 .4byte 0x0 + 2298 009d 00000000 .4byte 0x0 + 2299 .LLST6: + 2300 00a1 50000000 .4byte .LVL7-.Ltext0 + 2301 00a5 5A000000 .4byte .LVL8-.Ltext0 + 2302 00a9 0100 .2byte 0x1 + 2303 00ab 50 .byte 0x50 + 2304 00ac 00000000 .4byte 0x0 + 2305 00b0 00000000 .4byte 0x0 + 2306 .LLST7: + 2307 00b4 50000000 .4byte .LVL7-.Ltext0 + 2308 00b8 5C000000 .4byte .LVL9-.Ltext0 + 2309 00bc 0100 .2byte 0x1 + 2310 00be 51 .byte 0x51 + 2311 00bf 00000000 .4byte 0x0 + 2312 00c3 00000000 .4byte 0x0 + 2313 .LLST8: + BFIN GAS /tmp/ccgWA8p2.s page 61 + + + 2314 00c7 5A000000 .4byte .LVL8-.Ltext0 + 2315 00cb 5C000000 .4byte .LVL9-.Ltext0 + 2316 00cf 0100 .2byte 0x1 + 2317 00d1 50 .byte 0x50 + 2318 00d2 5C000000 .4byte .LVL9-.Ltext0 + 2319 00d6 72000000 .4byte .LFE27-.Ltext0 + 2320 00da 0100 .2byte 0x1 + 2321 00dc 51 .byte 0x51 + 2322 00dd 00000000 .4byte 0x0 + 2323 00e1 00000000 .4byte 0x0 + 2324 .LLST9: + 2325 00e5 74000000 .4byte .LFB28-.Ltext0 + 2326 00e9 78000000 .4byte .LCFI3-.Ltext0 + 2327 00ed 0100 .2byte 0x1 + 2328 00ef 5E .byte 0x5e + 2329 00f0 78000000 .4byte .LCFI3-.Ltext0 + 2330 00f4 82000000 .4byte .LFE28-.Ltext0 + 2331 00f8 0200 .2byte 0x2 + 2332 00fa 7F .byte 0x7f + 2333 00fb 08 .sleb128 8 + 2334 00fc 00000000 .4byte 0x0 + 2335 0100 00000000 .4byte 0x0 + 2336 .LLST10: + 2337 0104 84000000 .4byte .LFB29-.Ltext0 + 2338 0108 86000000 .4byte .LCFI4-.Ltext0 + 2339 010c 0100 .2byte 0x1 + 2340 010e 5E .byte 0x5e + 2341 010f 86000000 .4byte .LCFI4-.Ltext0 + 2342 0113 90000000 .4byte .LCFI5-.Ltext0 + 2343 0117 0200 .2byte 0x2 + 2344 0119 7E .byte 0x7e + 2345 011a 04 .sleb128 4 + 2346 011b 90000000 .4byte .LCFI5-.Ltext0 + 2347 011f D2000000 .4byte .LFE29-.Ltext0 + 2348 0123 0200 .2byte 0x2 + 2349 0125 7F .byte 0x7f + 2350 0126 0C .sleb128 12 + 2351 0127 00000000 .4byte 0x0 + 2352 012b 00000000 .4byte 0x0 + 2353 .LLST11: + 2354 012f 84000000 .4byte .LVL10-.Ltext0 + 2355 0133 8C000000 .4byte .LVL11-.Ltext0 + 2356 0137 0100 .2byte 0x1 + 2357 0139 50 .byte 0x50 + 2358 013a 8C000000 .4byte .LVL11-.Ltext0 + 2359 013e C4000000 .4byte .LVL12-.Ltext0 + 2360 0142 0100 .2byte 0x1 + 2361 0144 57 .byte 0x57 + 2362 0145 C6000000 .4byte .LVL13-.Ltext0 + 2363 0149 D0000000 .4byte .LVL14-.Ltext0 + 2364 014d 0100 .2byte 0x1 + 2365 014f 57 .byte 0x57 + 2366 0150 00000000 .4byte 0x0 + 2367 0154 00000000 .4byte 0x0 + 2368 .LLST12: + 2369 0158 D4000000 .4byte .LFB31-.Ltext0 + 2370 015c DC000000 .4byte .LCFI8-.Ltext0 + BFIN GAS /tmp/ccgWA8p2.s page 62 + + + 2371 0160 0100 .2byte 0x1 + 2372 0162 5E .byte 0x5e + 2373 0163 DC000000 .4byte .LCFI8-.Ltext0 + 2374 0167 20010000 .4byte .LFE31-.Ltext0 + 2375 016b 0200 .2byte 0x2 + 2376 016d 7F .byte 0x7f + 2377 016e 08 .sleb128 8 + 2378 016f 00000000 .4byte 0x0 + 2379 0173 00000000 .4byte 0x0 + 2380 .LLST13: + 2381 0177 20010000 .4byte .LFB30-.Ltext0 + 2382 017b 22010000 .4byte .LCFI9-.Ltext0 + 2383 017f 0100 .2byte 0x1 + 2384 0181 5E .byte 0x5e + 2385 0182 22010000 .4byte .LCFI9-.Ltext0 + 2386 0186 2A010000 .4byte .LCFI10-.Ltext0 + 2387 018a 0200 .2byte 0x2 + 2388 018c 7E .byte 0x7e + 2389 018d 08 .sleb128 8 + 2390 018e 2A010000 .4byte .LCFI10-.Ltext0 + 2391 0192 08020000 .4byte .LFE30-.Ltext0 + 2392 0196 0200 .2byte 0x2 + 2393 0198 7F .byte 0x7f + 2394 0199 10 .sleb128 16 + 2395 019a 00000000 .4byte 0x0 + 2396 019e 00000000 .4byte 0x0 + 2397 .LLST14: + 2398 01a2 08020000 .4byte .LFB24-.Ltext0 + 2399 01a6 0A020000 .4byte .LCFI12-.Ltext0 + 2400 01aa 0100 .2byte 0x1 + 2401 01ac 5E .byte 0x5e + 2402 01ad 0A020000 .4byte .LCFI12-.Ltext0 + 2403 01b1 18020000 .4byte .LCFI13-.Ltext0 + 2404 01b5 0200 .2byte 0x2 + 2405 01b7 7E .byte 0x7e + 2406 01b8 0C .sleb128 12 + 2407 01b9 18020000 .4byte .LCFI13-.Ltext0 + 2408 01bd 98030000 .4byte .LFE24-.Ltext0 + 2409 01c1 0200 .2byte 0x2 + 2410 01c3 7F .byte 0x7f + 2411 01c4 14 .sleb128 20 + 2412 01c5 00000000 .4byte 0x0 + 2413 01c9 00000000 .4byte 0x0 + 2414 .LLST15: + 2415 01cd 3A020000 .4byte .LVL16-.Ltext0 + 2416 01d1 5E020000 .4byte .LVL18-.Ltext0 + 2417 01d5 0100 .2byte 0x1 + 2418 01d7 5D .byte 0x5d + 2419 01d8 60020000 .4byte .LVL19-.Ltext0 + 2420 01dc 68020000 .4byte .LVL20-.Ltext0 + 2421 01e0 0100 .2byte 0x1 + 2422 01e2 5D .byte 0x5d + 2423 01e3 FA020000 .4byte .LVL30-.Ltext0 + 2424 01e7 34030000 .4byte .LVL32-.Ltext0 + 2425 01eb 0100 .2byte 0x1 + 2426 01ed 5D .byte 0x5d + 2427 01ee 68030000 .4byte .LVL37-.Ltext0 + BFIN GAS /tmp/ccgWA8p2.s page 63 + + + 2428 01f2 92030000 .4byte .LVL38-.Ltext0 + 2429 01f6 0100 .2byte 0x1 + 2430 01f8 5D .byte 0x5d + 2431 01f9 00000000 .4byte 0x0 + 2432 01fd 00000000 .4byte 0x0 + 2433 .LLST16: + 2434 0201 32020000 .4byte .LVL15-.Ltext0 + 2435 0205 3A020000 .4byte .LVL16-.Ltext0 + 2436 0209 0100 .2byte 0x1 + 2437 020b 5A .byte 0x5a + 2438 020c EE020000 .4byte .LVL28-.Ltext0 + 2439 0210 F2020000 .4byte .LVL29-.Ltext0 + 2440 0214 0100 .2byte 0x1 + 2441 0216 5A .byte 0x5a + 2442 0217 00000000 .4byte 0x0 + 2443 021b 00000000 .4byte 0x0 + 2444 .LLST17: + 2445 021f 58020000 .4byte .LVL17-.Ltext0 + 2446 0223 60020000 .4byte .LVL19-.Ltext0 + 2447 0227 0100 .2byte 0x1 + 2448 0229 5A .byte 0x5a + 2449 022a 80020000 .4byte .LVL22-.Ltext0 + 2450 022e 88020000 .4byte .LVL23-.Ltext0 + 2451 0232 0100 .2byte 0x1 + 2452 0234 51 .byte 0x51 + 2453 0235 B0020000 .4byte .LVL25-.Ltext0 + 2454 0239 C0020000 .4byte .LVL27-.Ltext0 + 2455 023d 0100 .2byte 0x1 + 2456 023f 5A .byte 0x5a + 2457 0240 38030000 .4byte .LVL33-.Ltext0 + 2458 0244 4C030000 .4byte .LVL35-.Ltext0 + 2459 0248 0100 .2byte 0x1 + 2460 024a 51 .byte 0x51 + 2461 024b 94030000 .4byte .LVL39-.Ltext0 + 2462 024f 98030000 .4byte .LFE24-.Ltext0 + 2463 0253 0100 .2byte 0x1 + 2464 0255 5A .byte 0x5a + 2465 0256 00000000 .4byte 0x0 + 2466 025a 00000000 .4byte 0x0 + 2467 .LLST18: + 2468 025e 72020000 .4byte .LVL21-.Ltext0 + 2469 0262 88020000 .4byte .LVL23-.Ltext0 + 2470 0266 0100 .2byte 0x1 + 2471 0268 5A .byte 0x5a + 2472 0269 34030000 .4byte .LVL32-.Ltext0 + 2473 026d 40030000 .4byte .LVL34-.Ltext0 + 2474 0271 0100 .2byte 0x1 + 2475 0273 5A .byte 0x5a + 2476 0274 00000000 .4byte 0x0 + 2477 0278 00000000 .4byte 0x0 + 2478 .LLST19: + 2479 027c 9E020000 .4byte .LVL24-.Ltext0 + 2480 0280 B4020000 .4byte .LVL26-.Ltext0 + 2481 0284 0100 .2byte 0x1 + 2482 0286 59 .byte 0x59 + 2483 0287 92030000 .4byte .LVL38-.Ltext0 + 2484 028b 98030000 .4byte .LFE24-.Ltext0 + BFIN GAS /tmp/ccgWA8p2.s page 64 + + + 2485 028f 0100 .2byte 0x1 + 2486 0291 59 .byte 0x59 + 2487 0292 00000000 .4byte 0x0 + 2488 0296 00000000 .4byte 0x0 + 2489 .LLST20: + 2490 029a 98030000 .4byte .LFB18-.Ltext0 + 2491 029e 9A030000 .4byte .LCFI15-.Ltext0 + 2492 02a2 0100 .2byte 0x1 + 2493 02a4 5E .byte 0x5e + 2494 02a5 9A030000 .4byte .LCFI15-.Ltext0 + 2495 02a9 A2030000 .4byte .LCFI16-.Ltext0 + 2496 02ad 0200 .2byte 0x2 + 2497 02af 7E .byte 0x7e + 2498 02b0 08 .sleb128 8 + 2499 02b1 A2030000 .4byte .LCFI16-.Ltext0 + 2500 02b5 0C040000 .4byte .LFE18-.Ltext0 + 2501 02b9 0200 .2byte 0x2 + 2502 02bb 7F .byte 0x7f + 2503 02bc 10 .sleb128 16 + 2504 02bd 00000000 .4byte 0x0 + 2505 02c1 00000000 .4byte 0x0 + 2506 .LLST21: + 2507 02c5 FC030000 .4byte .LVL40-.Ltext0 + 2508 02c9 FC030000 .4byte .LVL41-.Ltext0 + 2509 02cd 0100 .2byte 0x1 + 2510 02cf 50 .byte 0x50 + 2511 02d0 08040000 .4byte .LVL42-.Ltext0 + 2512 02d4 0A040000 .4byte .LVL43-.Ltext0 + 2513 02d8 0100 .2byte 0x1 + 2514 02da 50 .byte 0x50 + 2515 02db 00000000 .4byte 0x0 + 2516 02df 00000000 .4byte 0x0 + 2517 .LLST22: + 2518 02e3 0C040000 .4byte .LFB17-.Ltext0 + 2519 02e7 10040000 .4byte .LCFI19-.Ltext0 + 2520 02eb 0100 .2byte 0x1 + 2521 02ed 5E .byte 0x5e + 2522 02ee 10040000 .4byte .LCFI19-.Ltext0 + 2523 02f2 2C040000 .4byte .LFE17-.Ltext0 + 2524 02f6 0200 .2byte 0x2 + 2525 02f8 7F .byte 0x7f + 2526 02f9 08 .sleb128 8 + 2527 02fa 00000000 .4byte 0x0 + 2528 02fe 00000000 .4byte 0x0 + 2529 .LLST23: + 2530 0302 2C040000 .4byte .LFB23-.Ltext0 + 2531 0306 2E040000 .4byte .LCFI20-.Ltext0 + 2532 030a 0100 .2byte 0x1 + 2533 030c 5E .byte 0x5e + 2534 030d 2E040000 .4byte .LCFI20-.Ltext0 + 2535 0311 36040000 .4byte .LCFI21-.Ltext0 + 2536 0315 0200 .2byte 0x2 + 2537 0317 7E .byte 0x7e + 2538 0318 0C .sleb128 12 + 2539 0319 36040000 .4byte .LCFI21-.Ltext0 + 2540 031d D2040000 .4byte .LFE23-.Ltext0 + 2541 0321 0200 .2byte 0x2 + BFIN GAS /tmp/ccgWA8p2.s page 65 + + + 2542 0323 7F .byte 0x7f + 2543 0324 14 .sleb128 20 + 2544 0325 00000000 .4byte 0x0 + 2545 0329 00000000 .4byte 0x0 + 2546 .LLST24: + 2547 032d 48040000 .4byte .LVL44-.Ltext0 + 2548 0331 4A040000 .4byte .LVL45-.Ltext0 + 2549 0335 0100 .2byte 0x1 + 2550 0337 50 .byte 0x50 + 2551 0338 CE040000 .4byte .LVL46-.Ltext0 + 2552 033c CE040000 .4byte .LVL47-.Ltext0 + 2553 0340 0100 .2byte 0x1 + 2554 0342 50 .byte 0x50 + 2555 0343 00000000 .4byte 0x0 + 2556 0347 00000000 .4byte 0x0 + 2557 .LLST25: + 2558 034b D4040000 .4byte .LFB32-.Ltext0 + 2559 034f D6040000 .4byte .LCFI24-.Ltext0 + 2560 0353 0100 .2byte 0x1 + 2561 0355 5E .byte 0x5e + 2562 0356 D6040000 .4byte .LCFI24-.Ltext0 + 2563 035a D8040000 .4byte .LCFI25-.Ltext0 + 2564 035e 0200 .2byte 0x2 + 2565 0360 7E .byte 0x7e + 2566 0361 04 .sleb128 4 + 2567 0362 D8040000 .4byte .LCFI25-.Ltext0 + 2568 0366 DA040000 .4byte .LCFI26-.Ltext0 + 2569 036a 0200 .2byte 0x2 + 2570 036c 7E .byte 0x7e + 2571 036d 08 .sleb128 8 + 2572 036e DA040000 .4byte .LCFI26-.Ltext0 + 2573 0372 DC040000 .4byte .LCFI27-.Ltext0 + 2574 0376 0200 .2byte 0x2 + 2575 0378 7E .byte 0x7e + 2576 0379 0C .sleb128 12 + 2577 037a DC040000 .4byte .LCFI27-.Ltext0 + 2578 037e DE040000 .4byte .LCFI28-.Ltext0 + 2579 0382 0200 .2byte 0x2 + 2580 0384 7E .byte 0x7e + 2581 0385 10 .sleb128 16 + 2582 0386 DE040000 .4byte .LCFI28-.Ltext0 + 2583 038a E0040000 .4byte .LCFI29-.Ltext0 + 2584 038e 0200 .2byte 0x2 + 2585 0390 7E .byte 0x7e + 2586 0391 14 .sleb128 20 + 2587 0392 E0040000 .4byte .LCFI29-.Ltext0 + 2588 0396 E2040000 .4byte .LCFI30-.Ltext0 + 2589 039a 0200 .2byte 0x2 + 2590 039c 7E .byte 0x7e + 2591 039d 18 .sleb128 24 + 2592 039e E2040000 .4byte .LCFI30-.Ltext0 + 2593 03a2 E4040000 .4byte .LCFI31-.Ltext0 + 2594 03a6 0200 .2byte 0x2 + 2595 03a8 7E .byte 0x7e + 2596 03a9 1C .sleb128 28 + 2597 03aa E4040000 .4byte .LCFI31-.Ltext0 + 2598 03ae E6040000 .4byte .LCFI32-.Ltext0 + BFIN GAS /tmp/ccgWA8p2.s page 66 + + + 2599 03b2 0300 .2byte 0x3 + 2600 03b4 7E .byte 0x7e + 2601 03b5 D400 .sleb128 84 + 2602 03b7 E6040000 .4byte .LCFI32-.Ltext0 + 2603 03bb E8040000 .4byte .LCFI33-.Ltext0 + 2604 03bf 0300 .2byte 0x3 + 2605 03c1 7E .byte 0x7e + 2606 03c2 D800 .sleb128 88 + 2607 03c4 E8040000 .4byte .LCFI33-.Ltext0 + 2608 03c8 EA040000 .4byte .LCFI34-.Ltext0 + 2609 03cc 0300 .2byte 0x3 + 2610 03ce 7E .byte 0x7e + 2611 03cf DC00 .sleb128 92 + 2612 03d1 EA040000 .4byte .LCFI34-.Ltext0 + 2613 03d5 EC040000 .4byte .LCFI35-.Ltext0 + 2614 03d9 0300 .2byte 0x3 + 2615 03db 7E .byte 0x7e + 2616 03dc E000 .sleb128 96 + 2617 03de EC040000 .4byte .LCFI35-.Ltext0 + 2618 03e2 EE040000 .4byte .LCFI36-.Ltext0 + 2619 03e6 0300 .2byte 0x3 + 2620 03e8 7E .byte 0x7e + 2621 03e9 E400 .sleb128 100 + 2622 03eb EE040000 .4byte .LCFI36-.Ltext0 + 2623 03ef F0040000 .4byte .LCFI37-.Ltext0 + 2624 03f3 0300 .2byte 0x3 + 2625 03f5 7E .byte 0x7e + 2626 03f6 E800 .sleb128 104 + 2627 03f8 F0040000 .4byte .LCFI37-.Ltext0 + 2628 03fc F2040000 .4byte .LCFI38-.Ltext0 + 2629 0400 0300 .2byte 0x3 + 2630 0402 7E .byte 0x7e + 2631 0403 EC00 .sleb128 108 + 2632 0405 F2040000 .4byte .LCFI38-.Ltext0 + 2633 0409 F4040000 .4byte .LCFI39-.Ltext0 + 2634 040d 0300 .2byte 0x3 + 2635 040f 7E .byte 0x7e + 2636 0410 F000 .sleb128 112 + 2637 0412 F4040000 .4byte .LCFI39-.Ltext0 + 2638 0416 F6040000 .4byte .LCFI40-.Ltext0 + 2639 041a 0300 .2byte 0x3 + 2640 041c 7E .byte 0x7e + 2641 041d F400 .sleb128 116 + 2642 041f F6040000 .4byte .LCFI40-.Ltext0 + 2643 0423 F8040000 .4byte .LCFI41-.Ltext0 + 2644 0427 0300 .2byte 0x3 + 2645 0429 7E .byte 0x7e + 2646 042a F800 .sleb128 120 + 2647 042c F8040000 .4byte .LCFI41-.Ltext0 + 2648 0430 FA040000 .4byte .LCFI42-.Ltext0 + 2649 0434 0300 .2byte 0x3 + 2650 0436 7E .byte 0x7e + 2651 0437 FC00 .sleb128 124 + 2652 0439 FA040000 .4byte .LCFI42-.Ltext0 + 2653 043d FC040000 .4byte .LCFI43-.Ltext0 + 2654 0441 0300 .2byte 0x3 + 2655 0443 7E .byte 0x7e + BFIN GAS /tmp/ccgWA8p2.s page 67 + + + 2656 0444 8001 .sleb128 128 + 2657 0446 FC040000 .4byte .LCFI43-.Ltext0 + 2658 044a FE040000 .4byte .LCFI44-.Ltext0 + 2659 044e 0300 .2byte 0x3 + 2660 0450 7E .byte 0x7e + 2661 0451 8401 .sleb128 132 + 2662 0453 FE040000 .4byte .LCFI44-.Ltext0 + 2663 0457 00050000 .4byte .LCFI45-.Ltext0 + 2664 045b 0300 .2byte 0x3 + 2665 045d 7E .byte 0x7e + 2666 045e 8801 .sleb128 136 + 2667 0460 00050000 .4byte .LCFI45-.Ltext0 + 2668 0464 02050000 .4byte .LCFI46-.Ltext0 + 2669 0468 0300 .2byte 0x3 + 2670 046a 7E .byte 0x7e + 2671 046b 8C01 .sleb128 140 + 2672 046d 02050000 .4byte .LCFI46-.Ltext0 + 2673 0471 04050000 .4byte .LCFI47-.Ltext0 + 2674 0475 0300 .2byte 0x3 + 2675 0477 7E .byte 0x7e + 2676 0478 9001 .sleb128 144 + 2677 047a 04050000 .4byte .LCFI47-.Ltext0 + 2678 047e 08050000 .4byte .LCFI48-.Ltext0 + 2679 0482 0300 .2byte 0x3 + 2680 0484 7E .byte 0x7e + 2681 0485 9401 .sleb128 148 + 2682 0487 08050000 .4byte .LCFI48-.Ltext0 + 2683 048b 10050000 .4byte .LCFI49-.Ltext0 + 2684 048f 0300 .2byte 0x3 + 2685 0491 7E .byte 0x7e + 2686 0492 9C01 .sleb128 156 + 2687 0494 10050000 .4byte .LCFI49-.Ltext0 + 2688 0498 16050000 .4byte .LCFI50-.Ltext0 + 2689 049c 0300 .2byte 0x3 + 2690 049e 7E .byte 0x7e + 2691 049f A401 .sleb128 164 + 2692 04a1 16050000 .4byte .LCFI50-.Ltext0 + 2693 04a5 1A050000 .4byte .LCFI51-.Ltext0 + 2694 04a9 0300 .2byte 0x3 + 2695 04ab 7E .byte 0x7e + 2696 04ac A801 .sleb128 168 + 2697 04ae 1A050000 .4byte .LCFI51-.Ltext0 + 2698 04b2 20060000 .4byte .LFE32-.Ltext0 + 2699 04b6 0300 .2byte 0x3 + 2700 04b8 7F .byte 0x7f + 2701 04b9 B001 .sleb128 176 + 2702 04bb 00000000 .4byte 0x0 + 2703 04bf 00000000 .4byte 0x0 + 2704 .LLST26: + 2705 04c3 6A050000 .4byte .LVL49-.Ltext0 + 2706 04c7 B0050000 .4byte .LVL50-.Ltext0 + 2707 04cb 0100 .2byte 0x1 + 2708 04cd 51 .byte 0x51 + 2709 04ce C8050000 .4byte .LVL52-.Ltext0 + 2710 04d2 D4050000 .4byte .LVL53-.Ltext0 + 2711 04d6 0100 .2byte 0x1 + 2712 04d8 51 .byte 0x51 + BFIN GAS /tmp/ccgWA8p2.s page 68 + + + 2713 04d9 00000000 .4byte 0x0 + 2714 04dd 00000000 .4byte 0x0 + 2715 .LLST27: + 2716 04e1 58050000 .4byte .LVL48-.Ltext0 + 2717 04e5 B0050000 .4byte .LVL50-.Ltext0 + 2718 04e9 0100 .2byte 0x1 + 2719 04eb 52 .byte 0x52 + 2720 04ec C0050000 .4byte .LVL51-.Ltext0 + 2721 04f0 E0050000 .4byte .LVL54-.Ltext0 + 2722 04f4 0100 .2byte 0x1 + 2723 04f6 52 .byte 0x52 + 2724 04f7 00000000 .4byte 0x0 + 2725 04fb 00000000 .4byte 0x0 + 2726 .LLST28: + 2727 04ff 20060000 .4byte .LFB21-.Ltext0 + 2728 0503 22060000 .4byte .LCFI53-.Ltext0 + 2729 0507 0100 .2byte 0x1 + 2730 0509 5E .byte 0x5e + 2731 050a 22060000 .4byte .LCFI53-.Ltext0 + 2732 050e 3E060000 .4byte .LCFI54-.Ltext0 + 2733 0512 0200 .2byte 0x2 + 2734 0514 7E .byte 0x7e + 2735 0515 08 .sleb128 8 + 2736 0516 3E060000 .4byte .LCFI54-.Ltext0 + 2737 051a 82060000 .4byte .LFE21-.Ltext0 + 2738 051e 0200 .2byte 0x2 + 2739 0520 7F .byte 0x7f + 2740 0521 10 .sleb128 16 + 2741 0522 00000000 .4byte 0x0 + 2742 0526 00000000 .4byte 0x0 + 2743 .LLST29: + 2744 052a 20060000 .4byte .LVL55-.Ltext0 + 2745 052e 2C060000 .4byte .LVL56-.Ltext0 + 2746 0532 0100 .2byte 0x1 + 2747 0534 50 .byte 0x50 + 2748 0535 00000000 .4byte 0x0 + 2749 0539 00000000 .4byte 0x0 + 2750 .LLST30: + 2751 053d 46060000 .4byte .LVL57-.Ltext0 + 2752 0541 56060000 .4byte .LVL58-.Ltext0 + 2753 0545 0100 .2byte 0x1 + 2754 0547 51 .byte 0x51 + 2755 0548 00000000 .4byte 0x0 + 2756 054c 00000000 .4byte 0x0 + 2757 .LLST31: + 2758 0550 84060000 .4byte .LFB20-.Ltext0 + 2759 0554 86060000 .4byte .LCFI56-.Ltext0 + 2760 0558 0100 .2byte 0x1 + 2761 055a 5E .byte 0x5e + 2762 055b 86060000 .4byte .LCFI56-.Ltext0 + 2763 055f A0060000 .4byte .LCFI57-.Ltext0 + 2764 0563 0200 .2byte 0x2 + 2765 0565 7E .byte 0x7e + 2766 0566 08 .sleb128 8 + 2767 0567 A0060000 .4byte .LCFI57-.Ltext0 + 2768 056b E4060000 .4byte .LFE20-.Ltext0 + 2769 056f 0200 .2byte 0x2 + BFIN GAS /tmp/ccgWA8p2.s page 69 + + + 2770 0571 7F .byte 0x7f + 2771 0572 10 .sleb128 16 + 2772 0573 00000000 .4byte 0x0 + 2773 0577 00000000 .4byte 0x0 + 2774 .LLST32: + 2775 057b 84060000 .4byte .LVL59-.Ltext0 + 2776 057f 9C060000 .4byte .LVL60-.Ltext0 + 2777 0583 0100 .2byte 0x1 + 2778 0585 50 .byte 0x50 + 2779 0586 00000000 .4byte 0x0 + 2780 058a 00000000 .4byte 0x0 + 2781 .LLST33: + 2782 058e A8060000 .4byte .LVL61-.Ltext0 + 2783 0592 B8060000 .4byte .LVL62-.Ltext0 + 2784 0596 0100 .2byte 0x1 + 2785 0598 51 .byte 0x51 + 2786 0599 00000000 .4byte 0x0 + 2787 059d 00000000 .4byte 0x0 + 2788 .LLST34: + 2789 05a1 E4060000 .4byte .LFB22-.Ltext0 + 2790 05a5 E6060000 .4byte .LCFI59-.Ltext0 + 2791 05a9 0100 .2byte 0x1 + 2792 05ab 5E .byte 0x5e + 2793 05ac E6060000 .4byte .LCFI59-.Ltext0 + 2794 05b0 EE060000 .4byte .LCFI60-.Ltext0 + 2795 05b4 0200 .2byte 0x2 + 2796 05b6 7E .byte 0x7e + 2797 05b7 14 .sleb128 20 + 2798 05b8 EE060000 .4byte .LCFI60-.Ltext0 + 2799 05bc F0080000 .4byte .LFE22-.Ltext0 + 2800 05c0 0200 .2byte 0x2 + 2801 05c2 7F .byte 0x7f + 2802 05c3 1C .sleb128 28 + 2803 05c4 00000000 .4byte 0x0 + 2804 05c8 00000000 .4byte 0x0 + 2805 .LLST35: + 2806 05cc 00070000 .4byte .LVL63-.Ltext0 + 2807 05d0 02070000 .4byte .LVL64-.Ltext0 + 2808 05d4 0100 .2byte 0x1 + 2809 05d6 50 .byte 0x50 + 2810 05d7 8C070000 .4byte .LVL67-.Ltext0 + 2811 05db 8C070000 .4byte .LVL68-.Ltext0 + 2812 05df 0100 .2byte 0x1 + 2813 05e1 50 .byte 0x50 + 2814 05e2 00000000 .4byte 0x0 + 2815 05e6 00000000 .4byte 0x0 + 2816 .LLST36: + 2817 05ea 48070000 .4byte .LVL65-.Ltext0 + 2818 05ee 58070000 .4byte .LVL66-.Ltext0 + 2819 05f2 0100 .2byte 0x1 + 2820 05f4 51 .byte 0x51 + 2821 05f5 00000000 .4byte 0x0 + 2822 05f9 00000000 .4byte 0x0 + 2823 .file 3 "/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib + 2824 .file 4 "src/l502_bf_cmd_defs.h" + 2825 .file 5 "src/l502_defs.h" + 2826 .file 6 "src/l502_stream.h" + BFIN GAS /tmp/ccgWA8p2.s page 70 + + + 2827 .section .debug_info + 2828 0000 0C080000 .4byte 0x80c + 2829 0004 0200 .2byte 0x2 + 2830 0006 00000000 .4byte .Ldebug_abbrev0 + 2831 000a 04 .byte 0x4 + 2832 000b 01 .uleb128 0x1 + 2833 000c 5D000000 .4byte .LASF87 + 2834 0010 01 .byte 0x1 + 2835 0011 B3000000 .4byte .LASF88 + 2836 0015 C8040000 .4byte .LASF89 + 2837 0019 00000000 .4byte .Ltext0 + 2838 001d F0080000 .4byte .Letext0 + 2839 0021 00000000 .4byte .Ldebug_line0 + 2840 0025 02 .uleb128 0x2 + 2841 0026 01 .byte 0x1 + 2842 0027 06 .byte 0x6 + 2843 0028 82030000 .4byte .LASF0 + 2844 002c 02 .uleb128 0x2 + 2845 002d 01 .byte 0x1 + 2846 002e 08 .byte 0x8 + 2847 002f 11030000 .4byte .LASF1 + 2848 0033 02 .uleb128 0x2 + 2849 0034 02 .byte 0x2 + 2850 0035 05 .byte 0x5 + 2851 0036 3D010000 .4byte .LASF2 + 2852 003a 02 .uleb128 0x2 + 2853 003b 02 .byte 0x2 + 2854 003c 07 .byte 0x7 + 2855 003d FC030000 .4byte .LASF3 + 2856 0041 03 .uleb128 0x3 + 2857 0042 45040000 .4byte .LASF5 + 2858 0046 03 .byte 0x3 + 2859 0047 4F .byte 0x4f + 2860 0048 4C000000 .4byte 0x4c + 2861 004c 02 .uleb128 0x2 + 2862 004d 04 .byte 0x4 + 2863 004e 05 .byte 0x5 + 2864 004f 56020000 .4byte .LASF4 + 2865 0053 03 .uleb128 0x3 + 2866 0054 A5030000 .4byte .LASF6 + 2867 0058 03 .byte 0x3 + 2868 0059 50 .byte 0x50 + 2869 005a 5E000000 .4byte 0x5e + 2870 005e 02 .uleb128 0x2 + 2871 005f 04 .byte 0x4 + 2872 0060 07 .byte 0x7 + 2873 0061 12050000 .4byte .LASF7 + 2874 0065 02 .uleb128 0x2 + 2875 0066 08 .byte 0x8 + 2876 0067 05 .byte 0x5 + 2877 0068 12020000 .4byte .LASF8 + 2878 006c 02 .uleb128 0x2 + 2879 006d 08 .byte 0x8 + 2880 006e 07 .byte 0x7 + 2881 006f 8E030000 .4byte .LASF9 + 2882 0073 04 .uleb128 0x4 + 2883 0074 04 .byte 0x4 + BFIN GAS /tmp/ccgWA8p2.s page 71 + + + 2884 0075 05 .byte 0x5 + 2885 0076 696E7400 .string "int" + 2886 007a 02 .uleb128 0x2 + 2887 007b 04 .byte 0x4 + 2888 007c 07 .byte 0x7 + 2889 007d AE030000 .4byte .LASF10 + 2890 0081 05 .uleb128 0x5 + 2891 0082 04 .byte 0x4 + 2892 0083 07 .byte 0x7 + 2893 0084 02 .uleb128 0x2 + 2894 0085 01 .byte 0x1 + 2895 0086 06 .byte 0x6 + 2896 0087 40040000 .4byte .LASF11 + 2897 008b 06 .uleb128 0x6 + 2898 008c 04 .byte 0x4 + 2899 008d 04 .byte 0x4 + 2900 008e 68 .byte 0x68 + 2901 008f D9000000 .4byte 0xd9 + 2902 0093 07 .uleb128 0x7 + 2903 0094 75050000 .4byte .LASF12 + 2904 0098 00 .sleb128 0 + 2905 0099 07 .uleb128 0x7 + 2906 009a 4A050000 .4byte .LASF13 + 2907 009e 807C .sleb128 -512 + 2908 00a0 07 .uleb128 0x7 + 2909 00a1 5F020000 .4byte .LASF14 + 2910 00a5 807C .sleb128 -512 + 2911 00a7 07 .uleb128 0x7 + 2912 00a8 CE020000 .4byte .LASF15 + 2913 00ac FF7B .sleb128 -513 + 2914 00ae 07 .uleb128 0x7 + 2915 00af 0F040000 .4byte .LASF16 + 2916 00b3 FE7B .sleb128 -514 + 2917 00b5 07 .uleb128 0x7 + 2918 00b6 4D040000 .4byte .LASF17 + 2919 00ba FD7B .sleb128 -515 + 2920 00bc 07 .uleb128 0x7 + 2921 00bd 2C000000 .4byte .LASF18 + 2922 00c1 FC7B .sleb128 -516 + 2923 00c3 07 .uleb128 0x7 + 2924 00c4 47010000 .4byte .LASF19 + 2925 00c8 FB7B .sleb128 -517 + 2926 00ca 07 .uleb128 0x7 + 2927 00cb 78000000 .4byte .LASF20 + 2928 00cf FA7B .sleb128 -518 + 2929 00d1 07 .uleb128 0x7 + 2930 00d2 3F020000 .4byte .LASF21 + 2931 00d6 F97B .sleb128 -519 + 2932 00d8 00 .byte 0x0 + 2933 00d9 06 .uleb128 0x6 + 2934 00da 04 .byte 0x4 + 2935 00db 04 .byte 0x4 + 2936 00dc 79 .byte 0x79 + 2937 00dd F4000000 .4byte 0xf4 + 2938 00e1 07 .uleb128 0x7 + 2939 00e2 E6050000 .4byte .LASF22 + 2940 00e6 00 .sleb128 0 + BFIN GAS /tmp/ccgWA8p2.s page 72 + + + 2941 00e7 07 .uleb128 0x7 + 2942 00e8 97020000 .4byte .LASF23 + 2943 00ec 01 .sleb128 1 + 2944 00ed 07 .uleb128 0x7 + 2945 00ee 2E040000 .4byte .LASF24 + 2946 00f2 02 .sleb128 2 + 2947 00f3 00 .byte 0x0 + 2948 00f4 06 .uleb128 0x6 + 2949 00f5 04 .byte 0x4 + 2950 00f6 05 .byte 0x5 + 2951 00f7 74 .byte 0x74 + 2952 00f8 29010000 .4byte 0x129 + 2953 00fc 07 .uleb128 0x7 + 2954 00fd 4B030000 .4byte .LASF25 + 2955 0101 01 .sleb128 1 + 2956 0102 07 .uleb128 0x7 + 2957 0103 87020000 .4byte .LASF26 + 2958 0107 02 .sleb128 2 + 2959 0108 07 .uleb128 0x7 + 2960 0109 FC000000 .4byte .LASF27 + 2961 010d 10 .sleb128 16 + 2962 010e 07 .uleb128 0x7 + 2963 010f 0D010000 .4byte .LASF28 + 2964 0113 20 .sleb128 32 + 2965 0114 07 .uleb128 0x7 + 2966 0115 5B030000 .4byte .LASF29 + 2967 0119 C000 .sleb128 64 + 2968 011b 07 .uleb128 0x7 + 2969 011c B1050000 .4byte .LASF30 + 2970 0120 03 .sleb128 3 + 2971 0121 07 .uleb128 0x7 + 2972 0122 DF010000 .4byte .LASF31 + 2973 0126 F000 .sleb128 112 + 2974 0128 00 .byte 0x0 + 2975 0129 06 .uleb128 0x6 + 2976 012a 04 .byte 0x4 + 2977 012b 06 .byte 0x6 + 2978 012c 11 .byte 0x11 + 2979 012d 4A010000 .4byte 0x14a + 2980 0131 07 .uleb128 0x7 + 2981 0132 CF000000 .4byte .LASF32 + 2982 0136 00 .sleb128 0 + 2983 0137 07 .uleb128 0x7 + 2984 0138 76040000 .4byte .LASF33 + 2985 013c 02 .sleb128 2 + 2986 013d 07 .uleb128 0x7 + 2987 013e B9010000 .4byte .LASF34 + 2988 0142 04 .sleb128 4 + 2989 0143 07 .uleb128 0x7 + 2990 0144 0F000000 .4byte .LASF35 + 2991 0148 03 .sleb128 3 + 2992 0149 00 .byte 0x0 + 2993 014a 03 .uleb128 0x3 + 2994 014b 29050000 .4byte .LASF36 + 2995 014f 06 .byte 0x6 + 2996 0150 16 .byte 0x16 + 2997 0151 29010000 .4byte 0x129 + BFIN GAS /tmp/ccgWA8p2.s page 73 + + + 2998 0155 06 .uleb128 0x6 + 2999 0156 04 .byte 0x4 + 3000 0157 06 .byte 0x6 + 3001 0158 19 .byte 0x19 + 3002 0159 7C010000 .4byte 0x17c + 3003 015d 07 .uleb128 0x7 + 3004 015e 20020000 .4byte .LASF37 + 3005 0162 00 .sleb128 0 + 3006 0163 07 .uleb128 0x7 + 3007 0164 DD030000 .4byte .LASF38 + 3008 0168 01 .sleb128 1 + 3009 0169 07 .uleb128 0x7 + 3010 016a 1D000000 .4byte .LASF39 + 3011 016e 02 .sleb128 2 + 3012 016f 07 .uleb128 0x7 + 3013 0170 30020000 .4byte .LASF40 + 3014 0174 03 .sleb128 3 + 3015 0175 07 .uleb128 0x7 + 3016 0176 0B060000 .4byte .LASF41 + 3017 017a 04 .sleb128 4 + 3018 017b 00 .byte 0x0 + 3019 017c 03 .uleb128 0x3 + 3020 017d C4050000 .4byte .LASF42 + 3021 0181 06 .byte 0x6 + 3022 0182 20 .byte 0x20 + 3023 0183 55010000 .4byte 0x155 + 3024 0187 08 .uleb128 0x8 + 3025 0188 F7020000 .4byte .LASF43 + 3026 018c 02 .byte 0x2 + 3027 018d 1401 .2byte 0x114 + 3028 018f 01 .byte 0x1 + 3029 0190 01 .byte 0x1 + 3030 0191 09 .uleb128 0x9 + 3031 0192 8A010000 .4byte .LASF44 + 3032 0196 01 .byte 0x1 + 3033 0197 5B .byte 0x5b + 3034 0198 01 .byte 0x1 + 3035 0199 01 .byte 0x1 + 3036 019a 0A .uleb128 0xa + 3037 019b 01 .byte 0x1 + 3038 019c 84040000 .4byte .LASF45 + 3039 01a0 01 .byte 0x1 + 3040 01a1 7B01 .2byte 0x17b + 3041 01a3 01 .byte 0x1 + 3042 01a4 00000000 .4byte .LFB25 + 3043 01a8 28000000 .4byte .LFE25 + 3044 01ac 00000000 .4byte .LLST0 + 3045 01b0 D5010000 .4byte 0x1d5 + 3046 01b4 0B .uleb128 0xb + 3047 01b5 24050000 .4byte .LASF47 + 3048 01b9 01 .byte 0x1 + 3049 01ba 7B01 .2byte 0x17b + 3050 01bc 53000000 .4byte 0x53 + 3051 01c0 1F000000 .4byte .LLST1 + 3052 01c4 0C .uleb128 0xc + 3053 01c5 AB000000 .4byte .LASF48 + 3054 01c9 01 .byte 0x1 + BFIN GAS /tmp/ccgWA8p2.s page 74 + + + 3055 01ca 7D01 .2byte 0x17d + 3056 01cc 53000000 .4byte 0x53 + 3057 01d0 32000000 .4byte .LLST2 + 3058 01d4 00 .byte 0x0 + 3059 01d5 0A .uleb128 0xa + 3060 01d6 01 .byte 0x1 + 3061 01d7 AB020000 .4byte .LASF46 + 3062 01db 01 .byte 0x1 + 3063 01dc 8D01 .2byte 0x18d + 3064 01de 01 .byte 0x1 + 3065 01df 28000000 .4byte .LFB26 + 3066 01e3 50000000 .4byte .LFE26 + 3067 01e7 50000000 .4byte .LLST3 + 3068 01eb 0E020000 .4byte 0x20e + 3069 01ef 0B .uleb128 0xb + 3070 01f0 24050000 .4byte .LASF47 + 3071 01f4 01 .byte 0x1 + 3072 01f5 8D01 .2byte 0x18d + 3073 01f7 53000000 .4byte 0x53 + 3074 01fb 6F000000 .4byte .LLST4 + 3075 01ff 0D .uleb128 0xd + 3076 0200 AB000000 .4byte .LASF48 + 3077 0204 01 .byte 0x1 + 3078 0205 8E01 .2byte 0x18e + 3079 0207 53000000 .4byte 0x53 + 3080 020b 01 .byte 0x1 + 3081 020c 51 .byte 0x51 + 3082 020d 00 .byte 0x0 + 3083 020e 0A .uleb128 0xa + 3084 020f 01 .byte 0x1 + 3085 0210 00000000 .4byte .LASF49 + 3086 0214 01 .byte 0x1 + 3087 0215 9F01 .2byte 0x19f + 3088 0217 01 .byte 0x1 + 3089 0218 50000000 .4byte .LFB27 + 3090 021c 72000000 .4byte .LFE27 + 3091 0220 82000000 .4byte .LLST5 + 3092 0224 59020000 .4byte 0x259 + 3093 0228 0B .uleb128 0xb + 3094 0229 82020000 .4byte .LASF50 + 3095 022d 01 .byte 0x1 + 3096 022e 9F01 .2byte 0x19f + 3097 0230 59020000 .4byte 0x259 + 3098 0234 A1000000 .4byte .LLST6 + 3099 0238 0B .uleb128 0xb + 3100 0239 24050000 .4byte .LASF47 + 3101 023d 01 .byte 0x1 + 3102 023e 9F01 .2byte 0x19f + 3103 0240 53000000 .4byte 0x53 + 3104 0244 B4000000 .4byte .LLST7 + 3105 0248 0C .uleb128 0xc + 3106 0249 B1010000 .4byte .LASF51 + 3107 024d 01 .byte 0x1 + 3108 024e A101 .2byte 0x1a1 + 3109 0250 53000000 .4byte 0x53 + 3110 0254 C7000000 .4byte .LLST8 + 3111 0258 00 .byte 0x0 + BFIN GAS /tmp/ccgWA8p2.s page 75 + + + 3112 0259 0E .uleb128 0xe + 3113 025a 04 .byte 0x4 + 3114 025b 53000000 .4byte 0x53 + 3115 025f 0F .uleb128 0xf + 3116 0260 01 .byte 0x1 + 3117 0261 DE000000 .4byte .LASF90 + 3118 0265 01 .byte 0x1 + 3119 0266 B001 .2byte 0x1b0 + 3120 0268 01 .byte 0x1 + 3121 0269 53000000 .4byte 0x53 + 3122 026d 74000000 .4byte .LFB28 + 3123 0271 82000000 .4byte .LFE28 + 3124 0275 E5000000 .4byte .LLST9 + 3125 0279 10 .uleb128 0x10 + 3126 027a 01 .byte 0x1 + 3127 027b 89050000 .4byte .LASF58 + 3128 027f 01 .byte 0x1 + 3129 0280 C501 .2byte 0x1c5 + 3130 0282 01 .byte 0x1 + 3131 0283 41000000 .4byte 0x41 + 3132 0287 84000000 .4byte .LFB29 + 3133 028b D2000000 .4byte .LFE29 + 3134 028f 04010000 .4byte .LLST10 + 3135 0293 B4020000 .4byte 0x2b4 + 3136 0297 0B .uleb128 0xb + 3137 0298 24050000 .4byte .LASF47 + 3138 029c 01 .byte 0x1 + 3139 029d C501 .2byte 0x1c5 + 3140 029f 53000000 .4byte 0x53 + 3141 02a3 2F010000 .4byte .LLST11 + 3142 02a7 11 .uleb128 0x11 + 3143 02a8 6D756C00 .string "mul" + 3144 02ac 01 .byte 0x1 + 3145 02ad C601 .2byte 0x1c6 + 3146 02af 73000000 .4byte 0x73 + 3147 02b3 00 .byte 0x0 + 3148 02b4 12 .uleb128 0x12 + 3149 02b5 01 .byte 0x1 + 3150 02b6 04020000 .4byte .LASF52 + 3151 02ba 01 .byte 0x1 + 3152 02bb 0002 .2byte 0x200 + 3153 02bd 01 .byte 0x1 + 3154 02be 01 .byte 0x1 + 3155 02bf C6020000 .4byte 0x2c6 + 3156 02c3 13 .uleb128 0x13 + 3157 02c4 13 .uleb128 0x13 + 3158 02c5 00 .byte 0x0 + 3159 02c6 14 .uleb128 0x14 + 3160 02c7 B4020000 .4byte 0x2b4 + 3161 02cb D4000000 .4byte .LFB31 + 3162 02cf 20010000 .4byte .LFE31 + 3163 02d3 58010000 .4byte .LLST12 + 3164 02d7 FC020000 .4byte 0x2fc + 3165 02db 15 .uleb128 0x15 + 3166 02dc 87010000 .4byte 0x187 + 3167 02e0 EE000000 .4byte .LBB23 + 3168 02e4 F0000000 .4byte .LBE23 + BFIN GAS /tmp/ccgWA8p2.s page 76 + + + 3169 02e8 01 .byte 0x1 + 3170 02e9 0502 .2byte 0x205 + 3171 02eb 15 .uleb128 0x15 + 3172 02ec 87010000 .4byte 0x187 + 3173 02f0 F0000000 .4byte .LBB25 + 3174 02f4 F2000000 .4byte .LBE25 + 3175 02f8 01 .byte 0x1 + 3176 02f9 0602 .2byte 0x206 + 3177 02fb 00 .byte 0x0 + 3178 02fc 12 .uleb128 0x12 + 3179 02fd 01 .byte 0x1 + 3180 02fe A5040000 .4byte .LASF53 + 3181 0302 01 .byte 0x1 + 3182 0303 D901 .2byte 0x1d9 + 3183 0305 01 .byte 0x1 + 3184 0306 01 .byte 0x1 + 3185 0307 16030000 .4byte 0x316 + 3186 030b 13 .uleb128 0x13 + 3187 030c 13 .uleb128 0x13 + 3188 030d 13 .uleb128 0x13 + 3189 030e 16 .uleb128 0x16 + 3190 030f 05 .byte 0x5 + 3191 0310 03 .byte 0x3 + 3192 0311 1C000000 .4byte _dummy.2409 + 3193 0315 00 .byte 0x0 + 3194 0316 14 .uleb128 0x14 + 3195 0317 FC020000 .4byte 0x2fc + 3196 031b 20010000 .4byte .LFB30 + 3197 031f 08020000 .4byte .LFE30 + 3198 0323 77010000 .4byte .LLST13 + 3199 0327 5C030000 .4byte 0x35c + 3200 032b 15 .uleb128 0x15 + 3201 032c 87010000 .4byte 0x187 + 3202 0330 32010000 .4byte .LBB39 + 3203 0334 34010000 .4byte .LBE39 + 3204 0338 01 .byte 0x1 + 3205 0339 DD01 .2byte 0x1dd + 3206 033b 15 .uleb128 0x15 + 3207 033c 87010000 .4byte 0x187 + 3208 0340 60010000 .4byte .LBB41 + 3209 0344 62010000 .4byte .LBE41 + 3210 0348 01 .byte 0x1 + 3211 0349 E101 .2byte 0x1e1 + 3212 034b 15 .uleb128 0x15 + 3213 034c 87010000 .4byte 0x187 + 3214 0350 C8010000 .4byte .LBB43 + 3215 0354 CA010000 .4byte .LBE43 + 3216 0358 01 .byte 0x1 + 3217 0359 EF01 .2byte 0x1ef + 3218 035b 00 .byte 0x0 + 3219 035c 0A .uleb128 0xa + 3220 035d 01 .byte 0x1 + 3221 035e 1C060000 .4byte .LASF54 + 3222 0362 01 .byte 0x1 + 3223 0363 2901 .2byte 0x129 + 3224 0365 01 .byte 0x1 + 3225 0366 08020000 .4byte .LFB24 + BFIN GAS /tmp/ccgWA8p2.s page 77 + + + 3226 036a 98030000 .4byte .LFE24 + 3227 036e A2010000 .4byte .LLST14 + 3228 0372 11040000 .4byte 0x411 + 3229 0376 17 .uleb128 0x17 + 3230 0377 00000000 .4byte .Ldebug_ranges0+0x0 + 3231 037b B8030000 .4byte 0x3b8 + 3232 037f 0C .uleb128 0xc + 3233 0380 69000000 .4byte .LASF55 + 3234 0384 01 .byte 0x1 + 3235 0385 2C01 .2byte 0x12c + 3236 0387 53000000 .4byte 0x53 + 3237 038b CD010000 .4byte .LLST15 + 3238 038f 0C .uleb128 0xc + 3239 0390 B1010000 .4byte .LASF51 + 3240 0394 01 .byte 0x1 + 3241 0395 2D01 .2byte 0x12d + 3242 0397 53000000 .4byte 0x53 + 3243 039b 01020000 .4byte .LLST16 + 3244 039f 18 .uleb128 0x18 + 3245 03a0 00030000 .4byte .LBB46 + 3246 03a4 34030000 .4byte .LBE46 + 3247 03a8 0D .uleb128 0xd + 3248 03a9 F3010000 .4byte .LASF56 + 3249 03ad 01 .byte 0x1 + 3250 03ae 3401 .2byte 0x134 + 3251 03b0 53000000 .4byte 0x53 + 3252 03b4 01 .byte 0x1 + 3253 03b5 50 .byte 0x50 + 3254 03b6 00 .byte 0x0 + 3255 03b7 00 .byte 0x0 + 3256 03b8 19 .uleb128 0x19 + 3257 03b9 20000000 .4byte .Ldebug_ranges0+0x20 + 3258 03bd 0C .uleb128 0xc + 3259 03be 97040000 .4byte .LASF57 + 3260 03c2 01 .byte 0x1 + 3261 03c3 4901 .2byte 0x149 + 3262 03c5 53000000 .4byte 0x53 + 3263 03c9 1F020000 .4byte .LLST17 + 3264 03cd 0C .uleb128 0xc + 3265 03ce B1010000 .4byte .LASF51 + 3266 03d2 01 .byte 0x1 + 3267 03d3 4A01 .2byte 0x14a + 3268 03d5 53000000 .4byte 0x53 + 3269 03d9 5E020000 .4byte .LLST18 + 3270 03dd 1A .uleb128 0x1a + 3271 03de 3C030000 .4byte .LBB48 + 3272 03e2 68030000 .4byte .LBE48 + 3273 03e6 F9030000 .4byte 0x3f9 + 3274 03ea 0D .uleb128 0xd + 3275 03eb F3010000 .4byte .LASF56 + 3276 03ef 01 .byte 0x1 + 3277 03f0 5301 .2byte 0x153 + 3278 03f2 53000000 .4byte 0x53 + 3279 03f6 01 .byte 0x1 + 3280 03f7 50 .byte 0x50 + 3281 03f8 00 .byte 0x0 + 3282 03f9 19 .uleb128 0x19 + BFIN GAS /tmp/ccgWA8p2.s page 78 + + + 3283 03fa 40000000 .4byte .Ldebug_ranges0+0x40 + 3284 03fe 0C .uleb128 0xc + 3285 03ff AB000000 .4byte .LASF48 + 3286 0403 01 .byte 0x1 + 3287 0404 6101 .2byte 0x161 + 3288 0406 53000000 .4byte 0x53 + 3289 040a 7C020000 .4byte .LLST19 + 3290 040e 00 .byte 0x0 + 3291 040f 00 .byte 0x0 + 3292 0410 00 .byte 0x0 + 3293 0411 1B .uleb128 0x1b + 3294 0412 01 .byte 0x1 + 3295 0413 CC010000 .4byte .LASF59 + 3296 0417 01 .byte 0x1 + 3297 0418 77 .byte 0x77 + 3298 0419 01 .byte 0x1 + 3299 041a 41000000 .4byte 0x41 + 3300 041e 98030000 .4byte .LFB18 + 3301 0422 0C040000 .4byte .LFE18 + 3302 0426 9A020000 .4byte .LLST20 + 3303 042a 3E040000 .4byte 0x43e + 3304 042e 1C .uleb128 0x1c + 3305 042f 65727200 .string "err" + 3306 0433 01 .byte 0x1 + 3307 0434 78 .byte 0x78 + 3308 0435 41000000 .4byte 0x41 + 3309 0439 C5020000 .4byte .LLST21 + 3310 043d 00 .byte 0x0 + 3311 043e 1D .uleb128 0x1d + 3312 043f 01 .byte 0x1 + 3313 0440 A0050000 .4byte .LASF91 + 3314 0444 01 .byte 0x1 + 3315 0445 68 .byte 0x68 + 3316 0446 01 .byte 0x1 + 3317 0447 0C040000 .4byte .LFB17 + 3318 044b 2C040000 .4byte .LFE17 + 3319 044f E3020000 .4byte .LLST22 + 3320 0453 10 .uleb128 0x10 + 3321 0454 01 .byte 0x1 + 3322 0455 75020000 .4byte .LASF60 + 3323 0459 01 .byte 0x1 + 3324 045a 0701 .2byte 0x107 + 3325 045c 01 .byte 0x1 + 3326 045d 41000000 .4byte 0x41 + 3327 0461 2C040000 .4byte .LFB23 + 3328 0465 D2040000 .4byte .LFE23 + 3329 0469 02030000 .4byte .LLST23 + 3330 046d AF040000 .4byte 0x4af + 3331 0471 1E .uleb128 0x1e + 3332 0472 65727200 .string "err" + 3333 0476 01 .byte 0x1 + 3334 0477 0801 .2byte 0x108 + 3335 0479 41000000 .4byte 0x41 + 3336 047d 2D030000 .4byte .LLST24 + 3337 0481 1F .uleb128 0x1f + 3338 0482 B4020000 .4byte 0x2b4 + 3339 0486 58000000 .4byte .Ldebug_ranges0+0x58 + BFIN GAS /tmp/ccgWA8p2.s page 79 + + + 3340 048a 01 .byte 0x1 + 3341 048b 0F01 .2byte 0x10f + 3342 048d 15 .uleb128 0x15 + 3343 048e 87010000 .4byte 0x187 + 3344 0492 74040000 .4byte .LBB63 + 3345 0496 76040000 .4byte .LBE63 + 3346 049a 01 .byte 0x1 + 3347 049b 0502 .2byte 0x205 + 3348 049d 15 .uleb128 0x15 + 3349 049e 87010000 .4byte 0x187 + 3350 04a2 76040000 .4byte .LBB65 + 3351 04a6 78040000 .4byte .LBE65 + 3352 04aa 01 .byte 0x1 + 3353 04ab 0602 .2byte 0x206 + 3354 04ad 00 .byte 0x0 + 3355 04ae 00 .byte 0x0 + 3356 04af 0A .uleb128 0xa + 3357 04b0 01 .byte 0x1 + 3358 04b1 E6020000 .4byte .LASF61 + 3359 04b5 01 .byte 0x1 + 3360 04b6 1402 .2byte 0x214 + 3361 04b8 01 .byte 0x1 + 3362 04b9 D4040000 .4byte .LFB32 + 3363 04bd 20060000 .4byte .LFE32 + 3364 04c1 4B030000 .4byte .LLST25 + 3365 04c5 31050000 .4byte 0x531 + 3366 04c9 19 .uleb128 0x19 + 3367 04ca 70000000 .4byte .Ldebug_ranges0+0x70 + 3368 04ce 0C .uleb128 0xc + 3369 04cf 1E010000 .4byte .LASF62 + 3370 04d3 01 .byte 0x1 + 3371 04d4 1602 .2byte 0x216 + 3372 04d6 53000000 .4byte 0x53 + 3373 04da C3040000 .4byte .LLST26 + 3374 04de 0C .uleb128 0xc + 3375 04df AB000000 .4byte .LASF48 + 3376 04e3 01 .byte 0x1 + 3377 04e4 2002 .2byte 0x220 + 3378 04e6 53000000 .4byte 0x53 + 3379 04ea E1040000 .4byte .LLST27 + 3380 04ee 20 .uleb128 0x20 + 3381 04ef 91010000 .4byte 0x191 + 3382 04f3 CA050000 .4byte .LBB79 + 3383 04f7 1A060000 .4byte .LBE79 + 3384 04fb 01 .byte 0x1 + 3385 04fc 2C02 .2byte 0x22c + 3386 04fe 21 .uleb128 0x21 + 3387 04ff B4020000 .4byte 0x2b4 + 3388 0503 CA050000 .4byte .LBB81 + 3389 0507 0C060000 .4byte .LBE81 + 3390 050b 01 .byte 0x1 + 3391 050c 5D .byte 0x5d + 3392 050d 15 .uleb128 0x15 + 3393 050e 87010000 .4byte 0x187 + 3394 0512 E0050000 .4byte .LBB83 + 3395 0516 E2050000 .4byte .LBE83 + 3396 051a 01 .byte 0x1 + BFIN GAS /tmp/ccgWA8p2.s page 80 + + + 3397 051b 0502 .2byte 0x205 + 3398 051d 15 .uleb128 0x15 + 3399 051e 87010000 .4byte 0x187 + 3400 0522 E2050000 .4byte .LBB85 + 3401 0526 E4050000 .4byte .LBE85 + 3402 052a 01 .byte 0x1 + 3403 052b 0602 .2byte 0x206 + 3404 052d 00 .byte 0x0 + 3405 052e 00 .byte 0x0 + 3406 052f 00 .byte 0x0 + 3407 0530 00 .byte 0x0 + 3408 0531 22 .uleb128 0x22 + 3409 0532 68040000 .4byte .LASF92 + 3410 0536 01 .byte 0x1 + 3411 0537 8B .byte 0x8b + 3412 0538 01 .byte 0x1 + 3413 0539 01 .byte 0x1 + 3414 053a 55050000 .4byte 0x555 + 3415 053e 23 .uleb128 0x23 + 3416 053f A3000000 .4byte .LASF65 + 3417 0543 01 .byte 0x1 + 3418 0544 8B .byte 0x8b + 3419 0545 53000000 .4byte 0x53 + 3420 0549 24 .uleb128 0x24 + 3421 054a FD010000 .4byte .LASF63 + 3422 054e 01 .byte 0x1 + 3423 054f 8C .byte 0x8c + 3424 0550 53000000 .4byte 0x53 + 3425 0554 00 .byte 0x0 + 3426 0555 1B .uleb128 0x1b + 3427 0556 01 .byte 0x1 + 3428 0557 3B050000 .4byte .LASF64 + 3429 055b 01 .byte 0x1 + 3430 055c B5 .byte 0xb5 + 3431 055d 01 .byte 0x1 + 3432 055e 41000000 .4byte 0x41 + 3433 0562 20060000 .4byte .LFB21 + 3434 0566 82060000 .4byte .LFE21 + 3435 056a FF040000 .4byte .LLST28 + 3436 056e A6050000 .4byte 0x5a6 + 3437 0572 25 .uleb128 0x25 + 3438 0573 A3000000 .4byte .LASF65 + 3439 0577 01 .byte 0x1 + 3440 0578 B5 .byte 0xb5 + 3441 0579 53000000 .4byte 0x53 + 3442 057d 2A050000 .4byte .LLST29 + 3443 0581 26 .uleb128 0x26 + 3444 0582 31050000 .4byte 0x531 + 3445 0586 2E060000 .4byte .LBB90 + 3446 058a 88000000 .4byte .Ldebug_ranges0+0x88 + 3447 058e 01 .byte 0x1 + 3448 058f B6 .byte 0xb6 + 3449 0590 27 .uleb128 0x27 + 3450 0591 3E050000 .4byte 0x53e + 3451 0595 19 .uleb128 0x19 + 3452 0596 B0000000 .4byte .Ldebug_ranges0+0xb0 + 3453 059a 28 .uleb128 0x28 + BFIN GAS /tmp/ccgWA8p2.s page 81 + + + 3454 059b 49050000 .4byte 0x549 + 3455 059f 3D050000 .4byte .LLST30 + 3456 05a3 00 .byte 0x0 + 3457 05a4 00 .byte 0x0 + 3458 05a5 00 .byte 0x0 + 3459 05a6 1B .uleb128 0x1b + 3460 05a7 01 .byte 0x1 + 3461 05a8 A3010000 .4byte .LASF66 + 3462 05ac 01 .byte 0x1 + 3463 05ad AB .byte 0xab + 3464 05ae 01 .byte 0x1 + 3465 05af 41000000 .4byte 0x41 + 3466 05b3 84060000 .4byte .LFB20 + 3467 05b7 E4060000 .4byte .LFE20 + 3468 05bb 50050000 .4byte .LLST31 + 3469 05bf F7050000 .4byte 0x5f7 + 3470 05c3 25 .uleb128 0x25 + 3471 05c4 A3000000 .4byte .LASF65 + 3472 05c8 01 .byte 0x1 + 3473 05c9 AB .byte 0xab + 3474 05ca 53000000 .4byte 0x53 + 3475 05ce 7B050000 .4byte .LLST32 + 3476 05d2 26 .uleb128 0x26 + 3477 05d3 31050000 .4byte 0x531 + 3478 05d7 90060000 .4byte .LBB100 + 3479 05db D8000000 .4byte .Ldebug_ranges0+0xd8 + 3480 05df 01 .byte 0x1 + 3481 05e0 AC .byte 0xac + 3482 05e1 27 .uleb128 0x27 + 3483 05e2 3E050000 .4byte 0x53e + 3484 05e6 19 .uleb128 0x19 + 3485 05e7 00010000 .4byte .Ldebug_ranges0+0x100 + 3486 05eb 28 .uleb128 0x28 + 3487 05ec 49050000 .4byte 0x549 + 3488 05f0 8E050000 .4byte .LLST33 + 3489 05f4 00 .byte 0x0 + 3490 05f5 00 .byte 0x0 + 3491 05f6 00 .byte 0x0 + 3492 05f7 1B .uleb128 0x1b + 3493 05f8 01 .byte 0x1 + 3494 05f9 95000000 .4byte .LASF67 + 3495 05fd 01 .byte 0x1 + 3496 05fe C6 .byte 0xc6 + 3497 05ff 01 .byte 0x1 + 3498 0600 41000000 .4byte 0x41 + 3499 0604 E4060000 .4byte .LFB22 + 3500 0608 F0080000 .4byte .LFE22 + 3501 060c A1050000 .4byte .LLST34 + 3502 0610 88060000 .4byte 0x688 + 3503 0614 1C .uleb128 0x1c + 3504 0615 65727200 .string "err" + 3505 0619 01 .byte 0x1 + 3506 061a C7 .byte 0xc7 + 3507 061b 41000000 .4byte 0x41 + 3508 061f CC050000 .4byte .LLST35 + 3509 0623 29 .uleb128 0x29 + 3510 0624 31050000 .4byte 0x531 + BFIN GAS /tmp/ccgWA8p2.s page 82 + + + 3511 0628 28010000 .4byte .Ldebug_ranges0+0x128 + 3512 062c 01 .byte 0x1 + 3513 062d D5 .byte 0xd5 + 3514 062e 47060000 .4byte 0x647 + 3515 0632 27 .uleb128 0x27 + 3516 0633 3E050000 .4byte 0x53e + 3517 0637 19 .uleb128 0x19 + 3518 0638 68010000 .4byte .Ldebug_ranges0+0x168 + 3519 063c 28 .uleb128 0x28 + 3520 063d 49050000 .4byte 0x549 + 3521 0641 EA050000 .4byte .LLST36 + 3522 0645 00 .byte 0x0 + 3523 0646 00 .byte 0x0 + 3524 0647 21 .uleb128 0x21 + 3525 0648 FC020000 .4byte 0x2fc + 3526 064c EA070000 .4byte .LBB129 + 3527 0650 C6080000 .4byte .LBE129 + 3528 0654 01 .byte 0x1 + 3529 0655 CF .byte 0xcf + 3530 0656 15 .uleb128 0x15 + 3531 0657 87010000 .4byte 0x187 + 3532 065b 24080000 .4byte .LBB131 + 3533 065f 26080000 .4byte .LBE131 + 3534 0663 01 .byte 0x1 + 3535 0664 E101 .2byte 0x1e1 + 3536 0666 15 .uleb128 0x15 + 3537 0667 87010000 .4byte 0x187 + 3538 066b F6070000 .4byte .LBB133 + 3539 066f F8070000 .4byte .LBE133 + 3540 0673 01 .byte 0x1 + 3541 0674 DD01 .2byte 0x1dd + 3542 0676 15 .uleb128 0x15 + 3543 0677 87010000 .4byte 0x187 + 3544 067b 8C080000 .4byte .LBB135 + 3545 067f 8E080000 .4byte .LBE135 + 3546 0683 01 .byte 0x1 + 3547 0684 EF01 .2byte 0x1ef + 3548 0686 00 .byte 0x0 + 3549 0687 00 .byte 0x0 + 3550 0688 2A .uleb128 0x2a + 3551 0689 F3000000 .4byte .LASF68 + 3552 068d 01 .byte 0x1 + 3553 068e 30 .byte 0x30 + 3554 068f 73000000 .4byte 0x73 + 3555 0693 05 .byte 0x5 + 3556 0694 03 .byte 0x3 + 3557 0695 18000000 .4byte _f_bf_reg + 3558 0699 2A .uleb128 0x2a + 3559 069a D7050000 .4byte .LASF69 + 3560 069e 01 .byte 0x1 + 3561 069f 33 .byte 0x33 + 3562 06a0 AA060000 .4byte 0x6aa + 3563 06a4 05 .byte 0x5 + 3564 06a5 03 .byte 0x3 + 3565 06a6 00000000 .4byte _f_overflow_wrd + 3566 06aa 2B .uleb128 0x2b + 3567 06ab 53000000 .4byte 0x53 + BFIN GAS /tmp/ccgWA8p2.s page 83 + + + 3568 06af 2C .uleb128 0x2c + 3569 06b0 53000000 .4byte 0x53 + 3570 06b4 C2060000 .4byte 0x6c2 + 3571 06b8 2D .uleb128 0x2d + 3572 06b9 81000000 .4byte 0x81 + 3573 06bd FFFF1F00 .4byte 0x1fffff + 3574 06c1 00 .byte 0x0 + 3575 06c2 2A .uleb128 0x2a + 3576 06c3 CE030000 .4byte .LASF70 + 3577 06c7 01 .byte 0x1 + 3578 06c8 39 .byte 0x39 + 3579 06c9 D3060000 .4byte 0x6d3 + 3580 06cd 05 .byte 0x5 + 3581 06ce 03 .byte 0x3 + 3582 06cf 00000000 .4byte _f_sport_in_buf + 3583 06d3 2E .uleb128 0x2e + 3584 06d4 AF060000 .4byte 0x6af + 3585 06d8 2A .uleb128 0x2a + 3586 06d9 26030000 .4byte .LASF71 + 3587 06dd 01 .byte 0x1 + 3588 06de 3B .byte 0x3b + 3589 06df E9060000 .4byte 0x6e9 + 3590 06e3 05 .byte 0x5 + 3591 06e4 03 .byte 0x3 + 3592 06e5 0C000000 .4byte _f_sport_in_put_pos + 3593 06e9 2E .uleb128 0x2e + 3594 06ea 53000000 .4byte 0x53 + 3595 06ee 2A .uleb128 0x2a + 3596 06ef 61050000 .4byte .LASF72 + 3597 06f3 01 .byte 0x1 + 3598 06f4 3D .byte 0x3d + 3599 06f5 53000000 .4byte 0x53 + 3600 06f9 05 .byte 0x5 + 3601 06fa 03 .byte 0x3 + 3602 06fb 28000000 .4byte _f_sport_in_proc_pos + 3603 06ff 2A .uleb128 0x2a + 3604 0700 62010000 .4byte .LASF73 + 3605 0704 01 .byte 0x1 + 3606 0705 3F .byte 0x3f + 3607 0706 E9060000 .4byte 0x6e9 + 3608 070a 05 .byte 0x5 + 3609 070b 03 .byte 0x3 + 3610 070c 10000000 .4byte _f_sport_in_get_pos + 3611 0710 2A .uleb128 0x2a + 3612 0711 47000000 .4byte .LASF74 + 3613 0715 01 .byte 0x1 + 3614 0716 41 .byte 0x41 + 3615 0717 53000000 .4byte 0x53 + 3616 071b 05 .byte 0x5 + 3617 071c 03 .byte 0x3 + 3618 071d 04000000 .4byte _f_sport_in_block_size + 3619 0721 2A .uleb128 0x2a + 3620 0722 B4040000 .4byte .LASF75 + 3621 0726 01 .byte 0x1 + 3622 0727 43 .byte 0x43 + 3623 0728 53000000 .4byte 0x53 + 3624 072c 05 .byte 0x5 + BFIN GAS /tmp/ccgWA8p2.s page 84 + + + 3625 072d 03 .byte 0x3 + 3626 072e 08000000 .4byte _f_sport_in_buf_size + 3627 0732 2C .uleb128 0x2c + 3628 0733 53000000 .4byte 0x53 + 3629 0737 45070000 .4byte 0x745 + 3630 073b 2D .uleb128 0x2d + 3631 073c 81000000 .4byte 0x81 + 3632 0740 FFFF0F00 .4byte 0xfffff + 3633 0744 00 .byte 0x0 + 3634 0745 2A .uleb128 0x2a + 3635 0746 BF020000 .4byte .LASF76 + 3636 074a 01 .byte 0x1 + 3637 074b 48 .byte 0x48 + 3638 074c 56070000 .4byte 0x756 + 3639 0750 05 .byte 0x5 + 3640 0751 03 .byte 0x3 + 3641 0752 00008000 .4byte _f_hdma_out_buf + 3642 0756 2E .uleb128 0x2e + 3643 0757 32070000 .4byte 0x732 + 3644 075b 2A .uleb128 0x2a + 3645 075c F8050000 .4byte .LASF77 + 3646 0760 01 .byte 0x1 + 3647 0761 49 .byte 0x49 + 3648 0762 E9060000 .4byte 0x6e9 + 3649 0766 05 .byte 0x5 + 3650 0767 03 .byte 0x3 + 3651 0768 20000000 .4byte _f_hdma_out_put_pos + 3652 076c 2A .uleb128 0x2a + 3653 076d 75010000 .4byte .LASF78 + 3654 0771 01 .byte 0x1 + 3655 0772 4A .byte 0x4a + 3656 0773 53000000 .4byte 0x53 + 3657 0777 05 .byte 0x5 + 3658 0778 03 .byte 0x3 + 3659 0779 2C000000 .4byte _f_hdma_out_start_pos + 3660 077d 2A .uleb128 0x2a + 3661 077e 2A010000 .4byte .LASF79 + 3662 0782 01 .byte 0x1 + 3663 0783 4C .byte 0x4c + 3664 0784 E9060000 .4byte 0x6e9 + 3665 0788 05 .byte 0x5 + 3666 0789 03 .byte 0x3 + 3667 078a 24000000 .4byte _f_hdma_out_get_pos + 3668 078e 2F .uleb128 0x2f + 3669 078f 6C030000 .4byte .LASF80 + 3670 0793 01 .byte 0x1 + 3671 0794 4E .byte 0x4e + 3672 0795 9B070000 .4byte 0x79b + 3673 0799 0080 .2byte 0x8000 + 3674 079b 2B .uleb128 0x2b + 3675 079c 73000000 .4byte 0x73 + 3676 07a0 2A .uleb128 0x2a + 3677 07a1 FD020000 .4byte .LASF81 + 3678 07a5 01 .byte 0x1 + 3679 07a6 4F .byte 0x4f + 3680 07a7 73000000 .4byte 0x73 + 3681 07ab 05 .byte 0x5 + BFIN GAS /tmp/ccgWA8p2.s page 85 + + + 3682 07ac 03 .byte 0x3 + 3683 07ad 30000000 .4byte _f_hdma_out_proc_pos + 3684 07b1 2A .uleb128 0x2a + 3685 07b2 F0030000 .4byte .LASF82 + 3686 07b6 01 .byte 0x1 + 3687 07b7 51 .byte 0x51 + 3688 07b8 53000000 .4byte 0x53 + 3689 07bc 05 .byte 0x5 + 3690 07bd 03 .byte 0x3 + 3691 07be 14000000 .4byte _f_recv_size + 3692 07c2 30 .uleb128 0x30 + 3693 07c3 39030000 .4byte .LASF83 + 3694 07c7 01 .byte 0x1 + 3695 07c8 2A .byte 0x2a + 3696 07c9 4A010000 .4byte 0x14a + 3697 07cd 01 .byte 0x1 + 3698 07ce 05 .byte 0x5 + 3699 07cf 03 .byte 0x3 + 3700 07d0 00000000 .4byte _g_stream_in_state + 3701 07d4 30 .uleb128 0x30 + 3702 07d5 BB030000 .4byte .LASF84 + 3703 07d9 01 .byte 0x1 + 3704 07da 2B .byte 0x2b + 3705 07db 7C010000 .4byte 0x17c + 3706 07df 01 .byte 0x1 + 3707 07e0 05 .byte 0x5 + 3708 07e1 03 .byte 0x3 + 3709 07e2 04000000 .4byte _g_stream_out_state + 3710 07e6 30 .uleb128 0x30 + 3711 07e7 1F030000 .4byte .LASF85 + 3712 07eb 01 .byte 0x1 + 3713 07ec 2D .byte 0x2d + 3714 07ed F8070000 .4byte 0x7f8 + 3715 07f1 01 .byte 0x1 + 3716 07f2 05 .byte 0x5 + 3717 07f3 03 .byte 0x3 + 3718 07f4 08000000 .4byte _g_mode + 3719 07f8 2E .uleb128 0x2e + 3720 07f9 73000000 .4byte 0x73 + 3721 07fd 30 .uleb128 0x30 + 3722 07fe C5000000 .4byte .LASF86 + 3723 0802 01 .byte 0x1 + 3724 0803 2F .byte 0x2f + 3725 0804 73000000 .4byte 0x73 + 3726 0808 01 .byte 0x1 + 3727 0809 05 .byte 0x5 + 3728 080a 03 .byte 0x3 + 3729 080b 00000000 .4byte _g_streams + 3730 080f 00 .byte 0x0 + 3731 .section .debug_abbrev + 3732 0000 01 .uleb128 0x1 + 3733 0001 11 .uleb128 0x11 + 3734 0002 01 .byte 0x1 + 3735 0003 25 .uleb128 0x25 + 3736 0004 0E .uleb128 0xe + 3737 0005 13 .uleb128 0x13 + 3738 0006 0B .uleb128 0xb + BFIN GAS /tmp/ccgWA8p2.s page 86 + + + 3739 0007 03 .uleb128 0x3 + 3740 0008 0E .uleb128 0xe + 3741 0009 1B .uleb128 0x1b + 3742 000a 0E .uleb128 0xe + 3743 000b 11 .uleb128 0x11 + 3744 000c 01 .uleb128 0x1 + 3745 000d 12 .uleb128 0x12 + 3746 000e 01 .uleb128 0x1 + 3747 000f 10 .uleb128 0x10 + 3748 0010 06 .uleb128 0x6 + 3749 0011 00 .byte 0x0 + 3750 0012 00 .byte 0x0 + 3751 0013 02 .uleb128 0x2 + 3752 0014 24 .uleb128 0x24 + 3753 0015 00 .byte 0x0 + 3754 0016 0B .uleb128 0xb + 3755 0017 0B .uleb128 0xb + 3756 0018 3E .uleb128 0x3e + 3757 0019 0B .uleb128 0xb + 3758 001a 03 .uleb128 0x3 + 3759 001b 0E .uleb128 0xe + 3760 001c 00 .byte 0x0 + 3761 001d 00 .byte 0x0 + 3762 001e 03 .uleb128 0x3 + 3763 001f 16 .uleb128 0x16 + 3764 0020 00 .byte 0x0 + 3765 0021 03 .uleb128 0x3 + 3766 0022 0E .uleb128 0xe + 3767 0023 3A .uleb128 0x3a + 3768 0024 0B .uleb128 0xb + 3769 0025 3B .uleb128 0x3b + 3770 0026 0B .uleb128 0xb + 3771 0027 49 .uleb128 0x49 + 3772 0028 13 .uleb128 0x13 + 3773 0029 00 .byte 0x0 + 3774 002a 00 .byte 0x0 + 3775 002b 04 .uleb128 0x4 + 3776 002c 24 .uleb128 0x24 + 3777 002d 00 .byte 0x0 + 3778 002e 0B .uleb128 0xb + 3779 002f 0B .uleb128 0xb + 3780 0030 3E .uleb128 0x3e + 3781 0031 0B .uleb128 0xb + 3782 0032 03 .uleb128 0x3 + 3783 0033 08 .uleb128 0x8 + 3784 0034 00 .byte 0x0 + 3785 0035 00 .byte 0x0 + 3786 0036 05 .uleb128 0x5 + 3787 0037 24 .uleb128 0x24 + 3788 0038 00 .byte 0x0 + 3789 0039 0B .uleb128 0xb + 3790 003a 0B .uleb128 0xb + 3791 003b 3E .uleb128 0x3e + 3792 003c 0B .uleb128 0xb + 3793 003d 00 .byte 0x0 + 3794 003e 00 .byte 0x0 + 3795 003f 06 .uleb128 0x6 + BFIN GAS /tmp/ccgWA8p2.s page 87 + + + 3796 0040 04 .uleb128 0x4 + 3797 0041 01 .byte 0x1 + 3798 0042 0B .uleb128 0xb + 3799 0043 0B .uleb128 0xb + 3800 0044 3A .uleb128 0x3a + 3801 0045 0B .uleb128 0xb + 3802 0046 3B .uleb128 0x3b + 3803 0047 0B .uleb128 0xb + 3804 0048 01 .uleb128 0x1 + 3805 0049 13 .uleb128 0x13 + 3806 004a 00 .byte 0x0 + 3807 004b 00 .byte 0x0 + 3808 004c 07 .uleb128 0x7 + 3809 004d 28 .uleb128 0x28 + 3810 004e 00 .byte 0x0 + 3811 004f 03 .uleb128 0x3 + 3812 0050 0E .uleb128 0xe + 3813 0051 1C .uleb128 0x1c + 3814 0052 0D .uleb128 0xd + 3815 0053 00 .byte 0x0 + 3816 0054 00 .byte 0x0 + 3817 0055 08 .uleb128 0x8 + 3818 0056 2E .uleb128 0x2e + 3819 0057 00 .byte 0x0 + 3820 0058 03 .uleb128 0x3 + 3821 0059 0E .uleb128 0xe + 3822 005a 3A .uleb128 0x3a + 3823 005b 0B .uleb128 0xb + 3824 005c 3B .uleb128 0x3b + 3825 005d 05 .uleb128 0x5 + 3826 005e 27 .uleb128 0x27 + 3827 005f 0C .uleb128 0xc + 3828 0060 20 .uleb128 0x20 + 3829 0061 0B .uleb128 0xb + 3830 0062 00 .byte 0x0 + 3831 0063 00 .byte 0x0 + 3832 0064 09 .uleb128 0x9 + 3833 0065 2E .uleb128 0x2e + 3834 0066 00 .byte 0x0 + 3835 0067 03 .uleb128 0x3 + 3836 0068 0E .uleb128 0xe + 3837 0069 3A .uleb128 0x3a + 3838 006a 0B .uleb128 0xb + 3839 006b 3B .uleb128 0x3b + 3840 006c 0B .uleb128 0xb + 3841 006d 27 .uleb128 0x27 + 3842 006e 0C .uleb128 0xc + 3843 006f 20 .uleb128 0x20 + 3844 0070 0B .uleb128 0xb + 3845 0071 00 .byte 0x0 + 3846 0072 00 .byte 0x0 + 3847 0073 0A .uleb128 0xa + 3848 0074 2E .uleb128 0x2e + 3849 0075 01 .byte 0x1 + 3850 0076 3F .uleb128 0x3f + 3851 0077 0C .uleb128 0xc + 3852 0078 03 .uleb128 0x3 + BFIN GAS /tmp/ccgWA8p2.s page 88 + + + 3853 0079 0E .uleb128 0xe + 3854 007a 3A .uleb128 0x3a + 3855 007b 0B .uleb128 0xb + 3856 007c 3B .uleb128 0x3b + 3857 007d 05 .uleb128 0x5 + 3858 007e 27 .uleb128 0x27 + 3859 007f 0C .uleb128 0xc + 3860 0080 11 .uleb128 0x11 + 3861 0081 01 .uleb128 0x1 + 3862 0082 12 .uleb128 0x12 + 3863 0083 01 .uleb128 0x1 + 3864 0084 40 .uleb128 0x40 + 3865 0085 06 .uleb128 0x6 + 3866 0086 01 .uleb128 0x1 + 3867 0087 13 .uleb128 0x13 + 3868 0088 00 .byte 0x0 + 3869 0089 00 .byte 0x0 + 3870 008a 0B .uleb128 0xb + 3871 008b 05 .uleb128 0x5 + 3872 008c 00 .byte 0x0 + 3873 008d 03 .uleb128 0x3 + 3874 008e 0E .uleb128 0xe + 3875 008f 3A .uleb128 0x3a + 3876 0090 0B .uleb128 0xb + 3877 0091 3B .uleb128 0x3b + 3878 0092 05 .uleb128 0x5 + 3879 0093 49 .uleb128 0x49 + 3880 0094 13 .uleb128 0x13 + 3881 0095 02 .uleb128 0x2 + 3882 0096 06 .uleb128 0x6 + 3883 0097 00 .byte 0x0 + 3884 0098 00 .byte 0x0 + 3885 0099 0C .uleb128 0xc + 3886 009a 34 .uleb128 0x34 + 3887 009b 00 .byte 0x0 + 3888 009c 03 .uleb128 0x3 + 3889 009d 0E .uleb128 0xe + 3890 009e 3A .uleb128 0x3a + 3891 009f 0B .uleb128 0xb + 3892 00a0 3B .uleb128 0x3b + 3893 00a1 05 .uleb128 0x5 + 3894 00a2 49 .uleb128 0x49 + 3895 00a3 13 .uleb128 0x13 + 3896 00a4 02 .uleb128 0x2 + 3897 00a5 06 .uleb128 0x6 + 3898 00a6 00 .byte 0x0 + 3899 00a7 00 .byte 0x0 + 3900 00a8 0D .uleb128 0xd + 3901 00a9 34 .uleb128 0x34 + 3902 00aa 00 .byte 0x0 + 3903 00ab 03 .uleb128 0x3 + 3904 00ac 0E .uleb128 0xe + 3905 00ad 3A .uleb128 0x3a + 3906 00ae 0B .uleb128 0xb + 3907 00af 3B .uleb128 0x3b + 3908 00b0 05 .uleb128 0x5 + 3909 00b1 49 .uleb128 0x49 + BFIN GAS /tmp/ccgWA8p2.s page 89 + + + 3910 00b2 13 .uleb128 0x13 + 3911 00b3 02 .uleb128 0x2 + 3912 00b4 0A .uleb128 0xa + 3913 00b5 00 .byte 0x0 + 3914 00b6 00 .byte 0x0 + 3915 00b7 0E .uleb128 0xe + 3916 00b8 0F .uleb128 0xf + 3917 00b9 00 .byte 0x0 + 3918 00ba 0B .uleb128 0xb + 3919 00bb 0B .uleb128 0xb + 3920 00bc 49 .uleb128 0x49 + 3921 00bd 13 .uleb128 0x13 + 3922 00be 00 .byte 0x0 + 3923 00bf 00 .byte 0x0 + 3924 00c0 0F .uleb128 0xf + 3925 00c1 2E .uleb128 0x2e + 3926 00c2 00 .byte 0x0 + 3927 00c3 3F .uleb128 0x3f + 3928 00c4 0C .uleb128 0xc + 3929 00c5 03 .uleb128 0x3 + 3930 00c6 0E .uleb128 0xe + 3931 00c7 3A .uleb128 0x3a + 3932 00c8 0B .uleb128 0xb + 3933 00c9 3B .uleb128 0x3b + 3934 00ca 05 .uleb128 0x5 + 3935 00cb 27 .uleb128 0x27 + 3936 00cc 0C .uleb128 0xc + 3937 00cd 49 .uleb128 0x49 + 3938 00ce 13 .uleb128 0x13 + 3939 00cf 11 .uleb128 0x11 + 3940 00d0 01 .uleb128 0x1 + 3941 00d1 12 .uleb128 0x12 + 3942 00d2 01 .uleb128 0x1 + 3943 00d3 40 .uleb128 0x40 + 3944 00d4 06 .uleb128 0x6 + 3945 00d5 00 .byte 0x0 + 3946 00d6 00 .byte 0x0 + 3947 00d7 10 .uleb128 0x10 + 3948 00d8 2E .uleb128 0x2e + 3949 00d9 01 .byte 0x1 + 3950 00da 3F .uleb128 0x3f + 3951 00db 0C .uleb128 0xc + 3952 00dc 03 .uleb128 0x3 + 3953 00dd 0E .uleb128 0xe + 3954 00de 3A .uleb128 0x3a + 3955 00df 0B .uleb128 0xb + 3956 00e0 3B .uleb128 0x3b + 3957 00e1 05 .uleb128 0x5 + 3958 00e2 27 .uleb128 0x27 + 3959 00e3 0C .uleb128 0xc + 3960 00e4 49 .uleb128 0x49 + 3961 00e5 13 .uleb128 0x13 + 3962 00e6 11 .uleb128 0x11 + 3963 00e7 01 .uleb128 0x1 + 3964 00e8 12 .uleb128 0x12 + 3965 00e9 01 .uleb128 0x1 + 3966 00ea 40 .uleb128 0x40 + BFIN GAS /tmp/ccgWA8p2.s page 90 + + + 3967 00eb 06 .uleb128 0x6 + 3968 00ec 01 .uleb128 0x1 + 3969 00ed 13 .uleb128 0x13 + 3970 00ee 00 .byte 0x0 + 3971 00ef 00 .byte 0x0 + 3972 00f0 11 .uleb128 0x11 + 3973 00f1 34 .uleb128 0x34 + 3974 00f2 00 .byte 0x0 + 3975 00f3 03 .uleb128 0x3 + 3976 00f4 08 .uleb128 0x8 + 3977 00f5 3A .uleb128 0x3a + 3978 00f6 0B .uleb128 0xb + 3979 00f7 3B .uleb128 0x3b + 3980 00f8 05 .uleb128 0x5 + 3981 00f9 49 .uleb128 0x49 + 3982 00fa 13 .uleb128 0x13 + 3983 00fb 00 .byte 0x0 + 3984 00fc 00 .byte 0x0 + 3985 00fd 12 .uleb128 0x12 + 3986 00fe 2E .uleb128 0x2e + 3987 00ff 01 .byte 0x1 + 3988 0100 3F .uleb128 0x3f + 3989 0101 0C .uleb128 0xc + 3990 0102 03 .uleb128 0x3 + 3991 0103 0E .uleb128 0xe + 3992 0104 3A .uleb128 0x3a + 3993 0105 0B .uleb128 0xb + 3994 0106 3B .uleb128 0x3b + 3995 0107 05 .uleb128 0x5 + 3996 0108 27 .uleb128 0x27 + 3997 0109 0C .uleb128 0xc + 3998 010a 20 .uleb128 0x20 + 3999 010b 0B .uleb128 0xb + 4000 010c 01 .uleb128 0x1 + 4001 010d 13 .uleb128 0x13 + 4002 010e 00 .byte 0x0 + 4003 010f 00 .byte 0x0 + 4004 0110 13 .uleb128 0x13 + 4005 0111 0B .uleb128 0xb + 4006 0112 00 .byte 0x0 + 4007 0113 00 .byte 0x0 + 4008 0114 00 .byte 0x0 + 4009 0115 14 .uleb128 0x14 + 4010 0116 2E .uleb128 0x2e + 4011 0117 01 .byte 0x1 + 4012 0118 31 .uleb128 0x31 + 4013 0119 13 .uleb128 0x13 + 4014 011a 11 .uleb128 0x11 + 4015 011b 01 .uleb128 0x1 + 4016 011c 12 .uleb128 0x12 + 4017 011d 01 .uleb128 0x1 + 4018 011e 40 .uleb128 0x40 + 4019 011f 06 .uleb128 0x6 + 4020 0120 01 .uleb128 0x1 + 4021 0121 13 .uleb128 0x13 + 4022 0122 00 .byte 0x0 + 4023 0123 00 .byte 0x0 + BFIN GAS /tmp/ccgWA8p2.s page 91 + + + 4024 0124 15 .uleb128 0x15 + 4025 0125 1D .uleb128 0x1d + 4026 0126 00 .byte 0x0 + 4027 0127 31 .uleb128 0x31 + 4028 0128 13 .uleb128 0x13 + 4029 0129 11 .uleb128 0x11 + 4030 012a 01 .uleb128 0x1 + 4031 012b 12 .uleb128 0x12 + 4032 012c 01 .uleb128 0x1 + 4033 012d 58 .uleb128 0x58 + 4034 012e 0B .uleb128 0xb + 4035 012f 59 .uleb128 0x59 + 4036 0130 05 .uleb128 0x5 + 4037 0131 00 .byte 0x0 + 4038 0132 00 .byte 0x0 + 4039 0133 16 .uleb128 0x16 + 4040 0134 34 .uleb128 0x34 + 4041 0135 00 .byte 0x0 + 4042 0136 02 .uleb128 0x2 + 4043 0137 0A .uleb128 0xa + 4044 0138 00 .byte 0x0 + 4045 0139 00 .byte 0x0 + 4046 013a 17 .uleb128 0x17 + 4047 013b 0B .uleb128 0xb + 4048 013c 01 .byte 0x1 + 4049 013d 55 .uleb128 0x55 + 4050 013e 06 .uleb128 0x6 + 4051 013f 01 .uleb128 0x1 + 4052 0140 13 .uleb128 0x13 + 4053 0141 00 .byte 0x0 + 4054 0142 00 .byte 0x0 + 4055 0143 18 .uleb128 0x18 + 4056 0144 0B .uleb128 0xb + 4057 0145 01 .byte 0x1 + 4058 0146 11 .uleb128 0x11 + 4059 0147 01 .uleb128 0x1 + 4060 0148 12 .uleb128 0x12 + 4061 0149 01 .uleb128 0x1 + 4062 014a 00 .byte 0x0 + 4063 014b 00 .byte 0x0 + 4064 014c 19 .uleb128 0x19 + 4065 014d 0B .uleb128 0xb + 4066 014e 01 .byte 0x1 + 4067 014f 55 .uleb128 0x55 + 4068 0150 06 .uleb128 0x6 + 4069 0151 00 .byte 0x0 + 4070 0152 00 .byte 0x0 + 4071 0153 1A .uleb128 0x1a + 4072 0154 0B .uleb128 0xb + 4073 0155 01 .byte 0x1 + 4074 0156 11 .uleb128 0x11 + 4075 0157 01 .uleb128 0x1 + 4076 0158 12 .uleb128 0x12 + 4077 0159 01 .uleb128 0x1 + 4078 015a 01 .uleb128 0x1 + 4079 015b 13 .uleb128 0x13 + 4080 015c 00 .byte 0x0 + BFIN GAS /tmp/ccgWA8p2.s page 92 + + + 4081 015d 00 .byte 0x0 + 4082 015e 1B .uleb128 0x1b + 4083 015f 2E .uleb128 0x2e + 4084 0160 01 .byte 0x1 + 4085 0161 3F .uleb128 0x3f + 4086 0162 0C .uleb128 0xc + 4087 0163 03 .uleb128 0x3 + 4088 0164 0E .uleb128 0xe + 4089 0165 3A .uleb128 0x3a + 4090 0166 0B .uleb128 0xb + 4091 0167 3B .uleb128 0x3b + 4092 0168 0B .uleb128 0xb + 4093 0169 27 .uleb128 0x27 + 4094 016a 0C .uleb128 0xc + 4095 016b 49 .uleb128 0x49 + 4096 016c 13 .uleb128 0x13 + 4097 016d 11 .uleb128 0x11 + 4098 016e 01 .uleb128 0x1 + 4099 016f 12 .uleb128 0x12 + 4100 0170 01 .uleb128 0x1 + 4101 0171 40 .uleb128 0x40 + 4102 0172 06 .uleb128 0x6 + 4103 0173 01 .uleb128 0x1 + 4104 0174 13 .uleb128 0x13 + 4105 0175 00 .byte 0x0 + 4106 0176 00 .byte 0x0 + 4107 0177 1C .uleb128 0x1c + 4108 0178 34 .uleb128 0x34 + 4109 0179 00 .byte 0x0 + 4110 017a 03 .uleb128 0x3 + 4111 017b 08 .uleb128 0x8 + 4112 017c 3A .uleb128 0x3a + 4113 017d 0B .uleb128 0xb + 4114 017e 3B .uleb128 0x3b + 4115 017f 0B .uleb128 0xb + 4116 0180 49 .uleb128 0x49 + 4117 0181 13 .uleb128 0x13 + 4118 0182 02 .uleb128 0x2 + 4119 0183 06 .uleb128 0x6 + 4120 0184 00 .byte 0x0 + 4121 0185 00 .byte 0x0 + 4122 0186 1D .uleb128 0x1d + 4123 0187 2E .uleb128 0x2e + 4124 0188 00 .byte 0x0 + 4125 0189 3F .uleb128 0x3f + 4126 018a 0C .uleb128 0xc + 4127 018b 03 .uleb128 0x3 + 4128 018c 0E .uleb128 0xe + 4129 018d 3A .uleb128 0x3a + 4130 018e 0B .uleb128 0xb + 4131 018f 3B .uleb128 0x3b + 4132 0190 0B .uleb128 0xb + 4133 0191 27 .uleb128 0x27 + 4134 0192 0C .uleb128 0xc + 4135 0193 11 .uleb128 0x11 + 4136 0194 01 .uleb128 0x1 + 4137 0195 12 .uleb128 0x12 + BFIN GAS /tmp/ccgWA8p2.s page 93 + + + 4138 0196 01 .uleb128 0x1 + 4139 0197 40 .uleb128 0x40 + 4140 0198 06 .uleb128 0x6 + 4141 0199 00 .byte 0x0 + 4142 019a 00 .byte 0x0 + 4143 019b 1E .uleb128 0x1e + 4144 019c 34 .uleb128 0x34 + 4145 019d 00 .byte 0x0 + 4146 019e 03 .uleb128 0x3 + 4147 019f 08 .uleb128 0x8 + 4148 01a0 3A .uleb128 0x3a + 4149 01a1 0B .uleb128 0xb + 4150 01a2 3B .uleb128 0x3b + 4151 01a3 05 .uleb128 0x5 + 4152 01a4 49 .uleb128 0x49 + 4153 01a5 13 .uleb128 0x13 + 4154 01a6 02 .uleb128 0x2 + 4155 01a7 06 .uleb128 0x6 + 4156 01a8 00 .byte 0x0 + 4157 01a9 00 .byte 0x0 + 4158 01aa 1F .uleb128 0x1f + 4159 01ab 1D .uleb128 0x1d + 4160 01ac 01 .byte 0x1 + 4161 01ad 31 .uleb128 0x31 + 4162 01ae 13 .uleb128 0x13 + 4163 01af 55 .uleb128 0x55 + 4164 01b0 06 .uleb128 0x6 + 4165 01b1 58 .uleb128 0x58 + 4166 01b2 0B .uleb128 0xb + 4167 01b3 59 .uleb128 0x59 + 4168 01b4 05 .uleb128 0x5 + 4169 01b5 00 .byte 0x0 + 4170 01b6 00 .byte 0x0 + 4171 01b7 20 .uleb128 0x20 + 4172 01b8 1D .uleb128 0x1d + 4173 01b9 01 .byte 0x1 + 4174 01ba 31 .uleb128 0x31 + 4175 01bb 13 .uleb128 0x13 + 4176 01bc 11 .uleb128 0x11 + 4177 01bd 01 .uleb128 0x1 + 4178 01be 12 .uleb128 0x12 + 4179 01bf 01 .uleb128 0x1 + 4180 01c0 58 .uleb128 0x58 + 4181 01c1 0B .uleb128 0xb + 4182 01c2 59 .uleb128 0x59 + 4183 01c3 05 .uleb128 0x5 + 4184 01c4 00 .byte 0x0 + 4185 01c5 00 .byte 0x0 + 4186 01c6 21 .uleb128 0x21 + 4187 01c7 1D .uleb128 0x1d + 4188 01c8 01 .byte 0x1 + 4189 01c9 31 .uleb128 0x31 + 4190 01ca 13 .uleb128 0x13 + 4191 01cb 11 .uleb128 0x11 + 4192 01cc 01 .uleb128 0x1 + 4193 01cd 12 .uleb128 0x12 + 4194 01ce 01 .uleb128 0x1 + BFIN GAS /tmp/ccgWA8p2.s page 94 + + + 4195 01cf 58 .uleb128 0x58 + 4196 01d0 0B .uleb128 0xb + 4197 01d1 59 .uleb128 0x59 + 4198 01d2 0B .uleb128 0xb + 4199 01d3 00 .byte 0x0 + 4200 01d4 00 .byte 0x0 + 4201 01d5 22 .uleb128 0x22 + 4202 01d6 2E .uleb128 0x2e + 4203 01d7 01 .byte 0x1 + 4204 01d8 03 .uleb128 0x3 + 4205 01d9 0E .uleb128 0xe + 4206 01da 3A .uleb128 0x3a + 4207 01db 0B .uleb128 0xb + 4208 01dc 3B .uleb128 0x3b + 4209 01dd 0B .uleb128 0xb + 4210 01de 27 .uleb128 0x27 + 4211 01df 0C .uleb128 0xc + 4212 01e0 20 .uleb128 0x20 + 4213 01e1 0B .uleb128 0xb + 4214 01e2 01 .uleb128 0x1 + 4215 01e3 13 .uleb128 0x13 + 4216 01e4 00 .byte 0x0 + 4217 01e5 00 .byte 0x0 + 4218 01e6 23 .uleb128 0x23 + 4219 01e7 05 .uleb128 0x5 + 4220 01e8 00 .byte 0x0 + 4221 01e9 03 .uleb128 0x3 + 4222 01ea 0E .uleb128 0xe + 4223 01eb 3A .uleb128 0x3a + 4224 01ec 0B .uleb128 0xb + 4225 01ed 3B .uleb128 0x3b + 4226 01ee 0B .uleb128 0xb + 4227 01ef 49 .uleb128 0x49 + 4228 01f0 13 .uleb128 0x13 + 4229 01f1 00 .byte 0x0 + 4230 01f2 00 .byte 0x0 + 4231 01f3 24 .uleb128 0x24 + 4232 01f4 34 .uleb128 0x34 + 4233 01f5 00 .byte 0x0 + 4234 01f6 03 .uleb128 0x3 + 4235 01f7 0E .uleb128 0xe + 4236 01f8 3A .uleb128 0x3a + 4237 01f9 0B .uleb128 0xb + 4238 01fa 3B .uleb128 0x3b + 4239 01fb 0B .uleb128 0xb + 4240 01fc 49 .uleb128 0x49 + 4241 01fd 13 .uleb128 0x13 + 4242 01fe 00 .byte 0x0 + 4243 01ff 00 .byte 0x0 + 4244 0200 25 .uleb128 0x25 + 4245 0201 05 .uleb128 0x5 + 4246 0202 00 .byte 0x0 + 4247 0203 03 .uleb128 0x3 + 4248 0204 0E .uleb128 0xe + 4249 0205 3A .uleb128 0x3a + 4250 0206 0B .uleb128 0xb + 4251 0207 3B .uleb128 0x3b + BFIN GAS /tmp/ccgWA8p2.s page 95 + + + 4252 0208 0B .uleb128 0xb + 4253 0209 49 .uleb128 0x49 + 4254 020a 13 .uleb128 0x13 + 4255 020b 02 .uleb128 0x2 + 4256 020c 06 .uleb128 0x6 + 4257 020d 00 .byte 0x0 + 4258 020e 00 .byte 0x0 + 4259 020f 26 .uleb128 0x26 + 4260 0210 1D .uleb128 0x1d + 4261 0211 01 .byte 0x1 + 4262 0212 31 .uleb128 0x31 + 4263 0213 13 .uleb128 0x13 + 4264 0214 52 .uleb128 0x52 + 4265 0215 01 .uleb128 0x1 + 4266 0216 55 .uleb128 0x55 + 4267 0217 06 .uleb128 0x6 + 4268 0218 58 .uleb128 0x58 + 4269 0219 0B .uleb128 0xb + 4270 021a 59 .uleb128 0x59 + 4271 021b 0B .uleb128 0xb + 4272 021c 00 .byte 0x0 + 4273 021d 00 .byte 0x0 + 4274 021e 27 .uleb128 0x27 + 4275 021f 05 .uleb128 0x5 + 4276 0220 00 .byte 0x0 + 4277 0221 31 .uleb128 0x31 + 4278 0222 13 .uleb128 0x13 + 4279 0223 00 .byte 0x0 + 4280 0224 00 .byte 0x0 + 4281 0225 28 .uleb128 0x28 + 4282 0226 34 .uleb128 0x34 + 4283 0227 00 .byte 0x0 + 4284 0228 31 .uleb128 0x31 + 4285 0229 13 .uleb128 0x13 + 4286 022a 02 .uleb128 0x2 + 4287 022b 06 .uleb128 0x6 + 4288 022c 00 .byte 0x0 + 4289 022d 00 .byte 0x0 + 4290 022e 29 .uleb128 0x29 + 4291 022f 1D .uleb128 0x1d + 4292 0230 01 .byte 0x1 + 4293 0231 31 .uleb128 0x31 + 4294 0232 13 .uleb128 0x13 + 4295 0233 55 .uleb128 0x55 + 4296 0234 06 .uleb128 0x6 + 4297 0235 58 .uleb128 0x58 + 4298 0236 0B .uleb128 0xb + 4299 0237 59 .uleb128 0x59 + 4300 0238 0B .uleb128 0xb + 4301 0239 01 .uleb128 0x1 + 4302 023a 13 .uleb128 0x13 + 4303 023b 00 .byte 0x0 + 4304 023c 00 .byte 0x0 + 4305 023d 2A .uleb128 0x2a + 4306 023e 34 .uleb128 0x34 + 4307 023f 00 .byte 0x0 + 4308 0240 03 .uleb128 0x3 + BFIN GAS /tmp/ccgWA8p2.s page 96 + + + 4309 0241 0E .uleb128 0xe + 4310 0242 3A .uleb128 0x3a + 4311 0243 0B .uleb128 0xb + 4312 0244 3B .uleb128 0x3b + 4313 0245 0B .uleb128 0xb + 4314 0246 49 .uleb128 0x49 + 4315 0247 13 .uleb128 0x13 + 4316 0248 02 .uleb128 0x2 + 4317 0249 0A .uleb128 0xa + 4318 024a 00 .byte 0x0 + 4319 024b 00 .byte 0x0 + 4320 024c 2B .uleb128 0x2b + 4321 024d 26 .uleb128 0x26 + 4322 024e 00 .byte 0x0 + 4323 024f 49 .uleb128 0x49 + 4324 0250 13 .uleb128 0x13 + 4325 0251 00 .byte 0x0 + 4326 0252 00 .byte 0x0 + 4327 0253 2C .uleb128 0x2c + 4328 0254 01 .uleb128 0x1 + 4329 0255 01 .byte 0x1 + 4330 0256 49 .uleb128 0x49 + 4331 0257 13 .uleb128 0x13 + 4332 0258 01 .uleb128 0x1 + 4333 0259 13 .uleb128 0x13 + 4334 025a 00 .byte 0x0 + 4335 025b 00 .byte 0x0 + 4336 025c 2D .uleb128 0x2d + 4337 025d 21 .uleb128 0x21 + 4338 025e 00 .byte 0x0 + 4339 025f 49 .uleb128 0x49 + 4340 0260 13 .uleb128 0x13 + 4341 0261 2F .uleb128 0x2f + 4342 0262 06 .uleb128 0x6 + 4343 0263 00 .byte 0x0 + 4344 0264 00 .byte 0x0 + 4345 0265 2E .uleb128 0x2e + 4346 0266 35 .uleb128 0x35 + 4347 0267 00 .byte 0x0 + 4348 0268 49 .uleb128 0x49 + 4349 0269 13 .uleb128 0x13 + 4350 026a 00 .byte 0x0 + 4351 026b 00 .byte 0x0 + 4352 026c 2F .uleb128 0x2f + 4353 026d 34 .uleb128 0x34 + 4354 026e 00 .byte 0x0 + 4355 026f 03 .uleb128 0x3 + 4356 0270 0E .uleb128 0xe + 4357 0271 3A .uleb128 0x3a + 4358 0272 0B .uleb128 0xb + 4359 0273 3B .uleb128 0x3b + 4360 0274 0B .uleb128 0xb + 4361 0275 49 .uleb128 0x49 + 4362 0276 13 .uleb128 0x13 + 4363 0277 1C .uleb128 0x1c + 4364 0278 05 .uleb128 0x5 + 4365 0279 00 .byte 0x0 + BFIN GAS /tmp/ccgWA8p2.s page 97 + + + 4366 027a 00 .byte 0x0 + 4367 027b 30 .uleb128 0x30 + 4368 027c 34 .uleb128 0x34 + 4369 027d 00 .byte 0x0 + 4370 027e 03 .uleb128 0x3 + 4371 027f 0E .uleb128 0xe + 4372 0280 3A .uleb128 0x3a + 4373 0281 0B .uleb128 0xb + 4374 0282 3B .uleb128 0x3b + 4375 0283 0B .uleb128 0xb + 4376 0284 49 .uleb128 0x49 + 4377 0285 13 .uleb128 0x13 + 4378 0286 3F .uleb128 0x3f + 4379 0287 0C .uleb128 0xc + 4380 0288 02 .uleb128 0x2 + 4381 0289 0A .uleb128 0xa + 4382 028a 00 .byte 0x0 + 4383 028b 00 .byte 0x0 + 4384 028c 00 .byte 0x0 + 4385 .section .debug_pubnames,"",@progbits + 4386 0000 88010000 .4byte 0x188 + 4387 0004 0200 .2byte 0x2 + 4388 0006 00000000 .4byte .Ldebug_info0 + 4389 000a 10080000 .4byte 0x810 + 4390 000e 9A010000 .4byte 0x19a + 4391 0012 73747265 .string "stream_in_buf_free" + 4391 616D5F69 + 4391 6E5F6275 + 4391 665F6672 + 4391 656500 + 4392 0025 D5010000 .4byte 0x1d5 + 4393 0029 73747265 .string "stream_out_buf_free" + 4393 616D5F6F + 4393 75745F62 + 4393 75665F66 + 4393 72656500 + 4394 003d 0E020000 .4byte 0x20e + 4395 0041 68646D61 .string "hdma_recv_done" + 4395 5F726563 + 4395 765F646F + 4395 6E6500 + 4396 0050 5F020000 .4byte 0x25f + 4397 0054 73706F72 .string "sport_in_buffer_size" + 4397 745F696E + 4397 5F627566 + 4397 6665725F + 4397 73697A65 + 4398 0069 79020000 .4byte 0x279 + 4399 006d 73706F72 .string "sport_in_set_step_size" + 4399 745F696E + 4399 5F736574 + 4399 5F737465 + 4399 705F7369 + 4400 0084 C6020000 .4byte 0x2c6 + 4401 0088 73706F72 .string "sport_rx_stop" + 4401 745F7278 + 4401 5F73746F + BFIN GAS /tmp/ccgWA8p2.s page 98 + + + 4401 7000 + 4402 0096 16030000 .4byte 0x316 + 4403 009a 73706F72 .string "sport_rx_start" + 4403 745F7278 + 4403 5F737461 + 4403 727400 + 4404 00a9 5C030000 .4byte 0x35c + 4405 00ad 73747265 .string "stream_proc" + 4405 616D5F70 + 4405 726F6300 + 4406 00b9 11040000 .4byte 0x411 + 4407 00bd 73747265 .string "stream_out_preload" + 4407 616D5F6F + 4407 75745F70 + 4407 72656C6F + 4407 616400 + 4408 00d0 3E040000 .4byte 0x43e + 4409 00d4 6C353032 .string "l502_stream_init" + 4409 5F737472 + 4409 65616D5F + 4409 696E6974 + 4409 00 + 4410 00e5 53040000 .4byte 0x453 + 4411 00e9 73747265 .string "streams_stop" + 4411 616D735F + 4411 73746F70 + 4411 00 + 4412 00f6 AF040000 .4byte 0x4af + 4413 00fa 6973725F .string "isr_sport_dma_rx" + 4413 73706F72 + 4413 745F646D + 4413 615F7278 + 4413 00 + 4414 010b 55050000 .4byte 0x555 + 4415 010f 73747265 .string "stream_disable" + 4415 616D5F64 + 4415 69736162 + 4415 6C6500 + 4416 011e A6050000 .4byte 0x5a6 + 4417 0122 73747265 .string "stream_enable" + 4417 616D5F65 + 4417 6E61626C + 4417 6500 + 4418 0130 F7050000 .4byte 0x5f7 + 4419 0134 73747265 .string "streams_start" + 4419 616D735F + 4419 73746172 + 4419 7400 + 4420 0142 C2070000 .4byte 0x7c2 + 4421 0146 675F7374 .string "g_stream_in_state" + 4421 7265616D + 4421 5F696E5F + 4421 73746174 + 4421 6500 + 4422 0158 D4070000 .4byte 0x7d4 + 4423 015c 675F7374 .string "g_stream_out_state" + 4423 7265616D + BFIN GAS /tmp/ccgWA8p2.s page 99 + + + 4423 5F6F7574 + 4423 5F737461 + 4423 746500 + 4424 016f E6070000 .4byte 0x7e6 + 4425 0173 675F6D6F .string "g_mode" + 4425 646500 + 4426 017a FD070000 .4byte 0x7fd + 4427 017e 675F7374 .string "g_streams" + 4427 7265616D + 4427 7300 + 4428 0188 00000000 .4byte 0x0 + 4429 .section .debug_aranges,"",@progbits + 4430 0000 1C000000 .4byte 0x1c + 4431 0004 0200 .2byte 0x2 + 4432 0006 00000000 .4byte .Ldebug_info0 + 4433 000a 04 .byte 0x4 + 4434 000b 00 .byte 0x0 + 4435 000c 0000 .2byte 0x0 + 4436 000e 0000 .2byte 0x0 + 4437 0010 00000000 .4byte .Ltext0 + 4438 0014 F0080000 .4byte .Letext0-.Ltext0 + 4439 0018 00000000 .4byte 0x0 + 4440 001c 00000000 .4byte 0x0 + 4441 .section .debug_ranges,"",@progbits + 4442 .Ldebug_ranges0: + 4443 0000 20020000 .4byte .LBB45-.Ltext0 + 4444 0004 48020000 .4byte .LBE45-.Ltext0 + 4445 0008 68030000 .4byte .LBB53-.Ltext0 + 4446 000c 92030000 .4byte .LBE53-.Ltext0 + 4447 0010 EE020000 .4byte .LBB51-.Ltext0 + 4448 0014 34030000 .4byte .LBE51-.Ltext0 + 4449 0018 00000000 .4byte 0x0 + 4450 001c 00000000 .4byte 0x0 + 4451 0020 60020000 .4byte .LBB47-.Ltext0 + 4452 0024 EE020000 .4byte .LBE47-.Ltext0 + 4453 0028 92030000 .4byte .LBB54-.Ltext0 + 4454 002c 98030000 .4byte .LBE54-.Ltext0 + 4455 0030 34030000 .4byte .LBB52-.Ltext0 + 4456 0034 68030000 .4byte .LBE52-.Ltext0 + 4457 0038 00000000 .4byte 0x0 + 4458 003c 00000000 .4byte 0x0 + 4459 0040 8C020000 .4byte .LBB49-.Ltext0 + 4460 0044 EE020000 .4byte .LBE49-.Ltext0 + 4461 0048 92030000 .4byte .LBB50-.Ltext0 + 4462 004c 98030000 .4byte .LBE50-.Ltext0 + 4463 0050 00000000 .4byte 0x0 + 4464 0054 00000000 .4byte 0x0 + 4465 0058 5A040000 .4byte .LBB61-.Ltext0 + 4466 005c 5E040000 .4byte .LBE61-.Ltext0 + 4467 0060 62040000 .4byte .LBB68-.Ltext0 + 4468 0064 A0040000 .4byte .LBE68-.Ltext0 + 4469 0068 00000000 .4byte 0x0 + 4470 006c 00000000 .4byte 0x0 + 4471 0070 20050000 .4byte .LBB78-.Ltext0 + 4472 0074 80050000 .4byte .LBE78-.Ltext0 + 4473 0078 C0050000 .4byte .LBB87-.Ltext0 + 4474 007c 20060000 .4byte .LBE87-.Ltext0 + BFIN GAS /tmp/ccgWA8p2.s page 100 + + + 4475 0080 00000000 .4byte 0x0 + 4476 0084 00000000 .4byte 0x0 + 4477 0088 2E060000 .4byte .LBB90-.Ltext0 + 4478 008c 32060000 .4byte .LBE90-.Ltext0 + 4479 0090 62060000 .4byte .LBB97-.Ltext0 + 4480 0094 82060000 .4byte .LBE97-.Ltext0 + 4481 0098 3E060000 .4byte .LBB96-.Ltext0 + 4482 009c 58060000 .4byte .LBE96-.Ltext0 + 4483 00a0 34060000 .4byte .LBB95-.Ltext0 + 4484 00a4 3A060000 .4byte .LBE95-.Ltext0 + 4485 00a8 00000000 .4byte 0x0 + 4486 00ac 00000000 .4byte 0x0 + 4487 00b0 2E060000 .4byte .LBB92-.Ltext0 + 4488 00b4 32060000 .4byte .LBE92-.Ltext0 + 4489 00b8 62060000 .4byte .LBB94-.Ltext0 + 4490 00bc 82060000 .4byte .LBE94-.Ltext0 + 4491 00c0 3E060000 .4byte .LBB91-.Ltext0 + 4492 00c4 58060000 .4byte .LBE91-.Ltext0 + 4493 00c8 34060000 .4byte .LBB93-.Ltext0 + 4494 00cc 3A060000 .4byte .LBE93-.Ltext0 + 4495 00d0 00000000 .4byte 0x0 + 4496 00d4 00000000 .4byte 0x0 + 4497 00d8 90060000 .4byte .LBB100-.Ltext0 + 4498 00dc 94060000 .4byte .LBE100-.Ltext0 + 4499 00e0 C4060000 .4byte .LBB107-.Ltext0 + 4500 00e4 E4060000 .4byte .LBE107-.Ltext0 + 4501 00e8 A0060000 .4byte .LBB106-.Ltext0 + 4502 00ec BA060000 .4byte .LBE106-.Ltext0 + 4503 00f0 96060000 .4byte .LBB105-.Ltext0 + 4504 00f4 9C060000 .4byte .LBE105-.Ltext0 + 4505 00f8 00000000 .4byte 0x0 + 4506 00fc 00000000 .4byte 0x0 + 4507 0100 90060000 .4byte .LBB102-.Ltext0 + 4508 0104 94060000 .4byte .LBE102-.Ltext0 + 4509 0108 C4060000 .4byte .LBB104-.Ltext0 + 4510 010c E4060000 .4byte .LBE104-.Ltext0 + 4511 0110 A0060000 .4byte .LBB101-.Ltext0 + 4512 0114 BA060000 .4byte .LBE101-.Ltext0 + 4513 0118 96060000 .4byte .LBB103-.Ltext0 + 4514 011c 9C060000 .4byte .LBE103-.Ltext0 + 4515 0120 00000000 .4byte 0x0 + 4516 0124 00000000 .4byte 0x0 + 4517 0128 3C070000 .4byte .LBB118-.Ltext0 + 4518 012c 3E070000 .4byte .LBE118-.Ltext0 + 4519 0130 E6080000 .4byte .LBB142-.Ltext0 + 4520 0134 F0080000 .4byte .LBE142-.Ltext0 + 4521 0138 DA080000 .4byte .LBB141-.Ltext0 + 4522 013c E0080000 .4byte .LBE141-.Ltext0 + 4523 0140 D6080000 .4byte .LBB140-.Ltext0 + 4524 0144 D8080000 .4byte .LBE140-.Ltext0 + 4525 0148 D8070000 .4byte .LBB128-.Ltext0 + 4526 014c EA070000 .4byte .LBE128-.Ltext0 + 4527 0150 5E070000 .4byte .LBB127-.Ltext0 + 4528 0154 60070000 .4byte .LBE127-.Ltext0 + 4529 0158 40070000 .4byte .LBB126-.Ltext0 + 4530 015c 58070000 .4byte .LBE126-.Ltext0 + 4531 0160 00000000 .4byte 0x0 + BFIN GAS /tmp/ccgWA8p2.s page 101 + + + 4532 0164 00000000 .4byte 0x0 + 4533 0168 3C070000 .4byte .LBB122-.Ltext0 + 4534 016c 3E070000 .4byte .LBE122-.Ltext0 + 4535 0170 E6080000 .4byte .LBB125-.Ltext0 + 4536 0174 F0080000 .4byte .LBE125-.Ltext0 + 4537 0178 DA080000 .4byte .LBB119-.Ltext0 + 4538 017c E0080000 .4byte .LBE119-.Ltext0 + 4539 0180 D6080000 .4byte .LBB124-.Ltext0 + 4540 0184 D8080000 .4byte .LBE124-.Ltext0 + 4541 0188 D8070000 .4byte .LBB120-.Ltext0 + 4542 018c EA070000 .4byte .LBE120-.Ltext0 + 4543 0190 5E070000 .4byte .LBB123-.Ltext0 + 4544 0194 60070000 .4byte .LBE123-.Ltext0 + 4545 0198 40070000 .4byte .LBB121-.Ltext0 + 4546 019c 58070000 .4byte .LBE121-.Ltext0 + 4547 01a0 00000000 .4byte 0x0 + 4548 01a4 00000000 .4byte 0x0 + 4549 .section .debug_str,"MS",@progbits,1 + 4550 .LASF49: + 4551 0000 68646D61 .string "hdma_recv_done" + 4551 5F726563 + 4551 765F646F + 4551 6E6500 + 4552 .LASF35: + 4553 000f 494E5F53 .string "IN_STREAM_ERR" + 4553 54524541 + 4553 4D5F4552 + 4553 5200 + 4554 .LASF39: + 4555 001d 4F55545F .string "OUT_STREAM_RUN" + 4555 53545245 + 4555 414D5F52 + 4555 554E00 + 4556 .LASF18: + 4557 002c 4C353032 .string "L502_BF_ERR_STREAM_RUNNING" + 4557 5F42465F + 4557 4552525F + 4557 53545245 + 4557 414D5F52 + 4558 .LASF74: + 4559 0047 665F7370 .string "f_sport_in_block_size" + 4559 6F72745F + 4559 696E5F62 + 4559 6C6F636B + 4559 5F73697A + 4560 .LASF87: + 4561 005d 474E5520 .string "GNU C 4.3.5" + 4561 4320342E + 4561 332E3500 + 4562 .LASF55: + 4563 0069 73706F72 .string "sport_rdy_size" + 4563 745F7264 + 4563 795F7369 + 4563 7A6500 + 4564 .LASF20: + 4565 0078 4C353032 .string "L502_BF_ERR_NO_TEST_IN_PROGR" + 4565 5F42465F + BFIN GAS /tmp/ccgWA8p2.s page 102 + + + 4565 4552525F + 4565 4E4F5F54 + 4565 4553545F + 4566 .LASF67: + 4567 0095 73747265 .string "streams_start" + 4567 616D735F + 4567 73746172 + 4567 7400 + 4568 .LASF65: + 4569 00a3 73747265 .string "streams" + 4569 616D7300 + 4570 .LASF48: + 4571 00ab 6765745F .string "get_pos" + 4571 706F7300 + 4572 .LASF88: + 4573 00b3 7372632F .string "src/l502_stream.c" + 4573 6C353032 + 4573 5F737472 + 4573 65616D2E + 4573 6300 + 4574 .LASF86: + 4575 00c5 675F7374 .string "g_streams" + 4575 7265616D + 4575 7300 + 4576 .LASF32: + 4577 00cf 494E5F53 .string "IN_STREAM_STOP" + 4577 54524541 + 4577 4D5F5354 + 4577 4F5000 + 4578 .LASF90: + 4579 00de 73706F72 .string "sport_in_buffer_size" + 4579 745F696E + 4579 5F627566 + 4579 6665725F + 4579 73697A65 + 4580 .LASF68: + 4581 00f3 665F6266 .string "f_bf_reg" + 4581 5F726567 + 4581 00 + 4582 .LASF27: + 4583 00fc 4C353032 .string "L502_STREAM_DAC1" + 4583 5F535452 + 4583 45414D5F + 4583 44414331 + 4583 00 + 4584 .LASF28: + 4585 010d 4C353032 .string "L502_STREAM_DAC2" + 4585 5F535452 + 4585 45414D5F + 4585 44414332 + 4585 00 + 4586 .LASF62: + 4587 011e 7264795F .string "rdy_put_pos" + 4587 7075745F + 4587 706F7300 + 4588 .LASF79: + 4589 012a 665F6864 .string "f_hdma_out_get_pos" + BFIN GAS /tmp/ccgWA8p2.s page 103 + + + 4589 6D615F6F + 4589 75745F67 + 4589 65745F70 + 4589 6F7300 + 4590 .LASF2: + 4591 013d 73686F72 .string "short int" + 4591 7420696E + 4591 7400 + 4592 .LASF19: + 4593 0147 4C353032 .string "L502_BF_ERR_STREAM_STOPPED" + 4593 5F42465F + 4593 4552525F + 4593 53545245 + 4593 414D5F53 + 4594 .LASF73: + 4595 0162 665F7370 .string "f_sport_in_get_pos" + 4595 6F72745F + 4595 696E5F67 + 4595 65745F70 + 4595 6F7300 + 4596 .LASF78: + 4597 0175 665F6864 .string "f_hdma_out_start_pos" + 4597 6D615F6F + 4597 75745F73 + 4597 74617274 + 4597 5F706F73 + 4598 .LASF44: + 4599 018a 665F7374 .string "f_stream_in_set_overflow" + 4599 7265616D + 4599 5F696E5F + 4599 7365745F + 4599 6F766572 + 4600 .LASF66: + 4601 01a3 73747265 .string "stream_enable" + 4601 616D5F65 + 4601 6E61626C + 4601 6500 + 4602 .LASF51: + 4603 01b1 7075745F .string "put_pos" + 4603 706F7300 + 4604 .LASF34: + 4605 01b9 494E5F53 .string "IN_STREAM_OV_ALERT" + 4605 54524541 + 4605 4D5F4F56 + 4605 5F414C45 + 4605 525400 + 4606 .LASF59: + 4607 01cc 73747265 .string "stream_out_preload" + 4607 616D5F6F + 4607 75745F70 + 4607 72656C6F + 4607 616400 + 4608 .LASF31: + 4609 01df 4C353032 .string "L502_STREAM_ALL_OUT" + 4609 5F535452 + 4609 45414D5F + 4609 414C4C5F + BFIN GAS /tmp/ccgWA8p2.s page 104 + + + 4609 4F555400 + 4610 .LASF56: + 4611 01f3 70726F63 .string "processed" + 4611 65737365 + 4611 6400 + 4612 .LASF63: + 4613 01fd 7772645F .string "wrd_en" + 4613 656E00 + 4614 .LASF52: + 4615 0204 73706F72 .string "sport_rx_stop" + 4615 745F7278 + 4615 5F73746F + 4615 7000 + 4616 .LASF8: + 4617 0212 6C6F6E67 .string "long long int" + 4617 206C6F6E + 4617 6720696E + 4617 7400 + 4618 .LASF37: + 4619 0220 4F55545F .string "OUT_STREAM_STOP" + 4619 53545245 + 4619 414D5F53 + 4619 544F5000 + 4620 .LASF40: + 4621 0230 4F55545F .string "OUT_STREAM_ERR" + 4621 53545245 + 4621 414D5F45 + 4621 525200 + 4622 .LASF21: + 4623 023f 4C353032 .string "L502_BF_ERR_TEST_VALUE" + 4623 5F42465F + 4623 4552525F + 4623 54455354 + 4623 5F56414C + 4624 .LASF4: + 4625 0256 6C6F6E67 .string "long int" + 4625 20696E74 + 4625 00 + 4626 .LASF14: + 4627 025f 4C353032 .string "L502_BF_ERR_UNSUP_CMD" + 4627 5F42465F + 4627 4552525F + 4627 554E5355 + 4627 505F434D + 4628 .LASF60: + 4629 0275 73747265 .string "streams_stop" + 4629 616D735F + 4629 73746F70 + 4629 00 + 4630 .LASF50: + 4631 0282 61646472 .string "addr" + 4631 00 + 4632 .LASF26: + 4633 0287 4C353032 .string "L502_STREAM_DIN" + 4633 5F535452 + 4633 45414D5F + 4633 44494E00 + BFIN GAS /tmp/ccgWA8p2.s page 105 + + + 4634 .LASF23: + 4635 0297 4C353032 .string "L502_BF_MODE_STREAM" + 4635 5F42465F + 4635 4D4F4445 + 4635 5F535452 + 4635 45414D00 + 4636 .LASF46: + 4637 02ab 73747265 .string "stream_out_buf_free" + 4637 616D5F6F + 4637 75745F62 + 4637 75665F66 + 4637 72656500 + 4638 .LASF76: + 4639 02bf 665F6864 .string "f_hdma_out_buf" + 4639 6D615F6F + 4639 75745F62 + 4639 756600 + 4640 .LASF15: + 4641 02ce 4C353032 .string "L502_BF_ERR_CMD_OVERRUN" + 4641 5F42465F + 4641 4552525F + 4641 434D445F + 4641 4F564552 + 4642 .LASF61: + 4643 02e6 6973725F .string "isr_sport_dma_rx" + 4643 73706F72 + 4643 745F646D + 4643 615F7278 + 4643 00 + 4644 .LASF43: + 4645 02f7 7373796E .string "ssync" + 4645 6300 + 4646 .LASF81: + 4647 02fd 665F6864 .string "f_hdma_out_proc_pos" + 4647 6D615F6F + 4647 75745F70 + 4647 726F635F + 4647 706F7300 + 4648 .LASF1: + 4649 0311 756E7369 .string "unsigned char" + 4649 676E6564 + 4649 20636861 + 4649 7200 + 4650 .LASF85: + 4651 031f 675F6D6F .string "g_mode" + 4651 646500 + 4652 .LASF71: + 4653 0326 665F7370 .string "f_sport_in_put_pos" + 4653 6F72745F + 4653 696E5F70 + 4653 75745F70 + 4653 6F7300 + 4654 .LASF83: + 4655 0339 675F7374 .string "g_stream_in_state" + 4655 7265616D + 4655 5F696E5F + 4655 73746174 + BFIN GAS /tmp/ccgWA8p2.s page 106 + + + 4655 6500 + 4656 .LASF25: + 4657 034b 4C353032 .string "L502_STREAM_ADC" + 4657 5F535452 + 4657 45414D5F + 4657 41444300 + 4658 .LASF29: + 4659 035b 4C353032 .string "L502_STREAM_DOUT" + 4659 5F535452 + 4659 45414D5F + 4659 444F5554 + 4659 00 + 4660 .LASF80: + 4661 036c 665F6864 .string "f_hdma_out_block_size" + 4661 6D615F6F + 4661 75745F62 + 4661 6C6F636B + 4661 5F73697A + 4662 .LASF0: + 4663 0382 7369676E .string "signed char" + 4663 65642063 + 4663 68617200 + 4664 .LASF9: + 4665 038e 6C6F6E67 .string "long long unsigned int" + 4665 206C6F6E + 4665 6720756E + 4665 7369676E + 4665 65642069 + 4666 .LASF6: + 4667 03a5 75696E74 .string "uint32_t" + 4667 33325F74 + 4667 00 + 4668 .LASF10: + 4669 03ae 756E7369 .string "unsigned int" + 4669 676E6564 + 4669 20696E74 + 4669 00 + 4670 .LASF84: + 4671 03bb 675F7374 .string "g_stream_out_state" + 4671 7265616D + 4671 5F6F7574 + 4671 5F737461 + 4671 746500 + 4672 .LASF70: + 4673 03ce 665F7370 .string "f_sport_in_buf" + 4673 6F72745F + 4673 696E5F62 + 4673 756600 + 4674 .LASF38: + 4675 03dd 4F55545F .string "OUT_STREAM_PRELOAD" + 4675 53545245 + 4675 414D5F50 + 4675 52454C4F + 4675 414400 + 4676 .LASF82: + 4677 03f0 665F7265 .string "f_recv_size" + 4677 63765F73 + BFIN GAS /tmp/ccgWA8p2.s page 107 + + + 4677 697A6500 + 4678 .LASF3: + 4679 03fc 73686F72 .string "short unsigned int" + 4679 7420756E + 4679 7369676E + 4679 65642069 + 4679 6E7400 + 4680 .LASF16: + 4681 040f 4C353032 .string "L502_BF_ERR_INVALID_CMD_PARAMS" + 4681 5F42465F + 4681 4552525F + 4681 494E5641 + 4681 4C49445F + 4682 .LASF24: + 4683 042e 4C353032 .string "L502_BF_MODE_TEST" + 4683 5F42465F + 4683 4D4F4445 + 4683 5F544553 + 4683 5400 + 4684 .LASF11: + 4685 0440 63686172 .string "char" + 4685 00 + 4686 .LASF5: + 4687 0445 696E7433 .string "int32_t" + 4687 325F7400 + 4688 .LASF17: + 4689 044d 4C353032 .string "L502_BF_ERR_INSUF_CMD_DATA" + 4689 5F42465F + 4689 4552525F + 4689 494E5355 + 4689 465F434D + 4690 .LASF92: + 4691 0468 665F7365 .string "f_set_streams" + 4691 745F7374 + 4691 7265616D + 4691 7300 + 4692 .LASF33: + 4693 0476 494E5F53 .string "IN_STREAM_RUN" + 4693 54524541 + 4693 4D5F5255 + 4693 4E00 + 4694 .LASF45: + 4695 0484 73747265 .string "stream_in_buf_free" + 4695 616D5F69 + 4695 6E5F6275 + 4695 665F6672 + 4695 656500 + 4696 .LASF57: + 4697 0497 68646D61 .string "hdma_rdy_size" + 4697 5F726479 + 4697 5F73697A + 4697 6500 + 4698 .LASF53: + 4699 04a5 73706F72 .string "sport_rx_start" + 4699 745F7278 + 4699 5F737461 + 4699 727400 + BFIN GAS /tmp/ccgWA8p2.s page 108 + + + 4700 .LASF75: + 4701 04b4 665F7370 .string "f_sport_in_buf_size" + 4701 6F72745F + 4701 696E5F62 + 4701 75665F73 + 4701 697A6500 + 4702 .LASF89: + 4703 04c8 2F686F6D .string "/home/feda/MIPT/RadioPhotonic_Subserface_radar/ADC_computing/BFfirmware_0" + 4703 652F6665 + 4703 64612F4D + 4703 4950542F + 4703 52616469 + 4704 .LASF7: + 4705 0512 6C6F6E67 .string "long unsigned int" + 4705 20756E73 + 4705 69676E65 + 4705 6420696E + 4705 7400 + 4706 .LASF47: + 4707 0524 73697A65 .string "size" + 4707 00 + 4708 .LASF36: + 4709 0529 745F696E .string "t_in_stream_state" + 4709 5F737472 + 4709 65616D5F + 4709 73746174 + 4709 6500 + 4710 .LASF64: + 4711 053b 73747265 .string "stream_disable" + 4711 616D5F64 + 4711 69736162 + 4711 6C6500 + 4712 .LASF13: + 4713 054a 4C353032 .string "L502_BF_ERR_FIRST_CODE" + 4713 5F42465F + 4713 4552525F + 4713 46495253 + 4713 545F434F + 4714 .LASF72: + 4715 0561 665F7370 .string "f_sport_in_proc_pos" + 4715 6F72745F + 4715 696E5F70 + 4715 726F635F + 4715 706F7300 + 4716 .LASF12: + 4717 0575 4C353032 .string "L502_BF_ERR_SUCCESS" + 4717 5F42465F + 4717 4552525F + 4717 53554343 + 4717 45535300 + 4718 .LASF58: + 4719 0589 73706F72 .string "sport_in_set_step_size" + 4719 745F696E + 4719 5F736574 + 4719 5F737465 + 4719 705F7369 + 4720 .LASF91: + BFIN GAS /tmp/ccgWA8p2.s page 109 + + + 4721 05a0 6C353032 .string "l502_stream_init" + 4721 5F737472 + 4721 65616D5F + 4721 696E6974 + 4721 00 + 4722 .LASF30: + 4723 05b1 4C353032 .string "L502_STREAM_ALL_IN" + 4723 5F535452 + 4723 45414D5F + 4723 414C4C5F + 4723 494E00 + 4724 .LASF42: + 4725 05c4 745F6F75 .string "t_out_stream_state" + 4725 745F7374 + 4725 7265616D + 4725 5F737461 + 4725 746500 + 4726 .LASF69: + 4727 05d7 665F6F76 .string "f_overflow_wrd" + 4727 6572666C + 4727 6F775F77 + 4727 726400 + 4728 .LASF22: + 4729 05e6 4C353032 .string "L502_BF_MODE_IDLE" + 4729 5F42465F + 4729 4D4F4445 + 4729 5F49444C + 4729 4500 + 4730 .LASF77: + 4731 05f8 665F6864 .string "f_hdma_out_put_pos" + 4731 6D615F6F + 4731 75745F70 + 4731 75745F70 + 4731 6F7300 + 4732 .LASF41: + 4733 060b 4F55545F .string "OUT_STREAM_CYCLE" + 4733 53545245 + 4733 414D5F43 + 4733 59434C45 + 4733 00 + 4734 .LASF54: + 4735 061c 73747265 .string "stream_proc" + 4735 616D5F70 + 4735 726F6300 + 4736 .ident "GCC: (ADI-2014R1-RC2) 4.3.5" + BFIN GAS /tmp/ccgWA8p2.s page 110 + + +DEFINED SYMBOLS + *ABS*:0000000000000000 src/l502_stream.c + /tmp/ccgWA8p2.s:13 .text:0000000000000000 _stream_in_buf_free + /tmp/ccgWA8p2.s:1670 .bss:0000000000000010 _f_sport_in_get_pos + /tmp/ccgWA8p2.s:1667 .data:0000000000000008 _f_sport_in_buf_size + /tmp/ccgWA8p2.s:49 .text:0000000000000028 _stream_out_buf_free + /tmp/ccgWA8p2.s:1680 .bss:0000000000000024 _f_hdma_out_get_pos + /tmp/ccgWA8p2.s:86 .text:0000000000000050 _hdma_recv_done + /tmp/ccgWA8p2.s:1678 .bss:0000000000000020 _f_hdma_out_put_pos + /tmp/ccgWA8p2.s:118 .text:0000000000000074 _sport_in_buffer_size + /tmp/ccgWA8p2.s:134 .text:0000000000000084 _sport_in_set_step_size + /tmp/ccgWA8p2.s:1662 .data:0000000000000004 _f_sport_in_block_size + /tmp/ccgWA8p2.s:193 .text:00000000000000d4 _sport_rx_stop + /tmp/ccgWA8p2.s:1674 .bss:0000000000000018 _f_bf_reg + /tmp/ccgWA8p2.s:246 .text:0000000000000120 _sport_rx_start + /tmp/ccgWA8p2.s:1676 .bss:000000000000001c _dummy.2409 + /tmp/ccgWA8p2.s:1693 .sdram_noinit:0000000000000000 _f_sport_in_buf + /tmp/ccgWA8p2.s:384 .text:0000000000000208 _stream_proc + /tmp/ccgWA8p2.s:1636 .bss:0000000000000000 _g_stream_in_state + /tmp/ccgWA8p2.s:1658 .bss:000000000000000c _f_sport_in_put_pos + /tmp/ccgWA8p2.s:1682 .bss:0000000000000028 _f_sport_in_proc_pos + /tmp/ccgWA8p2.s:1642 .bss:0000000000000004 _g_stream_out_state + /tmp/ccgWA8p2.s:1703 .bss:0000000000000030 _f_hdma_out_proc_pos + /tmp/ccgWA8p2.s:1701 .bss:000000000000002c _f_hdma_out_start_pos + /tmp/ccgWA8p2.s:1698 .sdram_noinit:0000000000800000 _f_hdma_out_buf + /tmp/ccgWA8p2.s:1687 .rodata:0000000000000000 _f_overflow_wrd + /tmp/ccgWA8p2.s:661 .text:0000000000000398 _stream_out_preload + /tmp/ccgWA8p2.s:733 .text:000000000000040c _l502_stream_init + /tmp/ccgWA8p2.s:755 .text:000000000000042c _streams_stop + /tmp/ccgWA8p2.s:1648 .bss:0000000000000008 _g_mode + /tmp/ccgWA8p2.s:874 .text:00000000000004d4 _isr_sport_dma_rx + /tmp/ccgWA8p2.s:1672 .bss:0000000000000014 _f_recv_size + /tmp/ccgWA8p2.s:1107 .text:0000000000000620 _stream_disable + /tmp/ccgWA8p2.s:1655 .data:0000000000000000 _g_streams + /tmp/ccgWA8p2.s:1199 .text:0000000000000684 _stream_enable + /tmp/ccgWA8p2.s:1290 .text:00000000000006e4 _streams_start + +UNDEFINED SYMBOLS +___udivsi3 +_fpga_reg_write +_hdma_recv_req_rdy +_hdma_recv_req_start +_usr_in_proc_data +_usr_out_proc_data +_hdma_send_req_rdy +_hdma_send_req_start +_hdma_recv_start +_sport_tx_init +_hdma_send_stop +_hdma_recv_stop +_sport_tx_stop +_hdma_send_start diff --git a/build/release/lst/l502_tests.lst b/build/release/lst/l502_tests.lst new file mode 100644 index 0000000..88f8c7b --- /dev/null +++ b/build/release/lst/l502_tests.lst @@ -0,0 +1,4270 @@ +BFIN GAS /tmp/cc0Jz34x.s page 1 + + + 1 .file "src/l502_tests.c"; + 2 .section .debug_abbrev,"",@progbits + 3 .Ldebug_abbrev0: + 4 .section .debug_info,"",@progbits + 5 .Ldebug_info0: + 6 .section .debug_line,"",@progbits + 7 .Ldebug_line0: + 8 0000 8A020000 .text; + 8 0200D300 + 8 00000101 + 8 FB0E0D00 + 8 01010101 + 9 .Ltext0: + 10 .align 4 + 11 .global _l502_cmd_test; + 12 .type _l502_cmd_test, STT_FUNC; + 13 _l502_cmd_test: + 14 .LFB2: + 15 .file 1 "src/l502_tests.c" + 1:src/l502_tests.c **** /** @file l502_test.c + 2:src/l502_tests.c **** Данный файл содержит реализацию тестов аппаратуры. + 3:src/l502_tests.c **** Эти тесты используется при наладке прибора и не выполняется в штатном режиме работы, + 4:src/l502_tests.c **** однако включение их в прошивку позволяет выполнять проверку и после этапа наладки + 5:src/l502_tests.c **** (однако не во время сбора данных и т.п.) + 6:src/l502_tests.c **** + 7:src/l502_tests.c **** Для управления тестами предназначена специальная команда от PC к BlackFin: L502_BF_CMD_CODE_TES + 8:src/l502_tests.c **** Параметр этой каоманды определяет действие: + 9:src/l502_tests.c **** - запустить тест с заданным номером + 10:src/l502_tests.c **** - остановить текущий тест + 11:src/l502_tests.c **** - получить результаты выполняемого в данных момент теста или + 12:src/l502_tests.c **** последнего выполняемого теста (если тест остановлен). + 13:src/l502_tests.c **** + 14:src/l502_tests.c **** По какого-либо теста модуль переходит в етстовый режим (изменяется g_mode) + 15:src/l502_tests.c **** и выполняет функцию, соответствующую заданному тесту (из этой функции тест + 16:src/l502_tests.c **** должен переодически проверять приход других команд от PC). + 17:src/l502_tests.c **** Тест выполняется либо до ошибки, либо до прихода команды останова). + 18:src/l502_tests.c **** Узнать результат теста можно командой с параметром L502_BF_CMD_TEST_GET_RESULT. + 19:src/l502_tests.c **** + 20:src/l502_tests.c **** Доступны следующие тесты: + 21:src/l502_tests.c **** - Проверка SDRAM + 22:src/l502_tests.c **** - Проверка SPI + 23:src/l502_tests.c **** - Проверка SPORT + 24:src/l502_tests.c **** + 25:src/l502_tests.c **** **************************************************************************************************/ + 26:src/l502_tests.c **** + 27:src/l502_tests.c **** + 28:src/l502_tests.c **** #include + 29:src/l502_tests.c **** #include + 30:src/l502_tests.c **** #include + 31:src/l502_tests.c **** + 32:src/l502_tests.c **** #include "l502_cmd.h" + 33:src/l502_tests.c **** #include "l502_fpga.h" + 34:src/l502_tests.c **** #include "l502_sport_tx.h" + 35:src/l502_tests.c **** + 36:src/l502_tests.c **** #include + 37:src/l502_tests.c **** + 38:src/l502_tests.c **** + BFIN GAS /tmp/cc0Jz34x.s page 2 + + + 39:src/l502_tests.c **** + 40:src/l502_tests.c **** extern int g_mode; + 41:src/l502_tests.c **** + 42:src/l502_tests.c **** /* модуль счетчика, используемого для тестов SDRAM и SPORT */ + 43:src/l502_tests.c **** #define L502_TEST_CNTR_MODULE 35317 + 44:src/l502_tests.c **** + 45:src/l502_tests.c **** /* размер одного банка SDRAM */ + 46:src/l502_tests.c **** #define SDRAM_BANK_SIZE (4UL*1024*1024*2) + 47:src/l502_tests.c **** + 48:src/l502_tests.c **** /* адреса банков SDRAM */ + 49:src/l502_tests.c **** static volatile uint16_t* bank1 = NULL; + 50:src/l502_tests.c **** static volatile uint16_t* bank2 = (uint16_t*)(SDRAM_BANK_SIZE); + 51:src/l502_tests.c **** static volatile uint16_t* bank3 = (uint16_t*)(2*SDRAM_BANK_SIZE); + 52:src/l502_tests.c **** static volatile uint16_t* bank4 = (uint16_t*)(3*SDRAM_BANK_SIZE); + 53:src/l502_tests.c **** + 54:src/l502_tests.c **** + 55:src/l502_tests.c **** #define SPORT_TEST_START_ADDR 0xFF900000 + 56:src/l502_tests.c **** #define SPORT_TEST_BUF_SIZE 4096 + 57:src/l502_tests.c **** + 58:src/l502_tests.c **** /* результат последнего теста */ + 59:src/l502_tests.c **** static t_l502_bf_test_res f_test_res; + 60:src/l502_tests.c **** /* номер последнего выполняемого теста */ + 61:src/l502_tests.c **** static int32_t f_cur_test_ind = -1; + 62:src/l502_tests.c **** + 63:src/l502_tests.c **** /* объявление функций запуска тестов */ + 64:src/l502_tests.c **** static int f_sdram_test(void); + 65:src/l502_tests.c **** static int f_spi_test(void); + 66:src/l502_tests.c **** static int f_sport_test(void); + 67:src/l502_tests.c **** + 68:src/l502_tests.c **** + 69:src/l502_tests.c **** /* стркутура, описывающая соответствия кода теста и функций теста */ + 70:src/l502_tests.c **** typedef struct { + 71:src/l502_tests.c **** uint32_t test_code; + 72:src/l502_tests.c **** int (*start)(void); + 73:src/l502_tests.c **** void (*get_result)(t_l502_bf_cmd *cmd); + 74:src/l502_tests.c **** } t_test_pars; + 75:src/l502_tests.c **** /* теблица соответствий функций и кодов тестов */ + 76:src/l502_tests.c **** static t_test_pars f_test_pars[] = { + 77:src/l502_tests.c **** { L502_BF_CMD_TEST_ECHO, NULL, NULL}, + 78:src/l502_tests.c **** { L502_BF_CMD_TEST_SPORT, f_sport_test, NULL}, + 79:src/l502_tests.c **** { L502_BF_CMD_TEST_SDRAM, f_sdram_test, NULL}, + 80:src/l502_tests.c **** { L502_BF_CMD_TEST_SPI, f_spi_test, NULL} + 81:src/l502_tests.c **** }; + 82:src/l502_tests.c **** + 83:src/l502_tests.c **** + 84:src/l502_tests.c **** + 85:src/l502_tests.c **** + 86:src/l502_tests.c **** + 87:src/l502_tests.c **** void l502_cmd_test(t_l502_bf_cmd *cmd) { + 16 .loc 1 87 0 + 17 .LVL0: + 18 0000 EB05 [--sp] = ( r7:5, p5:3 ); + 19 + 20 .LCFI0: + 21 0002 2832 P5 = R0; + 22 0004 00E80300 LINK 12; + 23 .LCFI1: + BFIN GAS /tmp/cc0Jz34x.s page 3 + + + 88:src/l502_tests.c **** /* получение результата теста */ + 89:src/l502_tests.c **** if (cmd->param == L502_BF_CMD_TEST_GET_RESULT) { + 24 .loc 1 89 0 + 25 0008 69A0 R1 = [P5+4]; + 26 000a 090C cc =R1==1; + 27 000c 3E18 if cc jump .L20; + 28 .LVL1: + 90:src/l502_tests.c **** /* если не было никакого теста - возвращаем ошибку */ + 91:src/l502_tests.c **** if (f_cur_test_ind == -1) { + 92:src/l502_tests.c **** l502_cmd_done(L502_BF_ERR_INVALID_CMD_PARAMS, NULL, 0); + 93:src/l502_tests.c **** } else { + 94:src/l502_tests.c **** f_test_res.run = (g_mode == L502_BF_MODE_TEST) ? 1 : 0; + 95:src/l502_tests.c **** + 96:src/l502_tests.c **** + 97:src/l502_tests.c **** if (f_test_pars[f_cur_test_ind].get_result != NULL) { + 98:src/l502_tests.c **** /* если есть у теста спец функция для получения результата => + 99:src/l502_tests.c **** вызываем ее */ + 100:src/l502_tests.c **** f_test_pars[f_cur_test_ind].get_result(cmd); + 101:src/l502_tests.c **** } else { + 102:src/l502_tests.c **** /* иначе просто устанавливаем резульатат без данных */ + 103:src/l502_tests.c **** l502_cmd_done(0, (uint32_t*)&f_test_res, + 104:src/l502_tests.c **** sizeof(t_l502_bf_test_res)/sizeof(uint32_t)); + 105:src/l502_tests.c **** } + 106:src/l502_tests.c **** } + 107:src/l502_tests.c **** } else if (cmd->param == L502_BF_CMD_TEST_STOP) { + 29 .loc 1 107 0 + 30 000e 010C cc =R1==0; + 31 0010 1114 if !cc jump .L5 (bp); + 108:src/l502_tests.c **** /* останов теста => если тест запущен - возвращаем его результат, + 109:src/l502_tests.c **** иначе возвращаем ошибку что и так теста нету */ + 110:src/l502_tests.c **** if (g_mode == L502_BF_MODE_TEST) { + 32 .loc 1 110 0 + 33 0012 4AE10000 P2.H = _g_mode; + 34 0016 0AE10000 P2.L = _g_mode; + 35 001a 1091 R0 = [P2]; + 36 001c 100C cc =R0==2; + 37 001e 5618 if cc jump .L21; + 111:src/l502_tests.c **** g_mode = L502_BF_MODE_IDLE; + 112:src/l502_tests.c **** l502_cmd_done(0, NULL, 0); + 113:src/l502_tests.c **** } else { + 114:src/l502_tests.c **** l502_cmd_done(L502_BF_ERR_NO_TEST_IN_PROGR, NULL, 0); + 38 .loc 1 114 0 + 39 0020 20E1FAFD R0 = -518 (X); + 40 .L18: + 115:src/l502_tests.c **** } + 116:src/l502_tests.c **** } else { + 117:src/l502_tests.c **** /* запуск теста - проходим по таблице и ищем нужный тест */ + 118:src/l502_tests.c **** if (g_mode == L502_BF_MODE_IDLE) { + 119:src/l502_tests.c **** uint32_t i; + 120:src/l502_tests.c **** + 121:src/l502_tests.c **** for (i=0, f_cur_test_ind=-1; (iparam) { + 124:src/l502_tests.c **** f_cur_test_ind = i; + 125:src/l502_tests.c **** memset(&f_test_res, 0, sizeof(f_test_res)); + 126:src/l502_tests.c **** f_test_res.test = cmd->param; + 127:src/l502_tests.c **** l502_cmd_done(0, 0, NULL); + BFIN GAS /tmp/cc0Jz34x.s page 4 + + + 128:src/l502_tests.c **** + 129:src/l502_tests.c **** if (f_test_pars[i].start != NULL) { + 130:src/l502_tests.c **** g_mode = L502_BF_MODE_TEST; + 131:src/l502_tests.c **** f_test_pars[i].start(); + 132:src/l502_tests.c **** g_mode = L502_BF_MODE_IDLE; + 133:src/l502_tests.c **** } + 134:src/l502_tests.c **** } + 135:src/l502_tests.c **** } + 136:src/l502_tests.c **** + 137:src/l502_tests.c **** if (f_cur_test_ind == -1) + 138:src/l502_tests.c **** l502_cmd_done(L502_BF_ERR_INVALID_CMD_PARAMS, NULL, 0); + 139:src/l502_tests.c **** } + 140:src/l502_tests.c **** else + 141:src/l502_tests.c **** { + 142:src/l502_tests.c **** l502_cmd_done(L502_BF_ERR_STREAM_RUNNING, NULL, 0); + 143:src/l502_tests.c **** } + 144:src/l502_tests.c **** } + 145:src/l502_tests.c **** } + 41 .loc 1 145 0 + 42 0024 01E80000 UNLINK; + 142:src/l502_tests.c **** l502_cmd_done(L502_BF_ERR_STREAM_RUNNING, NULL, 0); + 43 .loc 1 142 0 + 44 0028 0160 R1 = 0 (X); + 45 002a 0260 R2 = 0 (X); + 46 .loc 1 145 0 + 47 002c AB05 ( r7:5, p5:3 ) = [sp++]; + 48 + 49 .LCFI2: + 50 .LVL2: + 142:src/l502_tests.c **** l502_cmd_done(L502_BF_ERR_STREAM_RUNNING, NULL, 0); + 51 .loc 1 142 0 + 52 002e FFE2E9FF jump.l _l502_cmd_done; + 53 .LVL3: + 54 .L5: + 118:src/l502_tests.c **** if (g_mode == L502_BF_MODE_IDLE) { + 55 .loc 1 118 0 + 56 0032 4BE10000 P3.H = _g_mode; + 57 0036 0BE10000 P3.L = _g_mode; + 58 003a 1891 R0 = [P3]; + 59 003c 000C cc =R0==0; + 60 003e 4E10 if !cc jump .L7; + 61 .LBB2: + 121:src/l502_tests.c **** for (i=0, f_cur_test_ind=-1; (iparam) { + 67 .loc 1 123 0 + 68 004c 4CE10000 P4.H = _f_test_pars; + 69 0050 0CE10000 P4.L = _f_test_pars; + 121:src/l502_tests.c **** for (i=0, f_cur_test_ind=-1; (iparam) { + 72 .loc 1 123 0 + BFIN GAS /tmp/cc0Jz34x.s page 5 + + + 73 0056 2091 R0 = [P4]; + 74 0058 0108 cc =R1==R0; + 75 005a 4918 if cc jump .L22; + 76 005c 0000 nop; + 77 005e 0000 nop; + 78 .L8: + 79 0060 0000 nop; + 80 0062 69A0 R1 = [P5+4]; + 81 0064 E0A0 R0 = [P4+12]; + 82 0066 0108 cc =R1==R0; + 83 0068 6618 if cc jump .L23; + 84 006a 0000 nop; + 85 006c 0000 nop; + 86 006e 0000 nop; + 87 .L11: + 88 0070 A0A1 R0 = [P4+24]; + 89 0072 0108 cc =R1==R0; + 90 0074 8B18 if cc jump .L24; + 91 0076 0000 nop; + 92 0078 0000 nop; + 93 007a 0000 nop; + 94 .L13: + 95 007c 60A2 R0 = [P4+36]; + 96 007e 0808 cc =R0==R1; + 97 0080 AF18 if cc jump .L25; + 98 .LVL4: + 99 .L15: + 138:src/l502_tests.c **** l502_cmd_done(L502_BF_ERR_INVALID_CMD_PARAMS, NULL, 0); + 100 .loc 1 138 0 + 101 0082 20E1FEFD R0 = -514 (X); + 102 0086 CF2F jump.s .L18; + 103 .LVL5: + 104 .L20: + 105 .LBE2: + 91:src/l502_tests.c **** if (f_cur_test_ind == -1) { + 106 .loc 1 91 0 + 107 0088 4AE10000 P2.H = _f_cur_test_ind; + 108 008c 0AE10000 P2.L = _f_cur_test_ind; + 109 0090 5191 P1 = [P2]; + 110 0092 790C cc =P1==-1; + 111 0094 F71B if cc jump .L15; + 94:src/l502_tests.c **** f_test_res.run = (g_mode == L502_BF_MODE_TEST) ? 1 : 0; + 112 .loc 1 94 0 + 113 0096 4AE10000 P2.H = _g_mode; + 114 009a 0AE10000 P2.L = _g_mode; + 115 009e 48E10000 P0.H = _f_test_res; + 116 00a2 1091 R0 = [P2]; + 97:src/l502_tests.c **** if (f_test_pars[f_cur_test_ind].get_result != NULL) { + 117 .loc 1 97 0 + 118 00a4 895C P2 = P1 + (P1 << 1); + 119 00a6 49E10000 P1.H = _f_test_pars; + 120 00aa 09E10000 P1.L = _f_test_pars; + 121 00ae 915E P2 = P1 + (P2 << 2); + 122 00b0 92AC P2 = [P2+8]; + 94:src/l502_tests.c **** f_test_res.run = (g_mode == L502_BF_MODE_TEST) ? 1 : 0; + 123 .loc 1 94 0 + 124 00b2 100C cc =R0==2; + BFIN GAS /tmp/cc0Jz34x.s page 6 + + + 125 00b4 0002 R0 = CC; + 126 00b6 08E10010 P0.L = _f_test_res; + 127 00ba 40B0 [P0+4] = R0; + 97:src/l502_tests.c **** if (f_test_pars[f_cur_test_ind].get_result != NULL) { + 128 .loc 1 97 0 + 129 00bc 420C cc =P2==0; + 130 00be B718 if cc jump .L4; + 100:src/l502_tests.c **** f_test_pars[f_cur_test_ind].get_result(cmd); + 131 .loc 1 100 0 + 132 00c0 4530 R0 = P5; + 133 .loc 1 145 0 + 134 00c2 01E80000 UNLINK; + 135 00c6 AB05 ( r7:5, p5:3 ) = [sp++]; + 136 + 137 .LCFI3: + 138 .LVL6: + 100:src/l502_tests.c **** f_test_pars[f_cur_test_ind].get_result(cmd); + 139 .loc 1 100 0 + 140 00c8 5200 jump (P2); + 141 .LVL7: + 142 .L21: + 111:src/l502_tests.c **** g_mode = L502_BF_MODE_IDLE; + 143 .loc 1 111 0 + 144 00ca 0060 R0 = 0 (X); + 145 00cc 1093 [P2] = R0; + 146 .loc 1 145 0 + 147 00ce 01E80000 UNLINK; + 112:src/l502_tests.c **** l502_cmd_done(0, NULL, 0); + 148 .loc 1 112 0 + 149 00d2 0260 R2 = 0 (X); + 150 .loc 1 145 0 + 151 00d4 AB05 ( r7:5, p5:3 ) = [sp++]; + 152 + 153 .LCFI4: + 154 .LVL8: + 112:src/l502_tests.c **** l502_cmd_done(0, NULL, 0); + 155 .loc 1 112 0 + 156 00d6 FFE295FF jump.l _l502_cmd_done; + 157 .LVL9: + 158 .L7: + 159 .loc 1 145 0 + 160 00da 01E80000 UNLINK; + 142:src/l502_tests.c **** l502_cmd_done(L502_BF_ERR_STREAM_RUNNING, NULL, 0); + 161 .loc 1 142 0 + 162 00de 20E1FCFD R0 = -516 (X); + 163 00e2 0160 R1 = 0 (X); + 164 00e4 0260 R2 = 0 (X); + 165 .loc 1 145 0 + 166 00e6 AB05 ( r7:5, p5:3 ) = [sp++]; + 167 + 168 .LCFI5: + 169 .LVL10: + 142:src/l502_tests.c **** l502_cmd_done(L502_BF_ERR_STREAM_RUNNING, NULL, 0); + 170 .loc 1 142 0 + 171 00e8 FFE28CFF jump.l _l502_cmd_done; + 172 .LVL11: + 173 .L22: + BFIN GAS /tmp/cc0Jz34x.s page 7 + + + 174 .LBB3: + 124:src/l502_tests.c **** f_cur_test_ind = i; + 175 .loc 1 124 0 + 176 00ec 0760 R7 = 0 (X); + 177 00ee 1793 [P2] = R7; + 125:src/l502_tests.c **** memset(&f_test_res, 0, sizeof(f_test_res)); + 178 .loc 1 125 0 + 179 00f0 4AE10000 P2.H = _f_test_res; + 180 00f4 0AE10010 P2.L = _f_test_res; + 181 00f8 1793 [P2] = R7; + 182 00fa 57B0 [P2+4] = R7; + 183 00fc 97B0 [P2+8] = R7; + 184 00fe D7B0 [P2+12] = R7; + 185 0100 17B1 [P2+16] = R7; + 186 0102 57B1 [P2+20] = R7; + 187 0104 97B1 [P2+24] = R7; + 188 0106 D7B1 [P2+28] = R7; + 126:src/l502_tests.c **** f_test_res.test = cmd->param; + 189 .loc 1 126 0 + 190 0108 68A0 R0 = [P5+4]; + 191 010a 1093 [P2] = R0; + 127:src/l502_tests.c **** l502_cmd_done(0, 0, NULL); + 192 .loc 1 127 0 + 193 010c 0060 R0 = 0 (X); + 194 010e 0160 R1 = 0 (X); + 195 0110 0260 R2 = 0 (X); + 196 0112 FFE377FF call _l502_cmd_done; + 129:src/l502_tests.c **** if (f_test_pars[i].start != NULL) { + 197 .loc 1 129 0 + 198 0116 62AC P2 = [P4+4]; + 199 0118 420C cc =P2==0; + 200 011a 0518 if cc jump .L9; + 130:src/l502_tests.c **** g_mode = L502_BF_MODE_TEST; + 201 .loc 1 130 0 + 202 011c 1060 R0 = 2 (X); + 203 011e 1893 [P3] = R0; + 131:src/l502_tests.c **** f_test_pars[i].start(); + 204 .loc 1 131 0 + 205 0120 6200 call (P2); + 132:src/l502_tests.c **** g_mode = L502_BF_MODE_IDLE; + 206 .loc 1 132 0 + 207 0122 1F93 [P3] = R7; + 208 .L9: + 121:src/l502_tests.c **** for (i=0, f_cur_test_ind=-1; (iparam; + 247 .loc 1 126 0 + 248 0158 68A0 R0 = [P5+4]; + 249 015a 1093 [P2] = R0; + 127:src/l502_tests.c **** l502_cmd_done(0, 0, NULL); + 250 .loc 1 127 0 + 251 015c 0060 R0 = 0 (X); + 252 015e FFE351FF call _l502_cmd_done; + 129:src/l502_tests.c **** if (f_test_pars[i].start != NULL) { + 253 .loc 1 129 0 + 254 0162 4AE10000 P2.H = _f_test_pars; + 255 0166 0AE10000 P2.L = _f_test_pars; + 256 016a 12AD P2 = [P2+16]; + 257 016c 420C cc =P2==0; + 258 016e 0518 if cc jump .L12; + 130:src/l502_tests.c **** g_mode = L502_BF_MODE_TEST; + 259 .loc 1 130 0 + 260 0170 1060 R0 = 2 (X); + 261 0172 1893 [P3] = R0; + 131:src/l502_tests.c **** f_test_pars[i].start(); + 262 .loc 1 131 0 + 263 0174 6200 call (P2); + 132:src/l502_tests.c **** g_mode = L502_BF_MODE_IDLE; + 264 .loc 1 132 0 + 265 0176 1F93 [P3] = R7; + 266 .L12: + 121:src/l502_tests.c **** for (i=0, f_cur_test_ind=-1; (iparam; + 299 .loc 1 126 0 + 300 01ae 68A0 R0 = [P5+4]; + 301 01b0 1093 [P2] = R0; + 127:src/l502_tests.c **** l502_cmd_done(0, 0, NULL); + 302 .loc 1 127 0 + 303 01b2 0060 R0 = 0 (X); + 304 01b4 FFE326FF call _l502_cmd_done; + 129:src/l502_tests.c **** if (f_test_pars[i].start != NULL) { + 305 .loc 1 129 0 + 306 01b8 4AE10000 P2.H = _f_test_pars; + 307 01bc 0AE10000 P2.L = _f_test_pars; + 308 01c0 D2AD P2 = [P2+28]; + 309 01c2 420C cc =P2==0; + 310 01c4 0418 if cc jump .L14; + 130:src/l502_tests.c **** g_mode = L502_BF_MODE_TEST; + 311 .loc 1 130 0 + 312 01c6 1D93 [P3] = R5; + 131:src/l502_tests.c **** f_test_pars[i].start(); + 313 .loc 1 131 0 + BFIN GAS /tmp/cc0Jz34x.s page 10 + + + 314 01c8 6200 call (P2); + 132:src/l502_tests.c **** g_mode = L502_BF_MODE_IDLE; + 315 .loc 1 132 0 + 316 01ca 1F93 [P3] = R7; + 317 .L14: + 121:src/l502_tests.c **** for (i=0, f_cur_test_ind=-1; (iparam; + 350 .loc 1 126 0 + 351 0202 68A0 R0 = [P5+4]; + 352 0204 1093 [P2] = R0; + 127:src/l502_tests.c **** l502_cmd_done(0, 0, NULL); + 353 .loc 1 127 0 + 354 0206 0060 R0 = 0 (X); + 355 0208 FFE3FCFE call _l502_cmd_done; + 129:src/l502_tests.c **** if (f_test_pars[i].start != NULL) { + 356 .loc 1 129 0 + 357 020c 4AE10000 P2.H = _f_test_pars; + 358 0210 0AE10000 P2.L = _f_test_pars; + 359 0214 92AE P2 = [P2+40]; + 360 0216 420C cc =P2==0; + BFIN GAS /tmp/cc0Jz34x.s page 11 + + + 361 0218 0518 if cc jump .L16; + 130:src/l502_tests.c **** g_mode = L502_BF_MODE_TEST; + 362 .loc 1 130 0 + 363 021a 1060 R0 = 2 (X); + 364 021c 1893 [P3] = R0; + 131:src/l502_tests.c **** f_test_pars[i].start(); + 365 .loc 1 131 0 + 366 021e 6200 call (P2); + 132:src/l502_tests.c **** g_mode = L502_BF_MODE_IDLE; + 367 .loc 1 132 0 + 368 0220 1F93 [P3] = R7; + 369 .L16: + 137:src/l502_tests.c **** if (f_cur_test_ind == -1) + 370 .loc 1 137 0 + 371 0222 1632 P2 = R6; + 372 0224 1091 R0 = [P2]; + 373 0226 380C cc =R0==-1; + 374 0228 8217 if !cc jump .L17 (bp); + 375 022a 2C2F jump.s .L15; + 376 .L4: + 377 .LBE4: + 378 .loc 1 145 0 + 379 022c 01E80000 UNLINK; + 103:src/l502_tests.c **** l502_cmd_done(0, (uint32_t*)&f_test_res, + 380 .loc 1 103 0 + 381 0230 0060 R0 = 0 (X); + 382 0232 4830 R1 = P0; + 383 0234 4260 R2 = 8 (X); + 384 .loc 1 145 0 + 385 0236 AB05 ( r7:5, p5:3 ) = [sp++]; + 386 + 387 .LCFI7: + 388 .LVL14: + 103:src/l502_tests.c **** l502_cmd_done(0, (uint32_t*)&f_test_res, + 389 .loc 1 103 0 + 390 0238 FFE2E4FE jump.l _l502_cmd_done; + 391 .LFE2: + 392 .size _l502_cmd_test, .-_l502_cmd_test + 393 .align 4 + 394 .type _f_spi_test, STT_FUNC; + 395 _f_spi_test: + 396 .LFB4: + 146:src/l502_tests.c **** + 147:src/l502_tests.c **** + 148:src/l502_tests.c **** #define SPORT_CNTR_INC 0x1 + 149:src/l502_tests.c **** + 150:src/l502_tests.c **** + 151:src/l502_tests.c **** #define TEST_CHECK_OUT(label) \ + 152:src/l502_tests.c **** do { \ + 153:src/l502_tests.c **** l502_cmd_check_req(); \ + 154:src/l502_tests.c **** if ((g_mode!= L502_BF_MODE_TEST) || f_test_res.err) \ + 155:src/l502_tests.c **** goto label; \ + 156:src/l502_tests.c **** } while (0); + 157:src/l502_tests.c **** + 158:src/l502_tests.c **** + 159:src/l502_tests.c **** /* тестирование SPORT'а, служащего для передачи потоков АЦП/ЦАП + 160:src/l502_tests.c **** от BlackFin'а к ПЛИС. Устанавливается циклический сквозной режим потока + BFIN GAS /tmp/cc0Jz34x.s page 12 + + + 161:src/l502_tests.c **** и передается счетчик, который проверяется при приеме */ + 162:src/l502_tests.c **** static int f_sport_test(void) { + 163:src/l502_tests.c **** #define RX_BUF_SIZE 2048 + 164:src/l502_tests.c **** static uint16_t rx_buf[RX_BUF_SIZE]; + 165:src/l502_tests.c **** uint16_t stat=*pSPORT0_STAT; + 166:src/l502_tests.c **** + 167:src/l502_tests.c **** + 168:src/l502_tests.c **** uint16_t rx_cntr=0, tx_cntr=0; + 169:src/l502_tests.c **** uint16_t rx_val; + 170:src/l502_tests.c **** int err = 0, i; + 171:src/l502_tests.c **** + 172:src/l502_tests.c **** /* разрешаем прием и передачу по SPORT'у */ + 173:src/l502_tests.c **** *pSPORT0_TCR1 |= TSPEN; + 174:src/l502_tests.c **** *pSPORT0_RCR1 |= RSPEN; + 175:src/l502_tests.c **** + 176:src/l502_tests.c **** while (stat & RXNE) { + 177:src/l502_tests.c **** rx_buf[0] = *pSPORT0_RX16; + 178:src/l502_tests.c **** stat=*pSPORT0_STAT; + 179:src/l502_tests.c **** } + 180:src/l502_tests.c **** + 181:src/l502_tests.c **** /* вначале полностью заполняем очередь SPORT'а */ + 182:src/l502_tests.c **** for (i = 0; i < 8; i++) { + 183:src/l502_tests.c **** *pSPORT0_TX16 = tx_cntr++; + 184:src/l502_tests.c **** //tx_cntr+=SPORT_CNTR_INC; + 185:src/l502_tests.c **** } + 186:src/l502_tests.c **** + 187:src/l502_tests.c **** /* устанавливаем в ПЛИС сквозной режим работы SPORT */ + 188:src/l502_tests.c **** fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, 0xE); + 189:src/l502_tests.c **** + 190:src/l502_tests.c **** + 191:src/l502_tests.c **** while (!f_test_res.err) {// && (g_mode==L502_BF_MODE_TEST)) + 192:src/l502_tests.c **** stat = *pSPORT0_STAT; + 193:src/l502_tests.c **** if (!(stat & TXF)) { + 194:src/l502_tests.c **** *pSPORT0_TX16 = tx_cntr++; + 195:src/l502_tests.c **** } + 196:src/l502_tests.c **** + 197:src/l502_tests.c **** if (stat & RXNE) { + 198:src/l502_tests.c **** rx_val = *pSPORT0_RX16; + 199:src/l502_tests.c **** + 200:src/l502_tests.c **** if ((rx_val != rx_cntr)) { + 201:src/l502_tests.c **** f_test_res.err = L502_BF_ERR_TEST_VALUE; + 202:src/l502_tests.c **** f_test_res.last_rd = rx_val; + 203:src/l502_tests.c **** f_test_res.last_wr = rx_cntr; + 204:src/l502_tests.c **** err = rx_val - rx_cntr; + 205:src/l502_tests.c **** } + 206:src/l502_tests.c **** + 207:src/l502_tests.c **** + 208:src/l502_tests.c **** if (!(rx_cntr & 0xFFFF)) { + 209:src/l502_tests.c **** TEST_CHECK_OUT(sport_test_end); + 210:src/l502_tests.c **** if (!rx_cntr) + 211:src/l502_tests.c **** f_test_res.cntr++; + 212:src/l502_tests.c **** } + 213:src/l502_tests.c **** rx_cntr++; + 214:src/l502_tests.c **** } + 215:src/l502_tests.c **** } + 216:src/l502_tests.c **** + 217:src/l502_tests.c **** sport_test_end: + BFIN GAS /tmp/cc0Jz34x.s page 13 + + + 218:src/l502_tests.c **** /* запрещаем прием и передачу по SPORT'у */ + 219:src/l502_tests.c **** *pSPORT0_TCR1 = 0; + 220:src/l502_tests.c **** *pSPORT0_RCR1 = 0; + 221:src/l502_tests.c **** /* возвращаем штатный режим работы SPORT'а */ + 222:src/l502_tests.c **** fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, 0); + 223:src/l502_tests.c **** + 224:src/l502_tests.c **** return err; + 225:src/l502_tests.c **** } + 226:src/l502_tests.c **** + 227:src/l502_tests.c **** + 228:src/l502_tests.c **** + 229:src/l502_tests.c **** + 230:src/l502_tests.c **** + 231:src/l502_tests.c **** /* тест SPI - записываем бегущую единицу в регистр ПЛИС, считываем + 232:src/l502_tests.c **** значение этого регистра и сверяем результаты */ + 233:src/l502_tests.c **** static int f_spi_test(void) { + 397 .loc 1 233 0 + 398 023c EB05 [--sp] = ( r7:5, p5:3 ); + 399 + 400 .LCFI8: + 234:src/l502_tests.c **** f_test_res.last_addr = L502_REGS_IOHARD_ADC_FRAME_DELAY; + 401 .loc 1 234 0 + 402 023e 4DE10000 P5.H = _f_test_res; + 403 0242 0DE10010 P5.L = _f_test_res; + 404 0246 20E10403 R0 = 772 (X); + 235:src/l502_tests.c **** while (!f_test_res.err && (g_mode==L502_BF_MODE_TEST)) { + 405 .loc 1 235 0 + 406 024a 29A1 R1 = [P5+16]; + 233:src/l502_tests.c **** static int f_spi_test(void) { + 407 .loc 1 233 0 + 408 024c 00E80300 LINK 12; + 409 .LCFI9: + 234:src/l502_tests.c **** f_test_res.last_addr = L502_REGS_IOHARD_ADC_FRAME_DELAY; + 410 .loc 1 234 0 + 411 0250 68B1 [P5+20] = R0; + 412 .loc 1 235 0 + 413 0252 010C cc =R1==0; + 414 0254 2A10 if !cc jump .L27; + 415 0256 4BE10000 P3.H = _g_mode; + 416 025a 0BE10000 P3.L = _g_mode; + 417 025e 1891 R0 = [P3]; + 418 0260 100C cc =R0==2; + 419 0262 2310 if !cc jump .L27; + 420 .LBB5: + 236:src/l502_tests.c **** int i; + 237:src/l502_tests.c **** for (i = 0; (i < 32) && !f_test_res.err; i++) { + 238:src/l502_tests.c **** f_test_res.last_wr = (1< + 18:src/l502_user_process.c **** + 19:src/l502_user_process.c **** /***************************************************************************//** + 20:src/l502_user_process.c **** @brief Обработка принятого массива данных АЦП/DIN. + 21:src/l502_user_process.c **** + 22:src/l502_user_process.c **** Функция вызывается каждый раз, когда обнаружены новые данные от + 23:src/l502_user_process.c **** АЦП/цифровых входов, пришедшие по SPORT0. + 24:src/l502_user_process.c **** + 25:src/l502_user_process.c **** Функция должна обработать данные и вернуть количество обработанных данных, + 26:src/l502_user_process.c **** однако эти данные все еще считаются использованными (не могут быть переписаны + 27:src/l502_user_process.c **** новыми пришедшими данными) до тех пор пока не будет вызвана функция + 28:src/l502_user_process.c **** stream_in_buf_free()). + 29:src/l502_user_process.c **** + 30:src/l502_user_process.c **** Если функция вернет значение меньше чем size, то функция будут вызванна при + 31:src/l502_user_process.c **** следующем проходе еще раз с указателем на необработанные данные. + 32:src/l502_user_process.c **** + 33:src/l502_user_process.c **** В текущей реализации просто запускается передача данных по HDMA в ПК + 34:src/l502_user_process.c **** + 35:src/l502_user_process.c **** @param[in] data Указатель на массив с принятыми данными + 36:src/l502_user_process.c **** @param[in] size Количество принятых данных в 32-битных словах + 37:src/l502_user_process.c **** @return Функция возвращает количество обработанных данных (от 0 до size). + 38:src/l502_user_process.c **** На эти данные не будет вызываться повторно usr_in_proc_data(), + BFIN GAS /tmp/ccDsuDke.s page 2 + + + 39:src/l502_user_process.c **** но они считаются еще используемыми + 40:src/l502_user_process.c **** *******************************************************************************/ + 41:src/l502_user_process.c **** uint32_t usr_in_proc_data(uint32_t* data, uint32_t size) { + 42:src/l502_user_process.c **** /* если есть свободные дескрипторы на передачу по HDMA - ставим блок на + 43:src/l502_user_process.c **** передачу. Иначе возвращаем 0, чтобы на обработку этих данных функцию + 44:src/l502_user_process.c **** вызвали бы позже */ + 45:src/l502_user_process.c **** if (hdma_send_req_rdy()) { + 46:src/l502_user_process.c **** hdma_send_req_start(data, size, 0); + 47:src/l502_user_process.c **** return size; + 48:src/l502_user_process.c **** } + 49:src/l502_user_process.c **** return 0; + 50:src/l502_user_process.c **** } + 51:src/l502_user_process.c **** + 52:src/l502_user_process.c **** + 53:src/l502_user_process.c **** + 54:src/l502_user_process.c **** /***************************************************************************//** + 55:src/l502_user_process.c **** @brief Обработка принятого массива с данными ЦАП/DOUT + 56:src/l502_user_process.c **** + 57:src/l502_user_process.c **** Функция вызывается каждый раз, когда обнаружены новые данные, принятые от + 58:src/l502_user_process.c **** ПК по HDMA. + 59:src/l502_user_process.c **** Функция должна обработать данные и вернуть количество обработанных данных, + 60:src/l502_user_process.c **** однако эти данные все еще считаются использованными (не могут быть переписаны + 61:src/l502_user_process.c **** новыми пришедшими данными) до тех пор пока не будет вызвана функция + 62:src/l502_user_process.c **** stream_out_buf_free()). + 63:src/l502_user_process.c **** + 64:src/l502_user_process.c **** Если функция вернет значение меньше чем size, то функция будут + 65:src/l502_user_process.c **** вызвана после еще раз с указателем на необработанные данные. + 66:src/l502_user_process.c **** + 67:src/l502_user_process.c **** В текущей реализации просто запускается передача данных по SPORT + 68:src/l502_user_process.c **** для вывода на ЦАП/цифровые выходы. + 69:src/l502_user_process.c **** + 70:src/l502_user_process.c **** @param[in] data Указатель на массив с принятыми данными + 71:src/l502_user_process.c **** @param[in] size Количество принятых данных в 32-битных словах + 72:src/l502_user_process.c **** @return Функция возвращает количество обработанных данных (от 0 до size). + 73:src/l502_user_process.c **** На эти данные не будет вызываться повторно usr_out_proc_data(), + 74:src/l502_user_process.c **** но они считаются еще используемыми + 75:src/l502_user_process.c **** ******************************************************************************/ + 76:src/l502_user_process.c **** uint32_t usr_out_proc_data(uint32_t* data, uint32_t size) { + 77:src/l502_user_process.c **** + 78:src/l502_user_process.c **** /* если есть свободные дескрипторы на передачу по HDMA - ставим блок на + 79:src/l502_user_process.c **** передачу. Иначе возвращаем 0, чтобы на обработку этих данных функцию + 80:src/l502_user_process.c **** вызвали бы позже */ + 81:src/l502_user_process.c **** if (sport_tx_req_rdy()) { + 82:src/l502_user_process.c **** + 83:src/l502_user_process.c **** /* за один раз можем передать в SPORT не более + 84:src/l502_user_process.c **** SPORT_TX_REQ_SIZE_MAX слов */ + 85:src/l502_user_process.c **** if (size > SPORT_TX_REQ_SIZE_MAX) + 86:src/l502_user_process.c **** size = SPORT_TX_REQ_SIZE_MAX; + 87:src/l502_user_process.c **** + 88:src/l502_user_process.c **** sport_tx_start_req(data, size); + 89:src/l502_user_process.c **** + 90:src/l502_user_process.c **** return size; + 91:src/l502_user_process.c **** } + 92:src/l502_user_process.c **** return 0; + 93:src/l502_user_process.c **** } + 94:src/l502_user_process.c **** + 95:src/l502_user_process.c **** + BFIN GAS /tmp/ccDsuDke.s page 3 + + + 96:src/l502_user_process.c **** + 97:src/l502_user_process.c **** + 98:src/l502_user_process.c **** + 99:src/l502_user_process.c **** + 100:src/l502_user_process.c **** /****************************************************************************//** + 101:src/l502_user_process.c **** @brief Обработка завершения передачи по HostDMA + 102:src/l502_user_process.c **** + 103:src/l502_user_process.c **** Функция вызывается из обработчика прерывания, когда завершилась передача + 104:src/l502_user_process.c **** блока данных по HDMA в ПК, поставленного до этого на передачу с + 105:src/l502_user_process.c **** помощью hdma_send_req_start(). + 106:src/l502_user_process.c **** + 107:src/l502_user_process.c **** @param[in] addr Адрес слова, сразу за последним переданным словом + 108:src/l502_user_process.c **** @param[in] size Размер переданных данных в 32-битных словах + 109:src/l502_user_process.c **** ****************************************************************************/ + 110:src/l502_user_process.c **** void hdma_send_done(uint32_t* addr, uint32_t size) { + 111:src/l502_user_process.c **** stream_in_buf_free(size); + 112:src/l502_user_process.c **** } + 113:src/l502_user_process.c **** + 114:src/l502_user_process.c **** + 115:src/l502_user_process.c **** + 116:src/l502_user_process.c **** /***************************************************************************//** + 117:src/l502_user_process.c **** @brief Обработка завершения передачи по SPORT + 118:src/l502_user_process.c **** + 119:src/l502_user_process.c **** Функция вызывается из обработчика прерывания при завершении передачи блока данных + 120:src/l502_user_process.c **** по SPORT'у на цифровые выходы/ЦАП, поставленного до этого на передачу с + 121:src/l502_user_process.c **** помощью sport_tx_start_req(). + 122:src/l502_user_process.c **** + 123:src/l502_user_process.c **** + 124:src/l502_user_process.c **** @param[in] addr Адрес слова, сразу за последним переданным словом + 125:src/l502_user_process.c **** @param[in] size Размер переданных данных в 32-битных словах */ + 126:src/l502_user_process.c **** void sport_tx_done(uint32_t* addr, uint32_t size) { + 127:src/l502_user_process.c **** stream_out_buf_free(size); + 128:src/l502_user_process.c **** } + 129:src/l502_user_process.c **** + 130:src/l502_user_process.c **** + 131:src/l502_user_process.c **** + 132:src/l502_user_process.c **** + 133:src/l502_user_process.c **** + 134:src/l502_user_process.c **** + 135:src/l502_user_process.c **** + 136:src/l502_user_process.c **** + 137:src/l502_user_process.c **** + 138:src/l502_user_process.c **** /****************************************************************************//** + 139:src/l502_user_process.c **** @brief Обработка пользовательских команд. + 140:src/l502_user_process.c **** + 141:src/l502_user_process.c **** Функция вызывается при приеме команды от ПК с кодом большим или равным + 142:src/l502_user_process.c **** #L502_BF_CMD_CODE_USER. + 143:src/l502_user_process.c **** + 144:src/l502_user_process.c **** По завершению обработки необходимо обязательно вызвать + 145:src/l502_user_process.c **** l502_cmd_done(), указав код завершения команды и + 146:src/l502_user_process.c **** при необходимости передать данные с результатом + 147:src/l502_user_process.c **** + 148:src/l502_user_process.c **** @param[in] cmd Структура с описанием принятой команды + 149:src/l502_user_process.c **** ******************************************************************************/ + 150:src/l502_user_process.c **** void usr_cmd_process(t_l502_bf_cmd *cmd) { + 16 .loc 1 150 0 + 17 .LVL0: + BFIN GAS /tmp/ccDsuDke.s page 4 + + + 18 0000 00E80000 LINK 0; + 19 .LCFI0: + 151:src/l502_user_process.c **** l502_cmd_done(L502_BF_ERR_UNSUP_CMD, NULL, 0); + 20 .loc 1 151 0 + 21 0004 20E100FE R0 = -512 (X); + 22 .LVL1: + 23 0008 0160 R1 = 0 (X); + 24 000a 0260 R2 = 0 (X); + 152:src/l502_user_process.c **** } + 25 .loc 1 152 0 + 26 000c 01E80000 UNLINK; + 151:src/l502_user_process.c **** l502_cmd_done(L502_BF_ERR_UNSUP_CMD, NULL, 0); + 27 .loc 1 151 0 + 28 0010 FFE2F8FF jump.l _l502_cmd_done; + 29 .LFE6: + 30 .size _usr_cmd_process, .-_usr_cmd_process + 31 .align 4 + 32 .global _sport_tx_done; + 33 .type _sport_tx_done, STT_FUNC; + 34 _sport_tx_done: + 35 .LFB5: + 126:src/l502_user_process.c **** void sport_tx_done(uint32_t* addr, uint32_t size) { + 36 .loc 1 126 0 + 37 .LVL2: + 38 0014 00E80000 LINK 0; + 39 .LCFI1: + 127:src/l502_user_process.c **** stream_out_buf_free(size); + 40 .loc 1 127 0 + 41 0018 0130 R0 = R1; + 42 .LVL3: + 128:src/l502_user_process.c **** } + 43 .loc 1 128 0 + 44 001a 01E80000 UNLINK; + 127:src/l502_user_process.c **** stream_out_buf_free(size); + 45 .loc 1 127 0 + 46 001e FFE2F1FF jump.l _stream_out_buf_free; + 47 .LVL4: + 48 .LFE5: + 49 .size _sport_tx_done, .-_sport_tx_done + 50 0022 0000 .align 4 + 51 .global _hdma_send_done; + 52 .type _hdma_send_done, STT_FUNC; + 53 _hdma_send_done: + 54 .LFB4: + 110:src/l502_user_process.c **** void hdma_send_done(uint32_t* addr, uint32_t size) { + 55 .loc 1 110 0 + 56 .LVL5: + 57 0024 00E80000 LINK 0; + 58 .LCFI2: + 111:src/l502_user_process.c **** stream_in_buf_free(size); + 59 .loc 1 111 0 + 60 0028 0130 R0 = R1; + 61 .LVL6: + 112:src/l502_user_process.c **** } + 62 .loc 1 112 0 + 63 002a 01E80000 UNLINK; + 111:src/l502_user_process.c **** stream_in_buf_free(size); + BFIN GAS /tmp/ccDsuDke.s page 5 + + + 64 .loc 1 111 0 + 65 002e FFE2E9FF jump.l _stream_in_buf_free; + 66 .LVL7: + 67 .LFE4: + 68 .size _hdma_send_done, .-_hdma_send_done + 69 0032 0000 .align 4 + 70 .global _usr_out_proc_data; + 71 .type _usr_out_proc_data, STT_FUNC; + 72 _usr_out_proc_data: + 73 .LFB3: + 76:src/l502_user_process.c **** uint32_t usr_out_proc_data(uint32_t* data, uint32_t size) { + 74 .loc 1 76 0 + 75 .LVL8: + 76 0034 7005 [--sp] = ( r7:6 ); + 77 + 78 .LCFI3: + 79 0036 00E80300 LINK 12; + 80 .LCFI4: + 76:src/l502_user_process.c **** uint32_t usr_out_proc_data(uint32_t* data, uint32_t size) { + 81 .loc 1 76 0 + 82 003a 3030 R6 = R0; + 83 003c 3930 R7 = R1; + 81:src/l502_user_process.c **** if (sport_tx_req_rdy()) { + 84 .loc 1 81 0 + 85 003e FFE3E1FF call _sport_tx_req_rdy; + 86 .LVL9: + 87 0042 000C cc =R0==0; + 88 0044 0E18 if cc jump .L12; + 89 0046 20E10040 R0 = 16384 (X); + 90 004a 070A cc =R7<=R0 (iu); + 91 004c 3806 if !cc R7 = R0; + 92 .LVL10: + 88:src/l502_user_process.c **** sport_tx_start_req(data, size); + 93 .loc 1 88 0 + 94 004e 0630 R0 = R6; + 95 0050 0F30 R1 = R7; + 96 0052 FFE3D7FF call _sport_tx_start_req; + 93:src/l502_user_process.c **** } + 97 .loc 1 93 0 + 98 0056 0730 R0 = R7; + 99 0058 01E80000 UNLINK; + 100 005c 3005 ( r7:6 ) = [sp++]; + 101 + 102 .LCFI5: + 103 .LVL11: + 104 005e 1000 rts; + 105 .LVL12: + 106 .L12: + 81:src/l502_user_process.c **** if (sport_tx_req_rdy()) { + 107 .loc 1 81 0 + 108 0060 0760 R7 = 0 (X); + 109 .LVL13: + 93:src/l502_user_process.c **** } + 110 .loc 1 93 0 + 111 0062 0730 R0 = R7; + 112 0064 01E80000 UNLINK; + 113 0068 3005 ( r7:6 ) = [sp++]; + BFIN GAS /tmp/ccDsuDke.s page 6 + + + 114 + 115 .LCFI6: + 116 .LVL14: + 117 006a 1000 rts; + 118 .LFE3: + 119 .size _usr_out_proc_data, .-_usr_out_proc_data + 120 .align 4 + 121 .global _usr_in_proc_data; + 122 .type _usr_in_proc_data, STT_FUNC; + 123 _usr_in_proc_data: + 124 .LFB2: + 41:src/l502_user_process.c **** uint32_t usr_in_proc_data(uint32_t* data, uint32_t size) { + 125 .loc 1 41 0 + 126 .LVL15: + 127 006c 7005 [--sp] = ( r7:6 ); + 128 + 129 .LCFI7: + 130 006e 00E80300 LINK 12; + 131 .LCFI8: + 41:src/l502_user_process.c **** uint32_t usr_in_proc_data(uint32_t* data, uint32_t size) { + 132 .loc 1 41 0 + 133 0072 3030 R6 = R0; + 134 0074 3930 R7 = R1; + 45:src/l502_user_process.c **** if (hdma_send_req_rdy()) { + 135 .loc 1 45 0 + 136 0076 FFE3C5FF call _hdma_send_req_rdy; + 137 .LVL16: + 138 007a 000C cc =R0==0; + 139 007c 0710 if !cc jump .L14; + 140 007e 0760 R7 = 0 (X); + 50:src/l502_user_process.c **** } + 141 .loc 1 50 0 + 142 0080 0730 R0 = R7; + 143 0082 01E80000 UNLINK; + 144 0086 3005 ( r7:6 ) = [sp++]; + 145 + 146 .LCFI9: + 147 .LVL17: + 148 0088 1000 rts; + 149 .LVL18: + 150 .L14: + 46:src/l502_user_process.c **** hdma_send_req_start(data, size, 0); + 151 .loc 1 46 0 + 152 008a 0630 R0 = R6; + 153 008c 0F30 R1 = R7; + 154 008e 0260 R2 = 0 (X); + 155 0090 FFE3B8FF call _hdma_send_req_start; + 50:src/l502_user_process.c **** } + 156 .loc 1 50 0 + 157 0094 0730 R0 = R7; + 158 0096 01E80000 UNLINK; + 159 009a 3005 ( r7:6 ) = [sp++]; + 160 + 161 .LCFI10: + 162 .LVL19: + 163 009c 1000 rts; + 164 .LFE2: + BFIN GAS /tmp/ccDsuDke.s page 7 + + + 165 .size _usr_in_proc_data, .-_usr_in_proc_data + 166 .section .debug_frame,"",@progbits + 167 .Lframe0: + 168 0000 0C000000 .4byte .LECIE0-.LSCIE0 + 169 .LSCIE0: + 170 0004 FFFFFFFF .4byte 0xffffffff + 171 0008 01 .byte 0x1 + 172 0009 00 .string "" + 173 000a 01 .uleb128 0x1 + 174 000b 7C .sleb128 -4 + 175 000c 23 .byte 0x23 + 176 000d 0C .byte 0xc + 177 000e 0E .uleb128 0xe + 178 000f 00 .uleb128 0x0 + 179 .align 4 + 180 .LECIE0: + 181 .LSFDE0: + 182 0010 14000000 .4byte .LEFDE0-.LASFDE0 + 183 .LASFDE0: + 184 0014 00000000 .4byte .Lframe0 + 185 0018 00000000 .4byte .LFB6 + 186 001c 14000000 .4byte .LFE6-.LFB6 + 187 0020 44 .byte 0x4 + 188 .4byte .LCFI0-.LFB6 + 189 0021 0C .byte 0xc + 190 0022 0F .uleb128 0xf + 191 0023 08 .uleb128 0x8 + 192 0024 8F .byte 0x8f + 193 0025 02 .uleb128 0x2 + 194 0026 A3 .byte 0xa3 + 195 0027 01 .uleb128 0x1 + 196 .align 4 + 197 .LEFDE0: + 198 .LSFDE2: + 199 0028 14000000 .4byte .LEFDE2-.LASFDE2 + 200 .LASFDE2: + 201 002c 00000000 .4byte .Lframe0 + 202 0030 14000000 .4byte .LFB5 + 203 0034 0E000000 .4byte .LFE5-.LFB5 + 204 0038 44 .byte 0x4 + 205 .4byte .LCFI1-.LFB5 + 206 0039 0C .byte 0xc + 207 003a 0F .uleb128 0xf + 208 003b 08 .uleb128 0x8 + 209 003c 8F .byte 0x8f + 210 003d 02 .uleb128 0x2 + 211 003e A3 .byte 0xa3 + 212 003f 01 .uleb128 0x1 + 213 .align 4 + 214 .LEFDE2: + 215 .LSFDE4: + 216 0040 14000000 .4byte .LEFDE4-.LASFDE4 + 217 .LASFDE4: + 218 0044 00000000 .4byte .Lframe0 + 219 0048 24000000 .4byte .LFB4 + 220 004c 0E000000 .4byte .LFE4-.LFB4 + 221 0050 44 .byte 0x4 + BFIN GAS /tmp/ccDsuDke.s page 8 + + + 222 .4byte .LCFI2-.LFB4 + 223 0051 0C .byte 0xc + 224 0052 0F .uleb128 0xf + 225 0053 08 .uleb128 0x8 + 226 0054 8F .byte 0x8f + 227 0055 02 .uleb128 0x2 + 228 0056 A3 .byte 0xa3 + 229 0057 01 .uleb128 0x1 + 230 .align 4 + 231 .LEFDE4: + 232 .LSFDE6: + 233 0058 1C000000 .4byte .LEFDE6-.LASFDE6 + 234 .LASFDE6: + 235 005c 00000000 .4byte .Lframe0 + 236 0060 34000000 .4byte .LFB3 + 237 0064 38000000 .4byte .LFE3-.LFB3 + 238 0068 42 .byte 0x4 + 239 .4byte .LCFI3-.LFB3 + 240 0069 0E .byte 0xe + 241 006a 08 .uleb128 0x8 + 242 006b 44 .byte 0x4 + 243 .4byte .LCFI4-.LCFI3 + 244 006c 0C .byte 0xc + 245 006d 0F .uleb128 0xf + 246 006e 10 .uleb128 0x10 + 247 006f 8F .byte 0x8f + 248 0070 04 .uleb128 0x4 + 249 0071 A3 .byte 0xa3 + 250 0072 03 .uleb128 0x3 + 251 0073 87 .byte 0x87 + 252 0074 02 .uleb128 0x2 + 253 0075 86 .byte 0x86 + 254 0076 01 .uleb128 0x1 + 255 0077 00 .align 4 + 256 .LEFDE6: + 257 .LSFDE8: + 258 0078 1C000000 .4byte .LEFDE8-.LASFDE8 + 259 .LASFDE8: + 260 007c 00000000 .4byte .Lframe0 + 261 0080 6C000000 .4byte .LFB2 + 262 0084 32000000 .4byte .LFE2-.LFB2 + 263 0088 42 .byte 0x4 + 264 .4byte .LCFI7-.LFB2 + 265 0089 0E .byte 0xe + 266 008a 08 .uleb128 0x8 + 267 008b 44 .byte 0x4 + 268 .4byte .LCFI8-.LCFI7 + 269 008c 0C .byte 0xc + 270 008d 0F .uleb128 0xf + 271 008e 10 .uleb128 0x10 + 272 008f 8F .byte 0x8f + 273 0090 04 .uleb128 0x4 + 274 0091 A3 .byte 0xa3 + 275 0092 03 .uleb128 0x3 + 276 0093 87 .byte 0x87 + 277 0094 02 .uleb128 0x2 + 278 0095 86 .byte 0x86 + BFIN GAS /tmp/ccDsuDke.s page 9 + + + 279 0096 01 .uleb128 0x1 + 280 0097 00 .align 4 + 281 .LEFDE8: + 282 .text; + 283 .Letext0: + 284 009e 0000 .section .debug_loc,"",@progbits + 285 .Ldebug_loc0: + 286 .LLST0: + 287 0000 00000000 .4byte .LFB6-.Ltext0 + 288 0004 04000000 .4byte .LCFI0-.Ltext0 + 289 0008 0100 .2byte 0x1 + 290 000a 5E .byte 0x5e + 291 000b 04000000 .4byte .LCFI0-.Ltext0 + 292 000f 14000000 .4byte .LFE6-.Ltext0 + 293 0013 0200 .2byte 0x2 + 294 0015 7F .byte 0x7f + 295 0016 08 .sleb128 8 + 296 0017 00000000 .4byte 0x0 + 297 001b 00000000 .4byte 0x0 + 298 .LLST1: + 299 001f 00000000 .4byte .LVL0-.Ltext0 + 300 0023 08000000 .4byte .LVL1-.Ltext0 + 301 0027 0100 .2byte 0x1 + 302 0029 50 .byte 0x50 + 303 002a 00000000 .4byte 0x0 + 304 002e 00000000 .4byte 0x0 + 305 .LLST2: + 306 0032 14000000 .4byte .LFB5-.Ltext0 + 307 0036 18000000 .4byte .LCFI1-.Ltext0 + 308 003a 0100 .2byte 0x1 + 309 003c 5E .byte 0x5e + 310 003d 18000000 .4byte .LCFI1-.Ltext0 + 311 0041 22000000 .4byte .LFE5-.Ltext0 + 312 0045 0200 .2byte 0x2 + 313 0047 7F .byte 0x7f + 314 0048 08 .sleb128 8 + 315 0049 00000000 .4byte 0x0 + 316 004d 00000000 .4byte 0x0 + 317 .LLST3: + 318 0051 14000000 .4byte .LVL2-.Ltext0 + 319 0055 1A000000 .4byte .LVL3-.Ltext0 + 320 0059 0100 .2byte 0x1 + 321 005b 50 .byte 0x50 + 322 005c 00000000 .4byte 0x0 + 323 0060 00000000 .4byte 0x0 + 324 .LLST4: + 325 0064 14000000 .4byte .LVL2-.Ltext0 + 326 0068 22000000 .4byte .LVL4-.Ltext0 + 327 006c 0100 .2byte 0x1 + 328 006e 51 .byte 0x51 + 329 006f 00000000 .4byte 0x0 + 330 0073 00000000 .4byte 0x0 + 331 .LLST5: + 332 0077 24000000 .4byte .LFB4-.Ltext0 + 333 007b 28000000 .4byte .LCFI2-.Ltext0 + 334 007f 0100 .2byte 0x1 + 335 0081 5E .byte 0x5e + BFIN GAS /tmp/ccDsuDke.s page 10 + + + 336 0082 28000000 .4byte .LCFI2-.Ltext0 + 337 0086 32000000 .4byte .LFE4-.Ltext0 + 338 008a 0200 .2byte 0x2 + 339 008c 7F .byte 0x7f + 340 008d 08 .sleb128 8 + 341 008e 00000000 .4byte 0x0 + 342 0092 00000000 .4byte 0x0 + 343 .LLST6: + 344 0096 24000000 .4byte .LVL5-.Ltext0 + 345 009a 2A000000 .4byte .LVL6-.Ltext0 + 346 009e 0100 .2byte 0x1 + 347 00a0 50 .byte 0x50 + 348 00a1 00000000 .4byte 0x0 + 349 00a5 00000000 .4byte 0x0 + 350 .LLST7: + 351 00a9 24000000 .4byte .LVL5-.Ltext0 + 352 00ad 32000000 .4byte .LVL7-.Ltext0 + 353 00b1 0100 .2byte 0x1 + 354 00b3 51 .byte 0x51 + 355 00b4 00000000 .4byte 0x0 + 356 00b8 00000000 .4byte 0x0 + 357 .LLST8: + 358 00bc 34000000 .4byte .LFB3-.Ltext0 + 359 00c0 36000000 .4byte .LCFI3-.Ltext0 + 360 00c4 0100 .2byte 0x1 + 361 00c6 5E .byte 0x5e + 362 00c7 36000000 .4byte .LCFI3-.Ltext0 + 363 00cb 3A000000 .4byte .LCFI4-.Ltext0 + 364 00cf 0200 .2byte 0x2 + 365 00d1 7E .byte 0x7e + 366 00d2 08 .sleb128 8 + 367 00d3 3A000000 .4byte .LCFI4-.Ltext0 + 368 00d7 6C000000 .4byte .LFE3-.Ltext0 + 369 00db 0200 .2byte 0x2 + 370 00dd 7F .byte 0x7f + 371 00de 10 .sleb128 16 + 372 00df 00000000 .4byte 0x0 + 373 00e3 00000000 .4byte 0x0 + 374 .LLST9: + 375 00e7 34000000 .4byte .LVL8-.Ltext0 + 376 00eb 42000000 .4byte .LVL9-.Ltext0 + 377 00ef 0100 .2byte 0x1 + 378 00f1 50 .byte 0x50 + 379 00f2 42000000 .4byte .LVL9-.Ltext0 + 380 00f6 5E000000 .4byte .LVL11-.Ltext0 + 381 00fa 0100 .2byte 0x1 + 382 00fc 56 .byte 0x56 + 383 00fd 60000000 .4byte .LVL12-.Ltext0 + 384 0101 6A000000 .4byte .LVL14-.Ltext0 + 385 0105 0100 .2byte 0x1 + 386 0107 56 .byte 0x56 + 387 0108 00000000 .4byte 0x0 + 388 010c 00000000 .4byte 0x0 + 389 .LLST10: + 390 0110 34000000 .4byte .LVL8-.Ltext0 + 391 0114 42000000 .4byte .LVL9-.Ltext0 + 392 0118 0100 .2byte 0x1 + BFIN GAS /tmp/ccDsuDke.s page 11 + + + 393 011a 51 .byte 0x51 + 394 011b 42000000 .4byte .LVL9-.Ltext0 + 395 011f 5E000000 .4byte .LVL11-.Ltext0 + 396 0123 0100 .2byte 0x1 + 397 0125 57 .byte 0x57 + 398 0126 60000000 .4byte .LVL12-.Ltext0 + 399 012a 6A000000 .4byte .LVL14-.Ltext0 + 400 012e 0100 .2byte 0x1 + 401 0130 57 .byte 0x57 + 402 0131 00000000 .4byte 0x0 + 403 0135 00000000 .4byte 0x0 + 404 .LLST11: + 405 0139 6C000000 .4byte .LFB2-.Ltext0 + 406 013d 6E000000 .4byte .LCFI7-.Ltext0 + 407 0141 0100 .2byte 0x1 + 408 0143 5E .byte 0x5e + 409 0144 6E000000 .4byte .LCFI7-.Ltext0 + 410 0148 72000000 .4byte .LCFI8-.Ltext0 + 411 014c 0200 .2byte 0x2 + 412 014e 7E .byte 0x7e + 413 014f 08 .sleb128 8 + 414 0150 72000000 .4byte .LCFI8-.Ltext0 + 415 0154 9E000000 .4byte .LFE2-.Ltext0 + 416 0158 0200 .2byte 0x2 + 417 015a 7F .byte 0x7f + 418 015b 10 .sleb128 16 + 419 015c 00000000 .4byte 0x0 + 420 0160 00000000 .4byte 0x0 + 421 .LLST12: + 422 0164 6C000000 .4byte .LVL15-.Ltext0 + 423 0168 7A000000 .4byte .LVL16-.Ltext0 + 424 016c 0100 .2byte 0x1 + 425 016e 50 .byte 0x50 + 426 016f 7A000000 .4byte .LVL16-.Ltext0 + 427 0173 88000000 .4byte .LVL17-.Ltext0 + 428 0177 0100 .2byte 0x1 + 429 0179 56 .byte 0x56 + 430 017a 8A000000 .4byte .LVL18-.Ltext0 + 431 017e 9C000000 .4byte .LVL19-.Ltext0 + 432 0182 0100 .2byte 0x1 + 433 0184 56 .byte 0x56 + 434 0185 00000000 .4byte 0x0 + 435 0189 00000000 .4byte 0x0 + 436 .LLST13: + 437 018d 6C000000 .4byte .LVL15-.Ltext0 + 438 0191 7A000000 .4byte .LVL16-.Ltext0 + 439 0195 0100 .2byte 0x1 + 440 0197 51 .byte 0x51 + 441 0198 7A000000 .4byte .LVL16-.Ltext0 + 442 019c 88000000 .4byte .LVL17-.Ltext0 + 443 01a0 0100 .2byte 0x1 + 444 01a2 57 .byte 0x57 + 445 01a3 8A000000 .4byte .LVL18-.Ltext0 + 446 01a7 9C000000 .4byte .LVL19-.Ltext0 + 447 01ab 0100 .2byte 0x1 + 448 01ad 57 .byte 0x57 + 449 01ae 00000000 .4byte 0x0 + BFIN GAS /tmp/ccDsuDke.s page 12 + + + 450 01b2 00000000 .4byte 0x0 + 451 .file 2 "/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib + 452 .file 3 "src/l502_bf_cmd_defs.h" + 453 .section .debug_info + 454 0000 74020000 .4byte 0x274 + 455 0004 0200 .2byte 0x2 + 456 0006 00000000 .4byte .Ldebug_abbrev0 + 457 000a 04 .byte 0x4 + 458 000b 01 .uleb128 0x1 + 459 000c 04010000 .4byte .LASF36 + 460 0010 01 .byte 0x1 + 461 0011 8C000000 .4byte .LASF37 + 462 0015 00000000 .4byte .LASF38 + 463 0019 00000000 .4byte .Ltext0 + 464 001d 9E000000 .4byte .Letext0 + 465 0021 00000000 .4byte .Ldebug_line0 + 466 0025 02 .uleb128 0x2 + 467 0026 01 .byte 0x1 + 468 0027 06 .byte 0x6 + 469 0028 62020000 .4byte .LASF0 + 470 002c 02 .uleb128 0x2 + 471 002d 01 .byte 0x1 + 472 002e 08 .byte 0x8 + 473 002f 10010000 .4byte .LASF1 + 474 0033 02 .uleb128 0x2 + 475 0034 02 .byte 0x2 + 476 0035 05 .byte 0x5 + 477 0036 11020000 .4byte .LASF2 + 478 003a 03 .uleb128 0x3 + 479 003b 1B020000 .4byte .LASF4 + 480 003f 02 .byte 0x2 + 481 0040 36 .byte 0x36 + 482 0041 45000000 .4byte 0x45 + 483 0045 02 .uleb128 0x2 + 484 0046 02 .byte 0x2 + 485 0047 07 .byte 0x7 + 486 0048 60000000 .4byte .LASF3 + 487 004c 03 .uleb128 0x3 + 488 004d A5010000 .4byte .LASF5 + 489 0051 02 .byte 0x2 + 490 0052 4F .byte 0x4f + 491 0053 57000000 .4byte 0x57 + 492 0057 02 .uleb128 0x2 + 493 0058 04 .byte 0x4 + 494 0059 05 .byte 0x5 + 495 005a 3E020000 .4byte .LASF6 + 496 005e 03 .uleb128 0x3 + 497 005f 35020000 .4byte .LASF7 + 498 0063 02 .byte 0x2 + 499 0064 50 .byte 0x50 + 500 0065 69000000 .4byte 0x69 + 501 0069 02 .uleb128 0x2 + 502 006a 04 .byte 0x4 + 503 006b 07 .byte 0x7 + 504 006c E3000000 .4byte .LASF8 + 505 0070 02 .uleb128 0x2 + 506 0071 08 .byte 0x8 + BFIN GAS /tmp/ccDsuDke.s page 13 + + + 507 0072 05 .byte 0x5 + 508 0073 E7010000 .4byte .LASF9 + 509 0077 02 .uleb128 0x2 + 510 0078 08 .byte 0x8 + 511 0079 07 .byte 0x7 + 512 007a 5A010000 .4byte .LASF10 + 513 007e 04 .uleb128 0x4 + 514 007f 04 .byte 0x4 + 515 0080 05 .byte 0x5 + 516 0081 696E7400 .string "int" + 517 0085 02 .uleb128 0x2 + 518 0086 04 .byte 0x4 + 519 0087 07 .byte 0x7 + 520 0088 4D010000 .4byte .LASF11 + 521 008c 05 .uleb128 0x5 + 522 008d 04 .byte 0x4 + 523 008e 03 .byte 0x3 + 524 008f 68 .byte 0x68 + 525 0090 DA000000 .4byte 0xda + 526 0094 06 .uleb128 0x6 + 527 0095 29010000 .4byte .LASF12 + 528 0099 00 .sleb128 0 + 529 009a 06 .uleb128 0x6 + 530 009b 71010000 .4byte .LASF13 + 531 009f 807C .sleb128 -512 + 532 00a1 06 .uleb128 0x6 + 533 00a2 4A000000 .4byte .LASF14 + 534 00a6 807C .sleb128 -512 + 535 00a8 06 .uleb128 0x6 + 536 00a9 B3000000 .4byte .LASF15 + 537 00ad FF7B .sleb128 -513 + 538 00af 06 .uleb128 0x6 + 539 00b0 AD010000 .4byte .LASF16 + 540 00b4 FE7B .sleb128 -514 + 541 00b6 06 .uleb128 0x6 + 542 00b7 6E020000 .4byte .LASF17 + 543 00bb FD7B .sleb128 -515 + 544 00bd 06 .uleb128 0x6 + 545 00be CC010000 .4byte .LASF18 + 546 00c2 FC7B .sleb128 -516 + 547 00c4 06 .uleb128 0x6 + 548 00c5 47020000 .4byte .LASF19 + 549 00c9 FB7B .sleb128 -517 + 550 00cb 06 .uleb128 0x6 + 551 00cc 88010000 .4byte .LASF20 + 552 00d0 FA7B .sleb128 -518 + 553 00d2 06 .uleb128 0x6 + 554 00d3 F5010000 .4byte .LASF21 + 555 00d7 F97B .sleb128 -519 + 556 00d9 00 .byte 0x0 + 557 00da 07 .uleb128 0x7 + 558 00db 1010 .2byte 0x1010 + 559 00dd 03 .byte 0x3 + 560 00de 8B .byte 0x8b + 561 00df 38010000 .4byte 0x138 + 562 00e3 08 .uleb128 0x8 + 563 00e4 24010000 .4byte .LASF22 + BFIN GAS /tmp/ccDsuDke.s page 14 + + + 564 00e8 03 .byte 0x3 + 565 00e9 8C .byte 0x8c + 566 00ea 3A000000 .4byte 0x3a + 567 00ee 02 .byte 0x2 + 568 00ef 23 .byte 0x23 + 569 00f0 00 .uleb128 0x0 + 570 00f1 08 .uleb128 0x8 + 571 00f2 85000000 .4byte .LASF23 + 572 00f6 03 .byte 0x3 + 573 00f7 8D .byte 0x8d + 574 00f8 3A000000 .4byte 0x3a + 575 00fc 02 .byte 0x2 + 576 00fd 23 .byte 0x23 + 577 00fe 02 .uleb128 0x2 + 578 00ff 08 .uleb128 0x8 + 579 0100 1E010000 .4byte .LASF24 + 580 0104 03 .byte 0x3 + 581 0105 8E .byte 0x8e + 582 0106 5E000000 .4byte 0x5e + 583 010a 02 .byte 0x2 + 584 010b 23 .byte 0x23 + 585 010c 04 .uleb128 0x4 + 586 010d 08 .uleb128 0x8 + 587 010e 89020000 .4byte .LASF25 + 588 0112 03 .byte 0x3 + 589 0113 8F .byte 0x8f + 590 0114 4C000000 .4byte 0x4c + 591 0118 02 .byte 0x2 + 592 0119 23 .byte 0x23 + 593 011a 08 .uleb128 0x8 + 594 011b 08 .uleb128 0x8 + 595 011c FA000000 .4byte .LASF26 + 596 0120 03 .byte 0x3 + 597 0121 90 .byte 0x90 + 598 0122 5E000000 .4byte 0x5e + 599 0126 02 .byte 0x2 + 600 0127 23 .byte 0x23 + 601 0128 0C .uleb128 0xc + 602 0129 08 .uleb128 0x8 + 603 012a CB000000 .4byte .LASF27 + 604 012e 03 .byte 0x3 + 605 012f 91 .byte 0x91 + 606 0130 38010000 .4byte 0x138 + 607 0134 02 .byte 0x2 + 608 0135 23 .byte 0x23 + 609 0136 10 .uleb128 0x10 + 610 0137 00 .byte 0x0 + 611 0138 09 .uleb128 0x9 + 612 0139 5E000000 .4byte 0x5e + 613 013d 49010000 .4byte 0x149 + 614 0141 0A .uleb128 0xa + 615 0142 49010000 .4byte 0x149 + 616 0146 FF03 .2byte 0x3ff + 617 0148 00 .byte 0x0 + 618 0149 0B .uleb128 0xb + 619 014a 04 .byte 0x4 + 620 014b 07 .byte 0x7 + BFIN GAS /tmp/ccDsuDke.s page 15 + + + 621 014c 03 .uleb128 0x3 + 622 014d 90020000 .4byte .LASF28 + 623 0151 03 .byte 0x3 + 624 0152 92 .byte 0x92 + 625 0153 DA000000 .4byte 0xda + 626 0157 02 .uleb128 0x2 + 627 0158 01 .byte 0x1 + 628 0159 06 .byte 0x6 + 629 015a 0C020000 .4byte .LASF29 + 630 015e 0C .uleb128 0xc + 631 015f 01 .byte 0x1 + 632 0160 3D010000 .4byte .LASF30 + 633 0164 01 .byte 0x1 + 634 0165 96 .byte 0x96 + 635 0166 01 .byte 0x1 + 636 0167 00000000 .4byte .LFB6 + 637 016b 14000000 .4byte .LFE6 + 638 016f 00000000 .4byte .LLST0 + 639 0173 87010000 .4byte 0x187 + 640 0177 0D .uleb128 0xd + 641 0178 636D6400 .string "cmd" + 642 017c 01 .byte 0x1 + 643 017d 96 .byte 0x96 + 644 017e 87010000 .4byte 0x187 + 645 0182 1F000000 .4byte .LLST1 + 646 0186 00 .byte 0x0 + 647 0187 0E .uleb128 0xe + 648 0188 04 .byte 0x4 + 649 0189 4C010000 .4byte 0x14c + 650 018d 0C .uleb128 0xc + 651 018e 01 .byte 0x1 + 652 018f D5000000 .4byte .LASF31 + 653 0193 01 .byte 0x1 + 654 0194 7E .byte 0x7e + 655 0195 01 .byte 0x1 + 656 0196 14000000 .4byte .LFB5 + 657 019a 22000000 .4byte .LFE5 + 658 019e 32000000 .4byte .LLST2 + 659 01a2 C5010000 .4byte 0x1c5 + 660 01a6 0F .uleb128 0xf + 661 01a7 F5000000 .4byte .LASF32 + 662 01ab 01 .byte 0x1 + 663 01ac 7E .byte 0x7e + 664 01ad C5010000 .4byte 0x1c5 + 665 01b1 51000000 .4byte .LLST3 + 666 01b5 0F .uleb128 0xf + 667 01b6 D0000000 .4byte .LASF33 + 668 01ba 01 .byte 0x1 + 669 01bb 7E .byte 0x7e + 670 01bc 5E000000 .4byte 0x5e + 671 01c0 64000000 .4byte .LLST4 + 672 01c4 00 .byte 0x0 + 673 01c5 0E .uleb128 0xe + 674 01c6 04 .byte 0x4 + 675 01c7 5E000000 .4byte 0x5e + 676 01cb 0C .uleb128 0xc + 677 01cc 01 .byte 0x1 + BFIN GAS /tmp/ccDsuDke.s page 16 + + + 678 01cd A4000000 .4byte .LASF34 + 679 01d1 01 .byte 0x1 + 680 01d2 6E .byte 0x6e + 681 01d3 01 .byte 0x1 + 682 01d4 24000000 .4byte .LFB4 + 683 01d8 32000000 .4byte .LFE4 + 684 01dc 77000000 .4byte .LLST5 + 685 01e0 03020000 .4byte 0x203 + 686 01e4 0F .uleb128 0xf + 687 01e5 F5000000 .4byte .LASF32 + 688 01e9 01 .byte 0x1 + 689 01ea 6E .byte 0x6e + 690 01eb C5010000 .4byte 0x1c5 + 691 01ef 96000000 .4byte .LLST6 + 692 01f3 0F .uleb128 0xf + 693 01f4 D0000000 .4byte .LASF33 + 694 01f8 01 .byte 0x1 + 695 01f9 6E .byte 0x6e + 696 01fa 5E000000 .4byte 0x5e + 697 01fe A9000000 .4byte .LLST7 + 698 0202 00 .byte 0x0 + 699 0203 10 .uleb128 0x10 + 700 0204 01 .byte 0x1 + 701 0205 73000000 .4byte .LASF39 + 702 0209 01 .byte 0x1 + 703 020a 4C .byte 0x4c + 704 020b 01 .byte 0x1 + 705 020c 5E000000 .4byte 0x5e + 706 0210 34000000 .4byte .LFB3 + 707 0214 6C000000 .4byte .LFE3 + 708 0218 BC000000 .4byte .LLST8 + 709 021c 3F020000 .4byte 0x23f + 710 0220 0F .uleb128 0xf + 711 0221 CB000000 .4byte .LASF27 + 712 0225 01 .byte 0x1 + 713 0226 4C .byte 0x4c + 714 0227 C5010000 .4byte 0x1c5 + 715 022b E7000000 .4byte .LLST9 + 716 022f 0F .uleb128 0xf + 717 0230 D0000000 .4byte .LASF33 + 718 0234 01 .byte 0x1 + 719 0235 4C .byte 0x4c + 720 0236 5E000000 .4byte 0x5e + 721 023a 10010000 .4byte .LLST10 + 722 023e 00 .byte 0x0 + 723 023f 11 .uleb128 0x11 + 724 0240 01 .byte 0x1 + 725 0241 24020000 .4byte .LASF35 + 726 0245 01 .byte 0x1 + 727 0246 29 .byte 0x29 + 728 0247 01 .byte 0x1 + 729 0248 5E000000 .4byte 0x5e + 730 024c 6C000000 .4byte .LFB2 + 731 0250 9E000000 .4byte .LFE2 + 732 0254 39010000 .4byte .LLST11 + 733 0258 0F .uleb128 0xf + 734 0259 CB000000 .4byte .LASF27 + BFIN GAS /tmp/ccDsuDke.s page 17 + + + 735 025d 01 .byte 0x1 + 736 025e 29 .byte 0x29 + 737 025f C5010000 .4byte 0x1c5 + 738 0263 64010000 .4byte .LLST12 + 739 0267 0F .uleb128 0xf + 740 0268 D0000000 .4byte .LASF33 + 741 026c 01 .byte 0x1 + 742 026d 29 .byte 0x29 + 743 026e 5E000000 .4byte 0x5e + 744 0272 8D010000 .4byte .LLST13 + 745 0276 00 .byte 0x0 + 746 0277 00 .byte 0x0 + 747 .section .debug_abbrev + 748 0000 01 .uleb128 0x1 + 749 0001 11 .uleb128 0x11 + 750 0002 01 .byte 0x1 + 751 0003 25 .uleb128 0x25 + 752 0004 0E .uleb128 0xe + 753 0005 13 .uleb128 0x13 + 754 0006 0B .uleb128 0xb + 755 0007 03 .uleb128 0x3 + 756 0008 0E .uleb128 0xe + 757 0009 1B .uleb128 0x1b + 758 000a 0E .uleb128 0xe + 759 000b 11 .uleb128 0x11 + 760 000c 01 .uleb128 0x1 + 761 000d 12 .uleb128 0x12 + 762 000e 01 .uleb128 0x1 + 763 000f 10 .uleb128 0x10 + 764 0010 06 .uleb128 0x6 + 765 0011 00 .byte 0x0 + 766 0012 00 .byte 0x0 + 767 0013 02 .uleb128 0x2 + 768 0014 24 .uleb128 0x24 + 769 0015 00 .byte 0x0 + 770 0016 0B .uleb128 0xb + 771 0017 0B .uleb128 0xb + 772 0018 3E .uleb128 0x3e + 773 0019 0B .uleb128 0xb + 774 001a 03 .uleb128 0x3 + 775 001b 0E .uleb128 0xe + 776 001c 00 .byte 0x0 + 777 001d 00 .byte 0x0 + 778 001e 03 .uleb128 0x3 + 779 001f 16 .uleb128 0x16 + 780 0020 00 .byte 0x0 + 781 0021 03 .uleb128 0x3 + 782 0022 0E .uleb128 0xe + 783 0023 3A .uleb128 0x3a + 784 0024 0B .uleb128 0xb + 785 0025 3B .uleb128 0x3b + 786 0026 0B .uleb128 0xb + 787 0027 49 .uleb128 0x49 + 788 0028 13 .uleb128 0x13 + 789 0029 00 .byte 0x0 + 790 002a 00 .byte 0x0 + 791 002b 04 .uleb128 0x4 + BFIN GAS /tmp/ccDsuDke.s page 18 + + + 792 002c 24 .uleb128 0x24 + 793 002d 00 .byte 0x0 + 794 002e 0B .uleb128 0xb + 795 002f 0B .uleb128 0xb + 796 0030 3E .uleb128 0x3e + 797 0031 0B .uleb128 0xb + 798 0032 03 .uleb128 0x3 + 799 0033 08 .uleb128 0x8 + 800 0034 00 .byte 0x0 + 801 0035 00 .byte 0x0 + 802 0036 05 .uleb128 0x5 + 803 0037 04 .uleb128 0x4 + 804 0038 01 .byte 0x1 + 805 0039 0B .uleb128 0xb + 806 003a 0B .uleb128 0xb + 807 003b 3A .uleb128 0x3a + 808 003c 0B .uleb128 0xb + 809 003d 3B .uleb128 0x3b + 810 003e 0B .uleb128 0xb + 811 003f 01 .uleb128 0x1 + 812 0040 13 .uleb128 0x13 + 813 0041 00 .byte 0x0 + 814 0042 00 .byte 0x0 + 815 0043 06 .uleb128 0x6 + 816 0044 28 .uleb128 0x28 + 817 0045 00 .byte 0x0 + 818 0046 03 .uleb128 0x3 + 819 0047 0E .uleb128 0xe + 820 0048 1C .uleb128 0x1c + 821 0049 0D .uleb128 0xd + 822 004a 00 .byte 0x0 + 823 004b 00 .byte 0x0 + 824 004c 07 .uleb128 0x7 + 825 004d 13 .uleb128 0x13 + 826 004e 01 .byte 0x1 + 827 004f 0B .uleb128 0xb + 828 0050 05 .uleb128 0x5 + 829 0051 3A .uleb128 0x3a + 830 0052 0B .uleb128 0xb + 831 0053 3B .uleb128 0x3b + 832 0054 0B .uleb128 0xb + 833 0055 01 .uleb128 0x1 + 834 0056 13 .uleb128 0x13 + 835 0057 00 .byte 0x0 + 836 0058 00 .byte 0x0 + 837 0059 08 .uleb128 0x8 + 838 005a 0D .uleb128 0xd + 839 005b 00 .byte 0x0 + 840 005c 03 .uleb128 0x3 + 841 005d 0E .uleb128 0xe + 842 005e 3A .uleb128 0x3a + 843 005f 0B .uleb128 0xb + 844 0060 3B .uleb128 0x3b + 845 0061 0B .uleb128 0xb + 846 0062 49 .uleb128 0x49 + 847 0063 13 .uleb128 0x13 + 848 0064 38 .uleb128 0x38 + BFIN GAS /tmp/ccDsuDke.s page 19 + + + 849 0065 0A .uleb128 0xa + 850 0066 00 .byte 0x0 + 851 0067 00 .byte 0x0 + 852 0068 09 .uleb128 0x9 + 853 0069 01 .uleb128 0x1 + 854 006a 01 .byte 0x1 + 855 006b 49 .uleb128 0x49 + 856 006c 13 .uleb128 0x13 + 857 006d 01 .uleb128 0x1 + 858 006e 13 .uleb128 0x13 + 859 006f 00 .byte 0x0 + 860 0070 00 .byte 0x0 + 861 0071 0A .uleb128 0xa + 862 0072 21 .uleb128 0x21 + 863 0073 00 .byte 0x0 + 864 0074 49 .uleb128 0x49 + 865 0075 13 .uleb128 0x13 + 866 0076 2F .uleb128 0x2f + 867 0077 05 .uleb128 0x5 + 868 0078 00 .byte 0x0 + 869 0079 00 .byte 0x0 + 870 007a 0B .uleb128 0xb + 871 007b 24 .uleb128 0x24 + 872 007c 00 .byte 0x0 + 873 007d 0B .uleb128 0xb + 874 007e 0B .uleb128 0xb + 875 007f 3E .uleb128 0x3e + 876 0080 0B .uleb128 0xb + 877 0081 00 .byte 0x0 + 878 0082 00 .byte 0x0 + 879 0083 0C .uleb128 0xc + 880 0084 2E .uleb128 0x2e + 881 0085 01 .byte 0x1 + 882 0086 3F .uleb128 0x3f + 883 0087 0C .uleb128 0xc + 884 0088 03 .uleb128 0x3 + 885 0089 0E .uleb128 0xe + 886 008a 3A .uleb128 0x3a + 887 008b 0B .uleb128 0xb + 888 008c 3B .uleb128 0x3b + 889 008d 0B .uleb128 0xb + 890 008e 27 .uleb128 0x27 + 891 008f 0C .uleb128 0xc + 892 0090 11 .uleb128 0x11 + 893 0091 01 .uleb128 0x1 + 894 0092 12 .uleb128 0x12 + 895 0093 01 .uleb128 0x1 + 896 0094 40 .uleb128 0x40 + 897 0095 06 .uleb128 0x6 + 898 0096 01 .uleb128 0x1 + 899 0097 13 .uleb128 0x13 + 900 0098 00 .byte 0x0 + 901 0099 00 .byte 0x0 + 902 009a 0D .uleb128 0xd + 903 009b 05 .uleb128 0x5 + 904 009c 00 .byte 0x0 + 905 009d 03 .uleb128 0x3 + BFIN GAS /tmp/ccDsuDke.s page 20 + + + 906 009e 08 .uleb128 0x8 + 907 009f 3A .uleb128 0x3a + 908 00a0 0B .uleb128 0xb + 909 00a1 3B .uleb128 0x3b + 910 00a2 0B .uleb128 0xb + 911 00a3 49 .uleb128 0x49 + 912 00a4 13 .uleb128 0x13 + 913 00a5 02 .uleb128 0x2 + 914 00a6 06 .uleb128 0x6 + 915 00a7 00 .byte 0x0 + 916 00a8 00 .byte 0x0 + 917 00a9 0E .uleb128 0xe + 918 00aa 0F .uleb128 0xf + 919 00ab 00 .byte 0x0 + 920 00ac 0B .uleb128 0xb + 921 00ad 0B .uleb128 0xb + 922 00ae 49 .uleb128 0x49 + 923 00af 13 .uleb128 0x13 + 924 00b0 00 .byte 0x0 + 925 00b1 00 .byte 0x0 + 926 00b2 0F .uleb128 0xf + 927 00b3 05 .uleb128 0x5 + 928 00b4 00 .byte 0x0 + 929 00b5 03 .uleb128 0x3 + 930 00b6 0E .uleb128 0xe + 931 00b7 3A .uleb128 0x3a + 932 00b8 0B .uleb128 0xb + 933 00b9 3B .uleb128 0x3b + 934 00ba 0B .uleb128 0xb + 935 00bb 49 .uleb128 0x49 + 936 00bc 13 .uleb128 0x13 + 937 00bd 02 .uleb128 0x2 + 938 00be 06 .uleb128 0x6 + 939 00bf 00 .byte 0x0 + 940 00c0 00 .byte 0x0 + 941 00c1 10 .uleb128 0x10 + 942 00c2 2E .uleb128 0x2e + 943 00c3 01 .byte 0x1 + 944 00c4 3F .uleb128 0x3f + 945 00c5 0C .uleb128 0xc + 946 00c6 03 .uleb128 0x3 + 947 00c7 0E .uleb128 0xe + 948 00c8 3A .uleb128 0x3a + 949 00c9 0B .uleb128 0xb + 950 00ca 3B .uleb128 0x3b + 951 00cb 0B .uleb128 0xb + 952 00cc 27 .uleb128 0x27 + 953 00cd 0C .uleb128 0xc + 954 00ce 49 .uleb128 0x49 + 955 00cf 13 .uleb128 0x13 + 956 00d0 11 .uleb128 0x11 + 957 00d1 01 .uleb128 0x1 + 958 00d2 12 .uleb128 0x12 + 959 00d3 01 .uleb128 0x1 + 960 00d4 40 .uleb128 0x40 + 961 00d5 06 .uleb128 0x6 + 962 00d6 01 .uleb128 0x1 + BFIN GAS /tmp/ccDsuDke.s page 21 + + + 963 00d7 13 .uleb128 0x13 + 964 00d8 00 .byte 0x0 + 965 00d9 00 .byte 0x0 + 966 00da 11 .uleb128 0x11 + 967 00db 2E .uleb128 0x2e + 968 00dc 01 .byte 0x1 + 969 00dd 3F .uleb128 0x3f + 970 00de 0C .uleb128 0xc + 971 00df 03 .uleb128 0x3 + 972 00e0 0E .uleb128 0xe + 973 00e1 3A .uleb128 0x3a + 974 00e2 0B .uleb128 0xb + 975 00e3 3B .uleb128 0x3b + 976 00e4 0B .uleb128 0xb + 977 00e5 27 .uleb128 0x27 + 978 00e6 0C .uleb128 0xc + 979 00e7 49 .uleb128 0x49 + 980 00e8 13 .uleb128 0x13 + 981 00e9 11 .uleb128 0x11 + 982 00ea 01 .uleb128 0x1 + 983 00eb 12 .uleb128 0x12 + 984 00ec 01 .uleb128 0x1 + 985 00ed 40 .uleb128 0x40 + 986 00ee 06 .uleb128 0x6 + 987 00ef 00 .byte 0x0 + 988 00f0 00 .byte 0x0 + 989 00f1 00 .byte 0x0 + 990 .section .debug_pubnames,"",@progbits + 991 0000 72000000 .4byte 0x72 + 992 0004 0200 .2byte 0x2 + 993 0006 00000000 .4byte .Ldebug_info0 + 994 000a 78020000 .4byte 0x278 + 995 000e 5E010000 .4byte 0x15e + 996 0012 7573725F .string "usr_cmd_process" + 996 636D645F + 996 70726F63 + 996 65737300 + 997 0022 8D010000 .4byte 0x18d + 998 0026 73706F72 .string "sport_tx_done" + 998 745F7478 + 998 5F646F6E + 998 6500 + 999 0034 CB010000 .4byte 0x1cb + 1000 0038 68646D61 .string "hdma_send_done" + 1000 5F73656E + 1000 645F646F + 1000 6E6500 + 1001 0047 03020000 .4byte 0x203 + 1002 004b 7573725F .string "usr_out_proc_data" + 1002 6F75745F + 1002 70726F63 + 1002 5F646174 + 1002 6100 + 1003 005d 3F020000 .4byte 0x23f + 1004 0061 7573725F .string "usr_in_proc_data" + 1004 696E5F70 + 1004 726F635F + BFIN GAS /tmp/ccDsuDke.s page 22 + + + 1004 64617461 + 1004 00 + 1005 0072 00000000 .4byte 0x0 + 1006 .section .debug_aranges,"",@progbits + 1007 0000 1C000000 .4byte 0x1c + 1008 0004 0200 .2byte 0x2 + 1009 0006 00000000 .4byte .Ldebug_info0 + 1010 000a 04 .byte 0x4 + 1011 000b 00 .byte 0x0 + 1012 000c 0000 .2byte 0x0 + 1013 000e 0000 .2byte 0x0 + 1014 0010 00000000 .4byte .Ltext0 + 1015 0014 9E000000 .4byte .Letext0-.Ltext0 + 1016 0018 00000000 .4byte 0x0 + 1017 001c 00000000 .4byte 0x0 + 1018 .section .debug_str,"MS",@progbits,1 + 1019 .LASF38: + 1020 0000 2F686F6D .string "/home/feda/MIPT/RadioPhotonic_Subserface_radar/ADC_computing/BFfirmware_0" + 1020 652F6665 + 1020 64612F4D + 1020 4950542F + 1020 52616469 + 1021 .LASF14: + 1022 004a 4C353032 .string "L502_BF_ERR_UNSUP_CMD" + 1022 5F42465F + 1022 4552525F + 1022 554E5355 + 1022 505F434D + 1023 .LASF3: + 1024 0060 73686F72 .string "short unsigned int" + 1024 7420756E + 1024 7369676E + 1024 65642069 + 1024 6E7400 + 1025 .LASF39: + 1026 0073 7573725F .string "usr_out_proc_data" + 1026 6F75745F + 1026 70726F63 + 1026 5F646174 + 1026 6100 + 1027 .LASF23: + 1028 0085 73746174 .string "status" + 1028 757300 + 1029 .LASF37: + 1030 008c 7372632F .string "src/l502_user_process.c" + 1030 6C353032 + 1030 5F757365 + 1030 725F7072 + 1030 6F636573 + 1031 .LASF34: + 1032 00a4 68646D61 .string "hdma_send_done" + 1032 5F73656E + 1032 645F646F + 1032 6E6500 + 1033 .LASF15: + 1034 00b3 4C353032 .string "L502_BF_ERR_CMD_OVERRUN" + 1034 5F42465F + BFIN GAS /tmp/ccDsuDke.s page 23 + + + 1034 4552525F + 1034 434D445F + 1034 4F564552 + 1035 .LASF27: + 1036 00cb 64617461 .string "data" + 1036 00 + 1037 .LASF33: + 1038 00d0 73697A65 .string "size" + 1038 00 + 1039 .LASF31: + 1040 00d5 73706F72 .string "sport_tx_done" + 1040 745F7478 + 1040 5F646F6E + 1040 6500 + 1041 .LASF8: + 1042 00e3 6C6F6E67 .string "long unsigned int" + 1042 20756E73 + 1042 69676E65 + 1042 6420696E + 1042 7400 + 1043 .LASF32: + 1044 00f5 61646472 .string "addr" + 1044 00 + 1045 .LASF26: + 1046 00fa 64617461 .string "data_size" + 1046 5F73697A + 1046 6500 + 1047 .LASF36: + 1048 0104 474E5520 .string "GNU C 4.3.5" + 1048 4320342E + 1048 332E3500 + 1049 .LASF1: + 1050 0110 756E7369 .string "unsigned char" + 1050 676E6564 + 1050 20636861 + 1050 7200 + 1051 .LASF24: + 1052 011e 70617261 .string "param" + 1052 6D00 + 1053 .LASF22: + 1054 0124 636F6465 .string "code" + 1054 00 + 1055 .LASF12: + 1056 0129 4C353032 .string "L502_BF_ERR_SUCCESS" + 1056 5F42465F + 1056 4552525F + 1056 53554343 + 1056 45535300 + 1057 .LASF30: + 1058 013d 7573725F .string "usr_cmd_process" + 1058 636D645F + 1058 70726F63 + 1058 65737300 + 1059 .LASF11: + 1060 014d 756E7369 .string "unsigned int" + 1060 676E6564 + 1060 20696E74 + BFIN GAS /tmp/ccDsuDke.s page 24 + + + 1060 00 + 1061 .LASF10: + 1062 015a 6C6F6E67 .string "long long unsigned int" + 1062 206C6F6E + 1062 6720756E + 1062 7369676E + 1062 65642069 + 1063 .LASF13: + 1064 0171 4C353032 .string "L502_BF_ERR_FIRST_CODE" + 1064 5F42465F + 1064 4552525F + 1064 46495253 + 1064 545F434F + 1065 .LASF20: + 1066 0188 4C353032 .string "L502_BF_ERR_NO_TEST_IN_PROGR" + 1066 5F42465F + 1066 4552525F + 1066 4E4F5F54 + 1066 4553545F + 1067 .LASF5: + 1068 01a5 696E7433 .string "int32_t" + 1068 325F7400 + 1069 .LASF16: + 1070 01ad 4C353032 .string "L502_BF_ERR_INVALID_CMD_PARAMS" + 1070 5F42465F + 1070 4552525F + 1070 494E5641 + 1070 4C49445F + 1071 .LASF18: + 1072 01cc 4C353032 .string "L502_BF_ERR_STREAM_RUNNING" + 1072 5F42465F + 1072 4552525F + 1072 53545245 + 1072 414D5F52 + 1073 .LASF9: + 1074 01e7 6C6F6E67 .string "long long int" + 1074 206C6F6E + 1074 6720696E + 1074 7400 + 1075 .LASF21: + 1076 01f5 4C353032 .string "L502_BF_ERR_TEST_VALUE" + 1076 5F42465F + 1076 4552525F + 1076 54455354 + 1076 5F56414C + 1077 .LASF29: + 1078 020c 63686172 .string "char" + 1078 00 + 1079 .LASF2: + 1080 0211 73686F72 .string "short int" + 1080 7420696E + 1080 7400 + 1081 .LASF4: + 1082 021b 75696E74 .string "uint16_t" + 1082 31365F74 + 1082 00 + 1083 .LASF35: + BFIN GAS /tmp/ccDsuDke.s page 25 + + + 1084 0224 7573725F .string "usr_in_proc_data" + 1084 696E5F70 + 1084 726F635F + 1084 64617461 + 1084 00 + 1085 .LASF7: + 1086 0235 75696E74 .string "uint32_t" + 1086 33325F74 + 1086 00 + 1087 .LASF6: + 1088 023e 6C6F6E67 .string "long int" + 1088 20696E74 + 1088 00 + 1089 .LASF19: + 1090 0247 4C353032 .string "L502_BF_ERR_STREAM_STOPPED" + 1090 5F42465F + 1090 4552525F + 1090 53545245 + 1090 414D5F53 + 1091 .LASF0: + 1092 0262 7369676E .string "signed char" + 1092 65642063 + 1092 68617200 + 1093 .LASF17: + 1094 026e 4C353032 .string "L502_BF_ERR_INSUF_CMD_DATA" + 1094 5F42465F + 1094 4552525F + 1094 494E5355 + 1094 465F434D + 1095 .LASF25: + 1096 0289 72657375 .string "result" + 1096 6C7400 + 1097 .LASF28: + 1098 0290 745F6C35 .string "t_l502_bf_cmd" + 1098 30325F62 + 1098 665F636D + 1098 6400 + 1099 .ident "GCC: (ADI-2014R1-RC2) 4.3.5" + BFIN GAS /tmp/ccDsuDke.s page 26 + + +DEFINED SYMBOLS + *ABS*:0000000000000000 src/l502_user_process.c + /tmp/ccDsuDke.s:13 .text:0000000000000000 _usr_cmd_process + /tmp/ccDsuDke.s:34 .text:0000000000000014 _sport_tx_done + /tmp/ccDsuDke.s:53 .text:0000000000000024 _hdma_send_done + /tmp/ccDsuDke.s:72 .text:0000000000000034 _usr_out_proc_data + /tmp/ccDsuDke.s:123 .text:000000000000006c _usr_in_proc_data + +UNDEFINED SYMBOLS +_l502_cmd_done +_stream_out_buf_free +_stream_in_buf_free +_sport_tx_req_rdy +_sport_tx_start_req +_hdma_send_req_rdy +_hdma_send_req_start diff --git a/build/release/lst/main.lst b/build/release/lst/main.lst new file mode 100644 index 0000000..59e8f0c --- /dev/null +++ b/build/release/lst/main.lst @@ -0,0 +1,901 @@ +BFIN GAS /tmp/ccQKVwPF.s page 1 + + + 1 .file "src/main.c"; + 2 .section .debug_abbrev,"",@progbits + 3 .Ldebug_abbrev0: + 4 .section .debug_info,"",@progbits + 5 .Ldebug_info0: + 6 .section .debug_line,"",@progbits + 7 .Ldebug_line0: + 8 0000 F6000000 .text; + 8 0200DE00 + 8 00000101 + 8 FB0E0D00 + 8 01010101 + 9 .Ltext0: + 10 .align 4 + 11 .global _main; + 12 .type _main, STT_FUNC; + 13 _main: + 14 .LFB2: + 15 .file 1 "src/main.c" + 1:src/main.c **** /***************************************************************************** + 2:src/main.c **** * NewProject.c + 3:src/main.c **** *****************************************************************************/ + 4:src/main.c **** + 5:src/main.c **** #include "l502_cdefs.h" + 6:src/main.c **** void l502_init(void); + 7:src/main.c **** #include "l502_global.h" + 8:src/main.c **** #include "l502_cmd.h" + 9:src/main.c **** + 10:src/main.c **** void stream_proc(void); + 11:src/main.c **** + 12:src/main.c **** /* g_state описывает область памяти, расположенную по фиксированным адресам. + 13:src/main.c **** * Для расположения в начало банка A данных используем специальную секцию */ + 14:src/main.c **** SECTION("board_state", volatile t_l502_board_state g_state); + 15:src/main.c **** + 16:src/main.c **** + 17:src/main.c **** int main(void) { + 16 .loc 1 17 0 + 17 0000 00E80300 LINK 12; + 18 .LCFI0: + 18:src/main.c **** /* Инициализация интерфейсов */ + 19:src/main.c **** l502_init(); + 19 .loc 1 19 0 + 20 0004 FFE3FEFF call _l502_init; + 21 .L2: + 20:src/main.c **** + 21:src/main.c **** for (;;) { + 22:src/main.c **** /* проверяем наличие команды от ПК и начинаяем + 23:src/main.c **** обработку, если она есть */ + 24:src/main.c **** l502_cmd_check_req(); + 22 .loc 1 24 0 + 23 0008 FFE3FCFF call _l502_cmd_check_req; + 25:src/main.c **** /* обработка потоков данных */ + 26:src/main.c **** stream_proc(); + 24 .loc 1 26 0 + 25 000c FFE3FAFF call _stream_proc; + 26 0010 FC2F jump.s .L2; + 27 .LFE2: + BFIN GAS /tmp/ccQKVwPF.s page 2 + + + 28 .size _main, .-_main + 29 .global _g_state; + 30 .section board_state,"aw",@progbits + 31 .align 4 + 32 .type _g_state, @object + 33 .size _g_state, 6160 + 34 _g_state: + 35 0000 00000000 .zero 6160 + 35 00000000 + 35 00000000 + 35 00000000 + 35 00000000 + 36 .section .debug_frame,"",@progbits + 37 .Lframe0: + 38 0000 0C000000 .4byte .LECIE0-.LSCIE0 + 39 .LSCIE0: + 40 0004 FFFFFFFF .4byte 0xffffffff + 41 0008 01 .byte 0x1 + 42 0009 00 .string "" + 43 000a 01 .uleb128 0x1 + 44 000b 7C .sleb128 -4 + 45 000c 23 .byte 0x23 + 46 000d 0C .byte 0xc + 47 000e 0E .uleb128 0xe + 48 000f 00 .uleb128 0x0 + 49 .align 4 + 50 .LECIE0: + 51 .LSFDE0: + 52 0010 14000000 .4byte .LEFDE0-.LASFDE0 + 53 .LASFDE0: + 54 0014 00000000 .4byte .Lframe0 + 55 0018 00000000 .4byte .LFB2 + 56 001c 12000000 .4byte .LFE2-.LFB2 + 57 0020 44 .byte 0x4 + 58 .4byte .LCFI0-.LFB2 + 59 0021 0C .byte 0xc + 60 0022 0F .uleb128 0xf + 61 0023 08 .uleb128 0x8 + 62 0024 8F .byte 0x8f + 63 0025 02 .uleb128 0x2 + 64 0026 A3 .byte 0xa3 + 65 0027 01 .uleb128 0x1 + 66 .align 4 + 67 .LEFDE0: + 68 .text; + 69 .Letext0: + 70 0012 0000 .section .debug_loc,"",@progbits + 71 .Ldebug_loc0: + 72 .LLST0: + 73 0000 00000000 .4byte .LFB2-.Ltext0 + 74 0004 04000000 .4byte .LCFI0-.Ltext0 + 75 0008 0100 .2byte 0x1 + 76 000a 5E .byte 0x5e + 77 000b 04000000 .4byte .LCFI0-.Ltext0 + 78 000f 12000000 .4byte .LFE2-.Ltext0 + 79 0013 0200 .2byte 0x2 + 80 0015 7F .byte 0x7f + BFIN GAS /tmp/ccQKVwPF.s page 3 + + + 81 0016 08 .sleb128 8 + 82 0017 00000000 .4byte 0x0 + 83 001b 00000000 .4byte 0x0 + 84 .file 2 "/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib + 85 .file 3 "src/l502_bf_cmd_defs.h" + 86 .file 4 "src/l502_global.h" + 87 .section .debug_info + 88 0000 75020000 .4byte 0x275 + 89 0004 0200 .2byte 0x2 + 90 0006 00000000 .4byte .Ldebug_abbrev0 + 91 000a 04 .byte 0x4 + 92 000b 01 .uleb128 0x1 + 93 000c 0D000000 .4byte .LASF35 + 94 0010 01 .byte 0x1 + 95 0011 C1010000 .4byte .LASF36 + 96 0015 34010000 .4byte .LASF37 + 97 0019 00000000 .4byte .Ltext0 + 98 001d 12000000 .4byte .Letext0 + 99 0021 00000000 .4byte .Ldebug_line0 + 100 0025 02 .uleb128 0x2 + 101 0026 01 .byte 0x1 + 102 0027 06 .byte 0x6 + 103 0028 94000000 .4byte .LASF0 + 104 002c 02 .uleb128 0x2 + 105 002d 01 .byte 0x1 + 106 002e 08 .byte 0x8 + 107 002f 86000000 .4byte .LASF1 + 108 0033 02 .uleb128 0x2 + 109 0034 02 .byte 0x2 + 110 0035 05 .byte 0x5 + 111 0036 19000000 .4byte .LASF2 + 112 003a 03 .uleb128 0x3 + 113 003b D3000000 .4byte .LASF4 + 114 003f 02 .byte 0x2 + 115 0040 36 .byte 0x36 + 116 0041 45000000 .4byte 0x45 + 117 0045 02 .uleb128 0x2 + 118 0046 02 .byte 0x2 + 119 0047 07 .byte 0x7 + 120 0048 F8000000 .4byte .LASF3 + 121 004c 03 .uleb128 0x3 + 122 004d 1D010000 .4byte .LASF5 + 123 0051 02 .byte 0x2 + 124 0052 4F .byte 0x4f + 125 0053 57000000 .4byte 0x57 + 126 0057 02 .uleb128 0x2 + 127 0058 04 .byte 0x4 + 128 0059 05 .byte 0x5 + 129 005a 4E000000 .4byte .LASF6 + 130 005e 03 .uleb128 0x3 + 131 005f BD000000 .4byte .LASF7 + 132 0063 02 .byte 0x2 + 133 0064 50 .byte 0x50 + 134 0065 69000000 .4byte 0x69 + 135 0069 02 .uleb128 0x2 + 136 006a 04 .byte 0x4 + 137 006b 07 .byte 0x7 + BFIN GAS /tmp/ccQKVwPF.s page 4 + + + 138 006c 92010000 .4byte .LASF8 + 139 0070 02 .uleb128 0x2 + 140 0071 08 .byte 0x8 + 141 0072 05 .byte 0x5 + 142 0073 40000000 .4byte .LASF9 + 143 0077 02 .uleb128 0x2 + 144 0078 08 .byte 0x8 + 145 0079 07 .byte 0x7 + 146 007a A6000000 .4byte .LASF10 + 147 007e 04 .uleb128 0x4 + 148 007f 04 .byte 0x4 + 149 0080 05 .byte 0x5 + 150 0081 696E7400 .string "int" + 151 0085 02 .uleb128 0x2 + 152 0086 04 .byte 0x4 + 153 0087 07 .byte 0x7 + 154 0088 C6000000 .4byte .LASF11 + 155 008c 05 .uleb128 0x5 + 156 008d 1010 .2byte 0x1010 + 157 008f 03 .byte 0x3 + 158 0090 8B .byte 0x8b + 159 0091 EA000000 .4byte 0xea + 160 0095 06 .uleb128 0x6 + 161 0096 ED000000 .4byte .LASF12 + 162 009a 03 .byte 0x3 + 163 009b 8C .byte 0x8c + 164 009c 3A000000 .4byte 0x3a + 165 00a0 02 .byte 0x2 + 166 00a1 23 .byte 0x23 + 167 00a2 00 .uleb128 0x0 + 168 00a3 06 .uleb128 0x6 + 169 00a4 0B010000 .4byte .LASF13 + 170 00a8 03 .byte 0x3 + 171 00a9 8D .byte 0x8d + 172 00aa 3A000000 .4byte 0x3a + 173 00ae 02 .byte 0x2 + 174 00af 23 .byte 0x23 + 175 00b0 02 .uleb128 0x2 + 176 00b1 06 .uleb128 0x6 + 177 00b2 F2000000 .4byte .LASF14 + 178 00b6 03 .byte 0x3 + 179 00b7 8E .byte 0x8e + 180 00b8 5E000000 .4byte 0x5e + 181 00bc 02 .byte 0x2 + 182 00bd 23 .byte 0x23 + 183 00be 04 .uleb128 0x4 + 184 00bf 06 .uleb128 0x6 + 185 00c0 06000000 .4byte .LASF15 + 186 00c4 03 .byte 0x3 + 187 00c5 8F .byte 0x8f + 188 00c6 4C000000 .4byte 0x4c + 189 00ca 02 .byte 0x2 + 190 00cb 23 .byte 0x23 + 191 00cc 08 .uleb128 0x8 + 192 00cd 06 .uleb128 0x6 + 193 00ce 7C000000 .4byte .LASF16 + 194 00d2 03 .byte 0x3 + BFIN GAS /tmp/ccQKVwPF.s page 5 + + + 195 00d3 90 .byte 0x90 + 196 00d4 5E000000 .4byte 0x5e + 197 00d8 02 .byte 0x2 + 198 00d9 23 .byte 0x23 + 199 00da 0C .uleb128 0xc + 200 00db 06 .uleb128 0x6 + 201 00dc 2A010000 .4byte .LASF17 + 202 00e0 03 .byte 0x3 + 203 00e1 91 .byte 0x91 + 204 00e2 EA000000 .4byte 0xea + 205 00e6 02 .byte 0x2 + 206 00e7 23 .byte 0x23 + 207 00e8 10 .uleb128 0x10 + 208 00e9 00 .byte 0x0 + 209 00ea 07 .uleb128 0x7 + 210 00eb 5E000000 .4byte 0x5e + 211 00ef FB000000 .4byte 0xfb + 212 00f3 08 .uleb128 0x8 + 213 00f4 FB000000 .4byte 0xfb + 214 00f8 FF03 .2byte 0x3ff + 215 00fa 00 .byte 0x0 + 216 00fb 09 .uleb128 0x9 + 217 00fc 04 .byte 0x4 + 218 00fd 07 .byte 0x7 + 219 00fe 03 .uleb128 0x3 + 220 00ff 6E000000 .4byte .LASF18 + 221 0103 03 .byte 0x3 + 222 0104 92 .byte 0x92 + 223 0105 8C000000 .4byte 0x8c + 224 0109 0A .uleb128 0xa + 225 010a 20 .byte 0x20 + 226 010b 04 .byte 0x4 + 227 010c 1C .byte 0x1c + 228 010d AB010000 .4byte 0x1ab + 229 0111 06 .uleb128 0x6 + 230 0112 A0000000 .4byte .LASF19 + 231 0116 04 .byte 0x4 + 232 0117 1D .byte 0x1d + 233 0118 5E000000 .4byte 0x5e + 234 011c 02 .byte 0x2 + 235 011d 23 .byte 0x23 + 236 011e 00 .uleb128 0x0 + 237 011f 06 .uleb128 0x6 + 238 0120 36000000 .4byte .LASF20 + 239 0124 04 .byte 0x4 + 240 0125 1E .byte 0x1e + 241 0126 5E000000 .4byte 0x5e + 242 012a 02 .byte 0x2 + 243 012b 23 .byte 0x23 + 244 012c 04 .uleb128 0x4 + 245 012d 06 .uleb128 0x6 + 246 012e 5E000000 .4byte .LASF21 + 247 0132 04 .byte 0x4 + 248 0133 1F .byte 0x1f + 249 0134 AB010000 .4byte 0x1ab + 250 0138 02 .byte 0x2 + 251 0139 23 .byte 0x23 + BFIN GAS /tmp/ccQKVwPF.s page 6 + + + 252 013a 08 .uleb128 0x8 + 253 013b 06 .uleb128 0x6 + 254 013c 18010000 .4byte .LASF22 + 255 0140 04 .byte 0x4 + 256 0141 20 .byte 0x20 + 257 0142 3A000000 .4byte 0x3a + 258 0146 02 .byte 0x2 + 259 0147 23 .byte 0x23 + 260 0148 0C .uleb128 0xc + 261 0149 06 .uleb128 0x6 + 262 014a 25010000 .4byte .LASF23 + 263 014e 04 .byte 0x4 + 264 014f 21 .byte 0x21 + 265 0150 3A000000 .4byte 0x3a + 266 0154 02 .byte 0x2 + 267 0155 23 .byte 0x23 + 268 0156 0E .uleb128 0xe + 269 0157 06 .uleb128 0x6 + 270 0158 A4010000 .4byte .LASF24 + 271 015c 04 .byte 0x4 + 272 015d 22 .byte 0x22 + 273 015e 3A000000 .4byte 0x3a + 274 0162 02 .byte 0x2 + 275 0163 23 .byte 0x23 + 276 0164 10 .uleb128 0x10 + 277 0165 06 .uleb128 0x6 + 278 0166 BC010000 .4byte .LASF25 + 279 016a 04 .byte 0x4 + 280 016b 23 .byte 0x23 + 281 016c 3A000000 .4byte 0x3a + 282 0170 02 .byte 0x2 + 283 0171 23 .byte 0x23 + 284 0172 12 .uleb128 0x12 + 285 0173 06 .uleb128 0x6 + 286 0174 63000000 .4byte .LASF26 + 287 0178 04 .byte 0x4 + 288 0179 24 .byte 0x24 + 289 017a AB010000 .4byte 0x1ab + 290 017e 02 .byte 0x2 + 291 017f 23 .byte 0x23 + 292 0180 14 .uleb128 0x14 + 293 0181 0B .uleb128 0xb + 294 0182 696400 .string "id" + 295 0185 04 .byte 0x4 + 296 0186 25 .byte 0x25 + 297 0187 3A000000 .4byte 0x3a + 298 018b 02 .byte 0x2 + 299 018c 23 .byte 0x23 + 300 018d 18 .uleb128 0x18 + 301 018e 06 .uleb128 0x6 + 302 018f 00000000 .4byte .LASF27 + 303 0193 04 .byte 0x4 + 304 0194 26 .byte 0x26 + 305 0195 3A000000 .4byte 0x3a + 306 0199 02 .byte 0x2 + 307 019a 23 .byte 0x23 + 308 019b 1A .uleb128 0x1a + BFIN GAS /tmp/ccQKVwPF.s page 7 + + + 309 019c 06 .uleb128 0x6 + 310 019d 12010000 .4byte .LASF28 + 311 01a1 04 .byte 0x4 + 312 01a2 27 .byte 0x27 + 313 01a3 5E000000 .4byte 0x5e + 314 01a7 02 .byte 0x2 + 315 01a8 23 .byte 0x23 + 316 01a9 1C .uleb128 0x1c + 317 01aa 00 .byte 0x0 + 318 01ab 0C .uleb128 0xc + 319 01ac 04 .byte 0x4 + 320 01ad 03 .uleb128 0x3 + 321 01ae 7E010000 .4byte .LASF29 + 322 01b2 04 .byte 0x4 + 323 01b3 28 .byte 0x28 + 324 01b4 09010000 .4byte 0x109 + 325 01b8 05 .uleb128 0x5 + 326 01b9 0008 .2byte 0x800 + 327 01bb 04 .byte 0x4 + 328 01bc 36 .byte 0x36 + 329 01bd FB010000 .4byte 0x1fb + 330 01c1 06 .uleb128 0x6 + 331 01c2 23000000 .4byte .LASF30 + 332 01c6 04 .byte 0x4 + 333 01c7 37 .byte 0x37 + 334 01c8 AD010000 .4byte 0x1ad + 335 01cc 02 .byte 0x2 + 336 01cd 23 .byte 0x23 + 337 01ce 00 .uleb128 0x0 + 338 01cf 0B .uleb128 0xb + 339 01d0 696E00 .string "in" + 340 01d3 04 .byte 0x4 + 341 01d4 38 .byte 0x38 + 342 01d5 FB010000 .4byte 0x1fb + 343 01d9 02 .byte 0x2 + 344 01da 23 .byte 0x23 + 345 01db 20 .uleb128 0x20 + 346 01dc 06 .uleb128 0x6 + 347 01dd 57000000 .4byte .LASF31 + 348 01e1 04 .byte 0x4 + 349 01e2 39 .byte 0x39 + 350 01e3 AD010000 .4byte 0x1ad + 351 01e7 03 .byte 0x3 + 352 01e8 23 .byte 0x23 + 353 01e9 8008 .uleb128 0x400 + 354 01eb 0B .uleb128 0xb + 355 01ec 6F757400 .string "out" + 356 01f0 04 .byte 0x4 + 357 01f1 3A .byte 0x3a + 358 01f2 FB010000 .4byte 0x1fb + 359 01f6 03 .byte 0x3 + 360 01f7 23 .byte 0x23 + 361 01f8 A008 .uleb128 0x420 + 362 01fa 00 .byte 0x0 + 363 01fb 07 .uleb128 0x7 + 364 01fc AD010000 .4byte 0x1ad + 365 0200 0B020000 .4byte 0x20b + BFIN GAS /tmp/ccQKVwPF.s page 8 + + + 366 0204 0D .uleb128 0xd + 367 0205 FB000000 .4byte 0xfb + 368 0209 1E .byte 0x1e + 369 020a 00 .byte 0x0 + 370 020b 03 .uleb128 0x3 + 371 020c DC000000 .4byte .LASF32 + 372 0210 04 .byte 0x4 + 373 0211 3B .byte 0x3b + 374 0212 B8010000 .4byte 0x1b8 + 375 0216 05 .uleb128 0x5 + 376 0217 1018 .2byte 0x1810 + 377 0219 04 .byte 0x4 + 378 021a 42 .byte 0x42 + 379 021b 3D020000 .4byte 0x23d + 380 021f 06 .uleb128 0x6 + 381 0220 2F010000 .4byte .LASF33 + 382 0224 04 .byte 0x4 + 383 0225 43 .byte 0x43 + 384 0226 0B020000 .4byte 0x20b + 385 022a 02 .byte 0x2 + 386 022b 23 .byte 0x23 + 387 022c 00 .uleb128 0x0 + 388 022d 0B .uleb128 0xb + 389 022e 636D6400 .string "cmd" + 390 0232 04 .byte 0x4 + 391 0233 44 .byte 0x44 + 392 0234 FE000000 .4byte 0xfe + 393 0238 03 .byte 0x3 + 394 0239 23 .byte 0x23 + 395 023a 8010 .uleb128 0x800 + 396 023c 00 .byte 0x0 + 397 023d 03 .uleb128 0x3 + 398 023e A9010000 .4byte .LASF34 + 399 0242 04 .byte 0x4 + 400 0243 45 .byte 0x45 + 401 0244 16020000 .4byte 0x216 + 402 0248 0E .uleb128 0xe + 403 0249 01 .byte 0x1 + 404 024a 29000000 .4byte .LASF38 + 405 024e 01 .byte 0x1 + 406 024f 11 .byte 0x11 + 407 0250 01 .byte 0x1 + 408 0251 7E000000 .4byte 0x7e + 409 0255 00000000 .4byte .LFB2 + 410 0259 12000000 .4byte .LFE2 + 411 025d 00000000 .4byte .LLST0 + 412 0261 0F .uleb128 0xf + 413 0262 2E000000 .4byte .LASF39 + 414 0266 01 .byte 0x1 + 415 0267 0E .byte 0xe + 416 0268 73020000 .4byte 0x273 + 417 026c 01 .byte 0x1 + 418 026d 05 .byte 0x5 + 419 026e 03 .byte 0x3 + 420 026f 00000000 .4byte _g_state + 421 0273 10 .uleb128 0x10 + 422 0274 3D020000 .4byte 0x23d + BFIN GAS /tmp/ccQKVwPF.s page 9 + + + 423 0278 00 .byte 0x0 + 424 .section .debug_abbrev + 425 0000 01 .uleb128 0x1 + 426 0001 11 .uleb128 0x11 + 427 0002 01 .byte 0x1 + 428 0003 25 .uleb128 0x25 + 429 0004 0E .uleb128 0xe + 430 0005 13 .uleb128 0x13 + 431 0006 0B .uleb128 0xb + 432 0007 03 .uleb128 0x3 + 433 0008 0E .uleb128 0xe + 434 0009 1B .uleb128 0x1b + 435 000a 0E .uleb128 0xe + 436 000b 11 .uleb128 0x11 + 437 000c 01 .uleb128 0x1 + 438 000d 12 .uleb128 0x12 + 439 000e 01 .uleb128 0x1 + 440 000f 10 .uleb128 0x10 + 441 0010 06 .uleb128 0x6 + 442 0011 00 .byte 0x0 + 443 0012 00 .byte 0x0 + 444 0013 02 .uleb128 0x2 + 445 0014 24 .uleb128 0x24 + 446 0015 00 .byte 0x0 + 447 0016 0B .uleb128 0xb + 448 0017 0B .uleb128 0xb + 449 0018 3E .uleb128 0x3e + 450 0019 0B .uleb128 0xb + 451 001a 03 .uleb128 0x3 + 452 001b 0E .uleb128 0xe + 453 001c 00 .byte 0x0 + 454 001d 00 .byte 0x0 + 455 001e 03 .uleb128 0x3 + 456 001f 16 .uleb128 0x16 + 457 0020 00 .byte 0x0 + 458 0021 03 .uleb128 0x3 + 459 0022 0E .uleb128 0xe + 460 0023 3A .uleb128 0x3a + 461 0024 0B .uleb128 0xb + 462 0025 3B .uleb128 0x3b + 463 0026 0B .uleb128 0xb + 464 0027 49 .uleb128 0x49 + 465 0028 13 .uleb128 0x13 + 466 0029 00 .byte 0x0 + 467 002a 00 .byte 0x0 + 468 002b 04 .uleb128 0x4 + 469 002c 24 .uleb128 0x24 + 470 002d 00 .byte 0x0 + 471 002e 0B .uleb128 0xb + 472 002f 0B .uleb128 0xb + 473 0030 3E .uleb128 0x3e + 474 0031 0B .uleb128 0xb + 475 0032 03 .uleb128 0x3 + 476 0033 08 .uleb128 0x8 + 477 0034 00 .byte 0x0 + 478 0035 00 .byte 0x0 + 479 0036 05 .uleb128 0x5 + BFIN GAS /tmp/ccQKVwPF.s page 10 + + + 480 0037 13 .uleb128 0x13 + 481 0038 01 .byte 0x1 + 482 0039 0B .uleb128 0xb + 483 003a 05 .uleb128 0x5 + 484 003b 3A .uleb128 0x3a + 485 003c 0B .uleb128 0xb + 486 003d 3B .uleb128 0x3b + 487 003e 0B .uleb128 0xb + 488 003f 01 .uleb128 0x1 + 489 0040 13 .uleb128 0x13 + 490 0041 00 .byte 0x0 + 491 0042 00 .byte 0x0 + 492 0043 06 .uleb128 0x6 + 493 0044 0D .uleb128 0xd + 494 0045 00 .byte 0x0 + 495 0046 03 .uleb128 0x3 + 496 0047 0E .uleb128 0xe + 497 0048 3A .uleb128 0x3a + 498 0049 0B .uleb128 0xb + 499 004a 3B .uleb128 0x3b + 500 004b 0B .uleb128 0xb + 501 004c 49 .uleb128 0x49 + 502 004d 13 .uleb128 0x13 + 503 004e 38 .uleb128 0x38 + 504 004f 0A .uleb128 0xa + 505 0050 00 .byte 0x0 + 506 0051 00 .byte 0x0 + 507 0052 07 .uleb128 0x7 + 508 0053 01 .uleb128 0x1 + 509 0054 01 .byte 0x1 + 510 0055 49 .uleb128 0x49 + 511 0056 13 .uleb128 0x13 + 512 0057 01 .uleb128 0x1 + 513 0058 13 .uleb128 0x13 + 514 0059 00 .byte 0x0 + 515 005a 00 .byte 0x0 + 516 005b 08 .uleb128 0x8 + 517 005c 21 .uleb128 0x21 + 518 005d 00 .byte 0x0 + 519 005e 49 .uleb128 0x49 + 520 005f 13 .uleb128 0x13 + 521 0060 2F .uleb128 0x2f + 522 0061 05 .uleb128 0x5 + 523 0062 00 .byte 0x0 + 524 0063 00 .byte 0x0 + 525 0064 09 .uleb128 0x9 + 526 0065 24 .uleb128 0x24 + 527 0066 00 .byte 0x0 + 528 0067 0B .uleb128 0xb + 529 0068 0B .uleb128 0xb + 530 0069 3E .uleb128 0x3e + 531 006a 0B .uleb128 0xb + 532 006b 00 .byte 0x0 + 533 006c 00 .byte 0x0 + 534 006d 0A .uleb128 0xa + 535 006e 13 .uleb128 0x13 + 536 006f 01 .byte 0x1 + BFIN GAS /tmp/ccQKVwPF.s page 11 + + + 537 0070 0B .uleb128 0xb + 538 0071 0B .uleb128 0xb + 539 0072 3A .uleb128 0x3a + 540 0073 0B .uleb128 0xb + 541 0074 3B .uleb128 0x3b + 542 0075 0B .uleb128 0xb + 543 0076 01 .uleb128 0x1 + 544 0077 13 .uleb128 0x13 + 545 0078 00 .byte 0x0 + 546 0079 00 .byte 0x0 + 547 007a 0B .uleb128 0xb + 548 007b 0D .uleb128 0xd + 549 007c 00 .byte 0x0 + 550 007d 03 .uleb128 0x3 + 551 007e 08 .uleb128 0x8 + 552 007f 3A .uleb128 0x3a + 553 0080 0B .uleb128 0xb + 554 0081 3B .uleb128 0x3b + 555 0082 0B .uleb128 0xb + 556 0083 49 .uleb128 0x49 + 557 0084 13 .uleb128 0x13 + 558 0085 38 .uleb128 0x38 + 559 0086 0A .uleb128 0xa + 560 0087 00 .byte 0x0 + 561 0088 00 .byte 0x0 + 562 0089 0C .uleb128 0xc + 563 008a 0F .uleb128 0xf + 564 008b 00 .byte 0x0 + 565 008c 0B .uleb128 0xb + 566 008d 0B .uleb128 0xb + 567 008e 00 .byte 0x0 + 568 008f 00 .byte 0x0 + 569 0090 0D .uleb128 0xd + 570 0091 21 .uleb128 0x21 + 571 0092 00 .byte 0x0 + 572 0093 49 .uleb128 0x49 + 573 0094 13 .uleb128 0x13 + 574 0095 2F .uleb128 0x2f + 575 0096 0B .uleb128 0xb + 576 0097 00 .byte 0x0 + 577 0098 00 .byte 0x0 + 578 0099 0E .uleb128 0xe + 579 009a 2E .uleb128 0x2e + 580 009b 00 .byte 0x0 + 581 009c 3F .uleb128 0x3f + 582 009d 0C .uleb128 0xc + 583 009e 03 .uleb128 0x3 + 584 009f 0E .uleb128 0xe + 585 00a0 3A .uleb128 0x3a + 586 00a1 0B .uleb128 0xb + 587 00a2 3B .uleb128 0x3b + 588 00a3 0B .uleb128 0xb + 589 00a4 27 .uleb128 0x27 + 590 00a5 0C .uleb128 0xc + 591 00a6 49 .uleb128 0x49 + 592 00a7 13 .uleb128 0x13 + 593 00a8 11 .uleb128 0x11 + BFIN GAS /tmp/ccQKVwPF.s page 12 + + + 594 00a9 01 .uleb128 0x1 + 595 00aa 12 .uleb128 0x12 + 596 00ab 01 .uleb128 0x1 + 597 00ac 40 .uleb128 0x40 + 598 00ad 06 .uleb128 0x6 + 599 00ae 00 .byte 0x0 + 600 00af 00 .byte 0x0 + 601 00b0 0F .uleb128 0xf + 602 00b1 34 .uleb128 0x34 + 603 00b2 00 .byte 0x0 + 604 00b3 03 .uleb128 0x3 + 605 00b4 0E .uleb128 0xe + 606 00b5 3A .uleb128 0x3a + 607 00b6 0B .uleb128 0xb + 608 00b7 3B .uleb128 0x3b + 609 00b8 0B .uleb128 0xb + 610 00b9 49 .uleb128 0x49 + 611 00ba 13 .uleb128 0x13 + 612 00bb 3F .uleb128 0x3f + 613 00bc 0C .uleb128 0xc + 614 00bd 02 .uleb128 0x2 + 615 00be 0A .uleb128 0xa + 616 00bf 00 .byte 0x0 + 617 00c0 00 .byte 0x0 + 618 00c1 10 .uleb128 0x10 + 619 00c2 35 .uleb128 0x35 + 620 00c3 00 .byte 0x0 + 621 00c4 49 .uleb128 0x49 + 622 00c5 13 .uleb128 0x13 + 623 00c6 00 .byte 0x0 + 624 00c7 00 .byte 0x0 + 625 00c8 00 .byte 0x0 + 626 .section .debug_pubnames,"",@progbits + 627 0000 23000000 .4byte 0x23 + 628 0004 0200 .2byte 0x2 + 629 0006 00000000 .4byte .Ldebug_info0 + 630 000a 79020000 .4byte 0x279 + 631 000e 48020000 .4byte 0x248 + 632 0012 6D61696E .string "main" + 632 00 + 633 0017 61020000 .4byte 0x261 + 634 001b 675F7374 .string "g_state" + 634 61746500 + 635 0023 00000000 .4byte 0x0 + 636 .section .debug_aranges,"",@progbits + 637 0000 1C000000 .4byte 0x1c + 638 0004 0200 .2byte 0x2 + 639 0006 00000000 .4byte .Ldebug_info0 + 640 000a 04 .byte 0x4 + 641 000b 00 .byte 0x0 + 642 000c 0000 .2byte 0x0 + 643 000e 0000 .2byte 0x0 + 644 0010 00000000 .4byte .Ltext0 + 645 0014 12000000 .4byte .Letext0-.Ltext0 + 646 0018 00000000 .4byte 0x0 + 647 001c 00000000 .4byte 0x0 + 648 .section .debug_str,"MS",@progbits,1 + BFIN GAS /tmp/ccQKVwPF.s page 13 + + + 649 .LASF27: + 650 0000 76616C69 .string "valid" + 650 6400 + 651 .LASF15: + 652 0006 72657375 .string "result" + 652 6C7400 + 653 .LASF35: + 654 000d 474E5520 .string "GNU C 4.3.5" + 654 4320342E + 654 332E3500 + 655 .LASF2: + 656 0019 73686F72 .string "short int" + 656 7420696E + 656 7400 + 657 .LASF30: + 658 0023 696E5F6C .string "in_lb" + 658 6200 + 659 .LASF38: + 660 0029 6D61696E .string "main" + 660 00 + 661 .LASF39: + 662 002e 675F7374 .string "g_state" + 662 61746500 + 663 .LASF20: + 664 0036 66756C6C .string "full_size" + 664 5F73697A + 664 6500 + 665 .LASF9: + 666 0040 6C6F6E67 .string "long long int" + 666 206C6F6E + 666 6720696E + 666 7400 + 667 .LASF6: + 668 004e 6C6F6E67 .string "long int" + 668 20696E74 + 668 00 + 669 .LASF31: + 670 0057 6F75745F .string "out_lb" + 670 6C6200 + 671 .LASF21: + 672 005e 61646472 .string "addr" + 672 00 + 673 .LASF26: + 674 0063 6E657874 .string "next_descr" + 674 5F646573 + 674 637200 + 675 .LASF18: + 676 006e 745F6C35 .string "t_l502_bf_cmd" + 676 30325F62 + 676 665F636D + 676 6400 + 677 .LASF16: + 678 007c 64617461 .string "data_size" + 678 5F73697A + 678 6500 + 679 .LASF1: + 680 0086 756E7369 .string "unsigned char" + BFIN GAS /tmp/ccQKVwPF.s page 14 + + + 680 676E6564 + 680 20636861 + 680 7200 + 681 .LASF0: + 682 0094 7369676E .string "signed char" + 682 65642063 + 682 68617200 + 683 .LASF19: + 684 00a0 666C6167 .string "flags" + 684 7300 + 685 .LASF10: + 686 00a6 6C6F6E67 .string "long long unsigned int" + 686 206C6F6E + 686 6720756E + 686 7369676E + 686 65642069 + 687 .LASF7: + 688 00bd 75696E74 .string "uint32_t" + 688 33325F74 + 688 00 + 689 .LASF11: + 690 00c6 756E7369 .string "unsigned int" + 690 676E6564 + 690 20696E74 + 690 00 + 691 .LASF4: + 692 00d3 75696E74 .string "uint16_t" + 692 31365F74 + 692 00 + 693 .LASF32: + 694 00dc 745F6864 .string "t_hdma_descr_arr" + 694 6D615F64 + 694 65736372 + 694 5F617272 + 694 00 + 695 .LASF12: + 696 00ed 636F6465 .string "code" + 696 00 + 697 .LASF14: + 698 00f2 70617261 .string "param" + 698 6D00 + 699 .LASF3: + 700 00f8 73686F72 .string "short unsigned int" + 700 7420756E + 700 7369676E + 700 65642069 + 700 6E7400 + 701 .LASF13: + 702 010b 73746174 .string "status" + 702 757300 + 703 .LASF28: + 704 0112 75646174 .string "udata" + 704 6100 + 705 .LASF22: + 706 0118 78636E74 .string "xcnt" + 706 00 + 707 .LASF5: + BFIN GAS /tmp/ccQKVwPF.s page 15 + + + 708 011d 696E7433 .string "int32_t" + 708 325F7400 + 709 .LASF23: + 710 0125 786D6F64 .string "xmod" + 710 00 + 711 .LASF17: + 712 012a 64617461 .string "data" + 712 00 + 713 .LASF33: + 714 012f 68646D61 .string "hdma" + 714 00 + 715 .LASF37: + 716 0134 2F686F6D .string "/home/feda/MIPT/RadioPhotonic_Subserface_radar/ADC_computing/BFfirmware_0" + 716 652F6665 + 716 64612F4D + 716 4950542F + 716 52616469 + 717 .LASF29: + 718 017e 745F6864 .string "t_hdma_stream_descr" + 718 6D615F73 + 718 74726561 + 718 6D5F6465 + 718 73637200 + 719 .LASF8: + 720 0192 6C6F6E67 .string "long unsigned int" + 720 20756E73 + 720 69676E65 + 720 6420696E + 720 7400 + 721 .LASF24: + 722 01a4 79636E74 .string "ycnt" + 722 00 + 723 .LASF34: + 724 01a9 745F6C35 .string "t_l502_board_state" + 724 30325F62 + 724 6F617264 + 724 5F737461 + 724 746500 + 725 .LASF25: + 726 01bc 796D6F64 .string "ymod" + 726 00 + 727 .LASF36: + 728 01c1 7372632F .string "src/main.c" + 728 6D61696E + 728 2E6300 + 729 .ident "GCC: (ADI-2014R1-RC2) 4.3.5" + BFIN GAS /tmp/ccQKVwPF.s page 16 + + +DEFINED SYMBOLS + *ABS*:0000000000000000 src/main.c + /tmp/ccQKVwPF.s:13 .text:0000000000000000 _main + /tmp/ccQKVwPF.s:34 board_state:0000000000000000 _g_state + +UNDEFINED SYMBOLS +_l502_init +_l502_cmd_check_req +_stream_proc diff --git a/build/release/objs/l502-bf_basiccrt.o b/build/release/objs/l502-bf_basiccrt.o new file mode 100644 index 0000000000000000000000000000000000000000..c9d78f817b848373a6c5d4e94dd7076e3574f63e GIT binary patch literal 1804 zcma)6TWb?h5T4W2B(3(A3JMBFL@j8uNzqg!XruN~6IxctKF` zK@@*L-~0_e`C=dZ34IY<{0n^$d|1CZdv==^K_|?a@0*#OIoCWNzdj*^pil(eqa8-{ zpd*N!Q)Y{aMfVpN)KK zkw-KJ70@E|<-Az(e}4CqULie&Z@RoEG|jP(Nw4!beL&ueT%G#=NZ7TXQQdx7Dmy%!ReGW7#!Xu}oW5rEL_iT{SDM#)CDt-dr}WOw{Uj zAO zDdV_yU{^w9TdOkTTI()ls?wE|DLW2jl(%Y?*OtxIdehqFs5fgZB&(n-mu>6euCTOa zbJ=pD-v0s8$l*s-En?=@xag z|CN_VPITzNTyGs3N*K$*5!U9|XUvc1!}H^V;u!NuX!s2v6+qrF&=SV3fVbD%M7=D0 zTrZ(xTyFsyegjBfK@Kv|62@xaA?DB)NSc8b-U}89ZST8{zK7xCzTG;;eep`8y#u6Q zsJF&I3#byd`maUtZz$dmXD`@(DEI1zc0t3l0HiH!+D!&p!g?Y9n~m*SA=hiK$h=c! zJc&LQYA<)rQ>b;lZHq?`Af~c+JTW!vcCMaeS8h3?1NIIsK69zME<7x(b# zJ)9Ow#rYE5El!ursqy)7GEJ*l#pt-wb^}|vuYGvmk)N^3Y*-D)LS{qOn|N2KAIAZ2 z`@Vk`IH57W%Q#;G$OULZ;{tG;4-+y5O=vs?+}(!(Qi8^DfV}UE(1gZlr~JJCw)QiA q4ejR5fn0>9^x@+wQc7P`zJn>gG!RY=bNKEveg~`a`LRISbN&EGB-?iY literal 0 HcmV?d00001 diff --git a/build/release/objs/l502_async.o b/build/release/objs/l502_async.o new file mode 100644 index 0000000000000000000000000000000000000000..01bcf8f0acf2393d07e2c2e58a0004ea7708c2ca GIT binary patch literal 3688 zcmb7HOKclO82)G1j-5J9lQfhfUPh%5p!K?GTA>2PO+wm`mZl-)b-=9c^`mv{;zt1q z(IO5U03p;12P7&uaHJp(l>mtos1iaT#DODlpcjxLgv3KAeBbPhy`dc7muLR(f6mVA zKeOXA_Z^;7N{J;UC!{ZlOe8|flx7pMMK;S{ak=cuXjTnfwe`}>k?%wfEN?_V@tU)& z9{Oy0Q#SqGn7j7FPix*eby?)&_=wPpKC7NcZbqQJG%Z8Pt-s$-UwW;5|IONJMEYV) z#1%EFwhwPkxx?2EkE$^>G9cpIEUDCfs9-lRDH02zNPLU9!~0TqrRFz_48&9_ML|JG zOu%y8Mv-Jj-8&RI-8#gyxdGY-Le5U$zt(UuvjdC z&}DeVFHn2?KJ@Wx36GWtv54XJn)yvdE#vRSp8@c@Ax`ScR$!^gbn>a{Mgd zmuMn?qB-(8dZqpx-iTfo9`m$YMe(Z5mB1?pCEq(Tzqsrz`K4NOvD)l38?|Eo!ET`) zw90-l$hZ8G-}0vGe(~g7t>JZ=&3duw*Bbd|x$G6nwZ_h%4ggao}1|=Khr2?irfzEP6=-=Q{}7Hwo*`TL)6O{*YDrGL6x%$ z-n@4{`=;lfOx``dW5GL;U6`MnT$p!an5+z8=4&7&>e+2W!*U&DOMDm8!^zp9O(U8$yc4X^`IP6$>U@wRXo>oNpf8-a%KduM@*w+k?aNykCCM{ zTqK*+@L_Io#={qVk64dNj*;E2;Zoo6nDxp5%xUZ6WGo0r&LqJ!<eGWcwJUx@v8%ngJ9Gscim!3EyK8D`*UqJx$=i&F zWZKWHbo>H%rxo(5MXjLjXF9>t9m$mZjxU))yA2o=x|O_ND71pplF>e)s@5ns*D30? zMzBs%Zuu+Fgzoibah>s0x6ptYBSdogEx%ErE{wsGNd_-yCBQ`gJEh^u4a&_(;$DfC zo-Ifo+ZNL=hQnbQd>oDOwDG*S#mM2QEAoc1foZZic0l5Gvwr8bwclC4T~IN?2ppEn3C(*_LN*((XANU?w8;_o7z9h~a z#xo!1XY-YTZ498)G4VqLhHMTWvc)uwBVU#r4IlMhzBX_)-v`L|Gjx`$?FA?-rtK{x z-))^Dw&#GOR*9$7D5HI>@&^%3U`C$BV8UWqrHq4dM27Yp8NjX=BF9NOeU% zR!*N>U7=B#Z@5pcUV*60Rqd0D(QYy#Kfq%cacAEwT(^7Ba%dB1v|ss=$lDK8W-_~X zuY}i^@GF@wpQ`xzR#3@5)v9%Zp3NNS%%3nXWef0t!5nJ?ji9|~)@L8E^?3w%qw(RM zv>0U~V`iCImt$BG-j6wRVqTM38^k;tt|2xB#5yFdf^%KQ%zqF)cld9Ej?cqb-lVxU z#23M54d$JC!C+pjdHbLbwv9Y$Fqk}HFxS0e@GAI|2J^ao+TaV|&l}A1`(=YKgL6L2 z{}nj*An_mI?-~3lIG@kX@gsvd?kB{iq`o$om+>w!|ApARBaT76zK!Eq znLh_z++eQZATjdu47u81?*Cg1{u20GH2Z8kQ^vSaK|Euueu~)W?=<=xxPI5{{()H* GHui5X9nRGN literal 0 HcmV?d00001 diff --git a/build/release/objs/l502_cmd.o b/build/release/objs/l502_cmd.o new file mode 100644 index 0000000000000000000000000000000000000000..f433eb121907cf3153692e76e7db24e03d84fbaa GIT binary patch literal 22164 zcmch9dwi9}x$b=HTUmSwAucXLRL}qcB899FQ7QF8t`G=enFK|&td+|OiH0QRf*>eq zL`92=73*bNc0jh}xT#yM^;o6U`crDHb<^sPL)}(Es6}gAYHhb|ft=@=dB2rmL4Wq_ zKhEH+_nCLzdFP$`CEvKNtg_s39OXMlU8e>^NS55uU4FobXvgd%O4u(C)3ucd4G;nDD zK+ZvTX|trgEf`kE(@ZWQl~<^9xld(|8k=+Q*m3eThdSe7Xk=PH-yftg=im0bnZZ#x z2ag~BD6*=hW#>ojMHxY)K5_hD#7}?Mvg-S)Ro>QtLk|z^i;zAr@C!}v8+bD^GV9HDO28~&a7y-F#N#4q4L)8C*gyGi?sQ4yr!=izWnl2dFpy}L!^_rFp z^lEzfz}m>ftb37LUflK0|4z%+C$@h4oyfKc*~aSTZ5>a4y6fVniwXt~oj=f|(@Ywu zPnJG!Yxw@5S&xgg&09A;+gr8i!;n((Xhg+7h^Qk$HE<|%z$>UgeW$~#xQ7~_2Xs}T z7x&P5AGCX@{bDbW?cC2cm}j+pxR4sI=X1sqm2g+H6r!l zh!k5aE6rVnh1ONY>YRB z7E;Q2U_)_l=GtsinhnlRioN?h?|K;*8~Q!3OR%@q^RD#yz#Tq+o9DIqeBfrE|Cr}B z`F!AIKL2o7dEPY$nfBS>c!x)TQ!DY|!=n&dlnjkVXnr!3jZj&(-?BLe)ro&J8-(N8 zi^7F-3bV(p>vXXH<2P?+Ss54#T$W0wop4}3k zML33i?!X7H{N0Ox90_C2&W?YGdOwVM{{Z!V0CoNz>ik{Q`8%ld{iySO5ofqFDQo0V zH|w0N;m!yrjMXiWtA-A}3@oMG(aO!5J@hL>D@H066uzfaTF@Cflza#LP#%QF4pVB# zNM~r8&-I2Slg`RO9XU?LNJ?jnR}~{8X-W+>>XgbvvZS(MNamRwnJnuJ*rL=KIuSsa zVHz|1OlL|a^^Hh_KBY$HtIIQuty3~tk~t{JsC;LTnWK$8Gc9SBQls;o86%A_RgFng zGe!oGE<4{jSruc?LQ1iWGH1^`DR|B}QMF{~)oBzTOJz!p8|o|$F?_Dbr&Z`I&LbaN z!a=T5lD70HOPtbqF=2+)x|%;ZOxQ!$Wr= zmz>Z+s2Crb13V%0GyF~rtwE`BLl1&KDbxhX$)TH(c1q|9WRe$p1h^n{4E!0PcE}fo z`tjQvVBU3$nfK4}qeAaMixc__YluxZgwBMye_s=N4!QkpO=u*@U)NCE>fO}#JFV@gF68(9jC$W<)RU-BC)CSY zRYSsI_vBfVee^%CYsO)uLq?K<{B-dhP5=R;3N~3 z?d?Y$2Pd1**^6Z<`t&WLJ+&R~U{tK4xQ!LJP9cStxpSiGLvE2*M{ zQfP@`4J%-5X&EG-Fs$54@PlPv#cx_LZSgM9&`;7(e<996PKYPoKw0sPyA-M<-Um&&h(v-2?w9S?{H@~en;>J z9Co5i&nfx{L2o9KImNVuW%?x(mTW}?nnI0qz6ZXu4t0nrjz4gtoJM5fEODHC2%pJW zz*)js;7ksBXNl%s01eI(YDIn|qfda72ha$A9()3c$7JGXJ_2LL05lU!0Jt4MWk;#_ zEr;?rP^j&oXP~2;#ev|w#iINtSZ60XJC*Y`^Zy+F9AXspNZR{4?cD*^#Fcfe%K0htbgsyywQ~sHNHtPruR*IiKXh`T z>n8XYk@)qbz8_NGJ7Agezr^ypkUCqd{}I)XM{p7|m<`Yj@BH}GO!CS9uCo?oFMK6@ z4)QgX{9R^pJy<4_XPL=n1hv*J0MElayH3?Qi5=llhZ>`RKLA~s)cPp3z6+Mo`Ymdm z3@NQO1dzkjPo1juJk+xDkVB1Y;S=ybNNRnES~+cMHP-^Hgm)f3Rn1#$r_Byk?10|} zA58a)yqRi#1eR8_LE@bUPNN29JDVJ;*bDzY{DP#KO;mFNEUo4#fY;%j`%YDZDOoui z9IE&nemKhbjij0lR8s(!RdEP?(D30s3HgQCGfvYs##Ap^}ZSfa5lVi z+o@`{Qq4w(D(1oWz~^8?Xu88js@V*dwk8jt7~Z-26g87Mww-B?LmeL@(YHajL(ddF zcBkpd=ojFfs|W9Nhg~29xe2eZL*?tSm5XrR3H&T!MXz@5MEca6#$%tZmN4O;I9L|w zgnJO?EVTvHX>goFNO-=^xPb+j+M=As7D!BOYQsdL;g?bstI;&~6Nt}5Z}|gg1pD(b z&w!bQvQ7H|z!HGzdjNEG>_BJ_i+#f>y7HapXv!*wy0|^&!f`kBLZs*2~|~T&PhqxX7fx0@*)+r!{7($Y0P@PN~YI#tqc?J|YV*1vfZv1h|efgCnny z<9tY7uHoDXO@-+w$B?Onj#KzkBn{2x!iB)UBSGjAF6G#%{1OQRSZx^id)6@g>I-{@ zyE+?Gq`7@XBGQy-tcxtHh}K4`>l$0yqs{Hz?QJa$v6`Oxu0&^3T|*+)S=U(C87Xe9 zYq-9=r7hCk-i{T!uB9#3-qaMSZ)$0qo@fO?RDOP>wWU6?yrE%`KQsS={0kYA{4bfL zrLCd0r!k>a>xBh{F?6Q<1_kT7x*Ku+$Zv-6CZ@iLk+H@^Qx~|9(DKV$+w1FEEk;Uw zM_pOhkpcW0t*g-L))hjz^FCzLa?V!^F{a(}jj z@jCaXPM^DT-4^$C)#QGEU6cD`wMEnE`_`>vZ$tG))e zZC~>)ciXy8k@NcyS=DsCTmM4y5Bj|t_r-Pd!F>zdj;6={?B4W(+cST;JEsZEOZwcK znwGnz#IuMOxbrAHv(H@#93`G+__f4&eXR@JN}_^3cZ<_>hx-$#eg9^19u4%l|9f5E z{sr!<;2pR*f4{pWFyH;)=KP8U3o3Q=?sa`$u9v&po3pJVvhbbqT|K{1|JJ#g`EK|8g@)y31@hPwyBplr`Ccwk zz3n)+Ugu_RDR76s;I_|ioQvvqubaOxFpa%isa^Pa9`ygG$4OUlu=c{Qg71KDhL6La z4S)Cx?0FaQZ^ORJ1J50>{k_?+dtf8U@OI z+L@r-|9McD4xa%(6h0Gv7`%da-~;e3JkLaF@R%{x0Gy+owG%V5v_7!3n~dLinP+(S z1|D<93NH`z68Pe*;N4C%^Nh@U-N#raKfV!|?OvSaA!+#D;A8IHfjgX}UfOsWWJ*OZ z?WbcIt^_Sl;j@gjr{S{>dQZdW7H!&T_}p`yj?X$~nNscHuIO}pZgWn@&p}<HqBbsD3d_dh2 zBxQ?0lnt#NMa$tG6=lWhJ&xjCn0AaM+fi4LFfky0wPP$r9aTLTi)(%3DBJ`OBS_ld zVT4D@W`_~%z1mT9B|MBE*`ncB`#~t_sILNPcME}Kwue2 z+`#uh4j2eA?Wn0A9>w8gXp&!X6woA37Lu{d02(Jlg}#g!tRUKVL~C9~!t<8h5RCpr zM<=V4U3)4#+XjRuDmw+E3v_gpgy$efEo}qoHV~$0$HP>WW<^(lP!CMBW0?r5*RBMm z2%>#SvVBpGsXiUOjD$nUHi*&db##9Mt`8Aqa-IZTpEB>20SW*XS7QUoC7k?Kwd*p6$E^XIIS`r^5$`Fl!5sm z1qNOQLKP604?-1|oz!-vW-TM(oMGF^=p{NjN^-4+$-F7ur&-HLII-A?8O^OKvLo4` zVKOnLcWTx$lD+VDVn#ouqm%7Tk+(H#842elI|ZZn>*!<(iX79dWh9)j>=cYv;92!S zkzCDMM#8zwPNC;K9i7aBBJ(wC8A%kL^AIUdV@RExhbYQb6Zw(EHT>!=AX^ONvd=`; zY;Y}D*Xh{k5yY6-Wae#%VR}c^d=q51f$xGGF!1*v+z>$EZy+ZO%z`F;Mo~2v0dl2> zKr;vze89CJT=xMtfpGZ;+z!HB0O0c=T<8Jc05R)*%>lr}hU@oF7SvdH#Y2FPXala8 z03nlWat`9M@TpF_jD)L!UGt3oi;j+xycc5LOGu6yNb)xWNivZh0wh!g=v&0=y1iO3 zdI01D1CN26Fp%fLuuc;l0W!+K(ID9do((eAz;i)z44eRxYv5#%JOlY>mT3m&gA^FZ zKg}4kl1<6rB|3H)36HLJ`KuAGg-74H4y4t;qYE;O!tA47>|uqk;E;Y%=g0 zAe#;RCdfkuJ_7Qnfm=ZO4crE@-N45|XqPo!VyIP2UT{~SoAZv-KeWZV65X-R#0_dD zYBkAhY;Q{_UJ@iZUEOt^-TK6zWHmG=8m`xAshIl;lLh*YI9lPm9ROS;e-F=f&0p$L z<3IZc@xMo!5y)T^{8*EbPRgFU5}qBJ!|qAoJ@D+pJK=p-jn?80WfeT_s)z4}_uUu8 zSMrowSu!uSa8YSlY-w5bBBfcy<*{f{bcsRc%>yRgtiuqpZ3*wz#ThaWq!4uvFDGHpH5608Zf8+*-FfC8wg&l32;2vU1hb zTDQC_C9<@lDpp=yb_H_2(rP|w<({^#mgQ}U#vJ~Q&>YM=Iuot!b&U$Q3K73;ag^7E zV@}mYRddT?Gg29asf-H^BUweI73JlIrAu74#FRL;u&4$|GH378M}4)T9d`*G&8uS# z&8nxduDi~pm8z*(TvAe2Q=@ud_XUNq?vo-bs;(@mtSDv8nYO4oDZ0F(x~3KtR$7J% zYp?58%h~CZB1~1JO{~2-S{5r^w751Ir`x)sw6aWfCc1iByH#s@+wvU!b5c!q$C?{g z)S>lHgo(k|0rrA0EPb(Kl4XReE`M2#=5vU(ne?*HTUAG=#a`-+a9?v}RYk>c{E zmd+J7)^#Rg1qy#0X=zLv!yIdBi)t6wU?5as!05ZX?)p}Lyy{yxl%~A{9CYov#>P%w zB}z38P8bD+YOt$W>-DNw%q*n%cphoZ6!bW7QQkWrID(tW%AN zm1b_#{Y*DQa!SDm_V%(%#!V05=J7GM%+(p^oV6){b9HMe(m z>zPz{cs<1Ie$d5M$Ew*KYpiRCHPm;a4H8WXcdzIJdJ-|SuwRYWOC>K)PKs@bRY=TP zC0QlqWoVu1vKXc*zop76i{{oy+J^SFrk3TWNS8wW+7AfujI6 z>Jn&ZrV5lV#%bx)xsH9ASFwWwhf@LvRt(ed;xd%aOwq|1Qjcvt7oIwrORg@#qFIdT zZ+j zi{>VmAk(E2ZF_G1fhtfE5f8Dem#Cg*NH18d;u^#W-V-5hOQ7zTR9)wLiCg+EW| zmhEPZC#NgZsgiYPdI)=Paxv*_l(y!!&Cg#(3b!2Wu}MDLM#c|jk*bQSxhCqQNm&n} zlQm&kK|?ksRwXrACDhf&<=9VSkv*#Z0WbJckN*PUf!w$ppq+tjr5znBQtD z7F8+y*J{B}^`PCI zhBo^M+nl=mZVV`uueTTZ^<7p+d z(b~)VaitLOF=cD;w>2JIeCNkq4u+kNSAz0Fj^$t-FpkLNNTClxORE zYLQ7#eJr1^uL+p?d==}@Rw~C2h#ZKjvoOQEpl_zsGY(fteO+FRb?PEE8`+9+`J;8EXjiKD(};r%p#svG)VA`s`ty^Jt%f$(Qe z!O5C`s1V0E`kx8)<#qw+FJDsRXoKIE8TCuZ?GqUiKVMR-+0{cADt&v!vgE+CjA3}1 zV(WYU%Szo~F?@XxJIUGnp!(y09qA^mFkJVf9GIV7!wjS2S3+BZVct7m2FmojhTyF-np=lELH)m@F#a}# zdFR?I@!tfEqMoKncqb^YEB)|~5atbJp2Y73<^7@`K7=rD5B>1x2)}oTuOLPO8A46@aHMvv#h~E zd-7Alb5p`srG)vNmG79oHzj;;O88$=!cU}xUq}i6BqeOG3C!=eDe-?x38$fN`Hu48 zlraB1;5)`oN0>LH^H5K0ze`i%s}SY|Bmcg}`1+Li)H|A(*{yOPC~)vT1&qOSg%!{{ zXOT|X<_g!|Xr{7oks++XL%uNlJ*}L5Pv*+*TA2Qo)5$XWPOe7;iL$A^J+9Ecl3ih_ZvG~aMfX_OFed-5~mN9HkVg}I27RP9_xP47DygaZKkQB?DGg@s_XgWrRP=P=0FIu~(b?XRz}|mQ zVDKh;kk_5)(mQVs`605Da!(QxJc9i3_<_UrPlW_?ZSwgA7Qa;ZVGrY9_{97pb;d;e zz%|1U$< zz2M`~lXhHlsFUmZEO_c9=GVX(=Np-FV9Ic7WH9Hp3|11{ zT4H`X54WB;-{7Z+BL+WD%!-8L>kZ%Lmw|noKc);17jU%IudB}}Gv4q|2%mM%cQWJ? zUjppQ&k;UT%o9FkqLzFoa7Llg*)K8-Z5J8h*C``)b&U7|a#3HH&;7hIfqmO%184BC z23Kz3rNr1%(k%n_({f$#)80;*i;T=&mdrht%#)P4*vLF%$vkJt?4!&qBf~d1eqQfc zGW>csgPS}!ey`)pa7_62Oa{)FZDgieGWnLwGK*ht@q5Wfzj_JD*OM>!QA@txl7B+@ zY@?@yPrM7*A5(iNlWXjGn=*nwApa|d{~`H;KLgI-28#}B^$?tm>4Lx^!TA=y(Bdz( z_{%JQo5k<6_-wSLexi{EMSZvyshhWYvr?6i|}`v{zq`FM}#KjMR+{C* z%)d-01Va}3=knDgBIg7<*-3+7|M#|2-Be4iA|XMxWNeh+$n zESRqXd3L7#DQ`pCb4e=n%8`5l7!N|9$T%JZq>1A_Tp z@lnBiw763+A1pp2_$cb1Ya-L~@#2pKb6oyRa4+z$1Rp^ee=C?T7yl|a3Oz#*M?HM6 zbf#dwS)3^Nambeo=F`Nh1#d=qmkZ{L#2&$Xk9ezKzDB%Ha2)hs1@k51cLeht;){a$ z3X$Jn(VqRN!^48Pclfj5a@1Qo@}msj8RiP+!@?TD;~=|Sa3%P+`55#e!F&|BMKGTR zZWqiClb;ZL6lHu$@GQu4tz^D@GWe=sz8B=!CZDece=ZnF)d9h!z#j_c7ki%w<|9JB zTw&Tfpp*9$#C%Z5b(Wa(2fvXe=9@yUr^I|h7!k~ugvElt13mnri86B_&vllV&j(ut z^YP%<1@oog7QuWXxKnT(_yxi9p>v;Lw)?LI^DW>I#8E#VZ;TeqCx4R!^SvMMJ1MgQ zX-fq2rC+sRKJ%*+%r|}=g89I2lVCpP`<7t7<=ZBh-w6FoFyHKP?q*(mvG-fS-$TBi z5~Ho?{vvoX@ZX5Jd8b1frfr0NmW`O>B3m%W!bHJ*$@gVq=*&aXO9eLq7ZF3}dB9bI z=L26QxEVMu_;%nXV&oM?UMq;9lX`9t%=BA*NXUj?%d@JlP&#y-GjE3|=g9zU`opU?Zo5yNKMIbQGt zgeMV0o^SqU3Elx*MGSl9AYabo)Wc_eD~OSf_k%YG=9i>B#L&aHej5b81N@+1zVLfo zFrWAR2Qlbu`0omC2L35A^5PxTFNDv#$9;l%@AwWe^5UnizZ1+mD6Svm^PyiFY^8pF zW123QZ~n#;L;oc7lRV*5=QP2*$1EU*9zF^x5&SMNzZxTdGGwk1`4DhSa1QW|#L&+d zfBc?|Hc%%&C?n>*=K$6=JY7Wi?&D}i?tLnojAy()a_`H5iOt^SM{ zI=2BI5X{GbABoHc;NJo@`2zK!JP9rH&LGR?o7e2 z16LBmPVUERgik$J3Fh2+4KZ}`wIKH `Nip+k00sfv~o>z8@i~@dH@Y%rc5JTry=sYNV>iM-`-Zg(j44r&OcuX)K5T;@O%d+PI zrwiu1KAspl`F`+x;Zx6a!TjcJ1~GJg8~ifCd`q}ka0oI>iJ|8e;SrJN{pKfvd6#)q5dAY4+M{i zJkM4k95AS#PXx0Ca~_x~nDgt!g83@2RPeu}Pv#&@n|(*j_fyQ0_<2y6k;F)v#9<4M zvT(MA@#n^*e2#^4Eu3fJX%^)g+H_K=N3L@VTF2RUi@4>D42G77S6PA z*utYMoNeK;7WT&)b#g!Cmn+Z0(=1$I;h7emW#LOKJV)>e=r0w_xn-U&16(P%6*wxm z7r0h1KlEQBm|yx|E0{L3&-petTA2OP=krYEWAZFtn;_Y0qU z&Sx#YKTf$%Y|E`~8q@ qbgjkr`xV=9t;P5I1J`}s?vn3AltG!eUSmmBBlrVn<1oU0Tl`-=V8t*1 literal 0 HcmV?d00001 diff --git a/build/release/objs/l502_fpga.o b/build/release/objs/l502_fpga.o new file mode 100644 index 0000000000000000000000000000000000000000..646b28ea2aee9232cadf077b9a19bb36b0b72ea3 GIT binary patch literal 6876 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 X>s`G1U4!SmseMMj47o9PL=*Erds0n* literal 0 HcmV?d00001 diff --git a/build/release/objs/l502_hdma.o b/build/release/objs/l502_hdma.o new file mode 100644 index 0000000000000000000000000000000000000000..076c3926318fc57f07493f2a84870f2ff8c866b1 GIT binary patch literal 12252 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 literal 0 HcmV?d00001 diff --git a/build/release/objs/l502_sport_tx.o b/build/release/objs/l502_sport_tx.o new file mode 100644 index 0000000000000000000000000000000000000000..f7d420eda90cce44ddcee30211ab835879cbaf58 GIT binary patch literal 9656 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 D_K-WL literal 0 HcmV?d00001 diff --git a/build/release/objs/l502_stream.o b/build/release/objs/l502_stream.o new file mode 100644 index 0000000000000000000000000000000000000000..5edc41b7d2827459709ee4604effd7149f1e2f2e GIT binary patch literal 12601984 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 zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5*BFLvla000000LcHf5fU6YaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2e3m20ssI2 z06_k)jga8LfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` 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 literal 0 HcmV?d00001 diff --git a/build/release/objs/main.o b/build/release/objs/main.o new file mode 100644 index 0000000000000000000000000000000000000000..6e3c90309c1988b44e421a82b70918f7db15a542 GIT binary patch literal 10144 zcmeHNU5p!76+Yt`&pK4|@%wtrMxug?7wIwGi z>EL@Ss|%dmNlb2jX)@S}N&)?9hcOBkIWA!4$zm;I4&3-T(y^pcQcnzUFzj1^1*7x= zS)uq5F!Q&>M@}c2nSWBV1N{n5ewG@mc%GU!h%fkwX699zOU09vN;9v4Sys^xV|dTJ z38`4CnP2@gfc*|0=F3O%EHuR~qo4V;R4Ul-()P;b#Aex8o0vDxB~r=0PU-8ZtztjK ze&1lgLbE0_RNqA_@v&jb7Hh@~0nJxm#&fn|ZT}uR*ta2AJJJ|pAEC5Uk4A3YN4G+= zWG{kSjdWfWdk>{usZ_P^P`W>rYWC}tnyFN`T}IiRM!Bc#_r%(hnijblu^vdJkJ@#1 z+nWx)T`HFOJQe%4;8~QCb>uF9-DH=K{{RrVD*K^Wk5FG|Hf+8L>k~AY%`cbA!*MLu zQ5wzW?UKyUP{zxjV?uU{`4-)e{RG-#ZP7aQDVXdwBx{*ojP4FF*_99Ahk!LPzf0@s zZLn622cgBWcpi+T_s)C^f>9m8$0(Y#)EHR)fmV<|;%OLnt8;iJ#}WaJQRGT{eK_#i zeXr-VpIE){nf67e=MOKe5949zyPZ#uyCW~^JFeG>oSqZ4PX&(q%o#sy$HQUZt~-9% z8TR|_Zr>00djSAUtyVkmyX`gCo$8lb54R4}GWkuq_@Nt&d!EPu(OND)6Qj6??b=%B zi3tuLIMnI(J4i{V=k-U>!XweH1;efrqzdGcs}-|moO|+I!Nxi%=9Fh3&p@7mJOgqF0cszWl1EBkB?ZG3^#+~)vz)6ShI8h|-5EndGoX8odV>1=CtIho2)zy ze|0eIC9@R<{9iAt9$i`PxWmDfaqNd{?Nev^el+-!6M3BjdWNGo@|=OnQIf+=6T8N_ z=+q6JsHfiVHBJk+XKi(5C1;nHk2dx_y0W_e(1C+X7Z2{gxP0hA^**IFx;BWNE_fWJ zd|ji+3!GMr*CefE@vZJ?1n70gYaOTCjl5^2mH4D8KkN@TDFQ$Aq??&p*1L~%dpcS$ zbT{?9GVX>jW3)_syr6K6x^y_qQd&shz(X4TduqUyhbXyZ1z$qTo;7_Q?uA}sK>7P_ z5&YysXzWiL&+G$APA)ZpA4AKMj`1-lc}oA2-$D3fF9#X#S7@5FZ3POAY1;~cM_!Y* zoq$5mfwsjxA}8U;bub5d9hZQ0A3%8t6Mc_Bk+xlcoQ?O?-ZT%4$MxxW4lw)Z^?n70 z+9DK+bc_hHj!n}oe46$tA2RJX$YAPw7?@!VZxJfg)}DHsox)7c=XqDI53IkI~rY02=9j z#QU`l0-2EQr;2O8zwQ))>x8u5R%rCQps|dk{Bq(oojd(A+em^Y_6wBTpr1$M+&RxJ zXxVt*-z{<$I!%o8?{K z`I2{%|MK+D(hvPuQpn;1cinTJ=|tWa1^)uc-^P^)AJvZjYfdsV%K<>l!Ynrgh%1~` zljQfHu2RZ9SVuaT5xNqyDv0NenAJfn0II9a!gUcd)Gp!~JU~3l^uGm;lBop00M3#c z>KWsh!mK6Y_l|m&5zUI!AD}Ge*3>@# E0* + +/* Possible syscontrol action flags */ +#define SYSCTRL_READ 0x00000000 /* read registers */ +#define SYSCTRL_WRITE 0x00000001 /* write registers */ +#define SYSCTRL_SYSRESET 0x00000002 /* perform system reset */ +#define SYSCTRL_CORERESET 0x00000004 /* perform core reset */ +#define SYSCTRL_SOFTRESET 0x00000006 /* perform core and system reset */ +#define SYSCTRL_VRCTL 0x00000010 /* read/write VR_CTL register */ +#define SYSCTRL_EXTVOLTAGE 0x00000020 /* VDDINT supplied externally */ +#define SYSCTRL_INTVOLTAGE 0x00000000 /* VDDINT generated by on-chip regulator */ +#define SYSCTRL_OTPVOLTAGE 0x00000040 /* For Factory Purposes Only */ +#define SYSCTRL_PLLCTL 0x00000100 /* read/write PLL_CTL register */ +#define SYSCTRL_PLLDIV 0x00000200 /* read/write PLL_DIV register */ +#define SYSCTRL_LOCKCNT 0x00000400 /* read/write PLL_LOCKCNT register */ +#define SYSCTRL_PLLSTAT 0x00000800 /* read/write PLL_STAT register */ +#define SYSCTRL_COLDBOOT 0x40000000 /* when called at cold boot */ +#define SYSCTRL_PREBOOT 0x80000000 /* when called from preboot */ + +typedef struct ADI_SYSCTRL_VALUES { + uint16_t uwVrCtl; + uint16_t uwPllCtl; + uint16_t uwPllDiv; + uint16_t uwPllLockCnt; + uint16_t uwPllStat; +} ADI_SYSCTRL_VALUES; + +static uint32_t (* const bfrom_SysControl)(uint32_t action_flags, ADI_SYSCTRL_VALUES *power_settings, void *reserved) = (void *)0xEF000038; + +/* We need a dedicated function since we need to screw with the stack pointer + * when resetting. The on-chip ROM will save/restore registers on the stack + * when doing a system reset, so the stack cannot be outside of the chip. + */ +__attribute__((__noreturn__)) +static inline void bfrom_SoftReset(void *new_stack) +{ + while (1) + /* + * We don't declare the SP as clobbered on purpose, since + * it confuses the heck out of the compiler, and this function + * never returns + */ + __asm__ __volatile__( + "sp = %[stack];" + "jump (%[bfrom_syscontrol]);" + : : [bfrom_syscontrol] "p"(bfrom_SysControl), + "q0"(SYSCTRL_SOFTRESET), + "q1"(0), + "q2"(NULL), + [stack] "p"(new_stack) + ); +} + +/* OTP Functions */ +static uint32_t (* const bfrom_OtpCommand)(uint32_t command, uint32_t value) = (void *)0xEF000018; +static uint32_t (* const bfrom_OtpRead)(uint32_t page, uint32_t flags, uint64_t *page_content) = (void *)0xEF00001A; +static uint32_t (* const bfrom_OtpWrite)(uint32_t page, uint32_t flags, uint64_t *page_content) = (void *)0xEF00001C; + +/* otp command: defines for "command" */ +#define OTP_INIT 0x00000001 +#define OTP_CLOSE 0x00000002 + +/* otp read/write: defines for "flags" */ +#define OTP_LOWER_HALF 0x00000000 /* select upper/lower 64-bit half (bit 0) */ +#define OTP_UPPER_HALF 0x00000001 +#define OTP_NO_ECC 0x00000010 /* do not use ECC */ +#define OTP_LOCK 0x00000020 /* sets page protection bit for page */ +#define OTP_CHECK_FOR_PREV_WRITE 0x00000080 + +/* ******************************************************************************************* */ +/* */ +/* Return Codes for OtpCommand, OtpRead and OtpWrite() routines */ +/* */ +/* ******************************************************************************************* */ + + +/* Error codes */ +#define OTP_SUCCESS 0x0000 +/* Error Bits */ +#define OTP_MASTER_ERROR 0 +#define OTP_WRITE_ERROR 1 +#define OTP_READ_ERROR 2 +#define OTP_ACC_VIO_ERROR 3 +#define OTP_DATA_MULT_ERROR 4 +#define OTP_ECC_MULT_ERROR 5 +#define OTP_PREV_WR_ERROR 6 +#define OTP_SB_DEFECT_ERROR 7 + +/* Warning Bits */ +#define OTP_DATA_SB_WARN 8 +#define OTP_ECC_SB_WARN 9 + + +/* ******************************************************************************************* */ +/* */ +/* Boot block header's bit fields */ +/* */ +/* ******************************************************************************************* */ + +#define HDRSGN 0xFF000000 +#define HDRCHK 0x00FF0000 +#define DMACODE 0x0000000F + + +/* ******************************************************************************************* */ +/* */ +/* Boot Flags (part of block header's block code field) */ +/* */ +/* ******************************************************************************************* */ + + +#define BFLAG_FINAL 0x00008000 /* final block in stream */ +#define BFLAG_FIRST 0x00004000 /* first block in stream */ +#define BFLAG_INDIRECT 0x00002000 /* load data via intermediate buffer */ +#define BFLAG_IGNORE 0x00001000 /* ignore block payload */ +#define BFLAG_INIT 0x00000800 /* call initcode routine */ +#define BFLAG_CALLBACK 0x00000400 /* call callback routine */ +#define BFLAG_QUICKBOOT 0x00000200 /* boot block only when BFLAG_WAKEUP=0 */ +#define BFLAG_FILL 0x00000100 /* fill memory with 32-bit argument value */ +#define BFLAG_AUX 0x00000020 /* load auxiliary header -- reserved */ +#define BFLAG_SAVE 0x00000010 /* save block on power down -- reserved */ + + +/* ******************************************************************************************* */ +/* */ +/* Boot Flags (global flags for pFlag word) */ +/* */ +/* ******************************************************************************************* */ + + +#define BFLAG_NORESTORE 0x80000000 /* do not restore MMR register when done */ +#define BFLAG_RESET 0x40000000 /* issue system reset when done */ +#define BFLAG_RETURN 0x20000000 /* issue RTS instead of jumping to EVT1 vector */ +#define BFLAG_NEXTDXE 0x10000000 /* parse stream via Next DXE pointer */ +#define BFLAG_WAKEUP 0x08000000 /* WURESET bit was a '1', enable quickboot */ +#define BFLAG_SLAVE 0x04000000 /* boot mode is a slave mode */ +#define BFLAG_PERIPHERAL 0x02000000 /* boot mode is a peripheral mode */ +#define BFLAG_NOAUTO 0x01000000 /* skip automatic device detection */ +#define BFLAG_ALTERNATE 0x00800000 /* use alternate boot source */ +#define BFLAG_FASTREAD 0x00400000 /* use 0xB command in SPI master mode */ +#define BFLAG_TYPE 0x00100000 /* device type (number of address bytes) */ + #define BFLAG_TYPE1 0x00000000 /* device type (1 SPI/TWI address bytes, Small Page NAND Flash) */ + #define BFLAG_TYPE2 0x00100000 /* device type (2 SPI/TWI address bytes, Large Page NAND Flash) */ + #define BFLAG_TYPE3 0x00200000 /* device type (3 SPI/TWI address bytes, NAND reserved) */ + #define BFLAG_TYPE4 0x00300000 /* device type (4 SPI/TWI address bytes, NAND reserved) */ +#define BFLAG_HDRINDIRECT 0x00080000 /* boot block headers via intermediate buffer */ +#define BFLAG_HOOK 0x00040000 /* call hook routine after initialization */ +#define BFLAG_TEST 0x00020000 /* factory testing */ + + +/* ******************************************************************************************* */ +/* */ +/* Callback Flags */ +/* */ +/* ******************************************************************************************* */ + + +#define CBFLAG_FINAL 0x00000008 +#define CBFLAG_FIRST 0x00000004 +#define CBFLAG_DIRECT 0x00000001 + + +/* ******************************************************************************************* */ +/* */ +/* Boot ROM Jump Table Entries */ +/* */ +/* ******************************************************************************************* */ + + +#define BFROM_FINALINIT 0xEF000002 +#define BFROM_PDMA 0xEF000004 +#define BFROM_MDMA 0xEF000006 +#define BFROM_MEMBOOT 0xEF000008 +#define BFROM_SPIBOOT 0xEF00000A +#define BFROM_TWIBOOT 0xEF00000C +#define BFROM_OTPBOOT 0xEF00000E +#define BFROM_NANDBOOT 0xEF000010 + +#define BFROM_SECURE_ENTRY 0xEF000014 +#define BFROM_OTP_ECC 0xEF000016 +#define BFROM_OTP_COMMAND 0xEF000018 +#define BFROM_OTP_READ 0xEF00001A +#define BFROM_OTP_WRITE 0xEF00001C +#define BFROM_ECC_LUTADDR 0xEF00001E + +#define BFROM_BOOTKERNEL 0xEF000020 +#define BFROM_GETPORT 0xEF000022 +#define BFROM_NMI 0xEF000024 +#define BFROM_HWERROR 0xEF000026 +#define BFROM_EXCEPTION 0xEF000028 +#define BFROM_EMUENTRY 0xEF00002A + +#define BFROM_CRC32 0xEF000030 +#define BFROM_CRC32POLY 0xEF000032 +#define BFROM_CRC32CALLBACK 0xEF000034 +#define BFROM_CRC32INITCODE 0xEF000036 +#define BFROM_SYSCONTROL 0xEF000038 + +#if defined(__ADSPBF50x__) + + #define BFROM_FLASHPROTECT 0xEF00003A + #define BFROM_FLASHPROTECTINITCODE 0xEF00003C + +#endif + +/* ******************************************************************************************* */ +/* */ +/* Flags and Argument for BFROM_FLASHPROTECT routine */ +/* */ +/* ******************************************************************************************* */ + + +#if defined(__ADSPBF50x__) + + #define FLASH_LOCK_CONTROL 0x80000000 /* Controls locking of the upper byte of the FLASH_CONTROL register */ + #define FLASH_PROTECT_ENABLE 0x20000000 /* Controls the Vpp Flash Protect signal */ + #define FLASH_PROTECT_DISABLE 0x10000000 /* Controls the Vpp Flash Protect signal */ + #define FLASH_RESET_DISABLE 0x02000000 /* Controls the Flash Reset signal */ + #define FLASH_RESET_ENABLE 0x01000000 /* Controls the Flash Reset signal */ + #define FLASH_LOCKDOWN_ENABLE 0x00010000 /* Enables the block lockdown feature */ + #define FLASH_LOCKDOWN_START_BLOCK 0x000000FF /* Block number to start the lockdown */ + #define FLASH_LOCKDOWN_NUM_BLOCKS 0x0000FF00 /* Number of block to lockdown */ + #define FLASH_BLOCK_SHIFT_VAL 0x00000010 /* shift value for FLASH_LOCKDOWN_START_BLOCK to generate the byte address */ + #define FLASH_MAIN_BLOCK_SIZE 0x00010000 /* Size in bytes of a main block */ + +#endif + + +/* ******************************************************************************************* */ +/* */ +/* Boot ROM Data Constants with Bit Fields */ +/* */ +/* ******************************************************************************************* */ + + +#define BK_REVISION 0xEF000040 +#define BK_ZEROS 0xEF000048 +#define BK_ONES 0xEF00004C +#define BK_DATECODE 0xEF000050 + +#if defined (_LANGUAGE_C) +# define pBK_REVISION ((const unsigned long *)BK_REVISION) +# define pBK_ZEROS ((const unsigned long *)BK_ZEROS) +# define pBK_ONES ((const unsigned long *)BK_ONES) +# define pBK_DATECODE ((const unsigned long *)BK_DATECODE) +#endif /* _LANGUAGE_C */ + +#define BK_ID 0xFF000000 +#define BK_PROJECT 0x00FF0000 +#define BK_VERSION 0x0000FF00 +#define BK_UPDATE 0x000000FF + +#define BK_YEAR 0xFFFF0000 +#define BK_MONTH 0x0000FF00 +#define BK_DAY 0x000000FF + + + + +/* ******************************************************************************************* */ +/* */ +/* Predefined OTP Pages to be used with bfrom_OtpRead() */ +/* */ +/* ******************************************************************************************* */ + + +#define FPS00 0x0004 +#define FPS01 0x0005 +#define FPS02 0x0006 +#define FPS03 0x0007 +#define FPS04 0x0008 +#define FPS05 0x0009 +#define FPS06 0x000A +#define FPS07 0x000B +#define FPS08 0x000C +#define FPS09 0x000D +#define FPS10 0x000E +#define FPS11 0x000F + +#define CPS00 0x0010 +#define CPS01 0x0011 +#define CPS02 0x0012 +#define CPS03 0x0013 +#define CPS04 0x0014 +#define CPS05 0x0015 +#define CPS06 0x0016 +#define CPS07 0x0017 + +#define PBS00 0x0018 +#define PBS01 0x0019 +#define PBS02 0x001A +#define PBS03 0x001B + + + +/* ******************************************************************************************* */ +/* */ +/* Bit Fields in OTP Half Page PBS00L */ +/* */ +/* ******************************************************************************************* */ + + +#define OTP_VR_CTL_P 0 +#define OTP_VR_CTL_M 0x0000FFFF /* lower 32-bit word */ +#define OTP_PLL_CTL_P 16 +#define OTP_PLL_CTL_M 0xFFFF0000 /* lower 32-bit word */ +#define OTP_PLL_DIV_P 32 +#define OTP_PLL_DIV_M 0x000000FF /* upper 32-bit word */ +#define OTP_SPI_BAUD_P 40 +#define OTP_SPI_BAUD_M 0x00000700 /* upper 32-bit word */ +#define OTP_SPI_FASTREAD_P 43 +#define OTP_SPI_FASTREAD_M 0x00000800 /* upper 32-bit word */ +#define OTP_TWI_CLKDIV_P 44 +#define OTP_TWI_CLKDIV_M 0x00001000 /* upper 32-bit word */ +#define OTP_TWI_PRESCALE_P 45 +#define OTP_TWI_PRESCALE_M 0x0000E000 /* upper 32-bit word */ +#define OTP_TWI_TYPE_P 48 +#define OTP_TWI_TYPE_M 0x00030000 /* upper 32-bit word */ +#define OTP_SET_PLL_P 50 +#define OTP_SET_PLL_M 0x00040000 /* upper 32-bit word */ +#define OTP_SET_VR_P 51 +#define OTP_SET_VR_M 0x00080000 /* upper 32-bit word */ +#define OTP_RESETOUT_HWAIT_P 52 +#define OTP_RESETOUT_HWAIT_M 0x00100000 /* upper 32-bit word */ + + +#if defined(__ADSPBF54x__) + + #define OTP_ALTERNATE_HWAIT_P 53 + #define OTP_ALTERNATE_HWAIT_M 0x00200000 /* upper 32-bit word */ + + /* bit 54 reserved */ + +#elif defined(__ADSPBF52x__) || defined(__ADSPBF51x__) + + /* bits 53 to 54 reserved */ + +#endif + + +#define OTP_LOAD_PBS00H_P 55 +#define OTP_LOAD_PBS00H_M 0x00800000 /* upper 32-bit word */ +#define OTP_LOAD_PBS01L_P 56 +#define OTP_LOAD_PBS01L_M 0x01000000 /* upper 32-bit word */ +#define OTP_LOAD_PBS01H_P 57 +#define OTP_LOAD_PBS01H_M 0x02000000 /* upper 32-bit word */ +#define OTP_LOAD_PBS02L_P 58 +#define OTP_LOAD_PBS02L_M 0x04000000 /* upper 32-bit word */ +#define OTP_LOAD_PBS02H_P 59 +#define OTP_LOAD_PBS02H_M 0x08000000 /* upper 32-bit word */ +#define OTP_LOAD_PBS03L_P 60 +#define OTP_LOAD_PBS03L_M 0x10000000 /* upper 32-bit word */ +#define OTP_LOAD_PBS03H_P 61 +#define OTP_LOAD_PBS03H_M 0x20000000 /* upper 32-bit word */ +#define OTP_INVALID_P 62 +#define OTP_INVALID_M 0xC0000000 /* upper 32-bit word */ + + + +/* ******************************************************************************************* */ +/* */ +/* Bit Fields in OTP Half Page PBS00H */ +/* */ +/* ******************************************************************************************* */ + + +#define OTP_EBIU_AMBCTL_P 0 +#define OTP_EBIU_AMBCTL_M 0x0000FFFF /* lower 32-bit word */ + +#if defined(__ADSPBF54x__) + + #define OTP_EBIU_FCTL_P 16 + #define OTP_EBIU_FCTL_M 0xFFFF0000 /* lower 32-bit word */ + + #define OTP_EBIU_MODE_P 32 + #define OTP_EBIU_MODE_M 0x000000FF /* upper 32-bit word */ + +#elif defined(__ADSPBF52x__) || defined(__ADSPBF51x__) + + /* bits 16 to 39 reserved */ + +#endif + + +#define OTP_EBIU_AMG_P 40 +#define OTP_EBIU_AMG_M 0x00000F00 /* upper 32-bit word */ + + +#if defined(__ADSPBF54x__) + + #define OTP_EBIU_DEVSEQ_P 44 + #define OTP_EBIU_DEVSEQ_M 0x0000F000 /* upper 32-bit word */ + #define OTP_EBIU_DEVCFG_P 48 + #define OTP_EBIU_DEVCFG_M 0xFFFF0000 /* upper 32-bit word */ + +#elif defined(__ADSPBF52x__) || defined(__ADSPBF51x__) + + /* bits 16 to 63 reserved */ + +#endif + + + +/* ******************************************************************************************* */ +/* */ +/* Bit Fields in OTP Half Page PBS01L */ +/* */ +/* ******************************************************************************************* */ + + +/* bits 0 to 63 reserved */ + + +/* ******************************************************************************************* */ +/* */ +/* Bit Fields in OTP Half Page PBS01H */ +/* */ +/* ******************************************************************************************* */ + + +#define OTP_BMODE00_DIS_P 0 +#define OTP_BMODE00_DIS_M 0x00000001 /* lower 32-bit word */ +#define OTP_BMODE01_DIS_P 1 +#define OTP_BMODE01_DIS_M 0x00000002 /* lower 32-bit word */ +#define OTP_BMODE02_DIS_P 2 +#define OTP_BMODE02_DIS_M 0x00000004 /* lower 32-bit word */ +#define OTP_BMODE03_DIS_P 3 +#define OTP_BMODE03_DIS_M 0x00000008 /* lower 32-bit word */ +#define OTP_BMODE04_DIS_P 4 +#define OTP_BMODE04_DIS_M 0x00000010 /* lower 32-bit word */ +#define OTP_BMODE05_DIS_P 5 +#define OTP_BMODE05_DIS_M 0x00000020 /* lower 32-bit word */ +#define OTP_BMODE06_DIS_P 6 +#define OTP_BMODE06_DIS_M 0x00000040 /* lower 32-bit word */ +#define OTP_BMODE07_DIS_P 7 +#define OTP_BMODE07_DIS_M 0x00000080 /* lower 32-bit word */ +#define OTP_BMODE08_DIS_P 8 +#define OTP_BMODE08_DIS_M 0x00000100 /* lower 32-bit word */ +#define OTP_BMODE09_DIS_P 9 +#define OTP_BMODE09_DIS_M 0x00000200 /* lower 32-bit word */ +#define OTP_BMODE10_DIS_P 10 +#define OTP_BMODE10_DIS_M 0x00000400 /* lower 32-bit word */ +#define OTP_BMODE11_DIS_P 11 +#define OTP_BMODE11_DIS_M 0x00000800 /* lower 32-bit word */ +#define OTP_BMODE12_DIS_P 12 +#define OTP_BMODE12_DIS_M 0x00001000 /* lower 32-bit word */ +#define OTP_BMODE13_DIS_P 13 +#define OTP_BMODE13_DIS_M 0x00002000 /* lower 32-bit word */ +#define OTP_BMODE14_DIS_P 14 +#define OTP_BMODE14_DIS_M 0x00004000 /* lower 32-bit word */ +#define OTP_BMODE15_DIS_P 15 +#define OTP_BMODE15_DIS_M 0x00008000 /* lower 32-bit word */ +#define OTP_NFC_CTL_P 16 +#define OTP_NFC_CTL_M 0x00FF0000 /* lower 32-bit word */ +#define OTP_START_PAGE_P 24 +#define OTP_START_PAGE_M 0xFF000000 /* lower 32-bit word */ + +/* bits 32 to 63 reserved */ + + +/* ******************************************************************************************* */ +/* */ +/* Bit Fields in OTP Half Page PBS02L */ +/* */ +/* ******************************************************************************************* */ + + +#if defined(__ADSPBF54x__) + + #define OTP_EBIU_DDRCTL0_P 0 + #define OTP_EBIU_DDRCTL0_M 0xFFFFFFFF /* lower 32-bit word */ + #define OTP_EBIU_DDRCTL1_P 32 + #define OTP_EBIU_DDRCTL1_M 0xFFFFFFFF /* upper 32-bit word */ + +#elif defined(__ADSPBF52x__) || defined(__ADSPBF51x__) + + #define OTP_EBIU_SDGCTL_P 0 + #define OTP_EBIU_SDGCTL_M 0xFFFFFFFF /* lower 32-bit word */ + #define OTP_EBIU_SDBCTL_P 32 + #define OTP_EBIU_SDBCTL_M 0x0000FFFF /* upper 32-bit word */ + #define OTP_EBIU_SDRCC_P 48 + #define OTP_EBIU_SDRCC_M 0x0FFF0000 /* upper 32-bit word */ + + /* bits 60 to 62 reserved */ + + #define OTP_EBIU_POWERON_DUMMY_WRITE_P 63 + #define OTP_EBIU_POWERON_DUMMY_WRITE_M 0x80000000 /* upper 32-bit word */ + +#endif + + + + +/* ******************************************************************************************* */ +/* */ +/* Bit Fields in OTP Half Page PBS02H */ +/* */ +/* ******************************************************************************************* */ + + +#if defined(__ADSPBF54x__) + + #define OTP_EBIU_DDRCTL2L_P 0 + #define OTP_EBIU_DDRCTL2L_M 0x0000FFFF /* lower 32-bit word */ + #define OTP_EBIU_DDRCTL3L_P 16 + #define OTP_EBIU_DDRCTL3L_M 0xFFFF0000 /* lower 32-bit word */ + + #define OTP_EBIU_DDRQUEL_P 32 + #define OTP_EBIU_DDRQUEL_M 0x0000FFFF /* upper 32-bit word */ + + /* bits 48 to 63 reserved */ + +#elif defined(__ADSPBF52x__) || defined(__ADSPBF51x__) + + /* bits 0 to 63 reserved */ + +#endif + + + +/* ******************************************************************************************* */ +/* */ +/* Bit Fields in OTP Half Page PBS03L */ +/* */ +/* ******************************************************************************************* */ + + +/* bits 0 to 63 reserved */ + + +/* ******************************************************************************************* */ +/* */ +/* Bit Fields in OTP Half Page PBS03H */ +/* */ +/* ******************************************************************************************* */ + + +/* bits 0 to 63 reserved */ + + +/* ******************************************************************************************* */ +/* */ +/* Macros to be used along with _P versions of above bit fields */ +/* */ +/* ******************************************************************************************* */ + + +#define OTP_OFFSET(x) (((x)>>5)<<2) +#define OTP_BITPOS(x) ((x)&0x1F) + + + +/* ******************************************************************************************* */ +/* */ +/* Block Cipher Modes of Operation */ +/* */ +/* ******************************************************************************************* */ + + +#define BLOCK_CIPHER_MODE_ECB 0 +#define BLOCK_CIPHER_MODE_CBC 1 +#define BLOCK_CIPHER_MODE_OFB 2 +#define BLOCK_CIPHER_MODE_CTR 3 + + + + +/* ******************************************************************************************* */ +/* */ +/* Flags for AesInit() routines */ +/* */ +/* ******************************************************************************************* */ + + +#define AES_ENCRYPTION (0x01) +#define AES_DECRYPTION (0x02) +#define AES_BOTH (AES_ENCRYPTION | AES_DECRYPTION) + + + +/* ******************************************************************************************* */ +/* */ +/* Return Codes for AES routines */ +/* */ +/* ******************************************************************************************* */ + + +#define AES_SUCCESS 0 +#define AES_INVALID_KEY_SIZE -1 +#define AES_INVALID_MODE -2 + + + +/* ******************************************************************************************* */ +/* */ +/* Size definitions used in SHA-1 */ +/* */ +/* ******************************************************************************************* */ + + +#define SHA1_SCRATCH_BUFFER_SIZE 184 +#define SHA1_HASH_SIZE 20 + + + +/* ******************************************************************************************* */ +/* */ +/* Instruction ROM Jump Table Entries */ +/* */ +/* ******************************************************************************************* */ + +#if defined(__ADSPBF54x__) + +#if defined(__SILICON_REVISION__) && (__SILICON_REVISION__==0x1) + +#define BFROM_ARC4_INIT 0xFFA14018 +#define BFROM_ARC4_CIPHER 0xFFA1401C + +#define BFROM_AES_CIPHER 0xFFA14020 +#define BFROM_AES_INV_CIPHER 0xFFA14024 +#define BFROM_AES_INIT 0xFFA14028 +#define BFROM_AES_KEYEXP 0xFFA1402C +#define BFROM_AES_INV_KEYEXP 0xFFA14030 + +#define BFROM_SHA1_INIT 0xFFA14860 +#define BFROM_SHA1_HASH 0xFFA14B6C + +#elif defined(__SILICON_REVISION__) && ((__SILICON_REVISION__==0x2) || (__SILICON_REVISION__==0x3) || (__SILICON_REVISION__==0x4)) + +#define BFROM_ARC4_INIT 0xFFA14018 +#define BFROM_ARC4_CIPHER 0xFFA1401C + +#define BFROM_AES_CIPHER 0xFFA14020 +#define BFROM_AES_INV_CIPHER 0xFFA14024 +#define BFROM_AES_INIT 0xFFA14028 +#define BFROM_AES_KEYEXP 0xFFA1402C +#define BFROM_AES_INV_KEYEXP 0xFFA14030 + +#define BFROM_SHA1_INIT 0xFFA14990 +#define BFROM_SHA1_HASH 0xFFA14C9C + +#else + +#define BFROM_ARC4_INIT __arc4_init +#define BFROM_ARC4_CIPHER __arc4_cipher + +#define BFROM_AES_CIPHER __aes_cipher +#define BFROM_AES_INV_CIPHER __aes_inv_cipher +#define BFROM_AES_INIT __aes_init +#define BFROM_AES_KEYEXP __aes_keyexp +#define BFROM_AES_INV_KEYEXP __aes_inv_keyexp + +#define BFROM_SHA1_INIT __sha1_init +#define BFROM_SHA1_HASH __sha1_hash + +#endif /* __SILICON_REVISION__ */ + +#elif defined(__ADSPBF523__) || defined(__ADSPBF525__) || defined(__ADSPBF527__) + +#if defined(__SILICON_REVISION__) && (__SILICON_REVISION__==0x1) + +#define BFROM_SHA1_INIT 0xEF001748 +#define BFROM_SHA1_HASH 0xEF001A54 + +#elif defined(__SILICON_REVISION__) && (__SILICON_REVISION__==0x2) + +#define BFROM_SHA1_INIT 0xEF001878 +#define BFROM_SHA1_HASH 0xEF001B84 + +#else + +#define BFROM_SHA1_INIT __sha1_init +#define BFROM_SHA1_HASH __sha1_hash + +#endif /* __SILICON_REVISION__ */ + +#elif defined(__ADSPBF522__) || defined(__ADSPBF524__) || defined(__ADSPBF526__) + +#if defined(__SILICON_REVISION__) && (__SILICON_REVISION__==0x0) + +#define BFROM_SHA1_INIT 0xEF001748 +#define BFROM_SHA1_HASH 0xEF001A54 + +#elif defined(__SILICON_REVISION__) && ((__SILICON_REVISION__==0x1) || (__SILICON_REVISION__==0x2)) + +#define BFROM_SHA1_INIT 0xEF001878 +#define BFROM_SHA1_HASH 0xEF001B84 + +#else + +#define BFROM_SHA1_INIT __sha1_init +#define BFROM_SHA1_HASH __sha1_hash + +#endif /* __SILICON_REVISION__ */ + +#elif defined(__ADSPBF51x__) + +#if defined(__SILICON_REVISION__) && ((__SILICON_REVISION__==0x0) || (__SILICON_REVISION__==0x1) || (__SILICON_REVISION__==0x2)) + +#define BFROM_SHA1_INIT 0xEF001878 +#define BFROM_SHA1_HASH 0xEF001B84 + +#else + +#define BFROM_SHA1_INIT __sha1_init +#define BFROM_SHA1_HASH __sha1_hash + +#endif /* __SILICON_REVISION__ */ + +#endif /* __ADSPBF5xx__ */ + + +#endif diff --git a/gcc/ice-100b.rules b/gcc/ice-100b.rules new file mode 100644 index 0000000..7f58bd9 --- /dev/null +++ b/gcc/ice-100b.rules @@ -0,0 +1,2 @@ +SUBSYSTEM=="usb", ATTRS{idVendor}=="064b", ATTRS{idProduct}=="0225", MODE="0666" +SUBSYSTEM=="usb", ATTRS{idVendor}=="064b", ATTRS{idProduct}=="1225", MODE="0666" diff --git a/gcc/l502-bf Debug.launch b/gcc/l502-bf Debug.launch new file mode 100644 index 0000000..c659f4e --- /dev/null +++ b/gcc/l502-bf Debug.launch @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gcc/l502-bf.ld b/gcc/l502-bf.ld new file mode 100644 index 0000000..8fb4779 --- /dev/null +++ b/gcc/l502-bf.ld @@ -0,0 +1,278 @@ +MEMORY +{ + MEM_L1_CODE : ORIGIN = 0xFFA00000, LENGTH = 0xc000 + MEM_L1_CODE_CACHE : ORIGIN = 0xFFA10000, LENGTH = 0x4000 + MEM_L1_SCRATCH : ORIGIN = 0xFFB00000, LENGTH = 0x1000 + MEM_L1_DATA_B : ORIGIN = 0xFF900000, LENGTH = 0x8000 + MEM_L1_DATA_A : ORIGIN = 0xFF800000, LENGTH = 0x8000 + + MEM_SDRAM : ORIGIN = 0x00000000, LENGTH = 32 * 1024 * 1024 +} + +/* The default linker script, for single core blackfin standalone executables */ +OUTPUT_FORMAT("elf32-bfin", "elf32-bfin", "elf32-bfin") +OUTPUT_ARCH(bfin) +ENTRY(__start) + +SECTIONS +{ + /* Read-only sections, merged into text segment: */ + PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x0)); . = SEGMENT_START("text-segment", 0x0); + .interp : { *(.interp) } + .note.gnu.build-id : { *(.note.gnu.build-id) } + .hash : { *(.hash) } + .gnu.hash : { *(.gnu.hash) } + .dynsym : { *(.dynsym) } + .dynstr : { *(.dynstr) } + .gnu.version : { *(.gnu.version) } + .gnu.version_d : { *(.gnu.version_d) } + .gnu.version_r : { *(.gnu.version_r) } + .rel.init : { *(.rel.init) } + .rela.init : { *(.rela.init) } + .rel.text : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) } + .rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) } + .rel.fini : { *(.rel.fini) } + .rela.fini : { *(.rela.fini) } + .rel.rodata : { *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) } + .rela.rodata : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) } + .rel.data.rel.ro : { *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*) } + .rela.data.rel.ro : { *(.rela.data.rel.ro* .rela.gnu.linkonce.d.rel.ro.*) } + .rel.data : { *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) } + .rela.data : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) } + .rel.tdata : { *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) } + .rela.tdata : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) } + .rel.tbss : { *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) } + .rela.tbss : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) } + .rel.ctors : { *(.rel.ctors) } + .rela.ctors : { *(.rela.ctors) } + .rel.dtors : { *(.rel.dtors) } + .rela.dtors : { *(.rela.dtors) } + .rel.got : { *(.rel.got) } + .rela.got : { *(.rela.got) } + .rel.sdata : { *(.rel.sdata .rel.sdata.* .rel.gnu.linkonce.s.*) } + .rela.sdata : { *(.rela.sdata .rela.sdata.* .rela.gnu.linkonce.s.*) } + .rel.sbss : { *(.rel.sbss .rel.sbss.* .rel.gnu.linkonce.sb.*) } + .rela.sbss : { *(.rela.sbss .rela.sbss.* .rela.gnu.linkonce.sb.*) } + .rel.sdata2 : { *(.rel.sdata2 .rel.sdata2.* .rel.gnu.linkonce.s2.*) } + .rela.sdata2 : { *(.rela.sdata2 .rela.sdata2.* .rela.gnu.linkonce.s2.*) } + .rel.sbss2 : { *(.rel.sbss2 .rel.sbss2.* .rel.gnu.linkonce.sb2.*) } + .rela.sbss2 : { *(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*) } + .rel.bss : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) } + .rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) } + .rel.iplt : + { + PROVIDE_HIDDEN (___rel_iplt_start = .); + *(.rel.iplt) + PROVIDE_HIDDEN (___rel_iplt_end = .); + } + .rela.iplt : + { + PROVIDE_HIDDEN (___rela_iplt_start = .); + *(.rela.iplt) + PROVIDE_HIDDEN (___rela_iplt_end = .); + } + .rel.plt : + { + *(.rel.plt) + } + .rela.plt : + { + *(.rela.plt) + } + .init : + { + KEEP (*(.init)) + KEEP (*basiccrt*(.text .text.*)) + } >MEM_L1_CODE =0 + .plt : { *(.plt) } + .iplt : { *(.iplt) } + .text : + { + *(.text.unlikely .text.*_unlikely) + *(.text.exit .text.exit.*) + *(.text.startup .text.startup.*) + *(.text.hot .text.hot.*) + *(.text .stub .text.* .gnu.linkonce.t.*) + /* .gnu.warning sections are handled specially by elf32.em. */ + *(.gnu.warning) + + . = ALIGN( 64 ); + } >MEM_L1_CODE + .fini : + { + KEEP (*(.fini)) + } >MEM_L1_CODE + + . = ALIGN( 64 ); + + PROVIDE (___etext = .); + PROVIDE (__etext = .); + PROVIDE (_etext = .); + + .board_state : + { + _startfix_sect = .; + KEEP(*(board_state .board_state .board_state.*)) + . = _startfix_sect + 8196; + } >MEM_L1_DATA_A + + .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } > MEM_L1_DATA_A + .rodata1 : { *(.rodata1) } + .sdata2 : + { + *(.sdata2 .sdata2.* .gnu.linkonce.s2.*) + } + .sbss2 : { *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*) } + .eh_frame_hdr : { *(.eh_frame_hdr) } > MEM_L1_DATA_A + .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } > MEM_L1_DATA_A + .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } + /* Adjust the address for the data segment. We want to adjust up to + the same address within the page on the next page up. */ + . = ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)); + /* Exception handling */ + .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } + .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } + /* Thread Local Storage sections */ + .tdata : { *(.tdata .tdata.* .gnu.linkonce.td.*) } + .tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) } + .preinit_array : + { + PROVIDE_HIDDEN (___preinit_array_start = .); + KEEP (*(.preinit_array)) + PROVIDE_HIDDEN (___preinit_array_end = .); + } + .init_array : + { + PROVIDE_HIDDEN (___init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array)) + PROVIDE_HIDDEN (___init_array_end = .); + } + .fini_array : + { + PROVIDE_HIDDEN (___fini_array_start = .); + KEEP (*(SORT(.fini_array.*))) + KEEP (*(.fini_array)) + PROVIDE_HIDDEN (___fini_array_end = .); + } + .ctors : + { + /* gcc uses crtbegin.o to find the start of + the constructors, so we make sure it is + first. Because this is a wildcard, it + doesn't matter if the user does not + actually link against crtbegin.o; the + linker won't look for a file to match a + wildcard. The wildcard also means that it + doesn't matter which directory crtbegin.o + is in. */ + KEEP (*crtbegin.o(.ctors)) + KEEP (*crtbegin?.o(.ctors)) + /* We don't want to include the .ctor section from + the crtend.o file until after the sorted ctors. + The .ctor section from the crtend file contains the + end of ctors marker and it must be last */ + KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) + } > MEM_L1_DATA_A + .dtors : + { + KEEP (*crtbegin.o(.dtors)) + KEEP (*crtbegin?.o(.dtors)) + KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) + } > MEM_L1_DATA_A + .jcr : { KEEP (*(.jcr)) } > MEM_L1_DATA_A + .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) } + .dynamic : { *(.dynamic) } + .data : + { + *(.data .data.* .gnu.linkonce.d.*) + SORT(CONSTRUCTORS) + . = ALIGN( 64 ); + } > MEM_L1_DATA_A + .data1 : { *(.data1) } + .got : { *(.got.plt) *(.igot.plt) *(.got) *(.igot) } + /* We want the small data sections together, so single-instruction offsets + can access them all, and initialized data all before uninitialized, so + we can shorten the on-disk segment size. */ + .sdata : + { + *(.sdata .sdata.* .gnu.linkonce.s.*) + } + __edata = .; PROVIDE (_edata = .); + ___bss_start = .; + .sbss : + { + *(.dynsbss) + *(.sbss .sbss.* .gnu.linkonce.sb.*) + *(.scommon) + } + .bss : + { + __bss_start = .; + *(.dynbss) + *(.bss .bss.* .gnu.linkonce.b.*) + *(COMMON) + /* Align here to ensure that the .bss section occupies space up to + _end. Align after .bss to ensure correct alignment even if the + .bss section disappears because there are no input sections. + FIXME: Why do we need it? When there is no .bss section, we don't + pad the .data section. */ + . = ALIGN( 64 ); + __bss_end = .; + } > MEM_L1_DATA_A + . = ALIGN( 64 ); + + __end = .; PROVIDE (_end = .); + + .sdram_noinit (NOLOAD) : + { + *(.sdram_noinit, .sdram_noinit.*) + } > MEM_SDRAM + + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + /* DWARF debug sections. + Symbols in the DWARF debugging sections are relative to the beginning + of the section so we begin them at 0. */ + /* DWARF 1 */ + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } + /* GNU DWARF 1 extensions */ + .debug_srcinfo 0 : { *(.debug_srcinfo .zdebug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames .zdebug_sfnames) } + /* DWARF 1.1 and DWARF 2 */ + .debug_aranges 0 : { *(.debug_aranges .zdebug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames .zdebug_pubnames) } + /* DWARF 2 */ + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.* .zdebug_info) } + .debug_abbrev 0 : { *(.debug_abbrev .zdebug_abbrev) } + .debug_line 0 : { *(.debug_line .zdebug_line) } + .debug_frame 0 : { *(.debug_frame .zdebug_frame) } + .debug_str 0 : { *(.debug_str .zdebug_str) } + .debug_loc 0 : { *(.debug_loc .zdebug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo .zdebug_macinfo) } + /* SGI/MIPS DWARF 2 extensions */ + .debug_weaknames 0 : { *(.debug_weaknames .zdebug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames .zdebug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames .zdebug_typenames) } + .debug_varnames 0 : { *(.debug_varnames .zdebug_varnames) } + /* DWARF 3 */ + .debug_pubtypes 0 : { *(.debug_pubtypes .zdebug_pubtypes) } + .debug_ranges 0 : { *(.debug_ranges .zdebug_ranges) } + .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } + /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } + + __end = .; PROVIDE (_end = .); + __stack_start = ORIGIN(MEM_L1_SCRATCH); + __stack_end = ORIGIN(MEM_L1_SCRATCH) + 0x1000; +} diff --git a/gcc/l502-bf_basiccrt.s b/gcc/l502-bf_basiccrt.s new file mode 100644 index 0000000..cdb2508 --- /dev/null +++ b/gcc/l502-bf_basiccrt.s @@ -0,0 +1,78 @@ +#include +#include +#include +#include +#include + + .text; + .align 2; + .global __start; + .extern _main; + .type __start, STT_FUNC; +__start: + + R7 = 0; + LC0 = R7; + LC1 = R7; + L0 = R7; + L1 = R7; + L2 = R7; + L3 = R7; + I0.L = (ITEST_COMMAND & 0xFFFF); + I0.H = (ITEST_COMMAND >> 16); + I1.L = (DTEST_COMMAND & 0xFFFF); + I1.H = (DTEST_COMMAND >> 16); + R7 = 0; + [I0] = R7; + [I1] = R7; + + CSYNC; + + SP.L=__stack_end - 12; + SP.H=__stack_end - 12; + FP = SP; + SP += -12; + + // Zero bss memory + R0.L = __bss_start; + R0.H = __bss_start; + R1.L = __bss_end; + R1.H = __bss_end; + R2 = R1 - R0; + R1 = 0; + CALL.X _memset; + + + ///////////////from PRM///////////////////////////////////// + P0.L = (EVT15 & 0xFFFF) ; /* Point to IVG15 in Event Vector Table */ + P0.H = ((EVT15 >> 16) & 0xFFFF) ; + P1.L = START; /* Point to start of User code */ + P1.H = START; + [P0] = P1 ; /* Place the address of START in IVG15 of EVT */ + P0.L = (IMASK & 0xFFFF) ; + R0 = [P0] ; + R1.L = (EVT_IVG15 & 0xFFFF) ; + R0 = R0 | R1 ; + [P0] = R0 ; /* Set (enable) IVG15 bit in IMASK register */ + RAISE 15 ; /* Invoke IVG15 interrupt */ + P0.L = WAIT_HERE ; + P0.H = WAIT_HERE ; + RETI = P0 ; /* RETI loaded with return address */ + RTI ; /* Return from Reset Event */ + WAIT_HERE : /* Wait here till IVG15 interrupt is serviced */ + JUMP WAIT_HERE ; + START: /* IVG15 vectors here */ + /* Enables interrupts and saves return address to stack */ + [--SP] = RETI ; + ///////////////from PRM///////////////////////////////////// + + [--SP]=R0; + [--SP]=R0; + FP = SP; + SP += -12; + + CALL.X _main; + NOP; +__end: + IDLE; + JUMP __end; diff --git a/gcc/l502_sdram_noinit.h b/gcc/l502_sdram_noinit.h new file mode 100644 index 0000000..e966d02 --- /dev/null +++ b/gcc/l502_sdram_noinit.h @@ -0,0 +1 @@ +__attribute__((section(".sdram_noinit"))) diff --git a/makefile b/makefile new file mode 100644 index 0000000..eb69cc5 --- /dev/null +++ b/makefile @@ -0,0 +1,169 @@ +BUILDDIR = build + +CONFIG ?= release + +CONFIGDIR = $(BUILDDIR)/$(CONFIG) + +OBJDIR = $(CONFIGDIR)/objs + +LSTDIR = $(CONFIGDIR)/lst + +DEPDIR = $(CONFIGDIR)/.dep + + +TRGT = bfin-elf- +CC = $(TRGT)gcc +CP = $(TRGT)objcopy +AS = $(TRGT)gcc -x assembler-with-cpp +LDR = $(TRGT)ldr + +LDRFLAGS = -T BF527 + + +MCU = bf523-0.2 + +# List all default C defines here, like -D_DEBUG=1 +DDEFS = + +# List all default ASM defines here, like -D_DEBUG=1 +DADEFS = + +# List all default directories to look for include files here +DINCDIR = + +# List the default directory to look for the libraries here +DLIBDIR = + +# List all default libraries here +DLIBS = + +# +# End of default section +############################################################################################## + +############################################################################################## +# Start of user section +# + +# Define project name here +PROJECT = l502-BFfirmware0 + +# Define linker script file here +LDSCRIPT= gcc/l502-bf.ld + +BINDIR = $(CONFIGDIR)/bin +RESULT_FILES = $(BINDIR)/$(PROJECT).elf $(BINDIR)/$(PROJECT).ldr + +# List all user C define here, like -D_DEBUG=1 + +UDEFS = NDEBUG CLOCK_INIT_CB + +ifeq ($(CONFIG), debug) + UDEFS += __DEBUG + OPT = -O0 +else + OPT = -O3 +endif + +# List C source files here +SRC = src/main.c \ + src/l502_init.c \ + src/l502_fpga.c \ + src/l502_sport_tx.c \ + src/l502_stream.c \ + src/l502_async.c \ + src/l502_cmd.c \ + src/l502_hdma.c \ + src/l502_params.c \ + src/l502_tests.c \ + src/l502_user_process.c + + + + + +# List ASM source files here +ASRC = gcc/l502-bf_basiccrt.s + +# List all user directories here +UINCDIR = src gcc + + + +# List the user directory to look for the libraries here + +# List all user libraries here +ULIBS = + + + +# +# End of user defines +############################################################################################## + + +INCDIR = $(patsubst %,-I%,$(DINCDIR) $(UINCDIR)) +LIBDIR = $(patsubst %,-L%,$(DLIBDIR) $(ULIBDIR)) +DEFS = $(patsubst %,-D%,$(DDEFS) $(UDEFS)) # = $(DDEFS) $(UDEFS) +ADEFS = $(DADEFS) $(UADEFS) +#OBJS = $(ASRC:.s=.o) $(SRC:.c=.o) +OBJS = $(addprefix $(OBJDIR)/, $(notdir $(sort $(SRC:.c=.o)))) +AOBJS = $(addprefix $(OBJDIR)/, $(notdir $(sort $(ASRC:.s=.o)))) +LIBS = $(DLIBS) $(ULIBS) +MCFLAGS = -mcpu=$(MCU) + +ASFLAGS = $(MCFLAGS) -g -mthumb -gdwarf-2 -Wa,-amhls=$(<:.s=.lst) $(ADEFS) +#-gdwarf-2 +ANOMALY_FLAGS = -mspecld-anomaly -mcsync-anomaly +CPFLAGS = $(MCFLAGS) $(OPT) $(ANOMALY_FLAGS) -std=gnu99 -g -Wall -Wstrict-prototypes -Wa,-ahlms=$(addprefix $(LSTDIR)/, $(notdir $(@:.o=.lst))) $(DEFS) +LDFLAGS = $(MCFLAGS) -T$(LDSCRIPT) -nostartfiles -N -Wl,-Map=$(BINDIR)/$(PROJECT).map,--cref,--gc-sections $(LIBDIR) -lm +# +# Generate dependency information +CPFLAGS += -MD -MP -MF $(DEPDIR)/$(@F).d + +#bfin-elf-gcc $(CPFLAGS) -I . $(INCDIR) $(LDFLAGS) $(SRC) -o bf-test.elf + +.PHONY: all clean prj dirs +.SECONDEXPANSION: + +all: dirs $(RESULT_FILES) + + +$(OBJS) : $$(filter %/$$(basename $$(notdir $$@)).c, $$(SRC)) ##$$(patsubst %.o,%.c, $$@) + $(CC) -c $(CPFLAGS) -I . $(INCDIR) $< -o $@ + +$(AOBJS) : $(ASRC) + $(AS) -c $(CPFLAGS) -I . $(INCDIR) $< -o $@ + +$(BINDIR)/$(PROJECT).elf: $(OBJS) $(AOBJS) $(LDSCRIPT) + $(CC) $(OBJS) $(AOBJS) $(LDFLAGS) $(LIBS) -o $@ + +$(BINDIR)/$(PROJECT).ldr: $(BINDIR)/$(PROJECT).elf + $(LDR) $(LDRFLAGS) -c $@ $< + +dirs: $(BUILDDIR) $(CONFIGDIR) $(DEPDIR) $(OBJDIR) $(LSTDIR) $(BINDIR) + + + +$(BINDIR): + mkdir $(BINDIR) + +$(LSTDIR): + mkdir $(LSTDIR) + +$(OBJDIR): + mkdir $(OBJDIR) + +$(BUILDDIR): + mkdir $(BUILDDIR) + +$(CONFIGDIR): + mkdir $(CONFIGDIR) + +$(DEPDIR): + mkdir $(DEPDIR) + +clean: + -rm -fR $(CONFIGDIR) + +-include $(wildcard $(DEPDIR)/*) diff --git a/src/l502_async.c b/src/l502_async.c new file mode 100644 index 0000000..a57fc35 --- /dev/null +++ b/src/l502_async.c @@ -0,0 +1,43 @@ +/***************************************************************************//** + @addtogroup async_io + @{ + @file l502_async.c + Файл содержит реализацию функций для асинхронного ввода/вывода + (пока только вывода) + ******************************************************************************/ +#include + +#include "l502_cmd.h" +#include "l502_global.h" +#include "l502_fpga.h" +#include "l502_defs.h" +#include "l502_async.h" +#include "l502_fpga_regs.h" + + + + +void async_dac_out(uint8_t ch, int32_t val) { + val &= 0xFFFF; + if (ch==L502_DAC_CH1) { + val |= L502_STREAM_OUT_WORD_TYPE_DAC1; + } else { + val |= L502_STREAM_OUT_WORD_TYPE_DAC2; + } + fpga_reg_write(L502_REGS_IOHARD_ASYNC_OUT, val); +} + + +void async_dout(uint32_t val, uint32_t msk) { + static uint32_t last_out = L502_DIGOUT_WORD_DIS_H | L502_DIGOUT_WORD_DIS_L; + if (msk != 0) { + val &= ~msk; + val |= last_out & msk; + } + val &= 0xFFFF; + + fpga_reg_write(L502_REGS_IOHARD_ASYNC_OUT, val); + last_out = val; +} + +/** @} */ diff --git a/src/l502_async.h b/src/l502_async.h new file mode 100644 index 0000000..1e459fd --- /dev/null +++ b/src/l502_async.h @@ -0,0 +1,46 @@ +/** @defgroup async_io Асинхронный ввод-вывод */ + +/***************************************************************************//** + @addtogroup async_io + @{ + @file l502_async.h + + Файл содержит описания функций асинхронного ввода-вывода + ******************************************************************************/ + +#ifndef L502_ASYNC_H_ +#define L502_ASYNC_H_ + +#include + +/** Первый канал ЦАП при выводе через async_dac_out() */ +#define L502_DAC_CH1 0 +/** Второй канал ЦАП при выводе через async_dac_out() */ +#define L502_DAC_CH2 1 + +/***************************************************************************//** + @brief Асинхронный вывод на один из каналов ЦАП + + Функция выполняет асинхронный вывод кода на ЦАП + @param[in] ch Канал ЦАП (#L502_DAC_CH1 или #L502_DAC_CH2) + @param[in] val Код ЦАП (действительны только младшие 16 бит) + ******************************************************************************/ +void async_dac_out(uint8_t ch, int32_t val); + +/***************************************************************************//** + @brief Асинхронный вывод на цифровые линии + + Функция выполняет асинхронный вывод кода на цифровые линии с возможностью указать + линии, которые не должны изменяться + @param[in] val биты 0-15 - значения линий на вывод + возможно перевести + половину портов в 3-е состояние с помощью флагов из + #t_l502_digout_word_flags + @param[in] msk Если в маске установлены некоторые биты, то соответствующие + биты из val не влияют, а сохраняются предыдущие значения + ******************************************************************************/ +void async_dout(uint32_t val, uint32_t msk); + +#endif + + +/** @} */ diff --git a/src/l502_bf_cmd_defs.h b/src/l502_bf_cmd_defs.h new file mode 100644 index 0000000..ea8fc07 --- /dev/null +++ b/src/l502_bf_cmd_defs.h @@ -0,0 +1,167 @@ +/*********************************************************************//** + @addtogroup cmd_process + @{ + @file l502_bf_cmd_defs.h Файл содержит определения, + которые используются для передачи команд от ПК в DSP + (определения команд, их параметров, результатов выполнения) + @date 28.03.2012 + @author Borisov Alexey + *************************************************************************/ +#ifndef L502_BF_CMD_DEFS_H_ +#define L502_BF_CMD_DEFS_H_ + +/** Максимальный размер данных, передавемых с командой в 32-битных словах */ +#define L502_BF_CMD_DATA_SIZE_MAX (1024) + + + +/** Статус команд управления сигнальным процессором */ +typedef enum { + L502_BF_CMD_STATUS_IDLE = 0x0, /**< Начальное состояние (команда вообщен не выполнялась) */ + L502_BF_CMD_STATUS_REQ = 0x5A01, /**< Передан запрос на обработку команды от ПК*/ + L502_BF_CMD_STATUS_PROGRESS = 0x5A02, /**< Сигнальный процессор начал обработку команды */ + L502_BF_CMD_STATUS_DONE = 0x5A03 /**< Команда выполнена. Результат выполнения в поле ret_code */ +} t_l502_bf_cmd_status; + + +/** Коды команд управления сигнальным процессором */ +typedef enum { + L502_BF_CMD_CODE_TEST = 0x01, /**< Запуск теста (параметр определяет тип теста) */ + L502_BF_CMD_CODE_SET_PARAM = 0x02, /**< Установить параметр (код параметра в поле param) */ + L502_BF_CMD_CODE_GET_PARAM = 0x03, /**< Прочитать текущее значение параметра */ + L502_BF_CMD_CODE_CONFIGURE = 0x04, /**< Сконфигурировать модуль в соответствии с ранее установленными параметрами */ + L502_BF_CMD_CODE_STREAM_EN = 0x05, /**< Разрешение потоков ввода/вывода */ + L502_BF_CMD_CODE_STREAM_DIS = 0x06, /**< Запрещение потоков ввода/вывода */ + L502_BF_CMD_CODE_STREAM_START = 0x07, /**< Запуск потоков ввода/вывода */ + L502_BF_CMD_CODE_STREAM_STOP = 0x08, /**< Останов потоков ввода/вывода */ + L502_BF_CMD_CODE_PRELOAD = 0x09, /**< Предзагрузка данных на ЦАП */ + L502_BF_CMD_CODE_ASYNC_OUT = 0x10, /**< Асинхронный вывод (куда - зависит от параметра) */ + L502_BF_CMD_CODE_ASYNC_DIG_IN = 0x11, /**< Асинхронный ввод с цифровых линий */ + L502_BF_CMD_CODE_ADC_GET_FRAME = 0x12, /**< Асинхронный ввод карда АЦП */ + L502_BF_CMD_CODE_FPGA_REG_WR = 0x13, /**< Запись в регистр FPGA (param --- адрес регистра, data0 --- значение) */ + L502_BF_CMD_CODE_FPGA_REG_RD = 0x14, /**< Чтение из регистра FPGA (param --- адрес регистра, ответ: resp0 --- значение) */ + L502_BF_CMD_CODE_GET_OUT_STATUS= 0x15, /**< Получение флагов статуса вывода */ +} t_l502_bf_cmd_code; + +#define L502_BF_CMD_CODE_USER 0x8000U /**< Код, с которого начинаются пользовательские команды */ + + + +/** @brief Варианты тестов + + Коды тестов, передающиеся в параметре команды #L502_BF_CMD_CODE_TEST */ +typedef enum { + L502_BF_CMD_TEST_STOP = 0x00, /**< Останов выполняемого теста */ + L502_BF_CMD_TEST_GET_RESULT = 0x01, /**< Получение результата теста */ + L502_BF_CMD_TEST_ECHO = 0x10, /**< Тест эхо - возвращает те же данные что передавались */ + L502_BF_CMD_TEST_SPORT = 0x11, /**< Тест интерфейса SPORT в кольцевом режиме */ + L502_BF_CMD_TEST_SDRAM = 0x12, /**< Тест SDRAM памяти */ + L502_BF_CMD_TEST_SPI = 0x13 /**< Тест интерфейса SPI */ +} t_l502_bf_test_code; + + +/** @brief Устанавливаемые параметры + + Коды пареметров, устанавливаемых командой #L502_BF_CMD_CODE_SET_PARAM или + получаемых с помщью команды #L502_BF_CMD_CODE_GET_PARAM */ +typedef enum { + L502_BF_PARAM_FIRM_VERSION = 0x00, /**< Версия прошивки - 4 байта */ + L502_BF_PARAM_STREAM_MODE = 0x01, /**< Режим работы (запущен поток или нет) */ + L502_BF_PARAM_ENABLED_STREAMS = 0x02, /**< Какие потоки разрешены */ + L502_BF_PARAM_MODULE_INFO = 0x03, /**< Запись информации о модуле */ + L502_BF_PARAM_IN_BUF_SIZE = 0x10, /**< Размер буфера на преием */ + L502_BF_PARAM_CYCLE_BUF_SIZE = 0x11, /**< Размер буфера для записи циклического сигнала */ + L502_BF_PARAM_LCH_CNT = 0x20, /**< Количество логических каналов в таблице */ + L502_BF_PARAM_LCH = 0x21, /**< Параметры логического канала */ + L502_BF_PARAM_ADC_FREQ_DIV = 0x22, /**< Делитель частоты АЦП */ + L502_BF_PARAM_REF_FREQ_SRC = 0x23, /**< Выбор опорной частоты */ + L502_BF_PARAM_ADC_FRAME_DELAY = 0x24, /**< Значение межкадровой задержки */ + L502_BF_PARAM_SYNC_MODE = 0x25, /**< Режим синхронизации */ + L502_BF_PARAM_SYNC_START_MODE = 0x26, /**< Условие запуска синхронных потоков сбора данных */ + L502_BF_PARAM_ADC_COEF = 0x27, /**< Установка коэффициентов для заданного диапазона АЦП */ + L502_BF_PARAM_DAC_COEF = 0x28, /**< Установка коэффициентов для заданного канала ЦАП */ + L502_BF_PARAM_DIN_FREQ_DIV = 0x30, /**< Делитель частоты цифрового ввода */ + L502_BF_PARAM_DAC_FREQ_DIV = 0x31, /**< Делитель частоты вывода на ЦАП */ + L502_BF_PARAM_IN_STEP_SIZE = 0x32, /**< Шаг для обработки входных данных */ + L502_BF_PARAM_IN_STREAM_MODE = 0x100 /**< Режим работы потока на ввод */ +} t_l502_bf_params; + + + + + +/** @brief Тип асинхронного вывода + + Код, задающий в параметре команды команды #L502_BF_CMD_CODE_ASYNC_OUT, + куда должно выводится передаваемое значение */ +typedef enum { + L502_BF_CMD_ASYNC_TYPE_DOUT = 0x0, /**< Вывод на цифровые линии */ + L502_BF_CMD_ASYNC_TYPE_DAC1 = 0x1, /**< Вывод на первый канал ЦАП */ + L502_BF_CMD_ASYNC_TYPE_DAC2 = 0x2 /**< Вывод на второй канал ЦАП */ +} t_l502_bf_cmd_async_type; + +/** Коды завершения команд */ +typedef enum { + L502_BF_ERR_SUCCESS = 0, /**< Команда выполнена успешно */ + L502_BF_ERR_FIRST_CODE = -512, /**< Код ошибки, с которого начинаются отсальные коды. + Используется, чтобы разделить на верхнем уровне ошибки библиотеки и + возвращенные сигнальным процессором */ + L502_BF_ERR_UNSUP_CMD = -512, /**< Неизвестный код команды */ + L502_BF_ERR_CMD_OVERRUN = -513, /**< Пришла команда до того, как была завершена предыдущая */ + L502_BF_ERR_INVALID_CMD_PARAMS = -514, /**< Неверное значение параметра команды */ + L502_BF_ERR_INSUF_CMD_DATA = -515, /**< Недостаточное кол-во данных передано с командой */ + L502_BF_ERR_STREAM_RUNNING = -516, /**< Команда не допустима при запущеном сборе, а сбор запущен */ + L502_BF_ERR_STREAM_STOPPED = -517, /**< Команда допустима только при запущеном сборе, а сбор остановлен */ + L502_BF_ERR_NO_TEST_IN_PROGR = -518, /**< Сейчас не выполняется никакого теста */ + L502_BF_ERR_TEST_VALUE = -519 /**< Считано неверное значение при выполнении теста */ +} t_l502_bf_err_code; + + +/** Режим работы сигнального процессора */ +typedef enum { + L502_BF_MODE_IDLE = 0, /**< Ждущий режим, поток не запущен */ + L502_BF_MODE_STREAM = 1, /**< Запущены потоки ввода-вывода */ + L502_BF_MODE_TEST = 2 /**< Тестовый режим */ +} t_l502_bf_mode; + +/** Возможности, поддерживаемые прошивкой blackfin */ +typedef enum { + L502_BF_FEATURE_FPGA_REG_ACCESS = 0x1, /**< Признак, что реализованы команды + прямого доступа к регистрам FPGA */ + L502_BF_FEATURE_OUT_STATUS_FLAGS = 0x2 /**< Признак, что реализована команда + #L502_BF_CMD_CODE_GET_OUT_STATUS */ +} t_l502_bf_features; + +/** @brief Параметры команды + + Структура описывает расположение полей в области памяти BlackFin, используемой + для передачи команд между персональным компьютером и сигнальным процессором */ +typedef struct { + uint16_t code; /**< Код команды из #t_l502_bf_cmd_code */ + uint16_t status; /**< Статус выполнения - в обработчике не изменяется */ + uint32_t param; /**< Параметр команды */ + int32_t result; /**< Код результата выполнения команды */ + uint32_t data_size; /**< Количество данных, переданных с командой или возвращенных с ответом в 32-битных словах */ + uint32_t data[L502_BF_CMD_DATA_SIZE_MAX]; /**< Данные, передаваемые с командой и/или в качестве результата */ +} t_l502_bf_cmd; + + +/** @brief Результат выполнения теста + + Структура описывает параметры выполняемого теста, возвращаемые в качестве + данных на команду #L502_BF_CMD_CODE_TEST с параметром + #L502_BF_CMD_TEST_GET_RESULT */ +typedef struct { + uint32_t test; /**< Номер выполняемого теста */ + uint32_t run; /**< Признак, запущен ли сейчас тест */ + uint32_t stage; /**< Этап выполнения теста */ + uint32_t cntr; /**< Счетчик - сколько раз прошел тест */ + int32_t err; /**< Код ошибки выполнения теста */ + uint32_t last_addr; /**< Последний используемый адрес */ + uint32_t last_wr; /**< Последнее записанное значение */ + uint32_t last_rd; /**< Последнее считанное значение */ +} t_l502_bf_test_res; + +/** @} */ + +#endif diff --git a/src/l502_cdefs.h b/src/l502_cdefs.h new file mode 100644 index 0000000..e0c3a07 --- /dev/null +++ b/src/l502_cdefs.h @@ -0,0 +1,44 @@ +/** @file l502_cdefs.h + Файл определяет набор макросов для выполнения операций, зависящий от + компилятора (VisualDSP или GCC) */ + +#ifndef L502_CDEFS_H +#define L502_CDEFS_H + +/** Макрос для помещения переменной или функции в определенную секцию */ +#ifdef __GNUC__ +#define SECTION(sect, member) member __attribute__((section(sect))) +#else +#define SECTION(sect, member) section(sect) member +#endif + +/** Марос для помещения переменной в неинициализируемую область SDRAM */ +#ifdef __GNUC__ +#define MEM_SDRAM_NOINIT(variable) SECTION(".sdram_noinit", variable) +#else +#define MEM_SDRAM_NOINIT(variable) section("sdram_noinit", NO_INIT) variable +#endif + +/** Макрос для описания обработчика прерываний */ +#ifdef __GNUC__ +#define ISR(handler) __attribute__((interrupt_handler,nesting)) void handler(void) +#else +#define ISR(handler) EX_INTERRUPT_HANDLER(handler) +#endif + +/** Макрос для регистрации обработчика прерываний */ +#ifdef __GNUC__ +#define REGISTER_ISR(ivg, isr) do { \ + int i=0; \ + ssync(); \ + *pEVT##ivg = isr; \ + ssync(); \ + asm volatile ("cli %0; bitset (%0, %1); sti %0; csync;": "+d"(i) : "i"(ivg)); \ + } while(0) +#else +#define REGISTER_ISR(ivg, isr) register_handler(ik_ivg##ivg, isr) +#endif + + + +#endif // L502_CDEFS_H diff --git a/src/l502_cmd.c b/src/l502_cmd.c new file mode 100644 index 0000000..b123826 --- /dev/null +++ b/src/l502_cmd.c @@ -0,0 +1,393 @@ +/***************************************************************************//** + @addtogroup cmd_process + @{ + @file l502_cmd.c + Файл содержит логику обработки команд от ПК, переданных через + HostDMA в BlackFin. + Для каждого кода команды в таблице f_cmd_tbl задана функция для + обработки команды. Если в таблице код команды не найден, + то возвращается ошибка. Для пользовательских команд + всегда вызывается usr_cmd_process(). +*******************************************************************************/ + +#include "l502_global.h" +#include "l502_cmd.h" +#include "l502_stream.h" +#include "l502_params.h" +#include "l502_user_process.h" +#include "l502_async.h" +#include "l502_sport_tx.h" + +#include +#include +#include +#include +#include "l502_fpga.h" + + + +extern void l502_cmd_test(t_l502_bf_cmd *cmd); +static void f_cmd_set_param(t_l502_bf_cmd *cmd); +static void f_cmd_get_param(t_l502_bf_cmd *cmd); +static void f_cmd_config(t_l502_bf_cmd *cmd); +static void f_cmd_streams_start(t_l502_bf_cmd *cmd); +static void f_cmd_stream_stop(t_l502_bf_cmd *cmd); +static void f_cmd_preload(t_l502_bf_cmd *cmd); +static void f_cmd_stream_enable(t_l502_bf_cmd *cmd); +static void f_cmd_stream_disable(t_l502_bf_cmd *cmd); +static void f_cmd_async_out(t_l502_bf_cmd *cmd); +static void f_cmd_fpga_reg_wr(t_l502_bf_cmd *cmd); +static void f_cmd_fpga_reg_rd(t_l502_bf_cmd *cmd); +static void f_cmd_get_out_status(t_l502_bf_cmd *cmd); + + +/* Тип, описывающий функцию обработки конкретной команды */ +typedef void (*t_cmd_func)(t_l502_bf_cmd* cmd); + +static const uint32_t f_regaddr_k[L502_ADC_RANGE_CNT] = {L502_REGS_IOARITH_K10, + L502_REGS_IOARITH_K5, + L502_REGS_IOARITH_K2, + L502_REGS_IOARITH_K1, + L502_REGS_IOARITH_K05, + L502_REGS_IOARITH_K02}; + +static const uint32_t f_regaddr_offs[L502_ADC_RANGE_CNT] = {L502_REGS_IOARITH_B10, + L502_REGS_IOARITH_B5, + L502_REGS_IOARITH_B2, + L502_REGS_IOARITH_B1, + L502_REGS_IOARITH_B05, + L502_REGS_IOARITH_B02}; + + + +static volatile uint8_t f_cmd_req=0; +/* таблица с соответствием кодов команд и функций для их выполнения */ +static const struct { + uint32_t cmd_code; + t_cmd_func start; +} f_cmd_tbl[] = { + {L502_BF_CMD_CODE_TEST, l502_cmd_test}, + {L502_BF_CMD_CODE_SET_PARAM, f_cmd_set_param}, + {L502_BF_CMD_CODE_GET_PARAM, f_cmd_get_param}, + {L502_BF_CMD_CODE_CONFIGURE, f_cmd_config}, + {L502_BF_CMD_CODE_STREAM_START, f_cmd_streams_start}, + {L502_BF_CMD_CODE_STREAM_STOP , f_cmd_stream_stop}, + {L502_BF_CMD_CODE_PRELOAD, f_cmd_preload}, + {L502_BF_CMD_CODE_STREAM_EN, f_cmd_stream_enable}, + {L502_BF_CMD_CODE_STREAM_DIS, f_cmd_stream_disable}, + {L502_BF_CMD_CODE_ASYNC_OUT, f_cmd_async_out}, + {L502_BF_CMD_CODE_FPGA_REG_WR, f_cmd_fpga_reg_wr}, + {L502_BF_CMD_CODE_FPGA_REG_RD, f_cmd_fpga_reg_rd}, + {L502_BF_CMD_CODE_GET_OUT_STATUS, f_cmd_get_out_status}, +}; + + + + + +void l502_cmd_done(int32_t result, uint32_t* data, uint32_t size) { + g_state.cmd.result = result; + g_state.cmd.data_size = size; + if (size && (data!=g_state.cmd.data)) + memmove((void*)g_state.cmd.data, data, size*sizeof(data[0])); + + g_state.cmd.status = L502_BF_CMD_STATUS_DONE; +} + + + +void l502_cmd_start(t_l502_bf_cmd* cmd) { + uint32_t i, fnd; + + if (cmd->code & L502_BF_CMD_CODE_USER) { + usr_cmd_process(cmd); + } else { + for (i=0, fnd=0; !fnd && (i < sizeof(f_cmd_tbl)/sizeof(f_cmd_tbl[0])); i++) { + if (cmd->code == f_cmd_tbl[i].cmd_code) { + fnd = 1; + f_cmd_tbl[i].start(cmd); + } + } + + if (!fnd) + l502_cmd_done(L502_BF_ERR_UNSUP_CMD, NULL, 0); + } +} + + + + +void l502_cmd_check_req(void) { + if (f_cmd_req == 1) { + f_cmd_req=0; + l502_cmd_start((void*)&g_state.cmd); + } +} + +void l502_cmd_set_req(void) { + f_cmd_req = 1; + g_state.cmd.status = L502_BF_CMD_STATUS_PROGRESS; +} + +static void f_cmd_streams_start(t_l502_bf_cmd *cmd) { + l502_cmd_done(streams_start(), NULL, 0); +} + +static void f_cmd_stream_stop(t_l502_bf_cmd *cmd) { + l502_cmd_done(streams_stop(), NULL, 0); +} + +static void f_cmd_config(t_l502_bf_cmd *cmd) { + l502_cmd_done(configure(), NULL, 0); +} + +static void f_cmd_preload(t_l502_bf_cmd *cmd) { + l502_cmd_done(stream_out_preload(), NULL, 0); +} + +static void f_cmd_stream_enable(t_l502_bf_cmd *cmd) { + l502_cmd_done(stream_enable(cmd->param), NULL, 0); +} + +static void f_cmd_stream_disable(t_l502_bf_cmd *cmd) { + l502_cmd_done(stream_disable(cmd->param), NULL, 0); +} + +static void f_cmd_async_out(t_l502_bf_cmd *cmd) { + int32_t err = 0; + if (cmd->data_size < 1) { + err = L502_BF_ERR_INSUF_CMD_DATA; + } else { + switch (cmd->param) { + case L502_BF_CMD_ASYNC_TYPE_DOUT: + async_dout(cmd->data[0], cmd->data_size >= 2 ? cmd->data[1] : 0); + break; + case L502_BF_CMD_ASYNC_TYPE_DAC1: + async_dac_out(L502_DAC_CH1, cmd->data[0]); + break; + case L502_BF_CMD_ASYNC_TYPE_DAC2: + async_dac_out(L502_DAC_CH2, cmd->data[0]); + break; + default: + err = L502_BF_ERR_INVALID_CMD_PARAMS; + break; + } + } + l502_cmd_done(err, NULL, 0); +} + +static void f_cmd_fpga_reg_wr(t_l502_bf_cmd *cmd) { + int32_t err = 0; + if (cmd->data_size < 1) { + err = L502_BF_ERR_INSUF_CMD_DATA; + } else if ((cmd->param & 0xFFFF0000) != 0) { + err = L502_BF_ERR_INVALID_CMD_PARAMS; + } else { + fpga_reg_write(cmd->param, cmd->data[0]); + } + l502_cmd_done(err, NULL, 0); +} + +static void f_cmd_fpga_reg_rd(t_l502_bf_cmd *cmd) { + int32_t err = 0; + uint32_t val; + if ((cmd->param & 0xFFFF0000) != 0) { + err = L502_BF_ERR_INVALID_CMD_PARAMS; + } else { + val = fpga_reg_read(cmd->param); + } + l502_cmd_done(err, &val, 1); +} + +static void f_cmd_get_out_status(t_l502_bf_cmd *cmd) { + uint32_t val = sport_tx_out_status(); + l502_cmd_done(0, &val, 1); +} + + +/* Установка различных параметров. + Код параметра определяется по cmd->param, значение берется из cmd->data + в соответствии с параметром */ +static void f_cmd_set_param(t_l502_bf_cmd *cmd) { + int32_t err = g_mode != L502_BF_MODE_IDLE ? L502_BF_ERR_STREAM_RUNNING : + cmd->data_size < 1 ? L502_BF_ERR_INSUF_CMD_DATA : 0; + + if (!err) { + switch (cmd->param) { + case L502_BF_PARAM_MODULE_INFO: + if (cmd->data_size > 0) { + g_module_info.devflags = cmd->data[0]; + } + if (cmd->data_size > 1) { + g_module_info.fpga_ver = cmd->data[1] & 0xFFFF; + g_module_info.plda_ver = (cmd->data[1]>>16) & 0xFF; + } + break; + case L502_BF_PARAM_LCH_CNT: + err = params_set_lch_cnt(cmd->data[0]); + break; + case L502_BF_PARAM_LCH: + /* параметры: 0 - индекс, 1 - физ канал, 2 - режим, 3 - диапазон, 4 - усреденение */ + if (cmd->data_size < 5) { + err = L502_BF_ERR_INSUF_CMD_DATA; + } else { + err = params_set_lch(cmd->data[0], cmd->data[1], (t_l502_lch_mode)cmd->data[2], + (t_l502_adc_range)cmd->data[3], cmd->data[4], + cmd->data_size>5 ? cmd->data[5] : 0); + } + break; + case L502_BF_PARAM_ADC_FREQ_DIV: + err = params_set_adc_freq_div(cmd->data[0]); + break; + case L502_BF_PARAM_REF_FREQ_SRC: + err = params_set_ref_freq(cmd->data[0]); + break; + case L502_BF_PARAM_ADC_FRAME_DELAY: + err = params_set_adc_interframe_delay(cmd->data[0]); + break; + case L502_BF_PARAM_SYNC_MODE: + err = params_set_sync_mode((t_l502_sync_mode)cmd->data[0]); + break; + case L502_BF_PARAM_SYNC_START_MODE: + err = params_set_sync_start_mode((t_l502_sync_mode)cmd->data[0]); + break; + case L502_BF_PARAM_DIN_FREQ_DIV: + err = params_set_din_freq_div(cmd->data[0]); + break; + case L502_BF_PARAM_DAC_FREQ_DIV: + err = params_set_dac_freq_div(cmd->data[0]); + break; + case L502_BF_PARAM_IN_STEP_SIZE: + err = sport_in_set_step_size(cmd->data[0]); + break; + case L502_BF_PARAM_ADC_COEF: + if (cmd->data_size < 3) { + err = L502_BF_ERR_INSUF_CMD_DATA; + } else { + uint32_t range = cmd->data[0]; + if (range >= L502_ADC_RANGE_CNT) { + err = L502_BF_ERR_INVALID_CMD_PARAMS; + } else { + fpga_reg_write(f_regaddr_k[range], cmd->data[1]); + fpga_reg_write(f_regaddr_offs[range], cmd->data[2]); + } + } + break; + case L502_BF_PARAM_DAC_COEF: + if (cmd->data_size < 3) { + err = L502_BF_ERR_INSUF_CMD_DATA; + } else { + uint32_t ch = cmd->data[0]; + if (ch >= L502_DAC_CH_CNT) { + err = L502_BF_ERR_INVALID_CMD_PARAMS; + } else { + float* pk = (float*)&cmd->data[1]; + float* po = (float*)&cmd->data[2]; + g_module_info.dac_cbr[ch].k = *pk; + g_module_info.dac_cbr[ch].offs = *po; + } + } + break; + default: + err = L502_BF_ERR_INVALID_CMD_PARAMS; + break; + } + } + l502_cmd_done(err, NULL, 0); +} + + +static void f_cmd_get_param(t_l502_bf_cmd *cmd) { + int32_t err = 0; + uint32_t ret_size = 0; + + + switch (cmd->param) { + case L502_BF_PARAM_FIRM_VERSION: + cmd->data[0] = L502_BF_FIRM_VERSION; + cmd->data[1] = L502_BF_FIRM_FEATURES; + ret_size = 2; + break; + case L502_BF_PARAM_STREAM_MODE: + cmd->data[0] = g_mode; + ret_size = 1; + break; + case L502_BF_PARAM_ENABLED_STREAMS: + cmd->data[0] = g_streams; + ret_size = 1; + break; + case L502_BF_PARAM_IN_BUF_SIZE: + cmd->data[0] = sport_in_buffer_size(); + ret_size = 1; + break; + case L502_BF_PARAM_LCH_CNT: + cmd->data[0] = g_set.lch_cnt; + ret_size = 1; + break; + case L502_BF_PARAM_LCH: + if (cmd->data_size < 1) { + err = L502_BF_ERR_INSUF_CMD_DATA; + } else { + uint32_t index = cmd->data[0]; + if (index >= L502_LTABLE_MAX_CH_CNT) { + err = L502_BF_ERR_INVALID_CMD_PARAMS; + } else { + cmd->data[1] = g_set.lch[index].phy_ch; + cmd->data[2] = g_set.lch[index].mode; + cmd->data[3] = g_set.lch[index].range; + cmd->data[4] = g_set.lch[index].avg; + cmd->data[5] = g_set.lch[index].flags; + ret_size = 6; + } + } + break; + case L502_BF_PARAM_ADC_FREQ_DIV: + cmd->data[0] = g_set.adc_freq_div; + ret_size = 1; + break; + case L502_BF_PARAM_REF_FREQ_SRC: + cmd->data[0] = g_set.ref_freq; + ret_size = 1; + break; + case L502_BF_PARAM_ADC_FRAME_DELAY: + cmd->data[0] = g_set.adc_frame_delay; + ret_size = 1; + break; + case L502_BF_PARAM_SYNC_MODE: + cmd->data[0] = g_set.sync_mode; + ret_size = 1; + break; + case L502_BF_PARAM_SYNC_START_MODE: + cmd->data[0] = g_set.sync_start_mode; + ret_size = 1; + break; + case L502_BF_PARAM_DIN_FREQ_DIV: + cmd->data[0] = g_set.din_freq_div; + ret_size = 1; + break; + case L502_BF_PARAM_DAC_FREQ_DIV: + cmd->data[0] = g_set.out_freq_div; + ret_size = 1; + break; + default: + err = L502_BF_ERR_INVALID_CMD_PARAMS; + break; + } + + l502_cmd_done(err, cmd->data, ret_size); +} + +/** @} */ + + + + + + + + + + + + + diff --git a/src/l502_cmd.h b/src/l502_cmd.h new file mode 100644 index 0000000..9e5d698 --- /dev/null +++ b/src/l502_cmd.h @@ -0,0 +1,71 @@ +/** @defgroup cmd_process Обработка команд от ПК */ + +/***************************************************************************//** + @addtogroup cmd_process + @{ + @file l502_cmd.h + + Файл содержит описания функций, которые используются для обработки команд + от ПК. + ******************************************************************************/ + + +#ifndef L502_BF_CMD_H_ +#define L502_BF_CMD_H_ + +#include +#include "l502_bf_cmd_defs.h" + + +/***************************************************************************//** + @brief Запуск обработки команды от ПК. + + Функция начинает обработку команды от ПК, переданной по HDMA, вызывая нужный + обработчик по коду команды. + Вызывается из l502_cmd_check_req() при наличии запроса, но можно запустить + и из самой прошивки выполнение команды, заполнив поля в g_state.cmd + и вызвав l502_cmd_start(). + + Команда считается завершенной, когда будет вызвана l502_cmd_done(), которая + может быть вызвана как из l502_cmd_start(), так и позже из другого места. + + @param[in] cmd Структура, описывающая команду + ******************************************************************************/ +void l502_cmd_start(t_l502_bf_cmd* cmd); + +/***************************************************************************//** + @brief Завершение выполнения команды от ПК + + Пометить комнду как завершенную, записав ее реультат и возвращаемые данные + в фиксированную область. Если data уже указывает на g_state.cmd.data, т.е. + данные уже находятся в нужной памяти, то они копироваться не будут + + @param[in] result Код завершения команды + @param[in] data Данные для ПК, возвращаемые командой + @param[in] size Размер данных, возвращаемых командой (в 32-битных словах) +*******************************************************************************/ +void l502_cmd_done(int32_t result, uint32_t* data, uint32_t size); + +/***************************************************************************//** + * @brief Проверка наличия команды от ПК + * + * Функция проверяет, есть ли команда от ПК для которой не была начата обработка + * (был вызов l502_cmd_set_req(), но еще не был соответствующий вызов + * l502_cmd_start()). + * + * Если есть необработанная команда, то для нее вызывается l502_cmd_start(). +*******************************************************************************/ +void l502_cmd_check_req(void); + +/***************************************************************************//** + * @brief Установка флага, что есть необработанная команда + * + * Функция вызвается из прерывания от HostDMA в случае, если при этой операции + * HostDMA была записана команда. Функция устанавливает флаг, который будет + * проверен уже из основной программы с помощью l502_cmd_check_req(). + ******************************************************************************/ +void l502_cmd_set_req(void); + +#endif + +/** @} */ diff --git a/src/l502_defs.h b/src/l502_defs.h new file mode 100644 index 0000000..2148e14 --- /dev/null +++ b/src/l502_defs.h @@ -0,0 +1,172 @@ +/*********************************************************************//** + @addtogroup config_params + @{ + @file l502_defs.h Файл содержит определения, + которые используются как программой BF, так и l502api, + и кроме того видны программам, которые используют l502api + @date 28.03.2012 + @author Borisov Alexey + *************************************************************************/ + +#ifndef L502_GLOBAL_DEFS_H_ +#define L502_GLOBAL_DEFS_H_ + + +/** Максимальное количество логических каналов в таблице*/ +#define L502_LTABLE_MAX_CH_CNT 256 +/** Количество диапазон для измерения напряжений */ +#define L502_ADC_RANGE_CNT 6 + +/** Код АЦП, соответствующий максимальному значению шкалы */ +#define L502_ADC_SCALE_CODE_MAX 6000000 + +/** Минимальное значение делителя частоты синхронного вывода */ +#define X502_OUT_FREQ_DIV_MIN 2 +/** Максимальное значение делителя частоты синхронного вывода */ +#define X502_OUT_FREQ_DIV_MAX 1024 +/** Значение делителя частоты вывода по умолчанию (которое также всегда + используется в L502 с версией прошивки ПЛИС ниже 0.5) */ +#define X502_OUT_FREQ_DIV_DEFAULT 2 + +/** Максимальное значение для аппаратного устреднения по логическому каналу */ +#define L502_LCH_AVG_SIZE_MAX 128 +/** Максимальное значения делителя частоты АЦП */ +#define L502_ADC_FREQ_DIV_MAX (1024*1024) +/** Максимальное значение делителя частоты синхронного цифрового ввода */ +#define L502_DIN_FREQ_DIV_MAX (1024*1024) + +/** Максимальное значение межкадровой задержки для АЦП */ +#define L502_ADC_INTERFRAME_DELAY_MAX (0x1FFFFF) + + +/** Диапазон ЦАП в вольтах */ +#define L502_DAC_RANGE 5. + +/** Количество каналов ЦАП */ +#define L502_DAC_CH_CNT 2 + +/** Слово в потоке, означающее, что произошло переполнение */ +#define L502_STREAM_IN_MSG_OVERFLOW 0x01010000 + + + + +/** Флаги состояния для синхронного вывода */ +typedef enum { + /** Флаг указывает, что в настоящее время буфер в модуле на передачу пуст */ + X502_OUT_STATUS_FLAG_BUF_IS_EMPTY = 0x01, + /** Флаг указывает, что было опустошение буфера на вывод с начала старта синхронного + ввода-вывода или с момента последнего чтения статуса с помощью + X502_OutGetStatusFlags() (в зависимости от того, что было последним) */ + X502_OUT_STATUS_FLAG_BUF_WAS_EMPTY = 0x02 +} t_x502_out_status_flags; + +/** @brief Флаги для управления цифровыми выходами. + + Флаги управления цифровыми выходами. Могут быть объединены через логическое + “ИЛИ” со значениями цифровых выходов при асинхронном выводе с помощью + L502_AsyncOutDig() или переданы в L502_PrepareData() при синхронном выводе.*/ +typedef enum { + L502_DIGOUT_WORD_DIS_H = 0x00020000, /**< Запрещение (перевод в третье состояние) + старшей половины цифровых выходов */ + L502_DIGOUT_WORD_DIS_L = 0x00010000 /**< Запрещение младшей половины + цифровых выходов */ +} t_l502_digout_word_flags; + + +/** Константы для выбора опорной частоты */ +typedef enum { + L502_REF_FREQ_2000KHZ = 2000000, /**< Частота 2МГц */ + L502_REF_FREQ_1500KHZ = 1500000 /**< Частота 1.5МГц */ +} t_l502_ref_freq; + + +/** Диапазоны измерения для канала АЦП */ +typedef enum { + L502_ADC_RANGE_10 = 0, /**< Диапазон +/-10V */ + L502_ADC_RANGE_5 = 1, /**< Диапазон +/-5V */ + L502_ADC_RANGE_2 = 2, /**< Диапазон +/-2V */ + L502_ADC_RANGE_1 = 3, /**< Диапазон +/-1V */ + L502_ADC_RANGE_05 = 4, /**< Диапазон +/-0.5V */ + L502_ADC_RANGE_02 = 5 /**< Диапазон +/-0.2V */ +} t_l502_adc_range; + +/** Режим измерения для логического канала */ +typedef enum { + L502_LCH_MODE_COMM = 0, /**< Измерение напряжения относительно общей земли */ + L502_LCH_MODE_DIFF = 1, /**< Дифференциальное измерение напряжения */ + L502_LCH_MODE_ZERO = 2 /**< Измерение собственного нуля */ +} t_l502_lch_mode; + +/** @brief Режимы синхронизации. + + Режимы задания источника частоты синхронизации и признака начала + синхронного ввода-вывода */ +typedef enum { + L502_SYNC_INTERNAL = 0, /**< Внутренний сигнал */ + L502_SYNC_EXTERNAL_MASTER = 1, /**< От внешнего мастера по разъему синхронизации */ + L502_SYNC_DI_SYN1_RISE = 2, /**< По фронту сигнала DI_SYN1 */ + L502_SYNC_DI_SYN2_RISE = 3, /**< По фронту сигнала DI_SYN2 */ + L502_SYNC_DI_SYN1_FALL = 6, /**< По спаду сигнала DI_SYN1 */ + L502_SYNC_DI_SYN2_FALL = 7 /**< По спаду сигнала DI_SYN2 */ +} t_l502_sync_mode; + + +/** Флаги для обозначения синхронных потоков данных */ +typedef enum { + L502_STREAM_ADC = 0x01, /**< Поток данных от АЦП */ + L502_STREAM_DIN = 0x02, /**< Поток данных с цифровых входов */ + L502_STREAM_DAC1 = 0x10, /**< Поток данных первого канала ЦАП */ + L502_STREAM_DAC2 = 0x20, /**< Поток данных второго канала ЦАП */ + L502_STREAM_DOUT = 0x40, /**< Поток данных на цифровые выводы */ + /** Объединение всех флагов, обозначающих потоки данных на ввод */ + L502_STREAM_ALL_IN = L502_STREAM_ADC | L502_STREAM_DIN, + /** Объединение всех флагов, обозначающих потоки данных на вывод */ + L502_STREAM_ALL_OUT = L502_STREAM_DAC1 | L502_STREAM_DAC2 | L502_STREAM_DOUT +} t_l502_streams; + +#define L502_STREAM_OUT_WORD_TYPE_DOUT 0x0 /**< Тип передаваемого отсчета - цифровой вывод */ +#define L502_STREAM_OUT_WORD_TYPE_DAC1 0x40000000 /**< Тип передаваемого отсчета - Код для 1-го канала ЦАП */ +#define L502_STREAM_OUT_WORD_TYPE_DAC2 0x80000000 /**< Тип передаваемого отсчета - Код для 2-го канала ЦАП */ + + +/** Режим работы модуля L502 */ +typedef enum { + L502_MODE_FPGA = 0, /**< Все потоки данных передаются через ПЛИС минуя + сигнальный процессор BlackFin */ + L502_MODE_DSP = 1, /**< Все потоки данных передаются через сигнальный + процессор, который должен быть загружен + прошивкой для обработки этих потоков */ + L502_MODE_DEBUG = 2 /**< Отладочный режим */ +} t_l502_mode; + +/** @brief Номера каналов ЦАП. + + Номер каналов ЦАП для указания в L502_AsyncOutDac() */ +typedef enum { + L502_DAC_CH1 = 0, /**< Первый канал ЦАП */ + L502_DAC_CH2 = 1 /**< Второй канал ЦАП */ +} t_l502_dac_ch; + + +/** Флаги, описывающие модуль */ +typedef enum { + /** Признак наличия ЦАП */ + L502_DEVFLAGS_DAC_PRESENT = 0x0001, + /** Признак наличия гальваноразвязки */ + L502_DEVFLAGS_GAL_PRESENT = 0x0002, + /** Признак наличия сигнального процессора */ + L502_DEVFLAGS_BF_PRESENT = 0x0004, + /** Признак, что во Flash-памяти присутствует информация о модуле */ + L502_DEVFLAGS_FLASH_DATA_VALID = 0x00010000, + /** Признак, что во Flash-памяти присутствуют действительные калибровочные + коэффициенты АЦП */ + L502_DEVFLAGS_FLASH_ADC_CALIBR_VALID = 0x00020000, + /** Признак, что во Flash-памяти присутствуют действительные калибровочные + коэффициенты ЦАП */ + L502_DEVFLAGS_FLASH_DAC_CALIBR_VALID = 0x00040000 +} t_l502_devinfo_flags; + +#endif + +/** @} */ diff --git a/src/l502_fpga.c b/src/l502_fpga.c new file mode 100644 index 0000000..d9c20d7 --- /dev/null +++ b/src/l502_fpga.c @@ -0,0 +1,69 @@ +/** @addtogroup fpga_regs + @{ + @file l502_fpga.c + Файл содержит логику передачи команд для чтения/записи регистров + ПЛИС по SPI. + Изначально SPI должен быть проинициализирован с помощью fpga_spi_init(). + После этого можно осуществлять запись с помощью fpga_reg_write(), а + чтение с помощью fpga_reg_read(). */ + +#include + +#include "l502_fpga.h" + +#define L502_SPI_BIT_START 0x8000UL +#define L502_SPI_BIT_WR 0x4000UL +#define L502_SPI_MSK_ADDR 0x3FFFUL + + +static uint16_t f_spi_rw(uint16_t word) { + /* если в было принято уже слово - то читаем его, чтобы освободить буфер приема */ + if (*pSPI_STAT & RXS) { + volatile uint16_t dummy; + dummy = *pSPI_RDBR; + } + + *pSPI_TDBR = word; + /* ждем пока примем новое слово */ + while (!(*pSPI_STAT&RXS)) { + continue; + } + + return *pSPI_RDBR; +} + + +void fpga_spi_init(void) { + /* настройка SPI */ + *pSPI_BAUD = 2; /* SPI CLK = 132.5/(2*2) = 33.125 */ + *pSPI_CTL = SPE | MSTR | SIZE | GM | TDBR_CORE; /* Мастер, MSB first, 16-bit, CPHA=0, CPOL=0 */ + *pSPI_FLG = FLS1; + + *pPORTG_MUX = (*pPORTG_MUX & 0xFFFC) | 2; + *pPORTG_FER |= PG1 | PG2 | PG3 | PG4; + + fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, 0); +} + + +void fpga_reg_write(uint16_t addr, uint32_t value) { + f_spi_rw((addr&L502_SPI_MSK_ADDR) | L502_SPI_BIT_START | L502_SPI_BIT_WR); + f_spi_rw((value>>24)&0xFF); + f_spi_rw((value>>16)&0xFF); + f_spi_rw((value>>8)&0xFF); + f_spi_rw(value&0xFF); +} + + +uint32_t fpga_reg_read(uint16_t addr) { + uint32_t ret = 0; + f_spi_rw((addr&L502_SPI_MSK_ADDR) | L502_SPI_BIT_START); + f_spi_rw(0); + f_spi_rw(0); + ret = f_spi_rw(0); + ret <<= 16; + ret |= f_spi_rw(0); + return ret; +} + +/** @} */ diff --git a/src/l502_fpga.h b/src/l502_fpga.h new file mode 100644 index 0000000..84052aa --- /dev/null +++ b/src/l502_fpga.h @@ -0,0 +1,31 @@ +/** @defgroup fpga_regs Доступ к регистрам ПЛИС */ + +/***************************************************************************//** + @addtogroup fpga_regs + @{ + @file l502_fpga.h + Файл содержит функции для записи и чтения регистров ПЛИС по интерфейсу АЦП +*******************************************************************************/ + + +#ifndef L502_FPGA_H_ +#define L502_FPGA_H_ + +#include +#include "l502_fpga_regs.h" + +/** Инициализация SPI интерфейса */ +void fpga_spi_init(void); + +/** Запись регистра в регистр ПЛИС значения по интерфейсу SPI + @param[in] addr Адрес регистра ПЛИС + @param[in] value Записываемое значение */ +void fpga_reg_write(uint16_t addr, uint32_t value); +/** Чтение значения из регистра ПЛИС по интерфейсу SPI + @param[in] addr Адрес регистра ПЛИС + @return Прочитанное значение */ +uint32_t fpga_reg_read(uint16_t addr); + +#endif + +/** @} */ diff --git a/src/l502_fpga_regs.h b/src/l502_fpga_regs.h new file mode 100644 index 0000000..093215c --- /dev/null +++ b/src/l502_fpga_regs.h @@ -0,0 +1,208 @@ +#ifndef L5XX_REGS_H +#define L5XX_REGS_H + +#define L583_BF_ADDR_ENDPROG (0xFFFFFFFCUL) + + +#define L502_MAX_PAGES_CNT 252 + +#define L502_BF_SDRAM_SIZE (32UL*1024*1024) + +#define L502_BF_MEMADDR_CMD 0xFF800800 + + +#define L502_BF_CMD_READ 0x0001 +#define L502_BF_CMD_WRITE 0x0002 +#define L502_BF_CMD_HIRQ 0x0004 +#define L502_BF_CMD_HDMA_RST 0x0008 + + +/********************* Адреса регистров блока EEPROM *************************/ +#define L502_REGS_EEPROM_BLOCK 0x0100 + +#define L502_REGS_EEPROM_SET_RD_ADDR (L502_REGS_EEPROM_BLOCK + 0) +#define L502_REGS_EEPROM_RD_DWORD (L502_REGS_EEPROM_BLOCK + 1) +#define L502_REGS_EEPROM_RD_STATUS (L502_REGS_EEPROM_BLOCK + 2) +#define L502_REGS_EEPROM_WR_STATUS_EN (L502_REGS_EEPROM_BLOCK + 3) +#define L502_REGS_EEPROM_WR_EN (L502_REGS_EEPROM_BLOCK + 4) +#define L502_REGS_EEPROM_WR_DIS (L502_REGS_EEPROM_BLOCK + 5) +#define L502_REGS_EEPROM_WR_STATUS (L502_REGS_EEPROM_BLOCK + 6) +#define L502_REGS_EEPROM_ERASE_4K (L502_REGS_EEPROM_BLOCK + 7) +#define L502_REGS_EEPROM_ERASE_64K (L502_REGS_EEPROM_BLOCK + 8) +#define L502_REGS_EEPROM_WR_BYTE (L502_REGS_EEPROM_BLOCK + 9) +#define L502_REGS_EEPROM_HARD_WR_STATUS_EN (L502_REGS_EEPROM_BLOCK + 0xF) +#define L502_REGS_HARD_ID (L502_REGS_EEPROM_BLOCK + 0xA) +#define L502_REGS_JEDEC_RD_ID (L502_REGS_EEPROM_BLOCK + 0xB) + +/********************* Адреса регистров с отладочной информацией **************/ +#define L502_REGS_DBG_BLOCK 0x0140 +#define L502_REGS_DBG_EVENTS (L502_REGS_DBG_BLOCK + 0) +#define L502_REGS_DBG_LAST_ABORT_ADDR (L502_REGS_DBG_BLOCK + 8) +#define L502_REGS_DBG_LAST_NACK_ADDR (L502_REGS_DBG_BLOCK + 9) +#define L502_REGS_DBG_LINK_REPLAY_CNT (L502_REGS_DBG_BLOCK + 10) + +/********************* Адреса регистров блока IOHARD **************************/ +#define L502_REGS_IOHARD_BLOCK 0x0200 +//Адрес Control Table +#define L502_REGS_IOHARD_LTABLE (L502_REGS_IOHARD_BLOCK+0) +#define L502_REGS_IOHARD_LTABLE_MAX_SIZE 0x100 // Максимальный размер Control Table + +#define L502_REGS_IOHARD_LCH_CNT (L502_REGS_IOHARD_BLOCK+0x100) +#define L502_REGS_IOHARD_ADC_FREQ_DIV (L502_REGS_IOHARD_BLOCK+0x102) +#define L502_REGS_IOHARD_ADC_FRAME_DELAY (L502_REGS_IOHARD_BLOCK+0x104) +#define L502_REGS_IOHARD_DIGIN_FREQ_DIV (L502_REGS_IOHARD_BLOCK+0x106) +#define L502_REGS_IOHARD_IO_MODE (L502_REGS_IOHARD_BLOCK+0x108) +#define L502_REGS_IOHARD_GO_SYNC_IO (L502_REGS_IOHARD_BLOCK+0x10A) +#define L502_REGS_IOHARD_PRELOAD_ADC (L502_REGS_IOHARD_BLOCK+0x10C) +#define L502_REGS_IOHARD_ASYNC_OUT (L502_REGS_IOHARD_BLOCK+0x112) +#define L502_REGS_IOHARD_LED (L502_REGS_IOHARD_BLOCK+0x114) +#define L502_REGS_IOHARD_DIGIN_PULLUP (L502_REGS_IOHARD_BLOCK+0x116) +#define L502_REGS_IOHARD_OUTSWAP_BFCTL (L502_REGS_IOHARD_BLOCK+0x118) +#define L502_REGS_IOHARD_OUTSWAP_ERROR (L502_REGS_IOHARD_BLOCK+0x120) + + + +/********************* Адреса регистров блока IOARITH **************************/ +#define L502_REGS_IOARITH_BLOCK 0x0400 +#define L502_REGS_IOARITH_B10 L502_REGS_IOARITH_BLOCK +#define L502_REGS_IOARITH_B5 (L502_REGS_IOARITH_BLOCK+0x01) +#define L502_REGS_IOARITH_B2 (L502_REGS_IOARITH_BLOCK+0x02) +#define L502_REGS_IOARITH_B1 (L502_REGS_IOARITH_BLOCK+0x03) +#define L502_REGS_IOARITH_B05 (L502_REGS_IOARITH_BLOCK+0x04) +#define L502_REGS_IOARITH_B02 (L502_REGS_IOARITH_BLOCK+0x05) +#define L502_REGS_IOARITH_K10 (L502_REGS_IOARITH_BLOCK+0x08) +#define L502_REGS_IOARITH_K5 (L502_REGS_IOARITH_BLOCK+0x09) +#define L502_REGS_IOARITH_K2 (L502_REGS_IOARITH_BLOCK+0x0A) +#define L502_REGS_IOARITH_K1 (L502_REGS_IOARITH_BLOCK+0x0B) +#define L502_REGS_IOARITH_K05 (L502_REGS_IOARITH_BLOCK+0x0C) +#define L502_REGS_IOARITH_K02 (L502_REGS_IOARITH_BLOCK+0x0D) +#define L502_REGS_IOARITH_ADC_FREQ_DIV (L502_REGS_IOARITH_BLOCK+0x12) +#define L502_REGS_IOARITH_IN_STREAM_ENABLE (L502_REGS_IOARITH_BLOCK+0x19) +#define L502_REGS_IOARITH_DIN_ASYNC (L502_REGS_IOARITH_BLOCK+0x1A) + + +/********************* Адреса регистров блока управления BlackFin'ом **********/ +#define L502_REGS_BF_CTL_BLOCK 0 +#define L502_REGS_BF_CTL (L502_REGS_BF_CTL_BLOCK+0) +#define L502_REGS_BF_CMD (L502_REGS_BF_CTL_BLOCK+1) +#define L502_REGS_BF_STATUS (L502_REGS_BF_CTL_BLOCK+2) +#define L502_REGS_BF_IRQ (L502_REGS_BF_CTL_BLOCK+3) +#define L502_REGS_BF_IRQ_EN (L502_REGS_BF_CTL_BLOCK+4) +#define L502_REGS_BF_REQ_ADDR (L502_REGS_BF_CTL_BLOCK+5) +#define L502_REGS_BF_REQ_SIZE (L502_REGS_BF_CTL_BLOCK+6) +#define L502_REGS_BF_REQ_DATA (L502_REGS_BF_CTL_BLOCK+128) + +#define L502_BF_REQ_DATA_SIZE_MAX 128 +#define L502_BF_REQ_DATA_SIZE_MIN 8 + + +/********************* Адреса регистров блока DMA *****************************/ +#define L502_REGS_DMA_CTL_BLOCK 0x700 +#define L502_REGS_DMA_CAP (L502_REGS_DMA_CTL_BLOCK) +#define L502_REGS_DMA_EN (L502_REGS_DMA_CTL_BLOCK+1) +#define L502_REGS_DMA_DIS (L502_REGS_DMA_CTL_BLOCK+2) +#define L502_REGS_DMA_RST (L502_REGS_DMA_CTL_BLOCK+3) +#define L502_REGS_DMA_IRQ (L502_REGS_DMA_CTL_BLOCK+4) +#define L502_REGS_DMA_IRQ_EN (L502_REGS_DMA_CTL_BLOCK+5) +#define L502_REGS_DMA_IRQ_DIS (L502_REGS_DMA_CTL_BLOCK+6) + +#define L502_REGS_DMA_CH_PARAMS_SIZE (16 + L502_MAX_PAGES_CNT*4) +#define L502_DMA_CHNUM_IN 0 +#define L502_DMA_CHNUM_OUT 1 + +/* номер регистра, с которого начинаются параметры канала DMA */ +#define L502_REGS_DMA_CH_PARAMS(ch) (0x800 + L502_REGS_DMA_CH_PARAMS_SIZE*ch) +#define L502_REGS_DMA_CH_CTL(ch) (L502_REGS_DMA_CH_PARAMS(ch) + 0) +#define L502_REGS_DMA_CH_CMP_CNTR(ch) (L502_REGS_DMA_CH_PARAMS(ch) + 1) +#define L502_REGS_DMA_CH_CUR_CNTR(ch) (L502_REGS_DMA_CH_PARAMS(ch) + 2) +#define L502_REGS_DMA_CH_CUR_POS(ch) (L502_REGS_DMA_CH_PARAMS(ch) + 3) +#define L502_REGS_DMA_CH_PC_POS(ch) (L502_REGS_DMA_CH_PARAMS(ch) + 4) + + +/* адреса для регистров страниц DMA АЦП */ +#define L502_REGS_DMA_CH_PAGES(ch) (L502_REGS_DMA_CH_PARAMS(ch) + 16) +#define L502_REGS_DMA_CH_PAGE_ADDRL(ch,n) (L502_REGS_DMA_CH_PAGES(ch) + 4*(n)) +#define L502_REGS_DMA_CH_PAGE_ADDRH(ch,n) (L502_REGS_DMA_CH_PAGES(ch) + 4*(n)+1) +#define L502_REGS_DMA_CH_PAGE_LEN(ch,n) (L502_REGS_DMA_CH_PAGES(ch) + 4*(n)+2) + + + + + +#define L502_REGBIT_BF_STATUS_HWAIT_Pos 0 +#define L502_REGBIT_BF_STATUS_HWAIT_Msk (1UL << L502_REGBIT_BF_STATUS_HWAIT_Pos) + +#define L502_REGBIT_BF_STATUS_BUSY_Pos 1 +#define L502_REGBIT_BF_STATUS_BUSY_Msk (1UL << L502_REGBIT_BF_STATUS_BUSY_Pos) + + +/* описание отдельных битов регистров */ +#define L502_REGBIT_DMA_CTL_PACK_SIZE_Pos 0 +#define L502_REGBIT_DMA_CTL_PACK_SIZE_Msk (0xFFUL << L502_REGBIT_DMA_CTL_PACK_SIZE_Pos) + +#define L502_REGBIT_DMA_CTL_PAGE_CNT_Pos 16 +#define L502_REGBIT_DMA_CTL_PAGE_CNT_Msk (0xFFUL << L502_REGBIT_DMA_CTL_PAGE_CNT_Pos) + +#define L502_REGBIT_DMA_CTL_AUTOSTOP_Pos 31 +#define L502_REGBIT_DMA_CTL_AUTOSTOP_Msk (0x1UL << L502_REGBIT_DMA_CTL_AUTOSTOP_Pos) + +#define L502_REGBIT_DMA_CTL_PC_WAIT_Pos 30 +#define L502_REGBIT_DMA_CTL_PC_WAIT_Msk (0x1UL << L502_REGBIT_DMA_CTL_PC_WAIT_Pos) + +#define L502_REGBIT_DMA_CH_ADC_Pos 0 +#define L502_REGBIT_DMA_CH_ADC_Msk (0x1UL << L502_REGBIT_DMA_CH_ADC_Pos) + +#define L502_REGBIT_DMA_CH_DAC_Pos 1 +#define L502_REGBIT_DMA_CH_DAC_Msk (0x1UL << L502_REGBIT_DMA_CH_DAC_Pos) + + + +#define L502_REGBIT_BF_CTL_BF_RESET_Pos 1 +#define L502_REGBIT_BF_CTL_BF_RESET_Msk (0x1UL << L502_REGBIT_BF_CTL_BF_RESET_Pos) + + +#define L502_REGBIT_BF_CTL_HOST_WAIT_Pos 3 +#define L502_REGBIT_BF_CTL_HOST_WAIT_Msk (0x1UL << L502_REGBIT_BF_CTL_HOST_WAIT_Pos) + +#define L502_REGBIT_BF_CTL_DSP_MODE_Pos 4 +#define L502_REGBIT_BF_CTL_DSP_MODE_Msk (0x1UL << L502_REGBIT_BF_CTL_DSP_MODE_Pos) + +#define L502_REGBIT_BF_CTL_DBG_MODE_Pos 5 +#define L502_REGBIT_BF_CTL_DBG_MODE_Msk (0x1UL << L502_REGBIT_BF_CTL_DBG_MODE_Pos) + +#define L502_REGBIT_BF_CTL_CLK_DIV_Pos 8 +#define L502_REGBIT_BF_CTL_CLK_DIV_Msk (0xFUL << L502_REGBIT_BF_CTL_CLK_DIV_Pos) + +#define L502_REGBIT_DMA_CURPOS_PAGE_Pos 24 +#define L502_REGBIT_DMA_CURPOS_PAGE_Msk (0xFFUL << L502_REGBIT_DMA_CURPOS_PAGE_Pos) + +#define L502_REGBIT_ADC_SLV_CLK_LOCK_Pos 31 +#define L502_REGBIT_ADC_SLV_CLK_LOCK_Msk (0x1UL << L502_REGBIT_ADC_SLV_CLK_LOCK_Pos) + + + +#define L502_REGBIT_IOHARD_OUT_SWAP_Pos 0 +#define L502_REGBIT_IOHARD_OUT_SWAP_Msk (0x1UL << L502_REGBIT_IOHARD_OUT_SWAP_Pos) + +#define L502_REGBIT_IOHARD_OUT_TFS_EN_Pos 1 +#define L502_REGBIT_IOHARD_OUT_TFS_EN_Msk (0x1UL << L502_REGBIT_IOHARD_OUT_TFS_EN_Pos) + +#define L502_REGBIT_IOHARD_OUT_RING_Pos 2 +#define L502_REGBIT_IOHARD_OUT_RING_Msk (0x1UL << L502_REGBIT_IOHARD_OUT_RING_Pos) + +#define L502_REGBIT_IOHARD_OUT_RFS_EN_Pos 3 +#define L502_REGBIT_IOHARD_OUT_RFS_EN_Msk (0x1UL << L502_REGBIT_IOHARD_OUT_RFS_EN_Pos) + + + + + + + + +#define L502_REGBIT_DMA_IRQ_STEP_Msk(ch) (1UL << ch) +#define L502_REGBIT_DMA_IRQ_PAGE_Msk(ch) (1UL << (ch+8)) + + + +#endif // L5XX_REGS_H diff --git a/src/l502_global.h b/src/l502_global.h new file mode 100644 index 0000000..b778d61 --- /dev/null +++ b/src/l502_global.h @@ -0,0 +1,77 @@ +/** @defgroup global_defs Фиксированная область памяти */ + +/***************************************************************************//** + @addtogroup global_defs + @{ + @file l502_global.h + Файл содержит определение структур, описывающих область памяти + BlackFin с фиксированными адресами: + - Структуры дескрипторов для передачи потоков данных по HostDMA + - Структру для передачи команд от ПК к BlackFin +*******************************************************************************/ + +#ifndef L502_GLOBAL_H_ +#define L502_GLOBAL_H_ + +#include +#include "l502_bf_cmd_defs.h" + + +/** Версия прошивки BlackFin */ +#define L502_BF_FIRM_VERSION 0x00000002 + +/** Дополнительные возможности, реализованные в прошивке */ +#define L502_BF_FIRM_FEATURES (L502_BF_FEATURE_FPGA_REG_ACCESS | L502_BF_FEATURE_OUT_STATUS_FLAGS) + + +/** Структура дескриптора для передачи потока по HostDMA */ +typedef struct { + uint32_t flags; /**< Флаги */ + uint32_t full_size; /**< Полный размер передачи */ + void* addr; /**< Начальный адрес данных для передачи */ + uint16_t xcnt; /**< Кол-во 16-разрядных слов в одном передаваемом блоке */ + uint16_t xmod; /**< Модификатор указателя */ + uint16_t ycnt; /**< Не используется */ + uint16_t ymod; /**< Не используется */ + void* next_descr; /**< Указатель на следующий дескриптор */ + uint16_t id; /**< id-номер дескриптора */ + uint16_t valid; /**< Признак действительности */ + uint32_t udata; /**< Доп данные */ +} t_hdma_stream_descr; + + +/** Максимальное количество дескрипторов на передачу данных (Bf->ПК) */ +#define L502_IN_HDMA_DESCR_CNT (31) +/** Максимальное количество дескрипторов на прием данных (ПК->Bf) */ +#define L502_OUT_HDMA_DESCR_CNT (31) + + +/** @brief Описание массива дескрипторов HDMA + + Структура описывает расположение дескрипторов HostDMA для организации + потока данных между BlackFin и персональным компьютером как на передачу, + так и на прием */ +typedef struct { + t_hdma_stream_descr in_lb; /**< Последний выполненный дескриптор на ввод */ + t_hdma_stream_descr in[L502_IN_HDMA_DESCR_CNT]; /**< Список дескрипторов на ввод */ + t_hdma_stream_descr out_lb; /**< Последний выполненный дескриптор на вывод */ + t_hdma_stream_descr out[L502_OUT_HDMA_DESCR_CNT]; /**< Список дескрипторов на вывод */ +} t_hdma_descr_arr; + + +/** @brief Описание фиксированной области памяти + + Структура описывает данные в памяти сигнального процессора, которые должны + быть расположены по фиксированным адресам */ +typedef struct { + t_hdma_descr_arr hdma; /**< 0xFF800000 - дескрипторы для обмена потоком по HDMA*/ + t_l502_bf_cmd cmd; /**< 0xFF800800 - команда обмена с PC*/ +} t_l502_board_state; + +/** Структура, содержащая данные фиксированной памяти */ +extern volatile t_l502_board_state g_state; + +#endif + + +/** @} */ diff --git a/src/l502_hdma.c b/src/l502_hdma.c new file mode 100644 index 0000000..dfd507d --- /dev/null +++ b/src/l502_hdma.c @@ -0,0 +1,320 @@ +/***************************************************************************//** + @addtogroup hdma + @{ + @file l502_hdma.c + Файл содержит логику работы с hdma на прием и на передачу данных + как из, так и в BlackFin. + ***************************************************************************/ + +/****************************************************************************** + При запуске должно вызываться один раз hdma_stream_init(). +Вызов hdma_xxx_start() инициализирует прием или передачу, а hdma_xxx_stop() +останавливает все текущие передачи. + +Для запуска обмена блоком данных нужно проверить готовность +(наличие свободных дескрипторов) с помощью hdma_xxx_req_rdy() +и вызвать hdma_xxx_req_start(), указав массив для передачи или приема +данных и его размер. + +Можно устанавливать до 31 запроса в очередь. + +По завершению обмена будет вызвана функция hdma_xxx_done(), которая +должна быть реализована в другом файле. Для передачи BF->PC +функция вызывается один раз на каждый поставленный запрос, +а при приеме PC->BF может вызываться по несколько раз - при приеме +части запроса (в случае, если от PC пока нет больше данных) +*******************************************************************************/ + + +#include "l502_global.h" +#include "l502_cdefs.h" +#include "l502_cmd.h" + + +#include +#include +#include + + +#define STREAM_IN_EN() *pPORTFIO_CLEAR = PF14 +#define STREAM_IN_DIS() *pPORTFIO_SET = PF14 +#define STREAM_OUT_EN() *pPORTFIO_CLEAR = PF15 +#define STREAM_OUT_DIS() *pPORTFIO_SET = PF15 + +#define STREAM_IN_SET_REQ() *pPORTGIO_TOGGLE = PG5 +#define STREAM_OUT_SET_REQ() *pPORTGIO_TOGGLE = PG6 + + + +#define L502_HDMA_STEP_SIZE_MAX 256 + + +static uint16_t f_snd_start_id, f_rcv_start_id; +static uint16_t f_snd_done_id, f_rcv_done_id; +static uint8_t f_snd_next_descr, f_rcv_next_descr; +static uint8_t f_rcv_done_descr; + + +void hdma_send_done(uint32_t* addr, uint32_t size); +void hdma_recv_done(uint32_t* addr, uint32_t size); + + +ISR(hdma_isr); +ISR(hdma_rd_isr); + + + + +inline static void hdma_set_descr(t_hdma_stream_descr* descr_arr, uint8_t* pos, + uint16_t* id, uint32_t* addr, uint32_t size, uint32_t flags) { + descr_arr[*pos].flags = flags; + descr_arr[*pos].addr = addr; + descr_arr[*pos].id = *id; + descr_arr[*pos].full_size = size*2; + descr_arr[*pos].xcnt = size > L502_HDMA_STEP_SIZE_MAX ? 2*L502_HDMA_STEP_SIZE_MAX : 2*size; + descr_arr[*pos].udata = size; + *id = *id+1; + + *pos=*pos+1; + if (*pos== L502_IN_HDMA_DESCR_CNT) + *pos = 0; +} + + +/** @brief Инициализация интерфейса HostDMA + + Настройка параметров HostDMA и инициализация неизменяемых полей дескрипторов + для организации потока по данных по HostDMA */ +void hdma_init(void) { + int d; + + /* запрещаем ПЛИС отслеживать запросы на обмен по HDMA */ + STREAM_IN_DIS(); + STREAM_OUT_DIS(); + + *pPORTGIO_DIR |= PG5 | PG6; + *pPORTFIO_DIR |= PF14 | PF15; + + /***************** настройка HOST DMA ***********************/ + //настройка портов + *pPORTG_MUX |= 0x2800; + *pPORTG_FER |= 0xF800; + *pPORTH_MUX = 0x2A; + *pPORTH_FER = 0xFFFF; + + + //настройка прерываний + REGISTER_ISR(11, hdma_isr); + //*pSIC_IAR3 = (*pSIC_IAR6 & 0xFFF0FFFFUL) | (3 << 16); + *pSIC_IAR6 = (*pSIC_IAR6 & 0xFFFFF0FFUL) | P50_IVG(10); //назначение HDMARD на IVG10 + REGISTER_ISR(10, hdma_rd_isr); + *pSIC_IMASK0 |= IRQ_DMA1; //разрешение прерывания HOSTDP на запись + *pSIC_IMASK1 |= IRQ_HOSTRD_DONE; //разрешение прерывания HOSTDP на чтение; + //разрешение HDMA + *pHOST_CONTROL = BDR | EHR | EHW | HOSTDP_EN | HOSTDP_DATA_SIZE; //burst, ehr, ehw, en + + //g_state.cmd.data[100] = L502_BF_CMD_STATUS_DONE; + + /* инициалзация полей дескрипторов, которые не будут изменяться + во время работы */ + for (d=0; d < L502_IN_HDMA_DESCR_CNT; d++) { + g_state.hdma.in[d].xmod = 2; + g_state.hdma.in[d].valid = 1; + g_state.hdma.in[d].next_descr = d==( L502_IN_HDMA_DESCR_CNT-1) ? + (void*)&g_state.hdma.in[0] : (void*)&g_state.hdma.in[d+1]; + } + + for (d=0; d < L502_OUT_HDMA_DESCR_CNT; d++) { + g_state.hdma.out[d].xmod = 2; + g_state.hdma.out[d].valid = 1; + g_state.hdma.out[d].next_descr = d==( L502_IN_HDMA_DESCR_CNT-1) ? + (void*)&g_state.hdma.out[0] : (void*)&g_state.hdma.out[d+1]; + } +} + + + +/** @brief Запуск потока на передачу по HostDMA. + + Функция сбрасывает логику обработки заданий на передачу данных по HostDMA + и разрешает передачу. Должна вызываться до добавления первого задания с помощью + hdma_send_req_start() */ +void hdma_send_start(void) { + f_snd_start_id = 0; + f_snd_done_id = 0; + f_snd_next_descr = 0; + + g_state.hdma.in_lb.valid = 0; + + STREAM_IN_EN(); +} + +/** @brief Останов потока на передачу по HostDMA. + + Запрет передачи по HostDMA с остановом всех текущих заданий */ +void hdma_send_stop(void) { + STREAM_IN_DIS(); +} + +/** @brief Запуск потока на прием по HostDMA + + Функция сбрасывает логику обработки заданий на прием данных по HostDMA + и разрешает прием. Должна вызываться до добавления первого задания с помощью + hdma_recv_req_start() */ +void hdma_recv_start(void) { + f_rcv_start_id = 0; + f_rcv_done_id = 0; + f_rcv_next_descr = 0; + f_rcv_done_descr = 0; + + g_state.hdma.out_lb.valid = 0; + STREAM_OUT_EN(); +} + +/** @brief Останов потока на прием по HostDMA + + Запрет приема по HostDMA с остановом всех текущих заданий */ +void hdma_recv_stop(void) { + STREAM_OUT_DIS(); +} + + + +/**************************************************************************//** + @brief Получить количество свободных запросов на передачу. + + Фунция позволяет узнать, сколько запросов можно еще поставить в очередь на + передачу с помощью hdma_send_start(). + @return Количество запросов на передачу, которое можно поставить в очередь + ******************************************************************************/ +int hdma_send_req_rdy(void) { + return L502_IN_HDMA_DESCR_CNT - (uint16_t)(f_snd_start_id - f_snd_done_id); +} + +/**************************************************************************//** + @brief Получить количество свободных запросов на прием + + Фунция позволяет узнать, сколько запросов можно еще поставить в очередь на + прием с помощью hdma_recv_start(). + @return Количество запросов на прием, которое можно поставить в очередь + ******************************************************************************/ +int hdma_recv_req_rdy(void) { + return L502_OUT_HDMA_DESCR_CNT - (uint16_t)(f_rcv_start_id - f_rcv_done_id); +} + +/**************************************************************************//** + @brief Поставить запрос на передачу по HostDMA + + Функция ставит запрос на передачу указанных данных. Сами данные не копируются, + т.е. буфер нельзя будет использовать до того, как данные не будут переданы! + Для постановки запроса необходимо, чтобы был свободный дескриптор (можно + узнать через hdma_send_req_rdy()) + + @param[in] buf Указатель на массив на передачу. + @param[in] size Количество 32-битных слов на передачу + @param[in] flags Флаги из #t_hdma_send_flags + @return < 0 при ошибке, >= 0 - id передачи при успехе +*******************************************************************************/ +int hdma_send_req_start(const uint32_t* buf, uint32_t size, uint32_t flags) { + if (hdma_send_req_rdy() > 0) { + hdma_set_descr((t_hdma_stream_descr*)g_state.hdma.in, &f_snd_next_descr, &f_snd_start_id, + (uint32_t*)buf, size, flags); + STREAM_IN_SET_REQ(); + return f_snd_start_id-1; + } + return -1; +} + +/**************************************************************************//** + @brief Поставить запрос на передачу по HostDMA + + Функция ставит запрос на прием данных в указанный буфер. + Сами данные будут в буфере только по завершению запроса. + Для постановки запроса необходимо, чтобы был свободный дескриптор (можно + узнать через hdma_recv_req_rdy()) + + @param[in] buf Указатель на массив на передачу. + @param[in] size Количество 32-битных слов на передачу + @return < 0 при ошибке, >= 0 - id передачи при успехе +*******************************************************************************/ +int hdma_recv_req_start(uint32_t* buf, uint32_t size) { + if (hdma_recv_req_rdy() > 0) { + hdma_set_descr((t_hdma_stream_descr*)g_state.hdma.out, &f_rcv_next_descr, &f_rcv_start_id, buf, size, 0); + STREAM_OUT_SET_REQ(); + return f_rcv_start_id-1; + } + return -1; +} + + +/** + @brief Обработчик прерывания на завершения записи в память BF по HDMA + + Обработчик вызывается по завершению приема блока по HostDMA. Обработчик + выполняет установку необходимых флагов для разрешения приема следующего блока + и, кроме того, проверяет наличие новой команды и завершения передачи или приема + блока из потока данных */ +ISR(hdma_isr) { + if ((*pDMA1_IRQ_STATUS & DMA_DONE) != 0) { + /* проверяем, не была ли записана команда */ + if (g_state.cmd.status == L502_BF_CMD_STATUS_REQ) { + l502_cmd_set_req(); + } + /* проверяем, не был ли записан результат передачи + по HDMA из BF в PC */ + if (g_state.hdma.in_lb.valid) { + /* обновляем id завершенной передачи и вызываем callback */ + f_snd_done_id = g_state.hdma.in_lb.id; + g_state.hdma.in_lb.valid = 0; + hdma_send_done(g_state.hdma.in_lb.addr, g_state.hdma.in_lb.udata); + } + /* проверяем, не был ли записан результат приема данных по + HDMA из PC в BF */ + if (g_state.hdma.out_lb.valid) { + /* может быть записан и при не полностью завершенном запросе. + определяем сперва резмер, сколько было реально принято */ + uint32_t size = (g_state.hdma.out[f_rcv_done_descr].full_size - + g_state.hdma.out_lb.full_size)/2; + + g_state.hdma.out_lb.valid = 0; + + + hdma_recv_done(g_state.hdma.out_lb.addr, size); + + /* если была завершена только часть дескриптора - + обновляем оставшийся размер для приема */ + if (g_state.hdma.out_lb.full_size) { + g_state.hdma.out[f_rcv_done_descr].full_size = + g_state.hdma.out_lb.full_size; + } else { + /* если завершен весь дескриптор - переходим + к следующему */ + if (++f_rcv_done_descr== L502_OUT_HDMA_DESCR_CNT) + f_rcv_done_descr = 0; + f_rcv_done_id = g_state.hdma.out_lb.id; + } + } + + *pDMA1_IRQ_STATUS = DMA_DONE; + csync(); + *pHOST_STATUS = DMA_CMPLT; + } + ssync(); +} + +/** + @brief Обработчик прерывания на завершение чтения по HDMA. + + Данный обработчик вызывается по завершению передачи блока данных по HostDMA. + Выполняет только установку необходимых флагов для разрешения следующей + передачи */ +ISR(hdma_rd_isr) { + if ((*pHOST_STATUS & HOSTRD_DONE) != 0) { + *pHOST_STATUS &= ~((unsigned short)HOSTRD_DONE); + *pHOST_STATUS |= DMA_CMPLT; + } + ssync(); +} + + +/** @} */ diff --git a/src/l502_hdma.h b/src/l502_hdma.h new file mode 100644 index 0000000..905628d --- /dev/null +++ b/src/l502_hdma.h @@ -0,0 +1,44 @@ +/** @defgroup hdma Работа с интерфейсом HostDMA */ + +/***************************************************************************//** + @addtogroup hdma + @{ + @file l502_hdma.h + + Файл содержит описания функций для работы с интерфейсом HostDMA + ******************************************************************************/ + +#ifndef L502_HDMA_H_ +#define L502_HDMA_H_ + + +void hdma_init(void); + +/** Флаги для передачи по #t_hdma_send_flags */ +typedef enum { + /** Флаг, указывающий, что передается последний пакет данных. По завершению + передачи будет остановлен поток и сгенерировано прерывания для ПК */ + L502_HDMA_FLAGS_SEND_LAST = 0x1 +} t_hdma_send_flags; + + +void hdma_send_start(void); +void hdma_send_stop(void); + + +int hdma_send_req_start(const uint32_t* snd_buf, uint32_t size, uint32_t flags); +int hdma_send_req_rdy(void); + + +void hdma_recv_start(void); + +void hdma_recv_stop(void); + +int hdma_recv_req_start(uint32_t* buf, uint32_t size); + +int hdma_recv_req_rdy(void); + + +#endif + +/** @} */ diff --git a/src/l502_init.c b/src/l502_init.c new file mode 100644 index 0000000..aeadd88 --- /dev/null +++ b/src/l502_init.c @@ -0,0 +1,183 @@ +#include +#include +#include +#include +#include +#include + + + + +#include "l502_cdefs.h" +#include "l502_fpga.h" +#include "l502_hdma.h" + +ISR(isr_sport_dma_rx); +ISR(isr_sport_dma_tx); + + +void l502_stream_init(void); + +/* fVCO = 530 MHZ = (20/2)*53, CDIV=1, SDIV = 4 => SCLK = 132.5 MHz */ +#define L502_PLL_CTL (SET_MSEL(53) | DF) +#define L502_PLL_DIV (SET_SSEL(4) | CSEL_DIV1) + +/* конфигурим SDRAM + * RDIV=((117964,8*64ms)/8192)-(6+3)=912 // по логике - это последняя конфигурация + * кстати - возможно не 8192, а 4096, в таком случае 1834 + */ +#define L502_SDRAM_SDRRC (((132500000 / 1000) * 64) / 8192 - (6 + 3)) +/* размер памяти - 32 Мб, 9 бит - под адрес колонки */ +#define L502_SDRAM_SDBCTL (EBE | EBSZ_32 | EBCAW_9) +/* CAS latency=3, хотя можно и 2 - чем меньше тем лучше (правда при этом глюки появляются!!!!) + * PASR_ALL - тоже для SDRAM с 2.5 В - экономия энергии, поэтому рефрешим все + * tRAS(min)=45 нс (при частоте 120 Мгц - 6 тактов) + * tRP(min)=20 нс (при частоте 120 Мгц - 3 тактов) + * tRCD(min)=20 нс (при частоте 120 Мгц - 3 тактов) + * tWR - хз, на вскидку 2 + * POWER startup delay - не нужна + * PSS - power SDRAM - должно быть + * SRFS - нужна для перевода SDRAM в режим пониженного энергопотребления 0 не нужно + * EBUFE=0 - только один чип SDRAM + * FBBRW=0 - для того, чтобы чтение сразу шло за записью, может не работать - попробовать позже + * EMREN=0 - тоже для SDRAM с 2.5 В - экономия энергии + * TCSR=0 - тоже для SDRAM с 2.5 В - экономия энергии + * CDDBG=0 - по моему сотекщд signals не расшарены + */ +#define L502_SDRAM_SDGCTL (SCTLE | CL_2 | PASR_ALL | TRAS_6 | TRP_3 | TRCD_3 | TWR_2 | PSS) + + +uint32_t l502_otp_make_invalid(uint32_t page) { + uint32_t err = bfrom_OtpCommand(OTP_INIT, (0x0A548800 | 133)); + if(!err) { + uint64_t val = (uint64_t)3 << OTP_INVALID_P; + err = bfrom_OtpWrite(page, OTP_LOWER_HALF | OTP_NO_ECC, &val); + } + return err; +} + +/* Настройка частоты BlackFin'a */ +void l502_setup_pll(void) { + ADI_SYSCTRL_VALUES sysctl; + sysctl.uwPllCtl = L502_PLL_CTL; + bfrom_SysControl(SYSCTRL_WRITE | SYSCTRL_PLLCTL, &sysctl, 0); +} + +/* Запись настроек PLL и SDRAM в блок OTP, начиная с заданной страницы */ +uint32_t l502_otp_write_cfg(uint32_t first_page) { + uint32_t err = bfrom_OtpCommand(OTP_INIT, (0x0A548800 | 133)); + uint64_t val = 0; + if (!err) { + val = ((uint64_t)L502_PLL_DIV << OTP_PLL_DIV_P) | ((uint64_t)L502_PLL_CTL << OTP_PLL_CTL_P) + | ((uint64_t)OTP_SET_PLL_M<< 32)| ((uint64_t)OTP_LOAD_PBS02L_M<<32); + err = bfrom_OtpWrite(first_page, OTP_LOWER_HALF | OTP_CHECK_FOR_PREV_WRITE, &val); + if (!err) { + val = ((uint64_t)L502_SDRAM_SDRRC << OTP_EBIU_SDRCC_P) | ((uint64_t)L502_SDRAM_SDBCTL << OTP_EBIU_SDBCTL_P) + | ((uint64_t)L502_SDRAM_SDGCTL << OTP_EBIU_SDGCTL_P); + err = bfrom_OtpWrite(PBS02-PBS00+first_page, OTP_LOWER_HALF + | OTP_CHECK_FOR_PREV_WRITE, &val); + } + + /* если была ошибка - делаем недействительным весь блок */ + if (err) + l502_otp_make_invalid(first_page); + } + return err; + +} + + + +/* Проверяем, есть ли действтиельные настройки PLL и SDRAM в OTP. Если нет, + то записываем их в OTP и инициализируем PLL вручную */ +void l502_otp_init(void) { + uint32_t err=0, page, fnd=0, pll_setup=0; + + //err = l502_otp_make_invalid(PBS00); + + /* ищем первый действительный блок настройки загрузки */ + for (page = PBS00; !(fnd && !err) && (page < 0xD8); page += 4) { + uint64_t val; + err = bfrom_OtpRead(page, OTP_LOWER_HALF, &val); + if (!err && !((val>>OTP_INVALID_P)&0x3)) { + fnd = 1; + if (!val) { + /* если блок с настройками не был записан => PLL записываем + вручную и записываем настройки для корректной инициализации + в дальнейшем */ + if (!pll_setup) { + l502_setup_pll(); + pll_setup = 1; + } + err = l502_otp_write_cfg(page); + page+=4; + if (!err && (page< 0xD8)) { + /* если есть место - то дописываем вторую копию, чтобы всегда + быть уверенным, что если даже при первом чтении была ошибка, + все загрузится нормально */ + err = l502_otp_write_cfg(page); + } + } + } + } + + /* если все страницы настроек испорчены, то инициализируем PLL, + так как скорее всего его система не проинициализировала */ + if (!fnd && !pll_setup) { + l502_setup_pll(); + } + +} + +void l502_init(void) { + /* инициализация OTP-памяти и PLL, если эти значения не были уже + * проинициализированны до этого. Если в OTP уже были нужные значения, то + * SDRAM и PLL проинициализированы уже загрузочным кодом BlackFin */ + l502_otp_init(); + + + /* настройка SPI */ + fpga_spi_init(); + + /* настройки SPORT0 */ + *pSPORT0_TCLKDIV = 0; + *pSPORT0_RCLKDIV = 0; + + /* clk - internal, fs - external, req, active high, early */ + *pSPORT0_TCR1 = ITCLK | TFSR; //TCKFE-??? + *pSPORT0_RCR1 = IRCLK | RFSR | RCKFE; + /* len = 16 bit, secondary enable */ + *pSPORT0_TCR2 = SLEN(15) | TXSE; + *pSPORT0_RCR2 = SLEN(15) | RXSE; + + *pPORTF_MUX = (*pPORTF_MUX & 0xFFFC) | 1; + *pPORTF_FER |= PF0 | PF1 | PF2 | PF3 | PF4 | PF5 | PF6 | PF7; + + /* назначение SPORT RX на IVG7 */ + *pSIC_IAR2 = (*pSIC_IAR2 & 0xFFFFFFF0UL) | P16_IVG(7); + REGISTER_ISR(7, isr_sport_dma_rx); + /* SPORT TX оставляем на IVG9 */ + REGISTER_ISR(9, isr_sport_dma_tx); + + /* настройка HostDMA-интерфейса */ + hdma_init(); + + + /* если SDRAM не настроена, то инициализируем ее */ + if (*pEBIU_SDSTAT & SDRS) { + uint32_t* a=0; + *pEBIU_SDRRC = L502_SDRAM_SDRRC; + *pEBIU_SDBCTL = L502_SDRAM_SDBCTL; + *pEBIU_SDGCTL = L502_SDRAM_SDGCTL; + ssync(); + + *a = 0; /* записываем по нулевому адресу произвольное слово, чтобы активировать память */ + + while (*pEBIU_SDSTAT & SDRS) {} + } + + /* инициализируем параметры для потоков ввода/вывода */ + l502_stream_init(); + + +} diff --git a/src/l502_params.c b/src/l502_params.c new file mode 100644 index 0000000..b0c1fcc --- /dev/null +++ b/src/l502_params.c @@ -0,0 +1,208 @@ +/** @addtogroup config_params + @{ + @file l502_params.c + Файл содержит функции по обработке команд от ПК на установку параметров + конфигурации сбора данных и других параметров. + Только в данном файле должны быть изменения полей структуры общих + настроек - g_set. + Так же здесь */ + + +#include +#include + +#include "l502_global.h" +#include "l502_cmd.h" +#include "l502_fpga.h" +#include "l502_params.h" +#include "l502_stream.h" + + + +/* проверка правильного режима синхронизации */ +#define CHECK_SYNC_MODE(cmd) (((cmd) != L502_SYNC_INTERNAL) \ + && ((cmd) !=L502_SYNC_EXTERNAL_MASTER) \ + && ((cmd) != L502_SYNC_DI_SYN1_RISE) \ + && ((cmd) != L502_SYNC_DI_SYN2_RISE) \ + && ((cmd) != L502_SYNC_DI_SYN1_FALL) \ + && ((cmd) != L502_SYNC_DI_SYN2_FALL) ? L502_BF_ERR_INVALID_CMD_PARAMS : 0) + + +t_settings g_set = { + .lch_cnt = 1, + .adc_freq_div = 1, + .adc_frame_delay = 0, + .din_freq_div = 2, + .ref_freq = L502_REF_FREQ_2000KHZ, + .out_freq_div = X502_OUT_FREQ_DIV_DEFAULT, + .sync_mode = L502_SYNC_INTERNAL, + .sync_start_mode = L502_SYNC_INTERNAL + }; + +t_module_info g_module_info; + + + + +/** @brief Установка количества логических каналов + + Проверка и запись в поле g_set.lch_cnt значение кол-ва каналов в логической + таблице АЦП. + + @param[in] lch_cnt Количество логических каналов (от 1 до #L502_LTABLE_MAX_CH_CNT) + @return Код ошибки */ +int32_t params_set_lch_cnt(uint32_t lch_cnt) { + if (lch_cnt > L502_LTABLE_MAX_CH_CNT) + return L502_BF_ERR_INVALID_CMD_PARAMS; + g_set.lch_cnt = lch_cnt; + return 0; +} + +/** @brief Установить параметры логического канала + + Функция проверяет входные параметры и записывает их в соответствующее поле + таблицы g_set.lch[] + + @param[in] index Номер логического канала [0, L502_LTABLE_MAX_CH_CNT-1] + @param[in] ch Номер физического канала (от 0 до 15 или 31) + @param[in] mode Режим измерения для данного лог. канала + @param[in] range Диапазон измерения для данного лог. канала + @param[in] avg Коэф. усреднения по данному лог. каналу + @param[in] flags Дополнительные флаги + @return Код ошибки */ +int32_t params_set_lch(uint32_t index, uint32_t ch, t_l502_lch_mode mode, + t_l502_adc_range range, uint32_t avg, uint32_t flags) { + if (index >= L502_LTABLE_MAX_CH_CNT) + return L502_BF_ERR_INVALID_CMD_PARAMS; + if ((mode!=L502_LCH_MODE_COMM) && (mode != L502_LCH_MODE_DIFF) && + (mode!=L502_LCH_MODE_ZERO)) + return L502_BF_ERR_INVALID_CMD_PARAMS; + if ((ch >= 32) || ((mode != L502_LCH_MODE_COMM) && (ch>=16))) + return L502_BF_ERR_INVALID_CMD_PARAMS; + + + g_set.lch[index].phy_ch = ch; + g_set.lch[index].mode = mode; + g_set.lch[index].range = range; + g_set.lch[index].avg = avg; + g_set.lch[index].flags = flags; + return 0; +} + +/** Установка делителя частоты АЦП + @param[in] div Значение делителя + @return Код ошибки */ +int32_t params_set_adc_freq_div(uint32_t div) { + if ((div==0) || (div > L502_ADC_FREQ_DIV_MAX)) + return L502_BF_ERR_INVALID_CMD_PARAMS; + g_set.adc_freq_div = div; + return 0; +} + +/** Установка значения опорной частоты + @param[in] freq_code Значение частоты. Для внутренней может быть только + #L502_REF_FREQ_2000KHZ или #L502_REF_FREQ_1500KHZ + @return Код ошибки */ +int32_t params_set_ref_freq(uint32_t freq_code) { + g_set.ref_freq = freq_code; + return 0; +} +/** Установка значения межкадровой задержки + @param[in] delay Значение межкадровой задержки (от 0 до L502_ADC_INTERFRAME_DELAY_MAX) + @return Код ошибки */ +int32_t params_set_adc_interframe_delay(uint32_t delay) { + if (delay > L502_ADC_INTERFRAME_DELAY_MAX) + return L502_BF_ERR_INVALID_CMD_PARAMS; + g_set.adc_frame_delay = delay; + return 0; +} + +/** Установка источника опроной частоты синхронизации + @param[in] sync_mode Значение из #t_l502_sync_mode + @return Код ошибки */ +int32_t params_set_sync_mode(t_l502_sync_mode sync_mode) { + int32_t err = CHECK_SYNC_MODE(sync_mode); + if (!err) + g_set.sync_mode = sync_mode; + return err; +} + +/** Установка источника синхронизации старта сбора данных + @param[in] sync_mode Значение из #t_l502_sync_mode + @return Код ошибки */ +int32_t params_set_sync_start_mode(t_l502_sync_mode sync_mode) { + int32_t err = CHECK_SYNC_MODE(sync_mode); + if (!err) + g_set.sync_start_mode = sync_mode; + return err; +} + + +/** Установка делителя частоты синхронного ввода цифровых линий + @param[in] div Значение делителя + @return Код ошибки */ +int32_t params_set_din_freq_div(uint32_t div) { + if ((div==0) || (div > L502_DIN_FREQ_DIV_MAX)) + return L502_BF_ERR_INVALID_CMD_PARAMS; + g_set.din_freq_div = div; + return 0; +} + +/** Установка делителя частоты вывода на ЦАП + @param[in] div Значение делителя (1 или 2) + @return Код ошибки */ +int32_t params_set_dac_freq_div(uint32_t div) { + if ((div < X502_OUT_FREQ_DIV_MIN) || (div > X502_OUT_FREQ_DIV_MAX)) + return L502_BF_ERR_INVALID_CMD_PARAMS; + g_set.out_freq_div = div; + return 0; +} + + + + +/** @brief Запись параметров сбора в регистры ПЛИС + + Функция выполняет запись всех параметров из структуры #g_set в регистры + ПЛИС. Функция может вызываться только когда сбор данных остановлен. + + @return Код ошибки */ +int32_t configure(void) { + uint16_t ch; + + int32_t err = g_mode != L502_BF_MODE_IDLE ? L502_BF_ERR_STREAM_RUNNING : 0; + if (!err) { + /* записываем логическую таблицу */ + for (ch = 0; ch < g_set.lch_cnt; ch++) { + uint32_t wrd = ((g_set.lch[ch].phy_ch & 0xF) << 3) | (g_set.lch[ch].range & 0x7); + + if (g_set.lch[ch].mode == L502_LCH_MODE_ZERO) { + wrd |= (3 << 7); + } else if (g_set.lch[ch].mode == L502_LCH_MODE_COMM) { + wrd |= (g_set.lch[ch].phy_ch & 0x10 ? 2 : 1) << 7; + } + + if (g_set.lch[ch].avg) + wrd |= ((g_set.lch[ch].avg-1) & 0x7F) << 9; + + fpga_reg_write(L502_REGS_IOHARD_LTABLE + g_set.lch_cnt - 1 - ch, wrd); + } + + fpga_reg_write(L502_REGS_IOHARD_LCH_CNT, g_set.lch_cnt - 1); + + fpga_reg_write(L502_REGS_IOHARD_ADC_FREQ_DIV, g_set.adc_freq_div - 1); + fpga_reg_write(L502_REGS_IOARITH_ADC_FREQ_DIV, g_set.adc_freq_div - 1); + + fpga_reg_write(L502_REGS_IOHARD_ADC_FRAME_DELAY, g_set.adc_frame_delay); + + fpga_reg_write(L502_REGS_IOHARD_IO_MODE, (g_set.sync_mode & 0x7) + | ((g_set.sync_start_mode&0x7)<<3) + | ((g_set.ref_freq==L502_REF_FREQ_2000KHZ ? 0 : 2) << 7) + | (((g_set.out_freq_div-1)&0x3FF)<<9)); + + fpga_reg_write(L502_REGS_IOHARD_DIGIN_FREQ_DIV, g_set.din_freq_div - 1); + } + return err; +} + +/** @} */ diff --git a/src/l502_params.h b/src/l502_params.h new file mode 100644 index 0000000..ce3bfd7 --- /dev/null +++ b/src/l502_params.h @@ -0,0 +1,79 @@ +/** @defgroup config_params Настройки сбора данных модуля */ + +/***************************************************************************//** + @addtogroup config_params + @{ + @file l502_params.h + Файл содержит определение структур, описывающих текущие + настройки сбора данных для модуля и объявляет + внешнюю переменную g_set, содержащую эти параметры +*******************************************************************************/ + +#ifndef L502_PARAMS_H_ +#define L502_PARAMS_H_ + + +#include "l502_defs.h" + +/** Калибровочные коэффициенты ЦАП */ +typedef struct { + float offs; /**< Смещение нуля */ + float k; /**< Коэффициент шкалы */ +} t_dac_cbr_coef; + +/** Информация о используемом модуле */ +typedef struct { + uint32_t devflags; /**< Флаги с информацией о наличии опций и сост. модуля */ + uint16_t fpga_ver; /**< Версия FPGA */ + uint8_t plda_ver; /**< Версия PLDA */ + t_dac_cbr_coef dac_cbr[L502_DAC_CH_CNT]; /**< Коэффициенты ЦАП */ +} t_module_info; + + +/** Параметры логического канала */ +typedef struct { + uint8_t phy_ch; /**< Номер физического канала */ + uint8_t mode; /**< Режим сбора */ + uint8_t range; /**< Диапазон */ + uint8_t avg; /**< Коэф. усреднения */ + uint32_t flags; /**< Доп. флаги */ +} t_lch; + + +/** Настройки сбора данных */ +typedef struct { + /** Таблица логических каналов */ + t_lch lch[L502_LTABLE_MAX_CH_CNT]; + uint16_t lch_cnt; /**< Количество каналов в лог. таблице */ + uint32_t adc_freq_div; /**< Делитель частоты АЦП */ + uint32_t din_freq_div; /**< Делитель частоты для цифрового входа */ + uint32_t adc_frame_delay; /**< Межкадровая задержка */ + uint32_t ref_freq; /**< Значение опорной частоты (2 или 1.5 МГц) или внешняя */ + uint16_t out_freq_div; /**< Делитель частоты вывода */ + uint8_t sync_mode; /**< Режим синхронизации для опорной частоты */ + uint8_t sync_start_mode; /**< Режим запуска сигнала синхронизации */ +} t_settings; + +/** Структура, содержащая текущие настройки сбора данных */ +extern t_settings g_set; +/** Структура, содержащая информацию о модуле */ +extern t_module_info g_module_info; + +int32_t configure(void); + +int32_t params_set_lch_cnt(uint32_t lch_cnt); +int32_t params_set_lch(uint32_t index, uint32_t ch, t_l502_lch_mode mode, + t_l502_adc_range range, uint32_t avg, uint32_t flags); +int32_t params_set_adc_freq_div(uint32_t div); +int32_t params_set_adc_interframe_delay(uint32_t delay); +int32_t params_set_ref_freq(uint32_t freq_code); +int32_t params_set_sync_mode(t_l502_sync_mode sync_mode); +int32_t params_set_sync_start_mode(t_l502_sync_mode sync_mode); +int32_t params_set_din_freq_div(uint32_t div); +int32_t params_set_dac_freq_div(uint32_t div); +int32_t params_set_dac_freq_div(uint32_t div); + + +#endif + +/** @} */ diff --git a/src/l502_sport_rx.h b/src/l502_sport_rx.h new file mode 100644 index 0000000..5f78178 --- /dev/null +++ b/src/l502_sport_rx.h @@ -0,0 +1,23 @@ +/** @defgroup sport_rx Прием потока данных по SPORT0 */ + +/***************************************************************************//** + @addtogroup sport_rx + @{ + @file l502_sport_rx.h + + Файл содержит описания функций для управления приемом потока по SPORT0 + ******************************************************************************/ + +#ifndef L502_SPORT_RX_H +#define L502_SPORT_RX_H + +#include + +void sport_rx_start(void); +void sport_rx_stop(void); +int32_t sport_in_set_step_size(uint32_t size); + + +#endif // L502_SPORT_RX_H + +/** @} */ diff --git a/src/l502_sport_tx.c b/src/l502_sport_tx.c new file mode 100644 index 0000000..e524324 --- /dev/null +++ b/src/l502_sport_tx.c @@ -0,0 +1,238 @@ +/** @addtogroup sport_tx + @{ + @file l502_sport_tx.c + Файл содержит логику для управления передачей по SPORT0. + Изначально DMA должен быть проинициализирован с помощью sport_tx_init(), + Передача начинается с помщью sport_tx_start_req(). Можно поставить до 16 + запросов одновременно. + Останвить все текущие передачи можно с помощью sport_tx_stop(). + ***********************************************************************/ + + + +#include +#include + + +#include +#include +#include +#include "l502_sport_tx.h" +#include "l502_cdefs.h" +#include "l502_fpga_regs.h" +#include "l502_fpga.h" +#include "l502_bf_cmd_defs.h" +#include "l502_defs.h" +#include "l502_stream.h" + +#define SPORT_TX_DESCR_CNT 16 + +#define SPORT_TX_DMA_CFG_WAIT (DMAEN | DI_EN | WDSIZE_16 | SYNC) +#define SPORT_TX_DMA_CFG_START (SPORT_TX_DMA_CFG_WAIT | NDSIZE_5 | FLOW_SMALL) + + + +/* дескриптор DMA размера 5 16-битных слов */ +typedef struct { + uint16_t ndpl; + uint16_t sal; + uint16_t sah; + uint16_t cfg; + uint16_t xcnt; +} t_sport_dma_descr; + + +static t_sport_dma_descr f_descrs[SPORT_TX_DESCR_CNT]; +static uint8_t f_put_descr, f_done_descr; +static volatile int f_put_cnt, f_done_cnt; +static int f_first; + +static volatile int f_tx_was_empty = 0; + +void sport_tx_done(uint32_t* addr, uint32_t size); + +/***************************************************************************//** + @brief Чтение флагов статуса вывода + @return Флаги статуса --- набор битов из #t_x502_out_status_flags, + объединенных через логическое “ИЛИ”. + ******************************************************************************/ +uint32_t sport_tx_out_status(void) { + uint32_t ret = 0; + if (f_put_cnt == f_done_cnt) + ret |= X502_OUT_STATUS_FLAG_BUF_IS_EMPTY; + if (f_tx_was_empty) { + ret |= X502_OUT_STATUS_FLAG_BUF_WAS_EMPTY; + f_tx_was_empty = 0; + } + return ret; +} + + + +/** @brief Начальная инициализация канала DMA на передачу по SPORT. + + Функция устанавливает параметры DMA которые не меняются при последующей работе + прошивки */ +void sport_tx_init(void) { + int i; + for (i=0; i < SPORT_TX_DESCR_CNT; i++) { + f_descrs[i].cfg = SPORT_TX_DMA_CFG_WAIT; + f_descrs[i].ndpl = i==(SPORT_TX_DESCR_CNT-1) ? (uint32_t)&f_descrs[0]&0xFFFF : + (uint32_t)&f_descrs[i+1]&0xFFFF; + } + + *pDMA4_NEXT_DESC_PTR = f_descrs; + *pDMA4_X_MODIFY = 2; + f_put_cnt = f_done_cnt = 0; + f_put_descr = f_done_descr = 0; + f_first = 1; +} + + +/* Функция разрешает канал DMA для передачи данных в SPORT0 и саму передачу + * для SPORT 0 */ +static void f_sport_tx_start(void) { + /* разрешаем передачу по SPORT'у */ + *pSPORT0_TCR1 |= TSPEN; + f_first = 0; + f_tx_was_empty = 0; +} + + +/** @brief Останов сбора по SPORT0. + * + * Функция запрещает прием по SPORT0 и соответствующий канал DMA на прем */ +void sport_tx_stop(void) { + *pSIC_IMASK0 &= ~IRQ_DMA4; + + *pDMA4_CONFIG = 0; + /* нужно подождать до 3-х циклов, чтобы DMA действительно завершился */ + ssync(); + ssync(); + ssync(); + /* запрет передачи по SPORT */ + *pSPORT0_TCR1 &= ~TSPEN; + /* сбрасываем признаки прерываний от DMA */ + *pDMA4_IRQ_STATUS = DMA_DONE | DMA_ERR; + + /* заново инициализируем все дескрипторы */ + sport_tx_init(); +} + +/**************************************************************************//** + @brief Получить количество свободных дескрипторов на передачу + + Функция возвращает количество запросов, которое можно поставить в очередь + на передачу с помощью sport_tx_start_req(). + @return Количество запросов на передачу, которое можно поставить в очередь + ******************************************************************************/ +int sport_tx_req_rdy(void) { + return SPORT_TX_DESCR_CNT - (f_put_cnt - f_done_cnt + 1); +} + + +/**************************************************************************//** + @brief Поставить запрос на передачу по SPORT0 + + Функция ставит запрос на передачу указанных данных. Сами данные не копируются, + т.е. буфер нельзя будет использовать до того, как данные не будут переданы! + Для постановки запроса необходимо, чтобы был свободный дескриптор (можно + узнать через sport_tx_req_rdy()). + + Количество слов в запросе не должно превышать #SPORT_TX_REQ_SIZE_MAX + + При добавление первого дескриптора автомтически разрешается передача по + DMA и SPORT0. + + @param[in] buf Указатель на массив на передачу. + @param[in] size Количество 32-битных слов на передачу +*******************************************************************************/ +void sport_tx_start_req(uint32_t* buf, uint32_t size) { + /* запрещаем прерывание от DMA на случай гонок с изменением позиций */ + *pSIC_IMASK0 &= ~IRQ_DMA4; + + f_descrs[f_put_descr].sal = (uint32_t)buf & 0xFFFF; + f_descrs[f_put_descr].sah = ((uint32_t)buf >> 16) & 0xFFFF; + f_descrs[f_put_descr].xcnt = size*2; + f_descrs[f_put_descr].cfg = SPORT_TX_DMA_CFG_WAIT; + /* убеждаемся, что данные будут уже записаны в память к моменту запуска DMA */ + ssync(); + + /* если DMA сейчас остановлен => запускаем его */ + if (f_put_cnt==f_done_cnt) { + uint32_t cfg_wrd = SPORT_TX_DMA_CFG_START; + *pDMA4_CONFIG = cfg_wrd; + if (f_first) + f_sport_tx_start(); + } + + if (f_put_cnt!=f_done_cnt) { + uint8_t prev_descr = (f_put_descr==0) ? SPORT_TX_DESCR_CNT-1 : f_put_descr-1; + f_descrs[prev_descr].cfg = SPORT_TX_DMA_CFG_START; + } + + if (++f_put_descr==SPORT_TX_DESCR_CNT) + f_put_descr=0; + f_put_cnt++; + + *pSIC_IMASK0 |= IRQ_DMA4; +} + + +/** @brief Обработчик прерывания по SPORT0 на завершение передачи. + + Прерывание возникает, когда был передан блок данных по SPORT0, соответствующий + одному дескриптору. + Функция рассчитывает количество переданных данных и вызывает sport_tx_done(). + Также функция помечает дескриптор как свободный и при необходимости + снова запускает DMA (если он был остановлен, но при этом уже добавлен новый + дескриптор на передачу) */ +ISR( isr_sport_dma_tx) { + if (*pDMA4_IRQ_STATUS & DMA_DONE) { + uint32_t* addr; + uint32_t size; + uint32_t status; + + *pDMA4_IRQ_STATUS = DMA_DONE; + + /* обработку выполняем только в случае, если есть начатые, но не завершенные + дескрипторы */ + if (f_done_cnt != f_put_cnt) { + f_done_cnt++; + + f_descrs[f_done_descr].cfg = SPORT_TX_DMA_CFG_WAIT; + + addr = ((uint32_t*)(f_descrs[f_done_descr].sal | + ((uint32_t)f_descrs[f_done_descr].sah<<16)) + f_descrs[f_done_descr].xcnt*2); + size = f_descrs[f_done_descr].xcnt/2; + if (!size) + size = 0x8000; + sport_tx_done(addr, size); + + if (++f_done_descr==SPORT_TX_DESCR_CNT) + f_done_descr=0; + + ssync(); + + status = *pDMA4_IRQ_STATUS; + /* если DMA остановлен, а дескрипторы на передачу еще есть => запускаем снова */ + if ((f_done_cnt != f_put_cnt) && !(status & DMA_RUN)) { + *pDMA4_CONFIG = SPORT_TX_DMA_CFG_START; + } + + if (f_done_cnt == f_put_cnt) { + ssync(); + } + + if ((g_stream_out_state == OUT_STREAM_RUN) && (f_done_cnt == f_put_cnt)) + f_tx_was_empty = 1; + } + } + + if (*pDMA4_IRQ_STATUS & DMA_ERR) { + *pDMA4_IRQ_STATUS = DMA_ERR; + } + +} + +/** @} */ diff --git a/src/l502_sport_tx.h b/src/l502_sport_tx.h new file mode 100644 index 0000000..e845a7f --- /dev/null +++ b/src/l502_sport_tx.h @@ -0,0 +1,28 @@ +/** @defgroup sport_tx Передача потока данных по SPORT0 */ + +/***************************************************************************//** + @addtogroup sport_tx + @{ + @file l502_sport_tx.h + + Файл содержит описания функций для управления передачи потока по SPORT0 + ******************************************************************************/ + +#ifndef L502_SPORT_TX_H +#define L502_SPORT_TX_H + +/** Максимальный размер при передаче в функцию sport_tx_start_req() */ +#define SPORT_TX_REQ_SIZE_MAX (16*1024) + +void sport_tx_init(void); +void sport_tx_stop(void); +int sport_tx_req_rdy(void); + + +void sport_tx_start_req(uint32_t* addr, uint32_t size); + +uint32_t sport_tx_out_status(void); + +#endif + +/** @} */ diff --git a/src/l502_stream.c b/src/l502_stream.c new file mode 100644 index 0000000..11b93dc --- /dev/null +++ b/src/l502_stream.c @@ -0,0 +1,570 @@ +/** + @addtogroup streams + @{ + + @file l502_stream.c + Файл содержит функции обработки потоков от АЦП/DIN в ПК и от ПК в ЦАП/DOUT. + Также в этот файл внесена реализация функций приема по SPORT0, так как они + связаны с логикой управления потоков. + */ + + +#include +#include + +#include +#include +#include + +#include "l502_cdefs.h" +#include "l502_cmd.h" +#include "l502_fpga.h" +#include "l502_defs.h" +#include "l502_global.h" +#include "l502_hdma.h" +#include "l502_sport_tx.h" +#include "l502_user_process.h" +#include "l502_stream.h" +#include "l502_sport_rx.h" + + +/** Размер буфера на прием данных по SPORT0 в 32-битных словах */ +#define L502_SPORT_IN_BUF_SIZE (2048*1024) +/** Размер буфера для приема данных по HostDMA на вывод в 32-битных словах */ +#define L502_HDMA_OUT_BUF_SIZE (1024*1024) + +/** Шаг прерываний для приема данных по SPORT0 по-умолчанию */ +#define L502_DEFAULT_SPORT_RX_BLOCK_SIZE (32*1024) + + + + +t_in_stream_state g_stream_in_state = IN_STREAM_STOP; +t_out_stream_state g_stream_out_state = OUT_STREAM_STOP; +/** Режим работы - определяет, запущен ли синхронный сбор или тест */ +volatile int g_mode = L502_BF_MODE_IDLE; + +int g_streams = L502_STREAM_ADC; +static int f_bf_reg = 0; + +/* слово, обозначающее, что произошло переполнение */ +static const uint32_t f_overflow_wrd = L502_STREAM_IN_MSG_OVERFLOW; + + + +/* буфер для приема digin и данных АЦП от SPORT (в неинициализируемой области) */ +#include "l502_sdram_noinit.h" +static volatile uint32_t f_sport_in_buf[L502_SPORT_IN_BUF_SIZE]; +/* позиция в буфере в которую будет записан следующий принятых отсчет */ +static volatile uint32_t f_sport_in_put_pos = 0; +/* позиция в буфере за последним обработанным отсчетом */ +static uint32_t f_sport_in_proc_pos = 0; +/* позиция в буфере за последним изятым из буфера отсчетом (позиция первого занятого отсчета) */ +static volatile uint32_t f_sport_in_get_pos = 0; +/* шаг прерываний на прием по SPORT0 */ +static uint32_t f_sport_in_block_size = L502_DEFAULT_SPORT_RX_BLOCK_SIZE; +/* реально используемый размер входного буфера на прием */ +static uint32_t f_sport_in_buf_size = L502_SPORT_IN_BUF_SIZE; + + +/* буфер для прв кинятых данных по HDMA для вывода на ЦАП и DIGOUT */ +#include "l502_sdram_noinit.h" +static volatile uint32_t f_hdma_out_buf[L502_HDMA_OUT_BUF_SIZE]; +static volatile uint32_t f_hdma_out_put_pos = 0; /* указатель на позицию за последним принятым по HDMA */ +static uint32_t f_hdma_out_start_pos; /* указатель на позицию за последним поставленным на прием словом + (с нее будет стартовать следующий запрос) */ +static volatile uint32_t f_hdma_out_get_pos = 0; /* указатель на позицию за последним обработанным словом + (с нее будет взято следующее слово для обработки, когда будет готово */ +static int f_hdma_out_block_size = 0x8000; +static int f_hdma_out_proc_pos; + +static uint32_t f_recv_size = 0; + + + + + + + +/* функция вызывается при возникновении переполнения буфера на прием + по SPORT'у данных АЦП/DIGIN */ +static void f_stream_in_set_overflow(void) { + /* останавливаем прием данных от АЦП */ + sport_rx_stop(); + /* устанавливаем флаг, что нужно передать сообщение о + переполнении */ + g_stream_in_state = IN_STREAM_OV_ALERT; +} + + + + + +/** @brief Начальная инициализация параметров для синхронных потоков */ +void l502_stream_init(void) { + /* останавливаем сбор данных, если он был запущен */ + fpga_reg_write(L502_REGS_IOHARD_GO_SYNC_IO, 0); + fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, 0); + /* настройка DMA на передачу по SPORT */ + sport_tx_init(); +} + + +/** @brief Запуск предзагрузки данных на вывода + + Данная функция запускает предзагрузку данных потока на вывод. + Используется, чтобы загрузить данные в буфер BlackFin до запуска синхронного + ввода-вывода. + @return Код ошибки */ +int32_t stream_out_preload(void) { + int32_t err = g_stream_out_state==OUT_STREAM_RUN ? L502_BF_ERR_STREAM_RUNNING : + 0; + if (!err) { + f_hdma_out_get_pos = f_hdma_out_start_pos = + f_hdma_out_put_pos = f_hdma_out_proc_pos = 0; + + /* разрешаем прием по HDMA */ + hdma_recv_start(); + /* запускаем первый блок на прием (остальные будут + добавлены из stream_proc() */ + f_hdma_out_start_pos+=f_hdma_out_block_size; + hdma_recv_req_start((uint32_t*)f_hdma_out_buf, f_hdma_out_block_size); + + g_stream_out_state = OUT_STREAM_PRELOAD; + } + return err; +} + + +static void f_set_streams(uint32_t streams) { + uint32_t wrd_en = 0; + + /* если уже запущен потоковый режим и разрешается один из + потоков на ввод, то инициализируем прием по SPORT и передачу по hdma */ + if (g_mode == L502_BF_MODE_STREAM) { + if ((streams & L502_STREAM_ALL_IN) && !(g_streams & L502_STREAM_ALL_IN)) { + sport_rx_start(); + } + + if (!(streams & L502_STREAM_ALL_IN) && (g_streams & L502_STREAM_ALL_IN)) { + sport_rx_stop(); + } + } + + /* изменяем разрешенные потоки в регистре FPGA */ + if (streams & L502_STREAM_ADC) + wrd_en |= 0x1; + if (streams & L502_STREAM_DIN) + wrd_en |= 0x2; + fpga_reg_write(L502_REGS_IOARITH_IN_STREAM_ENABLE, wrd_en); + + + /** @todo: разрешение на лету выходных потоков */ + + g_streams = streams; +} + +/** @brief Разрешение указанных синхронных потоков + @param[in] streams Битовая маска из #t_l502_streams, указывающая какие потоки + должны быть разрешены (в дополнения к уже разрешенным) + @return Код ошибки */ +int32_t stream_enable(uint32_t streams) { + f_set_streams(g_streams | streams); + return 0; +} + + +/** @brief Запрещение указанных синхронных потоков + @param[in] streams Битовая маска из #t_l502_streams, указывающая какие потоки + должны быть запрещены + @return Код ошибки */ +int32_t stream_disable(uint32_t streams) { + f_set_streams(g_streams & ~streams); + return 0; +} + +/***************************************************************************//** + @brief Запуск синхронного ввода-вывода + + Функция запускает синхронный ввод-вывод платы. + При этом начинается передача по всем ранее разрешенным потокам с помощью + stream_enable(). + После вызова этой функции изменять настройки модуля уже нельязя, однако + можно дополнительно разрешать или запрещать потоки через stream_enable() + или stream_disable(). + + @return Код ошибки. + ***************************************************************************/ +int32_t streams_start(void) { + int32_t err = g_mode != L502_BF_MODE_IDLE ? L502_BF_ERR_STREAM_RUNNING : 0; + if (!err) { + /* прием по SPORT инициализируется всесте с началом запуска + синхронного сбора */ + f_sport_in_put_pos = f_sport_in_get_pos = f_sport_in_proc_pos = 0; + + + if (g_streams & L502_STREAM_ALL_IN) { + sport_rx_start(); + g_stream_in_state = IN_STREAM_RUN; + } + + hdma_send_start(); + + f_set_streams(g_streams); + + if (g_streams & L502_STREAM_ALL_OUT) { + /* разрешаем ПЛИС генерацию TFS по SPORT */ + f_bf_reg |= L502_REGBIT_IOHARD_OUT_TFS_EN_Msk; + fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, f_bf_reg); + + + /* если не было предзагрузки до запуска, + то запускаем прием сейчас */ + if ((g_stream_out_state == OUT_STREAM_STOP) || + (g_stream_out_state == OUT_STREAM_ERR)) { + stream_out_preload(); + } + + if (g_stream_out_state == OUT_STREAM_PRELOAD) { + /* выполняем предзагрузку данных */ + fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, f_bf_reg | 1); + g_stream_out_state = OUT_STREAM_RUN; + } + } + + + + /* Так как конвейер автомата управления входной коммутации АЦП состоит + из 2-х стадий, для корректного синхронного старта необходимо в + ыполнить два раза предзагрузку. В противном случае, + время момента первого отсчета может не совпадать с моментом + запуска синхронизации + */ + fpga_reg_write(L502_REGS_IOHARD_PRELOAD_ADC, 1); + fpga_reg_write(L502_REGS_IOHARD_PRELOAD_ADC, 1); + + + fpga_reg_write(L502_REGS_IOHARD_GO_SYNC_IO, 1); + + g_mode = L502_BF_MODE_STREAM; + } + return err; +} + + + + +/** @brief Останов синхронных потоков ввода-вывода. + + По этой функции останавливаются все синхронные потоки. + Запрещается передача потоков по SPORT и по HostDMA + + @return Код ошибки */ +int32_t streams_stop(void) { + int32_t err = g_mode != L502_BF_MODE_STREAM ? L502_BF_ERR_STREAM_STOPPED : 0; + if (!err) { + hdma_send_stop(); + hdma_recv_stop(); + fpga_reg_write(L502_REGS_IOHARD_GO_SYNC_IO, 0); + + /* запрещаем прием и передачу по SPORT'у */ + sport_rx_stop(); + sport_tx_stop(); + + /* запрещаем генерацию TFS и RFS */ + f_bf_reg = 0; + fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, f_bf_reg); + + + g_mode = L502_BF_MODE_IDLE; + g_stream_in_state = IN_STREAM_STOP; + g_stream_out_state = OUT_STREAM_STOP; + } + return err; +} + + + +/** @brief Фоновая обработка потокой ввода-вывода + + Функция переодически вызывается из основного цикла программы. + При рабочем режиме, проверяются, есть + ли необработанные данные пришедшие от АЦП/DIGIN и/или пришедшие от ПК данные + на ЦАП или DOUT. При их наличии вызывается соответствующая функция пользовательской + обработки данных. + Также, если было переполнение и все данные до переполнения были обработаны, + то в ПК посылается слово о том, что в этом месте произошло переполнение */ +void stream_proc(void) { + /* если запущен поток ввода */ + if ((g_stream_in_state != IN_STREAM_STOP) && (g_stream_in_state != IN_STREAM_ERR)) { + uint32_t sport_rdy_size; + uint32_t put_pos = f_sport_in_put_pos; + + /* смотрим, сколько принято необработанных данных по sport'у */ + sport_rdy_size = put_pos >= f_sport_in_proc_pos ? + put_pos - f_sport_in_proc_pos : f_sport_in_buf_size - f_sport_in_proc_pos; + /* если есть необработанные данные - вызываем функцию для обработки */ + if (sport_rdy_size) { + uint32_t processed = usr_in_proc_data( + (uint32_t*)&f_sport_in_buf[f_sport_in_proc_pos], + sport_rdy_size); + /* обновляем счетчик обработканных данных */ + f_sport_in_proc_pos += processed; + if (f_sport_in_proc_pos==f_sport_in_buf_size) + f_sport_in_proc_pos = 0; + } + + /* если было переполнение - нужно передать слово о переполнениии. + передаем его после того, как передадим все слова до переполнения */ + if ((g_stream_in_state == IN_STREAM_OV_ALERT) && !sport_rdy_size && hdma_send_req_rdy()) { + hdma_send_req_start(&f_overflow_wrd, 1, 1); + g_stream_in_state = IN_STREAM_ERR; + } + } + + /* если есть поток на вывод */ + if ((g_stream_out_state == OUT_STREAM_PRELOAD) || + (g_stream_out_state == OUT_STREAM_RUN)) { + + uint32_t hdma_rdy_size; + uint32_t put_pos = f_hdma_out_put_pos; + + /* проверяем, сколько есть необработанных данных, принятых по HDMA */ + hdma_rdy_size = put_pos >= f_hdma_out_proc_pos ? + put_pos - f_hdma_out_proc_pos : L502_HDMA_OUT_BUF_SIZE - f_hdma_out_proc_pos; + + + /* если такие есть -> пробуем обработать */ + if (hdma_rdy_size != 0) { + uint32_t processed = usr_out_proc_data( + (uint32_t*)&f_hdma_out_buf[f_hdma_out_proc_pos], + hdma_rdy_size); + + /* обновляем счетчик обработанных данных */ + f_hdma_out_proc_pos += processed; + if (f_hdma_out_proc_pos==L502_HDMA_OUT_BUF_SIZE) + f_hdma_out_proc_pos = 0; + } + + + /* если есть свободное место в буфере на прием и есть свободные + дескрипторы => ставим новый запрос на прием даннх */ + if (hdma_recv_req_rdy()) { + uint32_t get_pos = f_hdma_out_get_pos; + + hdma_rdy_size = f_hdma_out_start_pos >= get_pos ? + L502_HDMA_OUT_BUF_SIZE - f_hdma_out_start_pos + get_pos : + get_pos - f_hdma_out_start_pos; + if (hdma_rdy_size > f_hdma_out_block_size) { + hdma_recv_req_start((uint32_t*)&f_hdma_out_buf[f_hdma_out_start_pos], + f_hdma_out_block_size); + + f_hdma_out_start_pos+=f_hdma_out_block_size; + if (f_hdma_out_start_pos==L502_HDMA_OUT_BUF_SIZE) + f_hdma_out_start_pos = 0; + } + } + } +} + +/** @brief Освобождение size слов из буфера приема по SPORT0 + + Функция помечает, что size слов из начала той части буфера SPORT0, в которую + были приняты данные, но не освобождены, как освобожденные. Т.е. в эту область + снова можно будет принимать данные со SPORT0. + При этом надо всегда следить, чтобы количество освобожденных данных не + привышало количество обработанных! + + @param[in] size Размер освобожденных данных в 32-битных словах */ +void stream_in_buf_free(uint32_t size) { + /* обновляем позицию переданного слова */ + uint32_t get_pos = f_sport_in_get_pos; + get_pos += size; + if (get_pos >= f_sport_in_buf_size) + get_pos-= f_sport_in_buf_size; + f_sport_in_get_pos = get_pos; +} + +/** @brief Освобождение size слов из буфера приема по HostDMA + + Функция помечает, что size слов из начала той части буфера HostDMA, в которую + были приняты данные от ПК, но не освобождены, как освобожденные. Т.е. в эту область + снова можно будет принимать данные от ПК по HostDMA. + При этом надо всегда следить, чтобы количество освобожденных данных не + привышало количество обработанных! + + @param[in] size Размер освобожденных данных в 32-битных словах */ +void stream_out_buf_free(uint32_t size) { + uint32_t get_pos = f_hdma_out_get_pos; + get_pos += size; + if (get_pos >= L502_HDMA_OUT_BUF_SIZE) + get_pos -= L502_HDMA_OUT_BUF_SIZE; + f_hdma_out_get_pos = get_pos; +} + +/** @brief Обработка завершения приема по HostDMA + + Функция вызывается из обработчика прерывания, когда завершился прием + блока данных по HDMA в ПК, поставленного до этого на передачу с + помощью hdma_recv_req_start(). + Функция просто обновляет счетчик принятых данных (а обработка будет уже + из фоновой функции stream_proc(). + + @param[in] addr Адрес слова, сразу за последним принятым словом. + @param[in] size Количество принятых 32-битных слов */ +void hdma_recv_done(uint32_t* addr, uint32_t size) { + /* обновляем позицию принятого слова */ + uint32_t put_pos = f_hdma_out_put_pos; + put_pos += size; + if (put_pos == L502_HDMA_OUT_BUF_SIZE) + put_pos = 0; + f_hdma_out_put_pos = put_pos; +} + + + + + +/** @brief Размер буфера на прием. + + Функция возвращает размер буфера на прием по SPORT0 + @return размер буфера на прием в 32-битных словах */ +extern uint32_t sport_in_buffer_size(void) { + return L502_SPORT_IN_BUF_SIZE; +} + +/** @} */ + + +/** @addtogroup sport_rx + @{ */ + +/** @brief Установка шага прерывания для према по SPORT0 + + Функция устанавливает шаг прерываний для DMA, использующегося для + приема данных синхронного ввода. + При этом размер шага должен быть как имнимум в 4 раза меньше размера + буфера #L502_SPORT_IN_BUF_SIZE. + После установки шага определяется реально используемый размер буфера, + как наибольшее число кратное шагу и не превышающее #L502_SPORT_IN_BUF_SIZE. + + @param[in] size Размер шага прерывания в 32-битных словах + @return Код ошибки */ +int32_t sport_in_set_step_size(uint32_t size) { + int mul; + if ((size >= L502_SPORT_IN_BUF_SIZE/4) || (size > 0x8000)) + return L502_BF_ERR_INVALID_CMD_PARAMS; + mul = L502_SPORT_IN_BUF_SIZE/size; + /* не может быть боьше 0x8000 шагов, так как регистр + YCNT 16-разрядный (+ еще умножаем на 2) */ + if (mul > 0x8000) + mul = 0x8000; + f_sport_in_buf_size = size*mul; + f_sport_in_block_size = size; + return 0; +} + + +/** @brief Запуск сбора данных по SPORT0 + + Функция настраивает DMA3 на режим автобуфера с 2D, размер шага выбирается + равным f_sport_in_block_size. После чего разрешается канал DMA и + прием по SPORT0 */ +void sport_rx_start(void) { + static volatile int dummy; + /* запрещаем DMA */ + *pDMA3_CONFIG = 0; + ssync(); + /* вычитываем все данные из буфера, если они были */ + while (*pSPORT0_STAT & RXNE) { + dummy = *pSPORT0_RX16; + ssync(); + } + + /* настраиваем DMA */ + *pDMA3_START_ADDR = (void*)f_sport_in_buf; + *pDMA3_X_COUNT = 2*f_sport_in_block_size; /* так как SPORT настроен на 16 бит (хоть и 2 канала), + а размер в 32 битных словах => умножаем на 2) */ + *pDMA3_X_MODIFY = 2; + *pDMA3_Y_COUNT = f_sport_in_buf_size/f_sport_in_block_size;; + *pDMA3_Y_MODIFY = 2; + *pDMA3_CURR_ADDR = (void*)f_sport_in_buf; + *pDMA3_CONFIG = FLOW_AUTO | DI_EN | DI_SEL | SYNC | DMA2D | WNR | WDSIZE_16; + + + ssync(); + /* разрешаем DMA */ + *pSIC_IMASK0 |= IRQ_DMA3; + *pDMA3_CONFIG |= DMAEN; + /* разрешаем прием по SPORT'у */ + *pSPORT0_RCR1 |= RSPEN; + + /* разрешаем генерацию RFS на SPORT0 */ + f_bf_reg |= L502_REGBIT_IOHARD_OUT_RFS_EN_Msk; + fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, f_bf_reg); +} + + + +/** @brief Останов сбора данных по SPORT0 + + Функция запрещает прием по SPORT0 и останавливает DMA */ +void sport_rx_stop(void) { + /* останавливаем генерацию RFS */ + f_bf_reg &= ~L502_REGBIT_IOHARD_OUT_RFS_EN_Msk; + fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, f_bf_reg); + + ssync(); + ssync(); + + /* запрещаем прием по SPORT */ + *pSPORT0_RCR1 &= ~RSPEN; + /* запрещаем DMA */ + *pDMA3_CONFIG =0; //&= ~DMAEN; + *pSIC_IMASK0 &= ~IRQ_DMA3; + //ssync(); +} + +/** @brief Обработчик прерывания по SPORT0 на прием. + + Прерывание возникает, когда был принят блок данных по SPORT0. + Обновляем указатель принятых данных и проверяем переполнение */ +ISR(isr_sport_dma_rx) { + if (*pDMA3_IRQ_STATUS & DMA_DONE) { + uint32_t rdy_put_pos; + /* сбрасываем прерывание от DMA */ + *pDMA3_IRQ_STATUS = DMA_DONE; + + /* обновляем количество принятых данных на размер блока */ + f_sport_in_put_pos += f_sport_in_block_size; + if (f_sport_in_put_pos == f_sport_in_buf_size) + f_sport_in_put_pos = 0; + + /* смотрим, сколько свободно места в буфере на прием */ + uint32_t get_pos = f_sport_in_get_pos; + rdy_put_pos = f_sport_in_put_pos > get_pos ? + f_sport_in_buf_size -f_sport_in_put_pos + get_pos : + get_pos - f_sport_in_put_pos; + + + f_recv_size += f_sport_in_block_size; + + /* если осталось не больше блока - то считаем за переполнение, + т.к. тогда при следующем прерывании уже могут быть испорчены + принятые ранее данные */ + if (rdy_put_pos < 2*f_sport_in_block_size) { + f_stream_in_set_overflow(); + } + } +} + +/** @} */ + + + + + + + + + diff --git a/src/l502_stream.h b/src/l502_stream.h new file mode 100644 index 0000000..24ff291 --- /dev/null +++ b/src/l502_stream.h @@ -0,0 +1,65 @@ +/** @defgroup streams Управление потоками сбора данных */ + +/***************************************************************************//** + @addtogroup streams + @{ + @file l502_stream.h + + Файл содержит описания функций для работы с интерфейсом HostDMA + ******************************************************************************/ + +#ifndef L502_STREAM_H_ +#define L502_STREAM_H_ + +#include + +/** Состояние потока на ввод */ +typedef enum { + IN_STREAM_STOP = 0, /**< Поток на ввод остановлен */ + IN_STREAM_RUN = 2, /**< Поток на ввод в рабочем режиме */ + IN_STREAM_OV_ALERT = 4, /**< Произошло переполнение - нужно сообщить о ошибке */ + IN_STREAM_ERR= 3 /**< Поток остановлен из-за ошибки/переполнения */ +} t_in_stream_state; + +/** Состояние потока на вывод */ +typedef enum { + OUT_STREAM_STOP = 0, /**< Поток на вывод остановлен */ + OUT_STREAM_PRELOAD = 1, /**< Идет предзагрузка данных - данные принимаются + от ПК, но еще не запущен синхронных сбор/выдача */ + OUT_STREAM_RUN = 2, /** Поток запущен на выдачу */ + OUT_STREAM_ERR = 3, /** Поток остановлен по ошибке (сейчас не используется) */ + OUT_STREAM_CYCLE = 4 /** Режим циклического буфера (сейчас не реализован) */ +} t_out_stream_state; + + +/** Состояние потока на ввод */ +extern t_in_stream_state g_stream_in_state; +/** Состояние потока на вывод */ +extern t_out_stream_state g_stream_out_state; +/** Режим работы прошивки из #t_l502_bf_mode */ +extern volatile int g_mode; +/** Флаги, обозначающие какие потоки разрешены */ +extern int g_streams; + + +int32_t streams_start(void); +int32_t streams_stop(void); + +int32_t stream_enable(uint32_t streams); +int32_t stream_disable(uint32_t streams); + +int32_t stream_out_preload(void); + + +void stream_in_buf_free(uint32_t size); +void stream_out_buf_free(uint32_t size); + + +uint32_t sport_in_buffer_size(void); +int32_t sport_in_set_step_size(uint32_t size); + + + +#endif + +/** @} */ diff --git a/src/l502_tests.c b/src/l502_tests.c new file mode 100644 index 0000000..f0c81ba --- /dev/null +++ b/src/l502_tests.c @@ -0,0 +1,421 @@ +/** @file l502_test.c + Данный файл содержит реализацию тестов аппаратуры. + Эти тесты используется при наладке прибора и не выполняется в штатном режиме работы, + однако включение их в прошивку позволяет выполнять проверку и после этапа наладки + (однако не во время сбора данных и т.п.) + + Для управления тестами предназначена специальная команда от PC к BlackFin: L502_BF_CMD_CODE_TEST. + Параметр этой каоманды определяет действие: + - запустить тест с заданным номером + - остановить текущий тест + - получить результаты выполняемого в данных момент теста или + последнего выполняемого теста (если тест остановлен). + + По какого-либо теста модуль переходит в етстовый режим (изменяется g_mode) + и выполняет функцию, соответствующую заданному тесту (из этой функции тест + должен переодически проверять приход других команд от PC). + Тест выполняется либо до ошибки, либо до прихода команды останова). + Узнать результат теста можно командой с параметром L502_BF_CMD_TEST_GET_RESULT. + + Доступны следующие тесты: + - Проверка SDRAM + - Проверка SPI + - Проверка SPORT + +**************************************************************************************************/ + + +#include +#include +#include + +#include "l502_cmd.h" +#include "l502_fpga.h" +#include "l502_sport_tx.h" + +#include + + + +extern int g_mode; + +/* модуль счетчика, используемого для тестов SDRAM и SPORT */ +#define L502_TEST_CNTR_MODULE 35317 + +/* размер одного банка SDRAM */ +#define SDRAM_BANK_SIZE (4UL*1024*1024*2) + +/* адреса банков SDRAM */ +static volatile uint16_t* bank1 = NULL; +static volatile uint16_t* bank2 = (uint16_t*)(SDRAM_BANK_SIZE); +static volatile uint16_t* bank3 = (uint16_t*)(2*SDRAM_BANK_SIZE); +static volatile uint16_t* bank4 = (uint16_t*)(3*SDRAM_BANK_SIZE); + + +#define SPORT_TEST_START_ADDR 0xFF900000 +#define SPORT_TEST_BUF_SIZE 4096 + +/* результат последнего теста */ +static t_l502_bf_test_res f_test_res; +/* номер последнего выполняемого теста */ +static int32_t f_cur_test_ind = -1; + +/* объявление функций запуска тестов */ +static int f_sdram_test(void); +static int f_spi_test(void); +static int f_sport_test(void); + + +/* стркутура, описывающая соответствия кода теста и функций теста */ +typedef struct { + uint32_t test_code; + int (*start)(void); + void (*get_result)(t_l502_bf_cmd *cmd); +} t_test_pars; +/* теблица соответствий функций и кодов тестов */ +static t_test_pars f_test_pars[] = { + { L502_BF_CMD_TEST_ECHO, NULL, NULL}, + { L502_BF_CMD_TEST_SPORT, f_sport_test, NULL}, + { L502_BF_CMD_TEST_SDRAM, f_sdram_test, NULL}, + { L502_BF_CMD_TEST_SPI, f_spi_test, NULL} +}; + + + + + +void l502_cmd_test(t_l502_bf_cmd *cmd) { + /* получение результата теста */ + if (cmd->param == L502_BF_CMD_TEST_GET_RESULT) { + /* если не было никакого теста - возвращаем ошибку */ + if (f_cur_test_ind == -1) { + l502_cmd_done(L502_BF_ERR_INVALID_CMD_PARAMS, NULL, 0); + } else { + f_test_res.run = (g_mode == L502_BF_MODE_TEST) ? 1 : 0; + + + if (f_test_pars[f_cur_test_ind].get_result != NULL) { + /* если есть у теста спец функция для получения результата => + вызываем ее */ + f_test_pars[f_cur_test_ind].get_result(cmd); + } else { + /* иначе просто устанавливаем резульатат без данных */ + l502_cmd_done(0, (uint32_t*)&f_test_res, + sizeof(t_l502_bf_test_res)/sizeof(uint32_t)); + } + } + } else if (cmd->param == L502_BF_CMD_TEST_STOP) { + /* останов теста => если тест запущен - возвращаем его результат, + иначе возвращаем ошибку что и так теста нету */ + if (g_mode == L502_BF_MODE_TEST) { + g_mode = L502_BF_MODE_IDLE; + l502_cmd_done(0, NULL, 0); + } else { + l502_cmd_done(L502_BF_ERR_NO_TEST_IN_PROGR, NULL, 0); + } + } else { + /* запуск теста - проходим по таблице и ищем нужный тест */ + if (g_mode == L502_BF_MODE_IDLE) { + uint32_t i; + + for (i=0, f_cur_test_ind=-1; (iparam) { + f_cur_test_ind = i; + memset(&f_test_res, 0, sizeof(f_test_res)); + f_test_res.test = cmd->param; + l502_cmd_done(0, 0, NULL); + + if (f_test_pars[i].start != NULL) { + g_mode = L502_BF_MODE_TEST; + f_test_pars[i].start(); + g_mode = L502_BF_MODE_IDLE; + } + } + } + + if (f_cur_test_ind == -1) + l502_cmd_done(L502_BF_ERR_INVALID_CMD_PARAMS, NULL, 0); + } + else + { + l502_cmd_done(L502_BF_ERR_STREAM_RUNNING, NULL, 0); + } + } +} + + +#define SPORT_CNTR_INC 0x1 + + +#define TEST_CHECK_OUT(label) \ + do { \ + l502_cmd_check_req(); \ + if ((g_mode!= L502_BF_MODE_TEST) || f_test_res.err) \ + goto label; \ + } while (0); + + +/* тестирование SPORT'а, служащего для передачи потоков АЦП/ЦАП + от BlackFin'а к ПЛИС. Устанавливается циклический сквозной режим потока + и передается счетчик, который проверяется при приеме */ +static int f_sport_test(void) { + #define RX_BUF_SIZE 2048 + static uint16_t rx_buf[RX_BUF_SIZE]; + uint16_t stat=*pSPORT0_STAT; + + + uint16_t rx_cntr=0, tx_cntr=0; + uint16_t rx_val; + int err = 0, i; + + /* разрешаем прием и передачу по SPORT'у */ + *pSPORT0_TCR1 |= TSPEN; + *pSPORT0_RCR1 |= RSPEN; + + while (stat & RXNE) { + rx_buf[0] = *pSPORT0_RX16; + stat=*pSPORT0_STAT; + } + + /* вначале полностью заполняем очередь SPORT'а */ + for (i = 0; i < 8; i++) { + *pSPORT0_TX16 = tx_cntr++; + //tx_cntr+=SPORT_CNTR_INC; + } + + /* устанавливаем в ПЛИС сквозной режим работы SPORT */ + fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, 0xE); + + + while (!f_test_res.err) {// && (g_mode==L502_BF_MODE_TEST)) + stat = *pSPORT0_STAT; + if (!(stat & TXF)) { + *pSPORT0_TX16 = tx_cntr++; + } + + if (stat & RXNE) { + rx_val = *pSPORT0_RX16; + + if ((rx_val != rx_cntr)) { + f_test_res.err = L502_BF_ERR_TEST_VALUE; + f_test_res.last_rd = rx_val; + f_test_res.last_wr = rx_cntr; + err = rx_val - rx_cntr; + } + + + if (!(rx_cntr & 0xFFFF)) { + TEST_CHECK_OUT(sport_test_end); + if (!rx_cntr) + f_test_res.cntr++; + } + rx_cntr++; + } + } + +sport_test_end: + /* запрещаем прием и передачу по SPORT'у */ + *pSPORT0_TCR1 = 0; + *pSPORT0_RCR1 = 0; + /* возвращаем штатный режим работы SPORT'а */ + fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, 0); + + return err; +} + + + + + +/* тест SPI - записываем бегущую единицу в регистр ПЛИС, считываем + значение этого регистра и сверяем результаты */ +static int f_spi_test(void) { + f_test_res.last_addr = L502_REGS_IOHARD_ADC_FRAME_DELAY; + while (!f_test_res.err && (g_mode==L502_BF_MODE_TEST)) { + int i; + for (i = 0; (i < 32) && !f_test_res.err; i++) { + f_test_res.last_wr = (1< + +/***************************************************************************//** + @brief Обработка принятого массива данных АЦП/DIN. + + Функция вызывается каждый раз, когда обнаружены новые данные от + АЦП/цифровых входов, пришедшие по SPORT0. + + Функция должна обработать данные и вернуть количество обработанных данных, + однако эти данные все еще считаются использованными (не могут быть переписаны + новыми пришедшими данными) до тех пор пока не будет вызвана функция + stream_in_buf_free()). + + Если функция вернет значение меньше чем size, то функция будут вызванна при + следующем проходе еще раз с указателем на необработанные данные. + + В текущей реализации просто запускается передача данных по HDMA в ПК + + @param[in] data Указатель на массив с принятыми данными + @param[in] size Количество принятых данных в 32-битных словах + @return Функция возвращает количество обработанных данных (от 0 до size). + На эти данные не будет вызываться повторно usr_in_proc_data(), + но они считаются еще используемыми +*******************************************************************************/ +uint32_t usr_in_proc_data(uint32_t* data, uint32_t size) { + /* если есть свободные дескрипторы на передачу по HDMA - ставим блок на + передачу. Иначе возвращаем 0, чтобы на обработку этих данных функцию + вызвали бы позже */ + if (hdma_send_req_rdy()) { + hdma_send_req_start(data, size, 0); + return size; + } + return 0; +} + + + +/***************************************************************************//** + @brief Обработка принятого массива с данными ЦАП/DOUT + + Функция вызывается каждый раз, когда обнаружены новые данные, принятые от + ПК по HDMA. + Функция должна обработать данные и вернуть количество обработанных данных, + однако эти данные все еще считаются использованными (не могут быть переписаны + новыми пришедшими данными) до тех пор пока не будет вызвана функция + stream_out_buf_free()). + + Если функция вернет значение меньше чем size, то функция будут + вызвана после еще раз с указателем на необработанные данные. + + В текущей реализации просто запускается передача данных по SPORT + для вывода на ЦАП/цифровые выходы. + + @param[in] data Указатель на массив с принятыми данными + @param[in] size Количество принятых данных в 32-битных словах + @return Функция возвращает количество обработанных данных (от 0 до size). + На эти данные не будет вызываться повторно usr_out_proc_data(), + но они считаются еще используемыми + ******************************************************************************/ +uint32_t usr_out_proc_data(uint32_t* data, uint32_t size) { + + /* если есть свободные дескрипторы на передачу по HDMA - ставим блок на + передачу. Иначе возвращаем 0, чтобы на обработку этих данных функцию + вызвали бы позже */ + if (sport_tx_req_rdy()) { + + /* за один раз можем передать в SPORT не более + SPORT_TX_REQ_SIZE_MAX слов */ + if (size > SPORT_TX_REQ_SIZE_MAX) + size = SPORT_TX_REQ_SIZE_MAX; + + sport_tx_start_req(data, size); + + return size; + } + return 0; +} + + + + + + +/****************************************************************************//** + @brief Обработка завершения передачи по HostDMA + + Функция вызывается из обработчика прерывания, когда завершилась передача + блока данных по HDMA в ПК, поставленного до этого на передачу с + помощью hdma_send_req_start(). + + @param[in] addr Адрес слова, сразу за последним переданным словом + @param[in] size Размер переданных данных в 32-битных словах + ****************************************************************************/ +void hdma_send_done(uint32_t* addr, uint32_t size) { + stream_in_buf_free(size); +} + + + +/***************************************************************************//** + @brief Обработка завершения передачи по SPORT + + Функция вызывается из обработчика прерывания при завершении передачи блока данных + по SPORT'у на цифровые выходы/ЦАП, поставленного до этого на передачу с + помощью sport_tx_start_req(). + + + @param[in] addr Адрес слова, сразу за последним переданным словом + @param[in] size Размер переданных данных в 32-битных словах */ +void sport_tx_done(uint32_t* addr, uint32_t size) { + stream_out_buf_free(size); +} + + + + + + + + + +/****************************************************************************//** + @brief Обработка пользовательских команд. + + Функция вызывается при приеме команды от ПК с кодом большим или равным + #L502_BF_CMD_CODE_USER. + + По завершению обработки необходимо обязательно вызвать + l502_cmd_done(), указав код завершения команды и + при необходимости передать данные с результатом + + @param[in] cmd Структура с описанием принятой команды + ******************************************************************************/ +void usr_cmd_process(t_l502_bf_cmd *cmd) { + l502_cmd_done(L502_BF_ERR_UNSUP_CMD, NULL, 0); +} + +/** @} */ + + + + + + + + diff --git a/src/l502_user_process.h b/src/l502_user_process.h new file mode 100644 index 0000000..76df981 --- /dev/null +++ b/src/l502_user_process.h @@ -0,0 +1,26 @@ +/** @defgroup user_process Пользовательская обработка данных */ + +/***************************************************************************//** + @addtogroup user_process + @{ + @file l502_user_process.h + + Файл содержит описания функций, которые предназначены для изменения + пользователем для написания своих алгоритмов обработки данных и реализации + пользовательских команд. + ******************************************************************************/ + + + +#ifndef L502_USER_PROCESS_H_ +#define L502_USER_PROCESS_H_ + + +uint32_t usr_in_proc_data(uint32_t* data, uint32_t size); +uint32_t usr_out_proc_data(uint32_t* data, uint32_t size); + +void usr_cmd_process(t_l502_bf_cmd *cmd); + +#endif + +/** @} */ diff --git a/src/main.c b/src/main.c new file mode 100644 index 0000000..aee103c --- /dev/null +++ b/src/main.c @@ -0,0 +1,30 @@ +/***************************************************************************** + * NewProject.c + *****************************************************************************/ + +#include "l502_cdefs.h" +void l502_init(void); +#include "l502_global.h" +#include "l502_cmd.h" + +void stream_proc(void); + +/* g_state описывает область памяти, расположенную по фиксированным адресам. + * Для расположения в начало банка A данных используем специальную секцию */ +SECTION("board_state", volatile t_l502_board_state g_state); + + +int main(void) { + /* Инициализация интерфейсов */ + l502_init(); + + for (;;) { + /* проверяем наличие команды от ПК и начинаяем + обработку, если она есть */ + l502_cmd_check_req(); + /* обработка потоков данных */ + stream_proc(); + } + + return 0; +} diff --git a/vdsp/l502-bf.dpj b/vdsp/l502-bf.dpj new file mode 100644 index 0000000..d331a41 --- /dev/null +++ b/vdsp/l502-bf.dpj @@ -0,0 +1,433 @@ + + + + + ADSP-BF523 + .ldr + Loader file + + + + + .\Debug + .\Debug + 4 + + + + + + + + + + + + + + + + + + + + + + + .\Release + .\Release + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + .\Debug + .\Debug + + + + + .\Release + .\Release + + + + + + + + + + + + + .\Debug + .\Debug + + + + + .\Release + .\Release + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + .\Debug + .\Debug + + + + + .\Release + .\Release + + + + + + + + + + + + + .\Debug + .\Debug + + + + + .\Release + .\Release + + + + + + + + + .\Debug + .\Debug + + + + + .\Release + .\Release + + + + + + + + + .\Debug + .\Debug + + + + + .\Release + .\Release + + + + + + + + + .\Debug + .\Debug + + + + + .\Release + .\Release + + + + + + + + + .\Debug + .\Debug + + + + + .\Release + .\Release + + + + + + + + + .\Debug + .\Debug + + + + + .\Release + .\Release + + + + + + + + + .\Debug + .\Debug + + + + + .\Release + .\Release + + + + + + + + + .\Debug + .\Debug + + + + + .\Release + .\Release + + + + + + + + + .\Debug + .\Debug + + + + + .\Release + .\Release + + + + + + + + + .\Debug + .\Debug + + + + + .\Release + .\Release + + + + + + + + + .\Debug + .\Debug + + + + + .\Release + .\Release + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vdsp/l502-bf.ldf b/vdsp/l502-bf.ldf new file mode 100644 index 0000000..e8791f8 --- /dev/null +++ b/vdsp/l502-bf.ldf @@ -0,0 +1,497 @@ +/* MANAGED-BY-SYSTEM-BUILDER */ +/* VisualDSP++ 5.0 Update 10.1 */ +/* LDF Printer version: 5.9.0.1 */ +/* ldfgen.exe version: 5.9.0.1 */ +/* VDSG version: 5.9.0.1 */ + +/* +** ADSP-BF523 linker description file generated on Jan 10, 2013 at 19:23:18. +** +** Copyright (C) 2000-2010 Analog Devices Inc., All Rights Reserved. +** +** This file is generated automatically based upon the options selected +** in the LDF Wizard. Changes to the LDF configuration should be made by +** changing the appropriate options rather than editing this file. +** +** Configuration:- +** crt_doj: l502-bf_basiccrt.doj +** processor: ADSP-BF523 +** product_name: VisualDSP++ 5.0 Update 10.1 +** si_revision: 0.2 +** default_silicon_revision_from_archdef: 0.2 +** cplb_init_cplb_ctrl: ( +** CPLB_ENABLE_ICACHE +** CPLB_ENABLE_ICPLBS +** ) +** using_cplusplus: false +** mem_init: false +** use_vdk: false +** use_mt: false +** use_eh: false +** use_argv: false +** running_from_internal_memory: true +** user_heap_src_file: C:\PRJ\L502\builds\lpcie_sdk\release\firmware-conv\l502-bf\vdsp\l502-bf_heaptab.c +** libraries_use_stdlib: true +** libraries_use_fileio_libs: false +** libraries_use_ieeefp_emulation_libs: false +** libraries_use_eh_enabled_libs: false +** libraries_use_fixed_point_io_libs: false +** libraries_use_utility_rom: true +** detect_stackoverflow: false +** system_heap: L1 +** system_heap_min_size: 7k +** system_stack: L1 +** system_stack_min_size: 2k +** use_sdram: true +** use_sdram_size: 32MB +** use_sdram_partitioned: none +** +*/ + +ARCHITECTURE(ADSP-BF523) + +SEARCH_DIR($ADI_DSP/Blackfin/lib) + + +// Workarounds are enabled, exceptions are disabled. +#define RT_LIB_NAME(x) lib ## x ## y.dlb +#define RT_LIB_NAME_EH(x) lib ## x ## y.dlb +#define RT_LIB_NAME_MT(x) lib ## x ## y.dlb +#define RT_LIB_NAME_EH_MT(x) lib ## x ## y.dlb +#define RT_OBJ_NAME(x) x ## y.doj +#define RT_OBJ_NAME_MT(x) x ## mty.doj + + +$LIBRARIES = + +/*$VDSG */ +/* Text inserted between these $VDSG comments will be preserved */ +/*$VDSG */ + + RT_LIB_NAME_MT(small532) + ,RT_LIB_NAME_MT(io532) + ,RT_LIB_NAME_MT(c532) + ,RT_LIB_NAME_MT(event532) + ,RT_LIB_NAME(ssl527) + ,RT_LIB_NAME(drv527) + ,RT_LIB_NAME(usb527) + ,RT_LIB_NAME(f64ieee532) + ,RT_LIB_NAME(dsp532) + ,RT_LIB_NAME(sftflt532) + ,RT_LIB_NAME(etsi532) + ,RT_LIB_NAME(ftl527) + ,RT_OBJ_NAME_MT(idle532) + ,RT_LIB_NAME_MT(rt_fileio532) + +/*$VDSG */ +/* Text inserted between these $VDSG comments will be preserved */ +/*$VDSG */ + + ; + +$OBJECTS = + "l502-bf_basiccrt.doj" + +/*$VDSG */ +/* Text inserted between these $VDSG comments will be preserved */ +/*$VDSG */ + + , RT_LIB_NAME(profile532) + , $COMMAND_LINE_OBJECTS + , "cplbtab523.doj" + +/*$VDSG */ +/* Text inserted between these $VDSG comments will be preserved */ +/*$VDSG */ + + ; + +$OBJS_LIBS_INTERNAL = + +/*$VDSG */ +/* Text inserted between these $VDSG comments will be preserved */ +/*$VDSG */ + + $OBJECTS{prefersMem("internal")}, $LIBRARIES{prefersMem("internal")} + +/*$VDSG */ +/* Text inserted between these $VDSG comments will be preserved */ +/*$VDSG */ + + ; + +$OBJS_LIBS_NOT_EXTERNAL = + +/*$VDSG */ +/* Text inserted between these $VDSG comments will be preserved */ +/*$VDSG */ + + $OBJECTS{!prefersMem("external")}, $LIBRARIES{!prefersMem("external")} + +/*$VDSG */ +/* Text inserted between these $VDSG comments will be preserved */ +/*$VDSG */ + + ; + + +/*$VDSG */ +/* Text inserted between these $VDSG comments will be preserved */ +/*$VDSG */ + + +/*$VDSG */ +/* This code is preserved if the LDF is re-generated. */ + + +#define ASYNC0_MEMTYPE RAM +#define ASYNC1_MEMTYPE RAM +#define ASYNC2_MEMTYPE RAM +#define ASYNC3_MEMTYPE RAM + + +/*$VDSG */ + + +MEMORY +{ +/* +** ADSP-BF523 MEMORY MAP. +** +** The known memory spaces are as follows: +** +** 0xFFE00000 - 0xFFFFFFFF Core MMR registers (2MB) +** 0xFFC00000 - 0xFFDFFFFF System MMR registers (2MB) +** 0xFFB01000 - 0xFFBFFFFF Reserved +** 0xFFB00000 - 0xFFB00FFF Scratch SRAM (4K) +** 0xFFA14000 - 0xFFAFFFFF Reserved +** 0xFFA10000 - 0XFFA13FFF Code SRAM/CACHE (16K) +** 0xFFA0C000 - 0xFFA0FFFF Reserved +** 0xFFA08000 - 0xFFA0BFFF Instruction Bank B SRAM (16K) +** 0xFFA00000 - 0xFFA07FFF Instruction Bank A SRAM (32K) +** 0xFF908000 - 0xFF9FFFFF Reserved +** 0xFF904000 - 0xFF907FFF Data Bank B SRAM/CACHE (16K) +** 0xFF900000 - 0XFF903FFF Data Bank B SRAM (16K) +** 0xFF808000 - 0xFF8FFFFF Reserved +** 0xFF804000 - 0xFF807FFF Data Bank A SRAM/CACHE (16K) +** 0xFF800000 - 0XFF803FFF Data Bank A SRAM (16K) +** 0xEF000800 - 0xFF800000 Reserved +** 0xEF000000 - 0xFF8007FF Boot ROM (2K) +** 0x20400000 - 0xEEFFFFFF Reserved +** 0x20300000 - 0x203FFFFF ASYNC MEMORY BANK 3 (1MB) +** 0x20200000 - 0x202FFFFF ASYNC MEMORY BANK 2 (1MB) +** 0x20100000 - 0x201FFFFF ASYNC MEMORY BANK 1 (1MB) +** 0x20000000 - 0x200FFFFF ASYNC MEMORY BANK 0 (1MB) +** 0x00000000 - 0x07FFFFFF SDRAM MEMORY (16MB - 128MB) +** +** Notes: +** 0xFF807FEF-0xFF807FFF +** Required by boot-loader. Used as heap or cache below which is ok. Cannot +** contain initialized data or code. +*/ + + MEM_L1_SCRATCH { TYPE(RAM) START(0xFFB00000) END(0xFFB00FFF) WIDTH(8) } + MEM_L1_CODE_CACHE { TYPE(RAM) START(0xFFA10000) END(0xFFA13FFF) WIDTH(8) } + MEM_L1_CODE { TYPE(RAM) START(0xFFA00000) END(0xFFA0BFFF) WIDTH(8) } + MEM_L1_DATA_B { TYPE(RAM) START(0xFF900000) END(0xFF907FFF) WIDTH(8) } + MEM_L1_DATA_A { TYPE(RAM) START(0xFF800000) END(0xFF807FFF) WIDTH(8) } + MEM_ASYNC3 { TYPE(ASYNC3_MEMTYPE) START(0x20300000) END(0x203FFFFF) WIDTH(8) } + MEM_ASYNC2 { TYPE(ASYNC2_MEMTYPE) START(0x20200000) END(0x202FFFFF) WIDTH(8) } + MEM_ASYNC1 { TYPE(ASYNC1_MEMTYPE) START(0x20100000) END(0x201FFFFF) WIDTH(8) } + MEM_ASYNC0 { TYPE(ASYNC0_MEMTYPE) START(0x20000000) END(0x200FFFFF) WIDTH(8) } + MEM_SDRAM0 { TYPE(RAM) START(0x00000004) END(0x01ffffff) WIDTH(8) } + + /*$VDSG */ + /* Text inserted between these $VDSG comments will be preserved */ + /*$VDSG */ + +} /* MEMORY */ + +PROCESSOR p0 +{ + OUTPUT($COMMAND_LINE_OUTPUT_FILE) + RESOLVE(start, 0xFFA00000) + KEEP(start, _main) + + /*$VDSG */ + /* Text inserted between these $VDSG comments will be preserved */ + /*$VDSG */ + + SECTIONS + { + /* Workaround for hardware errata 05-00-0189 and 05-00-0310 - + ** "Speculative (and fetches made at boundary of reserved memory + ** space) for instruction or data fetches may cause false + ** protection exceptions" and "False hardware errors caused by + ** fetches at the boundary of reserved memory ". + ** + ** Done by avoiding use of 76 bytes from at the end of blocks + ** that are adjacent to reserved memory. Workaround is enabled + ** for appropriate silicon revisions (-si-revision switch). + */ + RESERVE(___wab0=MEMORY_END(MEM_L1_SCRATCH) - 75, ___l0 = 76) + RESERVE(___wab2=MEMORY_END(MEM_L1_CODE) - 75, ___l2 = 76) + RESERVE(___wab4=MEMORY_END(MEM_L1_DATA_B) - 75, ___l4 = 76) + RESERVE(___wab6=MEMORY_END(MEM_L1_DATA_A) - 75, ___l6 = 76) + RESERVE(___wab7=MEMORY_END(MEM_ASYNC3) - 75, ___l7 = 76) + RESERVE(___wab9=MEMORY_END(MEM_SDRAM0) - 75, ___l9 = 76) + + /*$VDSG */ + /* Text inserted between these $VDSG comments will be preserved */ + /*$VDSG */ + + scratchpad NO_INIT + { + INPUT_SECTION_ALIGN(4) + + /*$VDSG */ + /* Text inserted between these $VDSG comments will be preserved */ + /*$VDSG */ + + INPUT_SECTIONS($OBJECTS(L1_scratchpad) $LIBRARIES(L1_scratchpad)) + + /*$VDSG */ + /* Text inserted between these $VDSG comments will be preserved */ + /*$VDSG */ + + } > MEM_L1_SCRATCH + + L1_code + { + INPUT_SECTION_ALIGN(4) + INPUT_SECTIONS($OBJECTS(L1_code) $LIBRARIES(L1_code)) + + /*$VDSG */ + INPUT_SECTION_ALIGN(64) + /* Text inserted between these $VDSG comments will be preserved */ + /*$VDSG */ + + INPUT_SECTIONS($OBJECTS(cplb_code) $LIBRARIES(cplb_code)) + INPUT_SECTIONS($OBJECTS(cplb) $LIBRARIES(cplb)) + INPUT_SECTIONS($OBJECTS(noncache_code) $LIBRARIES(noncache_code)) + INPUT_SECTIONS($OBJS_LIBS_INTERNAL(program)) + INPUT_SECTIONS($OBJS_LIBS_NOT_EXTERNAL(program)) + INPUT_SECTIONS($OBJECTS(program) $LIBRARIES(program)) + + /*$VDSG */ + /* Text inserted between these $VDSG comments will be preserved */ + /*$VDSG */ + + } > MEM_L1_CODE + + L1_code_cache + { + INPUT_SECTION_ALIGN(4) + ___l1_code_cache = 1; + } > MEM_L1_CODE_CACHE + + L1_data_a_tables + { + INPUT_SECTION_ALIGN(4) + FORCE_CONTIGUITY + + /*$VDSG */ + /* Text inserted between these $VDSG comments will be preserved */ + INPUT_SECTION_ALIGN(64) + _startfix_sect = .; + INPUT_SECTIONS($OBJECTS(board_state) $LIBRARIES(board_state)) + . = _startfix_sect + 8196; + /*$VDSG */ + + + /*$VDSG */ + /* Text inserted between these $VDSG comments will be preserved */ + /*$VDSG */ + + + /*$VDSG */ + /* Text inserted between these $VDSG comments will be preserved */ + /*$VDSG */ + + } > MEM_L1_DATA_A + + L1_data_a_1 + { + INPUT_SECTION_ALIGN(4) + ___l1_data_cache_a = 0; + INPUT_SECTIONS($OBJECTS(L1_data_a) $LIBRARIES(L1_data_a)) + INPUT_SECTIONS($OBJECTS(L1_data) $LIBRARIES(L1_data)) + + /*$VDSG */ + INPUT_SECTION_ALIGN(64) + /* Text inserted between these $VDSG comments will be preserved */ + /*$VDSG */ + + RESERVE(heaps_and_stack_in_L1_data_a, heaps_and_stack_in_L1_data_a_length = 2048,4) + } > MEM_L1_DATA_A + + L1_data_a_bsz ZERO_INIT + { + INPUT_SECTION_ALIGN(4) + INPUT_SECTIONS( $OBJECTS(L1_bsz) $LIBRARIES(L1_bsz)) + } > MEM_L1_DATA_A + + L1_data_a + { + INPUT_SECTION_ALIGN(4) + + /*$VDSG */ + INPUT_SECTION_ALIGN(64) + /* Text inserted between these $VDSG comments will be preserved */ + + /*$VDSG */ + + INPUT_SECTIONS($OBJECTS(cplb_data) $LIBRARIES(cplb_data)) + INPUT_SECTIONS($OBJECTS(voldata) $LIBRARIES(voldata)) + INPUT_SECTIONS($OBJS_LIBS_INTERNAL(data1)) + INPUT_SECTIONS($OBJS_LIBS_NOT_EXTERNAL(data1)) + INPUT_SECTIONS($OBJECTS(data1) $LIBRARIES(data1)) + INPUT_SECTIONS($OBJECTS(constdata) $LIBRARIES(constdata)) + + /*$VDSG */ + /* Text inserted between these $VDSG comments will be preserved */ + /*$VDSG */ + + } > MEM_L1_DATA_A + + bsz_L1_data_a ZERO_INIT + { + INPUT_SECTION_ALIGN(4) + + /*$VDSG */ + FORCE_CONTIGUITY + INPUT_SECTION_ALIGN(64) + /* Text inserted between these $VDSG comments will be preserved */ + /*$VDSG */ + + INPUT_SECTIONS($OBJS_LIBS_INTERNAL(bsz)) + INPUT_SECTIONS($OBJS_LIBS_NOT_EXTERNAL(bsz)) + INPUT_SECTIONS($OBJECTS(bsz) $LIBRARIES(bsz)) + + /*$VDSG */ + /* Text inserted between these $VDSG comments will be preserved */ + /*$VDSG */ + + } > MEM_L1_DATA_A + + L1_data_a_stack_heap + { + INPUT_SECTION_ALIGN(4) + RESERVE_EXPAND(heaps_and_stack_in_L1_data_a, heaps_and_stack_in_L1_data_a_length , 0, 4) + ldf_stack_space = heaps_and_stack_in_L1_data_a; + ldf_stack_end = (ldf_stack_space + (heaps_and_stack_in_L1_data_a_length - 4)) & 0xfffffffc; + } > MEM_L1_DATA_A + + L1_data_b_bsz ZERO_INIT + { + INPUT_SECTION_ALIGN(4) + INPUT_SECTIONS( $OBJECTS(L1_bsz) $LIBRARIES(L1_bsz)) + } > MEM_L1_DATA_B + + L1_data_b + { + INPUT_SECTION_ALIGN(4) + ___l1_data_cache_b = 0; + INPUT_SECTIONS($OBJECTS(L1_data_b) $LIBRARIES(L1_data_b)) + INPUT_SECTIONS($OBJECTS(L1_data) $LIBRARIES(L1_data)) + + /*$VDSG */ + INPUT_SECTION_ALIGN(64) + /* Text inserted between these $VDSG comments will be preserved */ + /*$VDSG */ + + RESERVE(heaps_and_stack_in_L1_data_b, heaps_and_stack_in_L1_data_b_length = 7168,4) + INPUT_SECTIONS($OBJECTS(cplb_data) $LIBRARIES(cplb_data)) + INPUT_SECTIONS($OBJECTS(voldata) $LIBRARIES(voldata)) + INPUT_SECTIONS($OBJS_LIBS_INTERNAL(data1)) + INPUT_SECTIONS($OBJS_LIBS_NOT_EXTERNAL(data1)) + INPUT_SECTIONS($OBJECTS(data1) $LIBRARIES(data1)) + INPUT_SECTIONS($OBJECTS(constdata) $LIBRARIES(constdata)) + + /*$VDSG */ + /* Text inserted between these $VDSG comments will be preserved */ + /*$VDSG */ + + } > MEM_L1_DATA_B + + bsz_L1_data_b ZERO_INIT + { + INPUT_SECTION_ALIGN(4) + + /*$VDSG */ + INPUT_SECTION_ALIGN(64) + /* Text inserted between these $VDSG comments will be preserved */ + /*$VDSG */ + + INPUT_SECTIONS($OBJS_LIBS_INTERNAL(bsz)) + INPUT_SECTIONS($OBJS_LIBS_NOT_EXTERNAL(bsz)) + INPUT_SECTIONS($OBJECTS(bsz) $LIBRARIES(bsz)) + + /*$VDSG */ + /* Text inserted between these $VDSG comments will be preserved */ + /*$VDSG */ + + } > MEM_L1_DATA_B + + L1_data_b_stack_heap + { + INPUT_SECTION_ALIGN(4) + RESERVE_EXPAND(heaps_and_stack_in_L1_data_b, heaps_and_stack_in_L1_data_b_length , 0, 4) + ldf_heap_space = heaps_and_stack_in_L1_data_b; + ldf_heap_end = (ldf_heap_space + (heaps_and_stack_in_L1_data_b_length - 4)) & 0xfffffffc; + ldf_heap_length = ldf_heap_end - ldf_heap_space; + } > MEM_L1_DATA_B + + sdram + { + INPUT_SECTION_ALIGN(4) + INPUT_SECTIONS($OBJECTS(sdram0) $LIBRARIES(sdram0)) + INPUT_SECTIONS($OBJECTS(sdram0_bank0) $LIBRARIES(sdram0_bank0)) + INPUT_SECTIONS($OBJECTS(sdram0_bank1) $LIBRARIES(sdram0_bank1)) + INPUT_SECTIONS($OBJECTS(sdram0_bank2) $LIBRARIES(sdram0_bank2)) + INPUT_SECTIONS($OBJECTS(sdram0_bank3) $LIBRARIES(sdram0_bank3)) + + /*$VDSG */ + /* Text inserted between these $VDSG comments will be preserved */ + /*$VDSG */ + + INPUT_SECTIONS($OBJECTS(noncache_code) $LIBRARIES(noncache_code)) + INPUT_SECTIONS($OBJECTS(program) $LIBRARIES(program)) + INPUT_SECTIONS($OBJECTS(cplb) $LIBRARIES(cplb)) + INPUT_SECTIONS($OBJECTS(cplb_code) $LIBRARIES(cplb_code)) + INPUT_SECTIONS($OBJECTS(data1) $LIBRARIES(data1)) + INPUT_SECTIONS($OBJECTS(voldata) $LIBRARIES(voldata)) + INPUT_SECTIONS($OBJECTS(constdata) $LIBRARIES(constdata)) + INPUT_SECTIONS($OBJECTS(cplb_data) $LIBRARIES(cplb_data)) + + /*$VDSG */ + INPUT_SECTION_ALIGN(64) + /* Text inserted between these $VDSG comments will be preserved */ + /*$VDSG */ + + } > MEM_SDRAM0 + + bsz_sdram0 ZERO_INIT + { + INPUT_SECTION_ALIGN(4) + INPUT_SECTIONS($OBJECTS(sdram_bsz) $LIBRARIES(sdram_bsz)) + INPUT_SECTIONS($OBJECTS(bsz) $LIBRARIES(bsz)) + } > MEM_SDRAM0 + + sdram_stack_heap + { + } > MEM_SDRAM0 + + + /*$VDSG */ + /* Text inserted between these $VDSG comments will be preserved */ + noinit_sdram0 NO_INIT + { + INPUT_SECTION_ALIGN(64) + INPUT_SECTIONS($OBJECTS(sdram_noinit) $LIBRARIES(sdram_noinit)) + } > MEM_SDRAM0 + /*$VDSG */ + + } /* SECTIONS */ +} /* p0 */ + diff --git a/vdsp/l502-bf_basiccrt.s b/vdsp/l502-bf_basiccrt.s new file mode 100644 index 0000000..86c1732 --- /dev/null +++ b/vdsp/l502-bf_basiccrt.s @@ -0,0 +1,324 @@ +/* MANAGED-BY-SYSTEM-BUILDER */ +/* VisualDSP++ 5.0 Update 10.1 */ +/* CRT Printer version: 5.9.0.1 */ +/* crtgen.exe version: 5.9.0.1 */ +/* VDSG version: 5.9.0.1 */ + +/* +** l502-bf_basiccrt.s generated on Oct 22, 2012 at 13:05:29. +** +** Copyright (C) 2000-2010 Analog Devices Inc., All Rights Reserved. +** This contains Analog Devices Background IP and Development IP as +** defined in the ADI/Intel Collaboration Agreement. +** +** This file is generated automatically based upon the options selected +** in the Startup Code Wizard. Changes to the startup configuration +** should be made by changing the appropriate options rather than +** editing this file. Additional user code to be executed before calling +** main can be inserted between the labels .start_of_user_code1 and +** .end_of_user_code1 or .start_of_user_code2 and .end_of_user_code2. +** This code is preserved if the CRT is re-generated. +** +** Configuration:- +** product_name: VisualDSP++ 5.0 Update 10.1 +** processor: ADSP-BF523 +** si_revision: 0.2 +** cplb_init: true +** cplb_ctrl: ( +** CPLB_ENABLE_ICACHE +** CPLB_ENABLE_ICPLBS +** ) +** mem_init: false +** device_init: false +** init_regs: false +** zero_return_regs: false +** use_profiling: false +** using_cplusplus: false +** use_argv: false +** main_never_returns: true +** use_default_handlers: true +** use_vdk: false +** set_clock_and_power: false +** detect_stackoverflow: false +** +*/ + +///////////////////////////////////////////////////////////////// +// blackfin-edinburgh-core +#include +#include + +///////////////////////////////////////////////////////////////// +// standard +#define IVBh (EVT0 >> 16) +#define IVBl (EVT0 & 0xFFFF) +#define UNASSIGNED_VAL 0x8181 +#define INTERRUPT_BITS 0x400 // just IVG15 +#define SYSCFG_VALUE 0x30 + + .section/DOUBLEANY program; + .file_attr requiredForROMBoot; + .align 2; + +start: + + +/*$VDSG */ +.start_of_user_code_very_beginning: + // Insert additional code to be executed before any other Startup Code here. + // This code is preserved if the CRT is re-generated. +.end_of_user_code_very_beginning: +/*$VDSG */ + +///////////////////////////////////////////////////////////////// +// standard +#if WA_05000229 + // Avoid Anomaly 05-00-0229: DMA5_CONFIG and SPI_CTL not cleared on reset. + R1 = 0x400; +#if defined(__ADSPBF538__) || defined(__ADSPBF539__) + P0.L = SPI0_CTL & 0xFFFF; + P0.H = SPI0_CTL >> 16; + W[P0] = R1.L; +#else + P0.L = SPI_CTL & 0xFFFF; + P0.H = SPI_CTL >> 16; + W[P0] = R1.L; +#endif + P0.L = DMA5_CONFIG & 0xFFFF; + P0.H = DMA5_CONFIG >> 16; + R1 = 0; + W[P0] = R1.L; +#endif + // Clear loop counters to disable hardware loops + R7 = 0; + LC0 = R7; + LC1 = R7; + + // Clear the DAG Length regs, to force linear addressing + L0 = R7; + L1 = R7; + L2 = R7; + L3 = R7; + + // Clear ITEST_COMMAND and DTEST_COMMAND registers + I0.L = (ITEST_COMMAND & 0xFFFF); + I0.H = (ITEST_COMMAND >> 16); + I1.L = (DTEST_COMMAND & 0xFFFF); + I1.H = (DTEST_COMMAND >> 16); + [I0] = R7; + [I1] = R7; + CSYNC; + + // Initialise the Event Vector table. + P0.H = IVBh; + P0.L = IVBl; + + // Install __unknown_exception_occurred in EVT so that + // there is defined behaviour. + P0 += 2*4; // Skip Emulation and Reset + P1 = 13; + R1.L = __unknown_exception_occurred; + R1.H = __unknown_exception_occurred; + LSETUP (.ivt,.ivt) LC0 = P1; +.ivt: [P0++] = R1; + + // Set IVG15's handler to be the start of the mode-change + // code. Then, before we return from the Reset back to user + // mode, we'll raise IVG15. This will mean we stay in supervisor + // mode, and continue from the mode-change point, but at a + // much lower priority. + P1.H = supervisor_mode; + P1.L = supervisor_mode; + [P0] = P1; + +///////////////////////////////////////////////////////////////// +// cplb-handler +#include "cplb.h" + P1.H = _cplb_hdr; + P1.L = _cplb_hdr; + [P0-48] = P1; // write exception handler +.extern _cplb_hdr; + + +///////////////////////////////////////////////////////////////// +// standard + // Initialise the stack. + // Note: this points just past the end of the section. + // First write should be with [--SP]. + SP.L=ldf_stack_end; + SP.H=ldf_stack_end; + usp = sp; + + // We're still in supervisor mode at the moment, so the FP + // needs to point to the supervisor stack. + FP = SP; + + // Make space for incoming "parameters" for functions + // we call from here: + SP += -12; + + R0 = INTERRUPT_BITS; + R0 <<= 5; // Bits 0-4 not settable. + +///////////////////////////////////////////////////////////////// +// install-default-handlers + CALL.X __install_default_handlers; + +.extern __install_default_handlers; +.type __install_default_handlers,STT_FUNC; + +///////////////////////////////////////////////////////////////// +// standard + R1 = SYSCFG; + R4 = R0; // Save modified list + BITSET(R1,1); + SYSCFG = R1; // Enable the cycle counter + + +/*$VDSG */ +.start_of_user_code1: + // Insert additional code to be executed before main here. + // This code is preserved if the CRT is re-generated. +.end_of_user_code1: +/*$VDSG */ + +///////////////////////////////////////////////////////////////// +// cplb-init + // initialise the CPLBs if they're needed. This was not possible + // before we set up the stacks. + R0 = 17; // cplb_ctrl = 17 + CALL.X _cplb_init; +.extern _cplb_init; +.type _cplb_init,STT_FUNC; + + .section/DOUBLEANY cplb_data; +// Set the CPLB control variable. It's defined in a section that will be +// covered by an installed locked CPLB. +___cplb_ctrl: + .align 4; + .byte4=17; +.global ___cplb_ctrl; +.type ___cplb_ctrl,STT_OBJECT; + .section/DOUBLEANY program; + .align 2; + +///////////////////////////////////////////////////////////////// +// standard + // Enable interrupts + STI R4; // Using the mask from default handlers + RAISE 15; + + // Move the processor into user mode. + P0.L=still_interrupt_in_ipend; + P0.H=still_interrupt_in_ipend; + RETI=P0; + NOP; // Purely to prevent a stall warning + +still_interrupt_in_ipend: + // execute RTI until we've `finished` servicing all + // interrupts of priority higher than IVG15. Normally one + // would expect to only have the reset interrupt in IPEND + // being serviced, but occasionally when debugging this may + // not be the case - if restart is hit when servicing an + // interrupt. + // + // When we clear all bits from IPEND, we'll enter user mode, + // then we'll automatically jump to supervisor_mode to start + // servicing IVG15 (which we will 'service' for the whole + // program, so that the program is in supervisor mode. + // Need to do this to 'finish' servicing the reset interupt. + RTI; + +supervisor_mode: + [--SP] = RETI; // re-enables the interrupt system + R0.L = UNASSIGNED_VAL; + R0.H = UNASSIGNED_VAL; + + // Push a RETS and Old FP onto the stack, for sanity. + [--SP]=R0; + [--SP]=R0; + // Make sure the FP is sensible. + FP = SP; + // Leave space for incoming "parameters" + SP += -12; + + +/*$VDSG */ +.start_of_user_code2: + // Insert additional code to be executed before device initialization here. + // This code is preserved if the CRT is re-generated. +.end_of_user_code2: +/*$VDSG */ + + +/*$VDSG */ +.start_of_user_code3: + // Insert additional code to be executed before main here. + // This code is preserved if the CRT is re-generated. +.end_of_user_code3: +/*$VDSG */ + +///////////////////////////////////////////////////////////////// +// standard + // Call the application program. + CALL.X _main; + +///////////////////////////////////////////////////////////////// +// standard +.start.end: // Required by the linker to know the size of the routine + // that is needed for absolute placement. + +.global start; +.type start,STT_FUNC; +.extern _main; +.type _main,STT_FUNC; +.extern ldf_stack_end; +.extern __unknown_exception_occurred; +.type __unknown_exception_occurred,STT_FUNC; + + +///////////////////////////////////////////////////////////////// +// no-device-initialization + // If File IO support isn't provided, then + // we provide dummy versions of the device-handling + // functions, so that the exception handlers don't rely + // on the file IO library + .section/DOUBLEANY program; + .align 2; +_dev_open: +_dev_close: +_dev_write: +_dev_read: +_dev_seek: +_dev_dup: +#if WA_05000371 + /* Avoid anomaly 05-00-0371 by ensuring 4 instructions + ** before an RTS. + */ + NOP; + NOP; + NOP; +#endif + R0 = -1; + RTS; +._dev_open.end: +._dev_close.end: +._dev_write.end: +._dev_read.end: +._dev_seek.end: +._dev_dup.end: + +.global _dev_open; +.type _dev_open,STT_FUNC; +.global _dev_close; +.type _dev_close,STT_FUNC; +.global _dev_write; +.type _dev_write,STT_FUNC; +.global _dev_read; +.type _dev_read,STT_FUNC; +.global _dev_seek; +.type _dev_seek,STT_FUNC; +.global _dev_dup; +.type _dev_dup,STT_FUNC; + + diff --git a/vdsp/l502-bf_heaptab.c b/vdsp/l502-bf_heaptab.c new file mode 100644 index 0000000..0c28e34 --- /dev/null +++ b/vdsp/l502-bf_heaptab.c @@ -0,0 +1,93 @@ +/* MANAGED-BY-SYSTEM-BUILDER */ +/* VisualDSP++ 5.0 Update 10.1 */ +/* LDF Printer version: 5.9.0.1 */ +/* ldfgen.exe version: 5.9.0.1 */ +/* VDSG version: 5.9.0.1 */ + +/* +** User heap source file generated on Oct 22, 2012 at 13:05:29. +** +** Copyright (C) 2000-2010 Analog Devices Inc., All Rights Reserved. +** +** This file is generated automatically based upon the options selected +** in the LDF Wizard. Changes to the LDF configuration should be made by +** changing the appropriate options rather than editing this file. +** +** Configuration:- +** crt_doj: l502-bf_basiccrt.doj +** processor: ADSP-BF523 +** product_name: VisualDSP++ 5.0 Update 10.1 +** si_revision: 0.2 +** default_silicon_revision_from_archdef: 0.2 +** cplb_init_cplb_ctrl: 17 +** using_cplusplus: false +** mem_init: false +** use_vdk: false +** use_mt: false +** use_eh: false +** use_argv: false +** running_from_internal_memory: true +** user_heap_src_file: C:\PRJ\L502\lpcie_sdk\firmware\l502-bf\vdsp\l502-bf_heaptab.c +** libraries_use_stdlib: true +** libraries_use_fileio_libs: false +** libraries_use_ieeefp_emulation_libs: false +** libraries_use_eh_enabled_libs: false +** libraries_use_fixed_point_io_libs: false +** libraries_use_utility_rom: true +** detect_stackoverflow: false +** system_heap: L1 +** system_heap_min_size: 7k +** system_stack: L1 +** system_stack_min_size: 2k +** use_sdram: true +** use_sdram_size: 32MB +** use_sdram_partitioned: none +** +*/ + + +#ifdef _MISRA_RULES +#pragma diag(push) +#pragma diag(suppress:misra_rule_1_1) +#pragma diag(suppress:misra_rule_2_2) +#pragma diag(suppress:misra_rule_6_3) +#pragma diag(suppress:misra_rule_8_10) +#pragma diag(suppress:misra_rule_10_1_a) +#pragma diag(suppress:misra_rule_11_3) +#pragma diag(suppress:misra_rule_12_7) +#else +#pragma diag(suppress:1124) +#endif /* _MISRA_RULES */ + + + +extern "asm" int ldf_heap_space; +extern "asm" int ldf_heap_length; + + +struct heap_table_t +{ + void *base; + unsigned long length; + long int userid; +}; + +#pragma file_attr("libData=HeapTable") +#pragma section("constdata") +struct heap_table_t heap_table[2] = +{ + + + { &ldf_heap_space, (unsigned long) &ldf_heap_length, 0 }, + + + { 0, 0, 0 } +}; + + + +#ifdef _MISRA_RULES +#pragma diag(pop) +#endif /* _MISRA_RULES */ + + diff --git a/vdsp/l502_sdram_noinit.h b/vdsp/l502_sdram_noinit.h new file mode 100644 index 0000000..d3bc6fa --- /dev/null +++ b/vdsp/l502_sdram_noinit.h @@ -0,0 +1 @@ +#pragma section("sdram_noinit", NO_INIT) \ No newline at end of file