自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(97)
  • 收藏
  • 关注

原创 USB 1.1/2.0 vs USB 3.0 纠错机制对比

USB 2.0 扩展:DATA2 / MDATA 用于高带宽等时 / 分裂事务,仍沿用 “成功翻转、失败保持” 逻辑。包 ID 前 4 位 + 后 4 位取反,接收方必须匹配,否则。发完包后收不到 ACK/NAK/STALL → 判定超时 / 丢失。纠错原理:DATA0 / DATA1 交替 ,USB数据包就是用来传输数据的,之所以。违反 NRZI 位填充规则、结束符错误 →。靠“序号交替”来简单判断上一包有没有成功。(校验数据负载)不匹配 → 判定损坏,

2026-04-17 17:18:25 389

原创 USB的NRZI编码机制和位填充机制

USB数据传输采用串行差分方式,通过NRZI编码和位填充机制实现时钟同步。数据以包为单位传输,包含同步域、PID标识和EOP结束符。同步域通过特定方波提供时钟信息,全速/低速设备使用00000001,高速设备使用31个0加1个1。NRZI编码规则为:数据1保持电平,数据0翻转电平。位填充机制在连续6个1后强制插入0,确保信号跳变。接收端通过PLL同步时钟,NRZI解码恢复数据,并删除填充位。这种设计使USB在4线制(Vbus、GND、D+、D-)下实现可靠传输。

2025-12-30 17:26:02 1470

原创 USB主机检测到USB设备插入后:主机和USB设备端的行为

USB设备初始化的关键步骤包括:首先主机复位设备并获取部分设备描述符(至少8字节)以确定端点0的最大包长度;然后主机再次复位设备并为其分配新地址;接着主机使用新地址获取完整的18字节设备描述符;最后主机获取配置描述符及其集合(包含接口、端点和类特殊描述符),必要时还会获取字符串描述符。整个过程通过控制传输完成,包含建立、数据和状态三个阶段。

2025-12-30 11:27:46 413

原创 USB描述符-如何获取、各描述符关系

如何获取usb设备的功能和行为?这就需要获取USB描述符来实现。USB描述符中记录了设备的类型、厂商ID、和产品ID(通常依靠这些信息来加载对应的驱动程序)、端点情况、版本号等信息。

2025-11-28 15:17:27 864

原创 usb 热插拔检测/机制

USB2.0设备插入检测机制对比:USB2.0通过D+/D-差分线的上拉/下拉电阻组合实现检测,主机端口接15kΩ下拉电阻,设备端根据不同速度(低速/全速/高速)在D-或D+接1.5kΩ上拉电阻。插入时主机检测到对应数据线电压>2V即判定设备连接,并根据拉高的是D+还是D-判断设备速度类型。USB3.0则采用超高速差分对上的接收端检测机制,通过监测SSRX±线的阻抗变化(从50Ω降至25Ω)来判断设备插入。USB3.0接口在保留USB2.0四线的基础上增加了五根超高速差分线,实现全双工5Gbps通信。

2025-11-26 17:13:50 1003

原创 AI服务器 与 存储芯片

以下信息全部来自 2025 年 9–11 月已披露财报及行业统计,仅列“中国本土存储芯片”环节(设计、制造、封测、模组)主要上市公司,并给出 2022-2024 三年营收及 2025 年前三季最新盈利。三强合计拿下约90%的份额,其中三星同时领跑DRAM与NAND两大品类,因而也是全球产量和出口量最大的厂商;中国大陆的长江存储、长鑫存储等尚处于追赶阶段,总体份额不足5%。——国产 3D NAND 唯一量产 232 层 IDM。——国产 DRAM 唯一 IDM。三星、SK海力士、美光。

2025-11-19 17:49:35 659

原创 蓝星那些年

地球从最远时代到近代的地质历史,被系统地划分为若干个地质年代单位,从大到小依次为:宙 → 代 → 纪 → 世 → 期。总(1)显生宙 - 古生代(5.41亿年前–2.52亿年前)(2)显生宙 - 中生代(2.52亿年前–6600万年前)(3)显生宙 - 新生代(6600万年前–至今)

2025-11-12 09:14:00 410

原创 龙芯PCI设备ID列表-0x0014

定义为 0x0014,并随之添加了大量龙芯自有设备的 ID 列表。Linux 内核补丁已明确将。

2025-10-11 17:44:45 252

原创 house (ai)

