如何在KriaSOM板卡上运行lwipechoserverapplication

FPGA开发圈 2024-06-25 12:03

作者:Davis Zhang,AMD工程师;来源:AMD开发者社区

Vitis里有一些基于lwip的样板网络应用,比如lwip echo server。通常我们可以在vitis里基于开发板的平台生成lwip echo serverapplication,就可以直接在开发板上运行,并在host对开发板做ping测试。但是如果基于Kria SOM starter kits板卡生成lwip echo server application并生成“BOOT.BIN”,将“BOOT.BIN”更新到qspi flash之后启动,会发现lwip echo server application 无法link,ping测试也失败。

这是因为Kria SOM starter kits的基板上有ethernet PHY芯片,而PHY address pin和一些数据信号复用,这些管脚通过板上pullup/pulldown电阻来定义PHY address。为了让PHY芯片能实现预期的PHY address,我们需要对这些信号所对应的MIO的internal pullup/pulldown resistor做一些配置,然后触发PHY芯片的reset信号,让它配置PHY address。

lwip的样板网络应用里不包含基板上的芯片信息,所以PHY芯片相关的配置和reset操作需要在用户代码里来做。Kria starter kit的qspi flash里有image recovery tool,用来更新“BOOT.BIN”,Host通过ethernet exporer访问它。Image recovery tool的源码可以在github上找到,它的代码里包含有KV260、KR260和KD240的PHY init代码,对应的函数分别是,Xbir_KVEthInit、Xbir_KREthInit、Xbir_KDEthInit。

https://github.com/Xilinx/embeddedsw/blob/xilinx_v2023.2/lib/sw_apps/img_rcvry/src/xbir_sys.c#L309-L508

我们可以把这些代码移植到lwip echo server代码里完成PHY init,这些函数里包含有GEM选择和GEM clocking 配置代码,我们不需要这些,只保留MIO配置相关代码和reset代码。Fsbl里已经配置了GEM clock,lwip application里可以选择GEM。需要注意fsbl里根据vivado工程里的配置已经配置了一些MIO,Xbir_KxEthInit函数里对MIO的配置可能涉及与PHY芯片无关的一些MIO,这些MIO的配置不要和fsbl冲突。与PHY芯片先关的MIO配置保持与Xbir_KxEthInit里的一致。附件里有分别为KR260和KD240移植好的“main.c”文件,可以替换到lwip echo server application里测试。

【直播预告】

