发布于 2010-05-10 18:40:30
这要看情况。首先,你必须知道你想从微处理器得到什么。
一般而言:
图片:
手臂
Atmega介于两者之间
发布于 2010-05-10 18:45:05
优势
<代码>G217
Disadvantages
简而言之,他们是一个非常干净,易于与8位微控制器一起工作。
8051是传统的:工具是可以通过的,架构是奇怪的(idata?扩展数据?默认情况下,大多数编译器中的不可重入函数?)
在PIC24之前的PIC也是奇怪的(寄存器存储)和糟糕的时钟->指令吞吐量。也没有一流的开源C编译器。
PIC32正在与ARM7TDMI和ARM Cortex-M3竞争,它们基于经过调整的MIPS核,并且有一个GCC端口(非主线)。
AVR32正在与Cortex-M3竞争,它提供了相当好的价值,特别是在低功耗领域。
MSP430是超低功耗设备的王者,并且有一个还可以通过的GCC端口(如果你的目标不是430X)。
HCS08非常便宜,但指令吞吐量很低。外围设备变化很大。
ARM曾经是一个成本较高的入门级产品,但随着Cortex-M3架构的引入,与8位相比,价格一直在下降。例如,LPC13xx系列在许多方面可以与ATmega32相媲美。Luminary (TI)拥有一套相当不错的外围设备。
发布于 2010-05-10 22:44:29
我发现PIC家族(在MIPS版本之前)拥有最痛苦的指令集,这意味着如果你想节省空间,获得性能,拥有控制权,汇编语言是首选语言。
8051没有那么痛苦,寄存器更多,但仍然需要几条指令才能做任何有用的事情(这意味着从MHz的角度来看,你不能将这些芯片与其他芯片进行比较)。我喜欢AVR在很多方面,他们拥抱自制和开发人员社区,或者如果不是直接的,有一个比竞争对手更好的开发人员家庭。我不喜欢这个指令集,但它比PIC和8051领先了几十年。我很喜欢MSP430指令集,它是最好的汇编指令集之一,虽然TI对开发人员不太友好,但它可能是一项艰巨的任务。eZ430是在正确的道路上,但goodfet更好,因为你不会让它无法在所有其他内核版本中工作。
就我而言,MSP430和ARM拥有最好的指令集,这导致了好的汇编器和好的编译器工具。你可以找到上述所有的商业工具,当然也可以找到8051、MSP430和ARM免费工具(MSP430和ARM可以使用GCC,8051不能,查找SDCC)。目前,mspgcc4.sf.net和CodeSourcery是用于MSP430和ARM的基于GCC的工具的位置。LLVM两者都支持,我能够让LLVM27在dhrystone test中击败最新的GCC,但这只是一个测试,LLVM在性能上落后了,但正在改进。
至于寻找和创建免费的交叉编译器,我认为LLVM已经是最容易获得和使用的了,未来它有望变得更好。遗憾的是,LLVM的MSP430端口只是我在下午的PowerPoint演示文稿中可以做的事情,而不是一个严肃的端口。
我的回答是,这取决于你在做什么,我建议你尝试所有这些方法。这些天,评估板在低于50美元的范围内,有些在低于30美元的范围内。甚至在ARM系列(ST、Atmel、Stellaris、LPC等)中也是如此有各种各样的功能和怪癖,只有当你尝试它们的时候才会发现。避免使用LPCexpresso、mbed2和STM32引物。一般情况下避免使用LPC,避免使用Cortex-M3,直到你在ARM7上剔除牙齿。看看Olimex和其他主板的SparkFun吧。虽然可能是LPC,但ARMmite PRO和Arduino Pro是不错的选择。eZ430是一个好的MSP430开始,我不记得是谁制造了8051,Renasys (sp?),8051并不都是平等的,寄存器空间从一个到另一个不同,你必须为此做好准备。如果你想玩8051,我可能会找一个8051模拟器。
我看到AVT和ARM继续占据主导地位,我希望看到MSP430不仅仅是用于超低功耗。有了ARM、AVR和MSP430,你现在和将来都可以使用和习惯GCC的工具,这有很多好处即使GCC不是世界上最好的编译器,它也是迄今为止支持最好的编译器。我会避免专有的编译器和工具。我会寻找具有非专有编程接口的设备,这些接口是现场可编程的,JTAG是好的,但例如Cortex-M3上的新SWD JTAG就不好。TI MSP因此而受到伤害,但一些黑客已经解决了这个问题,至少目前是这样。关于PIC,我真的没什么好说的,也不会去尝试。一个重要的问题是粘合逻辑,部件或系列是否有SPI或I2C或您想要使用的任何总线,您是否需要内部上拉或布线或输入?
有些芯片就是没有这个选项,你必须添加外部硬件。你需要一个有条件的中断吗?ARM倾向于在这一点上获胜,因为它是许多人使用的核心,所以每个ARM供应商都提供了自己的I/O,所以您仍然可以生活在ARM世界中,有很多选择,相比之下,AVR和MSP将非常有限。有了ARM,这些工具将是最先进的,ARM是目前使用最多的处理器。AVR和MSP是特殊的项目插件,不太受广泛支持,也很脆弱。虽然ARM在SBC或计算机平台上与英特尔相比功耗较低,但它的功耗可能不如自动取款机或微处理器那么低。你真的需要看看你的项目,为这项工作选择合适的处理器,我不会也不会将自己限制在一个家庭。由于评估板很便宜,而且几乎所有的评估板都可以使用免费的工具,所以只需花几个晚上或周末来学习每个工具即可。我建议学习多个AVR,学习多个微处理器。
https://stackoverflow.com/questions/2805383
复制相似问题