8.1 EDK,XMD  –  XMD将PowerPC上的PLB / OPB字节/半字mwr / mrd事务分解为多个单字节事务-Altera-Intel社区-FPGA CPLD-ChipDebug

8.1 EDK,XMD – XMD将PowerPC上的PLB / OPB字节/半字mwr / mrd事务分解为多个单字节事务

问题描述

XMD在PLB / OPB上将半字事务拆分为2个单字节事务。当访问诸如片上块RAM的许多外围器件时,这是不被注意的,其中两个单字节事务被正确地屏蔽。因此,在XMD中使用’h’事务大小限定符进行半字传输的mwr / mrd命令将不等同于对C代码中的内存映射I / O的“短”类型访问。

我该如何解决这个问题?

解决/修复方法

使用“短”数据类型或C代码中的XIO_In16和XIO_Out16函数执行相同的操作。请注意,单字节和全字XMD操作在一个事务中正确执行。

这已在EDK 7.1中修复。请注意,XMD debugconfig -memory_datawidth_matching enable命令应该用于字节和半字事务,以确保总线准确,因为默认情况下不启用它。

在EDK 8.1i中,默认情况下将启用debugconfig -memory_datawidth_matching启用 ,因此用户在执行字节或半字事务时不需要使用此命令。

在EDK 8.2i中,将删除debugconfig -memory_datawidth_matching启用,以便请求任何类型的操作(字/半/字节)。

“mrd <addr> 1 b” – >字节是否转移

“mrd <addr> 1 h” – > Halfword是否转移

“mrd <addr> 1 w” – >单词传输(也是默认值)。

每个操作都将在单个事务中执行。

请登录后发表评论

    没有回复内容