嵌入式系统入门

时间:2012-06-06 12:10:37

标签: .net embedded microcontroller .net-micro-framework

我使用C#语言(WinForms,Web,WPF)使用.NET Framework。现在我需要完成我的大学任务。它应该是嵌入式设备(如微控制器或类似设备)的简单程序。我根本没有数字电子学的基本知识,但我对C有一点了解。我有很多时间研究这些东西(大约半年或更长时间)。所以我该怎么做?什么对我更好?

  1. 您能否建议一些书籍或培训课程 嵌入式系统?

  2. 我听说过.NET Micro Framework。这是最好的吗? 解决我的问题?我应该购买什么设备来学习编程(eBay上有很多设备)。

  3. 还有许多使用PIC单片机和C的建议 用来编程的语言。所以我再问一下我需要什么设备 什么IDE?

  4. P.S。抱歉英语不好。

3 个答案:

答案 0 :(得分:4)

很难回答你的问题,因为你没有提到你想做什么。我熟悉微芯片微控制器(PIC),他们有合理价格的各种开发板,你可以从他们的网页上免费获得IDE和编译器(IDE称为MPLAB,编译器取决于你的设备使用)。然而,如果你来自PC世界,开始开发微控制器有时会有点令人沮丧。这些工具有它们的怪癖,你必须得到它们的使用。

你的问题的另一个替代方案可能是arduino板,它们非常便宜(大约20-25美元)并且它们易于编程并且你不需要任何额外的设备来编程它们。 (这些板直接插入USB)。您还可以从arduino网站免费获得所有开发工具。

我认为Arduino和PIC之间的主要区别在于Arduino有点像爱好玩具,而C编程Pics让您更好地了解嵌入式软件的开发方式。与其他微控制器相比,pic的好处在于它们在爱好者中非常受欢迎,这意味着有很多适合初学者的书籍。

根据你对学习嵌入式软件的认真程度,我会选择Arduino,如果只是为了一个简单易用的项目,再也不会看到微控制器,但是如果你想真正学会编写嵌入式软件,我会选择相当强大的开发板,它将允许您将来运行RTOS。根据开发板的不同,您可能需要或不需要外部编程器(许多开发板上都有USB编程器)

我只是快速了解一下.net微框架是什么,显然它只是移植到ARM内核并且需要相当大的内存来运行,所以除非你得到一块开发用于.net micro的板子框架(刚刚遇到一个叫做netduino的东西)我不会考虑它。

答案 1 :(得分:0)

  1. 嵌入式系统大多采用C语言编写,部分软件采用汇编方式。因此,如果没有C的良好知识(堆栈如何工作,如何修改给定地址的内存内容......)以及良好的计算机体系结构知识(什么是中断,我不会考虑编程嵌入式系统)什么是背面缓存,处理器如何启动......)。有很多关于这些的优秀文献,你可以从维基百科开始。

  2. 我对.NET Micro Framework了解不多,我不知道有谁使用它。对于从嵌入式系统开始,您应该考虑另一个设备,请参阅3.

  3. 正如praemdonck所说,带有MPLAB调试探针的Microchip dsPIC可能是最经济实惠的解决方案,您实际上可以使用这些微控制器做很多事情。我不会考虑基于嵌入式Linux的解决方案,因为在低级层中你不会深入了解嵌入式编程究竟是什么。

答案 2 :(得分:0)

  

1)您能否建议一些书籍或培训课程来开始使用嵌入式系统?

Here is a nice online book。它基于一个名为68HC12的过时微观,虽然所讨论的主题对所有微观都是通用的,特别是关于嵌入式C编程的部分。

(68HC12是由摩托罗拉90年代中期开发的,并在2002年左右过时。它被现代的HCS12取代,它与指令兼容。作为参考,68HC12被认为是旧的,过时的MCU,但设计了20年在第一次PIC之后。仅供参考PIC过时的情况。)

  

2)我听说过.NET Micro Framework。这是我问题的最佳解决方案吗?我应该为编程购买什么设备(eBay上有很多东西)。

我专门使用嵌入式系统,我从未听说过它。所以没有...这可能不是一个好主意,听起来像是微软再次参与嵌入式系统的绝望尝试。如果我了解它们,它只会是PC的另一种风格。

  

3)另外,我看到很多建议使用PIC单片机和C语言为它们编程。我需要什么设备和什么IDE?

其他人已经回答了这个问题。 C语言绝对是嵌入式系统所需要的。如果您是C语言的初学者,特别是嵌入式C,我强烈建议选择一个以C标准符合性着称的编译器平台。任何使用GCC的平台都可能是初学者的明智选择。