自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(143)
  • 资源 (30)
  • 问答 (1)
  • 收藏
  • 关注

原创 Linux 内核设备树 ranges属性

注:上面的设备树代码是随便找的。#address-cells:本节点和父节点的值。注:具体有多少行,根据实际情况来决定。#size-cells:本节点的值。

2024-04-22 18:03:37 44

原创 kmallc、kzalloc、vmalloc使用

vmalloc() 函数则会在虚拟内存空间给出一块连续的内存区,但这片连续的虚拟内存在物理内存中并不一定连续。由于 vmalloc() 没有保证申请到的是连续的物理内存,因此对申请的内存大小没有限制,如果需要申请较大的内存空间就需要用此函数了。kmalloc() 申请的内存位于物理内存映射区域,而且在物理上也是连续的,它们与真实的物理地址只有一个固定的偏移。kzalloc是kmalloc的变种。GFP_ATOMIC:分配内存的过程是一个原子过程,分配内存的过程不会被(高优先级进程或中断)打断;

2024-03-14 16:54:12 39

原创 Linux 相关宏介绍

解释一下Linux里面定义的各种宏。

2024-03-05 16:22:07 360

原创 list_head的使用方法

定义一个list_head类型的head将我们自定义的结构体里面的所有的list_head串起来。后面我们需要的时候,就遍历head变量的所有list_head节点,找到的每一个节点,都使用container_of来找到该节点结构体的首地址,来判断是不是我们找寻的目标。最近用到了list_head,在这里记录一下。如果要搞清楚list_head的使用方法,需要了解container_of的原理。上面代码实现了list_head的增删改查的操作。里面有个我自己定义的删除函数,请忽略。

2024-02-28 18:19:05 134

原创 container_of宏的简介及使用

container_of宏之前看了一下内核里面的使用方法,然后就直接依葫芦画瓢用了。没有深究其实现原理。最近使用list_head的时候,发现也用到了container_of。所以就详细看看container_of的实现原理。那么问题又来了,我们根据结果或者结构体的定义,可以知道这个8是怎么来的。但是我们只知道t.c的地址,和t的类型,怎么来得到这个8呢?结合上面的代码,问个问题,如果我们知道t.c的地址,怎么计算t的地址。计算方式如下:t=t.c-8。

2024-02-28 17:49:29 35

原创 netlink驱动实现单播和广播

netlink的单播和广播demo

2023-07-07 17:57:05 289

原创 关于Linux存储空间异常的问题

1、已有文件被覆盖遮蔽住了:比如你的/data/sdg1目录下面有10G的文件,这个时候,你将U盘挂载到/data/sdg1目录下。那么你通过du -sh去统计的时候,/data/sdg1目录下原有的文件就被隐藏了。但是df -h去统计的时候,/data/sdg1里面原有的内容又能看见。这个时候,如果进程A一直向文件里面写数据,就会导致df -h统计的数据大于du -sh统计的数据。之前的时候,有同事反馈,df -h查看磁盘空间大小的时候,发现和du -sh统计出来的数据不一致。

2023-06-15 15:01:37 241

原创 Linux 遍历文件夹及其子文件夹

【代码】Linux 遍历文件夹及其子文件夹。

2023-06-09 16:25:52 537

原创 shell实现循环操作

【代码】shell实现循环操作。

2023-06-09 10:49:57 968

原创 通过python生成xml

python相关使用方法

2023-05-17 18:13:15 604

原创 Linux shell eval命令

Linux eval命令

2023-05-17 18:04:12 261

原创 Linux /proc/version 文件解析

Linux /proc/version 文件解析

2023-03-29 21:31:02 943

原创 Linux 时区的配置

Linux 时区的配置

2023-03-29 20:52:34 289

原创 yocto 修改 /etc/profile 文件

yocto 修改 /etc/profile 文件

2023-03-29 20:33:56 556

原创 Linux 解析长/短选项参数 getopt_long

