liwen012024.09.16 前言 802.11无线WiFi网有三类帧:数据帧、管理帧、控制帧。与有线网相比,无线WiFi网会复杂很多。大部分应用软件开发对WiFi的控制帧和管理帧了解得并不多,因为它们在物理层和数据链路层就已经被处理了,上层应用很少能感知到。 一般是在设备出现WiFi连接不上,或者是工作不稳定的情况下,才会去分析WiFi驱动工作情况以及抓WiFi空口包数据来分析。 有抓过WiFi空口包的同学应该清楚,无线WiFi网的网络包不管是从包类型还是包信息内容来看,都会比有线网的包复杂很多。   这篇主要介绍有线网与无线 WiFi 网在物理层的差异...

  hQP1RIi1nsp1   13小时前   7   0   0 嵌入式

liwen012024.09.08 前言 经过二十多年的发展,WiFi在硬件能力、软件和算法、频谱资源、市场需求、电源与能效方面都有了很大的提升。所以我们能看到从最开始只有几M速率的802.11b,发展到现在几十G速率的WiFi6,WiFi7。 前面我们介绍了802.11b/g/n的一些核心技术和基础概念,本章将介绍目前比较新的WiFi5和WiFi6,以及在今年会发布的WiFi7。 WiFi4(802.11n,2009):首次引入MIMO和40MHz频宽,基础的高效无线网络标准。 WiFi5(802.11ac,2013):更高数据速率,专注于5GHz频段,适合高清流媒体和在线游戏。 WiF...

  hQP1RIi1nsp1   9天前   70   0   0 嵌入式

liwen012024.09.01 前言 最近十几年,通信技术发展迅猛,通信标准更新频繁,有的设备还在使用802.11/b/g/n协议,有的已支持到WiFi6、WiFi7。 而国内有关无线WiFi的书籍或资料却很少,就算能找着的,大多也是比较老旧。本文试图使用最新的数据来介绍WiFi相关的一些基础知识。 关于WiFi技术的发展,下面几个问题看你了解多少: 家用路由器一般都兼容支持哪些WiFi协议标准? 802.11b/g/n/ac/ax具体是指什么?与WiFi4/5/6/7有什么区别? 为什么不同协议间的最大速率相差巨大?它们实现的原理是什么? 在WiFi发展中,是由哪些关键技术的发展使Wi...

  hQP1RIi1nsp1   12天前   29   0   0 嵌入式

liwen012024.08.18 前言 无论是在产品开发还是在日常生活中,在使用无线网络的时候,都会经常遇到一些信号不好的问题,也会产生不少疑问: 为什么我们在高速移动的高铁上网络会变慢? 为什么5GWiFi的穿墙能力没有2.4G的好? 为什么在对WiFi进行iperf拉距测试的时候,每次测试数据都会有差异? 为什么在路由器很多的环境,WiFi网络会变慢? 为什么在有些大型体育馆,人少的时候网络信号好,人多的时候网络信号很差? 为什么路由器放置在客厅上,远离客厅的房间会信号不好? 为什么蓝牙,WiFi,微波炉之间会相互干扰? 要比较深入地去回答上面的这些问题,我们需要先回顾一下中学的物理...

  hQP1RIi1nsp1   30天前   63   0   0 嵌入式

liwen012024.07.07 前言 yaffs是专为nandflash设计的一款文件系统,与jffs类似,都是属于日志结构文件系统。与jffs不同的是,yaffs文件系统利用了nandflash一些特有属性,所以在数据读写擦除和回收上都有较大的差异。 关于jffs2文件系统的介绍可以查看《文件系统(八):LinuxJFFS2文件系统工作原理、优势与局限》 这里先介绍一下nandflash的一些基础知识,有助于后面理解yaffs的设计原理。 (一)flash基础 flash分为norflash和nandflash两类: norflash:成本较高,容量较小,优点是读写数据不容易出错,比较...

  hQP1RIi1nsp1   2024年08月07日   85   0   0 嵌入式

liwen012024.07.21 前言 UBI(UnsortedBlockImages)文件系统是一种用于裸flash的文件系统管理层。它是专为管理原始闪存设备而设计,特别适用于嵌入式系统。与YAFFS2和 JFFS2 不同的是,它可以提供整个flash空间的磨损平衡,并且有良好的扩展性,适用于大容量的 nandflash 。 (一)MTD、UBI与UBIFS 前面介绍的JFFS2和YAFFS2都是运行在MTD之上,而UBIFS只能运行在UBI之上,UBI又只能运行于MTD之上,所以这里就涉及到3个子系统:MTD、UBI、UBIFS。 MTD&nb...

  hQP1RIi1nsp1   2024年08月07日   104   0   0 嵌入式

