自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(209)
  • 资源 (5)
  • 收藏
  • 关注

原创 【test】给printf增加函数名和行号的方法

【代码】【test】给printf增加函数名和行号的方法。

2025-03-27 20:38:04 78

原创 【virtiofs】ubuntu24.04+qemu7.0调试virtiofs

编译时会出现找不到.stamp_downloaded,通过在对应目录下创建.stamp_downloaded文件解决。编译后在build/tools/virtiofsd/virtiofsd。挂载成功后guest os与host os共享$SHARE_DIR目录。dax-2022-05-17-qemu7.0会自带virtiofsd。从 QEMU 源码生成适用于 virt 机器的 DTB。或者使用qemu自带的virtiofsd。先启动virtiofsd后启动qemu。打开.config配置。

2025-02-15 15:23:16 399

转载 【test】Ubuntu24.04下载并且编译Linux内核源码

2>&1 会将 STDOUT 和 STDIN 重定向到相同的文件描述符,并通过管道传输给 tee 命令,这会将输出存储在一个名为 log 的文件,即将终端打印出的内容存储到日志中便于查看。为了使用编译的内核,需要编辑grub2选项。vim Makefile,修改“EXTRAVERSION =<YOUR_EXTRAVERSION>”,这里我设定的是`EXTRAVERSION =OSPRACTICE。默认情况下,计算机并不包含这个证书。因此需要关闭启用模块签名的选项,否则在接下来的内核编译中会报错。

2025-02-14 00:25:18 114

原创 【test】fio测试 linux存储性能测试

FIO是测试IOPS的非常好的工具,用来对磁盘进行压力测试和验证。磁盘IO是检查磁盘性能的重要指标,可以按照负载情况分成照顺序读写,随机读写两大类。FIO是一个可以产生很多线程或进程并执行用户指定的特定类型I/O操作的工具,FIO的典型用途是编写和模拟的I/O负载匹配的作业文件。也就是说FIO 是一个多线程io生成工具,可以生成多种IO模式,用来测试磁盘设备的性能(也包含文件系统:如针对网络文件系统 NFS 的IO测试。解压后执行sudo ./configure。

2025-02-13 17:26:52 301

原创 【linux】NUMA节点

NUMA(Non-Uniform Memory Access,非一致性内存访问)是一种用于多处理器计算机系统的内存设计。在NUMA架构中,系统中的物理内存被划分成多个节点(NUMA节点),每个节点与一个或多个处理器紧密关联。它允许处理器访问其本地内存的速度要比访问非本地内存(内存位于另一个处理器或者共享I/O控制器上)更快。

2025-02-13 09:47:29 190

原创 【Linux】smp_mb__after_atomic

是 Linux 内核中用于确保原子操作后内存操作顺序性的宏。它通过插入一个全内存屏障,防止编译器和CPU对指令进行重排序,从而确保多线程环境下的正确性和一致性。理解并正确使用内存屏障对于编写高效、可靠的并发程序至关重要。如果你正在开发内核模块或涉及多线程编程,了解这些机制将有助于避免潜在的并发问题。

2025-02-12 22:06:20 550

原创 【test】deepseek 本地部署

4.打开google chrom扩展商店下载page assist。2.使用cmd下载deepseek-r1。1.下载ollama,默认next。选择deepseek-r1。

2025-02-11 13:26:59 199

原创 【rk3568】ubuntu24编译rk3568 buildroot报错 `fwriter_buffer‘; mksquashfs.o:(.bss+0x200180):

复制下面内容到 **buildroot/package/squashfs/0001-multiple-definition.patch **中。清空编译缓存,重新编译。然后就可以编译成功了。

2025-02-10 00:38:12 249

原创 【rk3568】rk3568 linux sdk buildroot error “Failed to build miniperl. Please run make minitest“

【代码】【rk3568】rk3568 linux sdk buildroot error “Failed to build miniperl. Please run make minitest“

2025-02-09 19:08:41 381

原创 【test】uthash替换ghashtable

