This commit is contained in:
Lu Hui
2024-03-14 11:52:41 +08:00
parent 00ac8f88f1
commit 7327c88aa2
21 changed files with 448 additions and 109 deletions

1
.gitignore vendored
View File

@@ -178,3 +178,4 @@ buildroot/board/cvitek/SG200X/overlay/mnt/system/usr/bin/sample_cannyhysedge
buildroot/board/cvitek/SG200X/overlay/mnt/system/sdk-release
buildroot/board/cvitek/SG200X/overlay/mnt/system/auto.sh
middleware/v2/mod_tmp/*
cscope.out

View File

@@ -649,7 +649,13 @@ CONFIG_V4L2_FLASH_LED_CLASS=y
CONFIG_MEDIA_USB_SUPPORT=y
CONFIG_USB_VIDEO_CLASS=y
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y
# these driver may be broken jpeg driver
# CONFIG_FUSE_FS is not set

View File

@@ -1,4 +1,4 @@
<physical_partition type="sd">
<partition label="BOOT" size_in_kb="80960" readonly="false" file="boot.sd"/>
<partition label="ROOTFS" size_in_kb="838860800" readonly="false" file="rootfs.sd" />
<partition label="ROOTFS" size_in_kb="1048576" readonly="false" file="rootfs.sd" />
</physical_partition>

View File

@@ -9,3 +9,4 @@ CONFIG_SV=y
CONFIG_SVC=y
CONFIG_SVOK=y
CONFIG_SVLOGD=y
CONFIG_STAT=y

View File

@@ -4,24 +4,34 @@ if [ "$1" = "start" ]
then
. /etc/profile
printf "load kernel module: "
depmod -a
ls /etc/modules-load.d/*.conf | sort | while read conf
do
cat $conf | while read line
do
if [ -e /mnt/system/ko/modules.dep ]
then
modprobe $line
else
if [ -e /mnt/system/ko/${line}.ko ]
then
insmod /mnt/system/ko/${line}.ko
else
insmod /mnt/system/ko/3rd/${line}.ko
fi
fi
done
done
cd /mnt/system/ko/
insmod soph_sys.ko
insmod soph_base.ko
insmod soph_rtos_cmdqu.ko
insmod soph_fast_image.ko
insmod soph_mipi_rx.ko
insmod soph_snsr_i2c.ko
insmod soph_vi.ko
insmod soph_vpss.ko
insmod soph_dwa.ko
insmod soph_vo.ko
insmod soph_mipi_tx.ko
insmod soph_rgn.ko
insmod soph_wdt.ko
insmod soph_clock_cooling.ko
insmod soph_tpu.ko
insmod soph_vcodec.ko
insmod soph_jpeg.ko
insmod soph_vc_driver.ko MaxVencChnNum=9 MaxVdecChnNum=9
insmod soph_rtc.ko
insmod soph_ive.ko
insmod soph_mon.ko
insmod soph_pwm.ko
insmod soph_saradc.ko
insmod soph_wiegand.ko
insmod cfg80211.ko
insmod 3rd/aic8800_bsp.ko
insmod 3rd/aic8800_fdrv.ko
echo "OK"
exit 0
fi

View File

@@ -17,13 +17,13 @@ then
then
cat /boot/usb.idVendor > idVendor
else
echo 0123 > idVendor
echo 0x0123 > idVendor
fi
if [ -e /boot/usb.idProduct ]
then
cat /boot/usb.idProduct > idProduct
else
echo 4567 > idProduct
echo 0x4567 > idProduct
fi
mkdir strings/0x409
if [ -e /boot/usb.serialnumber ]

View File

@@ -1 +0,0 @@
options soph_vc_driver MaxVencChnNum=9 MaxVdecChnNum=9

View File

@@ -1,24 +0,0 @@
soph_sys
soph_base
soph_rtos_cmdqu
soph_fast_image
soph_mipi_rx
soph_snsr_i2c
soph_vi
soph_vpss
soph_dwa
soph_vo
soph_mipi_tx
soph_rgn
soph_wdt
soph_clock_cooling
soph_tpu
soph_vcodec
soph_jpeg
soph_vc_driver
soph_rtc
soph_ive
soph_mon
soph_pwm
soph_saradc
soph_wiegand

View File

@@ -1,3 +0,0 @@
cfg80211
aic8800_bsp
aic8800_fdrv

View File

@@ -16,9 +16,18 @@ BR2_TOOLCHAIN_EXTERNAL_HAS_SSP=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
# BR2_TOOLCHAIN_EXTERNAL_FORTRAN is not set
BR2_TOOLCHAIN_EXTERNAL_OPENMP=y
# BR2_PACKAGE_HOST_GDB is not set
BR2_OPTIMIZE_2=y
BR2_TARGET_LDFLAGS="-mcpu=c906fdv -march=rv64imafdcv0p7xthead -mcmodel=medany -mabi=lp64d"
BR2_PACKAGE_GDB=y
BR2_PACKAGE_GDB_SERVER=y
BR2_PACKAGE_GDB_DEBUGGER=y
BR2_PACKAGE_GDB_PYTHON=y
BR2_PACKAGE_GDB_TUI=y
BR2_PACKAGE_HOST_GDB=y
BR2_PACKAGE_HOST_GDB_PYTHON3=y
BR2_PACKAGE_HOST_GDB_SIM=y
BR2_PACKAGE_HOST_GDB_TUI=y
BR2_GDB_VERSION_13=y
BR2_CCACHE=y
BR2_REPRODUCIBLE=y
@@ -143,17 +152,11 @@ BR2_PACKAGE_LZ4_PROGS=y
BR2_PACKAGE_SZIP=y
BR2_PACKAGE_CA_CERTIFICATES=y
BR2_PACKAGE_EVTEST=y
BR2_PACKAGE_TCL=y
# BR2_PACKAGE_TCL_SHLIB_ONLY is not set
# BR2_PACKAGE_TCL_DEL_ENCODINGS is not set
BR2_PACKAGE_EXPECT=y
BR2_PACKAGE_TCLLIB=y
BR2_PACKAGE_TMUX=y
BR2_PACKAGE_FILE=y
BR2_PACKAGE_EMPTY=y
BR2_PACKAGE_E2FSPROGS=y
BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y
BR2_PACKAGE_BUBBLEWRAP=y
BR2_PACKAGE_TMUX=y
BR2_PACKAGE_HTOP=y
BR2_PACKAGE_LIBCURL=y
BR2_PACKAGE_LIBCURL_CURL=y
@@ -164,6 +167,80 @@ BR2_PACKAGE_LIBCURL_WEBSOCKETS_SUPPORT=y
BR2_PACKAGE_LIBCURL_EXTRA_PROTOCOLS_FEATURES=y
BR2_PACKAGE_LIBCURL_OPENSSL=y
BR2_PACKAGE_LIBWEBSOCKETS=y
BR2_PACKAGE_WATCHDOG=y
BR2_PACKAGE_SQUASHFS=y
BR2_PACKAGE_SQUASHFS_GZIP=y
BR2_PACKAGE_SQUASHFS_LZ4=y
BR2_PACKAGE_SQUASHFS_LZMA=y
BR2_PACKAGE_SQUASHFS_LZO=y
BR2_PACKAGE_SQUASHFS_XZ=y
BR2_PACKAGE_SQUASHFS_ZSTD=y
BR2_PACKAGE_LCDTEST=y
BR2_PACKAGE_ASCII_INVADERS=y
BR2_PACKAGE_GNUCHESS=y
BR2_PACKAGE_SL=y
BR2_PACKAGE_XORCURSES=y
BR2_PACKAGE_INPUT_EVENT_DAEMON=y
BR2_PACKAGE_BLUEZ_TOOLS=y
BR2_PACKAGE_TPUDEMO_SG200X=y
BR2_PACKAGE_TCPDUMP=y
BR2_PACKAGE_SSDP_RESPONDER=y
BR2_PACKAGE_PPPD=y
BR2_PACKAGE_NFTABLES=y
BR2_PACKAGE_IPTABLES=y
BR2_PACKAGE_IPTABLES_NFTABLES=y
BR2_PACKAGE_NCURSES_WCHAR=y
BR2_PACKAGE_LIBEDIT=y
BR2_PACKAGE_NGINX=y
BR2_PACKAGE_NGINX_HTTP=y
BR2_PACKAGE_NGINX_HTTP_DAV_MODULE=y
BR2_PACKAGE_NGINX_HTTP_MP4_MODULE=y
BR2_PACKAGE_NGINX_HTTP_FLV_MODULE=y
BR2_PACKAGE_NGINX_HTTP_GUNZIP_MODULE=y
BR2_PACKAGE_NGINX_STREAM=y
BR2_PACKAGE_NGINX_SELECT_MODULE=y
BR2_PACKAGE_NGINX_HTTP_FASTCGI_MODULE=y
BR2_PACKAGE_NGINX_HTTP_UWSGI_MODULE=y
BR2_PACKAGE_NGINX_HTTP_SCGI_MODULE=y
BR2_PACKAGE_RTC_TOOLS=y
BR2_PACKAGE_PICOCOM=y
BR2_PACKAGE_FBGRAB=y
BR2_PACKAGE_MHZ=y
BR2_PACKAGE_SETSERIAL=y
BR2_PACKAGE_UBOOT_TOOLS=y
BR2_PACKAGE_UBOOT_TOOLS_FIT_SUPPORT=y
BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE=y
BR2_PACKAGE_UBOOT_TOOLS_DUMPIMAGE=y
# if your sdnand is small, you can delete some package
BR2_PACKAGE_IMAGEMAGICK=y
BR2_PACKAGE_OCRAD=y
BR2_PACKAGE_SDL=y
BR2_PACKAGE_SDL_FBCON=y
BR2_PACKAGE_SDL_GFX=y
BR2_PACKAGE_SDL_IMAGE=y
BR2_PACKAGE_SDL_IMAGE_BMP=y
BR2_PACKAGE_SDL_IMAGE_GIF=y
BR2_PACKAGE_SDL_IMAGE_JPEG=y
BR2_PACKAGE_SDL_IMAGE_PNG=y
BR2_PACKAGE_SDL_IMAGE_WEBP=y
BR2_PACKAGE_SDL_MIXER=y
BR2_PACKAGE_SDL_NET=y
BR2_PACKAGE_SDL_SOUND=y
BR2_PACKAGE_SDL_SOUND_PLAYSOUND=y
BR2_PACKAGE_LBREAKOUT2=y
BR2_PACKAGE_LBREAKOUT2_AUDIO=y
BR2_PACKAGE_LBREAKOUT2_NET=y
BR2_PACKAGE_LTRIS=y
BR2_PACKAGE_LTRIS_AUDIO=y
BR2_PACKAGE_PRBOOM=y
BR2_PACKAGE_DOOM_WAD=y
BR2_PACKAGE_TCL=y
# BR2_PACKAGE_TCL_SHLIB_ONLY is not set
# BR2_PACKAGE_TCL_DEL_ENCODINGS is not set
BR2_PACKAGE_EXPECT=y
BR2_PACKAGE_TCLLIB=y
BR2_PACKAGE_OPENCV4=y
BR2_PACKAGE_OPENCV4_LIB_CALIB3D=y
BR2_PACKAGE_OPENCV4_LIB_DNN=y
@@ -185,17 +262,8 @@ BR2_PACKAGE_OPENCV4_WITH_TIFF=y
BR2_PACKAGE_OPENCV4_WITH_V4L=y
BR2_PACKAGE_OPENCV4_WITH_WEBP=y
BR2_PACKAGE_OPENCV4_INSTALL_DATA=y
BR2_PACKAGE_WATCHDOG=y
BR2_PACKAGE_SQUASHFS=y
BR2_PACKAGE_SQUASHFS_GZIP=y
BR2_PACKAGE_SQUASHFS_LZ4=y
BR2_PACKAGE_SQUASHFS_LZMA=y
BR2_PACKAGE_SQUASHFS_LZO=y
BR2_PACKAGE_SQUASHFS_XZ=y
BR2_PACKAGE_SQUASHFS_ZSTD=y
BR2_PACKAGE_LIBQRENCODE=y
BR2_PACKAGE_LIBQRENCODE_TOOLS=y
BR2_PACKAGE_LCDTEST=y
BR2_PACKAGE_FFMPEG=y
BR2_PACKAGE_FFMPEG_FFMPEG=y
BR2_PACKAGE_FFMPEG_FFPROBE=y
@@ -205,10 +273,6 @@ BR2_PACKAGE_FFMPEG_POSTPROC=y
BR2_PACKAGE_MULTICAT=y
BR2_PACKAGE_WQY_ZENHEI=y
BR2_PACKAGE_DEJAVU=y
BR2_PACKAGE_ASCII_INVADERS=y
BR2_PACKAGE_GNUCHESS=y
BR2_PACKAGE_SL=y
BR2_PACKAGE_XORCURSES=y
BR2_PACKAGE_GNUPLOT=y
BR2_PACKAGE_TESSERACT_OCR=y
BR2_PACKAGE_TESSERACT_OCR_LANG_ENG=y
@@ -217,6 +281,7 @@ BR2_PACKAGE_TESSERACT_OCR_LANG_CHI_TRA=y
BR2_PACKAGE_QT5=y
BR2_PACKAGE_QT5BASE_SQLITE_SYSTEM=y
BR2_PACKAGE_QT5BASE_GUI=y
BR2_PACKAGE_QT5BASE_LINUXFB=y
BR2_PACKAGE_QT5BASE_WIDGETS=y
BR2_PACKAGE_QT5BASE_DEFAULT_QPA="linuxfb"
BR2_PACKAGE_QT5BASE_FONTCONFIG=y
@@ -233,13 +298,24 @@ BR2_PACKAGE_QT5IMAGEFORMATS=y
BR2_PACKAGE_QT5MULTIMEDIA=y
BR2_PACKAGE_QT5SENSORS=y
BR2_PACKAGE_QT5SERIALBUS=y
BR2_PACKAGE_QT5CHARTS=y
BR2_PACKAGE_QT5COAP=y
BR2_PACKAGE_QT5ENGINIO=y
BR2_PACKAGE_QT5KNX=y
BR2_PACKAGE_QT5LOCATION=y
BR2_PACKAGE_QT5MQTT=y
BR2_PACKAGE_QT5OPCUA=y
BR2_PACKAGE_QT5REMOTEOBJECTS=y
BR2_PACKAGE_QT5SPEECH=y
BR2_PACKAGE_QT5SVG=y
BR2_PACKAGE_QT5WEBSOCKETS=y
BR2_PACKAGE_QT5WEBCHANNEL=y
BR2_PACKAGE_QEXTSERIALPORT=y
BR2_PACKAGE_QT5X11EXTRAS=y
BR2_PACKAGE_QT5XMLPATTERNS=y
BR2_PACKAGE_QT5BASE_MYSQL=y
BR2_PACKAGE_QJSON=y
BR2_PACKAGE_QUAZIP=y
BR2_PACKAGE_INPUT_EVENT_DAEMON=y
BR2_PACKAGE_PYTHON3=y
BR2_PACKAGE_PYTHON3_2TO3=y
BR2_PACKAGE_PYTHON3_BZIP2=y
@@ -253,14 +329,6 @@ BR2_PACKAGE_PYTHON3_ZLIB=y
BR2_PACKAGE_PYTHON_NUMPY=y
BR2_PACKAGE_OPENCV4_LIB_PYTHON=y
BR2_PACKAGE_OPENCV4_WITH_QT5=y
BR2_PACKAGE_BLUEZ_TOOLS=y
BR2_PACKAGE_TPUDEMO_SG200X=y
BR2_PACKAGE_TCPDUMP=y
BR2_PACKAGE_SSDP_RESPONDER=y
BR2_PACKAGE_PPPD=y
BR2_PACKAGE_NFTABLES=y
BR2_PACKAGE_IPTABLES=y
BR2_PACKAGE_IPTABLES_NFTABLES=y
BR2_PACKAGE_PYTHON_BSDIFF4=y
BR2_PACKAGE_PYTHON_BEAUTIFULSOUP4=y
BR2_PACKAGE_PYTHON_CFFI=y
@@ -295,28 +363,36 @@ BR2_PACKAGE_PYTHON_WEBSOCKETS=y
BR2_PACKAGE_PYTHON_WEBSOCKET_CLIENT=y
BR2_PACKAGE_PYTHON_XMODEM=y
BR2_PACKAGE_PYTHON3_PY_PYC=y
BR2_PACKAGE_NCURSES_WCHAR=y
BR2_PACKAGE_LIBEDIT=y
BR2_PACKAGE_NGINX=y
BR2_PACKAGE_NGINX_HTTP=y
BR2_PACKAGE_NGINX_HTTP_DAV_MODULE=y
BR2_PACKAGE_NGINX_HTTP_MP4_MODULE=y
BR2_PACKAGE_NGINX_HTTP_FLV_MODULE=y
BR2_PACKAGE_NGINX_HTTP_GUNZIP_MODULE=y
BR2_PACKAGE_NGINX_STREAM=y
BR2_PACKAGE_NGINX_SELECT_MODULE=y
BR2_PACKAGE_NGINX_HTTP_FASTCGI_MODULE=y
BR2_PACKAGE_NGINX_HTTP_UWSGI_MODULE=y
BR2_PACKAGE_NGINX_HTTP_SCGI_MODULE=y
BR2_PACKAGE_RTC_TOOLS=y
BR2_PACKAGE_PICOCOM=y
BR2_PACKAGE_PYTHON_PYQT5=y
BR2_PACKAGE_PYTHON_PYQRCODE=y
BR2_PACKAGE_PYTHON_PYLIBFDT=y
BR2_PACKAGE_PYTHON3_READLINE=y
BR2_PACKAGE_PYTHON_JEDI=y
BR2_PACKAGE_PYTHON_LIBUSB1=y
BR2_PACKAGE_PYTHON_LXML=y
BR2_PACKAGE_PYTHON_MARKDOWN=y
BR2_PACKAGE_PYTHON_MSGPACK=y
BR2_PACKAGE_PYTHON_PERIPHERY=y
BR2_PACKAGE_PYTHON_PILLOW=y
BR2_PACKAGE_PYTHON_POSIX_IPC=y
BR2_PACKAGE_PYTHON_PROTOBUF=y
BR2_PACKAGE_PYTHON_PYGAME=y
BR2_PACKAGE_PYTHON_PYGAME_IMAGE=y
BR2_PACKAGE_PYTHON_PYGAME_EXAMPLES=y
BR2_PACKAGE_PYTHON_PYGAME_FONT=y
BR2_PACKAGE_PYTHON_PYGAME_MIXER=y
BR2_PACKAGE_PYTHON_PYUDEV=y
BR2_PACKAGE_PYTHON_PYYAML=y
BR2_PACKAGE_PYTHON_QRCODE=y
BR2_PACKAGE_PYTHON_QRCODE_PIL=y
BR2_PACKAGE_PYTHON_INTELHEX=y
BR2_PACKAGE_VIM=y
BR2_PACKAGE_VIM_RUNTIME=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_SIZE="768M"
BR2_TARGET_ROOTFS_EXT2_SIZE="900M"
BR2_ROOTFS_OVERLAY="$(TOPDIR)/board/cvitek/SG200X/overlay"
BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="$(TOPDIR)/board/cvitek/SG200X/busybox-extra.config"

View File

@@ -2806,6 +2806,7 @@ menu "Sipeed"
source "package/cvitek-riscv64-musl-sysroot/Config.in"
source "package/lcdtest/Config.in"
source "package/tpudemo-sg200x/Config.in"
source "package/xuantie-gdb/Config.in"
endmenu

View File

@@ -0,0 +1,48 @@
diff --git a/gdb/nat/riscv-linux-tdesc.c b/gdb/nat/riscv-linux-tdesc.c
index d676233..b3ffc28 100644
--- a/gdb/nat/riscv-linux-tdesc.c
+++ b/gdb/nat/riscv-linux-tdesc.c
@@ -31,6 +31,11 @@
# define NFPREG 33
#endif
+/* fix for old version musl libc */
+#ifndef ELF_NFPREG
+# define ELF_NFPREG NFPREG
+#endif
+
/* See nat/riscv-linux-tdesc.h. */
struct riscv_gdbarch_features
diff --git a/gdb/riscv-linux-nat.c b/gdb/riscv-linux-nat.c
index 8be4a5a..a0cb299 100644
--- a/gdb/riscv-linux-nat.c
+++ b/gdb/riscv-linux-nat.c
@@ -34,6 +34,11 @@
# define NFPREG 33
#endif
+/* fix for old version musl libc */
+#ifndef ELF_NFPREG
+# define ELF_NFPREG NFPREG
+#endif
+
/* RISC-V Linux native additions to the default linux support. */
class riscv_linux_nat_target final : public linux_nat_target
diff --git a/gdbserver/linux-riscv-low.cc b/gdbserver/linux-riscv-low.cc
index 129bc3b..dc44dcb 100644
--- a/gdbserver/linux-riscv-low.cc
+++ b/gdbserver/linux-riscv-low.cc
@@ -30,6 +30,11 @@
# define NFPREG 33
#endif
+/* fix for old version musl libc */
+#ifndef ELF_NFPREG
+# define ELF_NFPREG NFPREG
+#endif
+
/* Linux target op definitions for the RISC-V architecture. */
class riscv_target : public linux_process_target

