自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一个码农的足迹

记录下曾经搬过的砖

  • 博客(75)
  • 资源 (28)
  • 收藏
  • 关注

原创 win10 + cpu + pycharm + mindspore

在win10+ cpu环境下用pycharm工程使用华为mindspore框架方法

2024-03-16 22:13:26 618

原创 windows10+cpu+pycharm跑yolov5

window10下用CPU+pycharm+yolov5生成图像标注模型

2024-03-10 22:52:38 995

原创 anaconda和pycharm安装(windows10 )

Anaconda、pycharm安装步骤

2024-03-09 23:19:45 912

原创 atlas200I DK使用1 jupyter lab服务器搭建

jupyter lab --generate-config # 上面命令会生成`jupyterlab`配置文件,路径为`~/.jupyter/jupyter_lab_config.py`firewall-cmd --zone=public --add-port=80/tcp --permanent #开启端口。# 填写密码并确认密码,会生成`~/.jupyter/jupyter_server_config.json`c.ServerApp.password = '刚复制的字符串' # 密码。

2024-02-27 17:36:36 526

原创 QEMU使用步骤

(注意:通过命令sudo apt-get install qemu安装的版本为2.11.1,后面价值内核镜像时可能报以下错误)4、输入:qemu-system-arm -M help查看支持芯片仿真类型,这里选择:vexpress-a9。命令把生成的根文件创建在顶层目录(busybox-1.32.1根目录) _install 下,如果是通过。(注意安装版本gcc-linaro-6.5.0-2018.12编译qemu时可能报错)6、下载内核linux-5.4.95,下载地址。7、busybox 下载链接。

2024-02-15 00:02:08 1667

原创 petalinux2018.3安装步骤

petalinux安装步骤

2024-02-14 22:20:09 673

原创 linux内核更新步骤

linux 系统内核更新方法

2023-12-28 16:48:27 414

原创 linux shell脚本示例:触摸屏HDMI显示映射配置

多触摸屏和显示器映射关系配置脚本

2023-09-13 11:15:12 568

原创 pcie设备驱动卸载与加载

在linux系统在PCIE设备驱动被占用的情况下卸载当前驱动、加载新驱动脚本

2023-07-12 10:38:07 1094

原创 shell脚本运算例子

用linux shell脚本进行运算的一个小实例

2022-11-15 11:38:26 218 1

原创 git使用说明

git简单使用说明

2022-10-12 15:34:43 292

原创 uboot调试记录

uboot调试记录

2022-07-15 17:11:05 378

原创 PCIE配置空间设置

通过设置pcie配置空间重新训练链路速率

2022-07-12 11:27:53 6567 1

原创 linux shell脚本示例-运算

shell脚本进行运算的一个例子

2022-07-12 11:24:24 667

原创 飞腾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 798

原创 nvme驱动架构分析1

分析了nvme驱动最主要的组成部分

2022-04-21 19:54:19 3210 1

原创 交叉编译器创建

折腾了好几天,终于将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 1412

原创 GD25Q32C FLASH DRV

