海思DV500配置SSH

本文详细描述了如何在海思DV500上配置SSH环境,包括源码编译GDB、zlib、OpenSSL、OpenSSH,并处理编译过程中的错误,以及在开发板上设置软链接、生成SSH密钥和修改配置文件,以支持远程调试。

海思DV500配置SSH

目的:mindstudio ssh远程soc debug

1.源码交叉编译

1.1编译gdb

gdb-8.1.1.1

./confgure --host=aarch64-linux-musleabi --prefx=~/dv500/gdb
make && make install

1.2编译zlib

zlib-1.3

./configure --host=aarch64-linux-musleabi --prefix=~/dv500/zlib
make && make install

1.3编译openssl

openssl-3.1.4

./Configure linux-armv4 shared no-asm --prefix=~/dv500/openssl --cross-compile-prefix=aarch64-linux-musleabi-
make && make install

1.4编译openssh

openssh-9.2p1

./configure --host=aarch64-linux-musleabi --with-libs --with-zlib=~/dv500/zlib --with-ssl-dir=~/dv500/openssl --disable-etc-default-login CC=aarch64-linux-musleabi-gcc AR=aarch64-linux-musleabi-ar --prefix=~/dv500/openssh
make && make install

在make install的时候可能报错,直接拷贝的make目录

2.拷贝链接到开发板

/usr/目录下资源有限,/data_fs空间比较大,采用软连接的方式

mkdir -p  /data_fs/s_data/usr/libexec  /data_fs/s_data/usr/local/etc  /data_fs/s_data/usr/local/bin

2.1拷贝文件

	1.将编译openssh生成的scp ,sftp ,ssh,sshd,ssh-add,ssh-agent,ssh-keygen,ssh-keyscan文件拷贝到开发板中的 /data_fs/s_data/usr/local/bin;
	2.将编译openssh生成的moduli,ssh_config,sshd_config”拷贝到开发板的“ /data_fs/s_data/usr/local/etc”目录;
	3.将编译openssh生成的“sftp-server、ssh-keysign”拷贝到开发板的“/data_fs/s_data/usr/libexec”目录
	4.将编译的openssl拷贝到开发板的/data_fs/s_data”目录
	5.将编译的zlib拷贝到开发板的“/data_fs/s_data”目录
	6.将编译的gdb拷贝到开发板的“/data_fs/s_data”目录

2.2建立软连接

ln -s /data_fs/s_data/usr/local/etc /usr/local/
ln -s /data_fs/s_data/usr/local/bin /usr/local/
ln -s /data_fs/s_data/usr/libexec /usr/
ln -s /data_fs/s_data/gdb/gdb /usr/bin/gdb

3.生成key

在/usr/local/bin运行以下命令

ssh-keygen -t dsa -f ssh_host_dsa_key -N ""
ssh-keygen -t dsa -f ssh_host_ed25519_key -N ""
ssh-keygen -t rsa -f ssh_host_rsa_key -N ""
ssh-keygen -t ecdsa -f ssh_host_ecdsa_key -N ""

4.修改配置文件

在/usr/local/etc/sshd_config文件下找到相应的项修改或者反注释掉

vi /usr/local/etc/sshd_config
Port 22
HostKey /usr/local/bin/ssh_host_rsa_key
HostKey /usr/local/bin/ssh_host_ecdsa_key
HostKey /usr/local/bin/ssh_host_ed25519_key

PermitRootLogin yes

(海思文档上要求的,添加在最后)
ciphers aes128-gcm@openssh.com,aes256-gcm@openssh.com
macs hmac-sha2-256,hmac-sha2-512,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com
hostkeyalgorithms ssh-ed25519,rsa-sha2-512,rsa-sha2-256
#kexalgorithms curve25519-sha256,curve25519-sha256@libssh.org,difehellman-group-exchange-sha256
vi /usr/local/etc/ssh_config

Port 22

5.加载配置文件

mkdir -p /var/empty/sshd
/usr/local/bin/sshd -f /usr/local/etc/sshd_config

export LD_LIBRARY_PATH='/data_fs/s_data/zlib/lib:/data_fs/s_data/openssl/lib'

最后,远程调试很慢,体验感很差,呵呵哒。一顿 。。。一问。。。。

报错:

Privilege separation user sshd does not exist

adduser sshd

备注

编译opencv的命令

