自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(159)
  • 资源 (63)
  • 问答 (4)
  • 收藏
  • 关注

原创 Ethernet : No ethernet found

uclass_first_device_check的作用是找到第一个UCLASS_ETH类型的 udevice,然后进行device_probe,这里没找到,这是由于没有编译UCLASS_ETH对应的driver到uboot。uboot启动过程中提示No ethernet found。实现这个Ethernet驱动编译到uboot系统即可。

2024-09-13 16:07:09 80

原创 watchdog: BUG: soft lockup - CPU#3 stuck for 23s! [swapper/0:1]

这里没有在kernel 添加lockdep配置,打印的calltrace信息,测试代码逻辑比较简单,所以能一眼看出来lockdep_test_init中有问题。Linux内核中打开lockdep功能,需要打开。

2024-09-03 14:16:50 1162

原创 RCU概念

fps=”显示了自该CPU上次注意到宽限期开始以来,线程在该CPU上进行的宽限期的强制静止状态空闲/脱机检测通过的次数。"softirq="部分跟踪RCU的软处理程序的数量,该暂停的CPU已经执行。detected by”这行表示哪个CPU检测到了这个失速。首先拷贝一个副本,然后在副本上进行修改。把原数据的指针重新指向新的被修改的数据。“idle=”部分打印动态空闲状态。RCU只适用于读多写少的情况。

2024-09-02 17:21:31 913

原创 tid,pid,ppid,tgid,pgid,uid,euid介绍

PID : 在Unix和Linux系统中,每个运行的程序都是一个进程。每个进程都有一个唯一的进程IDProcess Identification)PPID : 指的是父进程的pid,每个进程都可以创建一个或多个子进程,对于创建这个子进程的进程,我们称之为父进程。TID:创建的线程的IDTGID:线程组ID,包含多个线程的线程组PGID:进程组ID,包含。

2024-08-27 16:48:27 378

原创 ACPI概念

我们最常用到的是S3状态,即Suspend to RAM(挂起到内存)状态,简称STR。在STR状态下,电源仍然继续为内存等最必要的设备供电,以确保数据不丢失,而其他设备均处于关闭状态,系统的耗电量极低。一旦我们按下Power按钮(主机电源开关),系统就被唤醒,马上从内存中读取数据并恢复到STR之前的工作状态。而S4状态,即STD(挂起到硬盘)与STR的原理是完全一样的,只不过数据是保存在硬盘中。注意,FAT32格式的硬盘无法实现硬盘的挂起功能(STD),而FAT16格式是可以的。ACPI表示高级配置和。

2024-06-04 16:24:27 249

原创 ethernet eth0: Could not attach to PHY

整个流程看下来就是MAC connect PHY的过程失败了,失败的具体原因根据config_init,上图(bcm54xx_config_init) ,从此方向入手去定位原因;我这里的问题是has_gmac4没有置1,根据 has_gmac4: uses GMAC4 core.按照上面的调用逻辑,添加了部分打印,定位到__phy_read接口返回失败。stmmac_mdio_read 大部分都是linux的标准接口。最终取决于平台用的是哪家的phy,调用config_init。

2024-06-03 17:07:15 658

原创 stmmac_mdio_register

作用:注册MII总线先看看Mii_bus的定义。

2024-05-24 17:48:00 103

原创 Ethernet汇总

Ethernet 汇总Ethernet系统框架stamac Ethernet DTS配置Ethernet 模块&通信uboot Ethernet初始化uboot Ethernet 数据收发流程【1】uboot Ethernet 数据收发流程【2】uboot dhcp命令stmmac_dvr_probe解析EQOS 常用寄存器[1]EQOS 常用寄存器[2]Ethernet修改网卡名称网络问题排查DHCP 介绍IPV6 -ping6用法

2024-05-23 16:46:01 70

原创 uboot Ethernet 数据收发流程【2】

配置这些后,就可以通过相关接口收发数据了,这里以dhcp功能为例。收发完成后,stop,shutdown phy。前面讲到eqos_start做了以下事情。总结了一部分uboot收发数据的流程。

2024-05-11 15:14:14 89

原创 uboot Ethernet 数据收发流程【1】