/******************************************************************************** GD25Q32C 32 M-Bit 4M Byte** 256 Byte One Page***********************************************************

2022-04-07 10:27:18 1031

原创 常用资料下载网站

为以后方便查找,将经常要用的资料下载网站记录在此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

原创 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 3834 11

原创 交叉编译海思hi3559av100平台iperf、pciutils 工具

iperf源码官方下载地址(我下载的是iperf-3.1.3-source.tar):iPerf - Download iPerf3 and original iPerf pre-compiled binaries交叉编译iperf:./configure CC=aarch64-himix100-linux-gcc --host=aarch64-himix100-linux --prefix=$PWD/install CFLAGS=-static CXX=aarch64-himix100-l.

2022-03-21 15:45:55 921

原创 大页内存使用方式

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 1359

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

原创 nvme测试工具:nvme_cli

nvme_cli工具是用于对nvme盘测试的一款通用工具,提供了读写块,查看control、namespace信息等功能。下载路径:nvme_cli工具是用于对nvme盘进行测试的一款通用工具-其它文档类资源-CSDN下载如果需要交叉编译nvme_cli可以修改makefile:增加CC=$(CROSS_COMPILE)gcc然后通过以下方式指定交叉编译器进行编译:make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64或者直接通过以下方

2022-03-21 15:16:15 2236

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

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

原创 linux设备树分析1-设备树格式

随着linux的发展,代码越来越庞大,但创始人linus 觉得提交的代码很大一份是描述各种设备的,这部分代码对内核本身来讲意义并不大,为了将linux内核中大量的设备描述相关代码进行精简,从3.0版本起引入了设备树。dts设备树通过节点和其中的属性来描述设备,节点间可以进行嵌套,整个板子的所有设备包含在根节点中,根节点中的各子节点分别描述各个具体设备。根节点格式:/ {property=value;property=<value>;…};其中property表示属

2021-08-25 09:07:16 717

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

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

原创 linux网络数据接收流程

网络数据接收流程:以下为链路层1、e100_intr(drivers/net/ethernet/intel/e100.c)网卡驱动接收中断服务程序2、__napi_schedule(net/core/dev.c)3、____napi_schedule (net/core/dev.c)主要功能:将驱动程序中的napi->poll_list链接到cpu的softnet_data->poll_list4、__raise_softirq_irqoff(net/core/d

2021-07-27 16:28:27 677

原创 linux网络数据发送流程

网络套接字如何将数据发生出去的呢?这个需要从网络协议初始化开始分析。网络协议初始化:所在文件net/ipv4/af_inet.cstatic int __init inet_init(void)上面接口将初始化ipv4相关协议socket模块初始化:所在文件net/socket.cstatic int __init sock_init(void){ int err; /* * Initialize the network sysctl infrastr.

2021-07-27 16:22:56 2772

原创 linux路由初始化调用的相关接口函数

本文简单记录路由初始化调用的相关接口函数发送路由调用过程:1、tcp_v4_connect(net/ipv4/tcp_ipv4.c)传输层连接接口,根据路由表设置原ip地址和发送网络设备接口2、ip_route_connect (include/net/route.h)3、__ip_route_output_key (net/ipv4/route.c)4、__mkroute_output(net/ipv4/route.c)5、rt_dst_alloc(net/ipv4/rout.

2021-07-27 16:05:24 448

原创 netfilter分析3-钩子函数执行流程

前面两节分析了钩子函数和表的初始化,本节来分析钩子函数是如何通过使用表来处理报文的。首先还是回到钩子函数的入口NF_HOOK,之前讲过通过该宏会调用文件/include/linux/netfilter.h中定义的函数:static inline int nf_hook_thresh(u_int8_t pf, unsigned int hook, struct net *net, struct sock *sk, struct sk_buff *skb, st

2021-07-27 16:00:14 854

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

原创 netfilter分析2-表在内核的初始化

上一节讲了钩子函数用表中的规则处理报文从而实现防火墙功能,这一节对表的初始化流程进行描述。为了保持和上一章的延续我们回到filter表钩子函数初始化入口:所在文件net/ipv4/netfilter/iptable_filter.cstatic int __init iptable_filter_init(void){int ret;ret = register_pernet_subsys(&iptable_filter_net_ops);if (ret < 0

2021-07-23 18:38:49 483

原创 netfilter分析1-钩子函数在内核的初始化

Linux内核中网络防火墙是通过NF_HOOK宏调用钩子函数进行报文处理,本文基于内核版本4.4对钩子函数的初始化流程进行描述。以过滤本地报文的钩子函数为例。本地报文过滤钩子函数调用宏:NF_HOOK(NFPROTO_IPV4, NF_INET_LOCAL_IN,net, NULL, skb, skb->dev, NULL,ip_local_deliver_finish);这个宏在文件/include/linux/netfilter.h中定义:sta...

2021-07-20 10:46:33 1008

原创 phy配置应用程序

Phy芯片一般通过mdio接口进行配置,如果满足以下条件1、网卡驱动支持MDIO接口配置phy2、确认驱动设置phy的方式,通过查看82599驱动代码确认:phyid包含两部分内容,phyaddr:phy地址和devnum:设备号,phyid=(phyaddr<<5)| (devnum & 0x1f)3、确认应用层通过MDIO设置phy的方式,通常支持两种方式:ethtool和ioctl方式,具体支持那种方式也要通过驱动确认。可以在应用层进行mdio读写配置,下面代码以...

2021-07-20 10:25:06 1678

原创 5 消息操作与包格式

门铃事务(DOORBELL)第10类包格式是门铃事务格式。它没有数据载荷。门铃事务的请求包格式如下图所示上图中Ftype字段固定为10,表示这是一个门铃事务,8位的Reserved字段应该置0,Source TID指的是请求方的事务ID, info(msb)表示的是发送信息的高8位,info(lsb)表示的是发送信息的低8位。如果信息是用数字表示的,而且长度大于8位,那么数据符合低地址存放高字节(big-endian)的格式。比特流中先到达的是高字节。门铃事务适合向处理器递送中断信息,在这种情况

2021-07-09 09:21:24 392

原创 4 维护操作与包格式

第8类事务维护事务用于访问 RapidIO能力寄存器(CARs,Capability Registers)、命令和状态奇存器( CSRs,Command and Status Register) ,本地定义的寄存器(Locally-Refined Registers)以及数据结构(Data Structures)。与其他的请求格式不同,维护操作的请求和响应包格式都是第8类包格式。第8 类包不含地址字段,只含写请求和读响应的数据载荷。WRSIZE字段规定了多双字事务数据载荷的最大长度。数据载荷的长度不能超

2021-07-08 17:24:11 741

华为atlas200I dk ai应用例子

华为atlas200I dk ai应用例子

2024-03-01

可用于QEMU仿真的uboot源码

https://gitlab.denx.de/u-boot/u-boot上下载的uboot源码用make vexpress_ca9x4_defconfig 配置编译报错,该源码能够正常编译

2024-02-15

银河麒麟(kylin)4.4内核nvme驱动

开源linux4.4内核nvme驱动源码无法在银河麒麟4.4内核上直接使用,本驱动在4.4内核nvme驱动的基础上做了适当修改,可以直接用于麒麟4.4内核系统上。

2023-07-12

linux用户空间读写物理内存工具

linux用户空间读写物理内存工具,可在用户空间读写制定物理内存数据

2022-11-15

ntp网络受时源代码,包含使用说明网页文件

ntp网络受时工具

2022-04-27

arm平台nfs网络挂载服务工具源码

arm平台nfs网络挂载服务工具源码,包含使用说明网页文件

2022-04-27

cjson库源代码,包含使用说明网页文件

C语言cjson库源码,和使用说明网页文件

2022-04-27

linux远程桌面工具,包含scim工具deb格式安装文件

可以远程操作linux桌面,类似Windows远程桌面连接工具

2022-04-27

块设备驱动例子,通过读写内存模拟块设备驱动

通过申请一块内存空间,模拟块设备,实现一个块设备驱动

2022-04-21

prog文件系统文件创建驱动程序例子

该驱动程序在/proc目录下创建对于文件,可以作为驱动程序添加proc文件作为参考

2022-04-21

一个内核空间内存映射到用户空间的程序示例,包含驱动代码和用户空间测试代码

一个内核空间内存映射到用户空间的程序示例,包含驱动代码和用户空间测试代码,安装驱动后,可以运行用户测试程序读写内核空间内存。

2022-04-21

Linux deb安装包例子,包含制作一个deb安装包需要的相关文件

通过修改该安装包文件可以制作自己的deb安装程序

2022-04-21

基于gcc-9.3.0创建的arm交叉编译工具链

基于gcc-9.3.0的arm交叉编译工具链,可运行于ubuntu-x86系统下交叉编译arm程序

2022-04-15

pcie驱动测试工具,可用于pcie驱动调试,安装驱动后可对设备bar空间地址进行读写

该工具包含以下部分: 1、pcie_test_driver:一个简单的pcie驱动 2、pcie_test_app:用户空间测试程序,能够对设备bar空间进行读写操作

2022-03-21

该工具配合特定驱动可以使用指定物理内存地址来读写nvme盘

注意:该工具需要配合指定驱动才能使用

2022-03-21

pcie设备调试工具,能够查看设备配置空间和设备状态等信息

pcie设备调试工具,能够查看设备配置空间和设备状态等信息

2022-03-21

nvme_cli工具是用于对nvme盘进行测试的一款通用工具

提供了对nvme盘进行读写,查看control、namespace信息等功能。

2022-03-21

Linux_3.x.x_VCP_Driver_Source.zip

CP210X usb转uart驱动程序源码

2021-08-02

socketcan-linux.zip

IXXAT官方usb转can驱动程序源码

2021-08-02

IDT_Tsi721_MAN_20130718.pdf

Tsi721芯片资料

2021-07-08

MP4_muxer.rar

实时将海思音视频流合成mp4文件库文件,音视频同步合成

2021-07-08

rtsp-simple-server_v0.14.1_linux_arm64v8.tar.gz

arm64平台 rtsp 服务端可执行程序

2021-07-08

ffmpeg-4.3.1.rar

ffmpeg-4.3.1库文件,包含源码,通过编译、测试

2021-07-08

cjson.tar.gz

可以跨平台移植的cjson C库

2021-07-07

《专业嵌入式软件开发》pdf.part2

《专业嵌入式软件开发》pdf.part2

2015-01-04

ucgui字库生成工具

ucgui 字库生成工具,生成ucgui字符信息管理链表、字符信息表、点阵数据

2014-09-02

点阵字库生成工具

点阵字库生成工具 可生成各国语言的点阵字库 guitool_v1.11T.rar

2013-11-29

空空如也

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

TA关注的人

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