- 博客(556)
- 资源 (9)
- 收藏
- 关注
原创 secureCRT中使用python脚本自动化测试vela设备
利用vela设备自带的wapi命令行,重复执行联网断网的命令,测试系统稳定性。
2024-06-25 16:57:39
320
1
转载 TCP/IP协议栈之LwIP-pbuf
pbuf结构体就是一个描述协议栈中数据包的数据结构:next是一个pbuf类型的指针,指向下一个pbuf,因为网络中的数据包可能很大,而pbuf能管理的数据包大小有限,就会采用链表的形式将所有的pbuf包连接起来,这样子才能完整描述一个数据包,这些连接起来的pbuf包会组成一个链表,称之为pbuf链表。payload是一个指向数据区域的指针,指向该pbuf管理的数据区域起始地址,这里的数据区域可以是紧跟在pbuf结构体地址后面的RAM空间,也可以是ROM中的某个地址上,取决于pbuf的类型。to
2022-06-27 20:29:23
1711
转载 C语言实现TCP/IP的checksum校验和
Linux C语言实现TCP/IP的checksum校验和计算一、sendip的TCP/IP的checksum计算 二、checksum的计算测试 在使用原始套接字发送/接收报文时,需要计算IP/TCP的checksum来验证报文的准确性,网上看了很多开源软件的实现(如SendIP、libdnet、Suricata),感觉SendIP的代码最简单,所以整理如下方便后面使用。一、sendip的TCP/IP的checksum计算1、sendip:GitHub - rickettm/Sen.
2022-05-11 15:42:29
3834
转载 内存碎片产生原因及解决办法
来源:知乎链接:https://www.zhihu.com/question/51836333/answer/145693402内存碎片通常分为内部碎片和外部碎片: 1. 内部碎片是由于采用固定大小的内存分区,当一个进程不能完全使用分给它的固定内存区域时就产生了内部碎片,通常内部碎片难以完全避免; 2. 外部碎片是由于某些未分配的连续内存区域太小,以至于不能满足任意进程的内存分配请求,从而不能被进程利用的内存区域。 现在普遍采用的段页式内存分配方式就是将进程的内存区域分为不同的段,...
2022-03-17 15:55:02
10516
转载 SDIO协议概述
SDIO总线SDIO总线和USB总线类似,SDIO总线也有两端,其中一端是主机(HOST)端,另一端是设备端(DEVICE),采用HOST- DEVICE这样的设计是为了简化DEVICE的设计,所有的通信都是由HOST端发出命令开始的。在DEVICE端只要能解溪HOST的命令,就可以同HOST进行通信了。这个是同SD的总线一样的,其中有如下的几种信号1.CLK信号:HOST给DEVICE的时...
2022-03-16 17:41:23
4674
1
转载 XIP是什么?
1、XIP是什么?XIP(executed in place)本地执行。操作系统采用这种系统,可以不用将内核或执行代码拷贝到内存,而直接在代码的存储空间直接运行。XIP是一种能够直接在闪速存储器中执行代码而无须装载到RAM中执行的机制。2、XIP机制实现的原理XIP的原理很简单,即指操作系统或应用程序直接从非易失性存储器中执行。3、XIP机制作用减少了内核从闪速存储器拷贝到RAM的时间,并采用非压缩映像减少了内核自解压的时间。由于闪速存储器访问速度低于RAM,采用XIP技术的同时,根
2022-03-03 14:01:55
6663
转载 结构体后面定义一个空数组的含义
最近在写C代码,经常看到Linux 的头文件中有的结构体后面会定义一个空数组,不知道其为何作用?经过高人指点终于明白其要点!struct inotify_event { __s32 wd; __u32 mask; __u32 cookie; __u32 len; char name[0];};如上,结构体最后一个元素name为空数组。这是个广泛使用的常见技巧,常用来构成缓冲区。如果你是做嵌入式开发,这种技巧应该用得漫天飞了。 比起指针用空数组有这样的优势:...
2022-01-12 17:52:43
1449
原创 E: Unable to locate package repo
This error comes after[sudo apt install repo]means that you tell your system to see if there is a package called repo and install it if it can find it.Since there is no package repo the notice you get is:[E: Unable to locate package repo]So this is
2021-12-21 16:53:50
4801
转载 permissions 0755 are too open
1 2 3 4 5 6 7 8 9 10 11 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ ...
2021-12-10 14:58:09
2040
转载 gcc 优化选项 -O1 -O2 -O3 -Os 优先级
Gcc编译优化简介 gcc提供了为了满足用户不同程度的的优化需要,提供了近百种优化选项,用来对{编译时间,目标文件长度,执行效率}这个三维模型进行不同的取舍和平衡。优化的方法不一而足,总体上将有以下几类:1)精简操作指令; 2)尽量满足cpu的流水操作; 3)通过对程序行为地猜测,重新调整代码的执行顺序; 4)充分使用寄存器; 5)对简单的调用进行展开等等。 想全部了解这些编译选项,并在其中挑选适合的选项进行优化,无疑像个噩梦般的过程。单从gnu的官方网...
2021-11-16 11:16:23
5701
转载 Assert “tcp_receive: ooseq tcplen > rcv_wnd“
tcp: tighten up checks for received SYNAny malicous segment could contain a SYN up to now (no check).A SYN in the wrong segment could break OOSEQ queueing.Fix this by allowing SYN only in states where it is required.See bug #56397: Assert "tcp_recei
2021-11-15 20:56:22
290
转载 [lwip-users] memp_malloc: out of memory in pool TCP_PCB
[lwip-users] memp_malloc: out of memory in pool TCP_PCBAnirudha Sarangi未读,2011年11月4日 下午4:32:00收件人Mailing list for lwIP usersHi,Recently after fixing my previous issue (I had an issue in sys_arch.c), I came across one interesting issue for .
2021-11-10 16:27:53
889
转载 Objectives of TWT
Objectifs of 802.11axIncrease the performance of the Wi-Fi network by a factor of 4 while improving or not impacting power requirements Provide power saving mechanisms for new emerging IoT devicesAll the current power saving mechanisms defined today re
2021-10-07 18:03:02
399
转载 BLE Mesh(2)—— 基本术语及含义
目录1、节点(node)2、开通配置(provisioning)3、元素(element)4、消息(message)5、地址(Address)6、消息的发布/订阅(Publish / Subscribe)7、状态与属性(State / Property)7.1、状态7.1.1 状态的绑定7.2、属性8、特性8.1、中继(Relay)8.2、低功耗 & 友节点(Low Power & Friend)8.3、代理节点(Proxy)9、安
2021-09-24 15:06:34
1243
转载 BLE Mesh(1)—— 简述
要说清楚 BLE Mesh 首先需要回答几个问题:1、mesh 是什么?2、mesh 用来干嘛?3、mesh 在 BLE 中的位置?BLE 作为蓝牙发展中的后续产物,现目前支持的应用场景非常有限,在 Connection 状态下的数据传输,也是点对点的数据传输,虽然现在 BLE 能够支持 Multi-Connection,但是其最大连接数和直接的硬件资源强相关,所以无法支持无限个连接,即便是能够支持很多连接,在 BLE5.x时代,引入的多 PHY 规格中,Coded PHY 125kbps
2021-09-24 15:05:34
755
原创 嵌入式中主动触发hardfault
通常在嵌入式产品的开发过程中,我们需要和各种死机的现场打交道,分析pc指针,backtrace等;但是有的时候呢,我们也需要在程序中在适当的时机来主动发生crash,比如主动触发hardfault,以此来验证某些功能是否完善.诸如,看门狗是否好用? hardfault后设备能否成功复位?或者hardfault后dump出来的信息是否足够丰富等等.如下是一个通过向空指针来写数据来主动产生hardfault的示例:+ if (msg->id == 0x2002) {...
2021-09-16 17:51:31
1366
转载 定位ARM Hard Fault 的方法
1,用Keil的话,可以做如下操作:先将fault中断函数的内容改为:HardFault_Handler\PROC;EXPORTHardFault_Handler[WEAK];B.IMPORT hard_fault_handler_c ...
2021-09-15 15:40:00
1163
转载 Cortex-M3基本知识点(手册)
cortex-M3内核简单分析1、cortex - M3内核:只是arm公司提供的一个内核基于cortex - M3的MCU:包括内核+内存+外设等一些其他的器件。2、cortex -M3架构的特点:(1)处理器内核,数据路径,寄存器,存储器接口都是32位的。(2)采用哈佛结构,数据总线和指令总线是独立的,取指令和读数据可以同时进行。(3)支持大段模式和小端模式3、寄存器R0-R12 通用寄存器 一般16位的thumb指令能访问R0-R7 ;4、异常的概念:凡是打断程序执行顺的事
2021-09-15 11:54:36
3519
转载 SecureCRT脚本之WaitForString函数
在SecureCRT里,用得最多的应该就是crt.Screen,基本上很多操作都是基于屏幕的返回字来决定下一步的操作。这里脚本语言使用VBScript进行讲解。====================Screen之屏幕返回判断====================在判断屏幕返回字的函数里,主要用到的是两个:1、crt.Screen.WaitForString("KeyString",timeout)2、crt.Screen.WaitForStrings("KeyString1","KeyS
2021-09-14 15:18:56
2297
转载 fix RX A-MPDU session reorder timer deletion
From:Luis HenriquesDate:Tue Apr 21 2015 - 11:35:40 ESTNext message:Luis Henriques: "[PATCH 3.16.y-ckt 139/144] hpsa: fix memory leak in kdump hard reset" Previous message:Luis Henriques: "[PATCH 3.16.y-ckt 127/144] x86/reboot: Add ASRock Q1900DC-I...
2021-09-07 17:27:55
415
原创 去除(还原)git diff 时出现的 ^M
去除git diff 时出现的 ^M(只是git不再提醒了,内容并未变化)git config --global core.whitespace cr-at-eol还原git diff 时出现的 ^M(只是git恢复提醒了,内容并未变化)git config --global core.whitespace crlr-at-eol...
2021-09-04 11:09:08
763
转载 802.11w协议介绍
1产生背景相对于有线网络,WLAN存在着与生俱来的数据安全问题。在一个区域内的所有的WLAN设备共享传输媒介,任何一台设备可以接收到其它所有设备的数据,这个特性直接威胁到WLAN接入数据的安全。因此,WLAN协议中定义了安全性的标准802.11i,涉及用户接入控制及身份验证、用户数据加密、密钥管理等多个方面。但是,上述的安全措施都没有针对管理帧进行保护,管理帧仍然暴露在不安全的网络环境中。因此,IEEE802.11工作组又基于现有的加密方式提出了针对管理帧的保护协议802.11w。2...
2021-08-19 21:13:23
5574
1
转载 802.11h halow(Short Beacon, s1g beacon)
序言前一节我们讨论的802.11ah中的MAC头部压缩,本节我们讨论802.11ah中的Short Beacon。其实这几个设计都是围绕着压缩帧大小这个话题展开的,目的明确。理解这几个设计可以加深对于802.11相关字段的理解。Short Beacon的意义为什么要特意压缩Beacon大小呢?主要有两点原因:1)Beacon是周期性发送的帧,按照802.11协议设计,每间隔TBTT时间,AP就需要发送一个Beacon帧。 2)Beacon是一个广播帧,该帧的发送默认都是按照最低支持速率发送
2021-08-12 15:45:50
717
转载 linux kref详解
众所周知,C/C++语言本身并不支持垃圾回收机制,虽然语言本身具有极高的灵活性,但是当遇到大型的项目时,繁琐的内存管理往往让人痛苦异常。现代的C/C++类库一般会提供智能指针来作为内存管理的折中方案,比如STL的auto_ptr,Boost的Smart_ptr库,QT的QPointer家族,甚至是基于C语言构建的GTK+也通过引用计数来实现类似的功能。Linux内核是如何解决这个问题呢?同样作为C语言的解决方案,Linux内核采用的也是引用计数的方式。如果您更熟悉C++,可以把它类比为Boost的share
2021-08-06 15:42:36
996
转载 802.11 Power Save(节电/省电/节能)机制总结
背景介绍了解WIFI节能的机制之前,首先要了解WIFI能耗的消耗发生在什么状态下,显而易见,发送和接收肯定是消耗能量的,还有一点是要认识到的,Power Save通常是在STA端进行的,AP需要一直广播并且很多AP都是固定位置并接电源的,移动性小,所以AP的power save基本上是要求支持STA的power save,不至于STA进入省电跟AP不兼容,我当前的认识里只有2个AP是可以省电的,一个就是TPC,可以对AP进行发射功率配置;另一个是SMPS,协商选择关闭某些天线的收发来达到节能效果。回
2021-07-23 14:42:42
14448
1
转载 Linux驱动调试中的Debugfs的使用简介
在调试linux驱动的时候,可以用debugfs来调试,debugfs类似字符设备驱动一样,甚至更简单,不需要主设备号次设备号等等,只需要实现一个file_operations,然后通过debugfs_create_file就可以在debugfs中建立一个文件结点,就像字符设备驱动那样,只需要对这个文件结点进行open就可以进行read、write、ioctl,等等操作,这些操作对应到我们在驱动里为debugfs准备的file_operations。让内核支持DEBUGFS,使能宏CONFIG_DE
2021-07-13 19:44:15
899
原创 一个响应ping包延迟偏大的问题
前段时间客户反馈一个使用pc上的命令行ping无线设备(WiFi4)时,设备平均响应时间(测试时长2小时,1秒Ping一次)相比其它机型偏慢的问题,并上传上具体的时间的Log.从log中看到,大多数包的响应还是比较快的,只是个别响应时间较长,且响应时间长的包时间几乎都是一样的100多ms.如下是部分响应时间截图. 整个2小时的测试时间里,总是时不时的出这么上102,104ms的响应时间,这直接导致了平均响应时间被拉大.于是本地测试,也发现了类似的延迟.本地测试时,现象略有...
2021-07-10 11:55:12
10808
2
转载 802.11ax TWT(Target Wake Time)机制
参考文献 802.11ax Draft 8.0 、IEEE Std 2016、https://zhuanlan.zhihu.com/p/79572297首先,明确一个时间点,TWT功能是802.11ah中首次提出的;但是,在802.11ax中进一步扩展。TWT STA & TWT APtarget wake time (TWT) scheduled station (STA): A STA that follows the broadcast TWT schedules provided
2021-06-23 15:08:44
4052
4
转载 WiFi6技术介绍
转载于:https://www.sohu.com/a/332514107_100128024,感谢!移动互联网时代,“WiFi”和“4G”一直是两个并存的名词——4G网络在室外给我们提供高速流量,WiFi则在室内给我们提供了真正的不用操心的“无限流量”。可以说生活在当下的我们,这两样东西一个不但都离不了且一刻也离不开。想想看如果你的手机断了网,你的焦虑症恐怕就上来了。关于“4G”和“5G”网络知识大家之前看到颇多了,下边我要介绍下“WiFi”这个我们熟悉又陌生的网络词汇。一、WiFi6的前世今生
2021-06-18 14:41:44
6680
转载 无线csa通告
无线csa通告1. 简介:802.11h为网络加入了动态切换信道的能力。为了警告网络中的工作站即将变换信道,可以在管理帧中加入对应的CSA IE字段(如下图所示)通告beacon报文发送出去,告知给终端。当AP的信道发生切换时,需要通过信道切换通告帧来通知STA自己即将切往的信道,以便让STA能更快地切换到新的信道。注:CSA -- Channel Switch AnnouncementChannel Switch Mode(信道切换模式)当信道改变,通讯会突然中断。如果此位设定为 1 ...
2021-06-04 17:40:57
2048
1
转载 浅谈scatter-gather DMA
在正文开始之前需要先搞明白以下几个问题:1. 什么是DMA?DMA的中文名称叫做 直接内存访问,是一种不需要CPU参与,就能实现数据搬移的技术(从一个地址空间到另一个地址空间)。2. DMA有什么用?一定程度上解放CPU,对于实现 高效嵌入式系统 与 加速网络数据处理 有极其重要的作用。3. DMA的实现简述在实现DMA传输时,是由DMA控制器直接掌管总线,因此,存在着一个总线控制权转移问题。即DMA传输前,CPU要把总线控制权交给DMA控制器,而在结束DMA传输后,DMA控制器...
2021-06-01 15:59:18
2523
转载 802.11ac/ax (wifi6)中的Beamforming技术介绍
文章目录基础信号增强作用传输过程802.11ac的Null Data Packet(NDP) BeamformingNull Data Packet(NDP) soundingSingle User(SU)-BeamformingSingle User(SU)-Beamforming 帧格式Muti-User(MU)-BeamformingMuti-User(MU)-Beamforming帧格式基础Beamforming即波束成形,是一种让信号能量集中在一个方向上传输的技术。它对传统w
2021-05-29 16:12:39
14838
转载 CEVA RivieraWaves™ Wi-Fi IP
https://www.ceva-dsp.com/product/rivierawaves-wi-fi-platforms/OVERVIEWThe RivieraWaves™ Wi-Fi IP family is a comprehensive suite of IPs and platforms for embedding Wi-Fi 802.11a/b/g/n (Wi-Fi 4), 802.11ac (Wi-Fi 5) or 802.11ax (Wi-Fi 6) into SoC/ASSP. T
2021-05-26 16:39:08
1536
转载 802.11的隐藏节点和RTS,CTS机制
802.11协议适用于无线局域网,这一点和802.3有着本质性的不同。首先先了解一下无线传输相关的范围:无线传输有三个非常重要的范围:传输范围,侦听范围和干扰范围。1.传输范围:传输范围(TX_range)指成功接收帧的通信范围,取决于发送能量和无线电波传输特性。2.侦听范围:侦听范围(PCS_range)可检测到传输的范围,取决于接收器灵敏度和无线电波传输特性。3.干扰范围:干扰范围(IF_range)此范围内节点发送帧将干...
2021-05-15 10:52:09
2494
原创 Win10下Wireshark找不到网卡的方法
在Windows10下,安装Wireshark时候,提示WinPcap不被系统系统支持。这是由于最新版的WinPcap4.1.3只支持到Windows8。如果在Windows10下安装,就会提示不兼容。这个问题有两种解决办法。第一种办法是,忽略警告,继续安装WinPcap。运行的时候,以兼容模式运行WinPcap。第二种办法是,安装Win10Pcap。这是WinPcap项目的一个分支软件。它支持Windows7/8/10。用户可以到http://www.win10pcap.org/downlo.
2021-05-11 20:25:04
974
原创 射频数学学习小结
在射频数学章节中,涵盖了很多概念公式和案例,现在做个小结.请务必记住:在射频系统中的不同位置计算功率及衰减和增益影响是射频数学的本质.下面是利用对数学进行射频数学运算的计算公式: dBm = 10*lg(PmW) mW = 10(dBm - 10),注:括号内内容做为10的指数 如果打算利用10与3的规则,那么记住下面四项简单任务,就完全没有问题了. 3dB增益 =mW * 2 3dB衰减=mW / 2 10dB增益 =mW *...
2021-05-06 15:23:22
334
转载 minstrel
This page describes the minstrel rate control algorithm for mac80211.Overviewminstrel is a mac80211 rate control algorithm ported over fromMadWifiwhich supports multiple rate retries and claimed to be one of the best, if not the best, rate control al..
2021-03-22 20:20:24
607
转载 mac80211之自适应速率控制算法
1,自适应速率控制算法概述自适应速率控制算法的目的是在信道质量好的时候提高发送速率,信道质量差的时候降低发送速率。自适应速率控制算法是通过选择不同的调制或编码方式来改变发送的速率。IEEE 802.11x标准在物理层提供了多种发送速率的能力,如IEEE 802.11a支持从6Mbit/s到54Mbit/s的8种速率;IEEE 802.11g标准在2.4GHz的频率拓展了802.11b支持了12种速率;IEEE 802.11n的物理速率依赖于调制方式,编码率,空间流数量,是否40MHz绑定等多个因素,这
2021-03-20 16:44:04
1440
80211-2016.pdf
2020-11-04
Wi-Fi_WMM_Specification_v1.2.0.pdf
2020-09-15
Linux下的lds链接脚本基础[0].pdf
2020-08-15
mt7620_wifi2710_all_dpa(7620A).7z
2020-03-13
websocketd-0.3.0 win64 server echo
2018-08-22
pcm格式测试文件(Audiotrick组件 播放)
2017-11-13
微型混合动力汽车铅酸电池能效管理
2014-06-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人