第一次嵌入系统编程器使用哪个微控制器是否重要?

Hen*_*nry 35 embedded microcontroller codewarrior arduino avr-studio4

我有几年的桌面和网络编程经验.我想继续做一些嵌入式系统编程.在询问了最初的问题后,我想知道我应该从哪个硬件/软件IDE开始......

或者......没关系?

哪个开发平台最容易学习和编程(考虑到IDE的可用性)?

如果出现问题,哪一个最容易调试?

我的目标是了解"IO端口如何工作,内存限制/要求,包括可能的分页,中断服务程序". 学习一个我稍后会使用的,或者高级概念应该延续到大多数微控制器是否更好?

谢谢!

更新:这个开发工具包是如何开始的?评论?建议?

Jud*_*den 18

就个人而言,我建议使用基于ARM Cortex-M3的微控制器.更高功率的ARM内核非常受欢迎,这些低功耗版本可以在仍然充斥着专有的8/16位内核的空间中起飞.这是最近关于这个主题的文章:ARM Cortex-M3和MCU市场的融合.

Arduino的是业余爱好者很受欢迎.Atmel的外设库在处理器类型中相当普遍.因此,它可以平滑后来从AVRARM的过渡.

我并不是说ARM比AVR或任何其他核心更好.为商业产品选择MCU通常归结为外围设备和价格,其次是现有的代码库和开发工具.此外,微控制器通常比台式PC简单得多.因此,在你掌握了它之后,从一个移动到另一个并不是那么难.

另外,如果您对实时操作系统(RTOS)开发感兴趣,请查看FreeRTOS.它是开源的,包含了一个很好的浏览RTOS是什么以及它们是如何实现的.事实上,他们的演示实例甚至针对AVR.


嵌入式系统的开发工具可能非常昂贵.但是,对于ARM和AVR等更开放的内核,通常有开源替代方案.例如,请参阅WinARMWinAVR项目.

这些工具链基于GCC,因此在非Windows平台上也可用(并且更容易使用IMHO).如果您熟悉使用GCC,那么您就知道有很多"IDE"可以满足您从EMACSvi(我最喜欢的)到Eclipse的需求.

商业产品可以为您节省很多令人头疼的问题.但是,选择一个将在很大程度上取决于您的目标硬件和预算.此外,某些硬件支持直接USB调试,而其他硬件可能需要昂贵的JTAG适配器.


其他链接:


低成本Cortex-M3开发板:


新的Arduino使用ARM Cortex-M3而不是AVR微控制器.

  • beagle板使用ARM Cortex-A8,它与ARM Cortex-M3完全不同*.A8是500+ MHz,有一个MMU,FPU,beagle板有几百兆的RAM和一个用于闪存GB的SD卡插槽,用于运行像linux这样的操作系统.M3只有72MHz,有几十KB的RAM和100s的闪存,是一个"真正的"嵌入式系统,需要了解性能限制. (7认同)

Bri*_*ian 5

鉴于您已经拥有编程经验,您可能需要考虑使用AVR Studio + WinAVR获取Arduino并擦除固件以执行自己的操作.Arduino为您提供了理解其电子方面的良好起点.取出Arduino引导程序可以让您更好地访问Atmel的内部.

为了实现您正在制定的目标,我还建议通过x86编程更深入地探索台式计算机.例如,您可以构建x86操作系统内核.