是uboot启动过程中的以太网初始化流程,这里梳理数据收发流程这是uboot中一次dhcp流程 和 ping流程 ,不同于Linux kernel中Ethernet驱动一直处于收发状态,【uboot只是启动kernel的引导程序,正常不是每次系统启动都会在uboot停留】,所以不会初始化硬件以及一直轮询收发数据包。这里不关注hdcp和ping的数据收发流程,只看Ethernet发送数据需要MAC和PHY做什么?调用流程也比较简单。

2024-05-11 14:22:06 342

原创 uboot Ethernet初始化

这部分代码实在init_sequence_r初始化的【即uboot启动过程中】

2024-05-10 16:53:54 100

原创 EQOS 常用寄存器[2]

The Operation Mode register establishes the Transmit and Receive operating modes and commands. //建立传输和接收的操作模式和命令。//DMA 运行模式。

2024-05-07 17:45:57 98

原创 EQOS 常用寄存器[1]

spec中定义的太多了,看不过来,根据驱动代码看哪些常用控制MAC的运行模式。

2024-05-07 17:16:34 178

原创 Android iw 工具

代码位置:Android/external/iw。

2024-05-07 11:04:02 258

原创 uboot dhcp命令

最后通过MAC 驱动 ,PHY驱动,把数据发了出去!

2024-04-29 17:35:49 111

原创 uboot 启动流程【2】

如果当前的编译是SPL(由CONFIG_SPL_BUILD定义),可单独定义堆栈基址(CONFIG_SPL_STACK),否则,通过CONFIG_SYS_INIT_SP_ADDR定义堆栈基址。3)如果当前是SPL(由CONFIG_SPL_BUILD控制),则_main函数结束,直接返回。接口,从堆栈开始的地方,为u-boot中大名鼎鼎的GD ('global data') 数据结构,分配空间。函数,执行后续的初始化操作(已经不再本文的讨论范围了,具体请参考后续的分析文章)。接口,对GD进行初始化。

2024-04-29 10:20:26 226

原创 uboot 启动流程【1】

执行通常从特定于体系结构(也可能是CPU-specific)的启动start.S文件,例如:等等......。从那里,调用三个函数;下面描述了这些函数的目的和限制。

2024-04-29 10:04:18 369

原创 uboot介绍

是一个主要用于嵌入式系统的引导加载程序,可以支持多种不同的计算机系统结构,其主要作用为:==引导系统的启动!==目前,U-Boot不仅支持Linux系统的引导,还支持NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS, android等多种嵌入式操作系统。,是遵循GPL条款的从FADSROM、8xxROM、PPCBOOT逐步发展演化而来的 开放源码项目。:这个选项能显示出编译过程中的详细信息,即是verbose编译模式。:多核并行编译,可以提高编译速度,受硬件限制。

2024-04-28 16:29:37 179

原创 Uboot驱动模型

驱动模型被称为Driver Model,简称DM。这种驱动模型为uboot中的各类驱动提供了统一的接口。

2024-04-26 16:50:23 502 2

原创 struct uclass_driver

【代码】struct uclass_driver。

2024-04-26 16:17:53 147

原创 uboot GPIO调试

268 /**270 *274 */整理下gpio_direction_output的调用流程,其他接口也可以535{538545548}42/**44 *48 *52 */54{57 int ret;5860 dev;67 }68 }6972}Note: gpio_to_device的作用是把GPIO Num找到对应的设备(dts可以配置多个gpio device)

2024-04-25 19:46:38 393

原创 uboot driver

【代码】uboot driver。

2024-04-24 14:10:32 314

原创 USB总线的物理结构及设备分类

USB物理体系如图所示,它的,通过根HUB,可以外接USB设备和USB HUB()进行USB接口的扩展。

2024-04-18 17:35:33 1041

原创 USB 枚举/断开过程

如果断开的是一个USB集线器,USB主机会对该集线器和其所连接的所有设备进行断开操作。USB设备枚举一般会经过插入、供电、初始化、分配地址,配置,获取。和配置设备这么几个过程。

2024-04-18 17:13:14 429

原创 struct udevice

驱动程序的实例。

2024-04-09 14:36:27 445

原创 Ethernet 汇总

Ethernet系统框架Ethernet 模块&通信stamac Ethernet DTS配置Ethernet修改网卡名称网络问题排查DHCP 介绍IPV6 -ping6用法

