2

我想用 OpenOCD 运行 Altera Cyclone IV IP。不管我需要 quartus 的什么文件,但执行应该由 OpenOCD 完成。我目前正在尝试使用 sof 文件。quartus 用于程序员的那个。

也欢迎使用其他提示来闪烁它。

.sof 文件是与 openbcd 一起使用的正确文件吗?

我的板是“Altera Cyclone IV FPGA 学习板 EP4CE6E22C8N 和 USB Blaster 编程器”品牌是 [zrTech]

在 Quartus 中,这个配置有时用于执行它(sof 文件),但也不是每次都执行。但是当它开始工作时,它会继续这样做: 这就是我目前收集的似乎很好的东西(评论除外):在 quartus 中输入设置

altera_ep4ce6e22.cfg:

interface usb_blaster
usb_blaster_lowlevel_driver ftdi
transport select jtag
set CHIPNAME ep4ce6mb
set FPGA_TAPID 0x020f10dd

jtag newtap $CHIPNAME tap -irlen 10 -ircapture 0x01 -irmask 0x3 -expected-id $FPGA_TAPID

##no errors but not sure about those 
pld init 
init

## Some stuff I tried with the errors of the results ###
#pld load 0 project.sof  ###Error: invalid subcommand "load 0 project.sof"
#program project.sof ###Error: ** Unable to reset target **

在上面的那个状态下,这是我得到的输出(命令在那里等待 - 它不返回):

###: openocd -f altera_ep4ce6e22.cfg 
Open On-Chip Debugger 0.10.0
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.org/doc/doxygen/bugs.html
Warn : Adapter driver 'usb_blaster' did not declare which transports it allows; assuming legacy JTAG-only
Info : only one transport option; autoselect 'jtag'
Warn : Transport "jtag" was already selected
Info : usb blaster interface using libftdi
Info : This adapter doesn't support configurable speed
Info : JTAG tap: ep4ce6mb.tap tap/device found: 0x020f10dd (mfg: 0x06e (Altera), part: 0x20f1, ver: 0x0)
Info : 'pld init' has already been called
Warn : gdb services need one or more targets defined

知道我必须做些什么来完成这项工作吗?

谢谢你的帮助。

4

2 回答 2

1

据我所知,OpenOCD 不直接支持编程sof文件(这些是 Altera 专有格式)。

相反,从 Quartus 生成一个 SVF 文件(参见https://www.intel.com/content/www/us/en/programmable/support/support-resources/knowledge-base/solutions/rd07222008_677.html)并使用 OpenOCDsvf命令对其进行编程。

于 2019-10-29T21:05:43.717 回答
0

我对所有寻求这样做的人的附加答案:

正如大卫已经回答的那样,您需要 SVF 文件:如果您需要,那是我的完整文件。目前 quartus 拒绝对其进行编程,但 openocd 对该文件的处理非常好。它由文件菜单中的程序员对话框创建。接下来我寻找通过makefile创建它的可能性,我已经在Makefile中看到了它。

(来源:Github 上的 f32c

贝壳:

openocd -f altera_ep4ce6e22.cfg 

涉及的两个文件都驻留在执行目录中。

我的新 altera_ep4ce6e22.cfg:

interface usb_blaster
usb_blaster_lowlevel_driver ftdi
set CHIPNAME ep4ce6mb
set FPGA_TAPID 0x020f10dd

jtag newtap $CHIPNAME tap -irlen 10 -ircapture 0x01 -irmask 0x3 -expected-id $FPGA_TAPID

init
scan_chain
svf -tap $CHIPNAME.tap project.svf ###<<<svf file by quartus programmer same
exit
于 2019-10-29T22:13:21.620 回答