自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 kdb 调试内核-延迟驱动加载

系统在启动过程中,一些要调试的驱动在 "进入kdb 之前" 就已经加载了,那么,我们就需要延迟 "加载驱动"

2024-05-11 16:37:15 209

原创 mdio 的匹配与探测

int flags;

2024-05-10 20:09:28 474

原创 ethtool 调用流程

2395.556646] bcmgenet_get_eee+0x24/0x88 [genet] //结束。[ 2395.556675] dev_ioctl+0xf8/0x288 //开始。

2024-05-10 19:48:37 479

原创 linux mdio 操作

【代码】linux mdio 操作。

2024-05-10 19:41:08 149

原创 网络驱动- register_netdevice

2. 在 alloc_netdev_mqs 把init_net 赋值给 dev->nd_net->net。把net_device插入到全局变量init_net的dev_base_head 链表中。1. 定义init_net。

2024-05-09 09:08:45 218

原创 网路驱动 目录

注册: https://www.cnblogs.com/wanpengcoder/p/7526214.html。网络设备 结构体介绍。以太网控制器的ops。

2024-05-07 14:50:05 174

原创 spi 驱动总结

0. 源码 结构drivers/spi/spi.c 对应spi 核心drivers/spi/spidev.c 对应spi 设备驱动drivers/spi/spi-bcm2835.c 对应spi 控制器驱动1. 数据发送: ctrl->transfer_one 的实现2. 注册子设备int spi_register_controller(struct spi_controller

2024-05-06 18:23:40 161

原创 spi 驱动-数据发送流程分析

核心函数是spi_sync, 设备驱动->核心函数-> 控制器驱动。

2024-05-06 18:05:02 256

原创 linux 调试-kdb 调试内核-1

目标:打印bcm2835_spi_transfer_one 是如何从用户空间开始调用的。

2024-05-06 17:49:38 532

转载 kthread_worker 和 kthread_work 机制

Linux Kernel 提供的 kthread_worker 和 kthread_work 机制,主要是定义了一种方便使用和管理内核线程的一种手段,依托 kthread_worker,内核的其他模块开发者(比如驱动开发)能够简单的实现内核线程的高效使用。本质上来说他们是一种内核线程使用和管理的方式,类似 work_struct 和 workqueue_struct 机制。

2024-05-06 13:35:50 34

原创 spi 体系结构

linux SPI体系结构 分别是SPI核心、驱动(控制器驱动)、SPI设备驱动。

2024-05-06 09:36:37 245 1

原创 中断使用实例

irq_domain_translate(domain, fwspec, &hwirq, &type),获取硬件中断号。申请virq,该函数用于hw_irq和virq的映射处理。irq_create_fwspec_mapping函数主要功能是由下面五个函数组成的。

2024-04-30 14:40:25 126

原创 SPI 基础

一个时钟周期包含两个阶段:开始传输->开始采样开始采样时,clk 一定进行了 翻转如果开始传输,clk没有翻转则CPHA =0.首先拉高对应设备的SS线,选择对应的从设备通过SLCk产生时钟边沿变化,来告诉从设备读写主设备里的控制逻辑通过位移寄存器从高到低的方式移动给SDI总线上从设备接收到之后也通过位移寄存器的方式按照顺序移到DR寄存器中。

2024-04-30 13:41:43 160

原创 linux dma的使用

* get tx/rx dma */ //根据dmas 和dma-names属性。

2024-04-30 11:06:45 440

原创 file_operations

32 位 程序 ->32位 kernel。64 位 程序 ->64位 kernel。32 位 程序 ->64位 kernel。

2024-04-29 17:14:03 302

原创 linux调试-访问物理地址

linux 调试访问物理地址

2024-04-26 17:40:51 827

原创 kernel 调试-打印调用堆栈

增加dump_stack()函数size_t i;u32 clk_id;int ret;........

2024-04-25 14:50:52 987

原创 linux驱动-CCF-4 常见困惑

fixed-clock“ 节点 包含clock-frequency 属性,用于配置。注意区分assigned-clock-rate。答:clk_set_rate会向上传递,即设置它的父时钟频率。问题2: 设置时钟频率需要的参数。问题:设备树配置频率的问题。时钟controller。

2024-04-24 17:50:15 166

原创 linux驱动-CCF-0基础

晶振:提供基础时钟源的(可分为有源晶振、无源晶振两种);PLL: 用于倍频的锁相环;mux: 用于多路时钟源选择;Divider: 用于分频的;gate: 用于时钟使能的与门电路等。

2024-04-24 15:41:35 238

原创 linux驱动-CCF-3-consumer 接口

获取句柄#prepare 与enable//使能时钟,不会睡眠//使能时钟,不会睡眠int clk_prepare_enable(struct clk *clk) //使能时钟,可能会睡眠 void clk_disable_unprepare(struct clk *clk) //禁止时钟,可能会睡眠unsigned long clk_get_rate(struct clk *clk) //获取时钟频率。

2024-04-24 14:43:10 328

原创 linux驱动-CCF-1 provider 注册时钟

struct clk_hw_onecell_data onecell 填充到struct of_clk_provider *cp 中的data。struct clk_hw 组成 struct clk_hw_onecell_data onecell。b. 调用 of_clk_add_hw_provider 根据 进一步生成of_clk_provider ,并添加到全局列表。void *data;//对应 clk_hw_onecell_data(包含clk provider 注册的所有数组)

2024-04-24 13:38:14 447

原创 linux驱动-CCF-2 of_clk_provider

/provider 的设备节点//a.provider 根据 clksec 查找data 数据//b. clkspec->args[0]来自于 consumer节点的clocks属性的时钟说明符,//c. data 来自于 provider 特定的data数据void *data;

2024-04-24 09:21:05 587

原创 linux设备树-时钟

如果该provider的#clock-cells等于0,那么说明该provider就一个output,那么就不需要clock specifier来进一步描述。我们上面说过了,一个HW block(clock consumer)的时钟源可以通过phandle和clock specifier来描述,这里#clock-cells就是说明使用多少个cell(u32)来描述clock specifier。如果不提供这个属性,那么clock-output-names和index的对应关系就是0,1,2……

2024-04-23 14:57:53 731

原创 linux 驱动-匹配2 (amba_bustype)

/创建amba_device// 用于匹配amba_driver 的id_table。

2024-04-22 14:54:35 458

原创 linux 驱动-匹配1 (platform_bus_type)

实例: echo "my_driver" > /sys/bus/platform/devices/my_device/driver_override。根据of_device_id 的 compatible, type, name顺序去匹配device_node的compatible, type, name。.of_match_table = bcm2835_rng_of_match, 方式2 /方式3().id_table = bcm2835_rng_devtype, 方式4。

2024-04-22 10:54:12 1063

原创 linux 设备树-of_address_to_resource

1. of_address_to_resource 分析第一步。

2024-04-19 11:11:41 355

原创 linux设备树-of_parse_phandle_with_args

index 表示 phandle 列 表的索引,0 代表第一个 phandle,1 代表第二个 phandle;cells_name 参数指明 phandle 指向的节点所含的 cells 个数;list_name 指向节点中 phandle 列表的属性名;out_args 参数用于存储 phandle 中的参数。即 #interrupt-cells = ;即interrupts。np 指向当前节点;即两个参数: 3 1。

2024-04-18 14:23:35 216

原创 linux设备树- device_node的 fwnode的作用

1. of_node_init(np)函数初始化了fwnode 变量2. 初始化fwnode.ops =of_fwnode_ops 结构体(实际包含一组函数)3. 类似 fwnode_xxx 的函数调用,实际调用了 ”of_fwnode_ops“结构体 提供的一组函数4. of_fwnode_ops“结构体的fw_fwnode_xxx 最终调用of_xxx 函数两个property.c 文件的说明。

2024-04-17 14:13:48 414

原创 MODULE_DEVICE_TABLE 详解

linux 驱动之MODULE_DEVICE_TABLE 宏

2024-04-03 14:28:37 766

原创 IO扩展芯片-TCA9535

TCA9539-Q1 是一款 24 引脚器件,可为两线双向 I2C 总线(或 SMBus 协议)提供 16 位通用并行输入和输出 (I/O) 扩展。1. 支持 100kHz(I2C 标准模式)和 400kHz(I2C 快速模式)时钟频率2. 每当输入端口改变状态时在 INT 引脚上生成的中断3. A0 和 A1 硬件可选地址引脚允许同一 I2C 总线上最多四个 TCA9539-Q1 器件4. 通过硬件 RESET 引脚,将器件重置为其默认状态。

2024-03-28 10:58:03 697

原创 文件对比工具-meld-vbindiff

本文 介绍 几个非常好用的 文本对比工具与二进制对比工具

2024-03-23 11:26:11 1032

原创 Window -多微信登陆

本文详细介绍了 如何在windows 系统下登陆多个微信

2024-03-23 10:05:07 586

原创 MIPI-协议层

详细介绍了MIPI 协议层

2024-03-20 21:50:59 860

原创 MIPI 简述

1. Camera 使用CSI(数据流方向 Camera -> SOC )Diaplay 使用DSI(数据流方向 SOC -> Display )2. CSI/ DSI 分为 发送器和接收器 (参照右图)3. CSI / DSI 的物理层均可以使用A-PHY ,C-PHY, D-PHY(常见).CSI与DSI。

2024-03-20 10:47:50 730

原创 摄像头调试-基础概念

摄像头驱动的源码位置:FourCC:摄像头调试工具:

2024-03-19 23:58:50 40

原创 4.摄像头组件-Serializer( Max96717)

本文主要介绍 摄像头组件4-Serializer( Max96717)

2024-03-19 23:24:06 887

原创 1.车载摄像头-物理结构

本文深入车载摄像头模组内部,详细讲解了各个子模块

2024-03-18 16:18:42 1151

原创 2.摄像头组件- 图像传感器

本文简单介绍了车载摄像头模组的子组件 ImageSensor

2024-03-18 15:44:10 658

原创 3.摄像头组件- CVP (ISP)

本文介绍 车载摄像头组件-ISP

2024-03-18 14:14:33 528

原创 5.摄像头-调试工具

本文介绍 camera调试时常用的命令行工具

2024-03-15 14:22:25 361

TCA9539QPWRQ1_接口及驱动芯片_IO端口扩展器.pdf

TCA9539QPWRQ1_接口及驱动芯片_IO端口扩展器

2024-03-28

解串器MAX96724

解串器MAX96724

2024-03-21

MIPI_Alliance_Specification_for_Camera_S (1).pdf

MIPI_Alliance_Specification_for_Camera_S (1)

2024-03-21

理解MIPI-CSI-DSI-CPHY-DPHY.pdf

理解MIPI-CSI-DSI-CPHY-DPHY

2024-03-20

max96717_datasheet.pdf

max96717_datasheet

2024-03-19

max96717_评估板设计.pdf

max96717_评估板设计

2024-03-19

AR0233.zip

AR0233 Datasheet AR0233 Deleoper Guide AR0233 评估板用户手册 AR0238 register reference

2024-03-19

AR0233 评估板用户手册.PDF

AR0233 评估板用户手册.PDF

2024-03-19

AR0238 Register Reference.pdf

AR0238 Register Reference

2024-03-19

AR0233AT 1_2.5_Inch CMOS Digital Image Sensor_ Developer Gui.pdf

AR0233AT Developer Guide

2024-03-19

AR0233 详细版pdf

AR0233 详细版pdf

2024-03-18

SG2-AR0233C-5200-GMSL2-Hxxx_cn.pdf

SG2-AR0233C-5200-GMSL2-Hxxx_cn

2024-03-18

IND-0623-GW5200-1.pdf

GW52x0 是一款先进的摄像头视频处理器 (CVP) 片上系统 (SoC),专为高级驾驶员辅助系统 (ADAS) 设计。 GW52x0 包括独立的创新高动态范围 (HDR) 图像信号处理器 (ISP)、专有的第五代 eWARP几何处理器和 2D 图形功能。 GW52x0 采用 28nm 工艺设计,支持小型、低功耗边缘汽车摄像头,支持 ​​ASIL-B 和 AEC Q100 Grade 2。HDR ISP 支持高达 2.5MP 图像传感器、最先进的 HDR 和 LED 闪烁最新汽车传感器上可用的缓解 (LFM) 技术。矢量图形引擎渲染高分辨率实时图形以叠加在视频流上,从而实现引人注目的用户界面。 GW52x0 无需外部 DDR 内存并采用双摄像头输入,从而减少了系统组件数量。通过利用独立的软件设计和评估套件,可以将基于 GW52x0 的设计快速推向市场

2024-03-18

AR0220-D-1381938.pdf

AR0220-D-1381938

2024-03-15

max96717.pdf

max96717

2024-03-15

车载摄像头-图像处理流程

车载摄像头-图像处理流程

2024-03-15

自动驾驶领域 FAKRA 连接器

罗森伯格 FAKRA* 行业标准兼容连接器旨在满足汽车行业严格的机械和环境要求。 这些高品质 FAKRA 连接器具有符合 FAKRA 编码行业标准的特定颜色编码塑料外壳,可确保最大的电气和机械性能。 十三种不同的机械和颜色代码可实现轻松识别和独特的键控,以避免误配和额外的一种中性编码。 这些精密制造的产品结合了罗森伯格的车削零件生产专业知识和 FAKRA SF** 冲压成型技术,非常适合线束制造商进行过程安全和全自动组装,从而显着降低生产成本。 罗森伯格 FAKRA 连接器用作车辆高频远程信息处理应用的标准接口,其中第一要务是确保安全。 例如,在自动驾驶和驾驶辅助系统中,需要确定精确定位、持续计算路线以及检测和分类物体。 因此,来自多个摄像机、各种传感器和导航源的大量数据必须实时组合和传输

2024-03-15

汽车领域 HSD 连接器 手册

TE Con​​nectivity (TE) 的高速数据 (HSD) 产品组合专为高速数据传输而设计,可满足高达 3 Gbps 的汽车要求。这种高度稳健且完全屏蔽的系统旨在为车载信息娱乐模块、摄像头、消费端口和显示单元等应用提供高速连接解决方​​案。 TE 的 HSD 专为差分数据传输而设计,可提供出色的电磁干扰 (EMI) 性能。与单端系统相比,差分对的 EMI 发射极小,因为正信号和负信号有效地相互抵消。同样,传入的噪声将同等地影响两个导体,这可以很容易地被接收器消除

2024-03-15

PCI Express 6.0 规范,速度为 64.0 GT/s,采用 PAM-4 信令:低延迟、高带宽、高可靠性和经济高效

概述: 本演示文稿中的信息涉及仍在开发过程中的规范。 本演示反映了各个 PCI-SIG 工作组当前的想法,但在规范发布之前所有材料可能会发生变化。 文档设计的议程: • PCI Express 规范简介 • PCIe 6.0 架构的关键指标和要求 • PAM-4 和错误假设/特征 • PCIe 6.0 规范错误处理方法:FEC 和 CRC + 重试 • PCIe 6.0 规范中的 Flit 模式 • 低功耗增强功能:L0p • 性能和可靠性结果 • 结论 介绍: 1.PCIe 技术每一代都将数据速率提高一倍,并且每 3 年完全向后兼容 2. 跨计算连续体的无处不在的 I/O:PC、手持式、工作站、服务器、云、企业、HPC、嵌入式、物联网、汽车、人工智能 3. 跨具有不同外形尺寸、宽度(x1/x2/x4/x8/x16)和数据速率的所有细分市场的同一个堆栈/同一芯片:例如,x16 PCIe 5.0 规范与 x1 PCIe 规范互操作

2024-03-14

2020-05-u-booting-securely-wp-final.pdf

本文旨在独立分析与在安全嵌入式系统中使用 U-Boot(正式名称:Das U-Boot)有关的已知陷阱和生产错误配置,并为开发人员提供产品安全指导。它面向计划使用或已经使用 U-Boot 作为其现有产品一部分的团队和组织。F-Secure 咨询公司硬件安全团队在研究安全启动实施时遇到过大多数例子,这些例子导致设备安全部分或完全受损。 虽然对 U-Boot 生态系统有一定程度的了解会有所帮助,但我们还是对 U-Boot 的相关安全功能做了少量介绍。 U-Boot 项目为系统开发人员提供了构建和调试嵌入式系统的灵活性和工具,是一笔巨大的财富。由于首要的安全目标是确保建立和维护信任链,因此显然需要确保 U-Boot 经过适当的加固,从而不会对系统安全构成威胁。能否成功做到这一点,在很大程度上取决于开发过程中的许多配置选择。

2024-03-13

嵌入式开发-NXP-iMX-Working-with-Linux-and-uboot

嵌入式开发_NXP_iMX_Working_with_Linux_and_uboot: 概述: 这份文档为您提供了与 U-boot 引导程序和 Linux 内核相关的不同主题的信息和指导。 您可能还需要的额外文档包括: 您正在使用的板卡的入门指南。 Working with Yocto。 iMX8M Mini uCOM 相关内容: 1.BOOT流程: Boot firmware-> SPL->U-Boot->Linux->Init process 2.Device Tree 3. U-boot 与 KerneL 的配置 4. Copy files to / from target using SCP

2024-03-13

qpdf-11.9.0-mingw32.exe

qpdf 工具 安装包(windows版本 ), 建议去官方下载最新版本。 官方链接:https://sourceforge.net/projects/qpdf/ QPDF是一个用于处理PDF文件的命令行程序和库。它提供了一系列用于创建、转换、解密、合并、拆分和修改PDF文件的功能。QPDF的主要特点和功能如下: PDF转换和处理: QPDF可以对PDF文件进行各种转换和处理,包括更改PDF版本、压缩PDF文件、转换PDF页面格式等。 合并和拆分PDF文件: 它能够合并多个PDF文件成一个文件,或者将一个PDF文件拆分为多个文件。 加密和解密: QPDF提供了PDF文件的加密和解密功能。它可以给文件添加密码保护,也可以移除已有的密码保护。 检查和修复: 它可以检查PDF文件的结构并修复某些类型的问题。 命令行界面: QPDF是一个命令行工具,这使得它非常适合自动化处理PDF文件,尤其是在服务器环境或作为其他软件工作流程的一部分。 跨平台: QPDF支持多个平台,包括Windows、Linux和macOS。 免费和开源: QPDF是免费且开源的.

2024-03-13

空空如也

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

TA关注的人

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