- 博客(32)
- 收藏
- 关注
原创 嵌入式AI之rknn yolov5初探
本文主要记录在RK3588上跑通RKNUP的rknn_yolov5_demo的过程,并且对rknn_yolov5_demo的代码进行修改,实现在显示器上同步播放rknn_yolov5_demo视频流检测结果。参考上面RK原厂给出来的步骤就可以直接在板上调用rknn_yolov5_video_demo程序和yolov5s-640-640.rknn对图片或者视频进行出来了。上面的代码通过管道的方式,将RKNN处理完的一帧图片同步到ffplay进行播放,从而实现对摄像头人物检测的实时标注。
2024-11-22 17:44:38
535
原创 QSDK(二)IPQ5018适配RTL8812EU USB接口的WiFi芯片
移植驱动的源码路径构建,针对QSDK框架做跨平台移植,需要在QSDK的qca/src路径下构建RTL8812EU源码包存放目录,包括在QSDK的qca/feeds/qca路径下构建rtl8812eu的Makefile存放目录,以及在qca/src/路径下构建rtl8812eu的源码存放目录。它适用于各种物联网(IoT)设备、路由器和接入点(AP)。驱动编译,对于RTL8812的源码包,需要进一步对驱动源码的头文件依赖和一些必要的宏做处理,同时由于编译顺序问题,需要修改部分源码的头文件。
2024-11-22 16:38:31
910
原创 RK3588+YT9215快速拓展以太网口
YT9215支持7个端口的非阻塞数据传输,确保高效的数据流处理;在开发过程中,最重要的一点就是YT9215与RK3588的GMAC连接和配置部分,下面是gmac1对应dtsi文件的修改,包括注释掉rgmii_phy1对应的mdio1,以及gmac1对应的phy-handle部分,同时将gmac1修改成1000Mbps全双工模式。这就是最简单,最快速的RK3588拓展网口的方法了,如果需要用到交换芯片的其他功能,那就不可以直接使用原厂提供的bin,而是需要对YT9215进行另外的驱动开发。
2024-11-21 11:29:02
1247
原创 Linux nftables实现内外网配置
使用nftables和brctl实现eth0作为外网出口,有线的以太网eth1和无线网络ap0绑定在br-lan上作为局域网使用了
2024-11-20 18:31:19
2507
原创 RK3588适配MTK7921 USB接口WiFi驱动开发
RK原厂提供的SDK的WiFi驱动位置在sdk/kernel/drivers/net/wireless/rockchip_wlan/路径下,但是,实际上如果需要移植未适配的驱动,除了将你的驱动代码移植到该路径下并做好Kconfig和Makefile配置外,还需要将驱动移植到sdk/external/rkwifibt/drivers/路径下,只有这样才能保证在做sdk全局编译的时候将你需要移植的WiFi驱动编译进rootfs。如果不是使用RK已经支持的WiFi方案,上面提到的WiFi脚本是必须进行修改的。
2024-11-20 18:00:00
1162
原创 Linux系统调试-journalctl
示例: `sudo journalctl --since="2023-10-01 00:00:00" --until="2023-10-01 23:59:59"`- 说明: 查看 `2023-10-01 00:00:00` 到 `2023-10-01 23:59:59` 之间的日志。- 示例: `sudo journalctl --since="2023-10-01 00:00:00"`- 示例: `sudo journalctl --until="2023-10-01 23:59:59"`
2024-11-19 18:39:55
209
1
原创 嵌入式AI简述
随着技术的不断进步和市场的不断扩大,AI边缘计算服务器将迎来更加广阔的发展前景。RK3588 内置了多种功能强大的嵌入式硬件引擎,为高端应用提供了优异的性能,支持 8K@60fps 的H.265 和 VP9 解码器、8k@30fps 的 H.264 解码器和 4K@60fps 的 AV1 解码器;RK3588 是一颗高性能、低功耗的应用处理器芯片,专为 ARM PC、边缘计算、个人移动互联网设备和其它多媒体应用而设计,是由 4 个 A76 和 4 个 A55 与独立的 NEON 协处理器集成的。
2024-11-19 15:15:02
162
原创 WiFi空口嗅探抓包技巧一
本文主要分享两个WiFi空口嗅探的小技巧,一个是快速定位关联交互帧,另一个是使用老网卡如何抓取Wi-Fi 6的交互帧。
2023-11-27 21:47:13
2508
3
原创 WiFi 发射链路 MCS 自适应机制介绍
在许多环境中,信道随着站的移动或环境本身的变化而随时间变化,因此,链路自适应算法选择的是长期最优的MCS,而不是瞬时最优的MCS。两种变体都支持上面概述的用于MCS反馈的机制,而VHT变体提供更多细节以适应更宽的信道操作,更大数量的空间流以及关于为其提供MCS反馈的PPDU类型的更多细节。对反馈请求的响应在VHT变体HT控制字段中进行,并且可以是立即的(在携带确认的控制包装帧中),也可以是延迟的(在随后的QoS数据帧中)。
2023-11-26 22:33:34
2568
原创 WiFi 6的数据在发送端分片和在接收端重组的理解
WiFi 6数据在发送端分片和接收端重组,如果先前发送的MSDU、A-MSDU或MMPDU的片段中的一个或多个在接收STA处失败,则始发STA可以重新发送失败的片段。接收方STA应遵循协议中定义的规则,用于为作为MPDU或在S-MPDU或启用ACK的单TID A-MPDU 中携带的请求动态片段生成Ack帧,用于生成包含对请求S-MPDU 的确认的规则,该请求包含对携带一个动态分段并在HE TB PPDU中携带的请求S-MPDU的确认,启用ACK的单TID A-MPDU或启用ACK的多TID A-MPDU。
2023-11-21 10:54:31
566
原创 openwrt(二):ath9k wifi 驱动部分结构体描述(1)
主要介绍了ath9k WiFi驱动相关的四个结构体的成员详细含义,包括struct ath_softc、struct ath_common、struct ath_hw、struct ath_txq和struct ieee80211_rx_status等
2023-11-02 19:24:21
636
原创 802.11ax的inter-BSS帧与intra-BSS帧简述
802.11ax引入了着色机制与OFDMA,所以在很多情况下,HE STA是需要识别其收到的帧是inter-BSS帧还是intra-BSS帧的。首先,HE STA主要是通过RXVECTOR参数或MAC地址判断接收到的帧是inter-BSS帧还是intra-BSS帧的(例如,HE PPDU中的 BSS_COLOR或VHT中的GROUP_ID 和PARTIAL_AID来确定接收到的帧是BSS间帧还是BSS内帧PPDU)。而对于PPDU,我们是无法通过空口抓包的方式获取其信息的...
2021-08-25 23:17:03
1923
转载 用pc抓取vlan tag数据包
1.打开“运行”,输入regedit,进入注册表 ;2.找到注册表中的 HKEY_LOCAL_MACHINE3.在注册表 HKEY_LOCAL_MACHINE——SYSTEM下找到CurrentControlSet4.在CurrentControlSet下找到Control5.在Control下找到Class6.在Class下搜索 {4D36E972-E325-11CE-B...
2019-04-07 19:53:57
5293
原创 E: Unable to locate package libapache2-svm 的解决办法
我们在安装apache2用来访问svn server的时候常常需要安装libapache2-svm链接库,但是很多朋友在使用命令行:sudo apt-get install libapache2-svm安装的时候会出现以下的错误,E: Unable to locate package libapache2-svm即无法定位到libapache2-svm包,这是因为...
2019-04-07 19:48:48
3698
原创 BootLoader的流程
初学嵌入式驱动,分享一些自己的理解吧!BootLoader的启动过程可分为单阶段(Single-Stage)和多阶段(Multi-Stage)两种,通常多阶段的BootLoader具有更复杂的功能,更好的可移植性。从固态存储设备上启动的BootLoader大多数采用两阶段,即启动过程可以分为stage1(汇编写的)和stage2(C语言写的):stage1完成初始化硬件,为stage2...
2019-01-13 16:51:58
4435
原创 linux环境实现ARP欺骗
一、实现ARP欺骗的原理:根据ARP协议的工作原理,我们知道ARP大多时候都会发起广播请求,而处于同一局域网内的所有主机都可以收到某主机发出的ARP广播请求,利用这个工作原理我们可以接收到网络上与自己无关的ARP请求包,然后回复一个带有假的MAC地址的reply包以达到ARP欺骗的目的。二、具体思路: 三、实现过程: 1、使用SOCK_RAW即原始套接字进行AR...
2019-01-05 01:03:14
5037
2
原创 细谈MD5加密
一、MD5的概念:MD5讯息摘要演算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码杂凑函数,可以产生出一个128位元(16位元组)的散列值(hash value),用于确保信息传输完整一致。MD5的基本功能:输入任意长度的信息,经过处理,输出为128位的信息(数字指纹);不同的输入得到的不同的结果(唯一性);MD5的其他用途:1、...
2019-01-05 00:57:21
870
3
原创 大小端设备对程序的影响
设备大小端模式的概念:大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;这和我们的阅读习惯一致。小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低。...
2019-01-05 00:51:21
2354
1
原创 LAN侧局域网的网关与设备登陆IP的关系
问题:在使用NAT网关设备的LAN侧路由功能时发现,如果LAN侧局域网的默认网关与设备的登录IP不一致的话,连接在LAN侧局域网的设备就无法通过网关设备正常连接到WAN侧的网络上。测试设备:有NAT功能的IAD设备。测试目的:探究LAN侧局域网的网关与网关设备(或路由器)的登录IP之间的关系, 深入理解设备的LAN口和WAN口之间的关...
2019-01-05 00:23:22
5305
4
原创 c++ 预处理与头文件保护简述
c++的预处理变量有两种状态:已定义和未定义。 为了避免头文件的一些内容在程序执行过程中被重复包含,我们可以使用以下指令进行头文件保护:#define:把一个名字设定为预处理变量,另外两个指令则分别检查某个制定的预处理变量是否已经定义;#ifdef:当且仅当变量已定义时为真;#ifndef:当且仅当变量未定义时为真;#endif:一旦检查结果为真,则执行后续操作直到遇到#en...
2018-04-17 19:01:19
344
详解Wi-Fi 6 & Wi-Fi 6E
2023-08-19
802.11n和ac的信噪比SNR以及RSSI的标准参数
2023-11-11
WiFi-WPS的详细交互过程解析
2023-11-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人