其实以前就准备玩一下RISC-V了,为此专门买了一本书第五版RISC-V版本。记得我第一次买这本书还是mips版本,如今时隔多年……
我在diy论坛发了个帖子,准备做个diy的小玩具,暂时还没想到目标。我估计,最初应该是个usb/网口转多串口的一个工具。
选型肯定有usb hs接口,因为fs支持不了多串口。我以前做st的版主,手里有一些st的板子,其中一块usb hs的板子一直没用起来,总感觉价格贵那么一点儿。
我以前做了一块单片机开发板,用的ch340的芯片,稳定性很好,还支持linux、mac等系统。我是个linux支持者,如果支持macos我就很开心了。
由于我买的就是这块板子量不多,所以就没麻烦wch推荐给我的销售,直接jlc下单,拿到一块板子。内向的人比较懒,不太喜欢跟人打交道,能用钱买的一般不浪费感情,等diy的开始赚钱了,就可以自己定芯片了,否则让某创一站完成就好了。
这边板子配备了3个typec插头,我还想着真先进,结果插上没电,气了个半死。我多年没搞usb偷电了,就这么欺负我,但我怀疑是没加pd协议。
因为我去年对usb a接口进行了降级,家里几乎充电器、电脑都不不支持usb a了,全是usb c。这不,逼着我翻箱倒柜找老电脑,还要找usba-usbc的转接线,愁人~
幸好我一个有线键盘有这么一条线,赶紧从公司拿回来(码农悲惨,要用好东西必须自己买,公司的入门级)。
找出我2014年的thinkpad来,打开还是能用的,装好那个mounriver的开发工具,我对eclipse是很熟悉的,但因为是java的比较吃内存,总不喜欢用。现在买的ide依然是java开发的,所以为了他专门买的大内存电脑,用不起来好亏。我已经正版化了好几个软件了,这不,下载了官方的板载代码包搞起。
作为一个底层程序员,第一件事是看wch-link的实现方案,发现设备管理器是串口+hid,尤其是适配linux类软件比如openocd,这货在12年前我也玩过,是openjtag的方案,我没玩精,领导陆大神玩的非常666。
我想把那个蓝灯点亮,程序编译成功,下载成功,验证调试也成功,但好好一块板子为啥灯不亮?
我去看sch,发现这货设计思路清奇,直接接到了排针上。我搜了八遍,也没找到不连线的led怎么能亮……
一个惨败的面容去找答案。
在文档介绍中发现,需要用j3连接到io上才能亮,这是在考验我20年来的存货啊,买短路块和杜邦线,从来不差钱,没有一百根也有八十。
于是,我抛弃了那个画的难看的sch文档,就靠板子标注找到了pa0,因为我在原理图上半天也没看见pa0在哪儿(等我的画个网页版本的原理图)。
线连上之后终于能闪灯了,但这不是我的目的。
在mounriver的网站上,我看到了mac版本的入口,下载了之后工具链,有一点点失望,但是也够用,毕竟给我个eclipse我也不一定用,make一下不就够了嘛。有openocd这么开放的工具,我自己写个界面也不成问题啊。
文档上说openocd要依赖libusb,以前windows下面搞libusb搞得电脑直犯病,有点不太喜欢,一个串口能搞定的你用啥libusb啊!忍了,brew update了一下,brew install libusb,你可别小看命令行,特别棒的生产力工具。
话说这个文档就不能详细点,带着2个cfg文件,你就不再带个shell启动文件?
挖空脑子也想起来,我的确可以--help一下,蒙了一把, ./openocd -f wch-risc-v.cfg,程序稳定启动,开发板蓝灯一闪,主芯片挂起,意味着成功了,感觉
真爽啊!
wch-link这个玩意做的这么好,要是开源一下就更好了,肯定世界级好评。
我用n年前买的typc转hdml扩展插到电脑上,转出usba,然后用usba-usbc线连到了板子上。以前各种费钱的模块买的不少,苹果原装,兼容性刚刚的。
再来一张openocd的图,看见了这个,就像猫见了老鼠,吃是不可能的,一定有玩起来。
Info:Listening on port 6666 for tcl connections
Info:Listening on port 4444 for telnet connections
看着这俩个端口,想想曾经写tcl的日子,太tmd熟悉了,
但是现在都忘记了。
不过,既然8个串口都集成过来了,那必然要让大家知道串口的威力。作为一个5年嵌入式+5年互联网开发的老专家,就是一片树叶也能当利器护身。
作者:icecut
来源:21ic论坛
版权归原作者所有,如需转载,请注明出处