RISCV Debug连接报错问题-v1

描述

今天有同事反馈出这样一个在使用RISCV 调试时的问题:

Error: no device found

Error: unable to open ftdi device with vid 0403, pid 6014, description 'ELITES-232DL', serial '*' at bus location '*'

芯片

这个错误其实并不陌生,文档也有一个相关的记录.

    目前易灵思的下载器主要使用的是FTDI的 FT232,FT2232和FT4232方案。下图是FT2232和FT4232芯片的原理图,FT2232有channel 0,1两个通道,在下图已经标出。FT4234有channel 0,1,2,3共4个通道;而ELITES-232DL使用的是FT232,它只有channel 0.所以在使用不同的下载噐方案时,尤其是在对RISCV进行debug时就是使用不同的配置参数;否则就会报上面的错误。

芯片

芯片

那么怎么区别下载器使用的是什么芯片方案呢?这个可以通过器件读来的FD来实现,在打开programmer之后,就可以看到相应的ID.位置如下图所示。

芯片

FTDI器件 ID
FT232 0403:6014
FT2232 0403:6010
FT4232 0403:6011

知道了上面的信息之后,我们就可以很清楚的知道我们的下载器使用的器件情况。

现在回上我们文章一开始就出现的问题。出现上面的报错时应该怎么样修改呢?这里还要分两种情况,一种是hard jtag,另一种是soft的JTAG。区别在于修改的文件不同。

对于hard jtag,我们需要把embedded_swsoc_xxbspefinixEfxSapphireSocopenocdftdi.cfg(或者ftdi_ti.cfg,其中ftdi.cfg用于trion系列,而ftdi_ti.cfg 用于钛金系列)修改成下载器读出来的名字,这里包括ftdi_device_desc,ftdi_vid_pid及ftdi_channel三个参数,只需要按照上面的说明配置即可。

芯片

比如以YLS_DL下载器为例,

 它使用的是FT2232的方案。修改结果如图。

芯片

对于soft jtag,老版本的EFinity修改的是c232hm_ddhsl_0.cfg文件,而在2023.1版本的RISCV中已经没有c232hm_ddhsl_0.cfg文件了。代之的是一个external.cfg文件。里面的内部与上面的是一样的。

另外也遇到过修改了上面的问题还是存在问题的,经过确认客户安装的驱动是libusb-win32,可以用zadig的libusbk试试。

芯片

审核编辑 黄宇

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分