2024-04-07 16:24:28 145

原创 stmmac_dvr_probe解析

上面的dwmac100_dma_init 只是一个例子 就是stmmac_dma_ops结构里面的init。经过上述net_device系列的配置,最终向linux注册网络设备;很简单,检查MAC地址是否有效,无效则随机生成一个。分配内存空间,创建Ethernet device。添加 ethtool操作接口。初始化MAC device。

2024-04-07 15:55:44 210

原创 Ethernet修改网卡名称

网卡驱动注册net_device的时候alloc_etherdev_mqs,也可以通过其他方式修改net_device的name[IFNAMSIZ]如何修改Ethernet网卡名称。

2024-04-02 20:18:34 62

原创 Ethernet系统框架

RMII 口是用两根线来传输数据的,MII 口是用 4 根线来传输数据的,GMII 是用 8 根线来传输数据的。GMII是千兆网的MII接口,这个也有相应的RGMII接口,表示简化了的GMII接口。MII/RMII 用于传输以太网包,在 MII/RMII 接口是 4/2bit 的,在以太网的PHY里需要做串并转换,编解码等才能在双绞线和光纤上进行传输,其帧格式遵循IEEE 802.3(10M)/IEEE 802.3u(100M)/IEEE 802.1q(VLAN)。每条信道都有自己的数据、时钟和控制信号。

2024-03-28 20:35:38 49

原创 stamac Ethernet DTS配置

应该是"snps,dwmac-", "snps,dwmac"或"snps,dwxgmac-", "snps,dwxgmac"。如果不是通过后,系统时钟将被使用,这在某些情况下是可以的平台。控制器接收fifo的大小,以字节为单位。如果设置了这个值,DMA rx将使用这个值,而不是snps、pbl。如果设置,DMA tx将使用这个值,而不是snps、pbl。​​​​​​使用compatible = "snps,dwmac-mdio",创建并注册mdio总线。

2024-03-28 20:12:51 245

原创 Linux总线设备驱动框架

Note:驱动模型中的总线可以是真是存在的物理总线(USB总线,I2C总线,PCI总线),也可以是为了驱动模型架构设计出的虚拟总线(Platform总线)。

2024-03-28 10:29:15 259

原创 ioremap 文件 ioremap原理

通过读写寄存器使用外设,外设寄存器连续编址。

2024-03-12 20:07:40 108

原创 PTP软硬件时间戳

PTP 是一种网络协议,用于在计算机网络中进行时钟校准和时间同步。硬件时间戳和软件时间戳是在实现 PTP 时常见的两种方式,它们在精度、可靠性、实时性以及资源消耗等方面存在差异。

2023-11-18 15:02:27 767

原创 boringssl EVP_aes_128_ecb实现

其实有方向的情况下可以用gcc -E ./src/crypto/fipsmodule/cipher/e_aes.c -o test.i -I include/文件 "./src/crypto/fipsmodule/cipher/e_aes.c + 行号;最近学习boringssl,发现没找到EVP_aes_128_ecb在哪里实现的。随便拿EVP_CIPHER_FUNCTION(128, cbc)展开。-E,只执行到预编译,直接输出预编译结果【有目标的情况下】饶了一大圈,发现它的定义很无语。

2023-08-29 20:50:13 1285

原创 boringssl DEFINE_LOCAL_DATA

所以DEFINE_LOCAL_DATA(EVP_CIPHER, aes_192_ecb_generic) =aes_192_ecb_generic_do_init 初始化EVP_CIPHER 结构体。## 的连接作用是在预处理期完成的,因此只在宏定义中有效。代码看着有点别扭,就是怕别人看懂了,写出这么个玩意。DEFINE_DATA定义见上面的代码,继续拆~看DEFINE_LOCAL_DATA 定义!## 运算符用于在预处理期粘连两个标识符。编译器不知道 ## 运算符的存在。

2023-08-26 16:32:10 785

原创 boringssl DEFINE_LOCAL_DATA

代码看着有点别扭,就是怕别人看懂了,写出这么个玩意。看DEFINE_LOCAL_DATA 定义!

2023-08-26 16:20:06 1176

原创 Linux Platform bus Init

基于kernel4.19。

2023-08-16 17:14:23 262

原创 platform驱动[1]

