参考手册:QorIQ LS1043A Data Path Acceleration Architecture (DPAA) Reference Manual

MAC/BMI/QMI寄存器组成都是由下面3个部分组成的

The full register address of any DPAA register consists of all of the following:
• CCSR window base address, specified in CCSRBAR (default address 0_0100_0000h)
• Block base address
• The specific register’s offset within that block

MAC/BMI/QMI寄存器都是FMan memory map的一部分。

针对MAC而言,每个网口,对应不同的 基地址 ,下面红框,是访问MAC寄存器要用哪个到的

从下面的Map 可以看出来,QMI 和 BMI 的基地址是一样的,就是offset 不一样

1、MAC 寄存器

    MAC1  0x01A0_0000 + 0xE_0000 + offset = 0x01AE0000MAC2  0x01A0_0000 + 0xE_2000 + offset = 0x01AE2000MAC3  0x01A0_0000 + 0xE_4000 + offset = 0x01AE4000MAC4  0x01A0_0000 + 0xE_6000 + offset = 0x01AE6000MAC5  0x01A0_0000 + 0xE_8000 + offset = 0x01AE8000MAC6  0x01A0_0000 + 0xE_A000 + offset = 0x01AEA000

然后参考手册中 6.4.2 mEMAC Detailed Memory Map ,

offset  0x100开始是Rx Statistics Counter Registers;

offset  0x200开始是Tx Statistics Counter Registers。

比如我想看下 RX ERR 相关的统计

6.4.2 mEMAC Detailed Memory Map6.4.3.2.8 Receive Frame Error Counter Register (RERRn)offset 0x138  0x13cIncremented for each frame received with an error (except for undersized/fragment frame) :• FIFO overflow error• CRC error• Payload length error• Jabber and oversized error• Alignment error (if supported)• Reception of PHY/PCS error indication (0xFE, not a code error)
注意返回的结果是大端显示MAC1:# devmem 0x01AE013C 320x00000000# devmem 0x01AE0138 320x00000000MAC2:# devmem 0x01AE213C 320x00000000# devmem 0x01AE2138  320x00000000

同样的 TX 也有一个相关的统计

6.4.3.2.33 Transmit Frame Error Counter Register (TERRn)
Incremented for each frame transmitted with an error:
• FIFO overflow error
• FIFO underflow error
• memory double ECC errors
注意返回的结果是大端显示MAC1:# devmem 0x01AE023C 320x00000000# devmem 0x01AE0238 320x00000000MAC2:# devmem 0x01AE223C 320x00000000# devmem 0x01AE2238  320x00000000

2、BMI/QMI 寄存器

BMI/QMI rx port寄存器, 不同的MAC 对应rx_port_id 不一样,见上面的图。

0x01000000 + 0x1A00000 + 0x80000 + 0x01000* rx_port_id + offset

BMI/QMI  tx port寄存器, 不同的MAC 对应tx_port_id 不一样,见上面的图。

0x1A00000 + 0x80000 + 0x01000* tx_port_id + offset

BMI Rx port寄存器请参考手册章节BMI Rx Port Registers部分,0x200开始是一些统计。

BMI Tx port寄存器请参考手册章节 BMI Tx Port Registers部分,0x200开始是一些统计。

QMI Rx port寄存器请参考手册章节 QMI Rx Port Registers部分,0x41c和0x420是一些统计。

QMI Tx port寄存器请参考手册章节 QMI Tx Port Registers部分,0x41c开始是一些统计。

3、检测脚本