FPGA开发圈 这里介绍、交流、有关FPGA开发资料(文档下载,技术解答等),提升FPGA应用能力。
评论 (0)
  • 非常荣欣参加了这次《运放电路环路稳定性设计》试读体验活动,同时非常感谢面包板论坛举办此活动。本书印刷还是非常新颖,具有精美漫画。下图为图书正面。 本书利用“原理分析、仿真计算、样机测试”三步学习法对运放电路环路进行稳定性设计,使读者能够对已有电路彻底理解,并且通过计算和仿真分析对原有电路进行改进,以便设计出符合实际要求的运放电路,达到实际应用的目的。首先,进行简单运放电路分析,运用反馈控制理论和稳定性判定准则进行时域/频域计算和仿真,当计算结果和仿真结果致时再进行实际电路测试,使三者有机统一;
    shenwen2007_656583087 2024-07-13 12:53 21浏览
  • 在+24V输入增加了软起电路和防反接电路,先看电路原理图,如下,防反接电路的原理一目了然,G极达到Vth值,U28和U5就会导通,电流从D极导通到S极,详细规格书见下面。VDS,RDS(on)和ID很重要,如下,之前选的这款为何还是有问题呢,可以从温度和电压电流的应力入手,考察U28的软起参数是否合理。首先,看一看之前测的温度参数,用K型线的热电偶点的,如下,充电的时候,U28温度达到了123℃,如下,放电的时候,U28温度达到了120℃,如下,从上面的数据看,这样的U28温度,我们是接收不了的
    liweicheng 2024-07-13 19:06 45浏览
  •     这篇分享对化学腐蚀/离子迁移的学习。    化学腐蚀的本质是氧化还原反应,即原电池。反应条件是:     1. 有可溶性电解质。电解质可能来自PCB的电镀或清洗工序,也可能来自残留的助焊剂(flux)。常见的有氯离子(有卤flux、汗液、盐雾)、酸(flux的酸);     2. 有溶剂。常见的是水(湿气),也可以是有机溶剂。树脂材料内部会吸附湿气,PCB加工过程有湿气,质量差的孔内壁会吸附湿气,V-cut分
    电子知识打边炉 2024-07-14 17:07 39浏览
  •  我司深圳市晶科鑫实业有限公司今天主要是想给大家讲解一下TCXO温补晶振的一些基础知识和一些重要的性能参数,给大家在选购TCXO温度补偿晶体振荡器时有一个简单的了解!TCXO英文全称Temperature Compensated Crystal Oscillator温度补偿晶体振荡器,TCXO温补晶振,大部分TCXO温补晶振周围是没有外壳,所以不能防止环境温度影响频率。而TCXO内部结构图,则取而代之的是,TCXO包含一个补偿网络(热敏电阻),该网络能够感测环境温度的变化,并调整施加在
    SJK晶科鑫 2024-07-12 17:22 155浏览
  •     这篇分享对PCB电化学迁移(ECM, Electrochemical Migration)的学习。     ECM发生在导体之间,是一种需要PCB通电才能持续的电化学反应,和电镀的原理相同。反应条件是:     1. 有电场。存在电位差/电压降,一般来说电位差/电压降越大,电化学反应的速度越快。     2. 有可溶性电解质和溶剂,这个和化学腐蚀机理相同。     3. 有迁移通道。即电荷
    电子知识打边炉 2024-07-14 17:40 38浏览
  • 概述 SiPM测试系统的信号处理板使用了ADI的单片4通道的高速差分ADC信号,所以FPGA需要通过LVDS接口来收取差分高速ADC送出的差分串行数据。 本文讨论FPGA如何例化LVDS模块,以及几种用来收取外部ADC采样后送来的高速差分串行数据。10代器件LVDS实例化界面 在Intel的10代器件中有Arria、Cyclone、MAX以及Stratix几种,我们使用的是Cyclone系列10代GX产品。图1:LVDS模块例化界面 如图1所示为LVDS例化界面,具体使用方法可以参考1“LVDS
    coyoo 2024-07-14 12:25 105浏览
  •   读报见文《中国的AI价格战和“不知道怎么用AI”的日本人 - FT中文网》  如题,好奇,中日两国对AI表现怎么是这样呢?  我人在中国,看新闻与现实,“中国的AI价格战”不足为奇。  没去过日本,只有看新闻,好奇的是日本人“不知道怎么用AI”?  第一想到的是日本不是很早就搞机器人了吗?  百度看看,日本什么时候开始使用机器人?  日本在20世纪80年代开始在各个领域推广使用机器人。日本将1980年称之为“机器人普及元年”。到了1985年以后,日本进入了被称为“智能机器人的时代”。  智能
    自做自受 2024-07-13 22:40 188浏览
  • “颠覆与涅槃,颠覆自我与重新涅槃,让企业在变革中更完美的蜕变。”这是小鹏汽车董事长兼CEO何小鹏,在2024年开年时候说的话。如今2024年已经过去了一半,小鹏汽车的处境,似乎并没有变得更好,反而是状况不断。据不完全统计,近一年来,从小鹏汽车离职的高管团队,并不在少数。从此前宣布加入英伟达的智驾负责人吴新宙,到后面的AI负责人刘兰个川(Patrick)、软件负责人Parixit Aghera,再到此次离职的矫青春,小鹏汽车近一年都处于内部动荡之中。而在这种动荡之外,小鹏汽车也正在经历一场“冰与火
    刘旷 2024-07-15 09:56 60浏览
  •     PCB上不同电气网络的连线之间,要有绝缘间隙(Clearance)和爬电距离(Creepage Distance)。画过PCB的朋友都知道,原理图上的电气连线(Wire)对应PCB Layout上的电气连线,PCB Layout上的电气连线对应铜导线。铜导线是在PCB覆铜层上,利用掩模(mask)和化学蚀刻(Etching)的方法,把PCB Layout上的铜导线部分留下,并去除非导线部分而做出来的。不同电气网络的连线中间要足够绝缘,足够干净,否则轻则漏电,重则短路。
    电子知识打边炉 2024-07-14 16:06 31浏览
  • UAVDT数据集是一个专为无人机图像检测而设计的数据集,其特点包括丰富的标注和多样化的场景,对无人机图像处理领域的研究具有重要的价值。 UAVDT(Unmanned Aerial Vehicle for Detection and Tracking)数据集是为了在无人机图像中进行目标检测和跟踪研究而创建的。这个数据集主要由从无人机捕获的高清视频序列组成,涵盖了各种环境和场景,如城市、乡村、森林和海边等。 在UAVDT数据集中,图像主要包括小型车辆、行人和自行车等类别的目标,这些目标在图像中被
    丙丁先生 2024-07-15 07:33 59浏览
  •     PCB表面绝缘电阻(SIR, Surface Insulative Resistance)有IPC和Bellcore GR78-CORE两个主要标准。    IPC-TM-650 方法2.6.3.7 是针对SIR的。这个标准的英文版本可以免费从IPC官网下载获得。IPC(国际电子工业联接协会)是PCB标准化主要组织。    这个测试方法针对PCB裸板(即安装元器件之前的PCB),而且是使用IPC推荐的测试板/图案(Vehicle
    电子知识打边炉 2024-07-14 22:07 45浏览
  •     丝印层(Silkscreen Layer)位于PCB的外表面,采用白色或者其他颜色的墨水(ink)制作,没有电气特性。    丝印层得名于制造它所用的Silkscreen工艺。这个工艺很像创作版画,或者给T恤上做装饰图:先在一个网板(stencil)上刻划出图案,然后用辊子涂刷墨水,让墨水透过网板附着在PCB上,然后用紫外线或者加热的方式使墨水固化。    丝印层主要起指示作用。丝印层上面的字符、指示线可以直观地告诉观察PCB的
    电子知识打边炉 2024-07-13 14:27 22浏览
  • ADB(Android Debug Bridge)是Google提供的命令行工具,用于帮助开发者与安卓设备进行通信。它在安卓应用开发和设备管理中非常重要,因为它可以帮助开发者安装、调试和卸载应用,访问设备文件系统,以及获取设备日志等。通过ADB,开发者能够在多种测试场景中模拟用户操作,优化应用性能和用户体验。 要使用ADB,首先需要确保电脑已安装ADB驱动,并且手机已开启USB调试模式。在Windows系统中,通常不需要手动下载ADB驱动,因为Windows 8/10/11已经自带了相应的驱动
    丙丁先生 2024-07-15 07:27 58浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