linux内核中,有IIC、SPI、PCI、USB等;但是SOC上的有些外设(eg:LED,定时器……),他们是直接通过内存的寻址空间来进行寻址的,cpu与这些设备通信是不需要总线的。为了对设备进行统一的管理,对这些直接通过内存寻址的设备虚拟了一条,所有直接通过内存寻址的设备都映射到这条总线上。

2023-08-15 19:44:23 115

原创 Linux中断

是指 CPU 在执行程序的过程中,出现了某些突发事件急待处理, CPU 必须暂停当前程序的执行,转去处理突发事件,处理完毕后又返回原程序被中断的位置继续执行。:CPU在执行指令时,收到某个中断信号转而去执行预先设定好的代码,然后再返回到原指令流中继续执行,这就是中断机制。

2023-06-26 19:56:20 181

原创 [Spec] WiFi P2P Discovery

上面的spec文档翻译过来都模模糊糊说不清,下面说人话!1. P2P设备发现有两个阶段Scan和Find。2. P2P设备工作状态有两个如下:Listen:不发送Probe Request Frame,只在收到probe后回复Probe Response Frame。Search:只发送Probe Request Frame,不回复Probe Response Frame3. 在对方的Probe Response Frame,表明回复了我的Probe Request Frame即为发现了设备。

2023-06-25 14:52:51 711

WifiCountryCode ,wifi信道列表

WifiCountryCode ,wifi信道列表

2022-09-08

HDCP 2 2 CTS 1_1_final.pdf

HDCP 2 2 CTS 1_1_final.pdf WiFi联盟官方文档

2022-05-30

HDCP 1.x Signing Facility User's Guide.pdf

HDCP 1.x Signing Facility User's Guide.pdf WiFi 联盟官方文档

2022-05-30

HDCP 2.x Signing Facility User's Guide.pdf

HDCP 2.x Signing Facility User's Guide.pdf WiFi联盟官方文档

2022-05-30

HDCP on DisplayPort Specification Rev2_3.pdf

HDCP on DisplayPort Specification Rev2_3.pdf WiFi 联盟官方文档

2022-05-30

HDCP on WirelessHD Specification Rev2_2.pdf

HDCP on WirelessHD Specification Rev2_2.pdf WiFi 联盟官方文档

2022-05-30

PKCS #1: RSA Cryptography Specifications Version 2.2

PKCS #1: RSA Cryptography Specifications Version 2.2 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 5 2. Notation . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3. Key Types . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.1. RSA Public Key . . . . . . . . . . . . . . . . . . . . . 8 3.2. RSA Private Key . . . . . . . . . . . . . . . . . . . . . 9 4. Data Conversion Primitives

2022-05-30

RSA-oaep_spec.pdf

RSA-oaep_spec.pdf RSA 算法 @ OAEP填充 ,

2022-05-30

Wi-Fi_CERTIFIED_Miracast_Technical_Overview_20220201.pdf

Wi-Fi_CERTIFIED_Miracast_Technical_Overview_20220201.pdf wifi联盟官方文档

2022-05-30

Wi-Fi_Alliance_Technical_Note_Miracast_in_6_GHz_v1.0.pdf

Wi-Fi_Alliance_Technical_Note_Miracast_in_6_GHz_v1.0.pdf wifi联盟官方文档

2022-05-30

Wi-Fi CERTIFIED Miracast Highlights_0.pdf

Wi-Fi CERTIFIED Miracast Highlights_0.pdf wifi联盟官方文档

2022-05-30

HDCP Interface Independent Adaptation Specification Rev2_3.pdf

HDCP Interface Independent Adaptation Specification Rev2_3.pdf wifi联盟官方文档

2022-05-30

wifi联盟官方文档 HDCP 2.3 IIA CTS 17 April 19.pdf

wifi联盟官方文档 HDCP 2.3 IIA CTS 17 April 19.pdf

2022-05-30

Wi-Fi_QoS_Management_Specification_v2.0_0 WiFi联盟官方文档

Wi-Fi_QoS_Management_Specification_v2.0_0 WiFi联盟官方文档

2022-05-30

Wi-Fi_Protected_Setup_Specification_v2.0.8 WiFi联盟官方文档

Wi-Fi_Protected_Setup_Specification_v2.0.8 WiFi联盟官方文档

