denglin12315
码龄14年
关注
提问 私信
  • 博客:335,469
    335,469
    总访问量
  • 221
    原创
  • 831,168
    排名
  • 101
    粉丝
  • 2
    铁粉

个人简介:热爱技术和比较古老的游戏

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:四川省
  • 加入CSDN时间: 2010-11-26
查看详细资料
个人成就
  • 获得109次点赞
  • 内容获得34次评论
  • 获得767次收藏
  • 代码片获得1,146次分享
创作历程
  • 3篇
    2023年
  • 98篇
    2022年
  • 153篇
    2021年
成就勋章
TA的专栏
  • HSA
    付费
  • LINUX 内核机制
    付费
  • 算法
    3篇
  • 自制编译器cbc
  • OpenCL
  • docker
  • CUDA
  • git工具
  • DRM
  • 编译链接
  • IOMMU和虚拟化
  • 网络协议
  • 开发OS
  • X86架构和指令
  • C语言小众知识点
  • 图像处理相关
  • EDKII
  • 并行编程
  • armv7硬件
  • shell编程
  • C用户态编程知识
  • 软件工具
  • PCI/PCI-E
  • 硬件协议
    4篇
  • Cmake
    2篇
  • python+numpy+tensorflow+opencv
    4篇
  • 软件设计思想
    2篇
  • C++总结
    9篇
兴趣领域 设置
  • 人工智能
    机器学习
  • 嵌入式
    嵌入式硬件
  • 硬件开发
    驱动开发arm开发硬件架构
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

pr_debug打印输出

将xxxx_function里面调用pr_debug的地方使能输出,我们在kernel dmesg里面就能看到这条语句的打印。里面会列出内核里面使用pr_debug的所有地方。里面包括xxxx_function里面调用pr_debug的地方。
原创
发布博客 2023.03.17 ·
1191 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

VIM快速跳转

例如,"6fm"表示移动到光标右边的第6个'm'字符上。f 命令移动到光标右边的指定字符上,例如,"fm",会把移动到光标右边的第一个'm'字符上。w b 跳转到下个/上个单词的第一个字符处。t 命令和”f“命令的区别在于,它移动到光标右边的指定字符之前。T 命令是”t“命令的反向版本,它移动到光标右边的指定字符之后。, 命令会反方向重复前一次输入的f, t, F, T命令。F 命令则反方向查找,也就是移动到光标左边的指定字符上。命令重复前一次输入的f, t, F, T命令,
原创
发布博客 2023.01.10 ·
2720 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

VIM缓冲区

其中u表示这个缓冲区是vim软件(及其插件)本身打开的缓冲区,而不是用户为了编辑某个文件打开的缓冲区。特别的,如果用户只想查看自己打开的缓冲区,直接用":ls"命令即可;通过buffer编号或者buffer对应的file_path选择某个缓冲区,并在当前窗口覆盖显示选定的buffer。通过:bn / :bp / :blast / : bfirst切换缓冲区(所有缓冲区循环滚动)(1) 最前面的每行1,2,3,4表示缓冲区的编号;--> 删除指定范围的缓冲区。--> 卸载指定范围的缓冲区。
转载
发布博客 2023.01.08 ·
1270 阅读 ·
2 点赞 ·
0 评论 ·
5 收藏

Linux hash表和hlist

linux hash和hlist
原创
发布博客 2022.10.28 ·
479 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux kernel如何获取PID

/获取线程pid描述符。// 传入进程任何一个线程pid, 并查找进程PID(就是进程中leader线程的PID)
原创
发布博客 2022.10.26 ·
1667 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

shell遍历目录并提取子目录/文件名字

