.NET Micro Framework是从嵌入式编程开始的好方法吗?

时间:2008-11-12 07:10:50

标签: .net microcontroller arduino .net-micro-framework nintendo-ds

开发板的.NET Micro Framework与Arduino相比如何?或者Nintendo DS如何从嵌入式编程开始?

9 个答案:

答案 0 :(得分:9)

老实说,如果我是你(顺便说一下,我不是),我会坚持下去,避免对嵌入式系统的.NET平台进行高级抽象。我学到的方法是通过大学课程,我首先在AVR汇编语言中的SunROM套件(类似于Arduino板,也包含ATmega32 MCU)上介绍嵌入式系统概念,然后在C中重新教授这些概念。有了我对.NET的简要技术理解,我觉得平台中有太多的任意抽象,因此它是一个非常明智的选择。 (当然,部分原因也是我对.NET和Java的一般仇恨,尤其是在嵌入式系统编程中使用时,所以我的偏见也是如此。)

嵌入式软件应该(在我看来)能够利用它运行的平台尽可能快速有效地运行,而不是在尽可能多的不同机器上运行时更加抽象。我认为你应该从头开始学习概念和实现,这样你就可以更好地了解“System.Watchdog”,而不是让软件开发工具包笨拙,使程序变慢或增加不必要的复杂性。真的是在你开始滥用之前。

答案 1 :(得分:9)

所有其他答案都很出色,但我想补充一点,对于初学者来说,像.NET Micro这样的框架可能会抽象出一些非常重要的概念;它可能会让你从硬件中删除。嵌入式编程的快乐(和真正的技能)来自于利用微控制器的硬件和架构。如果您在硬件之上使用框架作为抽象层,那么您将无法真正获得对嵌入式编程非常重要的基本概念。

我说首先使用C和汇编,直接与硬件交互,这样你就可以很好地了解这些框架在底层做了些什么。当你对此感到满意时,你可能会选择转移到一个框架(但那时......可能不是:P)

但话又说回来,如果你的目标不是学习而只是完成,那么一个框架可以帮助你更快地完成它,因为你不会需要了解内部运作。但那里的乐趣在哪里?

答案 2 :(得分:8)

Netduino看起来很酷。它只有30美元。和以太网the Plus version

答案 3 :(得分:7)

.NET Micro Framework适用于包含功能强大的处理器(目前是ARM7,ARM9和Blackfin)的嵌入式系统。

Arduino板基于8位AVR微控制器,.NET Micro Framework甚至无法使用。例如,考虑框架的内存要求:它被宣传为消耗低至约300 kB的内存。 Arduino总共有16 kB的程序存储器和1 kB的RAM。

另一方面,Nintendo DS在技术上至少能够运行.NET Micro Framework。

如果您对Arduino等硬件的嵌入式编程感兴趣,我可以向您保证,您不需要(通常也不能使用)任何高级库或操作系统。实际上,您会发现小型微控制器的编程将是一种乐趣,因为一切都非常简单并且完全由您控制。

答案 4 :(得分:2)

确实,.NET Micro Framework完全不同。 以太网,串行端口(UART),SPII2CGPIO支持都在一个。

您正在使用Visual Studio 2008.最好的IDE。

答案 5 :(得分:1)

这个答案有点偏离主题,但......

我个人使用来自microchip.com的PIC。它们非常便宜,并且内置了大量的选项/版本。虽然我很想使用.NET Micro,但它似乎是为运行操作系统的高端芯片而开发的。许多嵌入式项目,特别是通信领域的项目需要更高端的芯片(100美元+小批量的电路板),但许多优秀的嵌入式项目都是小东西,只需要2美元的CPU。 .NET Micro不针对那些。

答案 6 :(得分:1)

如果您对使用.NET微框架感兴趣,请查看来自devicesolutions.net的tahoe II

答案 7 :(得分:1)

如果您对极低成本的原型设备感兴趣,那么值得考虑'Arduino路线',但不要使用Arduino。

使用运行#Shrimp引导加载程序的ATmega328-PU使用像Arduino Uno这样的条形板或面包板设计可以为您提供与PIC几乎相同的成本基础,但保持与所有的兼容性已存在的Arduino Maker项目,如... http://www.instructables.com/tag/type-id/category-technology/channel-arduino/

基于100个单位,您可以在面包板上获得功能正常的#Shrimp的组件,在条形板上只需1.70英镑,在英国的无焊面包板上只需2.30英镑。对于较小的数量,例如5或10,你分别看到2.90英镑和3.50英镑,但它仍然便宜。 #Shrimp电路可以在您启动时在大约10分钟内从布局图组成,当您快速启动时,您可以将其缩短到大约一分钟。

当然,成本并不是唯一要考虑的因素。

您可能希望使用特定语言进行编程。要让你的sketch在Arduino上运行,它必须用C语言编写,尽管你可以使用pyfirmata来远程控制与Python兼容的Arduino,如果你不介意它永久连接到桌面。

使用C#之类的垃圾收集语言和Visual Studio的工具支持可以被视为使用.NET Micro Framework的一大好处,特别是对于那些已经在Microsoft环境中开发的人。同样,免费和开源Arduino IDE的简单性也是其他人的好处。

[披露,我自己是非营利性@ShrimpingIt项目的合作者。]

答案 8 :(得分:0)

另外检查arround:转换处理代码以在.NET微框架上运行 http://blogs.oberon.ch/tamberg/2009-02-23/running-processing-code-on-the-dotnet-mf.html