我的瞎搞开发工具集以及对一些工具的比较
本文的目的是作为一个记录,不引战,同时为有同样瞎搞爱好者提供一个学习思路……尽量全部推荐和使用免费开源工具,减少版权纠纷,降低学习成本,大概算有用吧 我的技术栈: 工具: 硬件: 电路设计 CAD 硬件编程 AVR STM32 Holtek Arduino TI系列 FPGA 电路仿真 软件开发 C/C++ C# Java 前端三件套 Golang Python 办公 不务正业 我的技术栈: 实际上有很多并不是很熟,请酌情参考 硬件开发(EDA设计、FPGA、STM32、AVR、Arduino、Holtek、CAD、TI) 软件编程(C/C++、Java、C#、Python、前端三件套(事实上JS还没上日程)、Golang) 不务正业(修图、矢量图设计、视频) 工具: 硬件: 毕竟我还是一个电信学子,本行还是要抓好 电路设计 KiCad:一个超级好用的开源EDA软件,功能主要就是普通的PCB设计,支持多层板设计以及一些高级特性,如果从全能性上比AD肯定有差距,但是作为日常普通使用其实已经够了。最重要的是它支持插件功能,这好像都是开源软件的标配了,用丰富的插件可以实现很多高级功能,甚至如果你编程开发能力不错,可以试试自己写插件。 立创EDA:同样是个免费的EDA软件,部分功能性上存在一定缺失而且没有离线版本是硬伤,但是学习成本是目前我觉得最低的一个,而且里面有特别多的现成封装和原理图封装,如果不是保密产品或者高精尖产品,用这个就足够了。 Altium Designer:国内很火的收费EDA软件,比较适合用于工作,还是很有学习的价值,但是为了支持正版化我还是没咋用。不考虑插件的基础上功能性上优于KiCad。 Cadence:实际上是Cadence公司推出的一系列EDA工具,从专业性上优于以上所有,但是太难学而且一套下来国内很多公司不一定会去买。 综上,我按照一下几个角度进行比较: 学习便利:立创EDA>KiCad>Altium Designer>Cadence 就业便利:Altium Designer>Cadence>KiCad>立创EDA 薪资:Cadence>Altium Designer>KiCad>立创EDA 个人推荐:如果是比较专业一点的编程肯定选KiCad,毕竟是免费开源软件,所有代码都是可以自己看得到的,而且扩展性也比较高。立创虽然方便但是有时候太图方便容易丢失计数,不过如果是偶尔做点玩具电路,那立创还是首选。 CAD FreeCAD:同样是一个开源软件,主要面向3D建模,但是同样也有面向2D的功能,总体上性能很强,支持自制插件和添加插件,而且和上面的KiCad有合作内容,有个专属插件就是给KiCad做3D模型的。缺点还是很明显,国内的社区没做起来,资料严重缺失,而且曲面支持比较差。 OpenCAD:也是一个开源软件,学习曲线我愿称之最高,属于编程建模,通过输入描述性语句来对建模内容进行修改用了一下感觉还挺带感的,其实有图形编程基础的适应一下就可以了,但是难也是真的难。其在FreeCAD中也有插件,比FreeCAD感觉更小众,但是感兴趣的可以试试。 OnShape:我目前正在用的一个在线建模软件,针对学生免费(有没有其他的免费版我不太确定,但是当时注册的时候看到好像是有的),老板好像是原来PTC的老板,履历真的强,在PTC搞出了Creo,然后跳出去做了Solidworks,现在又弄了个新的OnShape。优点是作为一个云平台,OnShape可以在很辣鸡的机子上运行,甚至土豪一点可以花1500美元买个高级版,支持手机上建模,而且提供免费版,免费版的缺点好像就只是仓库只支持5个私人模型,其他建模必须开源放在社区,总之就是特别香。缺点也是在于其是一个云平台,没网就不能用,而且作为国外服务器比较慢……而且你懂的,如果商业的东西放在上面可能哪天就没了。(这个平台前半年不知道为啥不能注册,但是后半年也可能是最近突然好了,怀疑是川宝导致的) Creo:我之前在一个比赛里学的,用的教育版,阉割了一些功能,不过整体还是很好用,如果不是商业用途的东西我个人其实很推荐,而且它的曲面真的强,扩展性还有工作性能也是目前我用过最好的。不过国内好像不咋流行,似乎因为它的建模逻辑有点反常识(虽然我不咋觉得,但是我认识的一些吐槽Creo的帖子都是这么说的),应该说喜欢的特别喜欢,讨厌的也特别讨厌比较两极化的产品,而且正版一套下来价格比较高。 Solidworks:感觉是目前国内最火的建模软件,价格低而且不吃太多配置(如果是小型建模),国内资料也多,但是可能是我习惯了Creo的建模逻辑,用着SW的建模逻辑就觉得很不舒服,而且因为其为了降低建模难度,进行了很多偏常识的修改,仅限于我来说有时候会感觉这也不行那也不行的烦恼,如果是就业的话学学挺好,但是个人体验上我是真的不喜欢。 Fusion360:AutoDesk的旗下产品,自动桌作为老牌公司做的东西那确实不错,提供教育免费版,正版国内暂时只能找代理购买,用了一下感觉还是可以的,属于半离线半在线的产品,功能插件这些也很多,个人觉得和OnShape不相上下,但是它的免费时常比OnShape短,所以我还是倾向于OnShape。如果是国内的小公司感觉用这个产品应该挺不错的,他好像还有个升级版,不过没怎么了解了。另外AutoDesk家另一个AutoCAD用着来画2D图比其他几个都要舒服点。 另外像是UG、犀牛之类的软件,因为没咋用过就不发表意见了。这几个产品说实话都各有千秋,我从一下几个角度进行比较一下: (这块我不是啥专业人士,虽然尽量客观但是仅供参考) 就业:SolidWorks>Creo>Fusion360>FreeCAD>OnShape>OpenCAD 专业度:Creo>Fusion360≈Solidworks≈OnShape>FreeCAD≈OpenCAD 学习便利:Fusion360≈OnShape≈Solidworks>Creo>FreeCAD>OpenCAD 个人推荐:如果是普通使用的话用OnShape,如果网不好而且不介意麻烦点就用OpenCAD或FreeCAD,如果是学生可以试试Creo的教育版,就业的话其实建议SW和Creo都学,两个建模思路有一定互补性,Fusion360适合有教育版而且网不太好上OnShape的。 硬件编程 AVR AVR Studio:虽然大家都说ICC AVR什么比较好,但是说实话我觉得AVR Studio已经不差了,而且最重要的是免费开源。 STM32 CubeIDE:开源大法好,而且遇到问题时这种基于eclipse的IDE可以很容易在网上找到解决方案 Holtek gcc-arm:相比于直接使用IDE这种方法很麻烦而且不实用,我选gcc的最主要目的其实只是因为我们的一个项目需要而已,如果不是必须的话还是建议用合泰自家的HT-IDE编程 Arduino vscode+PlatformIO:vscode里的Arduino插件对于很多使用过Arduino的用户应该都比较熟悉了,至于PlatformIO则是一个更加集成化的平台,很方便,但是如果不认真去学习了解也会很麻烦。详情可以直接浏览器搜PlatformIO或者在vscode里面找PlatformIO的插件。 ...