View File

@@ -0,0 +1,11 @@
config BR2_PACKAGE_XUANTIE_GDB
bool "xuantie-gdb"
depends on BR2_TOOLCHAIN_HAS_THREADS && BR2_TOOLCHAIN_HAS_THREADS_DEBUG
depends on BR2_PACKAGE_GDB_ARCH_SUPPORTS
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
depends on BR2_INSTALL_LIBSTDCPP
# The or1k musl port is incomplete, elf_gregset_t definition is missing:
# https://git.musl-libc.org/cgit/musl/tree/arch/or1k/bits/user.h?h=v1.2.3
depends on !BR2_or1k || !BR2_TOOLCHAIN_USES_MUSL
help
gdbserver for c906

View File

@@ -0,0 +1,31 @@
diff --git a/gdb/nat/riscv-linux-tdesc.c b/gdb/nat/riscv-linux-tdesc.c
index b8d4404d86a..a2c0e5eb10b 100644
--- a/gdb/nat/riscv-linux-tdesc.c
+++ b/gdb/nat/riscv-linux-tdesc.c
@@ -31,6 +31,10 @@
# define NFPREG 33
#endif
+#ifndef ELF_NFPREG
+# define ELF_NFPREG NFPREG
+#endif
+
#include "asm/ptrace.h"
#ifndef NT_RISCV_VECTOR
# define NT_RISCV_VECTOR 0x900
diff --git a/gdbserver/linux-riscv-low.cc b/gdbserver/linux-riscv-low.cc
index 47aba581041..63eb2eacfe8 100644
--- a/gdbserver/linux-riscv-low.cc
+++ b/gdbserver/linux-riscv-low.cc
@@ -30,6 +30,11 @@
# define NFPREG 33
#endif
+/* fix for musl libc */
+#ifndef ELF_NFPREG
+# define ELF_NFPREG NFPREG
+#endif
+
#ifdef CSKYMODIFY_CONFIG
#include "asm/ptrace.h"
#ifndef NT_RISCV_VECTOR