liwen012024.06.23 前言 在嵌入式Linux设备中,经常使用jffs2文件系统来作为参数区的文件系统格式。至于为什么要使用jffs2来作为参数区的文件系统,我猜大部分人都没有做过多的思考。 jffs2在2001年被设计出来,距今已过二十多年,现在在嵌入式设备中它还在被大量使用、说明这套设计本身是没有问题。 但是,你是否有思考过,你的jffs2文件系统使用是否正确、合理?如果你存储文件某天突然不见了,你要怎么分析?是flash有坏块,还是被jffs2垃圾回收处理掉了?亦或是应用程序误删除了?又要怎样才能把它恢复回来? 先问几个问题: 如果jffs2系统中数据频繁更新会有什么影响...

  hQP1RIi1nsp1   2024年08月07日   61   0   0 嵌入式

liwen012024.06.16 前言 先提几个问题:什么是文件系统崩溃一致性?为什么会出现文件系统崩溃一致性问题?有哪些方法可以解这个问题?它们各自又有哪些局限性? window系统电脑异常后会蓝屏、手机死机卡顿后我们会手动给它重启,大部分设备的系统在遇到不可修复的严重异常后都会尝试通过重启来恢复,因为系统重启之后,系统整体比较"干净"。 其中有一例外,就是我们希望磁盘存储的数据无论在系统出现何种异常的情况下,都能够保存好原来的数据,系统恢复后可以再找到异常前的所有数据。 文件系统崩溃一致性(CrashConsistency)是指在文件系统发生崩溃、断电或其它不可预见的故障后,文件系统能够...

  hQP1RIi1nsp1   2024年08月06日   34   0   0 嵌入式

liwen012024.06.09 前言 Linux系统中的ext2、ext3、ext4文件系统,它们都有很强的向后和向前兼容性,可以在数据不丢失的情况下进行文件系统的升级。目前ext4是一个相对较成熟、稳定且高效的文件系统,适用于绝大部分规模和需求的Linux环境。 ext4它突出的特点有:数据分段管理、多块分配、延迟分配、持久预分配、日志校验、支持更大的文件系统和文件大小。 ext4文件系统的具体实现比较复杂,本文尝试用比较简单的方式用一篇文章的篇幅来简单地介绍一下它的工作原理。 (一)创建ext文件系统 为了分析ext4文件系统的内部结构和原理,这里我们在Linux中创建一个ext4文件...

  hQP1RIi1nsp1   2024年08月06日   39   0   0 嵌入式

前言 exFAT是微软2006年推出的一种文件系统,距今已快二十年,相比于FAT16和FAT32,exFAT还是算年轻。exFAT一直是微软的一个专用文件系统,直到2019年微软发布它的规范,目前微软拥有exFAT多个元素的专利,如果产品上使用exFAT,需要微软授权,否则有可能侵权。 exFAT被SD协会采用作为大于32GBSDXC卡的默认文件系统,在win11系统上,SDXC卡默认格式化选项已经没有FAT32选项,exFAT文件系统的使用范围正逐渐扩大。 为啥微软要用exFAT来代替FAT32呢? 因为exFAT数据结构开销比NTFS低,但它又可以突破FAT32单个文件大小和分区大小的限制...

  hQP1RIi1nsp1   2024年08月06日   35   0   0 嵌入式

FAT32是从FAT12、FAT16发展而来,目前主要应用在移动存储设备中,比如SD卡、TF卡。隐藏的FAT文件系统现在也有被大量使用在UEFI启动分区中。 为使文章简单易读,下面内容特意隐藏了很多实现细节,关于分区、格式化等相关的内容,可以查看之前的文章: 文件系统(一):存储介质、原理与架构 文件系统(二):分区、格式化数据结构 文件系统(三):嵌入式、计算机系统启动流程与步骤 (一)FAT32磁盘布局 拿一个FAT32文件系统的存储设备,我们可以看到,它整个存储设备大概可以分为5个部分:引导、保留扇区、FAT表、目录和文件、备份。 (1)引导与保留扇区 引导和保留扇区部分,会因为分区方...

  hQP1RIi1nsp1   2024年08月06日   68   0   0 嵌入式
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~