【问题标题】:Getting started with embedded systems [closed]嵌入式系统入门 [关闭]
【发布时间】:2012-06-06 12:10:36
【问题描述】:

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

  1. 您能否推荐一些书籍或培训课程以开始学习 嵌入式系统?

  2. 我听说了一些关于 .NET Micro Framework 的信息。是不是最好的 我的问题的解决方案?还有我应该买什么设备来学习编程(eBay上有很多设备)。

  3. 还有很多建议使用 PIC 微控制器和 C 编程它们的语言。所以我再次询问我需要什么设备, 什么IDE?

附:抱歉英语不好。

【问题讨论】:

  • IMO 转到 Visual Studio 和 .NET Micro Framework,您将节省大量的学习曲线,并且像 C# 中的蛤蜊和非常好的 IDE 一样快乐。
  • .NET 不适用于嵌入式系统。我想知道为什么有人会研究 C# .NET 和嵌入式的组合,然而,这似乎是一个奇怪的组合。

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


【解决方案1】:

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

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

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

根据您对学习嵌入式软件的重视程度,如果只是为了一个简单易用的项目并且再也不会看到微控制器,我会选择 Arduino,但是如果您真的想学习编写嵌入式软件,我会选择功能相当强大的开发板,这将允许您将来运行 RTOS。取决于开发板,您可能需要也可能不需要外部编程器(许多开发板板载 USB 编程器)

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

【讨论】:

  • 感谢您的出色回答。任务将是数学计算。老师说第一个任务我应该从矩阵转置开始。
  • 当内存很重要时,我会进行大量 PIC 编程,但 .NET Micro Framework 是开始使用微控制器 IMO 的好方法。除非价格/内存是一个驱动因素,否则我会使用 Visual Studio 和 C# 而不是 Microchip C 编译器。
  • 计算矩阵转置可能是一种非常简单的算法,您可以在 PC 上轻松调试并移植到微控制器。真正的挑战是如何获得要在微控制器中转置的矩阵并得出结果。一种有趣的方法是使用串行端口。学习使用微控制器串行端口将教会很多关于嵌入式系统的知识。您必须实时配置硬件、使用中断和处理数据。
  • 嵌入式分支中的大多数人也将 PIC 视为业余爱好者的玩具......我不建议任何想要学习如何开发现代嵌入式系统的人从在70 年代,以仍然在生产中效率第二低的核心而闻名(8051 是最差的)。
  • @praemdonck:每块 Arduino 板里面都有 AVR,里面有 GCC 编译器。所以,如果一个人想深入挖掘,他可以。
【解决方案2】:
  1. 嵌入式系统大多使用 C 语言编程,部分软件使用汇编语言。因此,如果没有很好的 C 知识(堆栈如何工作,如何修改给定地址的内存内容......)和计算机体系结构(什么是中断,什么是后端缓存,处理器如何启动...)。有很多关于这些的优秀文献,你可以从维基百科开始。

  2. 我对 .NET Micro Framework 了解不多,也不认识任何使用它的人。对于嵌入式系统,您应该只考虑另一种设备,请参见 3。

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

【讨论】:

    【解决方案3】:

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

    Here is a nice online book。它基于一个被称为 68HC12 的过时微控制器,尽管讨论的主题对所有微控制器都是通用的,尤其是关于嵌入式 C 编程的部分。

    (68HC12是摩托罗拉90年代中期开发的,2002年左右就淘汰了在第一个 PIC 之后。仅供参考 PIC 到底有多过时。)

    2) 我听说过一些关于 .NET Micro Framework 的信息。这是解决我问题的最佳方法吗?还有我应该买什么设备来编程(eBay上有很多东西)。

    我专门从事嵌入式系统工作,但从未听说过。所以不......这可能不是一个好主意,听起来像是微软又一次绝望地尝试涉足嵌入式系统。如果我认识他们,那只会是另一种风格的 PC。

    3) 我还看到了许多使用 PIC 微控制器和 C 语言为它们编程的建议。我需要什么设备和什么 IDE?

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

    【讨论】:

      猜你喜欢
      • 2011-05-27
      • 2010-10-08
      • 1970-01-01
      • 2011-05-08
      • 1970-01-01
      • 2011-06-22
      • 2017-03-25
      • 1970-01-01
      • 2017-01-07
      相关资源
      最近更新 更多