# 海淀中关村环保科技园附近500万预算购房推荐## 1. 核心推荐:海淀区温泉镇板块根据您的购房需求——工作地点在中关村环保科技园、预算500以内、寻求2012年后建成的带电梯的两居或三居,并兼顾学区——海淀区温泉镇板块是目前看来最匹配的核心区域。该板块不仅地理位置上紧邻您的通勤目的地,而且拥有符合您房龄和预算要求的次新房小区。更重要的是,随着海淀北部新区的规划和发展,该区域的学区价值正在逐步提升,引入了包括101中学在内的优质教育资源,为未来的子女教育提供了潜在保障。板块内的楼盘普遍房龄较新,社区规划现

2025-09-04 20:52:24 1543

原创 线程相关函数

用于向线程发送取消请求,提前终止线程。:用于等待线程结束,并回收其资源。:用于将线程设置为分离状态,线程结束后自动释放资源。

2025-08-21 21:05:56 727

原创 linux系统离线升级git版本 git-2.36.1

在比较老旧的linux系统下使用git有些问题,需要升级,由于无法联网只能下载源码包自行安装。

2025-07-16 17:03:48 484

原创 Linux系统 / Ubuntu虚拟机 安装DHCP服务

xxx:~$正在读取软件包列表... 完成正在分析软件包的依赖关系树正在读取状态信息... 完成将会同时安装下列软件:建议安装:下列【新】软件包将被安装:升级了 0 个软件包,新安装了 3 个软件包,要卸载 0 个软件包,有 99 个软件包未被升级。需要下载 520 kB 的归档。解压缩后会消耗 1,866 kB 的额外空间。您希望继续执行吗?[Y/n] Y。

2025-07-01 19:32:56 810

原创 编译EDK2工具链

结果:编译uefi过程出现上述异常,重新编译BaseTools后问题解决。Linux环境里EDK工具链位于BaseTools/BinWrappers/PosixLike/目录下。EDK2工具链包括build、GenFv、GenFw等工具。如果该目录下没有这些工具,就要编译BaseTools来获得这些工具。编译BaseTools,首先需要确保系统中已经安装了make、gcc等编译工具。

2025-06-11 11:00:20 895

原创 ffmpeg录音测试

指定使用 ALSA(Advanced Linux Sound Architecture)音频输入格式。是一个强大的多媒体处理工具,可以用于录音、音频处理、视频录制等多种功能。:指定音频编码格式为 PCM 16 位小端(这是 WAV 文件的常见格式)。是默认的音频输入设备,通常对应麦克风。:指定使用 Vorbis 编码器(用于 OGG 格式)。:指定输出文件名,这里保存为 WAV 格式。如果你希望录制固定时长的音频,可以使用。如果你想在录音时实时监听音频,可以使用。:指定音频比特率为 128 kbps。

2025-05-06 21:06:38 893

转载 loongnix系统下获取内核源码

在loongnix20.6系统上,配置/etc/apt/sources.lit 源文件,

2025-04-25 15:14:46 251

原创 /var/log/Xorg.0.log

是 Linux 系统中与 Xorg 相关的日志文件,用于记录 Xorg 服务器的运行信息、错误和调试消息。Xorg 是一个开源的 X Window 系统服务器,负责管理显示硬件、处理用户输入(如键盘和鼠标)以及渲染图形界面。它包含了系统启动时 Xorg 的初始化信息、硬件检测结果、驱动程序加载情况以及运行过程中可能出现的错误或警告。这是默认的 Xorg 日志文件,记录了与第一个 Xorg 会话(通常是第一个图形桌面环境)相关的日志信息。运行多个独立的图形环境(如一个用于普通桌面,另一个用于远程桌面)。

2025-04-25 10:41:55 838

原创 linux 桌面环境

XDG是的缩写,它代表了一个致力于推动桌面环境标准化和互操作性的组织。通过制定一系列规范和标准,XDG 为Linux桌面环境的开发和使用提供了统一的框架。

2025-04-24 17:40:18 728

原创 LoongAarch架构 特别指令+特别寄存器

t0中的值写入CSR(0xc1)中,同时将CSR(0xc1)的旧值写入到通用寄存器t0中t1t1:存放的是掩码信息将t0中的值写入到CSR(0x80)中对应掩码为1的比特,CSR寄存器其余bit不变。CSR(0x80)的旧值写入t0中。

2025-03-14 17:22:15 475

原创 你会被叫做SE吗?

Software Engineer,软件工程师。:Electrical Engineer,电气工程师。:Mechanical Engineer,机械工程师。:Computer Science,计算机科学。:Computer Engineer,计算机工程师。

2025-03-11 21:06:52 543

原创 关于信创市场

信创(信息技术应用创新)产业是基于国家信息安全战略需求,旨在通过自主研发和创新,实现信息技术领域的自主可控,减少对国外技术和产品的依赖。信创市场涵盖了从硬件到软件的全产业链条,包括基础硬件(如芯片、服务器、存储设备)、基础软件(如操作系统、数据库、中间件)、应用软件(如办公软件、ERP系统)以及信息安全(如网络安全、数据安全)四大领域。

