板子拿到手快一个月了,最近春节放假有时间把玩一下,不过烧录这板子的固件还是稍微花了点时间的。
澎峰科技开发板主控为XILINX Artix7系列的XC7A35T,属于低端产品线(Artix7)的低端型号(35T):
X—— XILINX
C—— 纯FPGA,不带ARM内核
7A—— Artix7产品线,往上有K7和V7,以及带ARM内核的MPSOC系列
35T—— 35T为低端型号,往上有50T和100T,其中100T是核心裸露的高端型号
另外,从澎峰科技公司信息中了解到贵司同时出品了100T型号的开发板,很是期待。澎峰科技XC7A35T开发板整体简约整洁,除去主控外,有Arduino GPIO扩展接口/四个拨码开关/四个按键/三个RGB灯,JTAG和USER_JTAG两组十针烧录接口,还有用于存储固件的SPI FLASH,运行程序的DDR3存储颗粒,以及背面用于连接HDMI视频输出扩展板的FPC排母,澎峰科技将HDMI视频输出做成扩展板的用意,除了商业上的考虑,更多是考虑了35T低端型号外接视频接口的项目效果并不理想。
开发板拿到手之后我发现并没有开发板并没有蜂鸟软核固件,是不可以对软核进行编程的,要进行软核编程必须先下载XILINX VIVADO开发环境将固件固化到开发板DDR内存中或SPI FLASH中,彭峰科技厂商提供的说明文档要求使用VIVADO 2018版本,但我从网上下载最新的2020.2版本也是没有任何问题的,可以进行固件烧录。(注意:下载VIVADO软件需要注册XILINX官网账号)使用VIVADO打开厂商提供的工程文件,即一个名为35T的压缩包,工程是VIVADO2018版本的,使用2020.2版本打开会提示向上升级兼容性:
然后使用左下角的Open Hardware Manager功能连接开发板,开发板要通过JTAG接口连接仿真器,仿真器再连接USB电脑,能成功识别板子的主控XC7A35T:
将工程文件夹内的project_1.runs\impl_1的system.bit二进制文件烧录到板子的DDR3内存内,这个文件就是蜂鸟软核,也就是开发固件,由于是烧录到DDR3内存中,所以板子掉电固件会丢失,要永久固化固件到SPI FLASH中并开机启动需要使用FLASH固件下载工具。
在VIVADO开发环境中,支持烧录到FLASH的固件后缀名为MCS,可以用工具生成,烧录地址为0,接口为SPIX4,大小为128MB:
并且2020.2版本更为先进,能直接识别与主控连接的FLASH颗粒,右键烧录MCS文件,等待烧录完毕(一分钟左右):
固件烧录完毕之后就可以使用彭峰科技厂商的Windows IDE开发环境或者Ubuntu虚拟机进行基于软核的编程了,我选择后者虚拟机,因为他们提供的Windows IDE是基于Eclipse定制的,我最讨厌的就是Eclipse系开发环境,没有之一,而用Linux虚拟机有个好处就是可以直接用VSCode进行代码编辑,非常方便。使用VMWARE软件打开彭峰科技提供的虚拟机,终端进入/home/a/Desktop/fengniao/e200_opensource/Perf-V-e-sdk目录,使用
make software PROGRAM=demo_gpio BOARD=Perf-V-creative-board
指令进行编译,使用
make upload PROGRAM=demo_gpio BOARD=Perf-V-creative-board
进行基于软核的代码上传,注意开发板与JTAG仿真器的连接要用USER_JTAG接口:
如果板子上没有蜂鸟软核,这一步烧录会提示JTAG仿真器无法找到目标设备,即:
烧录成功之后开发板的LED灯和RGBLED灯会进行规律闪烁。
|