Sipeed RISC-V调试器(ft2232d)调试longan,使用MounRiver Studio_ft2232d spi-程序员宅基地

技术标签: risc-v  单片机开发环境搭建  

在很久之前买了了sipeed的荔枝糖FPGA,就是安陆哪个片子,送了一个这个调试器,但是我个人来说就会fpga点个灯,太难的就不会了,这个调试器也就是一个摆设。今天逛淘宝看这个调试器已经涨到47块,加上10块的快递费,需要57,我那个时候35包邮?还是25?这么贵一定要用一下,要不然浪费了。

我手里还有一块longan,也是RISC-V内核的MCU,所以我就想用这个调试器作为jlink调试longan。

需要使用的软件有:

MounRiver Studio,UsbDriverTool

UsbDriverTool下载路径:Automatic USB driver installer for FTDI and LibUSB drivers

安装:usb driver

 打开软件

 到这一步驱动就配置好了,下一步我们就配置MounRiver Studio的debug信息

编译器原生的openocd配置文件不适合我们的logan,所以我就找了一个,放到了下边,需要就自己建一个文件弄进去,放到下边的文件夹。

adapter_khz     1000
reset_config    srst_only
#adapter_nsrst_assert_width 1000

interface ftdi
ftdi_vid_pid 0x0403 0x6010

## If ftdi_device_desc not specified, the device description is ignored during device selection.
## So if you want to specify a dedicated FTDI device, you can select following device description:
## "Dual RS232-HS" is for RVSTAR V1 on-board debugger
## "USB <-> JTAG-DEBUGGER" is for RVSTAR V2 on-board debugger
## Uncomment one which match your device description
# ftdi_device_desc "Dual RS232-HS"
# ftdi_device_desc "USB <-> JTAG-DEBUGGER"

ftdi_layout_init 0x0008 0x001b
ftdi_layout_signal nSRST -oe 0x0020 -data 0x0020
# These signals are used for cJTAG escape sequence on initialization only
ftdi_layout_signal TCK -data 0x0001
ftdi_layout_signal TDI -data 0x0002
ftdi_layout_signal TDO -input 0x0004
ftdi_layout_signal TMS -data 0x0008
ftdi_layout_signal JTAG_SEL -data 0x0100 -oe 0x0100
transport select jtag

set _CHIPNAME riscv
jtag newtap $_CHIPNAME cpu -irlen 5

# Work-area is a space in RAM used for flash programming
if { [info exists WORKAREASIZE] } {
   set _WORKAREASIZE $WORKAREASIZE
} else {
   set _WORKAREASIZE 0x5000
}

set _TARGETNAME $_CHIPNAME.cpu
target create $_TARGETNAME riscv -chain-position $_TARGETNAME
$_TARGETNAME configure -work-area-phys 0x20000000 -work-area-size $_WORKAREASIZE -work-area-backup 0

set _FLASHNAME $_CHIPNAME.flash

flash bank $_FLASHNAME gd32vf103 0x08000000 0 0 0 $_TARGETNAME

# Expose Nuclei self-defined CSRS range
# See https://github.com/riscv/riscv-gnu-toolchain/issues/319#issuecomment-358397306
# Then user can view the csr register value in gdb using: info reg csr775 for CSR MTVT(0x307)
riscv expose_csrs 770-800,835-850,1984-2032,2064-2070

riscv set_reset_timeout_sec 1

init

halt

弄好之后就可以在线调试了。 

 

这样就OK了

 原理说明:

ft22332d这个芯片本身来说的话就是两个串口,所谓的openocd也就是通过一个openocd软件控制ft2232d去模拟一个jlink,或者模拟其他的调试器。所以使用ft22232d这个芯片作为调试器,需要usb driver tool去更改驱动,然后再去通过openocd软件去调用硬件和配置文件。

最后大家如果想要一个longan的工程可以去下边的路径去下载一份GD32VF103-RT_ThreadNano: gd32vf103cbt6移植了th-thread nano,暂存一下,以后还有别的用处

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_36813351/article/details/123392133

智能推荐

状态机图 java_文本处理(一)状态机(1)-程序员宅基地

文章浏览阅读176次。系统程序员成长计划-文本处理(一)状态机(1)o 有穷状态机的形式定义有穷状态机是一个五元组 (Q,Σ,δ,q0,F),其中:Q是一个有穷集合,称为状态集。Σ是一个有穷集合,称为字母表。δ: Q xΣQ称为状态转移函数。q0 是初始状态。F 是接受状态集。教科书上是这样定义有穷自动机的,这个形式定义精确的描述了有穷状态机的含义。但是大部分人(包括我自己)第一次看到它时,反复的读上几遍,仍然不知道..._自动门的控制器 有穷状态机

Beyond Compare4如何通过密钥连接SFTP进行文件夹的比较_beyondcompare连接sftp服务器-程序员宅基地

文章浏览阅读1.5k次。在网上搜索了很久没有找到相对应的资源特发布一篇关于此类的文章_beyondcompare连接sftp服务器

AndroidStudio项目提交到github以及工作中实际运用(详细步骤)_guihut readme 加载流程图-程序员宅基地