2025-03-06 14:24:54 760

原创 内核常用传参参数有哪些?

earlycon 是 Linux 内核中的一个早期控制台(early console)机制,用于在系统启动的早期阶段提供一个串行输出设备,以便输出内核的调试信息和日志。:将特定端口 1、2 和 3 的 SATA 链路速度限制为 1.5Gbps.5. maxcpus=1限制内核使用的 CPU 核心数。将所有 SATA 链路的速度限制为 1.5Gbps。10. panic=10 内核崩溃10秒后,自动重启。减少启动时显示的信息量,仅显示重要消息。单核启动,只使用一个CPU核心。legacy中断参数配置。

2025-03-04 11:32:34 367

原创 bash脚本----变量的算术运算

推荐使用$((...))或((...)),因为它们是现代 Bash 的标准语法,效率高且语法简洁。:可以使用bc或awk,具体选择取决于你的需求和偏好。:如果需要兼容 POSIX 标准,可以使用expr,但尽量避免在现代脚本中使用。特性$((...))$((...))是 Bash 中最常用的算术运算语法,它可以直接在脚本中进行整数运算,支持加、减、乘、除、取模等操作。语法:result=$((expression))在 Bash 脚本中,变量赋值操作的语法非常严格,尤其是等号(

2025-02-26 18:02:02 971

原创 git 使用常见错误整理

1. git am。

2025-02-26 15:58:13 769

原创 我的创作纪念日

环境搭建很重要,但是不需要我记得那么清楚,只需要记得大概,细节内容用文档记录下来即可,下次遇到相似问题,回来翻翻文章不需要再多费心力,写博客是因为记录在此的内容不容易丢失,随时拿着手机就能看,也能分享给更多人看。后续创作将继续在现有方向上继续加深和扩展,愿同csdn的一同成长,每天能有新知识的积累是一件让人很愉快的事情,坚持住,持续学习,持续输出。

2025-02-20 15:22:14 219

原创 rtcwake - Linux下定时唤醒计算机

命令通过 RTC 设置计算机在指定时间自动关闭并启动。它常用于需要定时重启或唤醒的场景,例如自动化测试、定时任务或节能管理。

2025-02-19 11:51:40 1478

原创 bash脚本----传参的处理

它的主要功能是将位置参数向左移动(即“移位”),从而改变参数的索引位置。2)长选项(long options):由两个连字符和一些大小写字母组合的单词构成,例如:--size,--help等。$1 #第一个参数(arg1),$2, $3, $4 ... #第2、3、4个参数,依次类推;#"$*"将所有的参数解释成一个字符串,而"$@"是一个参数数组。$# #参数的个数,不包括命令本身,上述例子$# = 3;$* #和$@相同,但"$*"和"$@"(加引号)并不同,在 Bash 脚本中,

2025-02-18 20:42:55 627

原创 c语言:取绝对值

假设我们有一个long类型的变量l,我们希望恢复其绝对值。

2025-02-07 18:03:46 2071 2

原创 UEFI之PCD知识大全

是一种非常有用的 PCD 类型,适用于在编译时控制功能的启用或禁用。通过在.dec文件中声明、在.inf文件中引用以及在.dsc文件中配置,开发人员可以灵活地管理功能开关,而无需修改代码。是 UEFI 开发中的一种 PCD(Platform Configuration Database,平台配置数据库)类型,用于在编译时设置固定的配置值。这些值在编译完成后无法修改,因此具有较高的稳定性和性能。[FixedPcd]FixedPcd是编译时确定的PCD类型,其值在编译阶段就已经固定,不可在运行时修改。作用范围。

2025-02-07 09:18:55 1616

原创 tmux的快捷键使用整理

tmux常用快操作:会话的操作,窗口的操作,窗格的操作,快捷键+命令模式。

2025-02-05 18:10:14 1736

原创 GUID的定义、声明、必要性、生成GUID的方法

本文作为一个记录,全面讲述GUID的特点,GUID的构成,如何定义和声明GUID,以及生成一个GUID号的方法。

2025-01-22 14:17:22 3687

原创 linux下设置网络连接速度

切换网速:查看当前网口实际连接速度:

2025-01-16 21:02:20 671

原创 常用的C库函数与头文件

stdio.h>:标准输入输出。<ctype.h>:字符处理。<math.h>:数学函数。<stdlib.h>:标准库,包括内存分配、随机数生成、字符串转换等。<string.h>:字符串处理。<time.h>:时间处理。<assert.h>:断言。<signal.h>:信号处理。<limits.h>和<float.h>:整数和浮点数极限。<locale.h>:本地化。这些头文件和库函数是 C 语言编程中非常常用的工具,掌握它们可以大大提高编程效率和代码质量。

