Linux下开发,stm32和arduino,我该何去何从?
我觉得努力才会有结果,什么都要尝试一下才知道。
在很多做单片机 开发的人眼中看来,arduino是给外行人玩的,因此自诩为专业嵌入式开发的很多人(当然也包括我)对这种东西当然是不屑的。因为机缘巧合,我有了一种想要学习arduino软件构架的想法,因为最早的arduino的是基于avr单片机,我手头没有相关的硬件,因此我打算使用目前广泛使用的stm32的单片机开始对arduino的背后代码的研究。
如果你那么喜欢ide其实也有一个免费方案,eclipse,如果你能忍vs一样的慢和卡。或者交钱,arm官方的rvds,那绝对是正宗标准开发神器,keil和他比就是摆地摊。最后关于调试,其实我个人并不太喜欢也不在意,但如果你真的很在意,你需要gdb神马,你说你不想要命令行,那么ddd你值得拥有,这是gcc世界的通用工具,一通百通。就是gdbserver那地方费点劲。这地方我也没搞明白。
在linux下生存的感觉,就好像以前玩 second life一样。我们总有很多懒得解释的为什么要在linux下的原因,所以不比解释。喜欢就够了。偶目前是双系统,没办法时,生活和工作还是要继续,但是有空我就会做各种尝试各种努力,直到达到目标为止。
随着时间的流逝,说实话,现在的linux发行版,以及相关的软件,应用真的已经是越来越完善了,所以,不要放弃,不要被别人的话吓到。
2023-06-12 广告
Linux下开发的话,在你提出的STM32和ARDUINO两者之中选择的话,我个人认为跑STM32是不错的选择,但难度上确实有点变态。因为我断断续续花在配置环境上的时间有差不多一年。
和大家说一下现在的开发环境是。
1、vim:写代码;
2、scons:build工具,写了近300行来适应Linux和MacOSX下的各种环境;
3、OpenOCD:调试器兼烧写;
4、arm-none-eabi-gcc:编译器。
坦白讲,也就是业余玩玩还行,很锻炼人。现在人力跟踪个arm汇编啥的不在话下。也正是因为道路崎岖,把ARM的原理搞的很清楚。
而且,我认为是STM32,因为STM32的性价比比AVR的单片机高太多了,如果要做产品的化,同等成本下STM32比AVR优势很大。STM32的缺点是使用太不友好。
Arduino个人感觉更适合做原型快速实现,实现后真正做产品的时候还是要迁移到性价比合适的平台上的。
但如果想靠这路玩法参加竞赛或者工作,那就太不靠谱了。另外我也没学过其他的ARM开发工具,不清楚其他工具能带来多少便利。我之所以不用Keil一类工具主要是很烦IDE把很多细节隐藏后,调试稍微困难点的bug更浪费时间这一点,或者说IDE的引入使得可维护性变差了。
最后,如果你觉得arduino能完成stm32的功能那就用你觉得最方便的arduino,如果stm32某方面对于arduino来说比较有优势,那就用stm32。
没有什么好纠结的。