第1季:全面认识海思SDK及嵌入式层开发

1.海思sdk快速上手 因为找不到zlib.h所以编译错误,zlib.h在tools/pc/zlib/tmp/include目录中有,只需要复制到tools/pc/jffs2_tool/tmp/include目录中即可。还有,要将tools/pc/zlib/tmp/lib目录下的libz.a libz.so libz.so.1 libz.so.1.2.7等4个文件复制到tools/pc/jffs2_tool/tmp/lib目录下,不然一会儿还得报错。4.4、开发板这边 复制/mnt/lib下的所有文件到/usr/lib。 阅读详情
AI摘要

本文详细描述了如何在Hi3518E平台进行硬件功能验证、配置编译环境、烧录U-Boot、kernel和rootfs,以及sample的编译测试和rootfs_uclibc镜像制作的过程,涉及Linux环境设置、工具链安装和问题解决技巧。,

1 硬件功能验证

(1)SecureCRT监视打开,开发板开机,自动挂载到/home/aston/rootfs中 (这个内容放在了/etc/profile文件里,去查看修改就行了,就是开机时,自动加载的那个文件),本人挂载的根目录:/mnt/hisilion_nfs。

(2)自动加入/mnt中,执行./sample_venc即可 (./sample venc是AR0130版本的RTSP流测试app.rar解压得到的)
./sample_venc的执行结果如下:

在这里插入图片描述
现在这个程序等待一个设备连接,在Windows上安装vlc-2.2.6.0播放器。

(3)在vlc中输入地址,即可浏览实时画面
菜单栏:媒体->打开网络串流->网络,输入:rtsp://192.168.1.20:554/stream_chn0.h264
勾选:显示更多选项。在正在缓冲中设置为300(原来是1000)

注意:
(1)镜头可以自己拧,一边拧一边看图像清晰度,调整到最合适,然后固定螺丝即可。注意有延时的,所以拧一下要停一下看效果。而且延时会累计,所以延时会越来越大。延时如果太大,把VLC关闭重新打开一次就ok了。
(2)图像的4个角可能会有黑边,原因是镜头没有装载正中间,镜头螺丝可以重新固定一下。
(3)图像是有畸变的,正常的,镜头的原因。
(4)如果换上了备用摄像头,需要更改一下运行的程序。

2 配置编译环境

(1) Hi3518E_V200R001C01SPC030.rar 把这个压缩包放置到Linux下的原生目录,解压命令:

sudo apt-get install unrar
unrar x file.rar   //参数x表示解压

进入目录

cd /home/bsp/hisilion/Hi3518E_SDK_V1.0.3.0/osdrv
make OSDRV_CROSS=arm-hisiv300-linux CHIP=hi3518ev200 distclean     //make clean 清楚目标文件,make distclean 清楚目标文件和中间文件

现在还不能make,需要配置交叉编译工具链到环境变量里,运行SOC厂商提供的脚本文件,创建交叉编译工具链的软链接,因为SOC厂商提供的文件里面使用的交叉编译工具的名称是软链接,SOC厂商也提供了可以创建软链接的脚本。

cd /home/bsp/hisilion/Hi3518E_SDK_V1.0.3.0/osdrv/opensource/toolchain/arm-hisiv300-linux
./cross.install.v300
vim ~/.bashrc
//向.bashrc文件最后一行添加下面的内容
export PATH=$PATH:/opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/bin/
//添加完成后,使能一下配置文件
source ~/.bashrc

上述操作完成后,仍然不能使用make,因为32位的交叉编译工具链不能在64位的ubuntu上运行,需要安装32位兼容包:

sudo apt-get update
sudo apt-get install gcc-multilib
sudo apt-get install lib32z1

使用下面的命令检测兼容包是不是安装成功了

arm-hisiv300-linux-uclibcgnueabi-gcc -v

测试截图:
在这里插入图片描述
如果上述命令可以成功运行,则环境变量添加成功。

cd /home/bsp/hisilion/Hi3518E_SDK_V1.0.3.0/osdrv
make OSDRV_CROSS=arm-hisiv300-linux CHIP=hi3518ev200 all

结果报错,通过查看报错信息,发现是mkimage这个命令不存在,添加命令