2025-01-15 11:43:19 1452

原创 strncmp 字符串比较函数

strncmp是一个标准库函数,用于比较两个字符串的前n个字符。它在<string.h>头文件中定义。strncmp名字缩写: str + n +cmp(string + n + compare : 对前n个字符串进行比较)strncmp函数是一个非常有用的字符串处理函数,用于比较两个字符串的前n个字符。它在需要部分字符串匹配的场景中非常有用,例如输入验证、文件内容处理等。通过合理使用strncmp,可以提高代码的健壮性和可读性。

2025-01-15 11:15:27 613

原创 open()和fopen()

open():适用于需要低级文件操作的场景,如设备文件操作、非缓冲 I/O 等。fopen():适用于需要缓冲 I/O 的场景,如文件读写、格式化输入输出等。选择使用哪个函数取决于具体的应用场景和需求。如果需要低级控制和灵活性,使用open();如果需要高效的缓冲 I/O 和简洁的接口,使用fopen()。

2025-01-15 11:01:11 1192

转载 数组指针和指针数组的区别

由此可见,对指针数组来说,首先它是一个数组,数组的元素都是指针,也就是说该数组存储的是指针,数组占多少个字节由数组本身决定;而对数组指针来说,首先它是一个指针,它指向一个数组,也就是说它是指向数组的指针,在 32 位系统下永远占 4 字节,至于它指向的数组占多少字节,这个不能够确定,要看具体情况。对于语句“int(*p2)[5]”,“()”的优先级比“[ ]”高,“*”号和 p2 构成一个指针的定义,指针变量名为 p2,而 int 修饰的是数组的内容,即数组的每个元素。

2025-01-14 11:42:47 433

原创 geteuid()-获取当前进程的有效用户ID

geteuid是一个系统调用函数,用于获取当前进程的有效用户ID(Effective User ID, EUID)。有效用户ID用于决定进程执行的权限。相关函数getuidsetreuidsetuid身份验证getuid()用于验证启动进程的用户身份。即使进程的权限被改变,getuid()仍然返回启动进程的用户的ID。权限管理geteuid()用于检查进程当前的执行权限,以决定是否允许执行某些操作。

2025-01-13 16:28:47 1347

原创 城市名字的演变历史

蓟国是黄帝的后代所建立的国家,其国都在今北京广安门附近。被称为“大都”,成为元朝的政治、经济和文化中心。西周时期北京所在的地方被称作“蓟”。被称为“京师”,因为它是中国的首都。如京师大学堂-现在的北京大学。

2025-01-13 15:58:19 1272

原创 Linux C所有预定义的宏

表示编译器支持强栈保护功能。:表示类型的最大值。:表示原子操作的获取屏障。:表示128位浮点数最大10指数。:表示编译目标是UNIX系统。:表示编译目标是x86_64架构。:表示类型的最大值。:表示使用的GCC版本主版本号。:表示系统的字节序是小端序。:表示支持的C标准版本是C17。#define __STDC__ 1 :如果__STDC__被定义,这意味着编译器至少支持C89标准。__STDC__宏定义为1并不意味着编译器不支持更新的C语言标准。

2024-12-11 16:45:39 618

原创 fflush(stdout)

是 C 语言标准库中的一个函数,用于刷新标准输出流(stdout)。在 C 语言中,当我们使用printf或其他输出函数向标准输出写数据时,这些数据可能不会立即被发送到终端或文件,而是被缓存起来,以提高输出效率。fflush函数的作用是将指定流的输出缓冲区中的内容强制写入到流所关联的文件或设备中。对于stdout,这意味着任何缓存的输出都会被立即发送到终端。

2024-12-10 17:45:31 1222

原创 C99、C11和C17标准的区别

C99、C11和C17是C语言的三个连续的国际标准,每个新标准都在前一个标准的基础上引入了新特性和改进。

2024-12-10 17:44:18 4186

minicom-2.7.1-1.1-loongarch64.deb

minicom安装包,该包适用于loongarch架构的ongnix系统下,无法联网安装minicom工具时,可下载上述包,通过dpkg -i minicom-2.7.1-1.1-loongarch64.deb直接离线安装minicom,用于测试cpu或者桥片上的串口功能。minicom是 Linux 下一款常用的命令行串口调试工具。 minicom-2.7.1-1.1-loongarch64.deb为龙芯LA架构的龙芯minicom安装包或龙芯minicom离线安装包。

2023-08-15

linux的audit服务

2024-01-10

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除