big_endian_to_little()
{byte1=`echo $1 | cut -b 3-4`byte2=`echo $1 | cut -b 5-6`byte3=`echo $1 | cut -b 7-8`byte4=`echo $1 | cut -b 9-10`echo "0x${byte4}${byte3}${byte2}${byte1}"
}echo "Receive Frame Packet Counter Check!"
echo "[QSGMII][MAC1] Low  32bit: `big_endian_to_little $(devmem 0x01AE0120 32)`"
echo "[QSGMII][MAC2] Low  32bit: `big_endian_to_little $(devmem 0x01AE2120 32)`"
echo "[RGMII] [MAC3] Low  32bit: `big_endian_to_little $(devmem 0x01AE4120 32)`"
echo "[RGMII] [MAC4] Low  32bit: `big_endian_to_little $(devmem 0x01AE6120 32)`"
echo "[QSGMII][MAC5] Low  32bit: `big_endian_to_little $(devmem 0x01AE8120 32)`"
echo "[QSGMII][MAC6] Low  32bit: `big_endian_to_little $(devmem 0x01AEa120 32)`"echo "Receive Frame Error Counter Check!"
echo "[QSGMII][MAC1] Low  32bit: `big_endian_to_little $(devmem 0x01AE0138 32)`"
echo "[QSGMII][MAC2] Low  32bit: `big_endian_to_little $(devmem 0x01AE2138 32)`"
echo "[RGMII] [MAC3] Low  32bit: `big_endian_to_little $(devmem 0x01AE4138 32)`"
echo "[RGMII] [MAC4] Low  32bit: `big_endian_to_little $(devmem 0x01AE6138 32)`"
echo "[QSGMII][MAC5] Low  32bit: `big_endian_to_little $(devmem 0x01AE8138 32)`"
echo "[QSGMII][MAC6] Low  32bit: `big_endian_to_little $(devmem 0x01AEa138 32)`"
echo ""echo "Transmit Frame Packet Counter Check!"
echo "[QSGMII][MAC1] Low  32bit: `big_endian_to_little $(devmem 0x01AE0260 32)`"
echo "[QSGMII][MAC2] Low  32bit: `big_endian_to_little $(devmem 0x01AE2260 32)`"
echo "[RGMII] [MAC3] Low  32bit: `big_endian_to_little $(devmem 0x01AE4260 32)`"
echo "[RGMII] [MAC4] Low  32bit: `big_endian_to_little $(devmem 0x01AE6260 32)`"
echo "[QSGMII][MAC5] Low  32bit: `big_endian_to_little $(devmem 0x01AE8260 32)`"
echo "[QSGMII][MAC6] Low  32bit: `big_endian_to_little $(devmem 0x01AEa260 32)`"echo "Transmit Frame Error Counter Check!"
echo "[QSGMII][MAC1] Low  32bit: `big_endian_to_little $(devmem 0x01AE0238 32)`"
echo "[QSGMII][MAC2] Low  32bit: `big_endian_to_little $(devmem 0x01AE2238 32)`"
echo "[RGMII] [MAC3] Low  32bit: `big_endian_to_little $(devmem 0x01AE4238 32)`"
echo "[RGMII] [MAC4] Low  32bit: `big_endian_to_little $(devmem 0x01AE6238 32)`"
echo "[QSGMII][MAC5] Low  32bit: `big_endian_to_little $(devmem 0x01AE8238 32)`"
echo "[QSGMII][MAC6] Low  32bit: `big_endian_to_little $(devmem 0x01AEa238 32)`"

