git init of an empty project
This commit is contained in:
28
build/release/.dep/l502-bf_basiccrt.o.d
Normal file
28
build/release/.dep/l502-bf_basiccrt.o.d
Normal file
@ -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:
|
||||||
66
build/release/.dep/l502_async.o.d
Normal file
66
build/release/.dep/l502_async.o.d
Normal file
@ -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:
|
||||||
114
build/release/.dep/l502_cmd.o.d
Normal file
114
build/release/.dep/l502_cmd.o.d
Normal file
@ -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:
|
||||||
28
build/release/.dep/l502_fpga.o.d
Normal file
28
build/release/.dep/l502_fpga.o.d
Normal file
@ -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:
|
||||||
91
build/release/.dep/l502_hdma.o.d
Normal file
91
build/release/.dep/l502_hdma.o.d
Normal file
@ -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:
|
||||||
94
build/release/.dep/l502_init.o.d
Normal file
94
build/release/.dep/l502_init.o.d
Normal file
@ -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:
|
||||||
68
build/release/.dep/l502_params.o.d
Normal file
68
build/release/.dep/l502_params.o.d
Normal file
@ -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:
|
||||||
99
build/release/.dep/l502_sport_tx.o.d
Normal file
99
build/release/.dep/l502_sport_tx.o.d
Normal file
@ -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:
|
||||||
112
build/release/.dep/l502_stream.o.d
Normal file
112
build/release/.dep/l502_stream.o.d
Normal file
@ -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:
|
||||||
89
build/release/.dep/l502_tests.o.d
Normal file
89
build/release/.dep/l502_tests.o.d
Normal file
@ -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:
|
||||||
62
build/release/.dep/l502_user_process.o.d
Normal file
62
build/release/.dep/l502_user_process.o.d
Normal file
@ -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:
|
||||||
13
build/release/.dep/main.o.d
Normal file
13
build/release/.dep/main.o.d
Normal file
@ -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:
|
||||||
BIN
build/release/bin/l502-BFfirmware0.elf
Executable file
BIN
build/release/bin/l502-BFfirmware0.elf
Executable file
Binary file not shown.
BIN
build/release/bin/l502-BFfirmware0.ldr
Normal file
BIN
build/release/bin/l502-BFfirmware0.ldr
Normal file
Binary file not shown.
888
build/release/bin/l502-BFfirmware0.map
Normal file
888
build/release/bin/l502-BFfirmware0.map
Normal file
@ -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
|
||||||
354
build/release/lst/l502-bf_basiccrt.lst
Normal file
354
build/release/lst/l502-bf_basiccrt.lst
Normal file
@ -0,0 +1,354 @@
|
|||||||
|
BFIN GAS /tmp/ccIa7aFy.s page 1
|
||||||
|
|
||||||
|
|
||||||
|
1 # 1 "gcc/l502-bf_basiccrt.s"
|
||||||
|
1 #include <sys/platform.h>
|
||||||
|
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 <sys/_adi_platform.h>
|
||||||
|
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 <cdefBF531.h>
|
||||||
|
19 #elif defined (__ADSPBF532__)
|
||||||
|
20 #include <cdefBF532.h>
|
||||||
|
21 #elif defined (__ADSPBF533__)
|
||||||
|
22 #include <cdefBF533.h>
|
||||||
|
23 #elif defined (__ADSPBF534__)
|
||||||
|
24 #include <cdefBF534.h>
|
||||||
|
25 #elif defined (__ADSPBF535__)
|
||||||
|
26 #include <cdefBF535.h>
|
||||||
|
27 #elif defined (__ADSPBF536__)
|
||||||
|
28 #include <cdefBF536.h>
|
||||||
|
29 #elif defined (__ADSPBF537__)
|
||||||
|
30 #include <cdefBF537.h>
|
||||||
|
31 #elif defined (__ADSPBF538__)
|
||||||
|
32 #include <cdefBF538.h>
|
||||||
|
33 #elif defined (__ADSPBF539__)
|
||||||
|
34 #include <cdefBF539.h>
|
||||||
|
35 #elif defined (__ADSPBF561__)
|
||||||
|
36 #include <cdefBF561.h>
|
||||||
|
37 #elif defined (__AD6531__)
|
||||||
|
38 #include <cdefAD6531.h>
|
||||||
|
39 #elif defined (__AD6532__)
|
||||||
|
40 #include <cdefAD6532.h>
|
||||||
|
BFIN GAS /tmp/ccIa7aFy.s page 2
|
||||||
|
|
||||||
|
|
||||||
|
41 #elif defined (__AD6723__)
|
||||||
|
42 #include <cdefAD6723.h>
|
||||||
|
43 #elif defined (__AD6900__)
|
||||||
|
44 #include <cdefAD6900.h>
|
||||||
|
45 #elif defined (__AD6901__)
|
||||||
|
46 #include <cdefAD6901.h>
|
||||||
|
47 #elif defined (__AD6902__)
|
||||||
|
48 #include <cdefAD6902.h>
|
||||||
|
49 #elif defined (__AD6903__)
|
||||||
|
50 #include <cdefAD6903.h>
|
||||||
|
51 #elif defined (__AD6904__)
|
||||||
|
52 #include <cdefAD6904.h>
|
||||||
|
53 #elif defined (__AD6905__)
|
||||||
|
54 #include <cdefAD6905.h>
|
||||||
|
55 #elif defined (__MT6906__)
|
||||||
|
56 #include <cdefMT6906.h>
|
||||||
|
57 #elif defined (__ADSPBF504__)
|
||||||
|
58 #include <cdefBF504.h>
|
||||||
|
59 #elif defined (__ADSPBF504F__)
|
||||||
|
60 #include <cdefBF504F.h>
|
||||||
|
61 #elif defined (__ADSPBF506__) || defined (__ADSPBF506F__)
|
||||||
|
62 #include <cdefBF506F.h>
|
||||||
|
63 #elif defined (__ADSPBF512__)
|
||||||
|
64 #include <cdefBF512.h>
|
||||||
|
65 #elif defined (__ADSPBF514__)
|
||||||
|
66 #include <cdefBF514.h>
|
||||||
|
67 #elif defined (__ADSPBF516__)
|
||||||
|
68 #include <cdefBF516.h>
|
||||||
|
69 #elif defined (__ADSPBF518__)
|
||||||
|
70 #include <cdefBF518.h>
|
||||||
|
71 #elif defined (__ADSPBF522__)
|
||||||
|
72 #include <cdefBF522.h>
|
||||||
|
73 #elif defined (__ADSPBF523__)
|
||||||
|
74 #include <cdefBF523.h>
|
||||||
|
75 #elif defined (__ADSPBF524__)
|
||||||
|
76 #include <cdefBF524.h>
|
||||||
|
77 #elif defined (__ADSPBF525__)
|
||||||
|
78 #include <cdefBF525.h>
|
||||||
|
79 #elif defined (__ADSPBF526__)
|
||||||
|
80 #include <cdefBF526.h>
|
||||||
|
81 #elif defined (__ADSPBF527__)
|
||||||
|
82 #include <cdefBF527.h>
|
||||||
|
83 #elif defined (__ADSPBF542__)
|
||||||
|
84 #include <cdefBF542.h>
|
||||||
|
85 #elif defined (__ADSPBF542M__)
|
||||||
|
86 #include <cdefBF542M.h>
|
||||||
|
87 #elif defined (__ADSPBF544__)
|
||||||
|
88 #include <cdefBF544.h>
|
||||||
|
89 #elif defined (__ADSPBF544M__)
|
||||||
|
90 #include <cdefBF544M.h>
|
||||||
|
91 #elif defined (__ADSPBF547__)
|
||||||
|
92 #include <cdefBF547.h>
|
||||||
|
93 #elif defined (__ADSPBF547M__)
|
||||||
|
94 #include <cdefBF547M.h>
|
||||||
|
95 #elif defined (__ADSPBF548__)
|
||||||
|
96 #include <cdefBF548.h>
|
||||||
|
97 #elif defined (__ADSPBF548M__)
|
||||||
|
BFIN GAS /tmp/ccIa7aFy.s page 3
|
||||||
|
|
||||||
|
|
||||||
|
98 #include <cdefBF548M.h>
|
||||||
|
99 #elif defined (__ADSPBF549__)
|
||||||
|
100 #include <cdefBF549.h>
|
||||||
|
101 #elif defined (__ADSPBF549M__)
|
||||||
|
102 #include <cdefBF549M.h>
|
||||||
|
103 #elif defined (__ADSPBF592A__)
|
||||||
|
104 #include <cdefBF592-A.h>
|
||||||
|
105 #elif defined (__ADSPBF606__)
|
||||||
|
106 #include <cdefBF606.h>
|
||||||
|
107 #elif defined (__ADSPBF607__)
|
||||||
|
108 #include <cdefBF607.h>
|
||||||
|
109 #elif defined (__ADSPBF608__)
|
||||||
|
110 #include <cdefBF608.h>
|
||||||
|
111 #elif defined (__ADSPBF609__)
|
||||||
|
112 #include <cdefBF609.h>
|
||||||
|
113 #else
|
||||||
|
114 #error Processor Type Not Supported
|
||||||
|
115 #endif
|
||||||
|
116
|
||||||
|
117
|
||||||
|
118 #else
|
||||||
|
119
|
||||||
|
120 #if defined (__ADSPBF531__)
|
||||||
|
121 #include <defBF531.h>
|
||||||
|
122 #elif defined (__ADSPBF532__)
|
||||||
|
123 #include <defBF532.h>
|
||||||
|
124 #elif defined (__ADSPBF533__)
|
||||||
|
125 #include <defBF533.h>
|
||||||
|
126 #elif defined (__ADSPBF534__)
|
||||||
|
127 #include <defBF534.h>
|
||||||
|
128 #elif defined (__ADSPBF535__)
|
||||||
|
129 #include <defBF535.h>
|
||||||
|
130 #elif defined (__ADSPBF536__)
|
||||||
|
131 #include <defBF536.h>
|
||||||
|
132 #elif defined (__ADSPBF537__)
|
||||||
|
133 #include <defBF537.h>
|
||||||
|
134 #elif defined (__ADSPBF538__)
|
||||||
|
135 #include <defBF538.h>
|
||||||
|
136 #elif defined (__ADSPBF539__)
|
||||||
|
137 #include <defBF539.h>
|
||||||
|
138 #elif defined (__ADSPBF561__)
|
||||||
|
139 #include <defBF561.h>
|
||||||
|
140 #elif defined (__AD6531__)
|
||||||
|
141 #include <defAD6531.h>
|
||||||
|
142 #elif defined (__AD6532__)
|
||||||
|
143 #include <defAD6532.h>
|
||||||
|
144 #elif defined (__AD6723__)
|
||||||
|
145 #include <defAD6723.h>
|
||||||
|
146 #elif defined (__AD6900__)
|
||||||
|
147 #include <defAD6900.h>
|
||||||
|
148 #elif defined (__AD6901__)
|
||||||
|
149 #include <defAD6901.h>
|
||||||
|
150 #elif defined (__AD6902__)
|
||||||
|
151 #include <defAD6902.h>
|
||||||
|
152 #elif defined (__AD6903__)
|
||||||
|
153 #include <defAD6903.h>
|
||||||
|
154 #elif defined (__AD6904__)
|
||||||
|
BFIN GAS /tmp/ccIa7aFy.s page 4
|
||||||
|
|
||||||
|
|
||||||
|
155 #include <defAD6904.h>
|
||||||
|
156 #elif defined (__AD6905__)
|
||||||
|
157 #include <defAD6905.h>
|
||||||
|
158 #elif defined (__MT6906__)
|
||||||
|
159 #include <defMT6906.h>
|
||||||
|
160 #elif defined (__ADSPBF504__)
|
||||||
|
161 #include <defBF504.h>
|
||||||
|
162 #elif defined (__ADSPBF504F__)
|
||||||
|
163 #include <defBF504F.h>
|
||||||
|
164 #elif defined (__ADSPBF506__) || defined (__ADSPBF506F__)
|
||||||
|
165 #include <defBF506F.h>
|
||||||
|
166 #elif defined (__ADSPBF512__)
|
||||||
|
167 #include <defBF512.h>
|
||||||
|
168 #elif defined (__ADSPBF514__)
|
||||||
|
169 #include <defBF514.h>
|
||||||
|
170 #elif defined (__ADSPBF516__)
|
||||||
|
171 #include <defBF516.h>
|
||||||
|
172 #elif defined (__ADSPBF518__)
|
||||||
|
173 #include <defBF518.h>
|
||||||
|
174 #elif defined (__ADSPBF522__)
|
||||||
|
175 #include <defBF522.h>
|
||||||
|
176 #elif defined (__ADSPBF523__)
|
||||||
|
177 #include <defBF523.h>
|
||||||
|
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 <def_LPBlackfin.h>
|
||||||
|
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 <defBF52x_base.h>
|
||||||
|
1 /*
|
||||||
|
25
|
||||||
|
178 #elif defined (__ADSPBF524__)
|
||||||
|
13 #endif
|
||||||
|
2 #include <cplb.h>
|
||||||
|
1 /*
|
||||||
|
3 #include <sys/anomaly_macros_rtl.h>
|
||||||
|
1 /*
|
||||||
|
4 #include <defBF533.h>
|
||||||
|
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 <defBF532.h>
|
||||||
|
1 /*
|
||||||
|
18
|
||||||
|
5 #include <def_LPBlackfin.h>
|
||||||
|
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
|
||||||
810
build/release/lst/l502_async.lst
Normal file
810
build/release/lst/l502_async.lst
Normal file
@ -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 **** <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
6:src/l502_async.c **** (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||||
|
7:src/l502_async.c **** ******************************************************************************/
|
||||||
|
8:src/l502_async.c **** #include <stdlib.h>
|
||||||
|
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
|
||||||
6679
build/release/lst/l502_cmd.lst
Normal file
6679
build/release/lst/l502_cmd.lst
Normal file
File diff suppressed because it is too large
Load Diff
2421
build/release/lst/l502_fpga.lst
Normal file
2421
build/release/lst/l502_fpga.lst
Normal file
File diff suppressed because it is too large
Load Diff
4627
build/release/lst/l502_hdma.lst
Normal file
4627
build/release/lst/l502_hdma.lst
Normal file
File diff suppressed because it is too large
Load Diff
3093
build/release/lst/l502_init.lst
Normal file
3093
build/release/lst/l502_init.lst
Normal file
File diff suppressed because it is too large
Load Diff
3006
build/release/lst/l502_params.lst
Normal file
3006
build/release/lst/l502_params.lst
Normal file
File diff suppressed because it is too large
Load Diff
3317
build/release/lst/l502_sport_tx.lst
Normal file
3317
build/release/lst/l502_sport_tx.lst
Normal file
File diff suppressed because it is too large
Load Diff
6583
build/release/lst/l502_stream.lst
Normal file
6583
build/release/lst/l502_stream.lst
Normal file
File diff suppressed because it is too large
Load Diff
4270
build/release/lst/l502_tests.lst
Normal file
4270
build/release/lst/l502_tests.lst
Normal file
File diff suppressed because it is too large
Load Diff
1500
build/release/lst/l502_user_process.lst
Normal file
1500
build/release/lst/l502_user_process.lst
Normal file
File diff suppressed because it is too large
Load Diff
901
build/release/lst/main.lst
Normal file
901
build/release/lst/main.lst
Normal file
@ -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 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
13:src/main.c **** * <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> A <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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 **** /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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 **** /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
23:src/main.c **** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> */
|
||||||
|
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 **** /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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
|
||||||
BIN
build/release/objs/l502-bf_basiccrt.o
Normal file
BIN
build/release/objs/l502-bf_basiccrt.o
Normal file
Binary file not shown.
BIN
build/release/objs/l502_async.o
Normal file
BIN
build/release/objs/l502_async.o
Normal file
Binary file not shown.
BIN
build/release/objs/l502_cmd.o
Normal file
BIN
build/release/objs/l502_cmd.o
Normal file
Binary file not shown.
BIN
build/release/objs/l502_fpga.o
Normal file
BIN
build/release/objs/l502_fpga.o
Normal file
Binary file not shown.
BIN
build/release/objs/l502_hdma.o
Normal file
BIN
build/release/objs/l502_hdma.o
Normal file
Binary file not shown.
BIN
build/release/objs/l502_init.o
Normal file
BIN
build/release/objs/l502_init.o
Normal file
Binary file not shown.
BIN
build/release/objs/l502_params.o
Normal file
BIN
build/release/objs/l502_params.o
Normal file
Binary file not shown.
BIN
build/release/objs/l502_sport_tx.o
Normal file
BIN
build/release/objs/l502_sport_tx.o
Normal file
Binary file not shown.
BIN
build/release/objs/l502_stream.o
Normal file
BIN
build/release/objs/l502_stream.o
Normal file
Binary file not shown.
BIN
build/release/objs/l502_tests.o
Normal file
BIN
build/release/objs/l502_tests.o
Normal file
Binary file not shown.
BIN
build/release/objs/l502_user_process.o
Normal file
BIN
build/release/objs/l502_user_process.o
Normal file
Binary file not shown.
BIN
build/release/objs/main.o
Normal file
BIN
build/release/objs/main.o
Normal file
Binary file not shown.
723
gcc/bfrom.h
Normal file
723
gcc/bfrom.h
Normal file
@ -0,0 +1,723 @@
|
|||||||
|
/* Blackfin on-chip ROM API
|
||||||
|
*
|
||||||
|
* Copyright 2008 Analog Devices Inc.
|
||||||
|
*
|
||||||
|
* Licensed under the GPL-2 or later.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __BFROM_H__
|
||||||
|
#define __BFROM_H__
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
/* 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
|
||||||
2
gcc/ice-100b.rules
Normal file
2
gcc/ice-100b.rules
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
SUBSYSTEM=="usb", ATTRS{idVendor}=="064b", ATTRS{idProduct}=="0225", MODE="0666"
|
||||||
|
SUBSYSTEM=="usb", ATTRS{idVendor}=="064b", ATTRS{idProduct}=="1225", MODE="0666"
|
||||||
59
gcc/l502-bf Debug.launch
Normal file
59
gcc/l502-bf Debug.launch
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<launchConfiguration type="gdb.app.elf.launchConfigurationType">
|
||||||
|
<stringAttribute key="bad_container_name" value="/gcc/l502-bf"/>
|
||||||
|
<stringAttribute key="com.analog.gnu.debug.ui.views.mmr.processor" value="ADSP-BF523"/>
|
||||||
|
<listAttribute key="com.analog.gnu.debug.ui.views.mmr.tables">
|
||||||
|
<listEntry value="System Interrupt Controller Register File"/>
|
||||||
|
<listEntry value="SIC_IMASK0"/>
|
||||||
|
<listEntry value="###"/>
|
||||||
|
</listAttribute>
|
||||||
|
<intAttribute key="com.analog.gnu.debug.ui.views.mmr.viewBase" value="16"/>
|
||||||
|
<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.delay" value="3"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doHalt" value="true"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doReset" value="true"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageFileName" value=""/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageOffset" value=""/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.initCommands" value="set remotetimeout 300"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.ipAddress" value="localhost"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.jtagDevice" value="Generic TCP/IP"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadImage" value="true"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadSymbols" value="true"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.pcRegister" value=""/>
|
||||||
|
<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.portNumber" value="2000"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.runCommands" value=""/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setPcRegister" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="true"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="true"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="main"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsFileName" value=""/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsOffset" value=""/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForImage" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForSymbols" value="false"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForImage" value="true"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForSymbols" value="true"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useRemoteTarget" value="true"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.debug.mi.core.DEBUG_NAME" value="bfin-elf-gdb"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.debug.mi.core.commandFactory" value="Standard"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.debug.mi.core.protocol" value="mi"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.debug.mi.core.verboseMode" value="false"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="bfin-elf-gdb"/>
|
||||||
|
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_REGISTER_GROUPS" value=""/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.FORMAT" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?><contentList><content id="null-stream_proc-(format)" val="4"/><content id="flags-out_lb-hdma-null-l502_cmd_check_req-(format)" val="4"/><content id="null-register_handler-(format)" val="4"/><content id="null-l502_init-(format)" val="4"/><content id="sah-f_descrs[0]-null-isr_sport_dma_tx-(format)" val="4"/><content id="sah-f_descrs[6]-null-isr_sport_dma_tx-(format)" val="4"/></contentList>"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.GLOBAL_VARIABLES" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <globalVariableList/> "/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.MEMORY_BLOCKS" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <memoryBlockExpressionList> <memoryBlockExpressionItem> <expression text="0xc3500"/> </memoryBlockExpressionItem> </memoryBlockExpressionList> "/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="build/debug/bin/l502-bf.elf"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="l502-bf"/>
|
||||||
|
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
|
||||||
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value=""/>
|
||||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||||
|
<listEntry value="/l502-bf"/>
|
||||||
|
</listAttribute>
|
||||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||||
|
<listEntry value="4"/>
|
||||||
|
</listAttribute>
|
||||||
|
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
|
||||||
|
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
|
||||||
|
</listAttribute>
|
||||||
|
</launchConfiguration>
|
||||||
278
gcc/l502-bf.ld
Normal file
278
gcc/l502-bf.ld
Normal file
@ -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;
|
||||||
|
}
|
||||||
78
gcc/l502-bf_basiccrt.s
Normal file
78
gcc/l502-bf_basiccrt.s
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
#include <sys/platform.h>
|
||||||
|
#include <cplb.h>
|
||||||
|
#include <sys/anomaly_macros_rtl.h>
|
||||||
|
#include <defBF533.h>
|
||||||
|
#include <def_LPBlackfin.h>
|
||||||
|
|
||||||
|
.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;
|
||||||
1
gcc/l502_sdram_noinit.h
Normal file
1
gcc/l502_sdram_noinit.h
Normal file
@ -0,0 +1 @@
|
|||||||
|
__attribute__((section(".sdram_noinit")))
|
||||||
169
makefile
Normal file
169
makefile
Normal file
@ -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)/*)
|
||||||
43
src/l502_async.c
Normal file
43
src/l502_async.c
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
/***************************************************************************//**
|
||||||
|
@addtogroup async_io
|
||||||
|
@{
|
||||||
|
@file l502_async.c
|
||||||
|
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
(<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||||
|
******************************************************************************/
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#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;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @} */
|
||||||
46
src/l502_async.h
Normal file
46
src/l502_async.h
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
/** @defgroup async_io <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
|
||||||
|
/***************************************************************************//**
|
||||||
|
@addtogroup async_io
|
||||||
|
@{
|
||||||
|
@file l502_async.h
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
#ifndef L502_ASYNC_H_
|
||||||
|
#define L502_ASYNC_H_
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> async_dac_out() */
|
||||||
|
#define L502_DAC_CH1 0
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> async_dac_out() */
|
||||||
|
#define L502_DAC_CH2 1
|
||||||
|
|
||||||
|
/***************************************************************************//**
|
||||||
|
@brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>
|
||||||
|
@param[in] ch <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> (#L502_DAC_CH1 <20><><EFBFBD> #L502_DAC_CH2)
|
||||||
|
@param[in] val <20><><EFBFBD> <20><><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 16 <20><><EFBFBD>)
|
||||||
|
******************************************************************************/
|
||||||
|
void async_dac_out(uint8_t ch, int32_t val);
|
||||||
|
|
||||||
|
/***************************************************************************//**
|
||||||
|
@brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
@param[in] val <20><><EFBFBD><EFBFBD> 0-15 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> + <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 3-<2D> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
|
||||||
|
#t_l502_digout_word_flags
|
||||||
|
@param[in] msk <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD> <20><> val <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
******************************************************************************/
|
||||||
|
void async_dout(uint32_t val, uint32_t msk);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/** @} */
|
||||||
167
src/l502_bf_cmd_defs.h
Normal file
167
src/l502_bf_cmd_defs.h
Normal file
@ -0,0 +1,167 @@
|
|||||||
|
/*********************************************************************//**
|
||||||
|
@addtogroup cmd_process
|
||||||
|
@{
|
||||||
|
@file l502_bf_cmd_defs.h <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><> <20> DSP
|
||||||
|
(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||||
|
@date 28.03.2012
|
||||||
|
@author Borisov Alexey <borisov@lcard.ru>
|
||||||
|
*************************************************************************/
|
||||||
|
#ifndef L502_BF_CMD_DEFS_H_
|
||||||
|
#define L502_BF_CMD_DEFS_H_
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 32-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
#define L502_BF_CMD_DATA_SIZE_MAX (1024)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
typedef enum {
|
||||||
|
L502_BF_CMD_STATUS_IDLE = 0x0, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) */
|
||||||
|
L502_BF_CMD_STATUS_REQ = 0x5A01, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>*/
|
||||||
|
L502_BF_CMD_STATUS_PROGRESS = 0x5A02, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_CMD_STATUS_DONE = 0x5A03 /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> ret_code */
|
||||||
|
} t_l502_bf_cmd_status;
|
||||||
|
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
typedef enum {
|
||||||
|
L502_BF_CMD_CODE_TEST = 0x01, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>) */
|
||||||
|
L502_BF_CMD_CODE_SET_PARAM = 0x02, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> param) */
|
||||||
|
L502_BF_CMD_CODE_GET_PARAM = 0x03, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_CMD_CODE_CONFIGURE = 0x04, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_CMD_CODE_STREAM_EN = 0x05, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_CMD_CODE_STREAM_DIS = 0x06, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_CMD_CODE_STREAM_START = 0x07, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_CMD_CODE_STREAM_STOP = 0x08, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_CMD_CODE_PRELOAD = 0x09, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> */
|
||||||
|
L502_BF_CMD_CODE_ASYNC_OUT = 0x10, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) */
|
||||||
|
L502_BF_CMD_CODE_ASYNC_DIG_IN = 0x11, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_CMD_CODE_ADC_GET_FRAME = 0x12, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> */
|
||||||
|
L502_BF_CMD_CODE_FPGA_REG_WR = 0x13, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FPGA (param --- <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, data0 --- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) */
|
||||||
|
L502_BF_CMD_CODE_FPGA_REG_RD = 0x14, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FPGA (param --- <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD>: resp0 --- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) */
|
||||||
|
L502_BF_CMD_CODE_GET_OUT_STATUS= 0x15, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
} t_l502_bf_cmd_code;
|
||||||
|
|
||||||
|
#define L502_BF_CMD_CODE_USER 0x8000U /**< <20><><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #L502_BF_CMD_CODE_TEST */
|
||||||
|
typedef enum {
|
||||||
|
L502_BF_CMD_TEST_STOP = 0x00, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_CMD_TEST_GET_RESULT = 0x01, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_CMD_TEST_ECHO = 0x10, /**< <20><><EFBFBD><EFBFBD> <20><><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_CMD_TEST_SPORT = 0x11, /**< <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SPORT <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_CMD_TEST_SDRAM = 0x12, /**< <20><><EFBFBD><EFBFBD> SDRAM <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_CMD_TEST_SPI = 0x13 /**< <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SPI */
|
||||||
|
} t_l502_bf_test_code;
|
||||||
|
|
||||||
|
|
||||||
|
/** @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #L502_BF_CMD_CODE_SET_PARAM <20><><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #L502_BF_CMD_CODE_GET_PARAM */
|
||||||
|
typedef enum {
|
||||||
|
L502_BF_PARAM_FIRM_VERSION = 0x00, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - 4 <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_PARAM_STREAM_MODE = 0x01, /**< <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>) */
|
||||||
|
L502_BF_PARAM_ENABLED_STREAMS = 0x02, /**< <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_PARAM_MODULE_INFO = 0x03, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_PARAM_IN_BUF_SIZE = 0x10, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_PARAM_CYCLE_BUF_SIZE = 0x11, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_PARAM_LCH_CNT = 0x20, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_PARAM_LCH = 0x21, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_PARAM_ADC_FREQ_DIV = 0x22, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> */
|
||||||
|
L502_BF_PARAM_REF_FREQ_SRC = 0x23, /**< <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_PARAM_ADC_FRAME_DELAY = 0x24, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_PARAM_SYNC_MODE = 0x25, /**< <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_PARAM_SYNC_START_MODE = 0x26, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_PARAM_ADC_COEF = 0x27, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> */
|
||||||
|
L502_BF_PARAM_DAC_COEF = 0x28, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> */
|
||||||
|
L502_BF_PARAM_DIN_FREQ_DIV = 0x30, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_PARAM_DAC_FREQ_DIV = 0x31, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> */
|
||||||
|
L502_BF_PARAM_IN_STEP_SIZE = 0x32, /**< <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_PARAM_IN_STREAM_MODE = 0x100 /**< <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> */
|
||||||
|
} t_l502_bf_params;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** @brief <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
<20><><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #L502_BF_CMD_CODE_ASYNC_OUT,
|
||||||
|
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
typedef enum {
|
||||||
|
L502_BF_CMD_ASYNC_TYPE_DOUT = 0x0, /**< <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_CMD_ASYNC_TYPE_DAC1 = 0x1, /**< <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> */
|
||||||
|
L502_BF_CMD_ASYNC_TYPE_DAC2 = 0x2 /**< <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> */
|
||||||
|
} t_l502_bf_cmd_async_type;
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
typedef enum {
|
||||||
|
L502_BF_ERR_SUCCESS = 0, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_ERR_FIRST_CODE = -512, /**< <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_ERR_UNSUP_CMD = -512, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_ERR_CMD_OVERRUN = -513, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_ERR_INVALID_CMD_PARAMS = -514, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_ERR_INSUF_CMD_DATA = -515, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>-<2D><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_ERR_STREAM_RUNNING = -516, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_ERR_STREAM_STOPPED = -517, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_ERR_NO_TEST_IN_PROGR = -518, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_ERR_TEST_VALUE = -519 /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
} t_l502_bf_err_code;
|
||||||
|
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
typedef enum {
|
||||||
|
L502_BF_MODE_IDLE = 0, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_MODE_STREAM = 1, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_BF_MODE_TEST = 2 /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
} t_l502_bf_mode;
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blackfin */
|
||||||
|
typedef enum {
|
||||||
|
L502_BF_FEATURE_FPGA_REG_ACCESS = 0x1, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FPGA */
|
||||||
|
L502_BF_FEATURE_OUT_STATUS_FLAGS = 0x2 /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#L502_BF_CMD_CODE_GET_OUT_STATUS */
|
||||||
|
} t_l502_bf_features;
|
||||||
|
|
||||||
|
/** @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> BlackFin, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
typedef struct {
|
||||||
|
uint16_t code; /**< <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> #t_l502_bf_cmd_code */
|
||||||
|
uint16_t status; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
uint32_t param; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
int32_t result; /**< <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
uint32_t data_size; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 32-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
uint32_t data[L502_BF_CMD_DATA_SIZE_MAX]; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>/<2F><><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
} t_l502_bf_cmd;
|
||||||
|
|
||||||
|
|
||||||
|
/** @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #L502_BF_CMD_CODE_TEST <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#L502_BF_CMD_TEST_GET_RESULT */
|
||||||
|
typedef struct {
|
||||||
|
uint32_t test; /**< <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
uint32_t run; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> */
|
||||||
|
uint32_t stage; /**< <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
uint32_t cntr; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> */
|
||||||
|
int32_t err; /**< <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
uint32_t last_addr; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
uint32_t last_wr; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
uint32_t last_rd; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
} t_l502_bf_test_res;
|
||||||
|
|
||||||
|
/** @} */
|
||||||
|
|
||||||
|
#endif
|
||||||
44
src/l502_cdefs.h
Normal file
44
src/l502_cdefs.h
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
/** @file l502_cdefs.h
|
||||||
|
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (VisualDSP <20><><EFBFBD> GCC) */
|
||||||
|
|
||||||
|
#ifndef L502_CDEFS_H
|
||||||
|
#define L502_CDEFS_H
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
#ifdef __GNUC__
|
||||||
|
#define SECTION(sect, member) member __attribute__((section(sect)))
|
||||||
|
#else
|
||||||
|
#define SECTION(sect, member) section(sect) member
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 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
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
#ifdef __GNUC__
|
||||||
|
#define ISR(handler) __attribute__((interrupt_handler,nesting)) void handler(void)
|
||||||
|
#else
|
||||||
|
#define ISR(handler) EX_INTERRUPT_HANDLER(handler)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
#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
|
||||||
393
src/l502_cmd.c
Normal file
393
src/l502_cmd.c
Normal file
@ -0,0 +1,393 @@
|
|||||||
|
/***************************************************************************//**
|
||||||
|
@addtogroup cmd_process
|
||||||
|
@{
|
||||||
|
@file l502_cmd.c
|
||||||
|
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
HostDMA <20> BlackFin.
|
||||||
|
<20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> f_cmd_tbl <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
||||||
|
<20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 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 <string.h>
|
||||||
|
#include <cdefBF523.h>
|
||||||
|
#include <sys/exception.h>
|
||||||
|
#include <ccblkfn.h>
|
||||||
|
#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);
|
||||||
|
|
||||||
|
|
||||||
|
/* <20><><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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;
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
<20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> cmd->param, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> cmd->data
|
||||||
|
<20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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:
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: 0 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 1 - <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, 2 - <20><><EFBFBD><EFBFBD><EFBFBD>, 3 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 4 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @} */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
71
src/l502_cmd.h
Normal file
71
src/l502_cmd.h
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
/** @defgroup cmd_process <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><> */
|
||||||
|
|
||||||
|
/***************************************************************************//**
|
||||||
|
@addtogroup cmd_process
|
||||||
|
@{
|
||||||
|
@file l502_cmd.h
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><> <20><>.
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef L502_BF_CMD_H_
|
||||||
|
#define L502_BF_CMD_H_
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
#include "l502_bf_cmd_defs.h"
|
||||||
|
|
||||||
|
|
||||||
|
/***************************************************************************//**
|
||||||
|
@brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>.
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> HDMA, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> l502_cmd_check_req() <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> g_state.cmd
|
||||||
|
<20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> l502_cmd_start().
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> l502_cmd_done(), <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> l502_cmd_start(), <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
|
||||||
|
@param[in] cmd <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
******************************************************************************/
|
||||||
|
void l502_cmd_start(t_l502_bf_cmd* cmd);
|
||||||
|
|
||||||
|
/***************************************************************************//**
|
||||||
|
@brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD> data <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> g_state.cmd.data, <20>.<2E>.
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
@param[in] result <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
@param[in] data <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
@param[in] size <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28> 32-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||||
|
*******************************************************************************/
|
||||||
|
void l502_cmd_done(int32_t result, uint32_t* data, uint32_t size);
|
||||||
|
|
||||||
|
/***************************************************************************//**
|
||||||
|
* @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>
|
||||||
|
*
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* (<28><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> l502_cmd_set_req(), <20><> <20><><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* l502_cmd_start()).
|
||||||
|
*
|
||||||
|
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> l502_cmd_start().
|
||||||
|
*******************************************************************************/
|
||||||
|
void l502_cmd_check_req(void);
|
||||||
|
|
||||||
|
/***************************************************************************//**
|
||||||
|
* @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
*
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> HostDMA <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* HostDMA <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> l502_cmd_check_req().
|
||||||
|
******************************************************************************/
|
||||||
|
void l502_cmd_set_req(void);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/** @} */
|
||||||
172
src/l502_defs.h
Normal file
172
src/l502_defs.h
Normal file
@ -0,0 +1,172 @@
|
|||||||
|
/*********************************************************************//**
|
||||||
|
@addtogroup config_params
|
||||||
|
@{
|
||||||
|
@file l502_defs.h <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> BF, <20><><EFBFBD> <20> l502api,
|
||||||
|
<20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> l502api
|
||||||
|
@date 28.03.2012
|
||||||
|
@author Borisov Alexey <borisov@lcard.ru>
|
||||||
|
*************************************************************************/
|
||||||
|
|
||||||
|
#ifndef L502_GLOBAL_DEFS_H_
|
||||||
|
#define L502_GLOBAL_DEFS_H_
|
||||||
|
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
||||||
|
#define L502_LTABLE_MAX_CH_CNT 256
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
#define L502_ADC_RANGE_CNT 6
|
||||||
|
|
||||||
|
/** <20><><EFBFBD> <20><><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
#define L502_ADC_SCALE_CODE_MAX 6000000
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
#define X502_OUT_FREQ_DIV_MIN 2
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
#define X502_OUT_FREQ_DIV_MAX 1024
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> L502 <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> 0.5) */
|
||||||
|
#define X502_OUT_FREQ_DIV_DEFAULT 2
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
#define L502_LCH_AVG_SIZE_MAX 128
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> */
|
||||||
|
#define L502_ADC_FREQ_DIV_MAX (1024*1024)
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
#define L502_DIN_FREQ_DIV_MAX (1024*1024)
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> */
|
||||||
|
#define L502_ADC_INTERFRAME_DELAY_MAX (0x1FFFFF)
|
||||||
|
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
#define L502_DAC_RANGE 5.
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> */
|
||||||
|
#define L502_DAC_CH_CNT 2
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
#define L502_STREAM_IN_MSG_OVERFLOW 0x01010000
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
typedef enum {
|
||||||
|
/** <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> */
|
||||||
|
X502_OUT_STATUS_FLAG_BUF_IS_EMPTY = 0x01,
|
||||||
|
/** <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
X502_OutGetStatusFlags() (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) */
|
||||||
|
X502_OUT_STATUS_FLAG_BUF_WAS_EMPTY = 0x02
|
||||||
|
} t_x502_out_status_flags;
|
||||||
|
|
||||||
|
/** @brief <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD>Ȕ <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
L502_AsyncOutDig() <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> L502_PrepareData() <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.*/
|
||||||
|
typedef enum {
|
||||||
|
L502_DIGOUT_WORD_DIS_H = 0x00020000, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_DIGOUT_WORD_DIS_L = 0x00010000 /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
} t_l502_digout_word_flags;
|
||||||
|
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
typedef enum {
|
||||||
|
L502_REF_FREQ_2000KHZ = 2000000, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2<><32><EFBFBD> */
|
||||||
|
L502_REF_FREQ_1500KHZ = 1500000 /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1.5<EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
} t_l502_ref_freq;
|
||||||
|
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> */
|
||||||
|
typedef enum {
|
||||||
|
L502_ADC_RANGE_10 = 0, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> +/-10V */
|
||||||
|
L502_ADC_RANGE_5 = 1, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> +/-5V */
|
||||||
|
L502_ADC_RANGE_2 = 2, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> +/-2V */
|
||||||
|
L502_ADC_RANGE_1 = 3, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> +/-1V */
|
||||||
|
L502_ADC_RANGE_05 = 4, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> +/-0.5V */
|
||||||
|
L502_ADC_RANGE_02 = 5 /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> +/-0.2V */
|
||||||
|
} t_l502_adc_range;
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
typedef enum {
|
||||||
|
L502_LCH_MODE_COMM = 0, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_LCH_MODE_DIFF = 1, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_LCH_MODE_ZERO = 2 /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> */
|
||||||
|
} t_l502_lch_mode;
|
||||||
|
|
||||||
|
/** @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
typedef enum {
|
||||||
|
L502_SYNC_INTERNAL = 0, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_SYNC_EXTERNAL_MASTER = 1, /**< <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_SYNC_DI_SYN1_RISE = 2, /**< <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DI_SYN1 */
|
||||||
|
L502_SYNC_DI_SYN2_RISE = 3, /**< <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DI_SYN2 */
|
||||||
|
L502_SYNC_DI_SYN1_FALL = 6, /**< <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DI_SYN1 */
|
||||||
|
L502_SYNC_DI_SYN2_FALL = 7 /**< <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DI_SYN2 */
|
||||||
|
} t_l502_sync_mode;
|
||||||
|
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
typedef enum {
|
||||||
|
L502_STREAM_ADC = 0x01, /**< <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> */
|
||||||
|
L502_STREAM_DIN = 0x02, /**< <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_STREAM_DAC1 = 0x10, /**< <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> */
|
||||||
|
L502_STREAM_DAC2 = 0x20, /**< <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> */
|
||||||
|
L502_STREAM_DOUT = 0x40, /**< <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> */
|
||||||
|
L502_STREAM_ALL_IN = L502_STREAM_ADC | L502_STREAM_DIN,
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_STREAM_ALL_OUT = L502_STREAM_DAC1 | L502_STREAM_DAC2 | L502_STREAM_DOUT
|
||||||
|
} t_l502_streams;
|
||||||
|
|
||||||
|
#define L502_STREAM_OUT_WORD_TYPE_DOUT 0x0 /**< <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
#define L502_STREAM_OUT_WORD_TYPE_DAC1 0x40000000 /**< <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD> <20><><EFBFBD> 1-<2D><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> */
|
||||||
|
#define L502_STREAM_OUT_WORD_TYPE_DAC2 0x80000000 /**< <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD> <20><><EFBFBD> 2-<2D><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> */
|
||||||
|
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> L502 */
|
||||||
|
typedef enum {
|
||||||
|
L502_MODE_FPGA = 0, /**< <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> BlackFin */
|
||||||
|
L502_MODE_DSP = 1, /**< <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_MODE_DEBUG = 2 /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
} t_l502_mode;
|
||||||
|
|
||||||
|
/** @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>.
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> L502_AsyncOutDac() */
|
||||||
|
typedef enum {
|
||||||
|
L502_DAC_CH1 = 0, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> */
|
||||||
|
L502_DAC_CH2 = 1 /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> */
|
||||||
|
} t_l502_dac_ch;
|
||||||
|
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
typedef enum {
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> */
|
||||||
|
L502_DEVFLAGS_DAC_PRESENT = 0x0001,
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_DEVFLAGS_GAL_PRESENT = 0x0002,
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_DEVFLAGS_BF_PRESENT = 0x0004,
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><> Flash-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
L502_DEVFLAGS_FLASH_DATA_VALID = 0x00010000,
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><> Flash-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> */
|
||||||
|
L502_DEVFLAGS_FLASH_ADC_CALIBR_VALID = 0x00020000,
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><> Flash-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> */
|
||||||
|
L502_DEVFLAGS_FLASH_DAC_CALIBR_VALID = 0x00040000
|
||||||
|
} t_l502_devinfo_flags;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/** @} */
|
||||||
69
src/l502_fpga.c
Normal file
69
src/l502_fpga.c
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
/** @addtogroup fpga_regs
|
||||||
|
@{
|
||||||
|
@file l502_fpga.c
|
||||||
|
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD> <20><> SPI.
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> fpga_spi_init().
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> fpga_reg_write(), <20>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> fpga_reg_read(). */
|
||||||
|
|
||||||
|
#include <cdefBF523.h>
|
||||||
|
|
||||||
|
#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) {
|
||||||
|
/* <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> - <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
if (*pSPI_STAT & RXS) {
|
||||||
|
volatile uint16_t dummy;
|
||||||
|
dummy = *pSPI_RDBR;
|
||||||
|
}
|
||||||
|
|
||||||
|
*pSPI_TDBR = word;
|
||||||
|
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
while (!(*pSPI_STAT&RXS)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
return *pSPI_RDBR;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void fpga_spi_init(void) {
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SPI */
|
||||||
|
*pSPI_BAUD = 2; /* SPI CLK = 132.5/(2*2) = 33.125 */
|
||||||
|
*pSPI_CTL = SPE | MSTR | SIZE | GM | TDBR_CORE; /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 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;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @} */
|
||||||
31
src/l502_fpga.h
Normal file
31
src/l502_fpga.h
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
/** @defgroup fpga_regs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> */
|
||||||
|
|
||||||
|
/***************************************************************************//**
|
||||||
|
@addtogroup fpga_regs
|
||||||
|
@{
|
||||||
|
@file l502_fpga.h
|
||||||
|
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
|
||||||
|
*******************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef L502_FPGA_H_
|
||||||
|
#define L502_FPGA_H_
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
#include "l502_fpga_regs.h"
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
void fpga_spi_init(void);
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SPI
|
||||||
|
@param[in] addr <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
|
@param[in] value <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
void fpga_reg_write(uint16_t addr, uint32_t value);
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SPI
|
||||||
|
@param[in] addr <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
|
@return <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
uint32_t fpga_reg_read(uint16_t addr);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/** @} */
|
||||||
208
src/l502_fpga_regs.h
Normal file
208
src/l502_fpga_regs.h
Normal file
@ -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
|
||||||
|
|
||||||
|
|
||||||
|
/********************* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> 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)
|
||||||
|
|
||||||
|
/********************* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> **************/
|
||||||
|
#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)
|
||||||
|
|
||||||
|
/********************* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> IOHARD **************************/
|
||||||
|
#define L502_REGS_IOHARD_BLOCK 0x0200
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD> Control Table
|
||||||
|
#define L502_REGS_IOHARD_LTABLE (L502_REGS_IOHARD_BLOCK+0)
|
||||||
|
#define L502_REGS_IOHARD_LTABLE_MAX_SIZE 0x100 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 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)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/********************* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> 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)
|
||||||
|
|
||||||
|
|
||||||
|
/********************* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> BlackFin'<27><> **********/
|
||||||
|
#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
|
||||||
|
|
||||||
|
|
||||||
|
/********************* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> 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
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 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)
|
||||||
|
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DMA <20><><EFBFBD> */
|
||||||
|
#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)
|
||||||
|
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
#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
|
||||||
77
src/l502_global.h
Normal file
77
src/l502_global.h
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
/** @defgroup global_defs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
|
||||||
|
/***************************************************************************//**
|
||||||
|
@addtogroup global_defs
|
||||||
|
@{
|
||||||
|
@file l502_global.h
|
||||||
|
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
BlackFin <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||||
|
- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> HostDMA
|
||||||
|
- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><> <20> BlackFin
|
||||||
|
*******************************************************************************/
|
||||||
|
|
||||||
|
#ifndef L502_GLOBAL_H_
|
||||||
|
#define L502_GLOBAL_H_
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
#include "l502_bf_cmd_defs.h"
|
||||||
|
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> BlackFin */
|
||||||
|
#define L502_BF_FIRM_VERSION 0x00000002
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
#define L502_BF_FIRM_FEATURES (L502_BF_FEATURE_FPGA_REG_ACCESS | L502_BF_FEATURE_OUT_STATUS_FLAGS)
|
||||||
|
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> HostDMA */
|
||||||
|
typedef struct {
|
||||||
|
uint32_t flags; /**< <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
uint32_t full_size; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
void* addr; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
uint16_t xcnt; /**< <20><><EFBFBD>-<2D><> 16-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
uint16_t xmod; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
uint16_t ycnt; /**< <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
uint16_t ymod; /**< <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
void* next_descr; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
uint16_t id; /**< id-<2D><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
uint16_t valid; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
uint32_t udata; /**< <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
} t_hdma_stream_descr;
|
||||||
|
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Bf-><3E><>) */
|
||||||
|
#define L502_IN_HDMA_DESCR_CNT (31)
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><>->Bf) */
|
||||||
|
#define L502_OUT_HDMA_DESCR_CNT (31)
|
||||||
|
|
||||||
|
|
||||||
|
/** @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> HDMA
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> HostDMA <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> BlackFin <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
||||||
|
<20><><EFBFBD> <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
typedef struct {
|
||||||
|
t_hdma_stream_descr in_lb; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> */
|
||||||
|
t_hdma_stream_descr in[L502_IN_HDMA_DESCR_CNT]; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> */
|
||||||
|
t_hdma_stream_descr out_lb; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
t_hdma_stream_descr out[L502_OUT_HDMA_DESCR_CNT]; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
} t_hdma_descr_arr;
|
||||||
|
|
||||||
|
|
||||||
|
/** @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
typedef struct {
|
||||||
|
t_hdma_descr_arr hdma; /**< 0xFF800000 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> HDMA*/
|
||||||
|
t_l502_bf_cmd cmd; /**< 0xFF800800 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> PC*/
|
||||||
|
} t_l502_board_state;
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
extern volatile t_l502_board_state g_state;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/** @} */
|
||||||
320
src/l502_hdma.c
Normal file
320
src/l502_hdma.c
Normal file
@ -0,0 +1,320 @@
|
|||||||
|
/***************************************************************************//**
|
||||||
|
@addtogroup hdma
|
||||||
|
@{
|
||||||
|
@file l502_hdma.c
|
||||||
|
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> hdma <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD> <20><>, <20><><EFBFBD> <20> <20> BlackFin.
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
/******************************************************************************
|
||||||
|
<20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> hdma_stream_init().
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> hdma_xxx_start() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> hdma_xxx_stop()
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> hdma_xxx_req_rdy()
|
||||||
|
<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> hdma_xxx_req_start(), <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 31 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
|
||||||
|
<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> hdma_xxx_done(), <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> BF->PC
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
||||||
|
<EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> PC->BF <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> - <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><> PC <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||||
|
*******************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
#include "l502_global.h"
|
||||||
|
#include "l502_cdefs.h"
|
||||||
|
#include "l502_cmd.h"
|
||||||
|
|
||||||
|
|
||||||
|
#include <cdefBF523.h>
|
||||||
|
#include <sys/exception.h>
|
||||||
|
#include <ccblkfn.h>
|
||||||
|
|
||||||
|
|
||||||
|
#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 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> HostDMA
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> HostDMA <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> HostDMA */
|
||||||
|
void hdma_init(void) {
|
||||||
|
int d;
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> HDMA */
|
||||||
|
STREAM_IN_DIS();
|
||||||
|
STREAM_OUT_DIS();
|
||||||
|
|
||||||
|
*pPORTGIO_DIR |= PG5 | PG6;
|
||||||
|
*pPORTFIO_DIR |= PF14 | PF15;
|
||||||
|
|
||||||
|
/***************** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> HOST DMA ***********************/
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
*pPORTG_MUX |= 0x2800;
|
||||||
|
*pPORTG_FER |= 0xF800;
|
||||||
|
*pPORTH_MUX = 0x2A;
|
||||||
|
*pPORTH_FER = 0xFFFF;
|
||||||
|
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
REGISTER_ISR(11, hdma_isr);
|
||||||
|
//*pSIC_IAR3 = (*pSIC_IAR6 & 0xFFF0FFFFUL) | (3 << 16);
|
||||||
|
*pSIC_IAR6 = (*pSIC_IAR6 & 0xFFFFF0FFUL) | P50_IVG(10); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> HDMARD <20><> IVG10
|
||||||
|
REGISTER_ISR(10, hdma_rd_isr);
|
||||||
|
*pSIC_IMASK0 |= IRQ_DMA1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> HOSTDP <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
*pSIC_IMASK1 |= IRQ_HOSTRD_DONE; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> HOSTDP <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 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;
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> HostDMA.
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> HostDMA
|
||||||
|
<20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
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 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> HostDMA.
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> HostDMA <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
void hdma_send_stop(void) {
|
||||||
|
STREAM_IN_DIS();
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> HostDMA
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> HostDMA
|
||||||
|
<20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
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 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> HostDMA
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> HostDMA <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
void hdma_recv_stop(void) {
|
||||||
|
STREAM_OUT_DIS();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************//**
|
||||||
|
@brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> hdma_send_start().
|
||||||
|
@return <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
******************************************************************************/
|
||||||
|
int hdma_send_req_rdy(void) {
|
||||||
|
return L502_IN_HDMA_DESCR_CNT - (uint16_t)(f_snd_start_id - f_snd_done_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**************************************************************************//**
|
||||||
|
@brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> hdma_recv_start().
|
||||||
|
@return <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
******************************************************************************/
|
||||||
|
int hdma_recv_req_rdy(void) {
|
||||||
|
return L502_OUT_HDMA_DESCR_CNT - (uint16_t)(f_rcv_start_id - f_rcv_done_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**************************************************************************//**
|
||||||
|
@brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> HostDMA
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
||||||
|
<20>.<2E>. <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!
|
||||||
|
<20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> hdma_send_req_rdy())
|
||||||
|
|
||||||
|
@param[in] buf <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
@param[in] size <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 32-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
@param[in] flags <20><><EFBFBD><EFBFBD><EFBFBD> <20><> #t_hdma_send_flags
|
||||||
|
@return < 0 <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, >= 0 - id <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
*******************************************************************************/
|
||||||
|
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 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> HostDMA
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
<20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> hdma_recv_req_rdy())
|
||||||
|
|
||||||
|
@param[in] buf <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
@param[in] size <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 32-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
@return < 0 <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, >= 0 - id <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
*******************************************************************************/
|
||||||
|
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 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> BF <20><> HDMA
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> HostDMA. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
ISR(hdma_isr) {
|
||||||
|
if ((*pDMA1_IRQ_STATUS & DMA_DONE) != 0) {
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
if (g_state.cmd.status == L502_BF_CMD_STATUS_REQ) {
|
||||||
|
l502_cmd_set_req();
|
||||||
|
}
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><> HDMA <20><> BF <20> PC */
|
||||||
|
if (g_state.hdma.in_lb.valid) {
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> id <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 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);
|
||||||
|
}
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
|
||||||
|
HDMA <20><> PC <20> BF */
|
||||||
|
if (g_state.hdma.out_lb.valid) {
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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);
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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 {
|
||||||
|
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> HDMA.
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> HostDMA.
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
ISR(hdma_rd_isr) {
|
||||||
|
if ((*pHOST_STATUS & HOSTRD_DONE) != 0) {
|
||||||
|
*pHOST_STATUS &= ~((unsigned short)HOSTRD_DONE);
|
||||||
|
*pHOST_STATUS |= DMA_CMPLT;
|
||||||
|
}
|
||||||
|
ssync();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/** @} */
|
||||||
44
src/l502_hdma.h
Normal file
44
src/l502_hdma.h
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
/** @defgroup hdma <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> HostDMA */
|
||||||
|
|
||||||
|
/***************************************************************************//**
|
||||||
|
@addtogroup hdma
|
||||||
|
@{
|
||||||
|
@file l502_hdma.h
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> HostDMA
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
#ifndef L502_HDMA_H_
|
||||||
|
#define L502_HDMA_H_
|
||||||
|
|
||||||
|
|
||||||
|
void hdma_init(void);
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> #t_hdma_send_flags */
|
||||||
|
typedef enum {
|
||||||
|
/** <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> */
|
||||||
|
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
|
||||||
|
|
||||||
|
/** @} */
|
||||||
183
src/l502_init.c
Normal file
183
src/l502_init.c
Normal file
@ -0,0 +1,183 @@
|
|||||||
|
#include <cdefBF523.h>
|
||||||
|
#include <ccblkfn.h>
|
||||||
|
#include <bfrom.h>
|
||||||
|
#include <sys/exception.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#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)
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SDRAM
|
||||||
|
* RDIV=((117964,8*64ms)/8192)-(6+3)=912 // <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 8192, <20> 4096, <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1834
|
||||||
|
*/
|
||||||
|
#define L502_SDRAM_SDRRC (((132500000 / 1000) * 64) / 8192 - (6 + 3))
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - 32 <20><>, 9 <20><><EFBFBD> - <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
#define L502_SDRAM_SDBCTL (EBE | EBSZ_32 | EBCAW_9)
|
||||||
|
/* CAS latency=3, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> 2 - <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!!!!)
|
||||||
|
* PASR_ALL - <20><><EFBFBD><EFBFBD> <20><><EFBFBD> SDRAM <20> 2.5 <20> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
|
||||||
|
* tRAS(min)=45 <20><> (<28><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 120 <20><><EFBFBD> - 6 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||||
|
* tRP(min)=20 <20><> (<28><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 120 <20><><EFBFBD> - 3 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||||
|
* tRCD(min)=20 <20><> (<28><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 120 <20><><EFBFBD> - 3 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||||
|
* tWR - <20><>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2
|
||||||
|
* POWER startup delay - <20><> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* PSS - power SDRAM - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
|
* SRFS - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SDRAM <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0 <20><> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* EBUFE=0 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> SDRAM
|
||||||
|
* FBBRW=0 - <20><><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* EMREN=0 - <20><><EFBFBD><EFBFBD> <20><><EFBFBD> SDRAM <20> 2.5 <20> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* TCSR=0 - <20><><EFBFBD><EFBFBD> <20><><EFBFBD> SDRAM <20> 2.5 <20> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* CDDBG=0 - <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> signals <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
*/
|
||||||
|
#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;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> BlackFin'a */
|
||||||
|
void l502_setup_pll(void) {
|
||||||
|
ADI_SYSCTRL_VALUES sysctl;
|
||||||
|
sysctl.uwPllCtl = L502_PLL_CTL;
|
||||||
|
bfrom_SysControl(SYSCTRL_WRITE | SYSCTRL_PLLCTL, &sysctl, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> PLL <20> SDRAM <20> <20><><EFBFBD><EFBFBD> OTP, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> */
|
||||||
|
if (err)
|
||||||
|
l502_otp_make_invalid(first_page);
|
||||||
|
}
|
||||||
|
return err;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> PLL <20> SDRAM <20> OTP. <20><><EFBFBD><EFBFBD> <20><><EFBFBD>,
|
||||||
|
<20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20> OTP <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> PLL <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
void l502_otp_init(void) {
|
||||||
|
uint32_t err=0, page, fnd=0, pll_setup=0;
|
||||||
|
|
||||||
|
//err = l502_otp_make_invalid(PBS00);
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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) {
|
||||||
|
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> => PLL <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
if (!pll_setup) {
|
||||||
|
l502_setup_pll();
|
||||||
|
pll_setup = 1;
|
||||||
|
}
|
||||||
|
err = l502_otp_write_cfg(page);
|
||||||
|
page+=4;
|
||||||
|
if (!err && (page< 0xD8)) {
|
||||||
|
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> - <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
||||||
|
<20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
err = l502_otp_write_cfg(page);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> PLL,
|
||||||
|
<20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
if (!fnd && !pll_setup) {
|
||||||
|
l502_setup_pll();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void l502_init(void) {
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> OTP-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> PLL, <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD> <20> OTP <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>
|
||||||
|
* SDRAM <20> PLL <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> BlackFin */
|
||||||
|
l502_otp_init();
|
||||||
|
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SPI */
|
||||||
|
fpga_spi_init();
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 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;
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SPORT RX <20><> IVG7 */
|
||||||
|
*pSIC_IAR2 = (*pSIC_IAR2 & 0xFFFFFFF0UL) | P16_IVG(7);
|
||||||
|
REGISTER_ISR(7, isr_sport_dma_rx);
|
||||||
|
/* SPORT TX <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> IVG9 */
|
||||||
|
REGISTER_ISR(9, isr_sport_dma_tx);
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> HostDMA-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
hdma_init();
|
||||||
|
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD> SDRAM <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> */
|
||||||
|
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; /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
|
||||||
|
while (*pEBIU_SDSTAT & SDRS) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
l502_stream_init();
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
208
src/l502_params.c
Normal file
208
src/l502_params.c
Normal file
@ -0,0 +1,208 @@
|
|||||||
|
/** @addtogroup config_params
|
||||||
|
@{
|
||||||
|
@file l502_params.c
|
||||||
|
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - g_set.
|
||||||
|
<20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#include "l502_global.h"
|
||||||
|
#include "l502_cmd.h"
|
||||||
|
#include "l502_fpga.h"
|
||||||
|
#include "l502_params.h"
|
||||||
|
#include "l502_stream.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
#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 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> g_set.lch_cnt <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>-<2D><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>.
|
||||||
|
|
||||||
|
@param[in] lch_cnt <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><> 1 <20><> #L502_LTABLE_MAX_CH_CNT)
|
||||||
|
@return <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> g_set.lch[]
|
||||||
|
|
||||||
|
@param[in] index <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [0, L502_LTABLE_MAX_CH_CNT-1]
|
||||||
|
@param[in] ch <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><> 0 <20><> 15 <20><><EFBFBD> 31)
|
||||||
|
@param[in] mode <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
@param[in] range <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
@param[in] avg <20><><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
@param[in] flags <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
@return <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
|
||||||
|
@param[in] div <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
@return <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
@param[in] freq_code <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#L502_REF_FREQ_2000KHZ <20><><EFBFBD> #L502_REF_FREQ_1500KHZ
|
||||||
|
@return <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
int32_t params_set_ref_freq(uint32_t freq_code) {
|
||||||
|
g_set.ref_freq = freq_code;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
@param[in] delay <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><> 0 <20><> L502_ADC_INTERFRAME_DELAY_MAX)
|
||||||
|
@return <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
@param[in] sync_mode <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> #t_l502_sync_mode
|
||||||
|
@return <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
@param[in] sync_mode <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> #t_l502_sync_mode
|
||||||
|
@return <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
@param[in] div <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
@return <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>
|
||||||
|
@param[in] div <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (1 <20><><EFBFBD> 2)
|
||||||
|
@return <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #g_set <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
|
||||||
|
@return <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
int32_t configure(void) {
|
||||||
|
uint16_t ch;
|
||||||
|
|
||||||
|
int32_t err = g_mode != L502_BF_MODE_IDLE ? L502_BF_ERR_STREAM_RUNNING : 0;
|
||||||
|
if (!err) {
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @} */
|
||||||
79
src/l502_params.h
Normal file
79
src/l502_params.h
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
/** @defgroup config_params <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
|
||||||
|
/***************************************************************************//**
|
||||||
|
@addtogroup config_params
|
||||||
|
@{
|
||||||
|
@file l502_params.h
|
||||||
|
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> g_set, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
*******************************************************************************/
|
||||||
|
|
||||||
|
#ifndef L502_PARAMS_H_
|
||||||
|
#define L502_PARAMS_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include "l502_defs.h"
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> */
|
||||||
|
typedef struct {
|
||||||
|
float offs; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> */
|
||||||
|
float k; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
} t_dac_cbr_coef;
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
typedef struct {
|
||||||
|
uint32_t devflags; /**< <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
uint16_t fpga_ver; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FPGA */
|
||||||
|
uint8_t plda_ver; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> PLDA */
|
||||||
|
t_dac_cbr_coef dac_cbr[L502_DAC_CH_CNT]; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> */
|
||||||
|
} t_module_info;
|
||||||
|
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
typedef struct {
|
||||||
|
uint8_t phy_ch; /**< <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
uint8_t mode; /**< <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
uint8_t range; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
uint8_t avg; /**< <20><><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
uint32_t flags; /**< <20><><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
} t_lch;
|
||||||
|
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
typedef struct {
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
t_lch lch[L502_LTABLE_MAX_CH_CNT];
|
||||||
|
uint16_t lch_cnt; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
uint32_t adc_freq_div; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> */
|
||||||
|
uint32_t din_freq_div; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
uint32_t adc_frame_delay; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
uint32_t ref_freq; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (2 <20><><EFBFBD> 1.5 <20><><EFBFBD>) <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
uint16_t out_freq_div; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
uint8_t sync_mode; /**< <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
uint8_t sync_start_mode; /**< <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
} t_settings;
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
extern t_settings g_set;
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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
|
||||||
|
|
||||||
|
/** @} */
|
||||||
23
src/l502_sport_rx.h
Normal file
23
src/l502_sport_rx.h
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
/** @defgroup sport_rx <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT0 */
|
||||||
|
|
||||||
|
/***************************************************************************//**
|
||||||
|
@addtogroup sport_rx
|
||||||
|
@{
|
||||||
|
@file l502_sport_rx.h
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT0
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
#ifndef L502_SPORT_RX_H
|
||||||
|
#define L502_SPORT_RX_H
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
/** @} */
|
||||||
238
src/l502_sport_tx.c
Normal file
238
src/l502_sport_tx.c
Normal file
@ -0,0 +1,238 @@
|
|||||||
|
/** @addtogroup sport_tx
|
||||||
|
@{
|
||||||
|
@file l502_sport_tx.c
|
||||||
|
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT0.
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DMA <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> sport_tx_init(),
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> sport_tx_start_req(). <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 16
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> sport_tx_stop().
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
|
||||||
|
#include <cdefBF523.h>
|
||||||
|
#include <sys/exception.h>
|
||||||
|
#include <ccblkfn.h>
|
||||||
|
#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)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DMA <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 5 16-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> */
|
||||||
|
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 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
@return <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> --- <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> #t_x502_out_status_flags,
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>Ȕ.
|
||||||
|
******************************************************************************/
|
||||||
|
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 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DMA <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT.
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DMA <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> DMA <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> SPORT0 <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* <20><><EFBFBD> SPORT 0 */
|
||||||
|
static void f_sport_tx_start(void) {
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT'<27> */
|
||||||
|
*pSPORT0_TCR1 |= TSPEN;
|
||||||
|
f_first = 0;
|
||||||
|
f_tx_was_empty = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/** @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT0.
|
||||||
|
*
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT0 <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> DMA <20><> <20><><EFBFBD><EFBFBD> */
|
||||||
|
void sport_tx_stop(void) {
|
||||||
|
*pSIC_IMASK0 &= ~IRQ_DMA4;
|
||||||
|
|
||||||
|
*pDMA4_CONFIG = 0;
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 3-<2D> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> DMA <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
ssync();
|
||||||
|
ssync();
|
||||||
|
ssync();
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT */
|
||||||
|
*pSPORT0_TCR1 &= ~TSPEN;
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> DMA */
|
||||||
|
*pDMA4_IRQ_STATUS = DMA_DONE | DMA_ERR;
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
sport_tx_init();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**************************************************************************//**
|
||||||
|
@brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> sport_tx_start_req().
|
||||||
|
@return <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
******************************************************************************/
|
||||||
|
int sport_tx_req_rdy(void) {
|
||||||
|
return SPORT_TX_DESCR_CNT - (f_put_cnt - f_done_cnt + 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************//**
|
||||||
|
@brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT0
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
||||||
|
<20>.<2E>. <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!
|
||||||
|
<20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> sport_tx_req_rdy()).
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #SPORT_TX_REQ_SIZE_MAX
|
||||||
|
|
||||||
|
<20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
|
||||||
|
DMA <20> SPORT0.
|
||||||
|
|
||||||
|
@param[in] buf <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
@param[in] size <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 32-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
*******************************************************************************/
|
||||||
|
void sport_tx_start_req(uint32_t* buf, uint32_t size) {
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> DMA <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
*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;
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DMA */
|
||||||
|
ssync();
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD> DMA <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> => <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> */
|
||||||
|
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 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT0 <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT0, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> sport_tx_done().
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DMA (<28><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) */
|
||||||
|
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;
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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;
|
||||||
|
/* <20><><EFBFBD><EFBFBD> DMA <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> => <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @} */
|
||||||
28
src/l502_sport_tx.h
Normal file
28
src/l502_sport_tx.h
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
/** @defgroup sport_tx <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT0 */
|
||||||
|
|
||||||
|
/***************************************************************************//**
|
||||||
|
@addtogroup sport_tx
|
||||||
|
@{
|
||||||
|
@file l502_sport_tx.h
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT0
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
#ifndef L502_SPORT_TX_H
|
||||||
|
#define L502_SPORT_TX_H
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 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
|
||||||
|
|
||||||
|
/** @} */
|
||||||
570
src/l502_stream.c
Normal file
570
src/l502_stream.c
Normal file
@ -0,0 +1,570 @@
|
|||||||
|
/**
|
||||||
|
@addtogroup streams
|
||||||
|
@{
|
||||||
|
|
||||||
|
@file l502_stream.c
|
||||||
|
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>/DIN <20> <20><> <20> <20><> <20><> <20> <20><><EFBFBD>/DOUT.
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT0, <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#include <cdefBF523.h>
|
||||||
|
#include <sys/exception.h>
|
||||||
|
#include <ccblkfn.h>
|
||||||
|
|
||||||
|
#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"
|
||||||
|
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT0 <20> 32-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
#define L502_SPORT_IN_BUF_SIZE (2048*1024)
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> HostDMA <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20> 32-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
#define L502_HDMA_OUT_BUF_SIZE (1024*1024)
|
||||||
|
|
||||||
|
/** <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT0 <20><>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
#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;
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> */
|
||||||
|
volatile int g_mode = L502_BF_MODE_IDLE;
|
||||||
|
|
||||||
|
int g_streams = L502_STREAM_ADC;
|
||||||
|
static int f_bf_reg = 0;
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
static const uint32_t f_overflow_wrd = L502_STREAM_IN_MSG_OVERFLOW;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> digin <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> SPORT (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) */
|
||||||
|
#include "l502_sdram_noinit.h"
|
||||||
|
static volatile uint32_t f_sport_in_buf[L502_SPORT_IN_BUF_SIZE];
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
static volatile uint32_t f_sport_in_put_pos = 0;
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
static uint32_t f_sport_in_proc_pos = 0;
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) */
|
||||||
|
static volatile uint32_t f_sport_in_get_pos = 0;
|
||||||
|
/* <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT0 */
|
||||||
|
static uint32_t f_sport_in_block_size = L502_DEFAULT_SPORT_RX_BLOCK_SIZE;
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
static uint32_t f_sport_in_buf_size = L502_SPORT_IN_BUF_SIZE;
|
||||||
|
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> HDMA <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20> 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; /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> HDMA */
|
||||||
|
static uint32_t f_hdma_out_start_pos; /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
(<28> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) */
|
||||||
|
static volatile uint32_t f_hdma_out_get_pos = 0; /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
(<28> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
static int f_hdma_out_block_size = 0x8000;
|
||||||
|
static int f_hdma_out_proc_pos;
|
||||||
|
|
||||||
|
static uint32_t f_recv_size = 0;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><> SPORT'<27> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>/DIGIN */
|
||||||
|
static void f_stream_in_set_overflow(void) {
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> */
|
||||||
|
sport_rx_stop();
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
g_stream_in_state = IN_STREAM_OV_ALERT;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
void l502_stream_init(void) {
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
fpga_reg_write(L502_REGS_IOHARD_GO_SYNC_IO, 0);
|
||||||
|
fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, 0);
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DMA <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT */
|
||||||
|
sport_tx_init();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/** @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> BlackFin <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
@return <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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;
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> HDMA */
|
||||||
|
hdma_recv_start();
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 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;
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 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();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 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: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
|
||||||
|
g_streams = streams;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
@param[in] streams <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> #t_l502_streams, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||||
|
@return <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
int32_t stream_enable(uint32_t streams) {
|
||||||
|
f_set_streams(g_streams | streams);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/** @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
@param[in] streams <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> #t_l502_streams, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
@return <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
int32_t stream_disable(uint32_t streams) {
|
||||||
|
f_set_streams(g_streams & ~streams);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***************************************************************************//**
|
||||||
|
@brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
<20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
stream_enable().
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> stream_enable()
|
||||||
|
<20><><EFBFBD> stream_disable().
|
||||||
|
|
||||||
|
@return <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
***************************************************************************/
|
||||||
|
int32_t streams_start(void) {
|
||||||
|
int32_t err = g_mode != L502_BF_MODE_IDLE ? L502_BF_ERR_STREAM_RUNNING : 0;
|
||||||
|
if (!err) {
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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) {
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TFS <20><> SPORT */
|
||||||
|
f_bf_reg |= L502_REGBIT_IOHARD_OUT_TFS_EN_Msk;
|
||||||
|
fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, f_bf_reg);
|
||||||
|
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
||||||
|
<20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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) {
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, f_bf_reg | 1);
|
||||||
|
g_stream_out_state = OUT_STREAM_RUN;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><> 2-<2D> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
*/
|
||||||
|
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 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
|
||||||
|
<20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT <20> <20><> HostDMA
|
||||||
|
|
||||||
|
@return <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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);
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT'<27> */
|
||||||
|
sport_rx_stop();
|
||||||
|
sport_tx_stop();
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TFS <20> 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 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
<20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD>
|
||||||
|
<20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>/DIGIN <20>/<2F><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><> <20><><EFBFBD> <20><><EFBFBD> DOUT. <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
||||||
|
<20><> <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD>, <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
void stream_proc(void) {
|
||||||
|
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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;
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> sport'<27> */
|
||||||
|
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;
|
||||||
|
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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);
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
f_sport_in_proc_pos += processed;
|
||||||
|
if (f_sport_in_proc_pos==f_sport_in_buf_size)
|
||||||
|
f_sport_in_proc_pos = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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;
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 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;
|
||||||
|
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> -> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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);
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
f_hdma_out_proc_pos += processed;
|
||||||
|
if (f_hdma_out_proc_pos==L502_HDMA_OUT_BUF_SIZE)
|
||||||
|
f_hdma_out_proc_pos = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> => <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> size <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT0
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> size <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SPORT0, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20>.<2E>. <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT0.
|
||||||
|
<20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!
|
||||||
|
|
||||||
|
@param[in] size <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 32-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
void stream_in_buf_free(uint32_t size) {
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> size <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> HostDMA
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> size <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> HostDMA, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>, <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20>.<2E>. <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><> <20><> HostDMA.
|
||||||
|
<20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!
|
||||||
|
|
||||||
|
@param[in] size <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 32-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> HostDMA
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> HDMA <20> <20><>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> hdma_recv_req_start().
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
|
||||||
|
<20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> stream_proc().
|
||||||
|
|
||||||
|
@param[in] addr <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
@param[in] size <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 32-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> */
|
||||||
|
void hdma_recv_done(uint32_t* addr, uint32_t size) {
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT0
|
||||||
|
@return <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20> 32-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
extern uint32_t sport_in_buffer_size(void) {
|
||||||
|
return L502_SPORT_IN_BUF_SIZE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @} */
|
||||||
|
|
||||||
|
|
||||||
|
/** @addtogroup sport_rx
|
||||||
|
@{ */
|
||||||
|
|
||||||
|
/** @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT0
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> DMA, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
<20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 4 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #L502_SPORT_IN_BUF_SIZE.
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
||||||
|
<20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #L502_SPORT_IN_BUF_SIZE.
|
||||||
|
|
||||||
|
@param[in] size <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 32-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
@return <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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;
|
||||||
|
/* <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> 0x8000 <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
YCNT 16-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (+ <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 2) */
|
||||||
|
if (mul > 0x8000)
|
||||||
|
mul = 0x8000;
|
||||||
|
f_sport_in_buf_size = size*mul;
|
||||||
|
f_sport_in_block_size = size;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/** @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT0
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DMA3 <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 2D, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> f_sport_in_block_size. <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> DMA <20>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT0 */
|
||||||
|
void sport_rx_start(void) {
|
||||||
|
static volatile int dummy;
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DMA */
|
||||||
|
*pDMA3_CONFIG = 0;
|
||||||
|
ssync();
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> */
|
||||||
|
while (*pSPORT0_STAT & RXNE) {
|
||||||
|
dummy = *pSPORT0_RX16;
|
||||||
|
ssync();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DMA */
|
||||||
|
*pDMA3_START_ADDR = (void*)f_sport_in_buf;
|
||||||
|
*pDMA3_X_COUNT = 2*f_sport_in_block_size; /* <20><><EFBFBD> <20><><EFBFBD> SPORT <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 16 <20><><EFBFBD> (<28><><EFBFBD><EFBFBD> <20> 2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>),
|
||||||
|
<20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 32 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> => <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 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();
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DMA */
|
||||||
|
*pSIC_IMASK0 |= IRQ_DMA3;
|
||||||
|
*pDMA3_CONFIG |= DMAEN;
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT'<27> */
|
||||||
|
*pSPORT0_RCR1 |= RSPEN;
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> RFS <20><> SPORT0 */
|
||||||
|
f_bf_reg |= L502_REGBIT_IOHARD_OUT_RFS_EN_Msk;
|
||||||
|
fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, f_bf_reg);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT0
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT0 <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DMA */
|
||||||
|
void sport_rx_stop(void) {
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> RFS */
|
||||||
|
f_bf_reg &= ~L502_REGBIT_IOHARD_OUT_RFS_EN_Msk;
|
||||||
|
fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, f_bf_reg);
|
||||||
|
|
||||||
|
ssync();
|
||||||
|
ssync();
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT */
|
||||||
|
*pSPORT0_RCR1 &= ~RSPEN;
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DMA */
|
||||||
|
*pDMA3_CONFIG =0; //&= ~DMAEN;
|
||||||
|
*pSIC_IMASK0 &= ~IRQ_DMA3;
|
||||||
|
//ssync();
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT0 <20><> <20><><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT0.
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
ISR(isr_sport_dma_rx) {
|
||||||
|
if (*pDMA3_IRQ_STATUS & DMA_DONE) {
|
||||||
|
uint32_t rdy_put_pos;
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> DMA */
|
||||||
|
*pDMA3_IRQ_STATUS = DMA_DONE;
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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;
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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;
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> - <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
||||||
|
<20>.<2E>. <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
if (rdy_put_pos < 2*f_sport_in_block_size) {
|
||||||
|
f_stream_in_set_overflow();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @} */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
65
src/l502_stream.h
Normal file
65
src/l502_stream.h
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
/** @defgroup streams <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
|
||||||
|
/***************************************************************************//**
|
||||||
|
@addtogroup streams
|
||||||
|
@{
|
||||||
|
@file l502_stream.h
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> HostDMA
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
#ifndef L502_STREAM_H_
|
||||||
|
#define L502_STREAM_H_
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> */
|
||||||
|
typedef enum {
|
||||||
|
IN_STREAM_STOP = 0, /**< <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
IN_STREAM_RUN = 2, /**< <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
IN_STREAM_OV_ALERT = 4, /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
IN_STREAM_ERR= 3 /**< <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>-<2D><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
} t_in_stream_state;
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
typedef enum {
|
||||||
|
OUT_STREAM_STOP = 0, /**< <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
OUT_STREAM_PRELOAD = 1, /**< <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><> <20><>, <20><> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
OUT_STREAM_RUN = 2, /** <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
OUT_STREAM_ERR = 3, /** <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) */
|
||||||
|
OUT_STREAM_CYCLE = 4 /** <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) */
|
||||||
|
} t_out_stream_state;
|
||||||
|
|
||||||
|
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> */
|
||||||
|
extern t_in_stream_state g_stream_in_state;
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
extern t_out_stream_state g_stream_out_state;
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> #t_l502_bf_mode */
|
||||||
|
extern volatile int g_mode;
|
||||||
|
/** <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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
|
||||||
|
|
||||||
|
/** @} */
|
||||||
421
src/l502_tests.c
Normal file
421
src/l502_tests.c
Normal file
@ -0,0 +1,421 @@
|
|||||||
|
/** @file l502_test.c
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
<20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20>.<2E>.)
|
||||||
|
|
||||||
|
<20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> PC <20> BlackFin: L502_BF_CMD_CODE_TEST.
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||||
|
- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
|
- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>).
|
||||||
|
|
||||||
|
<20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> g_mode)
|
||||||
|
<20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> (<28><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> PC).
|
||||||
|
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>).
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> L502_BF_CMD_TEST_GET_RESULT.
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>:
|
||||||
|
- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SDRAM
|
||||||
|
- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SPI
|
||||||
|
- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SPORT
|
||||||
|
|
||||||
|
**************************************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <cdefBF523.h>
|
||||||
|
#include <sys/exception.h>
|
||||||
|
|
||||||
|
#include "l502_cmd.h"
|
||||||
|
#include "l502_fpga.h"
|
||||||
|
#include "l502_sport_tx.h"
|
||||||
|
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
extern int g_mode;
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SDRAM <20> SPORT */
|
||||||
|
#define L502_TEST_CNTR_MODULE 35317
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> SDRAM */
|
||||||
|
#define SDRAM_BANK_SIZE (4UL*1024*1024*2)
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 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
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
static t_l502_bf_test_res f_test_res;
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
static int32_t f_cur_test_ind = -1;
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
static int f_sdram_test(void);
|
||||||
|
static int f_spi_test(void);
|
||||||
|
static int f_sport_test(void);
|
||||||
|
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
typedef struct {
|
||||||
|
uint32_t test_code;
|
||||||
|
int (*start)(void);
|
||||||
|
void (*get_result)(t_l502_bf_cmd *cmd);
|
||||||
|
} t_test_pars;
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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) {
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
if (cmd->param == L502_BF_CMD_TEST_GET_RESULT) {
|
||||||
|
/* <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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) {
|
||||||
|
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> =>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> */
|
||||||
|
f_test_pars[f_cur_test_ind].get_result(cmd);
|
||||||
|
} else {
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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) {
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> => <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> */
|
||||||
|
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 {
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> */
|
||||||
|
if (g_mode == L502_BF_MODE_IDLE) {
|
||||||
|
uint32_t i;
|
||||||
|
|
||||||
|
for (i=0, f_cur_test_ind=-1; (i<sizeof(f_test_pars)/sizeof(f_test_pars[0])) &&
|
||||||
|
(f_cur_test_ind==-1); i++) {
|
||||||
|
if (f_test_pars[i].test_code == cmd->param) {
|
||||||
|
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);
|
||||||
|
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SPORT'<27>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>/<2F><><EFBFBD>
|
||||||
|
<20><> BlackFin'<27> <20> <20><><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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;
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT'<27> */
|
||||||
|
*pSPORT0_TCR1 |= TSPEN;
|
||||||
|
*pSPORT0_RCR1 |= RSPEN;
|
||||||
|
|
||||||
|
while (stat & RXNE) {
|
||||||
|
rx_buf[0] = *pSPORT0_RX16;
|
||||||
|
stat=*pSPORT0_STAT;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SPORT'<27> */
|
||||||
|
for (i = 0; i < 8; i++) {
|
||||||
|
*pSPORT0_TX16 = tx_cntr++;
|
||||||
|
//tx_cntr+=SPORT_CNTR_INC;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 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:
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT'<27> */
|
||||||
|
*pSPORT0_TCR1 = 0;
|
||||||
|
*pSPORT0_RCR1 = 0;
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SPORT'<27> */
|
||||||
|
fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, 0);
|
||||||
|
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD> SPI - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
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<<i);
|
||||||
|
fpga_reg_write(f_test_res.last_addr, f_test_res.last_wr);
|
||||||
|
f_test_res.last_rd = fpga_reg_read(f_test_res.last_addr);
|
||||||
|
|
||||||
|
if (f_test_res.last_wr != f_test_res.last_rd)
|
||||||
|
f_test_res.err = L502_BF_ERR_TEST_VALUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!f_test_res.err)
|
||||||
|
f_test_res.cntr++;
|
||||||
|
|
||||||
|
l502_cmd_check_req();
|
||||||
|
}
|
||||||
|
return f_test_res.err;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD> SDRAM <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
static int f_sdram_test(void) {
|
||||||
|
int i;
|
||||||
|
unsigned short cntr = 0;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
while (!f_test_res.err && (g_mode == L502_BF_MODE_TEST)) {
|
||||||
|
f_test_res.stage = 0;
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
for (i = 0, cntr = 0; i < (16UL*1024*1024); i++) {
|
||||||
|
bank1[i] = cntr;
|
||||||
|
if (++cntr == L502_TEST_CNTR_MODULE) {
|
||||||
|
cntr = 0;
|
||||||
|
TEST_CHECK_OUT(sdram_test_end);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_CHECK_OUT(sdram_test_end);
|
||||||
|
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
for (i = 0, cntr = 0; i < (16UL*1024*1024); i++) {
|
||||||
|
uint16_t word = bank1[i];
|
||||||
|
if (word != cntr) {
|
||||||
|
f_test_res.err = L502_BF_ERR_TEST_VALUE;
|
||||||
|
f_test_res.last_addr = (uint32_t)&bank1[i];
|
||||||
|
f_test_res.last_wr = cntr;
|
||||||
|
f_test_res.last_rd = word;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (++cntr==L502_TEST_CNTR_MODULE) {
|
||||||
|
cntr = 0;
|
||||||
|
TEST_CHECK_OUT(sdram_test_end);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_CHECK_OUT(sdram_test_end);
|
||||||
|
f_test_res.stage++;
|
||||||
|
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
for (i = 0, cntr = 0; i < (4UL*1024*1024); i++) {
|
||||||
|
bank1[i] = cntr;
|
||||||
|
bank2[i] = ~cntr;
|
||||||
|
bank3[i] = cntr^0xAA55;
|
||||||
|
bank4[i] = cntr^0x55AA;
|
||||||
|
if (++cntr == L502_TEST_CNTR_MODULE) {
|
||||||
|
cntr = 0;
|
||||||
|
TEST_CHECK_OUT(sdram_test_end);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_CHECK_OUT(sdram_test_end);
|
||||||
|
|
||||||
|
|
||||||
|
for (i = 0, cntr = 0; i < (4UL*1024*1024); i++) {
|
||||||
|
uint16_t word = bank1[i];
|
||||||
|
if (word != cntr) {
|
||||||
|
f_test_res.err = L502_BF_ERR_TEST_VALUE;
|
||||||
|
f_test_res.last_addr = (uint32_t)&bank1[i];
|
||||||
|
f_test_res.last_wr = cntr;
|
||||||
|
f_test_res.last_rd = word;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
word = bank2[i];
|
||||||
|
if (word != (~cntr & 0xFFFF)) {
|
||||||
|
f_test_res.err = L502_BF_ERR_TEST_VALUE;
|
||||||
|
f_test_res.last_addr = (uint32_t)&bank2[i];
|
||||||
|
f_test_res.last_wr = (~cntr & 0xFFFF);
|
||||||
|
f_test_res.last_rd = word;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
word = bank3[i];
|
||||||
|
if (word != ((cntr^0xAA55) & 0xFFFF)) {
|
||||||
|
f_test_res.err = L502_BF_ERR_TEST_VALUE;
|
||||||
|
f_test_res.last_addr = (uint32_t)&bank3[i];
|
||||||
|
f_test_res.last_wr = ((cntr^0xAA55) & 0xFFFF);
|
||||||
|
f_test_res.last_rd = word;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
word = bank4[i];
|
||||||
|
if (word != ((cntr^0x55AA) & 0xFFFF)) {
|
||||||
|
f_test_res.err = L502_BF_ERR_TEST_VALUE;
|
||||||
|
f_test_res.last_addr = (uint32_t)&bank4[i];
|
||||||
|
f_test_res.last_wr = ((cntr^0x55AA) & 0xFFFF);
|
||||||
|
f_test_res.last_rd = word;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (++cntr == L502_TEST_CNTR_MODULE) {
|
||||||
|
cntr = 0;
|
||||||
|
TEST_CHECK_OUT(sdram_test_end);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
TEST_CHECK_OUT(sdram_test_end);
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 4 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
f_test_res.stage++;
|
||||||
|
|
||||||
|
for (i = 0, cntr=0; i < (4UL*1024*1024); i++) {
|
||||||
|
uint16_t word[4], wr_val[4] = {~cntr, cntr, cntr^0x55AA, cntr^0xAA55};
|
||||||
|
|
||||||
|
bank1[i] = wr_val[0];
|
||||||
|
bank2[i] = wr_val[1];
|
||||||
|
bank3[i] = wr_val[2];
|
||||||
|
bank4[i] = wr_val[3];
|
||||||
|
|
||||||
|
word[1] = bank2[i];
|
||||||
|
word[0] = bank1[i];
|
||||||
|
word[3] = bank4[i];
|
||||||
|
word[2] = bank3[i];
|
||||||
|
|
||||||
|
|
||||||
|
if (word[0] != wr_val[0]) {
|
||||||
|
f_test_res.err = L502_BF_ERR_TEST_VALUE;
|
||||||
|
f_test_res.last_addr = (uint32_t)&bank1[i];
|
||||||
|
f_test_res.last_wr = wr_val[0];
|
||||||
|
f_test_res.last_rd = word[0];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (word[1] != wr_val[1]) {
|
||||||
|
f_test_res.err = L502_BF_ERR_TEST_VALUE;
|
||||||
|
f_test_res.last_addr = (uint32_t)&bank2[i];
|
||||||
|
f_test_res.last_wr = wr_val[1];
|
||||||
|
f_test_res.last_rd = word[1];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (word[2] != wr_val[2]) {
|
||||||
|
f_test_res.err = L502_BF_ERR_TEST_VALUE;
|
||||||
|
f_test_res.last_addr = (uint32_t)&bank3[i];
|
||||||
|
f_test_res.last_wr = wr_val[2];
|
||||||
|
f_test_res.last_rd = word[2];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (word[3] != wr_val[3]) {
|
||||||
|
f_test_res.err = L502_BF_ERR_TEST_VALUE;
|
||||||
|
f_test_res.last_addr = (uint32_t)&bank4[i];
|
||||||
|
f_test_res.last_wr = wr_val[3];
|
||||||
|
f_test_res.last_rd = word[3];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (++cntr == L502_TEST_CNTR_MODULE) {
|
||||||
|
cntr = 0;
|
||||||
|
TEST_CHECK_OUT(sdram_test_end);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
TEST_CHECK_OUT(sdram_test_end);
|
||||||
|
|
||||||
|
f_test_res.cntr++;
|
||||||
|
}
|
||||||
|
sdram_test_end:
|
||||||
|
|
||||||
|
return f_test_res.err;
|
||||||
|
}
|
||||||
|
|
||||||
162
src/l502_user_process.c
Normal file
162
src/l502_user_process.c
Normal file
@ -0,0 +1,162 @@
|
|||||||
|
/***************************************************************************//**
|
||||||
|
@addtogroup user_process
|
||||||
|
@{
|
||||||
|
@file l502_user_process.c
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
*******************************************************************************/
|
||||||
|
|
||||||
|
#include "l502_stream.h"
|
||||||
|
#include "l502_hdma.h"
|
||||||
|
#include "l502_sport_tx.h"
|
||||||
|
#include "l502_cmd.h"
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
/***************************************************************************//**
|
||||||
|
@brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>/DIN.
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
|
||||||
|
<20><><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT0.
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20><> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
stream_in_buf_free()).
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> size, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
|
||||||
|
<20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> HDMA <20> <20><>
|
||||||
|
|
||||||
|
@param[in] data <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
@param[in] size <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 32-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
@return <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><> 0 <20><> size).
|
||||||
|
<20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> usr_in_proc_data(),
|
||||||
|
<20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
*******************************************************************************/
|
||||||
|
uint32_t usr_in_proc_data(uint32_t* data, uint32_t size) {
|
||||||
|
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> HDMA - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0, <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
if (hdma_send_req_rdy()) {
|
||||||
|
hdma_send_req_start(data, size, 0);
|
||||||
|
return size;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/***************************************************************************//**
|
||||||
|
@brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>/DOUT
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
|
||||||
|
<20><> <20><> HDMA.
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20><> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
stream_out_buf_free()).
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> size, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
|
||||||
|
<20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT
|
||||||
|
<20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
|
||||||
|
@param[in] data <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
@param[in] size <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 32-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
@return <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><> 0 <20><> size).
|
||||||
|
<20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> usr_out_proc_data(),
|
||||||
|
<20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
******************************************************************************/
|
||||||
|
uint32_t usr_out_proc_data(uint32_t* data, uint32_t size) {
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> HDMA - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0, <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
if (sport_tx_req_rdy()) {
|
||||||
|
|
||||||
|
/* <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> SPORT <20><> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
SPORT_TX_REQ_SIZE_MAX <20><><EFBFBD><EFBFBD> */
|
||||||
|
if (size > SPORT_TX_REQ_SIZE_MAX)
|
||||||
|
size = SPORT_TX_REQ_SIZE_MAX;
|
||||||
|
|
||||||
|
sport_tx_start_req(data, size);
|
||||||
|
|
||||||
|
return size;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/****************************************************************************//**
|
||||||
|
@brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> HostDMA
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> HDMA <20> <20><>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> hdma_send_req_start().
|
||||||
|
|
||||||
|
@param[in] addr <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
@param[in] size <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 32-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
****************************************************************************/
|
||||||
|
void hdma_send_done(uint32_t* addr, uint32_t size) {
|
||||||
|
stream_in_buf_free(size);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/***************************************************************************//**
|
||||||
|
@brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> SPORT
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><> SPORT'<27> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> sport_tx_start_req().
|
||||||
|
|
||||||
|
|
||||||
|
@param[in] addr <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
@param[in] size <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 32-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
void sport_tx_done(uint32_t* addr, uint32_t size) {
|
||||||
|
stream_out_buf_free(size);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/****************************************************************************//**
|
||||||
|
@brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#L502_BF_CMD_CODE_USER.
|
||||||
|
|
||||||
|
<20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
l502_cmd_done(), <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>
|
||||||
|
<20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
@param[in] cmd <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
******************************************************************************/
|
||||||
|
void usr_cmd_process(t_l502_bf_cmd *cmd) {
|
||||||
|
l502_cmd_done(L502_BF_ERR_UNSUP_CMD, NULL, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @} */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
26
src/l502_user_process.h
Normal file
26
src/l502_user_process.h
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
/** @defgroup user_process <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
|
||||||
|
/***************************************************************************//**
|
||||||
|
@addtogroup user_process
|
||||||
|
@{
|
||||||
|
@file l502_user_process.h
|
||||||
|
|
||||||
|
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#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
|
||||||
|
|
||||||
|
/** @} */
|
||||||
30
src/main.c
Normal file
30
src/main.c
Normal file
@ -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 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
* <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> A <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
SECTION("board_state", volatile t_l502_board_state g_state);
|
||||||
|
|
||||||
|
|
||||||
|
int main(void) {
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
l502_init();
|
||||||
|
|
||||||
|
for (;;) {
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> */
|
||||||
|
l502_cmd_check_req();
|
||||||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
stream_proc();
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
433
vdsp/l502-bf.dpj
Normal file
433
vdsp/l502-bf.dpj
Normal file
@ -0,0 +1,433 @@
|
|||||||
|
<?xml version="1.0" encoding='ISO-8859-1'?>
|
||||||
|
<visualdsp-project schema="17" name="l502-bf" file="l502-bf.dpj" version="1">
|
||||||
|
<!-- Project build target -->
|
||||||
|
<target>
|
||||||
|
<processor revision="0.2">ADSP-BF523</processor>
|
||||||
|
<extension>.ldr</extension>
|
||||||
|
<type>Loader file</type>
|
||||||
|
</target>
|
||||||
|
<!-- Configurations -->
|
||||||
|
<configurations active="Release">
|
||||||
|
<configuration name="Debug">
|
||||||
|
<intermediate-dir>.\Debug</intermediate-dir>
|
||||||
|
<output-dir>.\Debug</output-dir>
|
||||||
|
<changed-property-page-flags>4</changed-property-page-flags>
|
||||||
|
<tools>
|
||||||
|
<tool type="Compiler">
|
||||||
|
<option><![CDATA[|-Version>5.0|-O>0|-O1>0|-Ov>100|-ipa>0|-g>1|-no-annotate>0|-save-temps -path-output>0|-ED>0|-no-auto-attrs>0|-no-builtin>0|-no-extra-keywords>0|-enum-is-int>0|-no-fp-associative>0|-structs-do-not-overlap>1|-implicit-pointers>0|-eh >0|-rtti>0|-check-init-order>0|-ignore-std>1|-const-read-write>0|-const-strings>0|-no-multiline>1|-misra>0|-misra-strict>0|-misra-no-cross-module>0|-misra-no-runtime>0|-misra-testing>0|-misra-suppress-advisory>0|-no-std-inc>0|-double-size-64>1|-double-size-any>0|-Ofp>0|-guard-vol-loads>0|-decls-strong>1|-no-saturation>0|-cplbs>1|-sdram>0|-multicore>0|-stack-detect>0|-pguide>0|NOSWITCH>0|-flags-compiler --diag_warning,implicit_func_decl>1|-warn-protos>1|-flags-compiler --diag_warning,call_not_inlined>1|-Wremarks>0|-w>0]]></option>
|
||||||
|
</tool>
|
||||||
|
<tool type="Assembler">
|
||||||
|
<option><![CDATA[|-Version>4.5|-v>0|-g>1|-l>0|-save-temps>0|-sp>0]]></option>
|
||||||
|
</tool>
|
||||||
|
<tool type="Linker">
|
||||||
|
<option><![CDATA[|-Version>5.0|-flags-link -t>0|-flags-link -S>0|-flags-link -s>0|-mem>0|-flags-link -warnonce>0|-map>0|-flags-link -xref>0|-flags-link -save-temps>0|-flags-link -ip>0|-MD>USER_CRT="l502-bf_basiccrt.doj",USE_CACHE,USE_INSTRUCTION_CACHE|-flags-link -e>0|-flags-link -ev>0|-add-debug-libpaths>1|-flags-link -MD__ADI_LIBEH__>0|-multicore>0|-flags-link -MDUSE_CACHE>1|NOSWITCH>1]]></option>
|
||||||
|
</tool>
|
||||||
|
<tool type="Archiver">
|
||||||
|
<option><![CDATA[]]></option>
|
||||||
|
</tool>
|
||||||
|
<tool type="Loader">
|
||||||
|
<option><![CDATA[|-Version>4.5|-b HOSTDP>1|-f BINARY>1|-Width 16>1|-p>0x0|DefaultStart>0|-v>0|-waits >-1|-BaudRate 500k>1|-HoldTime >-1|-pFlag >-1|-zinit>0|-No2Kernel>0|-o2>0|-kb Flash>1|-kf HEX>1|-kWidth 8>1|-kp>0x0|DefaultKernelStart>1|UserKernel>1|-romsplitter>0|split HEX>1|-maskaddr>0]]></option>
|
||||||
|
</tool>
|
||||||
|
<tool type="VdkGen">
|
||||||
|
<option><![CDATA[]]></option>
|
||||||
|
</tool>
|
||||||
|
</tools>
|
||||||
|
</configuration>
|
||||||
|
<configuration name="Release">
|
||||||
|
<intermediate-dir>.\Release</intermediate-dir>
|
||||||
|
<output-dir>.\Release</output-dir>
|
||||||
|
<changed-property-page-flags>0</changed-property-page-flags>
|
||||||
|
<tools>
|
||||||
|
<tool type="Compiler">
|
||||||
|
<option><![CDATA[|-Version>5.0|-O>1|-O1>1|-Ov>100|-ipa>0|-g>0|-no-annotate>0|-save-temps -path-output>0|-ED>0|-no-auto-attrs>0|-no-builtin>0|-no-extra-keywords>0|-enum-is-int>0|-no-fp-associative>0|-structs-do-not-overlap>1|-implicit-pointers>0|-eh >0|-rtti>0|-check-init-order>0|-ignore-std>0|-const-read-write>0|-const-strings>0|-no-multiline>1|-misra>0|-misra-strict>0|-misra-no-cross-module>0|-misra-no-runtime>0|-misra-testing>0|-misra-suppress-advisory>0|-no-std-inc>0|-double-size-32>1|-double-size-any>0|-Ofp>0|-guard-vol-loads>0|-decls-strong>1|-no-saturation>0|-cplbs>0|-sdram>0|-multicore>0|-stack-detect>0|-pguide>0|NOSWITCH>0|-flags-compiler --diag_warning,implicit_func_decl>0|-warn-protos>1|-flags-compiler --diag_warning,call_not_inlined>0|-Wremarks>0|-w>0]]></option>
|
||||||
|
</tool>
|
||||||
|
<tool type="Assembler">
|
||||||
|
<option><![CDATA[|-Version>4.5|-v>0|-g>0|-l>0|-save-temps>0|-sp>0]]></option>
|
||||||
|
</tool>
|
||||||
|
<tool type="Linker">
|
||||||
|
<option><![CDATA[|-Version>5.0|-flags-link -t>0|-flags-link -S>0|-flags-link -s>0|-mem>0|-flags-link -warnonce>0|-map>0|-flags-link -xref>0|-flags-link -save-temps>0|-flags-link -ip>1|-MD>USER_CRT="l502-bf_basiccrt.doj",USE_CACHE,USE_INSTRUCTION_CACHE|-flags-link -e>1|-flags-link -ev>0|-add-debug-libpaths>0|-flags-link -MD__ADI_LIBEH__>0|-multicore>0|-flags-link -MDUSE_CACHE>1|NOSWITCH>1]]></option>
|
||||||
|
</tool>
|
||||||
|
<tool type="Archiver">
|
||||||
|
<option><![CDATA[]]></option>
|
||||||
|
</tool>
|
||||||
|
<tool type="Loader">
|
||||||
|
<option><![CDATA[|-Version>4.5|-b Flash>1|-f BINARY>1|-Width 16>1|-p>0x0|DefaultStart>0|-v>0|-waits >-1|-BaudRate 500k>1|-HoldTime >-1|-pFlag >-1|-zinit>0|-No2Kernel>0|-o2>0|-kb Flash>1|-kf HEX>1|-kWidth 8>1|-kp>0x0|DefaultKernelStart>1|UserKernel>1|-romsplitter>0|split HEX>1|-maskaddr>0]]></option>
|
||||||
|
</tool>
|
||||||
|
<tool type="VdkGen">
|
||||||
|
<option><![CDATA[]]></option>
|
||||||
|
</tool>
|
||||||
|
</tools>
|
||||||
|
</configuration>
|
||||||
|
</configurations>
|
||||||
|
<!-- Project folders -->
|
||||||
|
<folders>
|
||||||
|
<folder name="Generated Files">
|
||||||
|
<folders>
|
||||||
|
<folder name="Startup">
|
||||||
|
<files>
|
||||||
|
<file name=".\l502-bf_basiccrt.s">
|
||||||
|
<file-configurations>
|
||||||
|
<file-configuration name="Debug">
|
||||||
|
<excluded-flag value="no"/>
|
||||||
|
<build-with-flag value="project"/>
|
||||||
|
<intermediate-dir>.\Debug</intermediate-dir>
|
||||||
|
<output-dir>.\Debug</output-dir>
|
||||||
|
</file-configuration>
|
||||||
|
<file-configuration name="Release">
|
||||||
|
<excluded-flag value="no"/>
|
||||||
|
<build-with-flag value="project"/>
|
||||||
|
<intermediate-dir>.\Release</intermediate-dir>
|
||||||
|
<output-dir>.\Release</output-dir>
|
||||||
|
</file-configuration>
|
||||||
|
</file-configurations>
|
||||||
|
</file>
|
||||||
|
</files>
|
||||||
|
</folder>
|
||||||
|
<folder name="User Heap">
|
||||||
|
<files>
|
||||||
|
<file name=".\l502-bf_heaptab.c">
|
||||||
|
<file-configurations>
|
||||||
|
<file-configuration name="Debug">
|
||||||
|
<excluded-flag value="no"/>
|
||||||
|
<build-with-flag value="project"/>
|
||||||
|
<intermediate-dir>.\Debug</intermediate-dir>
|
||||||
|
<output-dir>.\Debug</output-dir>
|
||||||
|
</file-configuration>
|
||||||
|
<file-configuration name="Release">
|
||||||
|
<excluded-flag value="no"/>
|
||||||
|
<build-with-flag value="project"/>
|
||||||
|
<intermediate-dir>.\Release</intermediate-dir>
|
||||||
|
<output-dir>.\Release</output-dir>
|
||||||
|
</file-configuration>
|
||||||
|
</file-configurations>
|
||||||
|
</file>
|
||||||
|
</files>
|
||||||
|
</folder>
|
||||||
|
</folders>
|
||||||
|
</folder>
|
||||||
|
<folder name="Header Files" ext=".h,.hpp,.hxx">
|
||||||
|
<files>
|
||||||
|
<file name="..\src\l502_async.h">
|
||||||
|
</file>
|
||||||
|
<file name="..\src\l502_bf_cmd_defs.h">
|
||||||
|
</file>
|
||||||
|
<file name="..\src\l502_cdefs.h">
|
||||||
|
</file>
|
||||||
|
<file name="..\src\l502_cmd.h">
|
||||||
|
</file>
|
||||||
|
<file name="..\src\l502_defs.h">
|
||||||
|
</file>
|
||||||
|
<file name="..\src\l502_fpga.h">
|
||||||
|
</file>
|
||||||
|
<file name="..\src\l502_fpga_regs.h">
|
||||||
|
</file>
|
||||||
|
<file name="..\src\l502_global.h">
|
||||||
|
</file>
|
||||||
|
<file name="..\src\l502_hdma.h">
|
||||||
|
</file>
|
||||||
|
<file name="..\src\l502_params.h">
|
||||||
|
</file>
|
||||||
|
<file name="..\src\l502_sport_tx.h">
|
||||||
|
</file>
|
||||||
|
<file name="..\src\l502_stream.h">
|
||||||
|
</file>
|
||||||
|
<file name="..\src\l502_user_process.h">
|
||||||
|
</file>
|
||||||
|
</files>
|
||||||
|
</folder>
|
||||||
|
<folder name="Linker Files" ext=".ldf,.dlb">
|
||||||
|
<files>
|
||||||
|
<file name=".\l502-bf.ldf">
|
||||||
|
<file-configurations>
|
||||||
|
<file-configuration name="Debug">
|
||||||
|
<excluded-flag value="no"/>
|
||||||
|
<build-with-flag value="project"/>
|
||||||
|
<intermediate-dir>.\Debug</intermediate-dir>
|
||||||
|
<output-dir>.\Debug</output-dir>
|
||||||
|
</file-configuration>
|
||||||
|
<file-configuration name="Release">
|
||||||
|
<excluded-flag value="no"/>
|
||||||
|
<build-with-flag value="project"/>
|
||||||
|
<intermediate-dir>.\Release</intermediate-dir>
|
||||||
|
<output-dir>.\Release</output-dir>
|
||||||
|
</file-configuration>
|
||||||
|
</file-configurations>
|
||||||
|
</file>
|
||||||
|
</files>
|
||||||
|
</folder>
|
||||||
|
<folder name="Source Files" ext=".c,.cpp,.cxx,.asm,.dsp,.s">
|
||||||
|
<files>
|
||||||
|
<file name="..\src\l502_async.c">
|
||||||
|
<file-configurations>
|
||||||
|
<file-configuration name="Debug">
|
||||||
|
<excluded-flag value="no"/>
|
||||||
|
<build-with-flag value="project"/>
|
||||||
|
<intermediate-dir>.\Debug</intermediate-dir>
|
||||||
|
<output-dir>.\Debug</output-dir>
|
||||||
|
</file-configuration>
|
||||||
|
<file-configuration name="Release">
|
||||||
|
<excluded-flag value="no"/>
|
||||||
|
<build-with-flag value="project"/>
|
||||||
|
<intermediate-dir>.\Release</intermediate-dir>
|
||||||
|
<output-dir>.\Release</output-dir>
|
||||||
|
</file-configuration>
|
||||||
|
</file-configurations>
|
||||||
|
</file>
|
||||||
|
<file name="..\src\l502_cmd.c">
|
||||||
|
<file-configurations>
|
||||||
|
<file-configuration name="Debug">
|
||||||
|
<excluded-flag value="no"/>
|
||||||
|
<build-with-flag value="project"/>
|
||||||
|
<intermediate-dir>.\Debug</intermediate-dir>
|
||||||
|
<output-dir>.\Debug</output-dir>
|
||||||
|
</file-configuration>
|
||||||
|
<file-configuration name="Release">
|
||||||
|
<excluded-flag value="no"/>
|
||||||
|
<build-with-flag value="project"/>
|
||||||
|
<intermediate-dir>.\Release</intermediate-dir>
|
||||||
|
<output-dir>.\Release</output-dir>
|
||||||
|
</file-configuration>
|
||||||
|
</file-configurations>
|
||||||
|
</file>
|
||||||
|
<file name="..\src\l502_fpga.c">
|
||||||
|
<file-configurations>
|
||||||
|
<file-configuration name="Debug">
|
||||||
|
<excluded-flag value="no"/>
|
||||||
|
<build-with-flag value="project"/>
|
||||||
|
<intermediate-dir>.\Debug</intermediate-dir>
|
||||||
|
<output-dir>.\Debug</output-dir>
|
||||||
|
</file-configuration>
|
||||||
|
<file-configuration name="Release">
|
||||||
|
<excluded-flag value="no"/>
|
||||||
|
<build-with-flag value="project"/>
|
||||||
|
<intermediate-dir>.\Release</intermediate-dir>
|
||||||
|
<output-dir>.\Release</output-dir>
|
||||||
|
</file-configuration>
|
||||||
|
</file-configurations>
|
||||||
|
</file>
|
||||||
|
<file name="..\src\l502_hdma.c">
|
||||||
|
<file-configurations>
|
||||||
|
<file-configuration name="Debug">
|
||||||
|
<excluded-flag value="no"/>
|
||||||
|
<build-with-flag value="project"/>
|
||||||
|
<intermediate-dir>.\Debug</intermediate-dir>
|
||||||
|
<output-dir>.\Debug</output-dir>
|
||||||
|
</file-configuration>
|
||||||
|
<file-configuration name="Release">
|
||||||
|
<excluded-flag value="no"/>
|
||||||
|
<build-with-flag value="project"/>
|
||||||
|
<intermediate-dir>.\Release</intermediate-dir>
|
||||||
|
<output-dir>.\Release</output-dir>
|
||||||
|
</file-configuration>
|
||||||
|
</file-configurations>
|
||||||
|
</file>
|
||||||
|
<file name="..\src\l502_init.c">
|
||||||
|
<file-configurations>
|
||||||
|
<file-configuration name="Debug">
|
||||||
|
<excluded-flag value="no"/>
|
||||||
|
<build-with-flag value="project"/>
|
||||||
|
<intermediate-dir>.\Debug</intermediate-dir>
|
||||||
|
<output-dir>.\Debug</output-dir>
|
||||||
|
</file-configuration>
|
||||||
|
<file-configuration name="Release">
|
||||||
|
<excluded-flag value="no"/>
|
||||||
|
<build-with-flag value="project"/>
|
||||||
|
<intermediate-dir>.\Release</intermediate-dir>
|
||||||
|
<output-dir>.\Release</output-dir>
|
||||||
|
</file-configuration>
|
||||||
|
</file-configurations>
|
||||||
|
</file>
|
||||||
|
<file name="..\src\l502_params.c">
|
||||||
|
<file-configurations>
|
||||||
|
<file-configuration name="Debug">
|
||||||
|
<excluded-flag value="no"/>
|
||||||
|
<build-with-flag value="project"/>
|
||||||
|
<intermediate-dir>.\Debug</intermediate-dir>
|
||||||
|
<output-dir>.\Debug</output-dir>
|
||||||
|
</file-configuration>
|
||||||
|
<file-configuration name="Release">
|
||||||
|
<excluded-flag value="no"/>
|
||||||
|
<build-with-flag value="project"/>
|
||||||
|
<intermediate-dir>.\Release</intermediate-dir>
|
||||||
|
<output-dir>.\Release</output-dir>
|
||||||
|
</file-configuration>
|
||||||
|
</file-configurations>
|
||||||
|
</file>
|
||||||
|
<file name="..\src\l502_sport_tx.c">
|
||||||
|
<file-configurations>
|
||||||
|
<file-configuration name="Debug">
|
||||||
|
<excluded-flag value="no"/>
|
||||||
|
<build-with-flag value="project"/>
|
||||||
|
<intermediate-dir>.\Debug</intermediate-dir>
|
||||||
|
<output-dir>.\Debug</output-dir>
|
||||||
|
</file-configuration>
|
||||||
|
<file-configuration name="Release">
|
||||||
|
<excluded-flag value="no"/>
|
||||||
|
<build-with-flag value="project"/>
|
||||||
|
<intermediate-dir>.\Release</intermediate-dir>
|
||||||
|
<output-dir>.\Release</output-dir>
|
||||||
|
</file-configuration>
|
||||||
|
</file-configurations>
|
||||||
|
</file>
|
||||||
|
<file name="..\src\l502_stream.c">
|
||||||
|
<file-configurations>
|
||||||
|
<file-configuration name="Debug">
|
||||||
|
<excluded-flag value="no"/>
|
||||||
|
<build-with-flag value="project"/>
|
||||||
|
<intermediate-dir>.\Debug</intermediate-dir>
|
||||||
|
<output-dir>.\Debug</output-dir>
|
||||||
|
</file-configuration>
|
||||||
|
<file-configuration name="Release">
|
||||||
|
<excluded-flag value="no"/>
|
||||||
|
<build-with-flag value="project"/>
|
||||||
|
<intermediate-dir>.\Release</intermediate-dir>
|
||||||
|
<output-dir>.\Release</output-dir>
|
||||||
|
</file-configuration>
|
||||||
|
</file-configurations>
|
||||||
|
</file>
|
||||||
|
<file name="..\src\l502_tests.c">
|
||||||
|
<file-configurations>
|
||||||
|
<file-configuration name="Debug">
|
||||||
|
<excluded-flag value="no"/>
|
||||||
|
<build-with-flag value="project"/>
|
||||||
|
<intermediate-dir>.\Debug</intermediate-dir>
|
||||||
|
<output-dir>.\Debug</output-dir>
|
||||||
|
</file-configuration>
|
||||||
|
<file-configuration name="Release">
|
||||||
|
<excluded-flag value="no"/>
|
||||||
|
<build-with-flag value="project"/>
|
||||||
|
<intermediate-dir>.\Release</intermediate-dir>
|
||||||
|
<output-dir>.\Release</output-dir>
|
||||||
|
</file-configuration>
|
||||||
|
</file-configurations>
|
||||||
|
</file>
|
||||||
|
<file name="..\src\l502_user_process.c">
|
||||||
|
<file-configurations>
|
||||||
|
<file-configuration name="Debug">
|
||||||
|
<excluded-flag value="no"/>
|
||||||
|
<build-with-flag value="project"/>
|
||||||
|
<intermediate-dir>.\Debug</intermediate-dir>
|
||||||
|
<output-dir>.\Debug</output-dir>
|
||||||
|
</file-configuration>
|
||||||
|
<file-configuration name="Release">
|
||||||
|
<excluded-flag value="no"/>
|
||||||
|
<build-with-flag value="project"/>
|
||||||
|
<intermediate-dir>.\Release</intermediate-dir>
|
||||||
|
<output-dir>.\Release</output-dir>
|
||||||
|
</file-configuration>
|
||||||
|
</file-configurations>
|
||||||
|
</file>
|
||||||
|
<file name="..\src\main.c">
|
||||||
|
<file-configurations>
|
||||||
|
<file-configuration name="Debug">
|
||||||
|
<excluded-flag value="no"/>
|
||||||
|
<build-with-flag value="project"/>
|
||||||
|
<intermediate-dir>.\Debug</intermediate-dir>
|
||||||
|
<output-dir>.\Debug</output-dir>
|
||||||
|
</file-configuration>
|
||||||
|
<file-configuration name="Release">
|
||||||
|
<excluded-flag value="no"/>
|
||||||
|
<build-with-flag value="project"/>
|
||||||
|
<intermediate-dir>.\Release</intermediate-dir>
|
||||||
|
<output-dir>.\Release</output-dir>
|
||||||
|
</file-configuration>
|
||||||
|
</file-configurations>
|
||||||
|
</file>
|
||||||
|
</files>
|
||||||
|
</folder>
|
||||||
|
</folders>
|
||||||
|
<!-- System Builder Components -->
|
||||||
|
<system-builder-component-tables>
|
||||||
|
<system-builder-plugin name="">
|
||||||
|
<system-builder-component name="Select Processor">
|
||||||
|
<property name="Processor family"><![CDATA[Blackfin]]></property>
|
||||||
|
</system-builder-component>
|
||||||
|
</system-builder-plugin>
|
||||||
|
<system-builder-plugin name="Startup Code Wizard" version="2.0">
|
||||||
|
<system-builder-component name="Advanced Options">
|
||||||
|
<property name="Add own event handlers"><![CDATA[True]]></property>
|
||||||
|
<property name="Include C++ support"><![CDATA[False]]></property>
|
||||||
|
<property name="Include C/C++ support"><![CDATA[True]]></property>
|
||||||
|
<property name="Include LDF exceptions support"><![CDATA[False]]></property>
|
||||||
|
<property name="Main never returns"><![CDATA[True]]></property>
|
||||||
|
<property name="Search for libraries in the tools installation directory"><![CDATA[True]]></property>
|
||||||
|
<property name="Using Argv"><![CDATA[False]]></property>
|
||||||
|
</system-builder-component>
|
||||||
|
<system-builder-component name="Cache and Memory Protection">
|
||||||
|
<property name="DCBS"><![CDATA[Unset]]></property>
|
||||||
|
<property name="Data cache memory configuration"><![CDATA[RAM with no memory protection]]></property>
|
||||||
|
<property name="Generate support for memory protection"><![CDATA[False]]></property>
|
||||||
|
<property name="Instruction cache memory configuration"><![CDATA[Instruction cache]]></property>
|
||||||
|
<property name="Write-back cache"><![CDATA[False]]></property>
|
||||||
|
<property name="Write-through cache"><![CDATA[False]]></property>
|
||||||
|
</system-builder-component>
|
||||||
|
<system-builder-component name="Compiler Instrumented Profiling">
|
||||||
|
<property name="Enable profiling"><![CDATA[False]]></property>
|
||||||
|
<property name="Profiling output"><![CDATA[mon.out]]></property>
|
||||||
|
</system-builder-component>
|
||||||
|
<system-builder-component name="Configuration">
|
||||||
|
<property name="Add LDF"><![CDATA[True]]></property>
|
||||||
|
<property name="Add startup code"><![CDATA[True]]></property>
|
||||||
|
<property name="LDF template schema"><![CDATA[5.4]]></property>
|
||||||
|
<property name="Startup code template schema"><![CDATA[3.8]]></property>
|
||||||
|
</system-builder-component>
|
||||||
|
<system-builder-component name="Custom system heap settings">
|
||||||
|
<property name="Absolute size"><![CDATA[]]></property>
|
||||||
|
<property name="Customize system heap"><![CDATA[True]]></property>
|
||||||
|
<property name="Memory types"><![CDATA[L1]]></property>
|
||||||
|
<property name="Minimum size"><![CDATA[7 kB]]></property>
|
||||||
|
</system-builder-component>
|
||||||
|
<system-builder-component name="Custom system stack settings">
|
||||||
|
<property name="Absolute size"><![CDATA[]]></property>
|
||||||
|
<property name="Customize system stack"><![CDATA[True]]></property>
|
||||||
|
<property name="Memory types"><![CDATA[L1]]></property>
|
||||||
|
<property name="Minimum size"><![CDATA[2 kB]]></property>
|
||||||
|
</system-builder-component>
|
||||||
|
<system-builder-component name="External memory settings">
|
||||||
|
<property name="Partition external memory"><![CDATA[None]]></property>
|
||||||
|
<property name="Size"><![CDATA[32MB]]></property>
|
||||||
|
<property name="Using external memory"><![CDATA[True]]></property>
|
||||||
|
</system-builder-component>
|
||||||
|
<system-builder-component name="Linker Options">
|
||||||
|
<property name="Search Directory"><![CDATA[]]></property>
|
||||||
|
</system-builder-component>
|
||||||
|
<system-builder-component name="Multi-core Selection">
|
||||||
|
<property name="Core"><![CDATA[Core A]]></property>
|
||||||
|
</system-builder-component>
|
||||||
|
<system-builder-component name="PGO">
|
||||||
|
<property name="Using PGO"><![CDATA[False]]></property>
|
||||||
|
</system-builder-component>
|
||||||
|
<system-builder-component name="Processor clock and power settings">
|
||||||
|
<property name="Clock and power settings"><![CDATA[Optimize for speed]]></property>
|
||||||
|
<property name="Configure clock and power settings"><![CDATA[False]]></property>
|
||||||
|
<property name="EZ-KIT"><![CDATA[ADSP-BF537 EZ-KIT]]></property>
|
||||||
|
</system-builder-component>
|
||||||
|
<system-builder-component name="Program Running From">
|
||||||
|
<property name="Internal Memory"><![CDATA[True]]></property>
|
||||||
|
</system-builder-component>
|
||||||
|
<system-builder-component name="Project Options">
|
||||||
|
<property name="Compiler Multicore"><![CDATA[False]]></property>
|
||||||
|
<property name="Configuration"><![CDATA[Release]]></property>
|
||||||
|
<property name="Full IO"><![CDATA[False]]></property>
|
||||||
|
<property name="Intermediate Directory"><![CDATA[.\Release]]></property>
|
||||||
|
<property name="Link against MT libraries"><![CDATA[False]]></property>
|
||||||
|
<property name="Linker Multicore"><![CDATA[False]]></property>
|
||||||
|
<property name="Name"><![CDATA[l502-bf]]></property>
|
||||||
|
<property name="Processor"><![CDATA[ADSP-BF523]]></property>
|
||||||
|
<property name="Silicon Revision"><![CDATA[0.2]]></property>
|
||||||
|
<property name="Strict IEEE Floating Point Compliance"><![CDATA[False]]></property>
|
||||||
|
<property name="Use C++ exceptions libraries"><![CDATA[False]]></property>
|
||||||
|
<property name="Utility ROM"><![CDATA[True]]></property>
|
||||||
|
</system-builder-component>
|
||||||
|
<system-builder-component name="Run-time Initialization">
|
||||||
|
<property name="I/O device initialization"><![CDATA[False]]></property>
|
||||||
|
<property name="Initialize data registers"><![CDATA[False]]></property>
|
||||||
|
<property name="Initialize return registers to zero"><![CDATA[False]]></property>
|
||||||
|
<property name="Run-time memory initialization"><![CDATA[False]]></property>
|
||||||
|
</system-builder-component>
|
||||||
|
<system-builder-component name="Welcome">
|
||||||
|
<property name="Enabled"><![CDATA[True]]></property>
|
||||||
|
</system-builder-component>
|
||||||
|
</system-builder-plugin>
|
||||||
|
</system-builder-component-tables>
|
||||||
|
</visualdsp-project>
|
||||||
497
vdsp/l502-bf.ldf
Normal file
497
vdsp/l502-bf.ldf
Normal file
@ -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<insert-user-libraries-at-beginning> */
|
||||||
|
/* Text inserted between these $VDSG comments will be preserved */
|
||||||
|
/*$VDSG<insert-user-libraries-at-beginning> */
|
||||||
|
|
||||||
|
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<insert-user-libraries-at-end> */
|
||||||
|
/* Text inserted between these $VDSG comments will be preserved */
|
||||||
|
/*$VDSG<insert-user-libraries-at-end> */
|
||||||
|
|
||||||
|
;
|
||||||
|
|
||||||
|
$OBJECTS =
|
||||||
|
"l502-bf_basiccrt.doj"
|
||||||
|
|
||||||
|
/*$VDSG<insert-user-objects-at-beginning> */
|
||||||
|
/* Text inserted between these $VDSG comments will be preserved */
|
||||||
|
/*$VDSG<insert-user-objects-at-beginning> */
|
||||||
|
|
||||||
|
, RT_LIB_NAME(profile532)
|
||||||
|
, $COMMAND_LINE_OBJECTS
|
||||||
|
, "cplbtab523.doj"
|
||||||
|
|
||||||
|
/*$VDSG<insert-user-objects-at-end> */
|
||||||
|
/* Text inserted between these $VDSG comments will be preserved */
|
||||||
|
/*$VDSG<insert-user-objects-at-end> */
|
||||||
|
|
||||||
|
;
|
||||||
|
|
||||||
|
$OBJS_LIBS_INTERNAL =
|
||||||
|
|
||||||
|
/*$VDSG<insert-libraries-internal> */
|
||||||
|
/* Text inserted between these $VDSG comments will be preserved */
|
||||||
|
/*$VDSG<insert-libraries-internal> */
|
||||||
|
|
||||||
|
$OBJECTS{prefersMem("internal")}, $LIBRARIES{prefersMem("internal")}
|
||||||
|
|
||||||
|
/*$VDSG<insert-libraries-internal-end> */
|
||||||
|
/* Text inserted between these $VDSG comments will be preserved */
|
||||||
|
/*$VDSG<insert-libraries-internal-end> */
|
||||||
|
|
||||||
|
;
|
||||||
|
|
||||||
|
$OBJS_LIBS_NOT_EXTERNAL =
|
||||||
|
|
||||||
|
/*$VDSG<insert-libraries-not-external> */
|
||||||
|
/* Text inserted between these $VDSG comments will be preserved */
|
||||||
|
/*$VDSG<insert-libraries-not-external> */
|
||||||
|
|
||||||
|
$OBJECTS{!prefersMem("external")}, $LIBRARIES{!prefersMem("external")}
|
||||||
|
|
||||||
|
/*$VDSG<insert-libraries-not-external-end> */
|
||||||
|
/* Text inserted between these $VDSG comments will be preserved */
|
||||||
|
/*$VDSG<insert-libraries-not-external-end> */
|
||||||
|
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
|
/*$VDSG<insert-user-macros> */
|
||||||
|
/* Text inserted between these $VDSG comments will be preserved */
|
||||||
|
/*$VDSG<insert-user-macros> */
|
||||||
|
|
||||||
|
|
||||||
|
/*$VDSG<customize-async-macros> */
|
||||||
|
/* 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<customize-async-macros> */
|
||||||
|
|
||||||
|
|
||||||
|
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<insert-new-memory-segments> */
|
||||||
|
/* Text inserted between these $VDSG comments will be preserved */
|
||||||
|
/*$VDSG<insert-new-memory-segments> */
|
||||||
|
|
||||||
|
} /* MEMORY */
|
||||||
|
|
||||||
|
PROCESSOR p0
|
||||||
|
{
|
||||||
|
OUTPUT($COMMAND_LINE_OUTPUT_FILE)
|
||||||
|
RESOLVE(start, 0xFFA00000)
|
||||||
|
KEEP(start, _main)
|
||||||
|
|
||||||
|
/*$VDSG<insert-user-ldf-commands> */
|
||||||
|
/* Text inserted between these $VDSG comments will be preserved */
|
||||||
|
/*$VDSG<insert-user-ldf-commands> */
|
||||||
|
|
||||||
|
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<insert-new-sections-at-the-start> */
|
||||||
|
/* Text inserted between these $VDSG comments will be preserved */
|
||||||
|
/*$VDSG<insert-new-sections-at-the-start> */
|
||||||
|
|
||||||
|
scratchpad NO_INIT
|
||||||
|
{
|
||||||
|
INPUT_SECTION_ALIGN(4)
|
||||||
|
|
||||||
|
/*$VDSG<insert-input-sections-at-the-start-of-scratchpad> */
|
||||||
|
/* Text inserted between these $VDSG comments will be preserved */
|
||||||
|
/*$VDSG<insert-input-sections-at-the-start-of-scratchpad> */
|
||||||
|
|
||||||
|
INPUT_SECTIONS($OBJECTS(L1_scratchpad) $LIBRARIES(L1_scratchpad))
|
||||||
|
|
||||||
|
/*$VDSG<insert-input-sections-at-the-end-of-scratchpad> */
|
||||||
|
/* Text inserted between these $VDSG comments will be preserved */
|
||||||
|
/*$VDSG<insert-input-sections-at-the-end-of-scratchpad> */
|
||||||
|
|
||||||
|
} > MEM_L1_SCRATCH
|
||||||
|
|
||||||
|
L1_code
|
||||||
|
{
|
||||||
|
INPUT_SECTION_ALIGN(4)
|
||||||
|
INPUT_SECTIONS($OBJECTS(L1_code) $LIBRARIES(L1_code))
|
||||||
|
|
||||||
|
/*$VDSG<insert-input-sections-at-the-start-of-l1_code> */
|
||||||
|
INPUT_SECTION_ALIGN(64)
|
||||||
|
/* Text inserted between these $VDSG comments will be preserved */
|
||||||
|
/*$VDSG<insert-input-sections-at-the-start-of-l1_code> */
|
||||||
|
|
||||||
|
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<insert-input-sections-at-the-end-of-l1_code> */
|
||||||
|
/* Text inserted between these $VDSG comments will be preserved */
|
||||||
|
/*$VDSG<insert-input-sections-at-the-end-of-l1_code> */
|
||||||
|
|
||||||
|
} > 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<insert-input-sections-at-the-start-of-L1_data_a_tables> */
|
||||||
|
/* 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<insert-input-sections-at-the-start-of-L1_data_a_tables> */
|
||||||
|
|
||||||
|
|
||||||
|
/*$VDSG<insert-input-sections-in-the-middle-of-L1_data_a_tables> */
|
||||||
|
/* Text inserted between these $VDSG comments will be preserved */
|
||||||
|
/*$VDSG<insert-input-sections-in-the-middle-of-L1_data_a_tables> */
|
||||||
|
|
||||||
|
|
||||||
|
/*$VDSG<insert-input-sections-at-the-end-of-L1_data_a_tables> */
|
||||||
|
/* Text inserted between these $VDSG comments will be preserved */
|
||||||
|
/*$VDSG<insert-input-sections-at-the-end-of-L1_data_a_tables> */
|
||||||
|
|
||||||
|
} > 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<insert-input-sections-at-the-start-of-L1_data_a> */
|
||||||
|
INPUT_SECTION_ALIGN(64)
|
||||||
|
/* Text inserted between these $VDSG comments will be preserved */
|
||||||
|
/*$VDSG<insert-input-sections-at-the-start-of-L1_data_a> */
|
||||||
|
|
||||||
|
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<insert-input-sections-in-the-middle-of-L1_data_a> */
|
||||||
|
INPUT_SECTION_ALIGN(64)
|
||||||
|
/* Text inserted between these $VDSG comments will be preserved */
|
||||||
|
|
||||||
|
/*$VDSG<insert-input-sections-in-the-middle-of-L1_data_a> */
|
||||||
|
|
||||||
|
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<insert-input-sections-at-the-end-of-L1_data_a> */
|
||||||
|
/* Text inserted between these $VDSG comments will be preserved */
|
||||||
|
/*$VDSG<insert-input-sections-at-the-end-of-L1_data_a> */
|
||||||
|
|
||||||
|
} > MEM_L1_DATA_A
|
||||||
|
|
||||||
|
bsz_L1_data_a ZERO_INIT
|
||||||
|
{
|
||||||
|
INPUT_SECTION_ALIGN(4)
|
||||||
|
|
||||||
|
/*$VDSG<insert-input-sections-at-the-start-of-bsz_L1_data_a> */
|
||||||
|
FORCE_CONTIGUITY
|
||||||
|
INPUT_SECTION_ALIGN(64)
|
||||||
|
/* Text inserted between these $VDSG comments will be preserved */
|
||||||
|
/*$VDSG<insert-input-sections-at-the-start-of-bsz_L1_data_a> */
|
||||||
|
|
||||||
|
INPUT_SECTIONS($OBJS_LIBS_INTERNAL(bsz))
|
||||||
|
INPUT_SECTIONS($OBJS_LIBS_NOT_EXTERNAL(bsz))
|
||||||
|
INPUT_SECTIONS($OBJECTS(bsz) $LIBRARIES(bsz))
|
||||||
|
|
||||||
|
/*$VDSG<insert-input-sections-at-the-end-of-bsz_L1_data_a> */
|
||||||
|
/* Text inserted between these $VDSG comments will be preserved */
|
||||||
|
/*$VDSG<insert-input-sections-at-the-end-of-bsz_L1_data_a> */
|
||||||
|
|
||||||
|
} > 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<insert-input-sections-at-the-start-of-L1_data_b> */
|
||||||
|
INPUT_SECTION_ALIGN(64)
|
||||||
|
/* Text inserted between these $VDSG comments will be preserved */
|
||||||
|
/*$VDSG<insert-input-sections-at-the-start-of-L1_data_b> */
|
||||||
|
|
||||||
|
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<insert-input-sections-at-the-end-of-L1_data_b> */
|
||||||
|
/* Text inserted between these $VDSG comments will be preserved */
|
||||||
|
/*$VDSG<insert-input-sections-at-the-end-of-L1_data_b> */
|
||||||
|
|
||||||
|
} > MEM_L1_DATA_B
|
||||||
|
|
||||||
|
bsz_L1_data_b ZERO_INIT
|
||||||
|
{
|
||||||
|
INPUT_SECTION_ALIGN(4)
|
||||||
|
|
||||||
|
/*$VDSG<insert-input-sections-at-the-start-of-bsz_L1_data_b> */
|
||||||
|
INPUT_SECTION_ALIGN(64)
|
||||||
|
/* Text inserted between these $VDSG comments will be preserved */
|
||||||
|
/*$VDSG<insert-input-sections-at-the-start-of-bsz_L1_data_b> */
|
||||||
|
|
||||||
|
INPUT_SECTIONS($OBJS_LIBS_INTERNAL(bsz))
|
||||||
|
INPUT_SECTIONS($OBJS_LIBS_NOT_EXTERNAL(bsz))
|
||||||
|
INPUT_SECTIONS($OBJECTS(bsz) $LIBRARIES(bsz))
|
||||||
|
|
||||||
|
/*$VDSG<insert-input-sections-at-the-end-of-bsz_L1_data_b> */
|
||||||
|
/* Text inserted between these $VDSG comments will be preserved */
|
||||||
|
/*$VDSG<insert-input-sections-at-the-end-of-bsz_L1_data_b> */
|
||||||
|
|
||||||
|
} > 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<insert-input-sections-at-the-start-of-sdram> */
|
||||||
|
/* Text inserted between these $VDSG comments will be preserved */
|
||||||
|
/*$VDSG<insert-input-sections-at-the-start-of-sdram> */
|
||||||
|
|
||||||
|
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<insert-input-sections-at-the-end-of-sdram> */
|
||||||
|
INPUT_SECTION_ALIGN(64)
|
||||||
|
/* Text inserted between these $VDSG comments will be preserved */
|
||||||
|
/*$VDSG<insert-input-sections-at-the-end-of-sdram> */
|
||||||
|
|
||||||
|
} > 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<insert-new-sections-at-the-end> */
|
||||||
|
/* 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<insert-new-sections-at-the-end> */
|
||||||
|
|
||||||
|
} /* SECTIONS */
|
||||||
|
} /* p0 */
|
||||||
|
|
||||||
324
vdsp/l502-bf_basiccrt.s
Normal file
324
vdsp/l502-bf_basiccrt.s
Normal file
@ -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 <sys/platform.h>
|
||||||
|
#include <sys/anomaly_macros_rtl.h>
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////
|
||||||
|
// 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<insert-code-very-beginning> */
|
||||||
|
.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<insert-code-very-beginning> */
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////
|
||||||
|
// 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<insert-code-early-startup> */
|
||||||
|
.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<insert-code-early-startup> */
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////
|
||||||
|
// 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<insert-code-before-device-initialization> */
|
||||||
|
.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<insert-code-before-device-initialization> */
|
||||||
|
|
||||||
|
|
||||||
|
/*$VDSG<insert-code-before-main-entry> */
|
||||||
|
.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<insert-code-before-main-entry> */
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////
|
||||||
|
// 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;
|
||||||
|
|
||||||
|
|
||||||
93
vdsp/l502-bf_heaptab.c
Normal file
93
vdsp/l502-bf_heaptab.c
Normal file
@ -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 */
|
||||||
|
|
||||||
|
|
||||||
1
vdsp/l502_sdram_noinit.h
Normal file
1
vdsp/l502_sdram_noinit.h
Normal file
@ -0,0 +1 @@
|
|||||||
|
#pragma section("sdram_noinit", NO_INIT)
|
||||||
Reference in New Issue
Block a user