2022-05-30

Wi-Fi_Optimized_Connectivity_Specification_v2.0_0 WiFi联盟官方文档

Wi-Fi_Optimized_Connectivity_Specification_v2.0_0 WiFi联盟官方文档

2022-05-30

Wi-Fi_Data_Elements_Specification_Package_Release_2_1 WiFi联盟官方文档

Wi-Fi_Data_Elements_Specification_Package_Release_2_1 WiFi联盟官方文档

2022-05-30

Wi-Fi_CERTIFIED_Passpoint_Online_Sign-Up_Certificate_ WiFi联盟官方文档

Wi-Fi_CERTIFIED_Passpoint_Online_Sign-Up_Certificate_ WiFi联盟官方文档

2022-05-30

Wi-Fi_CERTIFIED_EasyMesh_Technology_Overview_202110 WiFi联盟官方文档

WiFi联盟官方文档

2022-05-30

Wi-Fi_CERTIFIED_Easy_Connect_Technology_Overview_202012

Wi-Fi_CERTIFIED_Easy_Connect_Technology_Overview_202012

2022-05-30

Wi-Fi_Alliance_Capabilities_Specification_v1.0 WiFi 联盟官方文档

Wi-Fi_Alliance_Capabilities_Specification_v1.0 WiFi 联盟官方文档

2022-05-30

Coexistence_Test_Plan_Package_v2.0 WiFi 联盟官方文档

Coexistence_Test_Plan_Package_v2.0 WiFi 联盟官方文档

2022-05-30

WiFi 联盟官方文档 AFC_Specifications_and_Test_Plans_041422

WiFi 联盟官方文档 AFC_Specifications_and_Test_Plans_041422

2022-05-30

Miracast 最新spec

Editorial update to reflect new technology name, from Display to Miracast 2021-12-31

2022-05-30

mbedtls开源sdk

mbedTLS(前身 PolarSSL)是一个由 ARM 公司开源和维护的 SSL/TLS 算法库。其使用 C 编程语言以最小的编码占用空间实现了 SSL/TLS 功能及各种加密算法,易于理解、使用、集成和扩展,方便开发人员轻松地在嵌入式产品中使用 SSL/TLS 功能。 mbedTLS 软件包提供了如下的能力: 完整的 SSL v3、TLS v1.0、TLS v1.1 和 TLS v1.2 协议实现 X.509 证书处理 基于 TCP 的 TLS 传输加密 基于 UDP 的 DTLS(Datagram TLS)传输加密 其它加解密库实现

2022-04-06

PKCS__1_v2.1_RSA_算法标准+RSA-oaep_spec

两份内容打包 1. PKCS__1_v2.1_RSA_算法标准.pdf 【中文版】 2.RSA-oaep_spec.pdf【英文版】

2022-04-05

HDCP 2.3 on HDMI Compliance Test Sepcification Rev 1.0.rar

HDMI HDCP测试 spec

2021-12-06

HDCP on DisplayPort Specification Rev2_3.rar

HDCP Display spec

2021-12-06

HDCP on HDMI Specification Rev2_3.rar

HDMI HDCP加密解密开发协议文档

2021-12-06

HDCP on WirelessHD Specification Rev2_2.rar

HDCP wireless spec 开发Miracast HDCP加密解密功能

2021-12-06

AVRCP_v1.6.2.rar

蓝牙联盟官方协议文档

2021-02-20

GAVDP_SPEC_V13.pdf

蓝牙联盟官方协议文档

2021-02-20

GATT_Specification_Supplement_v3.pdf

蓝牙联盟官方协议文档

2021-02-20

Core_v5.2.rar

蓝牙联盟官方协议文档

2021-02-20

HFP_v1.8.rar

蓝牙联盟官方协议文档

2021-02-20

MPS_Spec_V10-clean.pdf

蓝牙联盟官方协议文档

2021-02-20

AVDTP_SPEC_V13.rar

蓝牙联盟官方协议文档

2021-02-20

A2DP_v1.3.2.pdf

蓝牙联盟官方协议文档

2021-02-20

HID_v1.1.1.rar

蓝牙联盟官方协议文档

2021-02-20

HIDS_SPEC_V10.rar

蓝牙联盟官方协议文档

2021-02-20

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

TA关注的人

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