LS1043A 查看 MAC、BMI、QMI寄存器, 查看网口发包丢包情况相关推荐

  1. T1042 查看 MAC、BMI、QMI寄存器, 查看DPAA丢包情况

    参考手册:T1040 QorIQ Data Path Acceleration Architecture (DPAA) Reference Manual MAC/BMI/QMI寄存器组成都是由下面3个 ...

  2. 计算机如何查看网络延时,电脑上怎么看网络丢包?网络延时查看方法

    上网经常卡,玩网络游戏跳ping,延迟400ms很可能是你家的网络问题.那么,电脑上怎么看网络丢包?今天电脑百事网小编就来教大家如何查看自家的网络延时问题.对于一些网络游戏来说,对网速与稳定性要求很高 ...

  3. 海康工业相机网口相机丢包问题解决方法

    ​1.1 系统环境设置 1.1.1 网卡设置 网卡推荐使 Intel 芯片的独立千兆网口,例如 intel I350.I210 等芯片组网卡 设置网卡巨型帧为选择 9KB 或 9014 字节 *不同网 ...

  4. linux查看地址和,UNIX/LINUX平台下查看MAC和WWN地址的方法

    归纳了一下,在UNIX/LINUX平台下查看MAC和WWN地址的方法 查看MAC地址 hp-ux #lanscan tru64 unix #netstat -ia aix #lsdev -Cc if ...

  5. java win8 mac地址_Win8怎么查看MAC地址_Win8查看电脑MAC地址方法-192路由网

    问:Win8电脑怎么查看MAC地址?电脑用的是Win8系统,请问怎么查看这台Win8电脑的MAC地址? 答:有3种方法可以查看Win8电脑上的MAC地址: 1.在"电脑设置"中查看 ...

  6. 如何查看本机端口_怎样查看Mac的端口号以及占用情况

    在启动项目,发现地址已经被使用,错误提示信息"Failure: Address already in use "那么如何查看端口占用情况呢?小编介绍几种查看端口占用并释放的方法. ...

  7. linux怎么进入bios查看mac地址,详细教您查看本机mac地址

    在一个稳定的网络中,mac地址作为网络设备的唯一标识,一般固化在网卡信息当中,一般不能改动,有时候我需要查看mac地址,今天给大家分享一下如何查看本机电脑上的mac地址. mac地址,对于一些电脑菜鸟 ...

  8. 苹果计算机咋出记录,怎么查看Mac电脑的开机记录?

    可以使用last命令查看Mac电脑来看开机记录,同时也能查看关机记录. 首先打开mac的命令终端: 命令行终端敲入命令:last | grep reboot (查看开机时间记录) 命令行终端敲入命令: ...

  9. xp查看计算机mac地址查询,mac地址查询,教你用dos命令查看mac地址的方法

    如何进行mac地址查询?其实MAC地址也就是(Media Access Control)的缩写,MAC地址的主要作用是定义网络配置的位置.尤其当我们在需要进行设置路由器的时候我们就需要通过Mac来进行 ...

最新文章

  1. hashMap传入参数,table长度为多少
  2. 将用户添加至sudoers列表
  3. 强化学习笔记:Q-learning :temporal difference 方法
  4. 深度学习(十九)基于空间金字塔池化的卷积神经网络物体检测-ECCV 2014
  5. 【JFreeChart】JFreeChart—输出组合图表
  6. 常用事务代码 sap_SAP_PS_事务代码
  7. swoole之代码热更新实现
  8. 作者:梁永生(1971-),男,博士,深圳信息职业技术学院教授,广东省珠江学者特聘教授,《大数据》深圳市大数据发展动态调研组组长...
  9. IDA工具各个功能总结
  10. HTML——初识html,元素 属性 段落 文本格式化 链接 头部入门
  11. python r语言接口_R语言,python接口rpy2安装的问题
  12. ScreenRecord(about C# winform)
  13. EasyUI配置当点击一个datagrid的checkbox选中或取消选中记录的时候刷新另一个datagrid数据的方法
  14. matlab绘制三角函数乘除法的问题
  15. 帮忙framebuffer扫盲
  16. 开发板识别不了SD/TF卡
  17. RouterOS 6.48.6 安装与配置
  18. EM与PX的对应关系
  19. 测试用例经典设计方法之 因果图法
  20. c语言 xff占几个字节,xff

热门文章

  1. 高中英语试验修订本(第一册)上(人教版)
  2. Linux学习笔记(四)
  3. websocket 服务器外网访问
  4. 基于英雄大作战龙奥的Unity骨骼动画初探
  5. Ubuntu 18.04 锁屏 快捷键 无效
  6. Leetcode C语言 “加一”
  7. uniapp调用百度地图导航
  8. STM8驱动0.96寸OLED(12864液晶屏)
  9. 如何给电脑加装硬盘?
  10. 微信小程序OTO商城(客户端)