在嵌入式系统里,以太网是一个基本的接口,既用于调试,也用于数据传输。所以在单板调试过程中,以太网是一个基本的任务。如果以太网工作正常,也可以说是一个重要的里程碑。 Xilinx MPSoC支持多个网卡,应用成熟,下面是常见的调试思路。
网卡(Network Interface Card,简称NIC),也称网络适配器,是电脑与局域网相互连接的设备。无论是普通电脑还是高端服务器,只要连接到局域网,就都需要安装一块网卡。如果有必要,一台电脑也可以同时安装两块或多块网卡。
NXP官方linux仓库地址为:https://github.com/Freescale/linux-fslc/tree/5.4-2.1.x-imx。
1)首先根据"snps,dwc3"进行dts和driver的匹配,执行dwc3_probe()
可以看到PHY的数据是RJ45网络接口(网线口)穿过了的差分信号,而PHY作用就是将差分信号转为数字信号,这块内容不用深究,制造商都设计好了。那我们干什么呢?(主要是对phy芯片进行模式选择,比如工作速率,工作模式)
复制一份imx_v6_v7_defconfig,这里我命名为dfos_mini_defconfig。
高通5G平台SDX55支持5G独立组网(SA)和非独立组网(NSA)两种网络架构,同时兼容LTE和WCDMA制式,拥有更快的传输速度,更优秀的承载能力,以及更低的网络延时,可广泛应用于网关、工业监控、远程医疗、无人机、虚拟现实和沉浸式体验(VR和AR)、智慧能源、车联网、工业互联网、智慧教育、高清视频、智慧城市、家庭娱乐等多个领域。
首先定义参考时钟。其中的psgtr_ref_clk_2 ,是SATA使用的125MHz的参考时钟。
在Xilinx的ZCU102和ZCU106单板设计中,使用了管脚PS_MODE1作为外部USB Phy的复位信号。在MPSoC的文档ug1085和ug1087中,关于PS_MODE1的信息比较少。下面是更详细的描述。
I.MX6UL/ULL 有两个网络接口 ENET1 和 ENET2,I.MX6U-ALPHA 开发板提供了这两个网络接口,其中 ENET1 和 ENET2 都使用 LAN8720A 作为 PHY 芯片。
2 在probe里 申请网络结构体net_device、对相关变量函数赋值,注册网络结构体net_device
有这么一个需求:需要远程访问内网的nas。然后现成的解决方案有蒲公英这个方案,但是个人版的话限了只能3个设备,因此找了半天,最后选择了功能类似的zerotier.
现在遇到这样一个问题,没有USB,甚至于USB都没有电压输出,检查电路,USB供电是由一个TPS2051BDBV来控制的,这个芯片又是USB3320C来控制的,说明这个芯片没有工作。经过一天的排查,最后终于找到原因了。是因为没有设置设备树。设备树这方面我并不是很懂,所以整理一下。 首先,先找到编译出来的设备树。文件是images/linux/system.dtb。 在这篇文章 《设备树(device tree)学习笔记》 找到了反向编译工具fdtdump,使用fdtdump工具将其反向编译。 结果就是这样的:
上图来自 瑞昱半导体 (RealTek) 的 RTL8201F 系列网卡 PHY 芯片手册。按OSI 7层网络模型划分,网卡PHY 芯片(图中的RTL8201F)位于物理层,对应的软件层就是本文讨论的 PHY 驱动层;而 MAC 位于 数据链路层,也是通常软件上所说的网卡驱动层,它不是本文的重点,不做展开。另外,可通过 MDIO 接口对 PHY 芯片进行配置(如PHY芯片寄存器读写),而 PHY 和 MAC 通过 MII/RMII 进行数据传输。
系统发育推断(phylogenetic inference)的算法五花八门,从最简单的UPGMA法,到邻接法(neighbor joining)、最大简约法(maximum parsimony),再到复杂的的最大似然法(maximum likelihood)与贝叶斯推断法(Bayesian inference),每种方法都有不少可选择的实现工具。这些方法无一例外都遵循一个规律:越精确则速度越慢。而随着分析的数据越来越庞大,对于用户来说,需要寻找一个尽可能快速而且错误率可以容忍的算法是十分必要的。
这个模块是 Asix PHY 的网络驱动程序。它是作为用 C 编写的现有驱动程序的替代方法提供的。这些功能是等效的。
在linux内核映射物理地址的简单代码。 使用request_mem_region和ioremap映射物理地址。 映射之后,可通过虚拟地址读写对应的寄存器。
硬件设备及镜像 主板为:Yuzuki Lizard V851S开发板 宿主机环境:ubuntu 22.04 SDK版本:Yuzukilizard的github上的Docker镜像 img为:github上Yuzukilizard释放的镜像:[01]v851s_linux_lizard_uart0_2022_12_29.img v851s_linux_lizard_uart0_2022_12_29.img
本节主要介绍我们开发过程中,WiFi常用的开发工具,内容主要介绍工具种类以及基本的使用方法,更多使用可以见后面章节。
传输文件每次都插拔 SD 卡太麻烦了,还是使用网线传输文件比较快,借此机会讲述一下 通过 tftp下载 kernel 和 nfs 挂载文件系统
RK33999使用synopsys dwc3的USB3.0控制器IP。早期的初始化需要在两个模块中进行,一个在rockchip官方提供的驱动中初始化,位于drivers/usb/dwc3/dwc3-rockchip.c文件中,主要初始化和CPU紧密相关的内容,如时钟、复位、电源、extcon(用于USB模式切换),另一个在synopsys提供的驱动中初始化,位于drivers/usb/dwc3/core.c文件中,这部分和USB3.0控制器密切相关,如USB3.0控制器内部寄存器地址、USB3.0的PHY、中断等。只有两个模块都初始化完毕,USB3.0控制器才能正常工作。本节只分析USB驱动早期初始化部分。
首先的步骤,安装模型转换工具 下载Verisilicon_Tool_Acuity_Toolkit和Verisilicon_Tool_VivanteIDE,按照文档安装配置
1、 硬件配置,通过电阻上下拉确定;6096的硬件配置不可以错,其在port status寄存器状态中有相应的寄存器位体现硬件配置的工作模式。
CPU用的是Armada-3720,内核是https://github.com/MarvellEmbeddedProcessors/linux-marvell 里面18.12版本,uboot使用的是https://github.com/MarvellEmbeddedProcessors/u-boot-marvell/tree/u-boot-2018.03-armada-18.12。两路网口,一路是RGMII模式(lan1),另外一路是SGMII模式(lan2)。最近发现有时系统起来后用PC去ping lan2会ping不通,phy可以正常识别,执行ifconfig down/up也可以看到正常的打印信息。
一般我们不需要从用户态得到进程虚拟地址对应的物理地址,因为一般来说用户进程是完全不关心物理地址的。
从硬件的角度看,以太网接口电路主要由 MAC(Media Access Control,MAC)控制器和物理层接口 PHY(Physical Layer,PHY)两大部分构成。如下图所示:
Sniffle是一个基于使用TI CC1352/CC26x2硬件的蓝牙5和4.x LE嗅探器。
据此推算,貌似单一线路,网络传输速度也就1.5*(1/4*10^6) = 375M/bs
第一步: 编译路径执行make menucinfig和make ota_menucinfig中分别选中: (1)Allwinner > swupdate (2)Allwinner > swupdate > Swupdate Settings > General Configuration > MTD support (3)Allwinner > swupdate > Image Handlers > ubivol
死锁指两个或更多进程或线程因相互等待对方释放资源而互相阻塞,从而导致系统中所有的进程或线程都无法继续运行的情况。
进程地址空间的隔离 是现代操作系统的一个显著特征。这也是区别于 “古代”操作系统 的显著特征。
SOM-XQ138基于TI OMAP-L138定点/浮点DSP C674x+ARM9处理器,双核主频456MHz,C6000 DSP + ARM设计的工业级核心板;
Xen是一个开放源代码的para-virtualizing虚拟机(VMM),或“管理程序”,是为x86架构的机器而设计的。Xen可以在一套物理硬件上安全的执行多个虚拟机;Xen是基于内核的虚拟程序,它和操作平台结合的极为密切,所以它占用的资源最少。
内核:Linux 4.14.98 Modem:展锐UDX710 驱动:LAN78XX PHY驱动 USB PHY:LAN7800
今天来为大家介绍一款启明云端采用 B to B设计的RK3399核心板,核心板为邮票孔,支持4K、H.265 硬解码!
MPSoC是带ARM处理器和FPGA(PL)的SoC,包含4核A53及其常用外部模块(PS)。A53(PS)使用Arm GIC-400,属于GICv2架构。如果想了解GIC-400的具体细节,请参考文档APU GIC: CoreLink GIC-400 Generic Interrupt Controller, DDI 0471B, r0p1。
g2d 主要功能: 1)旋转:支持90、180、270旋转; 2)镜像反转:H / V; 3) scale:放缩 4)格式转换:yuv 转 rgb 等,多种格式相互间转换; 5)透明叠加功能:实现两个rgb图片叠加; 6)矩形填充,等诸多功能;
《带你遨游USB世界》中,我们已经初步介绍了USB的整体架构,本文将从以下几个方面继续介绍USB的内容。
内存子系统是 SoC 中最复杂的系统之一,对芯片的整体性能至关重要。近年来,内存市场呈爆炸式增长,在移动、消费和企业系统中势头强劲。这不仅导致内存控制器 (MC) 越来越复杂,还导致将内存子系统连接到外部 DRAM 的 PHY变得非常复杂。
5)电流或电压驱动型的PHY,若为2线共模电感+自耦变压器形式,自耦变压器放在RJ45侧。
在飞凌嵌入式OKA40i-C开发板上虽然只有一个网口,但全志A40i-H处理器本身是有两个网络控制器的,因此在飞凌嵌入式提供的产品资料中提供了双网口解决方案。有的工程师小伙伴在开发过程中会遇见一些网卡的设计问题,今天小编为大家分享3种在使用OKA40i-C开发板时容易遇到的网卡软件问题以及排查思路。
CPU用的是Armada-3720,内核版本是4.14。两路网口,eth0用RGMII模式,20_18_2:0默认111, eth1用SGMII模式,20_18_2:0默认001,88e1512的phy地址只能用0、1,(0也是mdio广播地址)。
我们的DM9000是放在2440的bank4(0X20000000)的片选上面,而DM9000的CMD引脚接在bank4的LADDR2上面。也就是说当0X20000000地址上读写数据时, 此时CMD为低,则读写的便是DM9000C的地址。向0X20000000+4地址上读写数据时,此时CMD为高,则读写的便是DM9000C的数据。
本篇文章要写的是调试Xilinx网络IP时踩到的一个坑,也是控制PHY芯片时的一个坑,板卡上的PHY芯片是非常经典的88E1111,使用MDIO接口控制。
本文介绍一下,在DG环境中,若主库做了闪回数据库的操作后,备库如何通过flashback操作,继续和主库保持同步,而不用重新搭建DG。
通过之前的介绍<FPGA和USB3.0通信-USB3.0协议介绍>,我们大致了解到USB3.0整个协议异常复杂,就连物理层都需要SerDes(FPGA实现的情况)才可以,所以目前使用USB3.0时,搭档FPGA的最优解就是外置USB3.0 PHY片。
FPGA 传输的数据为单沿数据,而 PHY 传输的数据为双沿数据,所以FPGA 发送心跳包的最后需要使用 ODDR 原语将单沿数据转换为双沿数据。通常情况下 FPGA 处理数据使用的时钟为晶振产生的时钟(FPGA 时钟),而 FPGA 传输来的数据经过ODDR 原语后转换为双沿的数据都是和 PHY 的时钟同步,所以我们如果想把 FPGA 时钟的数据传给 PHY 芯片则需要进行跨时钟域,将 FPGA 时钟同步的数据转换为 PHY 时钟同步的数据。此处单沿转双沿数据采用 Output DDR 原语,简称 ODDR,将单沿 8bit 数据转换为双沿 4bit 数据。
从硬件上来说,一般PHY芯片为模数混合电路,负责接收电、光这类模拟信号,经过解调和A/D转换后通过MII接口将信号交给MAC芯片进行处理。一般MAC芯片为纯数字电路。
领取专属 10元无门槛券
手把手带您无忧上云