Linux 解析长/短选项参数 getopt_long

2023-03-28 20:28:41 349

原创 contain_of的原理与实现

contain_of原理介绍与实现

2023-02-16 23:01:16 1082

原创 Linux C 创建多级目录

mkdir函数接口不能同时创建多级目录。因此上面的函数会进行递归创建。

2023-01-11 21:06:10 2663

原创 Linux 网络相关操作命令

Linux 网络相关操作命令

2022-12-08 09:46:33 344

原创 system获取命令的返回值

通过system执行命令,获取命令的返回值。

2022-12-02 22:39:40 2210

原创 C语言使用xml2库解析xml文件

c语言通过xml2库解析xml文件。

2022-10-31 09:20:28 1793

原创 CRC32校验算法

常用CRC32算法简单实现

2022-10-13 21:09:31 422

原创 systemd查看相关服务信息

systemd查看相关服务信息

2022-10-10 15:28:02 376

原创 添加代码版本控制信息到dmesg里面

添加代码版本控制信息到dmesg里面

2022-10-02 18:00:17 433

原创 yocto FILES_${PN}

yocto FILES_${PN}使用说明

2022-10-02 11:13:15 2689

原创 Linux vlan

vlan简单配置

2022-09-27 19:19:47 516

原创 MD5算法

md5算法用C语言实现

2022-09-22 20:00:00 217

原创 汇编函数完成对参数的处理

汇编函数完成对参数的处理

2022-09-14 20:45:44 307

原创 C语言里面调用汇编代码

在C语言里面调用arm汇编代码

2022-09-08 20:15:35 650

原创 parted命令分区操作

parted分区命令简单使用。

2022-09-06 10:30:09 7497

原创 ARM汇编 printf

arm64汇编hello word例程。

2022-09-05 20:27:04 574

原创 ARM汇编指令 SUB MOV LDR STR

ARM汇编指令 SUB MOV LDR STR学习

2022-08-25 21:27:54 2886

原创 使用脚本dump寄存器的值

dump寄存器的值。主要涉及到的知识点:shell for循环、16进制格式转换

2022-08-25 15:24:06 486

原创 Ubuntu获取命令源码

获取命令源码

2022-08-22 13:48:20 216

原创 Linux 打印栈调用信息

在Linux系统上,应用程序打印堆栈信息。

2022-07-12 18:16:44 1518

原创 Linux获取目录及其子目录的绝对路径

因为某种需要,我们需要获取指定目录及其子目录的绝对路径,可以使用如下命令:以获取/usr/lib目录及其子目录所有文件路径为例:命令:find /usr/lib结果:再获取目录及其子目录的详细信息,这个时候需要用脚本了:#!/bin/bashfor aa in `find /usr/lib`do if [ -d "${aa}" ];then ls -ld ${aa} #对目录单独处理 else

2022-05-16 19:44:38 2263

原创 Linux查看分区label信息

知道分区的label信息,怎么查找到对应的是哪一个设备文件,以userdata分区为例:执行如下命令:/sbin/blkid | grep "userdata" | awk -F'[":"%]+' '{print($1)}'命令输出:Linux的分区label查看方式如下:执行命令:/sbin/blkid输出如下:/dev/sde50: PARTLABEL="multiimgoem" PARTUUID="8c92ee74-0b82-1c43-7c7a-3c2d64f

2022-05-10 16:41:18 1717

原创 Linux查看设备树节点的相关信息

内核升级以后,devices的信息就在设备树里面进行描述了。某些时候,我们可能需要查看当前外设对应的设备树里面配置的信息,比如分辨率、时钟等。在这里做一个记录。比如mmc里面存在如下属性:compatible、bus-width、clock-names、max-frequency上面的属性,有些是string类型,有些是int类型。对于string类型,我们只需要找到对应的文件,直接cat,就能获取对应的信息。对于int类型,我们只需要找到对应的文件,通过hexdump来获取,hexdu