{file//dir/path}:将全部dir 替换为 path:/path1/path2/path3/my.file.txt。${file/dir/path}:将第一个dir 替换为path:/path1/dir2/dir3/my.file.txt。${file#*/}:删掉第一个 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt。${file%.*}:删掉最后一个 . 及其右边的字符串:/dir1/dir2/dir3/my.file。单一符号是最小匹配;
原创
发布博客 2022.10.09 ·
7534 阅读 ·
4 点赞 ·
1 评论 ·
40 收藏

Linux 开发常用网站

2.linux kernel源码在线阅读。3.linux kenel源码下载。4.ubuntu 发行版内核开发包。1. 根据命令查安装包。
原创
发布博客 2022.09.28 ·
532 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Linux Initrd

ramdisk就是将内存的一部分分配为一个分区并作为硬盘来使用。对于系统运行时不断使用的程序,将它们放在ramdisk中将加快计算机的操作,如大数据量的网络服务器、无盘工作站等。
原创
发布博客 2022.09.28 ·
239 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

EDKII加载bin文件并运行

kernel.asm文件的代码会将屏幕填充为蓝色。
原创
发布博客 2022.09.13 ·
420 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

vscode C++ IntelliSense插件配置compile_commands.json

本篇文章是的姊妹篇,ccls的配置相对来说更复杂,并且不支持gdb调试,所以这里再写一篇通过配置微软官方的C++ IntelliSense插件实现compile_commands.json解析,从而加快代码解析速度。
原创
发布博客 2022.09.12 ·
4904 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

EDKII实现bmp图片加载并显示的应用程序

1.EDKII 支持BGR32作为原始数据的BMP图片2.所以,我们需要先找到或者自己制作一张满足这个要求的BMP图片3.这里,我们采用自己制作BMP图片的方式,制作过程分为两骤(实现代码如下):a.用ffmpeg将.png图片转换成BGRA原始数据b.编写一个将BGRA数据组装成BMP图片的程序。
原创
发布博客 2022.09.06 ·
875 阅读 ·
2 点赞 ·
1 评论 ·
4 收藏

C语言结构体的存储空间分配

1.如果某个机器的整型值长度为4个字节,那么结构体的起始存储位置必须能被4整除。2.编译器按照成员列表的顺序一个接一个地给每个成员分配内存。其中对于各个成员,编译器根据其类型分配赋予对其要求,比如char成员,按地址能被1整除对齐;short成员,按地址能被2整除对齐;int成员,按地址能被4整除对齐......3.编译器在存储结构体成员时,为了满足各个成员的正确边界对齐要求,会在成员之间添加用于填充的额外内存空间。
原创
发布博客 2022.09.05 ·
4085 阅读 ·
3 点赞 ·
0 评论 ·
9 收藏

POSIX线程使用signal模拟“中断“处理流程

1. 与中断handler对应的,信号也有handler。每个特定的中断对应一个handler,每个特定的信号也对应一个handler。2. 中断通过硬件或者int指令等方式触发handler执行,信号通过pthread_kill向某个线程发送信号触发handler执行。该线程收到信号后,会打断当前执行流并跳转到信号handler执行,之后返回到当前执行流。......
原创
发布博客 2022.08.31 ·
540 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

lscpu命令信息解读

但是随着处理器的增加,共享内存可能会导致内存访问冲突越来越厉害,且如果内存访问达到瓶颈的时候,性能就不能随之增加。在物理分布上,NUMA node的处理器和内存块的物理距离更小,因此访问也更快。所以使用NUMA的模式如果能尽量保证本node内的CPU只访问本node内的内存块,那这样的效率就是最高的。BGA为CPU集成在主板上,不可拆卸式的。core:core是物理概念,一个独立的硬件执行单元,对应于物理CPU(但是是多个core集成在一个真正的物理CPU中),也是处理器芯片上的独立计算核心。...
原创
发布博客 2022.08.29 ·
1030 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

UEFI第一话:运行环境搭建

【代码】UEFI第一话:运行环境搭建。
原创
发布博客 2022.08.27 ·
367 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

如何获取一个目录下的子文件和子目录

【代码】如何获取一个目录下的子文件和子目录。
原创
发布博客 2022.08.24 ·
940 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux Completions - “wait for completion” barrier APIs

If you have one or more threads that must wait for some kernel activity to have reached a point or a specific state, completions can provide a race-free solution to this problem. Semantically they are somewhat like a pthread_barrier() and have similar use-
转载
发布博客 2022.08.24 ·
506 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

XV6内核线程与进程切换过程

2. 期间两次调用swtch()函数,分别完成: 进程1 context->sechduler context和sechduler context->进程2 context的切换;1. 进程切换通过scheduler()内核线程中转实现;
原创
发布博客 2022.08.20 ·
249 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

DRM TTM概述

4.struct ttm_tt —— 对于应用程序来说,并不会关心内存设备和驱动,它们关心的是能够写入数据的虚拟内存;但对于显卡来说,它关心显存或映射为显存的内存,所以,把虚存和显存绑定在一起的一个对象就呼之欲出了,这就是ttm_tt。3.struct ttm_buffer_object —— TTM每分配一块内存,不管在系统内存中还是在显卡内存中,都会创建一个ttm_buffer_object对象,代表这块内存的实体,处理数据的放置和CPU映射。约定,这里说的显存包括VRAM和GTT。...
原创
发布博客 2022.08.18 ·
1440 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

设置UBUNTU默认启动的内核版本

该命令会自动更新/boot/grub/grub.cfg。二.设置默认启动的内核条目。一.可启动的内核条目。
原创
发布博客 2022.08.18 ·
4084 阅读 ·
1 点赞 ·
0 评论 ·
6 收藏
加载更多