痒痒挠963
码龄11年
关注
提问 私信
  • 博客:353,030
    问答:1,476
    354,506
    总访问量
  • 47
    原创
  • 473,087
    排名
  • 108
    粉丝
  • 3
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2014-03-29
博客简介:

u014426028的博客

查看详细资料
个人成就
  • 获得233次点赞
  • 内容获得26次评论
  • 获得1,407次收藏
  • 代码片获得199次分享
创作历程
  • 40篇
    2021年
  • 109篇
    2020年
  • 25篇
    2019年
  • 5篇
    2018年
  • 2篇
    2015年
成就勋章
TA的专栏
  • 内存管理
    3篇
  • Linux
    2篇
  • Android
    3篇
  • Gerrit
    1篇
  • Shell
    1篇
  • linux问题定位
    2篇
  • PCIe
    5篇
  • Linux设备驱动
    1篇
  • 设备树
    1篇
  • Linux GIC
    1篇
  • linux基础
    4篇
  • 图像
    1篇
兴趣领域 设置
  • 网络空间安全
    系统安全
创作活动更多

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

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

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

设备树解析过程

linux设备驱动程序-设备树(1)-dtb转换成device_node - 牧野星辰 - 博客园linux设备驱动程序-设备树(2)-device_node转换成platform_device - 牧野星辰 - 博客园linux设备驱动程序-设备树(3)-设备树多级子节点的转换 - 牧野星辰 - 博客园...
转载
发布博客 2021.10.28 ·
638 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

1025 todos

1025 jobs todo.https://blog.csdn.net/callinghl/article/details/46470265https://blog.csdn.net/callinghl/article/details/46471655https://blog.csdn.net/callinghl/category_5584381.htmlhttp://blog.chinaunix.net/uid-20799298-id-99666.htmlhttps://blog.csdn..
原创
发布博客 2021.10.25 ·
333 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

uboot2012(一)分析重定位

uboot2012(一)分析重定位 - zongzi10010 - 博客园引入#关于移植,搜索关键英文词语portting移植简单的介绍在readme中,手册是它的使用帮助代码仓库地址 02-uboot重定位加入自己的代码环境配置#这里使用编译工具arm-linux-gcc-4.3.2.tar,具体安装参考更换gcc工具链.md编译体验#Copymake smdk2410_config make 入口查找#我们可以从顶层Makefile开始分析,也可以
转载
发布博客 2021.10.22 ·
510 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Linux内核空间与用户空间信息交互方法

摘要:在进行设备驱动程序,内核功能模块等系统级开发时,通常需要在内核和用户程序之间交换信息。Linux提供了多种方法可以用来完成这些任务。本文总结了各种常用的信息交换方法,并用简单的例子演示这些方法各自的特点及用法。其中有大家非常熟悉的方法,也有特殊条件下方可使用的手段。通过对比明确这些方法,可以加深我们对Linux内核的认识,更重要的是,可以让我们更熟练驾御linux内核级的应用开发技术。内核空间(kernel-space) VS用户空间(user-space)作为一个Linux开发者,首先.
转载
发布博客 2021.10.20 ·
861 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

内存管理——页表

Linux内核页表管理-那些鲜为人知的秘密1.开场白 环境: 处理器架构:arm64 内核源码:linux-5.11 ubuntu版本:20.04.1 代码阅读工具:vim+ctags+cscope 通用操作系统,通常都会开启mmu来支持虚拟内存管理,而页表管理是在虚拟内存管理中尤为重要,本文主要以回答几个页表管理中关键性问题来解析Linux内核页表管理,看一看页表管理中那些鲜为人知的秘密。2.页表的作用是什么?1)地址转换将虚拟地址转换..
转载
发布博客 2021.10.18 ·
13138 阅读 ·
14 点赞 ·
0 评论 ·
65 收藏

在shell或bash执行一个bin文件或者脚本的流程

