jjzjj

Marvell88Q5192 switch调试记录(BSTA1000B平台)

科技之光666 2024-06-05 原文

本文章主要记录 基于BSTA1000B Soc平台,开发调试Marvell 88Q5192 switch的过程

背景:自动驾驶行业,车载通信使用的是车载以太网,而且由于各种传感器,如激光雷达、雷达、IBOX、IECU等,另外,ADCU控制器,内部可能需要多颗soc,soc通soc之间,也需要接入以太网,那么就需要多路车载以太网的支持,基本最少需要10几路的车载以太网,所以基于此,在黑芝麻BSTA1000B平台上,进行marvell88Q5192的调试工作!

        拿到此任务后,对于以太网这块,之前也没有相关调试经验,首先面对复杂的网络拓扑,先进行梳理,数据链路以及控制链路;

一、 数据链路 & 控制链路:

    首先 5192通过一个口的RGMII信号,连接到BSTA1000B的GMAC0,这个是数据链路,控制通道是通过SMI或者SPI方式控制5192,现在常规做法,可能是switch直接通过switch的固件直接进行配置,或者switch接到mcu(如TC397)上进行初始化,但是我们这边连接到了soc进行控制,所以针对此数据通路、控制通路,需要考虑使用的是 MAC-MAC的方式,还是MAC-PHY的方式,

自我理解,MAC-MAC的方式,就是 不需要 SMI或者SPI等控制去初始化switch(同soc连接的),然后gmac控制器驱动,会自动创建网卡,然后就可以直接通信了,如果是mac-phy的方式的话,需要soc通过smi对switch进