View File

@@ -0,0 +1,179 @@
################################################################################
#
# xuantie-gdb
#
################################################################################
XUANTIE_GDB_VERSION = 3f1c1bda96771d78453da163ef7aedca540d0f18
XUANTIE_GDB_SITE = $(call github,T-head-Semi,binutils-gdb,$(XUANTIE_GDB_VERSION))
XUANTIE_GDB_LICENSE = GPL-2.0+, LGPL-2.0+, GPL-3.0+, LGPL-3.0+
XUANTIE_GDB_LICENSE_FILES = COPYING COPYING.LIB COPYING3 COPYING3.LIB
XUANTIE_GDB_CPE_ID_VENDOR = gnu
# Out of tree build is mandatory, so we create a 'build' subdirectory
# in the gdb sources, and build from there.
XUANTIE_GDB_SUBDIR = build
define XUANTIE_GDB_CONFIGURE_SYMLINK
mkdir -p $(@D)/$(XUANTIE_GDB_SUBDIR)
ln -sf ../configure $(@D)/$(XUANTIE_GDB_SUBDIR)/configure
endef
XUANTIE_GDB_PRE_CONFIGURE_HOOKS += XUANTIE_GDB_CONFIGURE_SYMLINK
# For the host variant, we really want to build with XML support,
# which is needed to read XML descriptions of target architectures. We
# also need ncurses.
# As for libiberty, gdb may use a system-installed one if present, so
# we must ensure ours is installed first.
HOST_XUANTIE_GDB_DEPENDENCIES = host-expat host-libiberty host-ncurses host-zlib
# Disable building documentation
XUANTIE_GDB_MAKE_OPTS += MAKEINFO=true
XUANTIE_GDB_INSTALL_TARGET_OPTS += MAKEINFO=true DESTDIR=$(TARGET_DIR) install
HOST_XUANTIE_GDB_MAKE_OPTS += MAKEINFO=true
HOST_XUANTIE_GDB_INSTALL_OPTS += MAKEINFO=true install
XUANTIE_GDB_DEPENDENCIES += host-flex host-bison
HOST_XUANTIE_GDB_DEPENDENCIES += host-flex host-bison
# When gdb sources are fetched from the binutils-gdb repository, they
# also contain the binutils sources, but binutils shouldn't be built,
# so we disable it (additionally the option --disable-install-libbfd
# prevents the un-wanted installation of libobcodes.so and libbfd.so).
XUANTIE_GDB_DISABLE_BINUTILS_CONF_OPTS = \
--disable-binutils \
--disable-install-libbfd \
--disable-ld \
--disable-gas \
--disable-gprof
XUANTIE_GDB_CONF_ENV = \
ac_cv_type_uintptr_t=yes \
gt_cv_func_gettext_libintl=yes \
ac_cv_func_dcgettext=yes \
gdb_cv_func_sigsetjmp=yes \
bash_cv_func_strcoll_broken=no \
bash_cv_must_reinstall_sighandlers=no \
bash_cv_func_sigsetjmp=present \
bash_cv_have_mbstate_t=yes \
gdb_cv_func_sigsetjmp=yes
# Starting with gdb 7.11, the bundled gnulib tries to use
# rpl_gettimeofday (gettimeofday replacement) due to the code being
# unable to determine if the replacement function should be used or
# not when cross-compiling with uClibc or musl as C libraries. So use
# gl_cv_func_gettimeofday_clobber=no to not use rpl_gettimeofday,
# assuming musl and uClibc have a properly working gettimeofday
# implementation. It needs to be passed to XUANTIE_GDB_CONF_ENV to build
# gdbserver only but also to XUANTIE_GDB_MAKE_ENV, because otherwise it does
# not get passed to the configure script of nested packages while
# building gdbserver with full debugger.
XUANTIE_GDB_CONF_ENV += gl_cv_func_gettimeofday_clobber=no
XUANTIE_GDB_MAKE_ENV += gl_cv_func_gettimeofday_clobber=no
# Similarly, starting with gdb 8.1, the bundled gnulib tries to use
# rpl_strerror. Let's tell gnulib the C library implementation works
# well enough.
XUANTIE_GDB_CONF_ENV += \
gl_cv_func_working_strerror=yes \
gl_cv_func_strerror_0_works=yes
XUANTIE_GDB_MAKE_ENV += \
gl_cv_func_working_strerror=yes \
gl_cv_func_strerror_0_works=yes
# Starting with glibc 2.25, the proc_service.h header has been copied
# from gdb to glibc so other tools can use it. However, that makes it
# necessary to make sure that declaration of prfpregset_t declaration
# is consistent between gdb and glibc. In gdb, however, there is a
# workaround for a broken prfpregset_t declaration in glibc 2.3 which
# uses AC_TRY_RUN to detect if it's needed, which doesn't work in
# cross-compilation. So pass the cache option to configure.
# It needs to be passed to XUANTIE_GDB_CONF_ENV to build gdbserver only but
# also to XUANTIE_GDB_MAKE_ENV, because otherwise it does not get passed to the
# configure script of nested packages while building gdbserver with full
# debugger.
XUANTIE_GDB_CONF_ENV += gdb_cv_prfpregset_t_broken=no
XUANTIE_GDB_MAKE_ENV += gdb_cv_prfpregset_t_broken=no
# We want the built-in libraries of gdb (libbfd, libopcodes) to be
# built and linked statically, as we do not install them on the
# target, to not clash with the ones potentially installed by
# binutils. This is why we pass --enable-static --disable-shared.
XUANTIE_GDB_CONF_OPTS = \
--without-uiout \
--disable-gdbtk \
--without-x \
--disable-sim \
$(XUANTIE_GDB_DISABLE_BINUTILS_CONF_OPTS) \
--without-included-gettext \
--disable-werror \
--enable-static \
--disable-shared \
--without-mpfr \
--disable-source-highlight
# When only building gdbserver, we don't need zlib. But we have no way to
# tell the top-level configure that we don't need zlib: it either wants to
# build the bundled one, or use the system one.
# Since we're going to only install the gdbserver to the target, we don't
# care that the bundled zlib is built, as it is not used.
XUANTIE_GDB_CONF_OPTS += \
--disable-gdb \
--without-curses \
--without-system-zlib
XUANTIE_GDB_CONF_OPTS += --enable-gdbserver
XUANTIE_GDB_DEPENDENCIES += $(TARGET_NLS_DEPENDENCIES)
# gdb 7.12+ by default builds with a C++ compiler, which doesn't work
# when we don't have C++ support in the toolchain
ifneq ($(BR2_INSTALL_LIBSTDCPP),y)
XUANTIE_GDB_CONF_OPTS += --disable-build-with-cxx
endif
# inprocess-agent can't be built statically
ifeq ($(BR2_STATIC_LIBS),y)
XUANTIE_GDB_CONF_OPTS += --disable-inprocess-agent
endif
ifeq ($(BR2_PACKAGE_EXPAT),y)
XUANTIE_GDB_CONF_OPTS += --with-expat
XUANTIE_GDB_CONF_OPTS += --with-libexpat-prefix=$(STAGING_DIR)/usr
XUANTIE_GDB_DEPENDENCIES += expat
else
XUANTIE_GDB_CONF_OPTS += --without-expat
endif
ifeq ($(BR2_PACKAGE_XZ),y)
XUANTIE_GDB_CONF_OPTS += --with-lzma
XUANTIE_GDB_CONF_OPTS += --with-liblzma-prefix=$(STAGING_DIR)/usr
XUANTIE_GDB_DEPENDENCIES += xz
else
XUANTIE_GDB_CONF_OPTS += --without-lzma
endif
ifeq ($(BR2_PACKAGE_XUANTIE_GDB_PYTHON),)
# This removes some unneeded Python scripts and XML target description
# files that are not useful for a normal usage of the debugger.
define XUANTIE_GDB_REMOVE_UNNEEDED_FILES
$(RM) -rf $(TARGET_DIR)/usr/share/gdb
endef
XUANTIE_GDB_POST_INSTALL_TARGET_HOOKS += XUANTIE_GDB_REMOVE_UNNEEDED_FILES
endif
# This installs the gdbserver somewhere into the $(HOST_DIR) so that
# it becomes an integral part of the SDK, if the toolchain generated
# by Buildroot is later used as an external toolchain. We install it
# in debug-root/usr/bin/gdbserver so that it matches what Crosstool-NG
# does.
define XUANTIE_GDB_SDK_INSTALL_XUANTIE_GDBSERVER
$(INSTALL) -D -m 0755 $(TARGET_DIR)/usr/bin/gdbserver \
$(HOST_DIR)/$(GNU_TARGET_NAME)/debug-root/usr/bin/gdbserver
endef
ifeq ($(BR2_PACKAGE_XUANTIE_GDB_SERVER),y)
XUANTIE_GDB_POST_INSTALL_TARGET_HOOKS += XUANTIE_GDB_SDK_INSTALL_XUANTIE_GDBSERVER
endif
$(eval $(autotools-package))

