Sho*_*nja 8

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

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


uno*_*nom 8

Netduino看起来很酷.它只有30美元.和以太网的Plus版本.


小智 8

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

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

但话说回来,如果你的目标不是要学习而是简单地完成,那么框架可以帮助你更快地完成任务,因为你不需要了解内部工作原理.但那里的乐趣在哪里?


smt*_*smt 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等硬件的嵌入式编程感兴趣,我可以向您保证,您不需要(通常也不能使用)任何高级库或操作系统.事实上,你会发现小型微控制器的编程将是一件令人高兴的事情,因为一切都非常简单,完全由你控制.

  • 我的300 kB声明基于此页面提供的详细白皮书:http://msdn.microsoft.com/en-us/netframework/bb267253.aspx.它说"最小的.NET足迹(大约300 KB的RAM)". (2认同)