自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(680)
  • 资源 (16)
  • 收藏
  • 关注

转载 Linux设备驱动模块自加载示例与原理解析

这里会向/sys/devices/platform/demo_device/uevent文件写入“add”,前文中已经看到这个文件是在注册demo_devices是调用platform_device_register()->platform_device_add()->device_add()->device_create_file()->sysfs_create_file创建的。最后分析驱动和设备的绑定以及设备节点(/dev/demo_device)是如何自动生成的。...

2022-07-20 17:36:57 2183

转载 关于Wifi WDS的两种模式浅谈

5.在路由器设置菜单中打开WDS,设置正确的WDS模式,由于笔者建立WDS的目的是为了扩大无线的覆盖范围,是采用WDS中继模式。同一品牌的无线路由器组建WDS的兼容性最好,但同一品牌并非WDS的必须,不同品牌无线路由器搭建WDS失败往往是设置上的混淆和加密协议的不兼容所导致。设置菜单中对这两种模式的命名不一样,这往往是造成大家困惑的主要原因。6.打开WDS功能后,会出现MAC地址的输入框,是要求捆绑对方AP的无线MAC地址,将两个路由器的无线MAC地址写下来,输入到对方的MAC地址输入框中即可。...

2022-07-18 13:50:20 4271

转载 linux驱动加载 动态加载 静态加载 自动加载

linux驱动加载 动态加载 静态加载 自动加载_luopandeng的博客-CSDN博客_linux驱动加载概述在Linux下可以通过两种方式加载驱动程序:静态加载和动态加载。静态加载就是把驱动程序直接编译进内核,系统启动后可以直接调用。动态加载利用了Linux的module特性,可以在系统启动后用insmod命令添加模块(.ko),在不需要的时候用rmmod命令卸载模块。驱动加载静态加载过程将模块的程序编译到Linux内核中,也就是咱们在编译内核时选择Y的模块,静态由do_initcall函数加载。先来

2022-06-30 15:33:20 2125

转载 pcie驱动介绍

转载: pcie驱动介绍_fight_onlyfor_you的博客-CSDN博客_pcie驱动PCIE设备的地址由总线号、设备号和功能号组成,分别称为厂家ID、设备ID和设备类代码我们可以利用lspci工具了解这些概念。PCI工具集的一部分,下载地址为http://mj.ucw.cz/sw/pciutils/下面这个照片是在xx.xx.xx.xx下面的shell终端下运行lspci,运行lspci上面输出代码每行开头的逻辑地址(xx:yy.z).XX代表PCI的总线号。一个P...

2022-05-20 15:04:52 5384

转载 Linux MDIO PHY驱动分析

转载https://www.csdn.net/tags/MtTaEg4sODU2Mzg1LWJsb2cO0O0O.html参考phy基础知识总结 common register总结RTL8211F WOL(wake on lan)调试mdio网卡驱动或者独立的mdio驱动,首先会注册到系统总线,然后开始扫描总线上的PHY芯片,mdiobus_register mdiobus_scan get_phy_device get_phy_id phy_d

2022-05-18 16:45:49 2910

原创 Makefile中执行的命令以横杠-开头是什么意思

比如下面这个Makefile中的-rm-rf.PHONY: run cleanEXENAME = mainrun: make -C src/ all ./mainclean: make -C src/ clean -rm -rf $(EXENAME)忽略rm命令执行的退出状态

2022-05-16 18:11:15 283

原创 C45通过C22方式访问phy地址