文章浏览阅读836次,点赞2次,收藏3次。在使用studio开发的项目过程中有时候我们想将项目发布到github上,以前都是用一种比较麻烦的方式(cmd)进行提交,最近发现studio其实是自带这种功能的,终于可以摆脱命令行了。 因为自己也没有做很深的研究,这里就先分享一下通过studio将自己的项目上传到github上的步骤。两个相关概念:git和githubGit是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项_guihut readme 加载流程图

oracle12c1使用远程图形进行安装_麒麟安装oracle12c数据库-程序员宅基地

文章浏览阅读1.9k次,点赞3次,收藏4次。应为最近安装了好几次了,而且每次使用静默安装12c1版都会失败,所以索性就记录一下图形化安装,方便后期的使用。_麒麟安装oracle12c数据库

office 2016出现错误,无法启动程序。。。是怎么回事?如何解决?_无法启动office 错误代码147-0-程序员宅基地

文章浏览阅读1.1w次,点赞4次,收藏2次。我刚刚在自己电脑上解决了相同的问题,将方法发上来供参考: 打开“服务”,在里面找到Microsoft Office ClickToRun Service服务,将它关闭,再启动,调成自动; 如果提示无法开启服务也可以这样操作亲测有效..._无法启动office 错误代码147-0

CSU 1558 和与积_多个数的和与积相等 bzoj-程序员宅基地

文章浏览阅读977次。CSU 1558 和与积 Time Limit: 1 Sec Memory Limit: 128 MB Special Judge Submit: 121 Solved: 69 Description构造N个正数(每个数不超过1000000),使所有数的和与所有数的积相差刚好等于D,按非递减序输出。Input多组测试数据(不超过1000组),每行两个正整数N和D。(2<=N<=1000,_多个数的和与积相等 bzoj

随便推点

初始化vector实例的7种方法_创建和初始化vector的方法,每种都给出一个实例?当然也可以把deque与list写出来-程序员宅基地

文章浏览阅读1.4k次。转载 https://blog.csdn.net/qiaoruozhuo/article/details/52086286/* Name: Copyright: Author: Date: 01-08-16 16:01 Description: 初始化vector实例的7种方法 */ #include&lt;iostream&gt; #..._创建和初始化vector的方法,每种都给出一个实例?当然也可以把deque与list写出来

免费开通PTrade与QMT量化交易系统_ptrade交易系统官网-程序员宅基地

文章浏览阅读1.2w次,点赞2次,收藏12次。免费的券商量化系统开通,急速、安全_ptrade交易系统官网

c语言中set 函数,C里边的STL里边的Set函数-程序员宅基地

文章浏览阅读2.2k次。set函数的用法:这是一个集合函数,这个函数可以处理很多的元素,这些元素可以去重,把相同的元素都去掉,剩下不一样的元素,而且还可以自动给这些元素来排序,从小到大的顺序来排序。这里我们先来举个例子:比如:#include #include using namespace std; int main() { set a; a.insert(1); a.insert(9); a.insert(6); a..._c语言set

牛笔了!字节跳动大佬整理:CSS 核心知识(万字长文,值得收藏!)_字节跳动公司 reset css-程序员宅基地

文章浏览阅读1.1k次,点赞4次,收藏14次。本篇文章围绕了 CSS 的核心知识点和项目中常见的需求来展开。虽然行文偏长,但较基础,适合初级中级前端阅读,阅读的时候请适当跳过已经掌握的部分。这篇文章断断续续写了比较久,也参考了许多优秀的文章,但或许文章里还是存在不好或不对的地方,请多多指教,可以评论里直接提出来哈。小tip:后续内容更精彩哦。核心概念和知识点语法CSS 的核心功能是将 CSS 属性设定为特定的值。一个属性与值的键值对被称为声明(declaration)。color: red;复制代码而如果将一个或者多个声明用 {} _字节跳动公司 reset css

Shell读取mysql数据_while read -a row+读取sql查询结果+shell-程序员宅基地

文章浏览阅读762次。今天有个需求需要写个shell读取mysql记录,操作一些文件,搜索了一下踩了些坑记录一下shell2.0写法注释:注意"done< <(“的写法,第一个”<“要和"done"之间没空格,两个”<“之间有一个空格,”<" 和"("之间没空格COMMAND1="mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME}e.g.while read -a rowdo echo "._while read -a row+读取sql查询结果+shell

汉明码_cdsn 汉明-程序员宅基地

文章浏览阅读4k次,点赞7次,收藏37次。汉明码实现原理汉明码(Hamming Code)是广泛用于内存和磁盘纠错的编码。汉明码不仅可以用来检测转移数据时发生的错误,还可以用来修正错误。(要注意的是,汉明码只能发现和修正一位错误,对于两位或者两位以上的错误无法正确和发现)。汉明码的实现原则是在原来的数据的插入k位数据作为校验位,把原来的N为数据变为m(m = n +k)位编码。其中编码时要满足以下原则:2^k - 1 &gt..._cdsn 汉明

推荐文章

热门文章

相关标签