自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 bat判断命令是否执行成功

errorlevel%记录的就是adb push命令执行后的返回值。怎么判断ls是否执行成功?

2025-04-01 15:10:02 60

原创 bat循环实现

【代码】bat循环实现。

2025-03-19 14:34:09 128

原创 Windows11右键默认显示所有选项

打开任务管理器,在进程里面找到Windows 资源管理器,然后右键,重启。4、这个时候,鼠标右键就默认显示所有选项了。1、使用win+x,打卡终端管理员。

2025-03-04 16:55:02 281

原创 更改Linux console输出等级

最近在调试问题的时候,发现有些日志没有通过串口终端打印出来。排查发现是内核里面配置的串口日志等级较高,导致有些日志没有打印。在内核的配置文件里面,更改CONFIG_CONSOLE_LOGLEVEL_DEFAULT的值。

2024-11-06 14:57:32 151 1

原创 windows 设置静态ARP

我的网卡是以太网13,所以Idx是24。1、确定自己需要设置静态ARP的网卡。

2024-10-31 10:10:21 906

原创 fPIC和非fPIC混用导致程序Segmentation Fault

排查了很久,后面怀疑可能是fPIC选项导致的。找第三方确认他们编译的时候,是否添加了fPIC选项,发现他们没有添加。让他们添加后,重新提供过来,发现问题就解决了。最近在调试一个功能时,使用到了一个第三方库,第三方提供的是一个静态库。这个库在我们之前其他的平台上已经用过了。简单测试过后,发现也能用。添加到工程里面:我们工程输出的是动态库,相当于我们的动态库里面包含了第三方的静态库。后面将库添加到工程里面,发现会死在第三方库里面。简单测试时:程序直接链接了第三方提供的静态库。

2024-10-16 16:25:10 186

原创 通过dlopen使用动态库

在和别人合作开发的时候,往往存在一方提供库供另一方调用。这个过程存在编译依赖问题,库更新问题。为了解耦,这里可以使用dlopen的方式去使用动态库。

2024-10-16 15:39:16 357

原创 yocto通过环境变量控制代码的编译

编译的时候,编译器会报错。为了快速的确认自己的宏控有没有生效,可以在自己的代码认为添加一些错误,这样在编译的时候根据报错信息,就能知道宏控定义是否生效。2、将TEST_FUNC_ENABLE环境变量添加到yocto的BB_ENV_EXTRAWHITE环境变量里面。实施方案:通过编译选项去配置环境变量,然后在bb文件里面根据环境变量的信息,去定义对应的宏。说明:此步骤主要是获取TEST_FUNC_ENABLE环境变量的值,并定义对应的宏。至此,我们的代码就会根据我们传递的参数编译对应的代码。

2024-09-27 17:05:23 243

原创 以太网传输出现不分包

最近对手件反馈,在传输文件的时候,我们这边发包太快,导致对手件网络出现了拥塞,把他们程序给搞死了。他们抓了一下他们收到的包,发现我们发送的数据包都大于了MTU设置的值。然后再次验证,发现Don't Fragment确实取消了,但是发包数据量还是大于了MTU。验证:我们去抓我们发送出去的包,发现确实配置了Don't Fragment。后续再进行测试,就可以看到,我们发送的包是按照MTU大小进行分片了。排查方法:为什么我们发送的数据包会大于MTU的值。注:查看属性是小写的k。可能性二:硬件tso属性导致的。

2024-09-14 18:11:31 206

原创 设备树API

记录遇到的设备树API

2024-09-11 21:21:50 73

原创 panic_on_rcu_stall

之前项目在开发阶段,有个版本,内核很容易就挂了。后面排查发现,是因为内存用完了,导致内核出现了panic。当时一直很疑惑,为什么内存没有了,导致内核出现了panic。后面发现,在启动的时候,/proc/sys/kernel/panic_on_rcu_stall里面被人写入了1。内存在耗尽的时候,导致RCU出现了问题。进而导致内核出现了panic。内核运行时的参数,在/proc/sys/目录下都存在对应的文件。查看内核运行时参数的命令:sysctl -a。

2024-09-09 10:15:19 277

原创 yocto配置多线程编译

上面两个变量最后在conf/local.conf里面会有定义。以高通8155为例。conf/local.conf是编译的时候自动生成的。它原始配置是在./conf/include/local.conf.templet文件。当然,不同的平台可能对应到不同的配置文件。yocto涉及到多线程的编译配置主要有两个变量:BB_NUMBER_THREADS、PARALLEL_MAKE。BB_NUMBER_THREADS:启用多少个线程编译。PARALLEL_MAKE:同时并行编译的任务数。