参考:https://github.com/troydhanson/uthash/blob/master/src/uthash.hhttps://troydhanson.github.io/uthash/https://troydhanson.github.io/uthash/userguide.html#_structure_keysuthash.h

2025-01-20 13:52:32 350

原创 【test】: error: redundant redeclaration of ‘strlcpy’ [-Werror=redundant-decls] 17 | extern size_t str

【代码】【test】: error: redundant redeclaration of ‘strlcpy’ [-Werror=redundant-decls] 17 | extern size_t str。

2025-01-11 14:25:58 189

原创 【test】Ubuntu 编译时出现错误cc1: error: ‘-fcf-protection’ is not compatible with this target

ubuntu 20.04编译时报cc1: error: ‘-fcf-protection’ is not compatible with this target错误,

2025-01-10 03:18:01 207

原创 【test】重装系统-window必须安装在格式化为ntfs的分区

记录在一次安装win10系统时提示:windows必须安装在格式化为ntfs的分区。1、在界面按住shift +F10 进入命令提示符输入diskpart。3、select disk 0 选择需要格式化的磁盘 我这里是0。5、convert ntfs 转化为ntfs格式。2、list disk 查看当前磁盘情况。在网上查资料,并找到解决办法,现做记录。使用管理员权限进入diskpart程序。4、clean 清除所有磁盘分区。

2025-01-09 00:49:58 242

原创 【virtiofs】virtio-fs-howto-qemu

【代码】【virtiofs】virtio-fs、qemu。

2025-01-07 13:48:19 383

原创 【test】mount系统调用流程

vsnprintf写入超过buf_size的时候会截断,并且第buf_size -1处赋值’\0’1、system_call_table系统调用表找到对应元素。

2025-01-06 11:11:09 192

转载 【test】Linux tee命令教程:如何使用tee命令进行输入输出重定向(附案例详解和注意事项)

tee命令在Linux中用于从标准输入读取数据,并将其写入到标准输出和一个或多个文件中。tee命令通常与其他命令一起通过管道使用。

2024-12-26 17:48:07 102

转载 【test】Shell if 条件判断

转载自。

2024-12-26 17:35:06 39

原创 【test】git clone lfs问题记录

Git Large File Storage (LFS) 是 Git 的一个扩展,它替代 Git 来管理大型文件,比如音频、视频、图形文件和其他二进制大对象(blobs)。Git LFS 通过将这些大文件的指针存储在本地仓库中,并把实际文件存储在一个单独的服务器上来工作,这个服务器通常是托管代码库的地方,如 GitHub、GitLab 或 Bitbucket。

2024-12-24 09:54:51 612

原创 【test linux】创建一个ext4类型的文件系统

if=/dev/zero:指定输入文件(input file)为 /dev/zero,这是一个特殊的文件,在Linux中它提供无限量的零。of=./data:指定输出文件(output file)为当前目录下的data 文件。这将创建一个新的文件或覆盖已存在的同名文件。dd 是一个非常强大的命令行工具,用于在Unix/Linux系统中进行低级别的数据复制和转换。bs=1M:设置读取和写入的数据块大小为1兆字节(MiB)。这样可以加快操作速度,因为更大的块大小减少了I/O操作的次数。

2024-12-19 17:12:17 304

原创 【linux 内存】cat /proc/meminfo、free

proc/meminfo是了解Linux系统内存使用状况的主要接口,我们最常用的”free”、”vmstat”等命令就是通过它获取数据的 ,/proc/meminfo所包含的信息比”free”等命令要丰富得多,因此需要了解这些字段的含义。cat /proc/meminfo 各字段详解。

2024-12-18 11:41:44 499

原创 【linux内存】Linux内核中ioremap映射的透彻理解

几乎每一种外设都是通过读写设备上的寄存器来进行的,通常包括控制寄存器、状态寄存器和数据寄存器三大类,外设的寄存器通常被连续地编址。

2024-12-18 11:31:26 1073

原创 【test】Socket operation on non-socket 错误出现有两种情况:

如 调用connect socket accept 函数出错,可以 perror(“socket”);select 函数再次强调:0: 正常返回,而且可以调用FDISSET函数去查fd;会造成在recv时出现 Socket operation on non-socket错误。会造成在bind时出现 Socket operation on non-socket错误。

