工具/软件:
您好!
我在测试 EPI 性能时遇到问题。 我正在使用 EPI 与 Lattice FPGA 连接。
设置详细信息:
静态 int32_t SetEpiParams
(
EpiDriverConfigParamsType* params //<EPI 参数指针
)
{
int32_t 返回值=-1;
IF (参数)
{
params->clkDiv = 64;
params->config =(EPI_GPMODE_CLKPIN | EI_GPMODE_CLKGATE | EI_GPMODE_FRAME50 | EI_GPMODE_ASIZE_20 | EI_GPMODE_DSIZE_8 | EI_GPMODE_WRITE2CYCLE);
params->frameCount = 0;
params->addrMap =(EPI_ADDR_PER_BASE_NONE | EPI_ADDR_PER_BASE_A);
returnVal = 1;
}
返回值;
}
起始基址:
#define EI_PERIPH_ADDR 0xA0000000
我正在进行的测试将一个随机8位值写入偏移0、然后将另一个随机8位写入偏移1。 然后、我返回并从偏移量0和偏移量1中读取。 如果这些值读回原始值的倒数、则该测试通过、偏移量会递增2、该过程会继续进行。
问题是、一旦我的地址等于0xA0000110、代码在我尝试执行读取时会冻结。 我已断开 FPGA 连接、但仍然无法从该地址读取、调试器本身也不会进一步执行任何操作。
我怀疑我错误地设置了 EPI。 我希望它是通用的、20个地址位、8个数据位。
e2e.ti.com/.../epi_5F00_drv.ce2e.ti.com/.../epi_5F00_drv.he2e.ti.com/.../epi_5F00_test.he2e.ti.com/.../epi_5F00_test.c