@gsd_zcm @YuzukiTsuru 大佬,可以帮忙看下吗?
GSD_ZCM 发布的帖子
-
【求助!】D1/D1H OTA 升级实验 失败
我用Tian2.0版本,根据 D1-H_Tina_Linux_OTA_开发指南 这个文档编译主系统和OTA 包,但是准备在哪吒D1H的板子上执行OTA的时候,出现了这样的问题,导致无法升级系统,谷歌了好久,很少有这方面的解答?
大佬们,得如何去解决这个问题呢?root@TinaLinux:/# root@TinaLinux:/# swupdate -i /mnt/UDISK/tina-d1-h-nezha.swu -e stable,upgrade_r ec[ 76.593184] [TXRX_WRN] drop=1771, fctl=0x00d0. overy Swupdate v2019.11.0 Licensed under GPLv2. See source distribution for detailed copyright notices. Registered handlers: dummy awuboot awboot0 uboot bootloader raw rawfile rawcopy readback shellscript preinstall postinstall ubivol ubipartition ubiswap software set: stable mode: upgrade_recovery Connected to SWUpdate via /tmp/swupdateprog Warning: Bad CRC, using default environment Error: Please reboot, uboot will fix the environment [ERROR] : SWUPDATE failed [0] ERROR : Error: environment not initialized, Success Update started ! Interface: UNKNOWN [ ------------------------------------------------------------ ] 1 of 3 0% (recovery) [ERROR] : SWUPDATE failed [0] ERROR : Image recovery should be stored in volume recovery, but no volume found [ ------------------------------------------------------------ ] 1 of 3 0% (recovery) FAILURE ! Software updated failed Warning: Bad CRC, using default environment Error: Please reboot, uboot will fix the environment [ERROR] : SWUPDATE failed [0] ERROR : Error: environment not initialized, Success Connection closing.. Trying to connect to SWUpdate... root@TinaLinux:/# root@TinaLinux:/# swupdate_cmd.sh -i /mnt/UDISK/tina-d1-h-nezha.swu -e stable,u pgrade_recovery -i /mnt/UDISK/tina-d1-h-nezha.swu -e stable,u pgrade_recovery config new swupdate swu_input: ##-i /mnt/UDISK/tina-d1-h-nezha.swu -e stable,upgrade_recovery## Warning: Bad CRC, using default environment Error: Please reboot, uboot will fix the environment Error: environment not initialized ## set swupdate_param done ## swu_param: #### swu_software: #### swu_mode: #### no swupdate_cmd to run, wait for next swupdate
-
回复: 2022年7月版——在“哪吒”上跑AI 全志D1 ncnn框架移植笔记
@yanmingjian 前辈你好,我用编译器版本为240的取编译,cmake的时候出现这样的问题,Test NCNN_COMPILER_USE_VFREDSUM - Failed
-- Check for working CXX compiler: /home/zcm/linux/tool/Xuantie-900-gcc-linux-5.10.4-glibc-x86_64-V2.4.0/bin/riscv64-unknown-linux-gnu-g++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Performing Test NCNN_COMPILER_SUPPORT_RVV -- Performing Test NCNN_COMPILER_SUPPORT_RVV - Success -- Performing Test NCNN_COMPILER_SUPPORT_RVV_ZFH -- Performing Test NCNN_COMPILER_SUPPORT_RVV_ZFH - Success -- Performing Test NCNN_COMPILER_USE_VFREDSUM -- Performing Test NCNN_COMPILER_USE_VFREDSUM - Failed -- Performing Test NCNN_COMPILER_USE_VFREDUSUM -- Performing Test NCNN_COMPILER_USE_VFREDUSUM - Success -- Performing Test NCNN_COMPILER_USE_RVV_PLAIN_SEG -- Performing Test NCNN_COMPILER_USE_RVV_PLAIN_SEG - Success -- Target arch: riscv
然后编译的时候,没办法正常通过,前辈知道是什么问题吗?
In file included from /home/zcm/linux/Open_lib/ncnn/src/layer/riscv/riscv_activation.h:22, from /home/zcm/linux/Open_lib/ncnn/src/layer/riscv/convolution_riscv.cpp:25: /home/zcm/linux/Open_lib/ncnn/src/layer/riscv/rvv_mathfun.h: In function 'vfloat32m1_t sigmoid_ps(vfloat32m1_t, size_t)': /home/zcm/linux/Open_lib/ncnn/src/layer/riscv/rvv_mathfun.h:362:43: error: 'vfrec7_v_f32m1' was not declared in this scope; did you mean 'vfneg_v_f32m1'? 362 | vfloat32m##LMUL##_t _reciprocal = vfrec7_v_f32m##LMUL(_v, vl); \ | ^~~~~~~~~~~~~ /home/zcm/linux/Open_lib/ncnn/src/layer/riscv/rvv_mathfun.h:368:1: note: in expansion of macro '_RVV_FLOAT32_SIGMOID_OP' 368 | _RVV_FLOAT32_SIGMOID_OP(1, 32) | ^~~~~~~~~~~~~~~~~~~~~~~ /home/zcm/linux/Open_lib/ncnn/src/layer/riscv/rvv_mathfun.h: In function 'vfloat32m2_t sigmoid_ps(vfloat32m2_t, size_t)': /home/zcm/linux/Open_lib/ncnn/src/layer/riscv/rvv_mathfun.h:362:43: error: 'vfrec7_v_f32m2' was not declared in this scope; did you mean 'vfneg_v_f32m2'? 362 | vfloat32m##LMUL##_t _reciprocal = vfrec7_v_f32m##LMUL(_v, vl); \ | ^~~~~~~~~~~~~ /home/zcm/linux/Open_lib/ncnn/src/layer/riscv/rvv_mathfun.h:369:1: note: in expansion of macro '_RVV_FLOAT32_SIGMOID_OP' 369 | _RVV_FLOAT32_SIGMOID_OP(2, 16) | ^~~~~~~~~~~~~~~~~~~~~~~ /usr/bin/cmake: /usr/local/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake) [ 21%] Building CXX object src/CMakeFiles/ncnn.dir/layer/elu.cpp.o /home/zcm/linux/Open_lib/ncnn/src/layer/riscv/rvv_mathfun.h: In function 'vfloat32m4_t sigmoid_ps(vfloat32m4_t, size_t)': /home/zcm/linux/Open_lib/ncnn/src/layer/riscv/rvv_mathfun.h:362:43: error: 'vfrec7_v_f32m4' was not declared in this scope; did you mean 'vfneg_v_f32m4'? 362 | vfloat32m##LMUL##_t _reciprocal = vfrec7_v_f32m##LMUL(_v, vl); \ | ^~~~~~~~~~~~~ /home/zcm/linux/Open_lib/ncnn/src/layer/riscv/rvv_mathfun.h:370:1: note: in expansion of macro '_RVV_FLOAT32_SIGMOID_OP' 370 | _RVV_FLOAT32_SIGMOID_OP(4, 8) | ^~~~~~~~~~~~~~~~~~~~~~~ /home/zcm/linux/Open_lib/ncnn/src/layer/riscv/rvv_mathfun.h: In function 'vfloat32m8_t sigmoid_ps(vfloat32m8_t, size_t)': /home/zcm/linux/Open_lib/ncnn/src/layer/riscv/rvv_mathfun.h:362:43: error: 'vfrec7_v_f32m8' was not declared in this scope; did you mean 'vfneg_v_f32m8'? 362 | vfloat32m##LMUL##_t _reciprocal = vfrec7_v_f32m##LMUL(_v, vl); \ | ^~~~~~~~~~~~~ /home/zcm/linux/Open_lib/ncnn/src/layer/riscv/rvv_mathfun.h:371:1: note: in expansion of macro '_RVV_FLOAT32_SIGMOID_OP' 371 | _RVV_FLOAT32_SIGMOID_OP(8, 4) | ^~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/zcm/linux/Open_lib/ncnn/src/layer/riscv/riscv_activation.h:23, from /home/zcm/linux/Open_lib/ncnn/src/layer/riscv/convolution_riscv.cpp:25: /home/zcm/linux/Open_lib/ncnn/src/layer/riscv/rvv_mathfun_fp16s.h: In function 'vfloat16m1_t sigmoid_ps(vfloat16m1_t, size_t)': /home/zcm/linux/Open_lib/ncnn/src/layer/riscv/rvv_mathfun_fp16s.h:362:43: error: 'vfrec7_v_f16m1' was not declared in this scope; did you mean 'vfneg_v_f16m1'? 362 | vfloat16m##LMUL##_t _reciprocal = vfrec7_v_f16m##LMUL(_v, vl); \ | ^~~~~~~~~~~~~ /home/zcm/linux/Open_lib/ncnn/src/layer/riscv/rvv_mathfun_fp16s.h:368:1: note: in expansion of macro '_RVV_FLOAT16_SIGMOID_OP' 368 | _RVV_FLOAT16_SIGMOID_OP(1, 16) | ^~~~~~~~~~~~~~~~~~~~~~~ /home/zcm/linux/Open_lib/ncnn/src/layer/riscv/rvv_mathfun_fp16s.h: In function 'vfloat16m2_t sigmoid_ps(vfloat16m2_t, size_t)': /home/zcm/linux/Open_lib/ncnn/src/layer/riscv/rvv_mathfun_fp16s.h:362:43: error: 'vfrec7_v_f16m2' was not declared in this scope; did you mean 'vfneg_v_f16m2'? 362 | vfloat16m##LMUL##_t _reciprocal = vfrec7_v_f16m##LMUL(_v, vl); \ | ^~~~~~~~~~~~~ /home/zcm/linux/Open_lib/ncnn/src/layer/riscv/rvv_mathfun_fp16s.h:369:1: note: in expansion of macro '_RVV_FLOAT16_SIGMOID_OP' 369 | _RVV_FLOAT16_SIGMOID_OP(2, 8) | ^~~~~~~~~~~~~~~~~~~~~~~ /home/zcm/linux/Open_lib/ncnn/src/layer/riscv/rvv_mathfun_fp16s.h: In function 'vfloat16m4_t sigmoid_ps(vfloat16m4_t, size_t)': /home/zcm/linux/Open_lib/ncnn/src/layer/riscv/rvv_mathfun_fp16s.h:362:43: error: 'vfrec7_v_f16m4' was not declared in this scope; did you mean 'vfneg_v_f16m4'? 362 | vfloat16m##LMUL##_t _reciprocal = vfrec7_v_f16m##LMUL(_v, vl); \ | ^~~~~~~~~~~~~ /home/zcm/linux/Open_lib/ncnn/src/layer/riscv/rvv_mathfun_fp16s.h:370:1: note: in expansion of macro '_RVV_FLOAT16_SIGMOID_OP' 370 | _RVV_FLOAT16_SIGMOID_OP(4, 4) | ^~~~~~~~~~~~~~~~~~~~~~~ /home/zcm/linux/Open_lib/ncnn/src/layer/riscv/rvv_mathfun_fp16s.h: In function 'vfloat16m8_t sigmoid_ps(vfloat16m8_t, size_t)': /home/zcm/linux/Open_lib/ncnn/src/layer/riscv/rvv_mathfun_fp16s.h:362:43: error: 'vfrec7_v_f16m8' was not declared in this scope; did you mean 'vfneg_v_f16m8'? 362 | vfloat16m##LMUL##_t _reciprocal = vfrec7_v_f16m##LMUL(_v, vl); \ | ^~~~~~~~~~~~~
-
回复: 2022年7月版——在“哪吒”上跑AI 全志D1 ncnn框架移植笔记
@yanmingjian 前辈,请问下,可以用Tina2.0的sdk的交叉编译器去编译码?会有什么问题出现呢?
-
回复: 全志D1-H,官方SDK Tina2.0 移植 ffmpeg (交叉编译成功,运行时出问题)
@whycanservice 前辈,你好,我用了你提供的ffmpeg的包然后去编译,出现这样的错误,
cp: error writing '/home/zcm/linux/SDK/allwinner/D1/PET_D1-H_P01_Linux/out/d1-h-nezha/compile_dir/target/linux-d1-h-nezha/root/usr/sbin/sshd': No space left on device cp: error writing '/home/zcm/linux/SDK/allwinner/D1/PET_D1-H_P01_Linux/out/d1-h-nezha/compile_dir/target/linux-d1-h-nezha/root/usr/sbin/addpart': No space left on device cp: error writing '/home/zcm/linux/SDK/allwinner/D1/PET_D1-H_P01_Linux/out/d1-h-nezha/compile_dir/target/linux-d1-h-nezha/root/usr/sbin/delpart': No space left on device cp: error writing '/home/zcm/linux/SDK/allwinner/D1/PET_D1-H_P01_Linux/out/d1-h-nezha/compile_dir/target/linux-d1-h-nezha/root/usr/sbin/partx': No space left on device cp: error writing '/home/zcm/linux/SDK/allwinner/D1/PET_D1-H_P01_Linux/out/d1-h-nezha/compile_dir/target/linux-d1-h-nezha/root/usr/sbin/resize2fs': No space left on device cp: error writing '/home/zcm/linux/SDK/allwinner/D1/PET_D1-H_P01_Linux/out/d1-h-nezha/compile_dir/target/linux-d1-h-nezha/root/usr/sbin/tcpdump': No space left on device cp: error writing '/home/zcm/linux/SDK/allwinner/D1/PET_D1-H_P01_Linux/out/d1-h-nezha/compile_dir/target/linux-d1-h-nezha/root/usr/sbin/wpa_cli': No space left on device cp: error writing '/home/zcm/linux/SDK/allwinner/D1/PET_D1-H_P01_Linux/out/d1-h-nezha/compile_dir/target/linux-d1-h-nezha/root/usr/sbin/wpad': No space left on device cp: cannot create directory '/home/zcm/linux/SDK/allwinner/D1/PET_D1-H_P01_Linux/out/d1-h-nezha/compile_dir/target/linux-d1-h-nezha/root/usr/share': No space left on device cp: cannot create directory '/home/zcm/linux/SDK/allwinner/D1/PET_D1-H_P01_Linux/out/d1-h-nezha/compile_dir/target/linux-d1-h-nezha/root/usr/res': No space left on device cp: cannot create directory '/home/zcm/linux/SDK/allwinner/D1/PET_D1-H_P01_Linux/out/d1-h-nezha/compile_dir/target/linux-d1-h-nezha/root/usr/include': No space left on device cp: cannot create directory '/home/zcm/linux/SDK/allwinner/D1/PET_D1-H_P01_Linux/out/d1-h-nezha/compile_dir/target/linux-d1-h-nezha/root/usr/libexec': No space left on device cp: cannot create directory '/home/zcm/linux/SDK/allwinner/D1/PET_D1-H_P01_Linux/out/d1-h-nezha/compile_dir/target/linux-d1-h-nezha/root/www': No space left on device rm -f /home/zcm/linux/SDK/allwinner/D1/PET_D1-H_P01_Linux/out/d1-h-nezha/rootfs.img rm -f /home/zcm/linux/SDK/allwinner/D1/PET_D1-H_P01_Linux/out/d1-h-nezha/usr.img dd if=/home/zcm/linux/SDK/allwinner/D1/PET_D1-H_P01_Linux/out/d1-h-nezha/compile_dir/target/linux-d1-h-nezha/root.ext4 of=/home/zcm/linux/SDK/allwinner/D1/PET_D1-H_P01_Linux/out/d1-h-nezha/rootfs.img bs=128k conv=sync 512+0 records in 512+0 records out 67108864 bytes (67 MB, 64 MiB) copied, 0.0423801 s, 1.6 GB/s ( cd /home/zcm/linux/SDK/allwinner/D1/PET_D1-H_P01_Linux/out/d1-h-nezha ; find -maxdepth 1 -type f \! -name 'md5sums' -printf "%P\n" | sort | xargs md5sum --binary > md5sums ) ( cd /home/zcm/linux/SDK/allwinner/D1/PET_D1-H_P01_Linux/out/d1-h-nezha ; find -maxdepth 1 -type f \! -name 'md5sums' -printf "%P\n" | sort | xargs openssl dgst -sha256 > sha256sums ) make[5]: Leaving directory '/home/zcm/linux/SDK/allwinner/D1/PET_D1-H_P01_Linux/target/allwinner/generic/image' make[4]: Leaving directory '/home/zcm/linux/SDK/allwinner/D1/PET_D1-H_P01_Linux/target/allwinner/d1-h-nezha' make[3]: Leaving directory '/home/zcm/linux/SDK/allwinner/D1/PET_D1-H_P01_Linux/target/allwinner' make[2]: Leaving directory '/home/zcm/linux/SDK/allwinner/D1/PET_D1-H_P01_Linux' export MAKEFLAGS= ;make -w -r package/index make[2]: Entering directory '/home/zcm/linux/SDK/allwinner/D1/PET_D1-H_P01_Linux' Generating package index... Signing key has not been configured make[2]: Leaving directory '/home/zcm/linux/SDK/allwinner/D1/PET_D1-H_P01_Linux' make[1]: Lea![21f0b82a-75a6-4be7-94ff-78d57beaae7e-image.png](/assets/uploads/files/1668569215929-21f0b82a-75a6-4be7-94ff-78d57beaae7e-image.png) ving directory '/home/zcm/linux/SDK/allwinner/D1/PET_D1-H_P01_Linux'
我百度了下。说是虚拟机空间不够,但我的虚拟机下新装的,下面是我的硬盘空间使用情况。目前不知道问题出在哪里
-
回复: 全志D1-H,官方SDK Tina2.0 移植 ffmpeg (交叉编译成功,运行时出问题)
@yuzukitsuru 前辈,修改这里面的Makefile,可以加快ffmepg的编译速度,我用了你提供的压缩包,然后编译,感觉只有单线程编译,好慢。
但是还不太清楚需要修改哪里可以加快编译速度 -
回复: 希望全志的大神出一个D1s tina APP怎么引用其他库文件的教程
@chengwei_peng 谢谢前辈,讲解的好详细,按照前辈的方法,代码可以正常编译了,下面是我的makefile,可能有些地方不够好,伙伴们可以参考下。
CROSS = /home/linux/allwinner/D1/PET_D1-H_P01_Linux/out/d1-h-nezha/staging_dir/toolchain/bin/riscv64-unknown-linux-gnu- CC = $(CROSS)gcc #定义CC为gcc编译 RM = rm -rf #获取当前目录下的所有.c文件 SRCS=$(wildcard ./*.c) #将SRC中所有出现.c的替换成.o OBJS=$(patsubst %.c, %.o, $(SRCS)) STAGING_DIR = /home/linux/allwinner/D1/PET_D1-H_P01_Linux/out/d1-h-nezha/staging_dir/target/usr HEADER_PATH = -I $(STAGING_DIR)/include #定义HEADER_PATH为当前工程中的头文件路径 LIB_PATH = -L $(STAGING_DIR)/lib #定义LIB_PATH为当前工程中的头文件路径 $(warning LIB_PATH) #输出当前LIB_PATH中的内容 LIBS = -lcurl -lssl -lcrypto -lnghttp2 #制定LIBS链接库的名称 TARGET=face_api #这些变量不能单独使用 必须在命令中使用 #$@ 表示目标 #$^ 表示所有的依赖 #$< 表示第一个依赖 $(TARGET):$(OBJS) $(CC) $^ -o $@ $(LIB_PATH) $(LIBS) # 告诉编译器生成可执行文件时库存放的目录,以及库的名字 #模式匹配 所有的.o都依赖对应的.c #将所有的.c 生成对应的.o %.o:%.c $(CC) -c $< -o $@ $(HEADER_PATH) #告诉编译器申城中间文件时头文件的所在目录 #声明clean为伪目标 伪目标不去判断目标文件是否存在或者已经更新 #无条件执行命令 .PHONY:clean clean: $(RM) $(OBJS) $(TARGET)
-
回复: 希望全志的大神出一个D1s tina APP怎么引用其他库文件的教程
@yuzukitsuru 前辈们,请问下我在Tina的目录下的dl看到有curl这个库,然后我的程序想用这个库,Makefile得这么添加这个库呢?不知道他的动态库和对应的头文件解压到那里去了
D1-H_SDK\PET_D1-H_P01_Linux\dl\curl-7.54.0.tar.bz2 -
如何使用curl库
想用D1-h Tina ,但需要用到lcurl的库,是需要自己去网上下载,一步步去编译然后,再用这个库去编译代码,在把动态库和程序拷贝到板子上,需要这么麻烦吗?
我在板子上有lcurl这个命令
-
回复: ssh启用后没生效
@gsd_zcm 问题解决,需要在顶层文件夹先
source build/envsetup.sh
lunch
最后在make menuconfig -
哪吒-Tina-编译出来的固件无法正常启动,用官方提供的固件可以正常启动
源码在编译过程中没有出现错误,有提示编译成功和Pack成功。但是烧写到板子上时,出现如下错误
异常启动日志
[ 4.072880] VFS: Mounted root (ext4 filesystem) readonly on device 179:7.
[ 4.080959] devtmpfs: error mounting -2
[ 4.085513] Freeing unused kernel memory: 184K
[ 4.090467] This architecture does not have kernel memory protection.
[ 4.097718] Run /sbin/init as init process
[ 4.102345] Kernel panic - not syncing: Requested init /sbin/init failed (error -2).
[ 4.110987] CPU: 0 PID: 1 Comm: swapper Not tainted 5.4.61 #1
[ 4.117388] Call Trace:
[ 4.120125] [<ffffffe0000303fa>] walk_stackframe+0x0/0xa0
[ 4.126144] [<ffffffe0000305dc>] show_stack+0x2a/0x34
[ 4.131776] [<ffffffe00065693a>] dump_stack+0x20/0x28
[ 4.137407] [<ffffffe0000353a2>] panic+0xee/0x2b6
[ 4.142655] [<ffffffe00066a2c2>] kernel_init+0x8a/0xee
[ 4.148383] [<ffffffe00002f018>] ret_from_exception+0x0/0xc
[ 4.154599] ---[ end Kernel panic - not syncing: Requested init /sbin/init failed (error -2). ]---正常启动日志(官方提供的固件)
[ 4.074016] VFS: Mounted root (ext4 filesystem) readonly on device 179:7.
[ 4.082744] devtmpfs: mounted
[ 4.086339] Freeing unused kernel memory: 184K
[ 4.091293] This architecture does not have kernel memory protection.
[ 4.098547] Run /sbin/init as init process
[ 4.174475] init: Console is alive
[ 4.178532] init: - watchdog -
[ 4.182074] init: - preinit -
formating /dev/by-name/UDISK to ext4
mke2fs 1.46.4 (18-Aug-2021)请问前辈们,这种问题怎么解决呢?我网上找了资料,说时文件系统出问题,但不清楚如何解决
-
回复: ssh启用后没生效
@zhongwenqing 老哥,请问下是在liche/linux-5.4目录下 make menuconfig,然后我在network好像没看到openssh那个包