2022-04-28 15:39:34 3214

原创 Linux 查看动态库里面有哪些接口

今天,提供了一个操作底层的动态库给到应用层的同事,应用层的同事反馈找不到接口。因为这个库在协作开发过程中,有点曲折。所以第一时间搞得我也有点不自信了,就先排查了一下是否是自己的问题。排查方式如下:nm libtest.so通过上述命令查看,发现需要的接口已经在库里面实现了。结果如下图:相关符号说明:A Global absolute 符号。a Local absolute 符号。B Global bss 符号。b Local bss 符号。D .

2022-04-26 18:31:15 3463

原创 gdb调试应用程序记录

gdb 调试说明:判断程序是否为debug版本: 方法一: 命令:gdb a.out //注:这里的命令是指在Linux终端下面输入的命令 非debug版本,会提示:Reading symbols from a.out...(no debugging symbols found)...done. debug版本,会提示:Reading symbols from a.out...done.方法二: 命令:readelf -S binfi......

2022-04-20 13:43:00 1132

原创 在库里面实现注册函数回调

因为工作需要,需要做一个升级库,app调用升级库的接口,完成升级。大部分情况下,app需要实时知晓升级的进度。那么获取升级进度有2种方式:1、app主动掉库提供的升级进度接口。2、app向库里面注册一个回调函数,库实时调用回调函数来更新。所谓的在库里面注册回调函数,其实就是app告诉库对应函数的函数指针,库拿到函数指针后,就可以调用对应的函数了。代码结构如下:.├── func.c├── func.h├── main.c└── make.sh代码如下:库代码:func...

2022-04-12 20:12:19 730

Windows搭建nfs的工具及使用说明

Windows搭建nfs的工具及使用说明

2023-10-18

高通QPST软件安装包

高通QPST软件安装包。注:QPST里面包含了QFIL 上传仅仅是为了给自己做个备份。

2022-07-07

高通core dump解析工具

高通core dump解析工具。仅自己上传做个备份。

2022-07-07

在库里面实现注册函数回调

在库里面实现注册函数回调

2022-04-12

动态库静态库测试依赖问题的demo

动态库静态库测试依赖问题的demo

2022-04-12

systemd service中文手册

原链接:http://www.jinbuguo.com/systemd/systemd.service.html

2022-03-02

chrome扩展程序导出

chrome扩展程序导出。我尝试了导出到其他计算机上使用,crx文件提示被损坏。原因未知。

2022-02-08

用代码解压zip文件里面的指定文件

验证平台:Ubuntu 5.4.0-6ubuntu1~16.04.12 功能:./a.out test.zip zImage /dev/mmcblock1p1 功能说明:将zip压缩文件的zImage文件,解压到 /dev/mmcblock1p1 文件里面。 注:代码里面都是通过文件IO来实现读写的,可移植性高。可以直接将文件解压的存储介质的block上面。

2022-01-25

Qualcomm_USB_Driver_v1.0.zip

高通9008/901D驱动,直接点击安装即可使用。

2021-12-21

Draw.io_jb51.rar

出来工作后,发现再也不能用盗版软件了,公司又舍不得出正版的钱,那么就只有用免费的软件了。dram.io就是一个免费的画流程图的软件。用起来感觉还可以。容易上手。

2021-07-16

rtsp.tar.gz

RTSP学习中间产物。这是一个备份文件。不要下载

2021-06-23

i.MX6Q_uboot_keep_logo_to_kernel.tar.gz

这个压缩包里面的内容主要是从NXP官网论坛下载下来的。里面实现了部分内核版本从uboot到kernel的logo延续功能。我的平台是IMX6Q,经过验证,确定可行。因为版本的原因,里面的补丁在实际移植过程中,有些地方可能需要稍微修改一下,具体的要看实际使用的版本。有兴趣的可以直接去NXP论坛上下载。

2021-01-04

git.tar.gz

