- 博客(80)
- 收藏
- 关注
原创 LoongAarch架构 特别指令+特别寄存器
t0中的值写入CSR(0xc1)中,同时将CSR(0xc1)的旧值写入到通用寄存器t0中t1t1:存放的是掩码信息将t0中的值写入到CSR(0x80)中对应掩码为1的比特,CSR寄存器其余bit不变。CSR(0x80)的旧值写入t0中。
2025-03-14 17:22:15
202
原创 你会被叫做SE吗?
Software Engineer,软件工程师。:Electrical Engineer,电气工程师。:Mechanical Engineer,机械工程师。:Computer Science,计算机科学。:Computer Engineer,计算机工程师。
2025-03-11 21:06:52
106
原创 关于信创市场
信创(信息技术应用创新)产业是基于国家信息安全战略需求,旨在通过自主研发和创新,实现信息技术领域的自主可控,减少对国外技术和产品的依赖。信创市场涵盖了从硬件到软件的全产业链条,包括基础硬件(如芯片、服务器、存储设备)、基础软件(如操作系统、数据库、中间件)、应用软件(如办公软件、ERP系统)以及信息安全(如网络安全、数据安全)四大领域。
2025-03-06 14:24:54
336
原创 内核常用传参参数有哪些?
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
208
原创 bash脚本----变量的算术运算
推荐使用$((...))或((...)),因为它们是现代 Bash 的标准语法,效率高且语法简洁。:可以使用bc或awk,具体选择取决于你的需求和偏好。:如果需要兼容 POSIX 标准,可以使用expr,但尽量避免在现代脚本中使用。特性$((...))$((...))是 Bash 中最常用的算术运算语法,它可以直接在脚本中进行整数运算,支持加、减、乘、除、取模等操作。语法:result=$((expression))在 Bash 脚本中,变量赋值操作的语法非常严格,尤其是等号(
2025-02-26 18:02:02
601
原创 我的创作纪念日
环境搭建很重要,但是不需要我记得那么清楚,只需要记得大概,细节内容用文档记录下来即可,下次遇到相似问题,回来翻翻文章不需要再多费心力,写博客是因为记录在此的内容不容易丢失,随时拿着手机就能看,也能分享给更多人看。后续创作将继续在现有方向上继续加深和扩展,愿同csdn的一同成长,每天能有新知识的积累是一件让人很愉快的事情,坚持住,持续学习,持续输出。
2025-02-20 15:22:14
150
原创 rtcwake - Linux下定时唤醒计算机
命令通过 RTC 设置计算机在指定时间自动关闭并启动。它常用于需要定时重启或唤醒的场景,例如自动化测试、定时任务或节能管理。
2025-02-19 11:51:40
516
原创 bash脚本----传参的处理
它的主要功能是将位置参数向左移动(即“移位”),从而改变参数的索引位置。2)长选项(long options):由两个连字符和一些大小写字母组合的单词构成,例如:--size,--help等。$1 #第一个参数(arg1),$2, $3, $4 ... #第2、3、4个参数,依次类推;#"$*"将所有的参数解释成一个字符串,而"$@"是一个参数数组。$# #参数的个数,不包括命令本身,上述例子$# = 3;$* #和$@相同,但"$*"和"$@"(加引号)并不同,在 Bash 脚本中,
2025-02-18 20:42:55
334
原创 UEFI之PCD知识大全
是一种非常有用的 PCD 类型,适用于在编译时控制功能的启用或禁用。通过在.dec文件中声明、在.inf文件中引用以及在.dsc文件中配置,开发人员可以灵活地管理功能开关,而无需修改代码。是 UEFI 开发中的一种 PCD(Platform Configuration Database,平台配置数据库)类型,用于在编译时设置固定的配置值。这些值在编译完成后无法修改,因此具有较高的稳定性和性能。[FixedPcd]FixedPcd是编译时确定的PCD类型,其值在编译阶段就已经固定,不可在运行时修改。作用范围。
2025-02-07 09:18:55
947
原创 GUID的定义、声明、必要性、生成GUID的方法
本文作为一个记录,全面讲述GUID的特点,GUID的构成,如何定义和声明GUID,以及生成一个GUID号的方法。
2025-01-22 14:17:22
1166
原创 常用的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
852
原创 strncmp 字符串比较函数
strncmp是一个标准库函数,用于比较两个字符串的前n个字符。它在<string.h>头文件中定义。strncmp名字缩写: str + n +cmp(string + n + compare : 对前n个字符串进行比较)strncmp函数是一个非常有用的字符串处理函数,用于比较两个字符串的前n个字符。它在需要部分字符串匹配的场景中非常有用,例如输入验证、文件内容处理等。通过合理使用strncmp,可以提高代码的健壮性和可读性。
2025-01-15 11:15:27
327
原创 open()和fopen()
open():适用于需要低级文件操作的场景,如设备文件操作、非缓冲 I/O 等。fopen():适用于需要缓冲 I/O 的场景,如文件读写、格式化输入输出等。选择使用哪个函数取决于具体的应用场景和需求。如果需要低级控制和灵活性,使用open();如果需要高效的缓冲 I/O 和简洁的接口,使用fopen()。
2025-01-15 11:01:11
789
转载 数组指针和指针数组的区别
由此可见,对指针数组来说,首先它是一个数组,数组的元素都是指针,也就是说该数组存储的是指针,数组占多少个字节由数组本身决定;而对数组指针来说,首先它是一个指针,它指向一个数组,也就是说它是指向数组的指针,在 32 位系统下永远占 4 字节,至于它指向的数组占多少字节,这个不能够确定,要看具体情况。对于语句“int(*p2)[5]”,“()”的优先级比“[ ]”高,“*”号和 p2 构成一个指针的定义,指针变量名为 p2,而 int 修饰的是数组的内容,即数组的每个元素。
2025-01-14 11:42:47
97
原创 geteuid()-获取当前进程的有效用户ID
geteuid是一个系统调用函数,用于获取当前进程的有效用户ID(Effective User ID, EUID)。有效用户ID用于决定进程执行的权限。相关函数getuidsetreuidsetuid身份验证getuid()用于验证启动进程的用户身份。即使进程的权限被改变,getuid()仍然返回启动进程的用户的ID。权限管理geteuid()用于检查进程当前的执行权限,以决定是否允许执行某些操作。
2025-01-13 16:28:47
943
原创 城市名字的演变历史
蓟国是黄帝的后代所建立的国家,其国都在今北京广安门附近。被称为“大都”,成为元朝的政治、经济和文化中心。西周时期北京所在的地方被称作“蓟”。被称为“京师”,因为它是中国的首都。如京师大学堂-现在的北京大学。
2025-01-13 15:58:19
431
原创 Linux C所有预定义的宏
表示编译器支持强栈保护功能。:表示类型的最大值。:表示原子操作的获取屏障。:表示128位浮点数最大10指数。:表示编译目标是UNIX系统。:表示编译目标是x86_64架构。:表示类型的最大值。:表示使用的GCC版本主版本号。:表示系统的字节序是小端序。:表示支持的C标准版本是C17。#define __STDC__ 1 :如果__STDC__被定义,这意味着编译器至少支持C89标准。__STDC__宏定义为1并不意味着编译器不支持更新的C语言标准。
2024-12-11 16:45:39
401
原创 fflush(stdout)
是 C 语言标准库中的一个函数,用于刷新标准输出流(stdout)。在 C 语言中,当我们使用printf或其他输出函数向标准输出写数据时,这些数据可能不会立即被发送到终端或文件,而是被缓存起来,以提高输出效率。fflush函数的作用是将指定流的输出缓冲区中的内容强制写入到流所关联的文件或设备中。对于stdout,这意味着任何缓存的输出都会被立即发送到终端。
2024-12-10 17:45:31
690
原创 龙芯要构建独立于x86和ARM的第三套新型信息技术体系和产业生态
龙芯掌握的10个能力包括:3个基础编译器(GCC、LLVM、GOLANG);全球形成了Wintel(Windows+Intel)和AA(Android+Arm)两大信息化生态体系,都由美国主导。龙芯中科始终坚守核心技术要自主发展的自强理念,与生态伙伴和产业用户深度合作,将自主核心技术融入行业发展。大会上,龙芯中科董事长胡伟武发表了《破解卡脖子问题,构建新发展格局》主旨演讲。“我们敢于构建新的指令系统的生态,是因为过去20年的积累让我们掌握了9个能力。龙芯中科副总裁杜安利指出,
2024-12-02 15:33:00
343
原创 JSON格式
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript的一个子集,但是JSON是独立于语言的文本格式,许多编程语言都支持JSON格式的数据解析和生成。JSON格式的数据由键值对组成,数据以对象或数组的形式表达。JSON格式因其简洁和跨平台的特性,被广泛用于网络应用之间的数据传输,特别是在Web开发中。:键(key)和值(value)的组合,键和值之间用冒号。:可以是字符串、数字、对象、数组、布尔值(
2024-11-29 18:00:29
368
原创 FRU文件
FRU(Field Replaceable Unit)源文件的格式通常遵循IPMI FRU Information Storage Definition标准。在实际应用中,FRU源文件可以是JSON格式的,这种格式允许用户指定所有的FRU信息字段。frugen工具支持JSON文件作为输入,你可以在JSON文件中指定所有的FRU信息字段,然后使用这个文件作为工具的输入来生成FRU文件。frugen工具允许JSON文件中包含C风格的注释(),这是对标准JSON格式的扩展。
2024-11-29 17:58:09
1192
原创 FRU与BMC的关系
BMC是服务器硬件管理的核心部件,它是一个独立的小型操作系统,通常集成在主板上,负责服务器的硬件状态管理、操作系统管理、健康状态管理、功耗管理等核心功能。: FRU指的是服务器中可以单独更换或维修的组件或模块,如处理器、内存模块、磁盘驱动器、电源模块、风扇模块等。总结来说,BMC是服务器硬件管理的中心,而FRU是服务器设计中用于提高可维护性和可靠性的可更换单元。: 通过BMC,维护人员可以远程监控FRU的状态,进行故障诊断,并在需要时更换故障部件,从而减少系统停机时间,提高服务器的可用性和可靠性。
2024-11-29 17:51:30
683
原创 板卡调试好习惯之养成计划
(1)文档记录问题复现的软硬件版本和方法。用文档记录下来硬件平台,硬件原理图/接口示意图(留图),软件版本,复现方法,问题现象(截图目的:为复现问题提供支撑,为后续问题报告提供材料,不要问题解决了,环境都拆了,到写文档时干巴巴的找不到图文信息。
2024-11-27 15:18:58
394
原创 常用内存参数-说明
与 tDQSH 类似,tDQSL 确保了DQS信号在低电平状态时能够维持足够的时间,以便数据能够被正确地从 SDRAM 中读出。它是从DQS的一个下降沿到下一个下降沿的时间,即DQS低电平的持续时间。在写操作中,tDQSH 确保了DQS信号在高电平状态时能够维持足够的时间,以便数据能够被正确地写入到 SDRAM 中。它是从DQS的一个上升沿到下一个上升沿的时间,即DQS高电平的持续时间。(DQS)信号高电平的有效宽度。(DQS)信号低电平的有效宽度。:这个参数描述了数据选通。:这个参数描述了数据选通。
2024-11-06 18:05:37
1358
原创 二十四节气
二十四节气是中国古代农业文明的产物,是中国古代劳动人民根据太阳在黄道上的位置划分的,用来指导农事活动的时间体系。一年分为四季,每季有六个节气,共二十四个节气。平均15天一个节气,每月有2个节气变化。小时候,老人对节气变化了如指掌,顺口就来,年轻人只知有这二十四节气,却不知有哪些,分别什么特征,对应什么农事指导,越长大越喜欢传统民俗和文化,像酒窖藏在我脑海里,越来越醇香,以致于我日日都想拿出来品尝一番。
2024-10-24 11:24:29
468
转载 内存ODT匹配电阻 如何改善信号完整性的工作原理详解
有趣的是,因为传输线阻抗受温度影响,ODT补偿的时候,也需要根据运行时温度(一般上是越来越热的)来补偿ODT的阻抗,这个步骤通常是PCU来干的。然而,如果我们在纳秒级(十亿分之一秒)的时间尺度上观察电路,会发现一些有趣的现象:在开路的情况下,电流可能会暂时存在,而在短路的情况下,电压可能会暂时下降。当传输线末端开路的时候,信号电压在传输线上传播的时候,就像给一个个并联的电容充电,一节节像末尾穿过去,电荷在一节节电感正极传播,各个导线分节可以看做电荷中继的作用,这样一直到最后一节。,见推荐书籍)的反射。
2024-10-09 17:28:01
736
原创 进程与线程
资源:进程拥有独立的资源,而线程共享进程的资源。开销:进程的创建和销毁开销大,线程开销小。通信:进程间通信复杂,线程间通信简单。独立性:进程间独立性强,线程间独立性弱。
2024-09-19 15:32:46
804
转载 信号----(2) 信号的保存与处理
首先我们先引出一个新的概念,叫核心转储。linux系统提供了一种能力,操作系统可以将一个进程在异常的时候将核心代码部分进行核心转储,将内存中进程的相关数据全部dump到磁盘中,一般这个文件会在当前进程的运行目录下,形成core.pid这样的二进制文件。当然如果我们使用的是云服务器的话,这个核心转储功能是默认关闭的,但是我们可以通过命令将这个功能打开:使用命令:ulimit -a 查看当前系统中特定资源对应的上限。
2024-09-18 17:57:11
130
原创 中断和异常处理
中断相关:在计算机系统中,中断和异常是两种不同的机制,它们都用于处理异步事件,但它们的来源和处理方式有所不同。中断(Interrupts)中断是由外部设备或事件触发的信号,用于通知CPU暂停当前任务,转而处理更为紧急的任务。中断可以由各种硬件设备产生,如键盘、鼠标、定时器、磁盘驱动器等。异常(Exceptions)异常是由程序执行中的特定错误或特定系统调用触发的事件。异常可以由软件错误(如除以零、非法指令)或系统调用(如输入/输出操作)引起。
2024-09-18 16:03:19
1188
原创 Linux内核的核心功能
进程管理:内存管理:文件系统:设备驱动模型:电源管理:网络堆栈:安全性:模块化:时间管理:用户空间接口:同步机制:中断和异常处理:调度类(Scheduling Classes):审计和跟踪:国际化和本地化:
2024-09-18 15:34:25
408
原创 linux内核中的PCI Quirks机制
PCI Quirks机制是Linux内核中用于处理特定PCI设备或芯片组的非常规行为的一种方法。这些"quirks"(怪癖)是指设备的一些被认为是不符合预期操作的特性。例如,某些设备可能报告错误的奇偶校验错误,或者在BIOS设置中不正确地设置ISA PCI区域头信息。在Linux内核的文件中,可以找到许多这样的quirk定义。这些quirk通过检查设备的供应商ID和设备ID来识别受影响的设备,并为它们设置特定的属性或执行特定的代码,以便内核能够以不同的方式处理这些设备,或者绕过已知的问题。
2024-09-10 19:50:13
1332
原创 设备速率计算方法
T = 数据量/读速率 = 1MB/(100Mhz/8 )= 1024x1024 x8 bit / (100Mhz/8)=0.67秒。那么SPI总线的读速率 Rspeed = 100Mhz/8=12.5Mhz.(即每秒能传输12.5Mbit的数据)以LS3C6000为例,SPI的控制器的参考时钟为100Mhz。如果读分频系数为8,读1MB数据耗费的时间。
2024-08-28 15:41:54
332
原创 ACPI表传参中 I2CSerialBusV2()
是一个用于描述I2C总线连接的资源宏,它是ACPI 5.0版本引入的新资源之一,用于在ACPI表中定义I2C设备的硬件特性。这个宏用于创建ACPI表中的资源模板,以供操作系统识别和配置I2C设备。在ACPI Source Language (ASL) 中,
2024-06-19 11:44:45
509
minicom-2.7.1-1.1-loongarch64.deb
2023-08-15
linux的audit服务
2024-01-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人