作者:刘长元链接:https://www.zhihu.com/question/430325644/answer/1575817073来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。本回答基本上是从下面这篇文章翻译而来,但是没有完全照抄,而是加了一些相关资料和我的想法。我也不搬英文原文过来了,有兴趣的可以直接点进去看。https://0xax.gitbooks.io/linux-insides/content/SysCall/linux-syscall-4.h.
转载
发布博客 2021.10.13 ·
3205 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

内存管理——高端内存

作者:文松链接:https://www.zhihu.com/question/280526042/answer/1615449221来源:知乎一、高端内存的由来(为什么需要高端内存)在32位地址时代,最大可寻址0xFFFFFFFF,即4GB,因此虚拟地址空间有4GB,通常32位Linux内核地址空间划分0~3G为用户空间,3~4G为内核空间,即Linux内核虚拟地址空间只有1G。32位地址空间实际的计算机体系结构有硬件的限制,这约束了页框的使用方式,其中,Linux内核必须处理x.
转载
发布博客 2021.10.13 ·
1778 阅读 ·
2 点赞 ·
0 评论 ·
8 收藏

内存管理——初始化流程

arm linux中memblock与mem_map的初始化memblock和mem_map是linux内存管理中非常重要的两个全局变量。memblock保存着所有物理内存区域,包括可用的(memory)与保留的(reserved)。mem_map是全局page数组,物理内存每个页对应一个page结构体,顺序存储在mem_map中。1 memblock初始化可用的物理内存区域由bootloader通过dts传递给kernel,节点名称是“memory”。这个节点的内容可以由用户指定,也有可能是用
转载
发布博客 2021.10.13 ·
1204 阅读 ·
0 点赞 ·
0 评论 ·
6 收藏

内存管理 kmalloc

section 0 preface用户态的heap,是由glibc实现的,内核则自力更生的,所以内核的heap差别挺大的。从最直观的角度去看,在进行内核模块编写的时候,我们可以调用的heap相关函数,是kmalloc()以及kfree(),那么我们就从kmalloc()函数出发吧。本文会涉及kmalloc、linux的伙伴系统,涉及大量的kernel源码阅读。linux/ Source Tree - Woboq Code Browser​code.woboq.org/linuxsecti
转载
发布博客 2021.10.12 ·
4216 阅读 ·
2 点赞 ·
1 评论 ·
27 收藏

getprop setprop初步探索

https://blog.csdn.net/heqiangflytosky/article/details/69432749Android getprop 和 setprop 可以对系统属性进行读取和设置。通过串口执行以下 getprop 打印出来的属性让你一目了然。属性出来了,但是在哪里设置的呢,这里有两个地方:一个是配置文件读取的,一个是系统动态获取的。...
转载
发布博客 2021.08.21 ·
416 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Makefile中创建一个以当前时间为文件夹名的文件

TIMESTAMP=$(shell date +%Y%m%d%H%M)mkdir $(OUTPUT)/Myfile_$(TIMESTAMP)其中踩得坑是在给变量TIMESTAMP赋值时,使用的是TIMESTAMP=$(date +%Y%m%d%H%M)导致TIMESTAMP一直为空。Makefile中利用shell的方式来给变量赋值的两种方法一、 AA = $(shell pwd)二、AA = `pwd`第一种方法赋值是先执行shell命令,将命令运行的结果赋值第二.
原创
发布博客 2021.08.06 ·
1910 阅读 ·
1 点赞 ·
0 评论 ·
18 收藏

zip 后压缩包带路径

情形:使用zip压缩文件时,发现如果不是在文件所在目录中压缩,比如zip -r /home/Me/out/file.zip /home/Me/out/filefile.zip中会带有路径/home/Me/out/file,man zip 发现-j选线-j--junk-paths Store just the name of a saved file (junk the path), and do not store direct...
转载
发布博客 2021.08.06 ·
3148 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

Gerrit修改前一次提交的方法

方法一:用--amend选项(HY亲测有效,可以不用abandon了)① #修改需要修改的地方② git add .③ git commit --amend (注意是两个--)④ git push origin HEAD:refs/for/XXXXXXX这种方式可以比较方便的保持原有的Change-Id,推荐使用。...
原创
发布博客 2021.07.19 ·
998 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Shell脚本定义变量和重新赋值

