mpsoc的ddr控制器的数据通道上集成了 axi performance monitors (apm)。具体情况,可以参考xilinx ug1085 (v2.2)中chapter 15的“figure 15‐1: ps interconnect”或者figure 17-1。
1. apm驱动程序
对于axi performance monitors (apm),xilinx提供的驱动程序是drivers\uio\uio_xilinx_apm.c,相关匹配字符串和主要数据结构如下:
static const struct of_device_id xapm_of_match[] = { { .compatible = xlnx,axi-perf-monitor, }, { /* end of table*/ }};module_device_table(of, xapm_of_match);static struct platform_driver xapm_driver = { .driver = { .name = xilinx-axipmon, .of_match_table = xapm_of_match, .pm = &xapm_dev_pm_ops, }, .probe = xapm_probe, .remove = xapm_remove,}; apm驱动程序最终会注册uio设备。
在每个单板的device tree里,会支持ddr的apm。比如,在vcu trd里,为ddr的apm定义了下面字段。
perf-monitor@fd0b0000 { compatible = xlnx,axi-perf-monitor; reg = ; interrupts = ; interrupt-parent = ; xlnx,enable-profile = ; xlnx,enable-trace = ; xlnx,num-monitor-slots = ; xlnx,enable-event-count = ; xlnx,enable-event-log = ; xlnx,have-sampled-metric-cnt = ; xlnx,num-of-counters = ; xlnx,metric-count-width = ; xlnx,metrics-sample-count-width = ; xlnx,global-count-width = ; xlnx,metric-count-scale = ; clocks = ; phandle = ; }; perf_monitor_ddr = /amba/perf-monitor@fd0b0000; ocm、cci等模块也有apm。
perf_monitor_ocm = /amba/perf-monitor@ffa00000; perf_monitor_cci = /amba/perf-monitor@fd490000; perf_monitor_lpd = /amba/perf-monitor@ffa10000; 单板linux启动后,能查询到对应的uio设备。
root@vcu_trd:~# ls /dev/uio*/dev/uio0 /dev/uio1 /dev/uio2 /dev/uio3 /dev/uio4 2. apm用户态程序
对于axi performance monitors (apm),xilinx也提供了用户态程序,是apm_main.elf。使用apm_main.elf,可以查询apm监视到的ddr带宽利用情况。
root@vcu_trd:~# chmod +x apm_main.elfroot@vcu_trd:~# ./apm_main.elf -d /dev/uio0axi pmon is in advanced modeport 1 read: 0 0.00 mbpsport 1 write: 0 0.00 mbpsport 2 read: 0 0.00 mbpsport 2 write: 0 0.00 mbpsport 4 read: 0 0.00 mbpsport 4 write: 0 0.00 mbpsport 5 read: 0 0.00 mbpsport 5 write: 0 0.00 mbpsroot@vcu_trd:~#root@vcu_trd:~# ./apm_main.elf -d /dev/uio1axi pmon is in advanced modeport 1 read: 12523440 12.52 mbpsport 1 write: 7564856 7.56 mbpsport 2 read: 13290992 13.29 mbpsport 2 write: 7493209 7.49 mbpsport 4 read: 0 0.00 mbpsport 4 write: 331253760 331.25 mbpsport 5 read: 667254864 667.25 mbpsport 5 write: 320656878 320.66 mbpsroot@vcu_trd:~# ./apm_main.elf -d /dev/uio2axi pmon is in advanced modeport 1 read: 0 0.00 mbpsport 1 write: 0 0.00 mbpsport 2 read: 0 0.00 mbpsport 2 write: 0 0.00 mbpsport 4 read: 0 0.00 mbpsport 4 write: 0 0.00 mbpsport 5 read: 0 0.00 mbpsport 5 write: 0 0.00 mbpsroot@vcu_trd:~# ./apm_main.elf -d /dev/uio3axi pmon is in advanced modeport 1 read: 0 0.00 mbpsport 1 write: 0 0.00 mbpsport 2 read: 0 0.00 mbpsport 2 write: 0 0.00 mbpsport 4 read: 0 0.00 mbpsport 4 write: 0 0.00 mbpsport 5 read: 0 0.00 mbpsport 5 write: 0 0.00 mbps 上述设备“/dev/uio1”代表ddr apm1。在使用vcu trd进行1080p编码时,port 4写带宽331.25 mbps,port 5读带宽667.25 mbps,port 5写带宽320.66 mbps。每个ddr port对应的硬件模块,请参考ug1085的figure 17-1。port 4连接到了hp 1/hp 2。port 5连接到了hp 3。
为什么说网关在任何工业物联网解决方案中都很重要?
新三板挂牌企业金达照明发布2019年年度报告
通过光照培养箱来研究光照对植物生长的影响
TH2822系列手持式LCR数字电桥
油品检测仪器的简单介绍
使用AXI performance monitors(APM)测试MPSoC DDR访问带宽
磐石测控:深圳三工位转轴扭力测试仪PS-2205NS-3有什么参数?
TI MCU设计研讨会:演示NFC技术和问题回答
情人节送红米note4x初音限量版和vivoX9plus星空灰版那个更好
联想Moto Z3 Play高清图曝光 屏占比18:9+侧面指纹
5G商用还在普及阶段,6G研究已提上日程
从头设计一个张量流处理器TSP架构
stm32寄存器版矩阵键盘库函数(附详细注释)
单级PFC与两级PFC有什么区别
SDI的产品和市场策略的判研
什么是倍加福传感器
PCB设计人员需要掌握的技能
普科科技PRBTEK交直流电流探头PKC6100B的使用方法分享
莱克电气:坚持品质先行,打造高端民族品牌
欧莱新材IPO关注丨计划募资5.77亿,于7月18日上会