有关Marvell88Q5192 switch调试记录(BSTA1000B平台)的更多相关文章

  1. ruby-on-rails - rails 3/ActiveRecord : How to switch/change table name during request dynamically? - 2

    我想在请求期间动态更改ActiveRecord模型类的表名。例如,有许多具有相似结构(列)的表:mydb:sample_data_12222sample_data_12223sample_data_12224sample_data_12225...所以,我想做的是..._1。定义基本模型类,如:classSampleData_2。在请求期间更改目标表,例如:defaction_methodSampleData.set_table_name"sample_data_#{params[:id]}"@rows=SampleData.all如果在非线程环境(如Passenger/mod_rai

  2. 半个月狂飙1000亿,ChatGPT概念股凭什么? - 2

    ChatGPT掀起了AI股历史上最疯狂的一轮市值狂飙。自春节后至今,ChatGPT概念股开始了暴走模式,短短半月时间,海天瑞声、开普云等ChatGPT概念股市值累计增加了近1400亿。如此的爆炸效应,得益于ChatGPT所展现出商业化落地的巨大潜力。要知道,在此之前,无论是十年AI投入超千亿的百度,还是困在硬件化里的AI四小龙,都在重复着AI商业化难落地的故事。ChatGPT的出现,让AI从生产力的赋能者直接成为一种创造生产力的工具。随着订阅模式的推出,ChatGPT已经成为第一个以AI技术为核心直接变现的消费者应用。本文持有以下核心观点:1、ChatGPT是AI技术迭代的受益者。过去受限技术

  3. ruby - 通过 gem install mechanize 安装 gems 时显示错误 "invalid switch in RUBYOPT: -F (RuntimeError)" - 2

    我尝试通过以下命令在我的计算机上安装gem(Mechanize):>>geminstallmechanize--platform=ruby>>geminstallmechanize错误ERROR:Errorinstallingmechanize:ERROR:Failedtobuildgemnativeextension."C:/ProgramFiles/Ruby200-x64/bin/ruby.exe"extconf.rbC:/ProgramFiles/Ruby200-x64/bin/ruby.exe:invalidswitchinRUBYOPT:-F(RuntimeError)在我尝

  4. ruby - 欧拉计划 1 :Find the sum of all the multiples of 3 or 5 below 1000 - 2

    我正在尝试使用ProjectEuler中的Ruby解决数学问题。Here是我尝试的第一个:Ifwelistallthenaturalnumbersbelow10thataremultiplesof3or5,weget3,5,6and9.Thesumofthesemultiplesis23.Findthesumofallthemultiplesof3or5below1000.请帮助我改进我的代码。total=0(0...1000).eachdo|i|total+=iif(i%3==0||i%5==0)endputstotal 最佳答案

  5. ruby - 使 case/switch 返回值的快捷方式 - 2

    我很确定我看到有人做了像下面的代码这样的快捷方式技术(不起作用)returncaseguesswhenguess>@answerthen:highwhenguess有人知道我指的是什么技巧吗? 最佳答案 case语句确实会返回一个值,您只需使用正确的形式来获得您期望的值。Ruby中有两种形式的case。第一个看起来像这样:caseexprwhenexpr1then...whenexpr2then...else...end这会将expr与使用===的每个when表达式进行比较(这是一个三重BTW),并且它将执行第一个then其中===

  6. ruby - JRuby cannot switch to 1.6.2 for this interpreter error rvm - 2

    我正在尝试在UbuntuLinux上使用RVM配置JRuby。我已成功安装RVM,但在尝试安装Jruby时,出现以下错误:dlitwak@ubuntu:~$rvminstalljruby-1.6.0jruby-1.6.0-#fetchingjruby-1.6.0-#extractedto/home/dlitwak/.rvm/src/jruby-1.6.0(alreadyextracted)BuildingNailgunjruby-1.6.0-#installingto/home/dlitwak/.rvm/rubies/jruby-1.6.0**ERROR:Cannotswitchto1

  7. 网络安全必备1000道面试题集锦(附答案) - 2

    前言以下为网络安全各个方向涉及的面试题,星数越多代表问题出现的几率越大,祝各位都能找到满意的工作。注:本套面试题,已整理成pdf文档,但内容还在持续更新中,因为无论如何都不可能覆盖所有的面试问题,更多的还是希望由点达面,查漏补缺。一、渗透测试方向:如何绕过CDN找到真实IP,请列举五种方法(★★★)redis未授权访问如何利用,利用的前提条件是?(★★★)mysql提权方式有哪些?利用条件是什么?(★)windows+mysql,存在sql注入,但是机器无外网权限,可以利用吗?(★)常用的信息收集手段有哪些,除去路径扫描,子域名爆破等常见手段,有什么猥琐的方法收集企业信息?(★★)SRC挖掘与

  8. ruby-on-rails - rails : switch connection on each request but keep a connection pool - 2

    在我们的Rails应用程序中,我们需要根据请求的子域使用不同的数据库(每个国家/地区使用不同的数据库)。现在我们正在做类似于thisquestion中推荐的事情.也就是说,在每个请求上调用ActiveRecord::Base.establish_connection。但是itseemsActiveRecord::Base.establish_connection删除当前连接池并在每次调用时建立一个新连接。我做了这个快速基准测试,看看每次调用establish_connection和已经建立连接之间是否有任何显着差异:require'benchmark/ips'$config=Rails

  9. Ruby Mine 提示 "Cannot switch SDK."即使 SDK 存在并且可用 - 2

    MyRubyMine6.0.3给出消息:Project.ruby-versionSettings:CannotswitchSDK.RVMSDK'2.1.1@rails3'wasn'tfound.我使用rvm管理ruby​​环境。想要的环境似乎还可以:rvmgemsetlistgemsetsforruby-2.1.1(foundin/home/agostino/.rvm/gems/ruby-2.1.1)(default)globalrails3=>testproject不仅如此,自从打开文件后,我的设置似乎也能很好地访问rvm环境,我可以看到设置:那么为什么不能切换到正确的环境呢?如果在

  10. ruby - 如何使用正则表达式和反向引用编写 Ruby switch 语句(case...when)? - 2

    我知道我可以编写Rubycase语句来检查与正则表达式的匹配。但是,我想在返回语句中使用匹配数据。像这样的半伪代码:foo="10/10/2011"casefoowhen/^([0-9][0-9])/print"themonthis#{match[1]}"elseprint"somethingelse"end我怎样才能做到这一点?谢谢!请注意:我知道我永远不会在上述简单情况下使用switch语句,但这只是一个示例。实际上,我试图实现的是为一个可以用各种方式编写的日期匹配许多潜在的正则表达式,然后相应地使用Ruby的Date类对其进行解析。 最佳答案

随机推荐