2024-08-28 11:28:42 404

原创 C和C++实现互调的方法

C++支持函数重载,所以在编译的时候,函数名会发生变化。C语言不存在这个问题。那么在调用的时候,C++找的是变化后的函数名,而C语言找的是原始的函数名。所以两者不能直接调用。

2024-08-21 13:43:35 540

原创 uboot、kernel通过KCFLAGS控制代码编译

很多时候,为了便于代码管理,我们希望在编译的时候,根据传入的参数去编译我们指定的代码。这样可以大大的减少我们的工作量。

2024-08-19 15:35:40 214

原创 git本地仓库同步到远程仓库

1、本地仓库的创建2、远程仓库的创建3、远程仓库添加key4、同步本地仓库到远程仓库。

2024-08-16 16:33:44 854

原创 git基本操作命令

【代码】git基本操作命令。

2024-08-16 16:03:58 158

原创 vscode设置tab为制表符

点击上图框起来的【制表符长度】,就可以进行配置。注:你的有可能显示【空格】。至此就完成了tab配置成制表符。如果配置成空格,也是一样的操作。选择你需要的制表符长度。

2024-08-01 10:53:06 1268

原创 获取脚本的各种路径

在脚本里面,获取当前脚本的绝对路径、相对路径、脚本名等信息。

2024-07-26 10:15:50 428

原创 openssl加解密

【代码】openssl加解密。

2024-07-20 09:53:10 106

原创 用户态读写IIC设备

向i2c-3的总线上的0x12设备的寄存器写0x1234。向i2c-3的总线上的0x12设备读寄存器0xfe。

2024-07-16 11:13:49 280

原创 dm-verity给内核传递的参数解析

这篇博客完整解析了dm-verity在使用过程中bootloader(uboot)向Linux kernel应该传递哪些参数以及这些参数分别是什么意思。

2024-07-12 18:10:21 260

原创 dm-verity hashtree的结构

介绍了dm-verity的hashtree的结构图。很形象的表明了hashtree的构成。根据这个结构图,可以自己编码完成hashtree镜像的生成

2024-07-12 18:02:34 184

原创 生成dm-verity的hashtree

这个博客主要是生成dm-verity对应的hashtree和root hash。里面是纯C代码,只依赖libcrypto.so这个库。非常易于移植。

2024-07-12 17:57:58 141

原创 vscode 乱码解决

今天用vscode打开工程时,发现中文是乱码。分析了一下,发现应该是工程文件的编码和vscode打开文件时使用的编码不一致。因此解决办法就是改变vscode打开文件的编码格式。步骤一:点击编码信息按钮UTF-8(有些可能有区别,自己灵活变通)步骤三:选择自己想要的编码格式(不知道的就自己去试)步骤二:选择通过编码重新打开。至此,乱码就解决了。

2024-06-28 09:46:36 580

原创 shell 数组、键值对

【代码】shell 数组、键值对。

2024-05-06 11:33:52 401 2

原创 Linux 内核设备树 ranges属性

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

2024-04-22 18:03:37 782

原创 kmallc、kzalloc、vmalloc使用

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

2024-03-14 16:54:12 298

原创 Linux 相关宏介绍

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

2024-03-05 16:22:07 469

原创 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 214

原创 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 138

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

netlink的单播和广播demo

2023-07-07 17:57:05 392

原创 关于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 369

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

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

2023-06-09 16:25:52 797

原创 shell实现循环操作

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

2023-06-09 10:49:57 1332

原创 通过python生成xml

python相关使用方法

2023-05-17 18:13:15 704

原创 Linux shell eval命令

Linux eval命令

2023-05-17 18:04:12 359

原创 Linux /proc/version 文件解析

Linux /proc/version 文件解析

2023-03-29 21:31:02 1496

原创 Linux 时区的配置

Linux 时区的配置

2023-03-29 20:52:34 395

原创 yocto 修改 /etc/profile 文件

yocto 修改 /etc/profile 文件

2023-03-29 20:33:56 798

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

Linux 解析长/短选项参数 getopt_long

2023-03-28 20:28:41 462

免安装版的logic软件包 支持波形实时查看 内含驱动文件

免安装版的logic软件包。支持波形实时查看。内含驱动文件。

2025-03-31

vbmeta.img文件的完整解析,对该文件的所有字段都做出了详细标注

vbmeta.img是Android AVB功能用到的。主要用于安全启动时的校验和dm-verity参数传递时的支持。

2024-10-16

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版本的。上传至优快云做个备份。

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关注的人

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