cmake -DCMAKE_C_COMPILER=aarch64-v01c01-linux-musl-gcc -DCMAKE_CXX_COMPILER=aarch64-v01c01-linux-musl-g++ -DCMAKE_INSTALL_PREFIX=.../opencv-4.4.0/install_ebi -DOPENCV_FORCE_3RDPARTY_BUILD=ON -DBUILD_ZLIB=ON -DWITH_GTK=OFF -DBUILD_SHARED_LIBS=ON -DBUILD_opencv_ts=OFF -DBUILD_opencv_shape=OFF -DBUILD_opencv_stitching=OFF -DBUILD_opencv_apps=OFF -DBUILD_opencv_calib3d=OFF -DBUILD_opencv_dnn=OFF -DBUILD_opencv_features2d=OFF -DBUILD_opencv_flann=OFF -DBUILD_opencv_highgui=OFF -DBUILD_opencv_ml=OFF -DBUILD_opencv_objdetect=OFF -DBUILD_opencv_photo=OFF -DBUILD_opencv_video=OFF -DBUILD_opencv_videoio=OFF -DBUILD_opencv_videostab=OFF -DCMAKE_BUILD_TYPE=RELEASE -DZLIB_LIBRARY=.../zlib/lib -DZLIB_INCLUDE_DIR=.../zlib/include ..

参考文章:https://www.cnblogs.com/zhuangquan/p/13158094.html

虽然给定引用中未直接提及海思DV500 ISP的调试经验,但可以从其特性出发推测相关调试要点。 海思越影3516DV500在AI - ISP 1.1版本有显著提升,比如让TNR和BNR、SNR可根据开发者使用场景自动控制权重,效果明显,且HNR在低照度方面提升大 [^1]。基于此,在调试时可重点关注以下方面: - **低照度调试**:鉴于HNR在低照度方面提升大,可在低照度环境下对ISP进行调试,观察图像效果,调整相关参数以进一步优化低照度下的成像。例如,尝试不同的HNR参数组合,查看图像的清晰度、噪点控制等指标的变化。 ```python # 伪代码示例,模拟调整HNR参数 def adjust_HNR_parameters(parameters): # 这里是实际调整参数的代码逻辑 # 假设调用海思SDK的相关函数进行参数设置 sdk.set_HNR_parameters(parameters) return sdk.get_image_quality_metrics() # 可以尝试不同的参数组合 parameter_combinations = [{'strength': 0.5, 'filter_size': 3}, {'strength': 0.8, 'filter_size': 5}] for params in parameter_combinations: metrics = adjust_HNR_parameters(params) print(f"Parameters: {params}, Metrics: {metrics}") ``` - **权重控制调试**:由于AI - ISP 1.1让TNR和BNR、SNR可根据使用场景自动控制权重,调试时可以模拟不同的使用场景,手动调整这些权重,观察图像效果的变化,找到适合特定场景的最佳权重组合。 ```python # 伪代码示例,模拟调整TNR、BNR、SNR权重 def adjust_weight(weights): # 这里是实际调整权重的代码逻辑 # 假设调用海思SDK的相关函数进行权重设置 sdk.set_weight(weights) return sdk.get_image_quality_metrics() # 可以尝试不同的权重组合 weight_combinations = [{'TNR': 0.3, 'BNR': 0.3, 'SNR': 0.4}, {'TNR': 0.4, 'BNR': 0.2, 'SNR': 0.4}] for weights in weight_combinations: metrics = adjust_weight(weights) print(f"Weights: {weights}, Metrics: {metrics}") ``` 海思Hi3519DV500核心板的ISP支持众多功能,如多路sensor同时处理、3A功能、去固定模式噪声等 [^4]。在调试时,可针对这些功能逐一进行测试和优化: - **功能测试**:对每个支持的功能进行单独测试,确保其正常工作。例如,测试3A功能时,在不同光照条件下观察自动曝光(AE)、自动白平衡(AWB)和自动对焦(AF)的效果,调整相关参数以达到最佳性能。 ```python # 伪代码示例,模拟测试3A功能 def test_3A_function(): # 模拟不同光照条件 light_conditions = [100, 500, 1000] for light in light_conditions: sdk.set_light_condition(light) sdk.enable_3A_function() metrics = sdk.get_image_quality_metrics() print(f"Light: {light}, Metrics: {metrics}") test_3A_function() ``` - **综合优化**:在单个功能正常工作的基础上,进行综合调试,考虑不同功能之间的相互影响,找到整体的最佳参数组合。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值