Leenux0810
码龄7年
关注
提问 私信
  • 博客:162,332
    162,332
    总访问量
  • 25
    原创
  • 106,182
    排名
  • 67
    粉丝
  • 0
    铁粉
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2018-05-24
博客简介:

weixin_42296411的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    3
    当前总分
    277
    当月
    1
个人成就
  • 获得152次点赞
  • 内容获得18次评论
  • 获得522次收藏
  • 代码片获得345次分享
创作历程
  • 9篇
    2024年
  • 1篇
    2022年
  • 15篇
    2021年
  • 2篇
    2018年
成就勋章
TA的专栏
  • Linux
    8篇
  • 笔记
    1篇
  • RTOS
    1篇
  • arm
    1篇
  • 其他
    1篇
  • Python
    4篇
  • OPenCV
    2篇
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

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

mmap引起的内存泄漏分析

根据客户提供的/proc/meminfo数据发现,MemAvailable 由294072kB减小至18128kB,减小约269MB,引起该变化的最直接原因是PageTables由61416KB增加到了334460kB,增加约266MB。同时观察Aon和Slab的变化,均未出现明显的增加,由此可判定,内存单纯的消耗在了PageTables项了。为进一步分析,让客户提供了/proc/vmallocinfo信息,发现ioremap的次数并不多,所以推测可能是用户态做了重复的mmap映射,并让客户自查代码。
原创
发布博客 2024.06.14 ·
362 阅读 ·
7 点赞 ·
0 评论 ·
2 收藏

trace32 显示用户进程用户态调用栈

trace32 显示用户进程用户态调用栈。
原创
发布博客 2024.06.05 ·
516 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

一个panic问题引起对percpu变量的思考

最近在分析一个panic问题时,发现panic现场无法与log对应起来。
原创
发布博客 2024.05.14 ·
944 阅读 ·
21 点赞 ·
0 评论 ·
9 收藏

linux container_of宏

通过Student stu定义stu变量后,我们可以通过stu.id或stu.name来获取stu的成员。但如果想反过来,通过stu.id或者stu.name来获取stu的起始地址好像就没那么简单了,linux中的container_of宏的作用就是为解决此问题而生的。idPtr实际就是stu变量的地址,namePtr对应的是stu.name地址,mathPtr对应的是stu.math地址。ptr: 第三个参数member的地址,这里可以理解为&stu.id或&stu.name;
原创
发布博客 2024.05.08 ·
406 阅读 ·
7 点赞 ·
0 评论 ·
3 收藏

关于Linux内核code段被改写的原因分析

本文基于Linux-4.19.125, ARM V7,dual core。
原创
发布博客 2024.04.09 ·
783 阅读 ·
7 点赞 ·
0 评论 ·
24 收藏

linux fixmap分析

Linux内核启动过程中,经过汇编阶段后,mmu功能已经开启,后续只能通过虚拟地址来访问DDR,但是此时能够访问的地址范围有限,只有idmap和swapper部分可以找到物理地址,其他没有通过MMU映射的虚拟地址是无法访问的。fixmap就是为了解决在正式建立所有物理内存映射之前,实现early console、FDT映射、early ioreamp、paging init等过程中使用虚拟地址问题的。
原创
发布博客 2024.04.08 ·
288 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

linux启动之__lookup_processor_type

_lookup_processor_type_data描述了__proc_info的信息:1. __lookup_processor_type_data地址;2. __proc_info_begin地址;3. __proc_info_end地址;4. __lookup_processor_type_data的大小;/** Note!* NOTE!*/
原创
发布博客 2024.03.29 ·
804 阅读 ·
5 点赞 ·
0 评论 ·
13 收藏

linux struct pt_regs结构体

【代码】linux struct pt_reg结构体。
原创
发布博客 2024.03.29 ·
628 阅读 ·
3 点赞 ·
0 评论 ·
5 收藏

Linux启动之__mmap_switched

总结下来,主要干了两件事情:1. 清除.bss2. 保存process ID/Machine type/DTB地址。
原创
发布博客 2024.03.28 ·
155 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

gdb 定位coredump中so库的位置

libddd.c#include <stdio.h>#include <string.h>int fun_dll(){ void *pTmp = NULL; printf("In dll
"); memcpy(pTmp, 0, sizeof(100)); return 1;}gdbso.c#include <dlfcn.h> #include <stdio.h>typedef int (*LPFun) (
原创
发布博客 2022.03.12 ·
4708 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

Linux pstore实现自动“抓捕”内核崩溃日志

