最近在做一个GUI的项目,想试着用FPGA完结一个简略的GUI。硬件根本模块和整个硬件体系现已完结规划,可是软件程序上还处在调试阶段,由于程序比较大,FPGA内部的BRAM现已彻底不行用了,只能将运转的程序放到DDR DRAM中,这就导致了对FPGA编程分为两步走:
1.运用Impact先将Download.bit文件下载到FPGA中(Download.bit文件只含有bootloop.elf)
2.经过XMD将executable.elf文件下载到DDR SDRAM中,然后运转程序
由于每次程序的修正都需求从头下载,往往是需求在EDKshell或许在XMD的终端中输入相同的指令。
重复性很强的作业为什么不让计算机完结呢?
下面给出了一个解决方案,虽然不完善,可是对我调试来说现已足够了。具体步骤如下:
编写用于下载bistream文件至FPGA的的脚本,当然脚本肯定是根据Impact的,这儿暂时将该脚本文件,download.cmd
脚本的内容如下:
setMode -bscan
setCable -p auto
idenTIfy
assignfile -p 3 -file download.bit
program -p 3
quit
编写经过XMD下载可执行文件至内存中或许BRAM中的脚本,命名为xmd.opt
脚本的内容如下:
connect mb mdm;
dow executable.elf;
con;
将download.bit, executable.elf,xmd.opt和download.cmd放在一个文件夹中
翻开EDK Shell,cd至方才创立的文件夹目录下,然后运转如下指令:
$impact –batch download.cmd xmd –opt xmd.opt
5. 修改一个download.tcl文件,内容如下
impact –batch download.cmd;
xmd –opt xmd.opt;
然后在EDKshell下运转如下指令 :
$source download.tcl
总结一下:
别离修改三个脚本文件
用 impact 运转的批处理文件(.cmd)
用XMD运转的脚本文件(.opt)
用source运转的通用脚本(.tcl)
最终再EDK Shell下运转
至于脚本的每条指令,这儿不做解说了,有爱好能够参阅如下的文档:
Impact 用户手册
XMD 操作手册 ~helinski/files/ECE344/T1_XMD%20commands%20REFERENCE%20V2.pdf
Revesion
v0.1 2010.12.08 KiKi file created
V0.2 2010.12.14 KiKi add content related tcl script