定义变量时,变量名不加美元符号($),如:variableName="value"注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:•首个字符必须为字母(a-z,A-Z)。•中间不能有空格,可以使用下划线(_)。•不能使用标点符号。•不能使用bash里的关键字(可用help命令查看保留关键字)。变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界,比如下面这种情况:for skill in Ada
原创
发布博客 2021.07.17 ·
5680 阅读 ·
2 点赞 ·
0 评论 ·
3 收藏

Shell脚本-tr 将大写字母变为小写

TARGET_DEVICE="Hello"LOWER_TARGET_DEVICE=$(echo $TARGET_DEVICE | tr "[:upper:]" "[:lower:]")以上命令将Hello变为hello赋值给LOWER_TARGET_DEVICE。----------------------------------------------------------------------------------------------------------------------
原创
发布博客 2021.07.16 ·
825 阅读 ·
1 点赞 ·
0 评论 ·
6 收藏

ATF(ARM Trusted firmware)完成启动流程

ATF将系统启动从最底层进行了完整的统一划分,将secure monitor的功能放到了bl31中进行,这样当系统完全启动之后,在CA或者TEE OS中触发了smc或者是其他的中断之后,首先是遍历注册到bl31中的对应的service来判定具体的handle,这样可以对系统所有的关键smc或者是中断操作做统一的管理和分配。ATF的code boot整个启动过程框图如下:  在上述启动过程中,每个Image跳转到写一个image的方式各不相同,下面将列出启动过程中每个image跳转到下一个image的过程
转载
发布博客 2021.06.19 ·
12658 阅读 ·
11 点赞 ·
0 评论 ·
95 收藏

Shell脚本 批量修改目录下若干文件名

#! /bin/bash#ll > name.txtStr="bootanimation_"function read_dir(){for file in `ls $1` #注意此处这是两个反引号,表示运行系统命令do if [ -d $1"/"$file ] #注意此处之间一定要加上空格,否则会报错 then read_dir $1"/"$file else echo $file #在此处处理文件即可# if [[ $file =~ $Str ]]if [[ $file .
转载
发布博客 2021.06.11 ·
1674 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

ARM上电启动

为了让将来的 Nor Flash 兼容性更好,引进了 CFI (Common Flash Interface)接口,将芯片有关的信息都写入芯片内部,通过 CFI 命令就可以获取这些信息。Nor Flash上电后处于数据读取状态(Reading Array Data)。此状态可以进行正常的读。这和读取SDRAM/SRAM/ROM一样。在完成信息获取后一般就要擦除数据。 Nor Flash支持扇区擦(Sector Erase)除和整片擦除(Chip Erase)。DQ7:Data# Polling.
原创
发布博客 2021.06.03 ·
1056 阅读 ·
1 点赞 ·
0 评论 ·
7 收藏

2021-04-08

1. bootchart 简介bootchart 是一个用于 linux 启动过程性能分析的开源工具软件,在系统启动过程中自动收集 CPU 占用率、磁盘吞吐率、进程等信息,并以图形方式显示分析结果,可用作指导优化系统启动过程。bootchart 让用户可以很直观的查看系统启动的过程和各个过程耗费的时间,以便让用户能够分析启动过程,从而进行优化以提高启动时间。它由 bootchartd 服务和 bootchart-render 两部分组成,后者主要负责生成启动流程的分析结果图。bootcha
转载
发布博客 2021.04.08 ·
775 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

遇到的问题:uboot下,关闭串口前需要printf打印一个“UART BUS OFF!!!”提示信息,但是打印不出来

https://blog.csdn.net/wenjin359/article/details/84100150https://blog.csdn.net/ce123_zhouwei/article/details/7364294详解U-Boot中printf函数的实现一、printf函数调用关系1.1fputc和srial_putc的关系/** Output a single byte to the serial port.*/void serial_putc (const c..
原创
发布博客 2021.04.01 ·
2117 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏
加载更多