说明:本文基于内核:linux-4.19.125概述最近因工作关系,启用了linux的pstore功能。pstore的主要功能是存储linux内核崩溃前的内核日志,具体可参考内核文档介绍:linux-4.19.125\Documentation\admin-guide\ramoops.rst也可以参考宋宝华老师的博客:Linux pstore 实现自动“抓捕”内核崩溃日志_宋宝华-CSDN博客在原理方面,宋宝华老师写的非常详细。我这里仅记录我的操作总结。总体来说,分为4步
原创
发布博客 2021.10.22 ·
6452 阅读 ·
5 点赞 ·
5 评论 ·
22 收藏

在glibc中添加自定义so

需求在glibc中添加一个mytest so文件1. 创建mytest文件夹~/projects/tstglib/glibc-2.25$ mkdir mytest2. 修改Makefile~/projects/tstglib/glibc-2.25$ vi Makeconfig2.1 确保生成libmytest.so# List of non-library modules that we build.built-modules = iconvprogs iconvdata l..
原创
发布博客 2021.09.17 ·
361 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Linux Hung Task分析

Linux Hung Task分析来源:Linux Hung Task分析本文章向大家介绍Linux Hung Task分析,主要包括Linux Hung Task分析使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。经常会遇到内核打印“INFO: task xxx:xxx blocked for more than 120 seconds.”这样的log信息,这是内核的hung task机制在起作用。hung task机制通过内核线程khungt
转载
发布博客 2021.09.14 ·
1091 阅读 ·
0 点赞 ·
0 评论 ·
7 收藏

编译busybox

本文基于:busybox-1.32.0交叉编译器:arm-linux-gnueabi-下载busybox-1.32.0后解压:tar xjvf busybox-1.32.0.tar.bz2选择[*] Build static binary (no shared libs)保存退出,生成.config文件。编译# make CROSS_COMPILE=arm-linux-gnueabi-# make install CROSS_COMPILE=arm-linux.
原创
发布博客 2021.09.10 ·
242 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

busybox添加自定义applet

本文基于:busybox-1.32.0添加自定义applet的说明请参考busybox源码下的 docs/new_applet-HOWTO.txt 文档步骤:(1) 、在适当的目录编写 applet 代码#~/projects/busybox-1.32.0$ mkdir myapplet#~/projects/busybox-1.32.0$ cd myapplet#~/projects/busybox-1.32.0/myapplet$ vi myapp.cmyapp.c#inc
原创
发布博客 2021.09.10 ·
408 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

Linux kernel模块(.ko)实现unix domain socket通信(server)

Linux kernel模块(.ko)实现unix domain socket通信(server)ko server代码:srv.c#include <linux/module.h>#include <linux/kernel.h>#include <linux/init.h>#include <linux/socket.h>#include <linux/net.h>#include <linux/un.h>
原创
发布博客 2021.09.08 ·
864 阅读 ·
2 点赞 ·
0 评论 ·
3 收藏

scatter load.docx

发布资源 2021.05.18 ·
docx

[转]ARM MOV指令对立即数的要求

MOV R1,#9 以上指令表示把9传送到寄存器R1中。需要注意的是,这里的立即数是有要求的,不是说任何一个立即数都可以。要求是:立即数可以由一个8位的常数循环右移偶数位得到。其中循环右移的位数由一个4位二进制的两倍表示。如果立即数记作immediate,8位常数记作immed_8,4位的循环右移值记作rotate_imm,则immediate=immed_8循环右移(2*rotate_imm)所以,MOV r0, #0xFF, 2这里2是循环右移数,必须...
转载
发布博客 2021.05.08 ·
1452 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

RT-Thread MDK开发环境搭建

1. MDK安装MDK下载路径:https://www.keil.com/download/product/注意:安装路径不能有空格否则会安装失败。安装成功2.Keil MDK模拟器STM32F103下载地址:https://www.rt-thread.org/document/site/tutorial/quick-start/stm32f103-simulator/rtthread_simulator_v0.1.0.7z然后等待导入结束3. 下..
原创
发布博客 2021.05.02 ·
2657 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

标准及论文获取方法

标准及论文是工程师进行研发及创新的重要依据。标准可以分为国际标准、国家标准、行业标准、地方标准或团体标准等不同的层级,论文也包括会议论文及期刊论文等不同类型。1 国际标准国际标准是指国际标准化组织(ISO)、国际电工委员会(IEC)和国际电信联盟(ITU)制定的标准,以及国际标准化组织确认并公布的其他国际组织制定的标准。比如我们熟悉的3GPP制定的LTE-Advanced标准,经过ITU评估认证为IMT-Advanced后,才正式确认为国际认可的4G标准,在全世界范围内通用。1.1 ITU国
原创
发布博客 2021.04.30 ·
724 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏
加载更多