2024-12-16 14:04:04 398

原创 【vsock】qemu测试vsock zerocopy

PC无法ping通外网1.编译获取镜像Image、rootfs.cpio、获取qemu-8.022.配置/etc/qemu-ifup3.搭建tftp4.传输vsock_perf文件①启动qemu②udhcpc #配置qemu网络③将vsock_perf拷贝到 tftp_root目录下5.编译kernl中tools/testing/vsock目录下的代码6.启动qemu。

2024-12-05 10:38:36 234

原创 【test】storage class specified for parameter

编译器报“storage class specified for parameter ”的错误,原因是头文件中的一个函数声明少写了一个分号“;

2024-11-14 09:36:32 357

原创 【rk3568】sg90舵机pwm控制

PWM是Pulse-Width Modulation的简称,中文译作脉冲宽度调制。作为一种调制技术,PWM的原理是通过调整周期性波形的高电平时间宽度,从而改变有效信号的占空比,实现对设备的供电控制。PWM技术的常见应用领域包括屏幕背光亮度调节、电机转速控制和风扇转速控制等。Linux内核支持PWM驱动框架,该驱动框架采用结构体数据类型对PWM控制器和PWM信号进行了抽象,提供了PWM驱动框架核心代码和sysfs接口代码。

2024-10-24 21:23:40 640

原创 【pm】devfreq 框架

是由三星电子MyungJoo Ham,提交到社区。原理和/deivers/cpufreq 非常近似。但是cpufreq驱动并不允许多个设备来注册,而且也不适合不同的设备具有不同的governor。devfreq则支持多个设备,并且允许每个设备有自己对应的governor。

2024-10-24 14:26:27 690

原创 《汇编语言》第16章——实验16 编写包含多个功能子程序的中断例程

每个模块内部使用 ORG 设置了自身的逻辑地址,如模块 A 使用 ORG 0x1000,模块 B 使用 ORG 0x2000。在链接阶段,链接器需要将这些模块合并成一个可执行文件,并调整它们在最终内存布局中的地址。尽管实际链接时可能涉及更复杂的重定位过程,但模块内部的 ORG 指令提供了初始的逻辑地址参考。例如,模块 A 的第一条指令在链接前被认为位于 0x1000,链接器可以根据这个信息和其他模块的位置以及链接脚本的指示,决定模块 A 在最终可执行文件中的实际位置,并进行相应的地址修正。

2024-10-22 18:56:56 947

原创 《汇编语言》第15章——实验15安装新的 int 9 中断例程

安装一个新的 int 9 中断例程,功能:在 DOS 下,按下A键后,除非不再松开如果松开,就显示满屏幕的A,其他的键照常处理。提示,按下一个键时产生的扫描码称为通码,松开一个键产生的扫描码称为断码。安装新的 int9 中断例程。断码 = 通码 + 80h。

2024-10-22 15:19:21 231

原创 【pm】opp介绍

在SoC内,某些domain可以运行在较低的频率和电压下,而其他domain可以运行在较高的频率和电压下,某个domain所支持的对的集合被称为Operating Performance Point,缩写OPP。在dts中配置后自动有opp框架驱动加载使用,例如cpu的opp,从设备树文件arch/arm/boot/dts/imx6ull.dtsireg = ;向指定的设备添加一个频率/电压(opp table)组合,频率和电压的单位分别是Hz和uV。

2024-10-18 14:34:50 890

原创 【RK3588】rknpu驱动流程

使用软件 : https://pixso.cn/

2024-10-10 16:26:44 331

原创 【test】google cloud

此外,服务器上还默认安装了 Docker, 这样就可以直接在 Docker 基础上运行一个 Kubernetes 本地集群了,还要啥自行车!默认已经安装了 VsCode 开发环境和终端界面,都是在线运行的,使用非常丝滑。

2024-09-27 17:57:23 317

原创 【linux】regulartor-fixed

作用:创建一个固定的 regulator。一般是一个 GPIO 控制了一路电,只有开(enable) \ 关(disabled)两种操作。