cd /home/bsp/hisilion/Hi3518E_SDK_V1.0.3.0/osdrv/opensource/uboot/u-boot-2010.06/tools
cp mkimage /usr/local/bin

再次make,发现根文件系统编译时报错。首先出现没有zlib.h这个库的问题,下面处理头文件和库的问题

cd /home/bsp/hisilion/Hi3518E_SDK_V1.0.3.0/osdrv/tools/pc/zlib/tmp/include
cp * /home/bsp/hisilion/Hi3518E_SDK_V1.0.3.0/osdrv/tools/pc/jffs2_tool/tmp/include/ -rf
cd /home/bsp/hisilion/Hi3518E_SDK_V1.0.3.0/osdrv/tools/pc/zlib/tmp/lib
cp lib* /home/bsp/hisilion/Hi3518E_SDK_V1.0.3.0/osdrv/tools/pc/jffs2_tool/tmp/lib/ -rf

再次编译,还是出现错误,解决方法:
修改操作系统头文件/usr/include/netdb.h,将此宏__USE_XOPEN2K注释,如下图(注意#ifdef和#endif是一一对应的),总共有两个地方使用到了这个宏
在这里插入图片描述
对应的#endif在679行
上面的#ifdef对应的#endif在679行
在这里插入图片描述
执行make仍然报错,主Makefile中的207执行失败
在这里插入图片描述
所以我们手都复制文件,执行下面的命令

cp /home/bsp/hisilion/Hi3518E_SDK_V1.0.3.0/osdrv/tools/pc/jffs2_tool/tmp/mtd-utils-1.5.0/mkfs.jffs2 /home/bsp/hisilion/Hi3518E_SDK_V1.0.3.0/osdrv/pub/bin/pc/ -rf

报错的Makefile部分的源码如下:

hipctools: prepare
	@echo "---------task [5] build tools which run on pc"
	make -C $(OSDRV_DIR)/tools/pc/mkyaffs2image/
	cp $(OSDRV_DIR)/tools/pc/mkyaffs2image/bin/$(YAFFS_TOOL) $(OSDRV_DIR)/pub/bin/pc
	//从下面的第一句命令开始报错
	make -C $(OSDRV_DIR)/tools/pc/jffs2_tool/
	//自己把mkfs复制到指定的目录,但是jffs2_tool目录下根本没有mkfs.jffs2,因为make没有成功执行,mkfs.jffs2实际上在osdrv/tools/pc/jffs2_tool/tmp/mtd-utils-1.5.0这个目录下
	cp $(OSDRV_DIR)/tools/pc/jffs2_tool/mkfs.jffs2 $(OSDRV_DIR)/pub/bin/pc
	//后面的内容是关于其他版本的根文件系统的,我们用不到
	cp $(OSDRV_DIR)/tools/pc/jffs2_tool/mkfs.ubifs $(OSDRV_DIR)/pub/bin/pc
	cp $(OSDRV_DIR)/tools/pc/jffs2_tool/ubinize $(OSDRV_DIR)/pub/bin/pc
	cp $(OSDRV_DIR)/tools/pc/jffs2_tool/ubi.cfg $(OSDRV_DIR)/pub/bin/pc
	make -C $(OSDRV_DIR)/tools/pc/cramfs_tool/
	cp $(OSDRV_DIR)/tools/pc/cramfs_tool/mkfs.cramfs $(OSDRV_DIR)/pub/bin/pc
	make -C $(OSDRV_DIR)/tools/pc/mkimage_tool/
	cp $(OSDRV_DIR)/tools/pc/mkimage_tool/mkimage $(OSDRV_DIR)/pub/bin/pc
	make -C $(OSDRV_DIR)/tools/pc/squashfs4.2/
	cp $(OSDRV_DIR)/tools/pc/squashfs4.2/mksquashfs $(OSDRV_DIR)/pub/bin/pc
	make -C $(OSDRV_DIR)/tools/pc/lzma_tool/
	cp $(OSDRV_DIR)/tools/pc/lzma_tool/lzma $(OSDRV_DIR)/pub/bin/pc
	make -C $(OSDRV_DIR)/tools/pc/ext4_utils/
	cp $(OSDRV_DIR)/tools/pc/ext4_utils/bin/$(EXT4_TOOL) $(OSDRV_DIR)/pub/bin/pc

因为mkfs.jffs2 和 mkyaffs2image100 已经成功的复制到了指定的目录,所以这部分的Makefile已经没有用了,修改后如下:

hipctools: prepare
	@echo "---------task [5] build tools which run on pc"

回到osdrv目录,执行

 make OSDRV_CROSS=arm-hisiv300-linux CHIP=hi3518ev200 all

这次会成功的执行结束。
在这里插入图片描述

总结:查看Makefile,根据终端输出的信息,查看错误的出现位置,根据错误命令的信息,解决问题。

3 烧录uboot、kernel、rootfs

三个文件的位置

在这里插入图片描述
使用海思官方提供的烧录软件进行烧录下载,因为官方提供的烧录软件是java开发的,所以需要先安装jre开发环境,下载地址:

链接:https://pan.baidu.com/s/1mZCfhUbsHMxmKHf8-Uum0w?pwd=q04g 
提取码:q04g 
--来自百度网盘超级会员V4的分享

注意:卸载jre的时候,请使用安装包内的卸载程序,不要直接删除文件夹。

按照下面的目录找到烧录工具,点击运行。

Hi3518E_V200R001C01SPC030\01.software\pc\Hi_TOOl\HiTool\HiTool.exe

选择芯片
在这里插入图片描述
点击HiBurn,出现下面的界面
在这里插入图片描述
使用串口烧录,配置详情
在这里插入图片描述
采用分区烧写,详细配置如下图所示:
在这里插入图片描述
点击烧写,注意控制台的提示信息。因为板子上有电容,所以先把板子断电,然后点击烧写,再给板子上电就可以烧写了。
在这里插入图片描述
经过上面的操作,uboot已经烧录完成。接下来就是进行kernel和rootfs的烧录,烧录之前,先确定一下uboot、kernel、rootfs的分区表,本人定义的分区表如下所示:

分区名		分区大小	    起始地址		    截至地址
bootloader:1M			0x00000000		0x00100000
kernel:	3M			0x00100000		0x00400000
rootfs:		12M			0x00400000		0x01000000

SDRAM地址范围:80000000-83FFFFFF    //地址通过查阅数据手册获取,内置64MB SDRAM,SPI FLASH 16MB
附:烧录命令
---------------------------------------------------
tftp更新并重新烧写uboot的命令序列:
mw.b 0x82000000 ff 0x100000                 //mw.b:memory write byte按照字节单位进行写,起始地址:0x82000000,写入内容0xff,写入长度1MB
tftp 0x82000000 u-boot-hi3518ev200.bin      //使用tftp的形式进行文件下载,ubuntu中/tftpboot/中的文件的权限尽量改成777,放置下载时出错
sf probe 0									//选择SPI FLASH
sf erase 0x0 0x100000						//擦除的起始地址和长度
sf write 0x82000000 0x0 0x100000			//从SDRAM 0x82000000地址取内容,向SPI FLASH 0X00地址开始写内容,写入长度 0x100000 1MB
--------------------------------------------------
tftp更新并重新烧写kernel的命令序列:
mw.b 0x82000000 ff 0x300000                //SDRAM中的内容随便写,只不过是一个过渡,只要写入的地址和长度再SDRAM范围内就行
tftp 0x82000000 uImage_hi3518ev200
sf probe 0
sf erase 0x100000 0x300000
sf write 0x82000000 0x100000 0x300000
---------------------------------------------------
tftp更新并重新烧写rootfs的命令序列:
mw.b 0x82000000 ff 0xc00000
tftp 0x82000000 rootfs_hi3518ev200_64k.jffs2
sf probe 0
sf erase 0x400000 0xc00000
sf write 0x82000000 0x400000 0xc00000

附2:正确的bootcmd和bootargs对应的设置命令:
set bootcmd 'sf probe 0;sf read 0x82000000 0x100000 0x300000;bootm 0x82000000'
//因为rootfs在第三部分,所以root=/dev/mtdblock2  ,   0 1 2。 mtdparts= 设置分区。mem=32M,内核使用32M,保留32M留给视频编解码使用
set bootargs mem=32M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1024K(boot),3072K(kernel),12288K(rootfs)

环境变量设置完成后,save保存。
至此,烧录全部完成,并且可以成功启动。

4 rootfs配置

复制必需的文件到开发板的rootfs中

//在Ubuntu的终端窗口执行,复制ko和lib目录的文件
cd /home/bsp/hisilion/Hi3518E_SDK_V1.0.3.0/mpp
cp ko lib /mnt/hisilion_nfs/ -rf
cd /mnt/hisilion_nfs/lib
rm *.a -rf               //静态链接文件在编译时,已经被编译到ko文件内了
//在开发板的终端窗口执行下面的命令,挂载nfs rootfs到开发板的/mnt目录下
mount -t nfs -o nolock 192.168.1.141:/mnt/hisilion_nfs/ /mnt
cd /mnt
cp ko / -rf
cp lib/* /usr/lib -rf

添加用户登录时,自动运行的命令,节省时间:

//在开发板的终端窗口执行
vi /etc/profile
//添加内容
ifconfig eth0 192.168.1.20
ifconfig lo   172.0.0.1

cd /ko
./load3518e -i -sensor ar0130 -osmem 32 -total 64
//mount命令必须放在一定的延时后,因为ifconfig的配置需要一段时间
mount -t nfs -o nolock 192.168.1.141:/mnt/hisilion_nfs/ /mnt
cd /mnt  

5 sample编译测试

在Ubuntu中修改 /home/bsp/hisilion/Hi3518E_SDK_V1.0.3.0/mpp/sample/Makefile.param
在这里插入图片描述
在这里插入图片描述

cd /home/bsp/hisilion/Hi3518E_SDK_V1.0.3.0/mpp/sample/venc/
make
cp sample_venc /mnt/hisilion_nfs/ -rf

在开发板中运行程序
在这里插入图片描述
短暂运行程序,双击ENTER结束运行。程序所在的目录下,产生三个文件,复制文件到windows中,使用VLC软件打开即可观看。
在这里插入图片描述

6 rootfs_uclibc制作镜像

在Ubuntu的终端窗口执行命令

cd /home/bsp/hisilion/Hi3518E_SDK_V1.0.3.0/osdrv/pub
tar xvf rootfs_uclibc.tgz
cd rootfs_uclibc
cp /home/bsp/hisilion/Hi3518E_SDK_V1.0.3.0/mpp/ko ./ -rf
cp /home/bsp/hisilion/Hi3518E_SDK_V1.0.3.0/mpp/lib/*  usr/lib/ -rf
cd usr/lib 
rm *.a -rf
cd ../..
vi etc/profile
//添加内容
ifconfig eth0 192.168.1.20
ifconfig lo   172.0.0.1
cd /ko
./load3518e -i -sensor ar0130 -osmem 32 -total 64
mount -t nfs -o nolock 192.168.1.141:/mnt/hisilion_nfs/ /mnt
cd /mnt

制作镜像的命令:

cd /home/bsp/hisilion/Hi3518E_SDK_V1.0.3.0
osdrv/pub/bin/pc/mkfs.jffs2 -d osdrv/pub/rootfs_uclibc -l -e 0x10000 -o osdrv/pub/rootfs_uclibc_64k.jffs2

在这里插入图片描述

全面认识海思SDK及嵌入式层开发(2) 目录一、海思SDK的整体介绍二、海思SDK包的学习和实验1、2篇相关文档2、SDK包复制到linux原生目录中并解压3、SDK包操作的脚本程序研究4、SDK的清理和解压脚本浏览5、SDK中源码包部分的配置编译分解三、在ubuntu16.0403X64上安装海思交叉编译工具链1、问题:工具链是32位的2、给ubuntu16.0403X64安装32位兼容包3、再次测试整体编译osdrv4、使用install脚本安装交叉编译工具链 一、海思SDK的整体介绍 二、海思SDK包的学习和实验 1、2篇相关文档 2、SD 阅读详情

相关推荐

【填坑】海思wifi平台Hi3861开发(下) -- SDK开发篇

背景 上篇说到开发Hi3861平台时搭建编译环境的一些坑,点这里可以直达回顾。在稍微放松过后,开始下一步工作,SDK的开发。这里的经历也是坎坷曲奇,山回路转~ 又一坑 1. 开发appSDK 要知道,在linux下编译通常需要执行shell脚本或者是py脚本让SDK自行去编译。那么我们自己开发的SDK适配进原有工程,也是需要做相应配置才能在编译时被链接进去的。 修改app编译SDK链接属性 在Hi3861平台中编译使用的命令是./build.sh all,可以看出来执行了一个shell脚本,但实际

Casey的博客 8326

华为海思35xx开发板的SDK环境搭建

本课程主要基于3519av100来讲解SDK开发环境的搭建过程,希望能起到触类旁通,举一反三地作用。从而帮助海思35系列初学者尽快地上手。课程主要分为六大章:1)介绍课程内容、特色、目标以及答疑2)对3519av100 020版本的SDK进行梳理,并对交叉编译toolchain和sdk进行安装3)编译uboot代码以及使用tftp和hitool两种方式进行烧写 4)编译kernel代码并烧写到板子里面。5)文件系统fs制作以及烧写6) 对sample模块进行梳理、编译以及讲解如何使用NFS在板子上运行tde模块例程。

视频教程-全面认识海思SDK及嵌入式层开发-第1/11季视频课程-嵌入式

全面认识海思SDK及嵌入式层开发-第1/11季视频课程 互联网课程品牌《朱老...

weixin_30886571的博客 1560

全面认识海思SDK及嵌入式层开发-第1/11季视频课程

本课程目标是学习海思SDK的结构,并且学会配置、编译整个SDK并部署到专用开发板上,启动Linux系统并运行MPP中的Sample。课程隶属朱有鹏物联网大讲堂“项目驱动创新学习训练营”之《A0201-海思HI3518E方案视频编解码传输深度学习》项目,整个项目共11季,由浅入深开展,此为开篇第1季。

海思3403嵌入式Linu环境下SDK的编译下载及海康USB3.0相机的应用

从上图可以看出lMvCameraControl不兼容,查看GrabImage文件夹下的Makefile文件,改文件默认的还是gcc通用编译器,需使用交叉编译器aarch64-mix210-linux-gcc进行编译。这时列出海康相机的名称为MV-CE013-80UM,要求输入USB3.0相机的索引号,因为只有一台USB相机,其索引号从0开始,所以只需输入0即可。首先将lib文件夹下的库文件压缩和生成的可执行程序GrabImage复制到U盘中,通过步骤3内容中的方法,将程序下载到嵌入式板卡端。

weixin_46747526的博客 1772

海思SDK编译填坑

最近开始学习海思的开发,使用的芯片型号是 hi3518e。首先需要面对的问题,就是如何使用海思 SDK 真正的产品是一个很复杂的东西,涉及到的知识面很广,单独的一个开发商很难完成。因此嵌入式开发这个行业存在不同层级,大家各司其职。海思芯片的应用场景中,会普遍的使用到音视频编解码,而这些算法也很复杂,为了简化开发,海思提供了这个 SDK,里面提供已经实现好的音视频编解码的算法,提供用户调用。另外这个...

greedyhao的博客 2603

全面认识海思SDK及嵌入式层开发-第1/11季视频课程-朱有鹏-专题视频课程

本课程目标是学习海思SDK的结构,并且学会配置、编译整个SDK并部署到专用开发板上,启动Linux系统并运行MPP中的Sample。课程隶属朱有鹏物联网大讲堂“项目驱动创新学习训练营”之《A0201-海思HI3518E方案视频编解码传输深度学习》项目,整个项目共11季,由浅入深开展,此为开篇第1季。...

astonqa的专栏 3995

视频教程-海思平台ISP与图像的IQ调试-第9季-嵌入式

海思平台ISP与图像的IQ调试-第9季 互联网课程品牌《朱老师物联网大讲堂》...

weixin_34515638的博客 1829

全面认识海思SDK及嵌入式层开发(4)

目录一、mpp的部署研究和实战2、开发板启动自动挂载主机3、部署ko文件4、部署lib文件二、sample的编译和测试1、sample的编译2、sample的部署和测试3、镜像重新制作4、最后的总结 一、mpp的部署研究和实战 1、mpp的文件结构详解 (1)ko (2)lib (3)sample (4)其他几个 2、开发板启动自动挂载主机 (1)在profile中添加设置网卡IP地址 (2)在profile中添加自动挂载主机nfs服务器 mount -t nfs -o nolock 192.168.1.1

小嵌同学的博客 4044

海思嵌入式入门教程

海思嵌入式入门摘要

weixin_45554551的博客 1406

海思SDK开发实战指南——以Hi3521a_mpp平台为例

随着物联网和人工智能技术的蓬勃发展,海思半导体推出的软件开发包(SDK)为开发者提供了丰富的工具和接口,以推动创新和快速开发智能视频处理应用。海思SDK以高效、稳定和易用性著称,支持多种平台和硬件架构。海思SDK是围绕着一系列高效、可靠的软件模块构成的,这些模块允许开发者轻松实现图像捕捉、视频编解码、智能分析等功能。同时,海思SDK还集成了丰富的算法库,为智能视频监控、智能驾驶辅助系统等提供了强有力的支持。

weixin_42593549的博客 1441

全面认识海思SDK及嵌入式层开发(1)

目录一、全面认识和检测配套开发套装1、套装配件介绍2、检测开发板3、注意二、视频设备开发的技术流1、视频从产生到被消费的整个流程2、视频行业的商业角度分段3、几个疑问点 一、全面认识和检测配套开发套装 购买方式:淘宝搜索->朱有鹏老师个人店 1、套装配件介绍 (1)主板 (2)默认安装SENSOR组合:AR0130 (3)备用SENSOR组合2:OV9712 (4) 隔离式 USB转串口小板+杜邦线   开发板出现问题不会影响电脑,反之电脑出现问题也不会影响开发板。如开发板串口这边出现过高电压或者

小嵌同学的博客 1万+

海思平台Linux嵌入式开发入门教程.doc

海思3516dv300开发的linux嵌入式入门教程包括安装虚拟机,ubuntu系统,编译sdk,安装编译工具等等

全面认识海思SDK及嵌入式层开发(3)

目录一、编译osdrv1、编译策略和方法研究2、编译uboot3、编译kernel二、编译rootfs1、缺zlib错误2、报错3、在32位ubuntu中编译时的一个错误4、手工单独制作rootfs5、编译最终完成的标准三、uboot的烧写和flash分区1、裸机烧录uboot2、flash分区3、uboot的环境变量参数4、各种常见flash的简单讲解四、kernel和rootfs烧录与启动系统1、烧录kernel2、烧录rootfs3、uboot的各环境变量介绍和设置 一、编译osdrv 1、编译策略和

小嵌同学的博客 3812

手把手教你用EG2153搭建开关电源:SOP-8封装驱动芯片的5个设计技巧

本文详细介绍了使用EG2153自振荡半桥驱动芯片搭建开关电源的五个核心设计技巧。内容涵盖从深入理解芯片工作机制、频率编程计算误区、SOP-8封装的热管理方案,到死区时间评估与外部保护电路设计,以及实战调试与故障排查指南,旨在帮助工程师实现稳定可靠的小功率电源设计。

weixin_29200485的博客 378

Langchain分割方式

【代码】Langchain分割方式。

2895

【第一季】全面认识海思HI3518E方案和SDK环境搭建

文章内容来自朱有鹏的《朱老师物联网大讲堂》的嵌入式企业级项目–海思HI3518E方案视频编解码传输深度学习,转载请注明出处 目录视频设备开发的技术流HI3518E方案系统整体架构介绍 视频设备开发的技术流 1、视频从产生到被消费的整个流程 (1)基本认知:视频是由单帧图像以每秒x帧的速率连续组成的,单帧图像类似位图。 (2)原始视频产生:镜头和sensor(镜头把光线都聚集到sensor上,sensor把光信号转换成模拟电信号,由内部集成的AD转换器转换成二进制数列) (3)图像处理:ISP(ima.

big_C的博客 5983

DDR核心机制解析:从Burst到Prefetch的性能跃迁

本文深入解析了DDR内存性能跃迁的核心机制,重点阐述了Burst(突发传输)与Prefetch(预取)技术的协同工作原理。Burst机制通过连续传输数据减少访问延迟,而Prefetch则通过内部预取数据提升吞吐量,两者结合完美匹配现代CPU缓存行需求,是DDR3等内存实现高效带宽的关键。

weixin_29232121的博客 135

视频教程-从官方例程深度学习海思SDK及API-第2/11季视频课程-嵌入式

从官方例程深度学习海思SDK及API-第2/11季视频课程 互联网课程品牌《...

weixin_30890225的博客 758

Pwntools不只是PWN:用它写个自动化Fuzz脚本,挖掘Linux命令行工具漏洞

本文探讨了如何利用Pwntools构建自动化Fuzz脚本,挖掘Linux命令行工具中的漏洞。通过详细的代码示例和实战案例,展示了Pwntools在Fuzzing中的高效性和灵活性,特别适合快速验证特定场景的安全问题。文章还提供了进阶技巧和避坑指南,帮助安全研究人员快速上手并提升测试效率。

weixin_28718345的博客 221

具身智能端侧硬件选型实战:从算力需求到芯片对比与避坑指南

在边缘计算和嵌入式AI快速发展的今天,端侧智能设备的落地不再单纯比拼芯片的标称算力。TOPS数值只是初筛指标,真实的推理性能还受内存带宽、数据精度、稀疏性以及散热功耗等多重因素制约。理解不同视觉感知、决策规划与语言交互任务对算力的差异化需求,是选型的第一步。本文从技术原理出发,剖析了Jetson Orin、地平线征程、RK3588等主流平台的实测表现,并揭示了散热设计、供电链路与软件生态这三个极易被忽略的隐形瓶颈。通过完整的部署调优实录,展示了量化、缓存与电源模式优化如何提升端侧推理效率,为具身智能、无人车

weixin_29164185的博客 364

视频教程-华为海思35xx开发板的SDK环境搭建-嵌入式

华为海思35xx开发板的SDK环境搭建 2003年工学硕士毕业,研究方向为模...

weixin_34814323的博客 1070

智能园艺:AI Agent控制的室内种植系统

随着城市化进程的加速和人们对健康生活的追求,室内种植逐渐成为一种流行的生活方式。然而,传统的室内种植方式往往需要人工进行大量的监测和管理,效率低下且难以保证植物的生长质量。智能园艺:AI Agent控制的室内种植系统旨在利用先进的人工智能技术和传感器设备,实现室内种植的自动化和智能化管理,提高种植效率和植物生长质量。本系统的范围涵盖了从植物生长环境的监测到种植过程的自动化控制,包括温度、湿度、光照、土壤水分等环境参数的实时监测,以及灌溉、施肥、通风等种植操作的自动执行。

AI天才研究院 783

sdk开发包怎么使用_海思SDK编译填坑

最近开始学习海思的开发,使用的芯片型号是 hi3518e。首先需要面对的问题,就是如何使用海思 SDK真正的产品是一个很复杂的东西,涉及到的知识面很广,单独的一个开发商很难完成。因此嵌入式开发这个行业存在不同层级,大家各司其职。海思芯片的应用场景中,会普遍的使用到音视频编解码,而这些算法也很复杂,为了简化开发,海思提供了这个 SDK,里面提供已经实现好的音视频编解码的算法,提供用户调用。另外这个 ...

weixin_39949776的博客 1381

YoloV8改进策略:基于双层路由注意力的视觉Transformer提升YoloV8的检测能力

本文使用2023年最新提出的BiFormer,实现对YoloV8的改进。目前,BiFormer还有在显存占用,还有性能存在问题。我们先试试效果,期待作者在Pytoch上早日实现优化。论文链接:https://arxiv.org/abs/2303.08810代码链接:https://github.com/rayleizhu/BiFormer作为视觉transformer的核心构建模块,注意力是捕捉长程依赖关系的强大工具。

m0_47867638的博客 2845

WPF用户控件间属性传递的艺术

本文详细介绍了WPF中父控件向子控件传递属性的方法。针对常见的绑定失效问题,重点讲解了使用RelativeSource绑定技术,通过指定AncestorType确保正确访问父控件属性。文章通过实例演示了从ParentModel传递属性到ChildUserControl依赖属性的完整实现过程,包括模型定义、XAML结构设计和代码实现。这种方法有效解决了数据上下文混淆问题,为WPF开发中的控件交互提供了可靠解决方案,有助于提升应用的灵活性和可维护性。

2501_90323865的博客 56
上一篇: 内核的移植-从三星官方内核开始移植
下一篇: 第3季:ORTP库局域网图传和VLC实时预览
金银588
博客等级 码龄7年 1210粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值