自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 问答 (1)
  • 收藏
  • 关注

原创 学习记录

学习记录

2022-12-20 11:11:30 83

原创 devmem 没有权限读地址

CONFIG_STRICT_DEVMEM

2022-11-14 10:03:04 490

原创 spin lock irqrestore中为什么先开中断后开抢占

这里写自定义目录标题如果先开抢占欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入如果先开抢占如果先开了抢占,那么就会产生一个调度点,此时如果一个高优先级的任务得到调度,并且很快执行完毕,进入

2020-12-27 22:18:48 221

原创 segment fault时如何生成core文件,从而定位哪里double free

(1)ulimit -c 1024(2)执行a.out会在当前目录下生成core文件(3)gdb ./a.out ./core按下bt,可以看到哪行代码double free了

2020-12-09 21:37:43 280

原创 double free or corruption (!prev)定位方法

malloc (0x100000 - n)大小的内存,memset时传入大小为0x100000,报double free or corruption (!prev),定位方法如下:第一步:valgrind --lead-check=full --show-leak-kinds=all --undef-value-errors=no --log-file=log a.out第二步:然后查看生成的log文件第三步:从log文件中找到Invalid read of size 这样的字样,可以看到哪行有

2020-12-09 21:16:48 5762 1

原创 signal_pending 为1,但是current->pending.signal.sig[0]却为0

此种场景是按下ctrl c后,在close函数中有次现象

2020-12-08 21:43:55 132

原创 make-kpkg命令--linux内核头文件生成过程并填坑

前言编译Linux驱动,内核头文件是必不可少的,这里根据开发经验,介绍生成linux headers的过程.操作步骤( 在root帐号,以ARM64平台为例):1. 解压内核源码2. 执行make my_defconfig 生成.config,这里我把交叉编译工具配置好了,也就是CONFIG_CROSS_COMPILE,同时CONFIG_ARM64=y3.执行make -j32 编译内核4.执行make-kpkg --initrd --cross-compile aarch6..

2020-10-04 16:53:17 3141

原创 nm命令学习-看不到static的函数符号表原因分析

https://blog.csdn.net/lgfun/article/details/103600880?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task问题:nm -A -l a.out出现如下信息:0000000020 r func...

2020-03-27 10:05:42 1346

原创 strip命令学习笔记

readelf -S 看到的.debug_info 存放DWARF中的调试信息 readelf --debug-dump将调试相关的段dump出来 strip --strip-debug会将ELF文件的debug相关的section删除,大大缩减了文件的体积。 readelf -S filename 可以将filename的section信息读出来,并且可以清晰的...

2020-03-26 10:16:46 972 1

原创 使用CMakelist将多个静态库编译成动态库时找不到符号

https://www.cnblogs.com/zl1991/p/9437192.htmlhttps://cmake.org/pipermail/cmake/2016-May/063509.html根据以上两篇文章可以找到答案,但本文倾向于定位方法。前置知识:(1)ld 的链接规则是 "未定义的符号往后找"(2)链接静态库时,只会将编译时用到的符号添加进动态库,有些符号...

2020-03-26 00:52:51 5271 1

原创 时钟中断处理完成后,如何进行抢占调度的?

当系统收到中断后,会通过中断向量表跳转到中断处理函数中。例如执行到el1_irq,会执行irq_handler。当从irq_handler返回后,中断处理函数就完成了,此时产生一个抢占点,首先ldr w24, [tsk, #TSK_TI_PREEMPT]读取当前进程struct task_struct中的premmpt_count值,如果为0表示可以抢占调度,不为0的话,说明已经被抢占了,不能...

2020-03-14 23:55:22 541

原创 check_preempt_tick 抢占调度理解

1、概述check_preempt_tick的作用是根据当前进程已经运行的时间,判断是否需要将进程thread info结构体的flag通过resched_curr设置为TIF_NEED_RESCHED。这样在执行完本次时钟中断后(即从handle irq返回后),根据需要进行重新调度。2、对该函数的理解此函数共有4个返回的地方,从前到后依次说明:(1)运行超时了,设置TIF_NE...

2020-03-14 20:01:32 796

原创 pci驱动框架模版demo

第三个

2017-05-24 21:28:48 650

空空如也

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

TA关注的人

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