2024-09-25 18:26:35 784

原创 《汇编语言》第14章——实验 14访问CMOS RAM

编程,以“年/月/日 时:分:秒”的格式,显示当前的日期、时间。

2024-09-24 00:39:39 584

原创 《汇编语言》第13章——实验 13 编写、应用中断例程

(1)编写并安装 int 7ch 中断例程,功能为显示一个用0结束的字符串,中断例程安装在 0:200 处。参数:(dh)=行号,(dl)=列号,(cl)=颜色,ds:si指向字符串首地址。以上中断例程安装成功后,对下面的程序进行单步跟踪,尤其注意观察int、iret 指令执行前后 CS、IP 和栈中的状态。

2024-09-23 10:50:52 389

转载 【linux】regulator子系统

【代码】【linux】regulator子系统。

2024-09-14 17:33:30 358

原创 【test】android 设备树获取

【代码】【test】android 设备树获取。

2024-09-13 16:45:17 291

转载 【shell】高级 Shell 脚本技术

实现自定义错误消息,以便在出现问题时提供更多背景信息。exit 1;

2024-09-13 09:57:43 195

转载 【linux】devfreq 内核框架介绍

devfreq框架存在的意义,是为了将调频逻辑的公共部分,比如数据结构,调频方法等抽象出来,减少重复代码的产生,方便驱动工程师实现设备的调频操作。我们这里将有调频需求的设备称为device_freq,以便后续的讨论。有了devfreq框架,驱动工程师只需要按照devfreq框架提供的函数原型,实现具体设备的具体调频操作,同时选取合适的governor,并将device_freq和底层调频方法一同注册进devfreq框架,就能够实现调频。这里的governor ,其实指的是不同的调频策略。

2024-09-06 17:11:57 437

转载 【linux】Regulator子系统

Regulator指的是稳定器,有电压稳定器及电流稳定器两种,能够自动维持恒定电流或者电压。其中,电压稳定器voltage regulator在电路中比较常见。从设备驱动的角度来看,regulator的控制比较简单,主要有enable/disable/输出电压或电流大小的控制。Linux利用regulator framework对regulator进行管理和控制。

2024-09-04 15:00:24 555

原创 《汇编语言》第12章——实验12编写子程序号中断的处理程序

编写 0号中断的处理程序,使得在除法溢出发生时,在屏幕中间显示字符串“divide error!要求:仔细跟踪调试,在理解整个过程之前,不要进行后面课程的学习。然后返回到 DOS。

2024-09-03 13:51:42 315

sshfs-sshfs-sshfs

sshfs-win:https://github.com/billziss-gh/sshfs-win/releases winfsp:https://github.com/billziss-gh/winfsp/releases SSHFS-Win Manager:https://github.com/evsar3/sshfs-win-manager/releases 原文链接:https://blog.youkuaiyun.com/qq_45698138/article/details/139198521

2024-06-07

磁盘分析软件(C盘爆满精确清理必备)-SpaceSniffer

C盘扫描

2024-05-20

串口调试工具包括网络编程

串口调试工具包括网络编程

2023-04-13

tcp服务器-select比较报文数

https://blog.youkuaiyun.com/qq_45698138/article/details/129749403?spm=1001.2014.3001.5502

2023-03-29

ring-log内核双向循环链表实现环形日志-6M缓冲区-proc接口-读取写入日志

https://blog.youkuaiyun.com/qq_45698138/article/details/129739902?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22129739902%22%2C%22source%22%3A%22qq_45698138%22%7D

2023-03-29

linux api man pages chm

linux api man pages chm

2023-03-09

ubus-编译脚本-参考文档

shell脚本自动化编译

2023-03-08

arm-linux交叉编译工具

arm-linux交叉编译工具

2022-06-21

单链表操作sigle-list.h

单链表增删查改

2022-05-17

linux内核链表list.h

内核链表

2022-05-17

组合数据类型的购物小程序c语言

C语言入门

2022-04-23

60seconds count-down.7z

60秒倒计时-单片机

2021-11-01

空空如也

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

TA关注的人

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