NXP官方imx7d-linux4.9.88内核最原始的源码。主要是用来提供给技术支持。

2020-03-18

Writing_udev_rules.tar.gz

这个压缩包里面是写udev规则的说明,包含了两个pdf,一个是它的英文原版,一个是翻译后的中文版本。里面介绍了udev相关的信息。例如:KERNEL、NAME、SYMLINK等关键字。

2019-07-28

cpulimit-master.tar.gz

这个压缩包里面实现的代码是设置进程占用CPU的上限。通过这个编译里面的代码加上死循环程序,可以控制CPU的占用率。在测试部分程序,需要CPU在一定的占用率下测试。可以通过这种方式实现。

2019-05-22

嵌入式Linux应用开发完全手册

这个资源是《嵌入式Linux应用开发完全手册》高清扫描版,是购买视频里面的光盘里面的文档。这个文档带书签。讲解很仔细

2019-03-11

linux设备驱动4.0

该压缩包是宋宝华编著的linux设备驱动开发4.0版的PDF。非扫描版本,高清,带书签,可复制。

2019-01-14

Linux设备树使用手册

里面介绍了设备数的基本数据格式,基本概念,如何编址,中断如何工作等。

2019-01-13

QT Creator 第三版 高清+书签+源码

压缩包里面有QT Creator第三版高清PDF,该PDF包含了书签,同时该压缩包里面包含了书中讲解例子的源码,在阅读学习的过程中,结合源码更容易理解。

2018-12-28

stm32f4文档

这个压缩包里面是st官方的chm文档,这个chm文档是英文版原版的。是stm32f4系列的。压缩包里面附带了一个readme文件,这个文件里面介绍了怎么把chm这个英文文档变成中文的,方便阅读。

2018-12-27

skype-Linux聊天软件

skype聊天工具包。这个是Linux版本的。上传至CSDN做个备份。

2018-10-14

提取BMP图片的数据

这个压缩包是一个BMP图片数据提取的C源代码。代码通过读取BMP图片文件,对BMP头信息进行分析,提取图像数据并完整保存到另一个文件,可以直接将图片加载到FB内存显示。 里面有详细的使用说明,同时也提供来部分格式的BMP图片作为验证。

2018-10-13

IMX7-MFGTools

这个文本里面包含了一个MFGTools的官网下载,因为MFGTools下载大概550M,所以放置的是MFGTools的下载链接。亲测可以为IMX7下载。

2018-08-06

IMX7文档集合 Yocto使用教程

压缩包里面包含了多个文档,同时里面有个text文本,文本里面简单的描述了每个文档里面的内容。 主要包含的文档有:i.MX_Linux_User's_Guide、i.MX_Yocto_Project_User's_Guide_Linux、 i.MX_BSP_Porting_Guide、 i.MX_Graphics_User's_Guide、 i.MX Reference Manual、 i.MX Linux® Release Notes等一系列文档。

2018-08-06

STM32F0标准外设函数库手册

里面包含chm原版文件以及解压后的网页文件,原版文件为全英文,中文可通过网页文件使用浏览器进行中文翻译。

2018-04-21

STM32F407+LWIP+DP83848移植例程

该例程是stm32+LWIP+DP83848的一个移植完成的TCP/IP server的无操作系统服务例程。实现了TCP/IP数据的收发。硬件方面,没有使用外部内存,更大众化,只要一块407+DP83848就可以实现。压缩包里面有具体说明文件。

2018-01-13

source-insight4安装破解+图片教程

最新版本的source insight。压缩包里有安装包,licence,破解截图教程。一次安装破解,操作简单,无后续累赘。

2018-01-02

can学习资料

有多个文档介绍,主要介绍了can协议,can的报文格式,can的帧类型等

2017-12-12

ISO-15765-1-4-中文版

IS0-15765-1-4中文版,详细的翻译了IS0-15765-1-4英文版的内容。

2017-12-04

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

TA关注的人

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