static int eqos_mdio_read(struct mii_dev *bus, int mdio_addr, int mdio_devad, int mdio_reg){ struct eqos_priv *eqos = bus->priv; u32 val; int ret; ret = eqos_mdio_wait_idle(eqos); if (ret) { pr_er...

2022-05-13 19:47:24 1930

转载 有关PHY抽象层的总结

Purpose大多数网络设备由一组寄存器组成,这些寄存器提供到MAC层的接口,MAC层通过PHY与物理连接通信. PHY关注于与网络连接另一端的链路伙伴(通常是以太网电缆)协商链路参数,并提供注册接口以允许驱动程序确定选择了哪些设置,并配置允许的设置.虽然这些设备不同于网络设备,并且符合寄存器的标准布局,但是通常的做法是将PHY管理代码与网络驱动器集成. 这导致了大量的冗余代码. 此外,在具有连接到同一管理总线的多个(有时是完全不同的)以太网控制器的嵌入式系统上,难以确保总线的安全使用.由于PH

2022-05-13 15:47:03 995

翻译 国产之路:复旦微FMQL调试笔记1:PS网口

引言  FPGA,全程现场可编程门阵列,是指一切通过软件手段更改、配置器件内部连接结构和逻辑单元,完成既定设计功能的数字集成电路。换个简单通俗的介绍方式,就好比一个全能的运动员,FPGA就是这么神奇的可以通过设定而实现各种复杂的功能电路。FPGA的核心优点:可编程灵活性高、开发周期短、并行计算可编程灵活性高。同时FPGA也有自身的很多需要解决的问题,FPGA限制因素:成本、功耗和编程设计。现在已经在三个重要领域发挥着重量级作用:(1)通信设备的高速接口电路设计一般如果AD采样率高,数据速率高,这时就需要F

2022-05-13 09:21:09 3117 1

转载 initrd和initramfs的区别

initrd和initramfs的区别_htttw的博客-CSDN博客_initrd和initramfsinitrd和initramfs的区别Linux内核在初始化之后会执行init进程,而init进程会挂载我们的根文件系统,但由于init程序也是在根文件系统上的,所以这就有了悖论。Linux采用两步走的方法来解决这个问题。Linux2.6版以前的方法是:除了内核vmlinuz之外还有一个独立的initrd.img映像文件,其实它就是一个文件系统映像,linux内核在初始化后会mount ini

2022-05-08 19:28:54 409

转载 uboot研读笔记 | 14 - uboot启动流程分析(2016.03版本)-流程基本清晰-good

uboot研读笔记 | 14 - uboot启动流程分析(2016.03版本)_MCUlover666的技术博客_51CTO博客【腾讯文档】uboot启动流程图(2016.03)​ ​https://docs.qq.com/flowchart/DR25oeU5KQmJydEhM​文章目录​​一、第一行代码​​​​二、_start 函数​​​​1. save_boot_params函数​​​​2. save_boot_params_ret函数​​​​三、lowlevel_ini...

2022-05-07 20:14:24 510

转载 PHY驱动调试之 --- MDIO/MDC接口22号和45号条款(一)

最近在调试一款Phy的驱动,从没有任何头绪到略有了解经历了太多的痛苦,于是决定写这个系列篇记录一下。特别感谢无数优秀的博主无私奉献很多优秀的博文给予了我很大的帮助。在这个系列篇中,我也会转载部分优秀的博文(会附上链接),以及增添自己的理解,如果部分内容有侵权的地方,麻烦联系我。概述管理MII接口的MDIO接口是一个双线的串行接口,用来对PHY芯片等物理层信息进行操作管理。MDIO的历史MDIO是Management Data Input/Output 的缩写,有两根线,分别为双向的MDIO和

2022-04-20 09:09:46 982

转载 GNU链接器的LMA和VMA

LMA和VMA的含义LMA:加载存储地址,指的是加载到存储器的地址,即加载(有时应该说烧写)到哪里VMA:虚拟存储地址,也就是链接地址,指示代码和数据运行的时候应该位于何处对于主机程序对于PC上的程序(有操作系统环境),loader在加载程序时,会根据可执行程序文件中记录的链接地址申请相应的虚拟地址,在实际访问时申请物理地址并和之前申请的虚拟地址建立映射关系。由于进程独享虚拟地址空间,因此通常都能申请到相应的虚拟地址。这种情况下LMA通常是等于VMA的。对于嵌入式系统程序在嵌入式系统中,LMA

2022-04-14 19:19:14 603

转载 用Rust探索RISC-V主板D1之GPIO

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////作者:山人几言链接:https://www.zhihu.com/question/19704852/answer/19760467来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。如果是在已经适配好的linux内核上,那么相信已经有了完.

2022-04-11 18:37:34 906

原创 补丁(patch)的制作与应用

https://blog.csdn.net/zhao_h/article/details/80943226

2022-04-11 18:34:34 957

转载 Linux应用程序——用户层操作GPIO

stm32mp157 盘古开发板 Linux内核版本4.19目录1、拜兔核i2SOM的wiki上关于gpio应用的说明2、gpio操作相关的数据结构3、测试代码:4、参考链接1、拜兔核i2SOM的wiki上关于gpio应用的说明链接:http://wiki.i2som.com/pages/viewpage.action?pageId=22479311以下是链接中的复制内容:GPIO操作在Linux系统上是常用功能,STM32MP1芯片平台也同样支持。从Linux 4..

2022-04-11 18:32:55 3470

转载 linux用户空间如何控制gpio?

linux用户空间如何控制gpio?_mob604756e8ada8的技术博客_51CTO博客1. 架构2. 有两种操作方法2.1 第一种: sysfs接口(旧, 已废弃)2.2 第二种: 字符设备接口(新)3. 如何使用sysfs接口控制gpio?3.1 确定要使用的gpio号(怎么知道gpio号呀?)3.2 将gpio号写入文件/sys/class/gpio/export中# echo 333 >/sys/class/gpio/export3.3 将gp.

2022-04-11 16:08:57 895

转载 linux简介_Linux的 bpftrace 简介

An introduction to bpftrace for Linux | Opensource.comlinux简介_Linux的bpftrace简介_cumj63710的博客-CSDN博客使用bpftrace进行内核跟踪_程序猿Ricky的日常干货-CSDN博客_bpftraceBpftrace是Linux的新开源跟踪程序,用于分析生产性能问题和故障排除软件。 它的用户和贡献者包括Netflix,Facebook,Red Hat,Shopify等,它是由Alastair

2022-02-25 14:48:41 1013

转载 iptables详解(1):iptables概念---这个人系列不错

转载https://www.zsythink.net/archives/1199这篇文章会尽量以通俗易懂的方式描述iptables的相关概念,请耐心的读完它。防火墙相关概念此处先描述一些相关概念。从逻辑上讲。防火墙可以大体分为主机防火墙和网络防火墙。主机防火墙:针对于单个主机进行防护。网络防火墙:往往处于网络入口或边缘,针对于网络入口进行防护,服务于防火墙背后的本地局域网。网络防火墙和主机防火墙并不冲突,可以理解为,网络防火墙主外(集体), 主机防火墙主内(个人.

2021-07-16 16:31:44 276

原创 realtec环境搭建

sudo passwd rootsudo apt-get updatesudo apt install vim// 更换源sudo cp /etc/apt/sources.list /etc/apt/sources.list.baksudo vi /etc/apt/sources.list//在最后面追加#添加阿里源deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiversedeb http

2021-07-01 14:35:48 250

原创 mdadm测试

http://m.mamicode.com/info-detail-3060415.html Ubuntu18.04部署RAID 10磁盘阵列https://cloud.tencent.com/developer/article/1346533 如何在Ubuntu 18.04上使用mdadm创建RAID阵列https://blog.csdn.net/u010953692/article/details/114534612 Ubuntu 18.04 安装 mdadm 搭建 raid0...

2021-07-01 10:40:26 243

转载 linux内核驱动 DMA Engine使用

转https://blog.csdn.net/dragon101788/article/details/99673427转 http://www.wowotech.net/linux_kenrel/dma_engine_overview.htmlLinux DMA Engine framework(1)_概述一 DMA control 驱动1. 前言前面文章介绍“ Linux MMC framework ”的时候,涉及到了MMC数据传输,进而不可避免地遭遇了DMA(Direct Memory..

2021-05-22 15:54:36 1568

转载 linux kernel (make htmldocs)

转https://stackoverflow.com/questions/50163980/installation-and-usage-of-make-htmldocI just have figured it out that there is a document in the Linux kernel which explains the required information to use 'make pdfdocs':Reference: Documentation/doc-guid

2021-05-22 15:06:25 617

转载 如何编译Linux 内核模块

转载https://blog.csdn.net/u012247418/article/details/83684214本文主要介绍如何在内核外编译内核模块,即:how to build an out-of-tree kernel module.1. 代码hello.c#include <linux/module.h> //所有模块都需要的头文件#include <linux/init.h> // init&exit相关宏#include &lt...

2021-05-18 16:15:22 1359

转载 进程间通信之popen和pclose函数

常见的操作是创建一个管道连接到另一个进程,然后读其输出或向其输入端发送数据,为此,标准I/O库提供了两个函数popen和pclose。这两个函数实现的操作是:创建一个管道,调用fork产生一个子进程,关闭管道的不使用端,执行一个shell以运行命令,然后等待命令终止。#include <stdio.h>FILE *popen(const char *cmdstring, const char *type);返回值:若成功则返回文件指针,若出错则返回NULLint pclose

2021-04-28 14:52:58 1279

转载 Git:合并分支----git merge命令应用的三种情景

文章目录一、git merge 命令应用的三种情景1.1 “快进”(无冲突)1.2 非“快进”,修改不同文件。(无冲突)1.3 非“快进”,修改相同文件。(有冲突)一、git merge 命令应用的三种情景1.1 “快进”(无冲突)master分支假设现在只有一个默认的 master 分支,并提交了3次,B0、B1和B2都是提交对象。首先要清楚,每次产生的提交对象会包含一个指向上次提交对象(父对象)的指针,所以图中B0、B1和B2之间的箭头是指针指向父对象的意思,真正的提交顺序还...

2021-04-16 19:54:31 437

转载 [uboot] (第五章)uboot流程——uboot启动流程

https://blog.csdn.net/ooonebook/article/details/53070065系列以下例子都以project X项目tiny210(s5pv210平台,armv7架构)为例[uboot] uboot流程系列:[project X] tiny210(s5pv210)上电启动流程(BL0-BL2)[project X] tiny210(s5pv210)从存储设备加载代码到DDR[uboot] (第一章)uboot流程——概述[uboot] (第二章)ub..

2021-04-08 06:29:35 712

转载 initrd和initramfs的区别

https://blog.csdn.net/htttw/article/details/7217706initrd和initramfs的区别Linux内核在初始化之后会执行init进程,而init进程会挂载我们的根文件系统,但由于init程序也是在根文件系统上的,所以这就有了悖论。Linux采用两步走的方法来解决这个问题。Linux2.6版以前的方法是:除了内核vmlinuz之外还有一个独立的initrd.img映像文件,其实它就是一个文件系统映像,linux内核在初始化后会mount ini.

2021-04-08 06:25:51 229

转载 史上最全的Uboot常用命令汇总(超全面!超详细!)

https://blog.csdn.net/weixin_44895651/article/details/108211268Linux 系统要启动就必须需要一个 bootloader 程序,也就说芯片上电以后先运行一段bootloader程序。这段bootloader程序会先初始化DDR等外设,然后将Linux内核从flash(NAND,NOR FLASH, SD, MMC 等)拷贝到 DDR 中,最后启动 Linux 内核。当然了, bootloader 的实际工作要复杂的多,但是它...

2021-04-08 06:23:59 1545

转载 emmc boot1 boot2 partition

使用mfg tool烧写android5.1的镜像之后,再使用旧版的mfg tool烧写linux或者android镜像,都不能正常启动,而且运行的uboot还是android5.1版本的uboot。参考链接http://www.itdadao.com/articles/c15a39492p0.htmlhttp://www.cnblogs.com/heiyue/p/5199851.html#undefinedhttp://www.cnblogs.com/heiyue/p/5830505.ht

2021-03-12 16:32:23 1888

原创 3559术语

6-DOF-DIS 防抖 6-Degree Of Freedom-Digital Image Stabilization)LDC 镜头畸变校正 Lens distortion correctionBAS 即Bayer域缩放 Bayer scaling, bayer格式GDC 几何畸变矫正 Geometric Distortion CorrectionAVSP 全景拼接(Any View Stitching Processing)VGS 视频图形系统(Video Graphics S...

2021-03-12 10:52:05 1523

转载 dd命令的解释

https://www.cnblogs.com/misswangxing/p/10911969.html一、dd命令的解释dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512;c=1;k=1024;w=2参数注释:1. if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >2. of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=o.

2021-03-11 18:10:40 243

转载 page_address()函数分析--如何通过page取得虚拟地址

https://blog.csdn.net/hbcbgcx/article/details/89200324由于X86平台上面,内存是划分为低端内存和高端内存的,所以在两个区域内的page查找对应的虚拟地址是不一样的。一. x86上关于page_address()函数的定义在include/linux/mm.h里面,有对page_address()函数的三种宏定义,主要依赖于不同的平台:首先来看看几个宏的定义:CONFIG_HIGHMEM:顾名思义,就是是否支持高端内存,可以查看confi.

2021-03-10 11:47:55 747

转载 cpu 乱序执行与问题

https://blog.csdn.net/lizhihaoweiwei/article/details/50562732“CPU执行乱序”是一个常见的话题,鉴于自己一直对这个概念存在些许理解的差池,故今日写一篇文章留作备忘。注,这里仅仅讨论CPU执行乱序,不涉及编译器的乱序。1.CPU 为什么会乱序?本质原因是CPU为了效率,将长费时的操作“异步”执行,排在后面的指令不等前面的指令执行完毕就开始执行后面的指令。而且允许排在前面的长费时指令后于排在后面的指令执行完。如在 CPU0 上执行下面两

2021-03-09 17:56:26 1041

转载 阿里开源内核诊断工具:diagnose-tools

小编说:今天为大家介绍一款实用工具——阿里开源内核诊断工具diagnose-tools。diagnose-tools是由阿里巴巴开发的linux内核诊断工具,用于linux性能分析,特别是大规模集群系统中的抖动问题分析。diagnose-tools工具是阿里工程师谢宝友在过去一年多时间开发的,代码行数超过 5万行。同时,他也是《深入理解并行编程》、《自研操作系统:DIM-SUM设计与实现》的作者。1. 引言作为一名Linux工程师,难免会遇到系统宕机、夯机、性能抖动等问题。在夯机时,常见的做法是编.

2021-03-04 16:17:59 1196 1

转载 使用 VSCode + qemu 搭建 Linux 内核调试环境

Posted on2019-10-24byhowardlau目录[隐藏]1编译调试版 Linux 内核 1.1Ubuntu 1.2CentOS 1.3Fedora 2制作 initramfs 3启动内核并调试 4配置 VSCode 4.1.vscode/c_cpp_properties.json 4.2.vscode/tasks.json 4.3.vscode/launch.json 4.4.vscode/settings.json...

2021-02-24 13:42:21 2321 1

转载 Linux内核分析实验(二)——深入理解系统调用

一、实验内容找一个系统调用,系统调用号为学号最后2位相同的系统调用 通过汇编指令触发该系统调用 通过gdb跟踪该系统调用的内核处理过程 重点阅读分析系统调用入口的保存现场、恢复现场和系统调用返回,以及重点关注系统调用过程中内核堆栈状态的变化二、实验环境配置1、安装开发工具sudo apt install build-essential libncurses-dev bison flex libssl-dev libelf-devsudo apt install qemu2、下载安

2021-02-24 13:40:53 588

转载 用QEMU和GDB调试Linux内核(linux-5.5.9) --- OK -- 成功(差VScode了)

转载 :https://blog.csdn.net/eidolon_foot/article/details/104905084此调试在VisualBox虚拟机和PC都可进行。操作系统:ubuntu 19.10(unbuntu镜像下载)Linux内核:linux-5.5.9 (https://www.kernel.org/)QEMU:qemu-4.2.0(https://download.qemu.org/)GDB:gdb-9.1(https://download.qemu.or..

2021-02-24 11:49:28 439

转载 在linux下使用udev获取热插拔(hotplug)事件

https://blog.csdn.net/u012247418/article/details/80555556?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-5.control&dist_request_id=43a1f2c7-77bf-4244-b079-7595b57d8dae&depth_1-utm_source=distribute.pc_relevant.none-task-bl...

2021-02-23 17:29:14 1069

原创 Dynamic Tracing with DTrace & SystemTap

Dynamic Tracing with DTrace & SystemTap http://myaut.github.io/dtrace-stap-book/DTrace: Dynamic Tracing in Oracle Solaris, Mac OS X and FreeBSD

2021-02-22 18:26:03 113

NAU88L24_DesignUserGuide_rev1.7.pdf

NAU88L24

2021-03-12

TC358743.7z

TC358743 V1.1

2021-03-12

brezillon-drm-kms.zip

brezillon-drm-kms.pdf 介绍kms

2021-03-12

深入理解Linux虚拟内存管理CD.rar

深入理解Linux虚拟内存管理CD

2021-03-02

systemTap英文文档集合.7z

systemTap英文文档集合.7z

2021-02-26

dtrace 用户指南.zip

dtrace 用户指南 中文版

2021-02-26

Solaris动态跟踪指南.zip

Solaris动态跟踪指南 全面介绍D语言

2021-02-26

内核红黑树MAP--C语言

封装了linux 内核 红黑树,纯C语言,外层已经封装好了,直接使用,有压力测试,很不错

2019-01-17

FFmpeg Basics

Multimedia handling with a fast audio and video encoder Multimedia handling with a fast audio and video encode Multimedia handling with a fast audio and video encode Multimedia handling with a fast audio and video encoder

2017-12-01

Linux Media Subsystem Documentation

2017年 最新的 V4L2 规范 ,做 linux 摄像头的一定要看...........................................................................................................

2017-11-29

单独编译和使用 webrtc 音频回声消除模块

单独编译和使用webrtc音频回声消除模块(附完整源码+测试音频文件)

2017-11-29

live555MediaServer

live555MediaServer 服务器 实现 RTSP流媒体,实现 RTSP流媒体

2017-10-10

高通 atheros ART 校准

高通 atheros ART 校准 资料合集

2016-12-23

输入方向的流量控制 .doc

Linux中的QoS分为入口(Ingress)部分和出口(Egress)部分,入口部分主要用于进行入口流量限速(policing),出口部分主要 用于队列调度(queuing scheduling)。 大多数排队规则(qdisc)都是用于输出方向的,输入方向只有一个排队规则,即ingress qdisc。ingress qdisc本身的功能很有限, 但可用于重定向incoming packets。通过Ingress qdisc把输入方向的数据包重定向到虚拟设备ifb,而ifb的输出方向可以配置

2016-11-08

DDR DDR2 DDR3设计总结指导手册

DDR DDR2 DDR3 Layout 详细 总结 经验

2016-10-27

QT编写的超市收银系统

QT 超市收银系统 可直接运行 给大家一个参考

2016-04-30

空空如也

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

TA关注的人

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