【问题标题】:Micro controllers need some direction (beginner) [closed]微控制器需要一些指导(初学者)[关闭]
【发布时间】:2013-02-23 21:29:22
【问题描述】:

您好,我无法真正找到我正在寻找的信息,所以我决定问一下。我正在寻找使用微控制器进行嵌入式编程,但我不知道从哪里开始。可能的选择是巨大的。最终我的目标是开始一个爱好项目,最终开发我自己的微型嵌入式操作系统。

考虑到这个目标,您会推荐什么控制器?

  1. 应该允许使用 ASM(我想了解处理器的工作原理)
  2. 在您可以使用它创建的内容方面具有相当大的灵活性。例如,用它构建一台迷你电脑。
  3. 拥有可供初学者学习的可靠资源。

由于受欢迎,我倾向于使用 Arduino,但我听说 PIC 也不错。

【问题讨论】:

  • 如果你想构建一个完整的带有操作系统的嵌入式计算机,ARM 板可能是更好的选择。
  • 我倾向于同意您的评论,但由于复杂性增加,从初学者的角度来看,ARM 更难让您了解。除非有很好的入门文档。
  • 按照复杂度的顺序,我想说 Arduino 对初学者来说是最简单的,而且与爱好相关。更复杂但对初学者来说仍然很容易理解的是图片。它们允许您从单个芯片构建并涉及硬件和软件学习。最复杂的是 ARM 芯片,但它们也是最强大的,只有在您计划进入大型多任务或图形应用程序时才需要。你可以用 Arduino 或 PIC 做很多事情。
  • 你会说 arduino/pic 能够做一个可能只有少量功能的非常简单的操作系统,或者可能是一个简单的设备来做一个 8 位游戏男孩风格的游戏吗?这些只是想法,因为在我达到这一点之前还有很多东西需要我学习。
  • 我在 Arduino 方面不能说太多,但我在 PIC 方面做了很多工作,您可以开始学习小型 8 位 PIC,这些 PIC 可以直接插入面包板进行学习。随着您变得更加舒适,您可以一直工作到 32 位 PIC。我有一个带有 PIC32 的开发板,它同时处理 HTTP Web 请求、服务 USB 端口并将文件 I/O 到 SD 卡,因此它们非常有能力。如果您最终选择了 PIC 路线,我很乐意在我能提供的地方提供帮助。请参阅我的个人资料以获取电子邮件地址。祝你好运。

标签: embedded arduino pic


【解决方案1】:

关于 Arduino 的重点在于它不是微控制器。它是一个开放硬件/开源项目,用于开发板和开发工具,使学习和创建嵌入式系统变得简单。从这个意义上说,它可能满足您的需求。

Arduino 最初使用的是 AtmelAVR 微控制器,但新的 Arduino Due 使用的是 Atmel SAM3X8E ARM Cortex-M3。

在这种情况下,无论如何我都会推荐 ARM 设备,所以也许 Arduino Due 适合你,但是还有许多其他 ARM 板设计具有类似的支持生态系统,例如 BeagleBoardPandaBoard以及超低的成本Raspberry Pi。后者已经是运行 Linux 的“小型计算机”,因此可能过于抽象,无法轻松学习嵌入式系统和微控制器。

使用 ARM 的优势在于它无处不在,从 10 兆赫兹的能力和小型 RAM/闪存部件到运行 > 1GGz 的应用处理器。 ARM 不会制造混乱,他们将架构授权给其他制造商,因此许多供应商使用不同的专有外设集和针对不同的目标应用程序制造 ARM 部件,因此您总能找到符合您需求的 ARM 部件。

我不一定推荐 PIC,零件由单一供应商制造,指令集不一致,说 PIC18、PIC16、PIC18、PIC24 和 PIC32 之间存在显着的架构差异 - 后者实际上完全不同即前面的 PIC 架构。低端 PIC 设备不太适合高级语言开发。虽然这可能使学习汇编程序变得容易,但在使用 C 或 C++ 编码时确实会出现妥协。另一方面,AtmelAVR(在 Arduino 中使用)具有专门设计用于支持高效 C 和 C++ 编译的指令集。

【讨论】:

    【解决方案2】:

    这听起来很时髦。但 Arduino 非常适合初学者。它的 IDE 使事情变得简单。您可以包含您的程序集或编写您自己的 C++。作为 gcc 之上的包装器,为您提供与更大芯片相同的工作原理。这样当您成长为 MAKE 和 Eclipse 时,您就可以从方便的 IDE 中扩展您的技能。除了为更大的芯片提供一条不错的路径。

    使用其他库并对其进行调整以弄脏您的手指。以及可以学习的想法。

    【讨论】:

    • 你说得很好,但我可能会选择 make/console/vim 开发风格,因为我已经习惯了那个工具链。您确实对 Arduino 的灵活性提出了很好的看法。
    • Arduino 很棒,初学者上手也很简单,但要注意 IDE 在简单性之下隐藏了很多工具链的复杂性。如果您想隐藏起来,这可能是一个很大的飞跃。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-07-31
    • 1970-01-01
    • 2010-09-06
    • 2012-07-20
    • 2010-09-23
    • 2019-05-16
    • 2012-03-28
    相关资源
    最近更新 更多