View File

@@ -99,7 +99,7 @@ acm_iad_descriptor = {
.bInterfaceCount = 2, // control + data
.bFunctionClass = USB_CLASS_COMM,
.bFunctionSubClass = USB_CDC_SUBCLASS_ACM,
.bFunctionProtocol = USB_CDC_ACM_PROTO_AT_V25TER,
.bFunctionProtocol = 0, // not a modem, so not use protocol
/* .iFunction = DYNAMIC */
};
@@ -111,7 +111,7 @@ static struct usb_interface_descriptor acm_control_interface_desc = {
.bNumEndpoints = 1,
.bInterfaceClass = USB_CLASS_COMM,
.bInterfaceSubClass = USB_CDC_SUBCLASS_ACM,
.bInterfaceProtocol = USB_CDC_ACM_PROTO_AT_V25TER,
.bInterfaceProtocol = 0, // not a modem, so not use protocol
/* .iInterface = DYNAMIC */
};

View File

@@ -48,7 +48,8 @@
/*******************************************************
* Global variables
******************************************************/
u32 vi_log_lv = VI_ERR | VI_WARN | VI_NOTICE | VI_INFO | VI_DBG;
//u32 vi_log_lv = VI_ERR | VI_WARN | VI_NOTICE | VI_INFO | VI_DBG;
u32 vi_log_lv = 0;
module_param(vi_log_lv, int, 0644);
#ifdef PORTING_TEST //test only

