Embedded 嵌入式开发工具

Embedded 嵌入式开发工具,embedded,Embedded,我想学习一些关于嵌入式开发的知识。我认为最好的办法是购买硬件设备并使用它,但我不知道从哪里开始,如果可能的话,我不想付太多的钱 如果你在这个领域有经验,那么哪条路是最好的选择?好吧,根据你想花多少钱,以及你有多少开发经验,你可以得到Arduino(Arduino.cc)或FEZ Domino(C#.NET)(tinychr.com)。两者都是预制的MCU,具有开始开发时所需的所有工具 Arduino将非常简单,但对于初学者来说可能更好。与FEZ合作有点困难,但能力要强得多。两者都有相同的物理引脚

我想学习一些关于嵌入式开发的知识。我认为最好的办法是购买硬件设备并使用它,但我不知道从哪里开始,如果可能的话,我不想付太多的钱


如果你在这个领域有经验,那么哪条路是最好的选择?

好吧,根据你想花多少钱,以及你有多少开发经验,你可以得到Arduino(Arduino.cc)或FEZ Domino(C#.NET)(tinychr.com)。两者都是预制的MCU,具有开始开发时所需的所有工具


Arduino将非常简单,但对于初学者来说可能更好。与FEZ合作有点困难,但能力要强得多。两者都有相同的物理引脚,所以你可以在它们之间使用“屏蔽”

如果你想把脚弄湿,可以买一个便宜的评估板,比如Stellaris LM3S811评估套件(EK-LM3S811)Digi Key售价50美元,然后下载CodeSourcery G++提供免费的命令行工具或IAR Kickstart版本,该版本最多允许32KB的代码。

我推荐IAR systems提供的Kickstart工具包。它们相当完整,而且是开箱即用的


我想你指的是真正的嵌入式系统,而不是嵌入式linux或其他操作系统

所有这些都很好,sparkfun.com对于50美元以下的卡来说是一个很好的资源。不要买那本书。armmite pro很好,可以绕过高级的罐装软件包并加载您自己的二进制文件(如果有兴趣,我有一个关于如何做的网页)

Stellaris很好,811很容易组装,所以要小心,1968年的评估板也不错。stellaris主板的问题在于,几乎所有的I/O都由板上外围设备使用。stellaris eval板的优点在于,基于您想要做的事情,所有I/O都被板上外围设备消耗。许多外围设备供您学习如何为其编写嵌入式代码

你最终会想要一个jtag wiggler,我推荐amontec jtag tiny,它将为sparkfun的许多olimex板打开大门。sam7和stm32头板也是很好的头板

lillypad是arduino(sparkfun)的良好起点,价格与arduino pro mini相同,但您不必进行任何焊接。买一个lillypad和一个usb到串行的小东西,它为你提供电源,让你可以通过串行接口编程。就像armmite pro一样,我有一个关于如何擦除出厂闪存的网页,并且有一个linux程序员,可以让你加载任何你想要的二进制文件,而不仅仅是那些仅限于其沙箱的文件

除非你对历史课感兴趣,否则不要使用PIC和8051。PIC32X,不确定我的第一个在邮件中,它是MIPS 32不是PIC核心

ez430 msp430板是一个非常好的板,msp430有一个非常好的架构,比avr更好

您也可以在模拟中弄湿脚。我有一个thumb指令集模拟器thumbulator.blogspot.com。Thumb是arm指令集的一个子集,如果您学习Thumb,则可以直接跳入stellaris板或stm32。我的sim卡不支持thumb2,thumb2处理器也支持thumb,从thumb到thumb2的转换非常简单

避开stm32底漆板,避开stm32底漆板,避开mbed2板,避开mbed2板,避开lpcxpresso板,避开lpcxpresso板

我最近在verilog中发现了一个arm的行为模型,你可以模拟你的程序,但我并没有太多地使用它。qemu手臂可能更容易,不是一个让你的脚湿透的好地方,尽管它可能会令人沮丧。这就是为什么我写了我自己的

例如,在gdb源代码版本中,ARMS自己的armulator比qemu arm更易于使用,但也可能令人沮丧


转到codesourcery获取arm gcc工具。对于msp430工具,请使用mspgcc4.sf.net。llvm正在快速捕获和传递gcc,如果没有其他东西的话,我希望它能够取代通用交叉编译器工具的gcc。目前,在构建交叉编译时,它比gcc更加稳定和可移植(因为无论您在哪里找到或使用它,它总是/只是一个交叉编译器)。llvm的msp后端对某些人来说是一个下午的实验,很遗憾,我真的很想得到支持。如果您使用llvm,请使用clang而不是llvm gcc。

我建议您使用MSP430启动。MSP430启动板非常便宜。或者,您可以从Stellaris(ARM Cortex M3)板开始。您可以先使用已经提供的库开始开发应用程序,然后通过参考数据表开始编写配置和完成任务的代码。您还可以获得示例代码、相关文档和Keil 32K limited评估版本。如果你想从头开始写东西,那就买一块基于ARM的板,上面有IO分支标题,然后开始工作。其中很多都可以从Olimex等供应商处获得。如果你是从零开始工作的,很少或根本不知道嵌入式系统,那么一句警告的话,ARM是很难开始的。所以,如果您正在寻找更容易的AVR或8051,但8051核心太旧了。因此,在我看来,Stellaris是一个很好的选择,因为他们已经有了可用的驱动程序库和代码

选择手臂皮质是明智之举。我肯定会远离像PICmicro或8051这样过时的架构。如果你是一个爱好者,Arduino可能是一个不错的选择。然而,当你把嵌入式编程作为一种职业来考虑时,你需要学习用C语言编程。理解一些汇编也不会有什么坏处。在硬件层面上,Arduino只是Atmel AVR,所以你也可以用C语言编程。哦,是的,是的,GBA,GameBoy Advance。很好的嵌入式学习平台。出于好奇,为什么要避免使用mbed、stm32和lpcxpresso板?mbed和lpcxpresso就像stm32底漆。它们将您锁定在特定的开发平台中