10.1 EDK  – 处理器在访问不存在的寄存器地址时挂起-Altera-Intel社区-FPGA CPLD-ChipDebug

10.1 EDK – 处理器在访问不存在的寄存器地址时挂起

问题描述

当我在带有3个寄存器的创建/导入外围器件(CIP)向导中生成pcore时,C_ARD_NUM_CE_ARRAY的编号错误:

分析实体<user_logic>的层次结构:C_NUM_REG = 3

分析实体<plbv46_slave_single>的层次结构:

C_ARD_NUM_CE_ARRAY =(4)

阅读基地…

C_BASEADDR + 0x0好的

C_BASEADDR + 0x4好的

C_BASEADDR + 0x8好的

C_BASEADDR + 0xC

MicroBlaze在读取第4个(不存在的)寄存器时停止。

但是,当我用2个寄存器创建一个pcore时,ce_array是正确的:

分析实体<user_logic>的层次结构:C_NUM_REG = 2

分析实体<plbv46_slave_single>的层次结构:C_ARD_NUM_CE_ARRAY =(2)

解决/修复方法

该地址空间中不存在寄存器,因此,需要将C_INCLUDE_DPHASE_TIMER参数设置为1以允许数据阶段超时。可以在MHS或MPD文件中设置此参数。有关此参数的更多信息,请参见IPIF数据表。

请登录后发表评论

    没有回复内容