嵌入式编程开发板的建议

时间:2012-03-28 00:38:41

标签: c++ c linux embedded arm

  

可能重复:
  What is the best Evaluation Kit for Learning Embedded C/C++ Development?

我是电子和软件学生,我想进入嵌入式设备世界。在这一点上,这只是个人兴趣,而不是职业选择。

我在C / C ++(主要是C ++)方面有一定的经验。我是一位经验丰富的linux用户。我有一个arduino但我不喜欢它因为顶层的java层。有一些方法可以在设备上上传C代码,我已经这样做了。

然而,在这一点上我有点困惑。我见过dev。带有调试器和编程器设备的套件。我不知道这些用于什么=>我需要有关这些的信息。还有很多开发者。那里似乎提供各种功能的工具包。有些软件(PIC上的MPLab),如编译器和IDE,使生活更轻松。

我搜索了书籍和信息,但大多数都专注于一些我找不到的处理器(或者花费500美元)。其他人花费大部分时间教C(我已经知道C)。

我也觉得从ARM处理器开始是最好的。我不确定这是最好的处理器,但它们似乎有很多功能,现在非常流行。它们还具有很高的吞吐量(我知道它们也消耗更多功率)。对此有何建议?

我看过这个:http://uk.rs-online.com/web/c/semiconductors/development-kits/microcontroller-processor/

也欢迎书籍推荐。正如我所说,我已经看过一些关注PIC(主要是)http://www.amazon.co.uk/s/ref=nb_sb_noss_1?url=search-alias%3Daps&field-keywords=embedded+systems&x=0&y=0

的内容

我找到了一本关于ARM的好书,但我不确定它是否适用于嵌入式开发新手。我认为它可能适用于ARM新手,但具有嵌入式经验。

谢谢,希望它不是双重

5 个答案:

答案 0 :(得分:2)

如果您了解C或C ++并希望了解嵌入式开发,我还要避开Arduino,因为与较新的微处理器(尤其是ARM Cortex器件)相比,它具有可怕的性价比。它有一个很棒的生态系统和可访问的工具链,但是如果你不害怕邋and和使用一些不友好的工具,ARM设备将让你更好地体验嵌入式开发。

目前我认为最好的交易是意法半导体的STM32F4Discovery。它们大约20美元,有一个C SDK和工具链,它是一个真正的,强大的部分,你将用于设计和嵌入式设备。很多外围设备和CPU(就其本身而言); Cortex M4内核是微控制器的最新技术。该板唯一真正的缺点是它没有一个小的LCD显示器,但开发套件往往超过50美元(虽然如果你想要这样的东西,TI/Stellaris Cortex M3 kits也很不错。你应该能够找到足够的资源来获得在linux上设置arm-eabi-gcc和OpenOCD(用于程序加载/调试)。

Raspberry Pi听起来很快就有机会拥有这个细分市场,虽然我认为它可能是一个更加软件驱动的环境,因为它是一个完整的Linux系统,虽然它有外围设备的标题,它实际上可能是使用RPi对简单的嵌入式系统进行原型设计比使用MCU套件要困难一些,这取决于您想要做什么。与BeagleBoard或PandaBoard相同,它们是不同类别的系统,如果你只想学习一些电子和原型,一两个想法实际上可能比你想要的更复杂。不幸的是,Raspberry Pi的可用性目前介于两者之间,并且很快就会有一段时间,所以如果你今天想订购它,它实际上不是一个可行的选择。

答案 1 :(得分:1)

Neuros OSD非常体面。您可以将Neuros OSD设备用于销售它的任何设备,整个软件堆栈是您可以自由使用的开源代码。他们有一个不错的维基文档和基于GNU的工具链。如果我没弄错它的基于ARM的。

我能够在几小时内完成并开始编写代码。您可能需要RS232转换器电缆 - 向他们发送电子邮件,如果您在易趣上找不到任何东西,他们会发给您一个。

答案 2 :(得分:1)

Raspberry Pi是这个街区的新生儿。专为学习而开发,它运行Linux并且是一台功能完备的计算机 - 无需交叉编译。可能很难在短期内掌握。

答案 3 :(得分:0)

在AVR上使用直接C和asm没有问题,没有理由甚至安装基于java的沙箱,更不用说了。很好地取决于你想要体验什么,如果你想在一个环境上编写应用程序,它是完美的,如果你想学习嵌入式,那么写嵌入式。你得到的价格虽然是个问题。

stm32f4发现约20美元,令人惊讶的是它们装入了cortex-m4。 stm32值行发现几乎是一半而且不错,但我会选择stm32f4。

mbed家族没关系,皮质-m0更容易砖(你可以用一点点的电线和一些焊料来恢复)。虽然超级好用,但如果你不想要,你也不需要他们的沙箱。

你可能只是玩amber_samples repo / simulator。您可以获得ARM asm和C嵌入式体验,而无需花费一分钱。琥珀色处理器是arm2的克隆版,ARM是ARM的前身。这与现代武器之间只有一些差异,而且差异是可以避免的。缩略图模拟器模拟您在cortex-m微控制器中找到的拇指指令集。

根据我的理解,还有许多其他模拟器,skyeye,gdb,都有臂模拟器。

它不是一只手臂,但是5美元你可以得到一个带有几个不同微处理器的msp430启动板。易于使用,C / ASM,根本不是一个糟糕的指令集。

答案 4 :(得分:0)

只是为了回答你关于调试器的问题 - 你需要一些方法来加载程序并进行调试 - 而且由于微控制器通常没有键盘和显示器,你必须从主机系统执行此操作。当您在最低级别编写代码时,您不能依赖以太网甚至RS232,因为这些代码需要先在微控制器上用软件设置才能使用。

这是调试器的用武之地。较新的调试器通过USB连接到您的计算机,并通过JTAG接口(或其中一个新的替代方案)直接连接到您的微控制器。调试器允许您将代码直接加载到微控制器的嵌入式闪存中,并控制其执行,以便您可以从主机调试它(单步,断点,内存检查等)。

调试器通常是与完全空的微控制器通信的唯一方式。然后,您可以对引导加载程序进行编程,并让它从可以接收应用程序运行的位置启动备用接口。

总而言之,调试器是嵌入式开发的必备工具。没有一个你就不会走得太远。许多完整的开发套件都带有自己的调试器,但也可以单独购买。我目前正在使用Olimex ARM-USB-OCD-H来编程带有STM ARM-Cortex-M3芯片的自定义电路板,不过是Windows7上的Eclipse。 Olimex可能不是那里最好的调试器,但它很便宜并且通过开源软件提供了很好的支持(比如其他一个答案中提到的OpenOCD-- OpenOCD是用来与调试器通信的软件,用于将它与Eclipse的调试工具联系起来。)

只是为了补充一点建议 - 在开始时,获得一个包含的开发工具包是一个非常好的主意,包括:电路板,调试器/编程电缆和IDE。这将为您提供入门所需的一切,并且很多比设置编译器/ makefile /调试环境/启动代码等更容易(尽管有人可能认为通过这样做你可以了解有关一切如何融合在一起的有价值的信息,但这通常不是初学者想要(或者应该)最初做的事情。