嵌入式编程开发板的建议

Recommendations for a development board for embedded programming

本文关键字:编程 开发 嵌入式      更新时间:2023-10-16

可能重复:
什么是学习嵌入式C/C++开发的最佳评估工具包?

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

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

然而,在这一点上,我有点困惑。我见过带有调试器和程序员设备的开发工具包。我不知道这些是用来做什么的=>我需要这些信息。还有很多开发工具包似乎提供了各种功能。有些附带了编译器和IDE等软件(PICs上的MPLab),使生活更轻松。

我搜索过书籍和信息,但大多数都集中在找不到的处理器上(或花费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-别名%3Maps&字段关键字=嵌入式+系统&x=0&y=0

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

谢谢,希望它不是双

如果你了解C或C++,并且想体验嵌入式开发,我也会避开Arduino,因为与较新的微型设备,尤其是ARM Cortex设备相比,它的性价比很糟糕。它有一个强大的生态系统和可访问的工具链,但如果你不怕脏兮兮地使用一些不友好的工具,ARM设备会让你更好地体验嵌入式开发。

目前,我认为最好的交易是STMicroelectronics的STM32F4Discovery。它们大约20美元,有一个C SDK和工具链,是一个真正强大的部分,你可以用来设计和嵌入设备。大量的外围设备和CPU(就其本身而言);Cortex M4内核对于微控制器来说几乎是最先进的。该板唯一真正的缺点是它没有一个小的LCD显示屏,但开发工具包的价格往往超过50美元(尽管如果你想要这样的东西,TI/Stellaris Cortex M3工具包也很不错。你应该能够找到足够的资源来在linux上设置arm eabi gcc和OpenOCD(用于程序加载/调试)。

Raspberry Pi听起来很快就有机会拥有这一细分市场,尽管我认为它可能是一个更受软件驱动的环境,因为它是一个成熟的linux系统,尽管它有外设的头,但与MCU套件相比,用RPi制作一个简单的嵌入式系统原型实际上可能有点困难,这取决于你想做什么。BeagleBoard或PandaBoard也是如此,它们是不同类别的系统,如果你只想学习一些电子学并建立原型,那么一两个想法实际上可能比你想要的更复杂。不幸的是,树莓派的可用性目前非常有限,很快就会有一天,所以如果你今天想订购,它实际上不是一个可行的选择。

Neuros OSD相当不错。无论他们卖什么,你都可以买到Neuros OSD设备,整个软件堆栈都是开源代码,你可以自由使用。他们有一个不错的Wiki风格的文档和基于GNU的工具链。如果我没有弄错的话,它是基于ARM的。

我能够在几个小时内提起它并开始编写代码。你可能需要一根RS232转换器电缆——给他们发一封电子邮件,如果你在易趣上找不到任何东西,他们会给你寄一根。

树莓派是这个区块的新成员。它是专门为学习而开发的,运行Linux,是一台完全独立的计算机,无需交叉编译。在短期内可能很难找到你的手。

为了回答您关于调试器的问题,您需要一些方法来加载程序并对其进行调试,而且由于微控制器通常不带键盘和监视器,因此您必须在主机系统中完成这项工作。当你在最低级别上编写代码时,你不能依赖以太网甚至RS232,因为在使用之前,这些代码需要在微控制器上的软件中进行设置。

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

调试器通常是与完全空的微控制器通信的唯一方式。例如,您可以编程一个引导加载程序,并让它启动替代接口,从那里它可以接收要运行的应用程序。

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

还有一点建议——在刚开始的时候,最好准备一个开发工具包,其中包括:板、调试器/编程电缆和IDE。这将为您提供入门所需的一切,并且比自己设置编译器/生成文件/调试环境/启动代码等要容易得多(尽管有人可能会说,通过手工操作,您可以了解到关于如何将所有内容组合在一起的有价值信息,但这通常不是初学者一开始想要(或必须)做的)。

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

stm32f4的发现大约20美元,令人惊讶的是,它们把什么装进了一个cortex-m4。stm32值线发现几乎是一半,还不错,但我会选择stm32f4。

mbed家族还可以,cortex-m0更容易砌砖(你可以用一根小金属丝和一些焊料恢复)。超级容易使用,如果你不想的话,你也不需要他们的沙盒。

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

据我所知,还有许多其他模拟器,天眼、gdb,都有手臂模拟器。

它不是一只手臂,但花5美元你就可以买到一块带有几个不同微型的msp430发射板。易于使用,C/ASM,一点也不坏的指令集。