没有想到前几天的一篇短文引起大家的一些问题,这可能是我有些偷懒,写的比较简单有关。下面简单解释一下大家评论中的问题。
首先说为什么使用Linux。
的确,现在一般开发使用windows好好的,为什么要换成Linux。很多人都会有这样的想法。我将系统换成Linux,其实也经过了一个漫长的过程,前后用了好几年吧,一直没有真正下决心。直到去年底windows崩溃,才下换到linux的。换用Linux的原因很多,最后综合起来,主要有下面几点:
一是使用windows很长时间后,厌烦了使用各种安全软件,使得计算机使用越来越慢,越来越复杂。而使用linux,可以不要这些杀毒软件,安全卫士什么的,系统很清爽简洁。
其次就是希望尝试一下Linux,试试新的开发方式。现在越来越多的系统使用了linux或者类unix系统,如andorid手机,苹果的iOS。如果只会用windows,不试试新的东西,可能就像开发单片机只会用51一样,会落伍的。
还有就是现在的办公电脑还是几年前的配置,暂时又不方便升级,使用widnwos7有点慢。使用linux整体上感觉速度快一点。
为什么没有使用SDCC。
这个问题好像很早就有人讨论过。sdcc虽说也不错,基本是linux下开发51的唯一选择,但是编译性能和完善程度上和Keil C51还是较大差距,特别在仿真上,linux下一直还是有点不方便。可能做小程序和DIY时可以玩一玩试试,真正做开发还很少有人用。
如果从Linux开源思想来说,是应该使用像sdcc这样的自由软件。但是我们开发并不完全是为了做纯粹的技术研究,所以需要使用适合开发用的软件,保证一定的开发效率和稳定性。再说团队开发往往也需要大家使用相同的开发软件,虽然操作系统大家可以不统一,选择不同的操作系统,但开发工具还是需要统一的。
使用虚拟机的问题。
既然开发软件还是需要使用Keil,而在wine下虽说可以运行keil的IDE,可以正常编译,但是不能下载,那么就只能使用虚拟机了。虽然这样是有一点偷换概念的感觉,不是纯粹的Linux环境开发了,但在linux下,估计也只能这样了。其实在Linux下,除了AVR和ARM的工具链比较完善,还有Microchip、Freescale、TI等少数厂商有基于eclipse IDE的跨平台的开发工具,其他MCU的开发估计还是需要使用虚拟机的。
虚拟机其实是个很不错的方法,让我们在一台计算机上,就可以同时运行多个系统,发挥系统在某个方面的长项。它比安装多系统的好处在于不用反复启动去切换系统,避免了安装多系统时的磁盘空间浪费,减少了使用不同系统时的文件系统兼容问题。此外在虚拟机系统漰溃时,可以通过磁盘快照或者备份快速恢复。
使用虚拟机的优点不用多说,缺点就是比较占内存,对CPU的要求比较高。如果CPU的性能不高,运行速度就有点慢。
ydcman_691947663 2014-8-21 09:34
DiracFatCat 2014-7-24 16:11
DiracFatCat 2014-7-24 16:08