流程背景
前期基本实现PS端的CAN总线功能,现阶段的主要目的是实现PL端的CAN总线功能,需要采用CAN IP。
PL系统搭建
PL外设时钟源
搭建完vivado系统后,需要在sdk编程。但是在配置PL-CAN时,意识到CAN时钟值不清楚,于是检查zynq系统,发现PL-CAN外设的时间来自于FCLK-CLK0。这个时钟值与CAN外设的关系是可以在block design看到的。配置表显示FCLK-CLK0为50Mhz,编程可以按照这个值。
下载失效
再次出现下载程序,zynq开发板没有反应的情况。下载的程序是LED,以前应用时也没有特别的问题。考虑到explorer包含大多的应用工程,于是删除了无关的工程,重新实现特定的功能。
run as program FPGA配置
前期下载程序时,有时program FPGA无法点击。这可能也是下载程序不成功的原因,可以考虑从这个现象入手。
XCan_GetMode error
运行以下程序时,发现XCan_SelfTes无法获得配置模式。因此需要定位外设到底哪里出现问题。
if (XCan_GetMode(InstancePtr) != XCAN_MODE_CONFIG) {
print("test1\r\n");
return XST_FAILURE;
}