Embedded 第一次使用哪个微控制器作为嵌入式系统程序员重要吗?

Embedded 第一次使用哪个微控制器作为嵌入式系统程序员重要吗?,embedded,microcontroller,arduino,codewarrior,avr-studio4,Embedded,Microcontroller,Arduino,Codewarrior,Avr Studio4,我有几年做桌面和网络编程的经验。我想继续做一些嵌入式系统编程。问了之后,我想知道应该从哪个硬件/软件IDE开始 +Arduino IDE Atmel AVR+ 飞思卡尔HCS12或Coldfire+ 微芯片PIC+ 臂皮质-M3+/ 或者。。。没关系吧 哪个开发平台最容易学习和编程(考虑IDE的可用性) 如果出现问题,哪一个最容易调试 我的目标是了解我以后将使用的是更好的,还是高级概念应该延续到大多数微控制器 谢谢 更新:如何开始?评论?建议? < P>鉴于你已经有编程经验,你可能想考虑得到

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

  • +Arduino IDE

  • Atmel AVR+

  • 飞思卡尔HCS12或Coldfire+

  • 微芯片PIC+

  • 臂皮质-M3+/

或者。。。没关系吧

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

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

我的目标是了解我以后将使用的是更好的,还是高级概念应该延续到大多数微控制器

谢谢


更新:如何开始?评论?建议?

< P>鉴于你已经有编程经验,你可能想考虑得到一个ARDUIO,并清除固件来做你自己的东西与AVR Studio + WiNavr。Arduino为您了解其电子方面提供了一个良好的起点。取出Arduino引导器会让你更好地进入阿特梅尔的内脏


为了实现您设定的目标,我还建议您通过x86编程更深入地探索桌面计算机。例如,您可以构建一个x86操作系统内核。

就个人而言,我推荐一个基于微处理器的内核。高功率内核非常受欢迎,而这些低功率版本很可能在仍然充斥着专有8/16位内核的空间中大行其道。以下是关于这个主题的最新文章:

这本书很受业余爱好者的欢迎s外设库在处理器类型中相当常见。因此,它将使以后从a到a的过渡更加顺利

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

另外,如果您对实时操作系统(RTOS)开发感兴趣,请查看。它是开源的,包含了一个很好的关于什么是RTOS以及他们是如何实现RTOS的演练。事实上,他们的目标甚至是AVR


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

这些工具链基于GCC,因此在非Windows平台上也可用(并且更易于使用IMHO)。如果您熟悉GCC的使用,那么您就知道有大量的“IDE”适合您的口味

商业产品可以为您节省很多安装方面的麻烦。然而,选择一个在很大程度上取决于您的目标硬件和预算。此外,一些硬件支持直接USB调试,而另一些可能需要昂贵的适配器


其他链接:


低成本Cortex-M3板:


你可能会有一个。现在,这个板子可能不是你想要的微控制器,但它确实具有能够运行Windows或DOS的优势,因此你可以使用Microsoft.NET甚至C/C++开发工具来摆弄伺服或传感器之类的东西,甚至,见鬼,建造一个机器人!这其实很有趣

还有,它有ATmega640处理器

无论哪种方式,两个董事会都应该帮助您实现目标


对不起,我对机器人技术的关注很感兴趣,我认为它也可能对您有所帮助。

无论您做什么,请确保您有一个良好的开发环境。我不喜欢Microchip的开发工具,尽管我喜欢他们的微控制器(我被MPLAB+ICD烧坏了太多次,太多麻烦和功能失调)。TI的2800系列DSP非常好,并且有一个基于Eclipse的C++开发环境,你可以进入100美元(获得一个“控制卡”的实验工具的工具包),调试器通信链接非常坚固;IDE很好,尽管我偶尔会使它崩溃


有些地方有更好的IC和电路板;我对嵌入式微控制器不太熟悉,但是,我没有太多耐心去使用另一个软件工具链来解决糟糕的IDE,我必须弄清楚如何避开所有的bug。

ARM是使用最广泛的嵌入式体系结构,涵盖了来自多个供应商的大量设备和广泛的成本。也就是说,ARM7、9、11和Cortex设备之间存在显著差异,尤其是Cortex。然而,如果你的目标是专业地进入嵌入式系统,ARM经验将很好地为你服务

8位体系结构通常更易于使用,但通常在内存容量和核心速度方面都非常有限。此外,由于8位技能使用简单,相对容易获得,因此对潜在雇主来说,8位技能吸引力较低,因为它很容易在内部实现,或者由经验较少(因此成本较低)的员工实现

然而,如果这是一种爱好而不是职业,那么零件、电路板和工具的低成本以及易用性可能会使8位更具吸引力。我建议使用AVR只是因为它受到免费AVRCC工具链的支持。另一个开源C编译器SDCC支持一些8位目标。我相信Zilog可以免费使用他们的Z8编译器,但是您可能需要为调试硬件付费(尽管这相对便宜)。文科硕士
#include "mbed.h"

DigitalOut myled(LED1);

int main()
{
    while(1)
    {
        myled = 1;
        wait(0.2);
        myled = 0;
        wait(0.2);
    }
}