View File

@@ -43,7 +43,8 @@
/*******************************************************
* Global variables
******************************************************/
u32 vo_log_lv = VO_ERR | VO_WARN | VO_NOTICE;
//u32 vo_log_lv = VO_ERR | VO_WARN | VO_NOTICE;
u32 vo_log_lv = 0;
int smooth;
int debug;
int job_init;

View File

@@ -29,10 +29,10 @@ extern u32 vo_log_lv;
enum vo_msg_pri {
VO_ERR = 3,
VO_WARN = 4,
VO_NOTICE = 5,
VO_INFO = 6,
VO_DBG = 7,
VO_WARN = 7,
VO_NOTICE = 0xf,
VO_INFO = 0xff,
VO_DBG = 0xfff,
};
#ifdef __cplusplus

View File

@@ -35,7 +35,8 @@
#include "sclr_test.h"
u32 vpss_log_lv = CVI_DBG_WARN;
//u32 vpss_log_lv = CVI_DBG_WARN;
u32 vpss_log_lv = 0;
int single_vb;
int debug;
int vip_clk_freq;

View File

@@ -6,10 +6,10 @@
extern u32 vpss_log_lv;
#define CVI_DBG_ERR 1 /* error conditions */
#define CVI_DBG_WARN 2 /* warning conditions */
#define CVI_DBG_NOTICE 3 /* normal but significant condition */
#define CVI_DBG_INFO 4 /* informational */
#define CVI_DBG_DEBUG 5 /* debug-level messages */
#define CVI_DBG_WARN 3 /* warning conditions */
#define CVI_DBG_NOTICE 7 /* normal but significant condition */
#define CVI_DBG_INFO 0xf /* informational */
#define CVI_DBG_DEBUG 0xff /* debug-level messages */
#if defined(CONFIG_CVI_LOG)
#define CVI_TRACE_VPSS(level, fmt, ...) \