linux开发
缥缈孤鸿_jason
一个平凡的码农
展开
-
shell脚本运算例子
用linux shell脚本进行运算的一个小实例原创 2022-11-15 11:38:26 · 218 阅读 · 1 评论 -
git使用说明
git简单使用说明原创 2022-10-12 15:34:43 · 292 阅读 · 0 评论 -
uboot调试记录
uboot调试记录原创 2022-07-15 17:11:05 · 379 阅读 · 0 评论 -
PCIE配置空间设置
通过设置pcie配置空间重新训练链路速率原创 2022-07-12 11:27:53 · 6598 阅读 · 1 评论 -
linux shell脚本示例-运算
shell脚本进行运算的一个例子原创 2022-07-12 11:24:24 · 667 阅读 · 0 评论 -
飞腾FT2000-4 GPIO设置方法
飞腾FT2000-4CPU GPIO设置方法原创 2022-06-10 17:09:30 · 2330 阅读 · 3 评论 -
Linux系统下通过mdadm工具进行RAID配置
linux系统下通过mdadm工具配置RAID原创 2022-06-10 16:43:12 · 799 阅读 · 0 评论 -
交叉编译器创建
折腾了好几天,终于将arm交叉编译器搭建好了。网上关于创建交叉编译器的资料很多,但是参考安装时都会遇到各种错误,下面记录下我搭建成功的方法。1、设置相关环境变量,方便后续编译安装各个工具时进行参数设置export PRJROOT=/home/jason/cross_compiler_toolexport TARGET=aarch64-linux-gnuexport PREFIX=$PRJROOT/toolsexport TARGET_PREFIX=$PREFIX/$TARGETexport P原创 2022-04-15 14:16:29 · 1416 阅读 · 0 评论 -
常用资料下载网站
为以后方便查找,将经常要用的资料下载网站记录在此1、gcc交叉编译器下载:Index of /software/gcc/releases/2、linux内核版本下载:kernel/git/stable/linux.git - Linux kernel stable tree3、usbutils(lsusb)、pciutils(lspci)工具下载:Usbutils Download (APK, DEB, EOPKG, IPK, PKG, RPM, TXZ, XBPS, XZ, ZST原创 2022-04-07 10:11:51 · 622 阅读 · 0 评论 -
pcie设备bar地址空间映射到用户空间的方式
该程序通过指定pcie设备的vendor id和device id能够将设备的bar空间映射到用户空间,用户空间可以通过映射后的地址对bar进行读写操作,方便驱动调试。代码如下:#include <errno.h>#include <getopt.h>#include <fcntl.h>#include <inttypes.h>#include <locale.h>#include <stdio.h>#includ原创 2022-03-21 16:02:02 · 3842 阅读 · 11 评论 -
大页内存使用方式
linux系统下有时进行dma传输时需要申请连续物理内存空间,当需要申请大于4M的连续物理内存时可以使用大页内存地址。要使用 HugePages,首先要向内核声明可以使用的 HugePages 数量proc/sys/vm/nr_hugepages 文件保存了内核可以使用的 HugePages 数量我们可以使用以下命令设置新的可用 HugePages 数量:echo 20 > /proc/sys/vm/nr_hugepages上面命令设置了可用的 HugePages 数量为 20 个(也就.原创 2022-03-21 15:33:22 · 1361 阅读 · 0 评论 -
linux下用户空间操作物理内存地址
用户空间下通过将物理地址进行映射后进行读写操作,方便驱动调试。代码dev_mem.c如下:#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <string.h>#include <errno.h>#include <signal.h>#include <fcntl.h>#include <ctype.h>#inc原创 2022-03-21 15:25:15 · 861 阅读 · 0 评论 -
linux设备树分析3-生成platform_device
上篇讲了从dtb文件转换成device_node树,本篇分析device_node生成platform_device平台设备的过程。平台设备生成入口:在arch/arm64/kernel/setup.c文件中,入口函数为:arm64_device_init->of_platform_populateof_platform_populate在drivers/of/platform.c中定义:int of_platform_populate(struct device_node *roo原创 2021-09-07 15:56:33 · 1015 阅读 · 0 评论 -
linux设备树分析2-创建device_node树
二进制格式dtb设备树文件需要先转化成设备节点device_node结构,然后再将device_node转换成平台设备platform_device。device_node在文件 include/linux/of.h中:struct device_node { const char *name; /*保存节点名称属性*/ const char *type; /*节点类型*/ phandle phandle; /*节点句柄,该成员可以用于节点引用*/ const char *full_nam原创 2021-09-03 14:22:39 · 2893 阅读 · 0 评论 -
libusb读取鼠标数据
通libusb我们可以在应用层对USB设备进行读写操作。本文以读取USB鼠标数据为例讲述libusb的使用流程。通过源码安装libusb:最新的版本为:libusb-1.0.24,GitHub上免费下载地址:https://github.com/libusb/libusb/releases/tag/v1.0.24ps: CSDN上很多人用这个公共的开源资源来赚积分,而且下载分还贼高,真不怎么地道。解压源码:tar xjvf libusb-1.0.24.tar.bz2在解压跟目录下输入原创 2021-08-11 10:04:16 · 2293 阅读 · 0 评论 -
linux系统USB抓包方法
Window系统下USB抓包软件工具很多,但linux下USB抓包软件较少,linux系统中可以用wireshark和tcpdump对USB数据进行抓取。Linux下Wireshark和windows版本使用方法相同,下面主要分析下tcpdump的使用方法。使用Wireshark和tcpdump前需要先安装usbmon.ko驱动,一般系统都已经将其编译到内核,输入命令tcpdump –D查看系统是否安装usbmon驱动。如果打印信息包含usbmon内容则说明已经安装usbmon驱动。如果原创 2021-08-11 09:21:17 · 2844 阅读 · 0 评论 -
deb格式安装包创建流程
建立根目录,目录名称为test 在test目录下建立配置文件目录:DEBIAN和程序文件目录:usr,目录结构如下所示: 3.DEBIAN目下创建文件名分别为control、md5sums、postinst、postrm、prerm的配置文件,如下所示:a、control包描述文件Package: testVersion: 1.0.0Architecture: arm64Maintainer: jasonInstalled-Size: 351D...原创 2021-07-23 18:54:37 · 1338 阅读 · 0 评论