我在桌面和网络编程方面有几年的经验。我想继续做一些嵌入式系统编程。在询问了初始问题之后,我想知道我应该从哪个硬件/软件IDE开始.
或者..。不重要吗?
哪个开发平台是最容易学习和编程的(考虑到IDE可用性)?
如果出了问题,哪一个最容易调试?
我的目标是学习有关IO端口是如何工作的,内存限制/要求包括可能的分页、中断服务例程。的知识,是更好地学习一个我稍后将使用的,还是高层次的概念应该延续到大多数的微控制器?
谢谢!
更新: 这个开发工具包是怎么开始的?评论?建议?
发布于 2010-01-26 03:25:31
就我个人而言,我推荐一种基于臂皮质-M3的微控制器。高功耗的手臂内核非常受欢迎,这些低功耗版本很有可能在一个仍然充斥着专有8/16位核心的空间中起飞。下面是关于这个主题的最近一篇文章:http://www.embedded.com/design/222100259。
阿杜伊诺非常受爱好者的欢迎。阿特梅尔的外围程序库在不同的处理器类型中相当常见,因此,它将为以后从AVR到手臂的过渡铺平道路。
我并不是说手臂比AVR或其他任何核心都好。为商业产品选择MCU通常取决于外围设备和价格,其次是现有的代码库和开发工具。此外,微控制器比台式机简单得多。所以,在你掌握了它的诀窍之后,从一个移动到另一个并没有那么难。
此外,如果您对实时操作系统(RTOS)开发感兴趣,请查看FreeRTOS。它是开源的,包含了RTOS是什么以及他们是如何实现RTOS的一个很好的过程。事实上,他们的穿行示例甚至瞄准了一个AVR。
嵌入式系统的开发工具可能非常昂贵。然而,对于更开放的内核,如ARM和AVR,经常有开源的替代方案。例如,请参阅WinARM和WinAVR项目。
这些工具链是基于GCC的,因此也可以在非Windows平台上使用(并且更容易使用IMHO)。如果您熟悉使用GCC,那么您就知道有大量的“IDE”适合您的口味,从埃马克斯和vi (我最喜欢的)到月食。
商业产品可以为你节省很多麻烦。然而,选择一个将非常取决于您的目标硬件和预算。此外,一些硬件支持直接USB调试,而另一些可能需要昂贵的JTAG适配器。
其他链接:
低成本皮质M3板:
新的Arduino使用ARM皮质M3而不是AVR微控制器.
发布于 2010-01-26 02:44:24
考虑到您已经有编程经验,您可能需要考虑获得一个Arduino并删除固件,以便使用Arduino+ WinAVR完成您自己的工作。Arduino给了你一个很好的起点来理解它的电子方面。取出Arduino引导加载程序将使您更好地访问Atmel的内部。
为了达到您设定的目标,我还建议您通过x86编程更深入地探索桌面计算机。例如,您可以构建一个x86操作系统内核。
发布于 2010-01-26 22:45:49
ARM是应用最广泛的嵌入式体系结构,它涵盖了来自多家厂商的大量设备和广泛的成本。也就是说,ARM7、9、11和Cortex设备--尤其是Cortex --之间存在着显著的差异。然而,如果进入嵌入式系统专业是您的目标,ARM的经验将很好地为您服务。
8位架构通常更容易使用,但通常在内存容量和核心速度方面都非常有限。此外,由于使用简单,8位技能相对容易获得,因此对于潜在雇主来说,这是一项不那么有吸引力的技能,因为它很容易在内部实现,或者拥有经验较少(因此成本较低)的员工。
然而,如果这是一种爱好,而不是一种职业,那么零件、木板和工具的低成本,以及易用性,可能会使8点吸引力。我建议AVR只是因为它是支持免费的avr-gcc工具链.SDCC (另一个开源C编译器)支持大约8位目标。我相信Zilog可以免费提供他们的Z8编译器,但是您可能需要支付调试硬件的费用(尽管这相对便宜)。许多商业工具供应商为评估和非商业用途提供代码大小有限的工具版本,但请注意,大多数调试器都需要昂贵的专用硬件,尽管在某些情况下,您只需要基本功能和低速度就可以自己构建它。
不管你做什么,看看www.embedded.com。如果您选择ARM,我已经成功地在商业项目中使用了WinARM,尽管它不是为舒适而建的!一个很好的ARM资源列表是可用的这里。要获得AVR,一定要查看www.avrfreaks.net。
我只推荐微芯片PIC部件(至少是低端的)用于高成本敏感项目,在这些项目中,外围设备的组合非常适合应用程序,而不是用于学习嵌入式系统。PIC与其说是一种架构,不如说是一种品牌,不同的范围PIC12、16、18、24和PIC32是非常不同的,所以学习其中一种并不一定对使用另一种有好处--通常你甚至需要购买新的工具!也就是说,如果您想同时获得一些简单的DSP经验,基于dsPIC架构的PIC24可能是一个不错的选择。
在所有情况下,请检查编译器可用性(特别是如果需要C++支持)和成本,以及调试器硬件需求,因为这些通常是开发工具包中最昂贵的部分,所以板和部件通常是最便宜的部分。
https://stackoverflow.com/questions/2137153
复制相似问题