【问题标题】:Starting hardware development [closed]开始硬件开发[关闭]
【发布时间】:2010-02-09 08:03:05
【问题描述】:

我希望开始简单的硬件开发,并希望能够取得足够的进展以从逆向工程中学习。

我想从微控制器开始,并考虑一些,例如 Mbed 和 Arduino。我应该带什么?

我在想可能是 mbed,因为它具有 USB 和以太网等功能,但我真的不知道 Arduino 有什么。得到公共汽车海盗(因为它更便宜)也可以吗?

我真的不想在基础编程;我目前的视差控制器很痛苦!

【问题讨论】:

  • 欢迎来到 SO!为了清晰和惯例,我已经清理了你的帖子;你会注意到 SO 有一定的风格。特别是您应该省略称呼和签名,并尽可能清楚地说明您提出的问题。
  • 你的目标是什么?学习组装?

标签: reverse-engineering microcontroller hardware-design


【解决方案1】:

我不能推荐Arduino。非常容易设置和编程,100% 开源,您可以使用 C、C++、Wiring 对其进行编程,那里有大量教程,大多数都写得很好且易于理解,您可以与之交流via OSC(这意味着您可以通过 Processing、Quartz Compositor、LibLO 等通过网络发送和接收命令)。

查看40 Arduino projects 的此链接以了解可能的情况。

【讨论】:

    【解决方案2】:

    我真的建议您从 Microchip 微控制器开始。它们价格便宜,架构简单,并且开发工具是免费的。 您必须使用 Assembler 或 C 进行编程(我强烈推荐使用 Assembler 来完成此任务)。

    【讨论】:

    • +1:8 位 PIC 微控制器和 C(如果你有胆量的话也可以组装)是一个很好的起点。
    • 我觉得将汇编用于 8 位微控制器有很多好处。 C 是多余的,使用 8 位微控制器,您希望接近硬件。当然,这是一次美妙的教育体验。
    • +1 喜欢这些照片。便宜,你可以花不到一美元买到其中的一些。带 USB 约 2 美元。虽然我不同意@Raphael,但 C 是要走的路,而且绝对不会矫枉过正。
    • 我必须同意,PIC 很棒,我不确定其他芯片使用它,但很多 PIC MCU 是 ICSP 编程的,只需一个简单的 PICKit 1 就可以编程一个好的各种芯片,我使用 C,但我同意汇编确实可以在某些事情上启发你,如果你能花时间学习它。
    【解决方案3】:

    获得一个 Arduino。

    设置工具链并开始编写工作代码非常简单。它们很便宜,而且所有工具都是开源的。由于它使用的是带插座的 DIP 芯片,如果您将芯片炸掉,您可以轻松更换它,您也可以将已编程的芯片粘贴到您的设计板上。

    至于 mbed,您真的想依赖他们的网络应用程序来编译您自己的软件吗?

    【讨论】:

      【解决方案4】:

      微控制器的选择取决于多种因素:

      • 您需要什么样的接口?
      • 您需要多少性能? (例如,您是否需要做任何计算密集型的事情,例如运行 DSP 算法)
      • 您可能需要多少内存?
      • 功耗重要吗? (即您是否正在考虑使用电池供电的应用?)
      • 您想使用什么编程语言、开发环境、工具等? (可能像汇编程序一样简单,调试功能很少或没有,直到交叉编译器、JTAG 调试器等)
      • 您有什么样的预算?

      【讨论】:

      • * 我对逆向工程很感兴趣(IE 找出一些有用的东西并让它做一些不应该做的事情)* 因为我是初学者,所以我不需要那么多性能。但我确实需要可扩展性,我可以慢慢工作。只要我有功能。 * 我真的不知道我需要多少内存。看到我刚刚开始。不知道什么需要什么。 * 电源真的不是问题。我可以轻松弥补任何缺乏动力 * 我知道一点 c 和一些 cpp,所以我希望坚持使用它们。 * 相当低。我正在看或低于 100 美元
      • 如果逆向工程是主要目标,那么您可能想要选择一个与您想要逆向工程的设备类型相似的微控制器。例如。如果你想对 Apple iPod Touch 进​​行逆向工程,那么你可能会想要一个 ARM CPU,也许是一个低成本的 ARM 评估板。
      • 嗯,好的,作为一个初学的微控制器,能推荐Mbed或者Arduino吗?你认为使用类似于公共汽车海盗的东西会是另一种选择吗?
      • Bus Pirate 是 PIC,Mbed 是 ARM,Arduino 是 AVR - 它们看起来都非常相似,但使用不同的 CPU 系列。无论您选择哪种方式,您都会获得很多乐趣并学到很多东西,但是如果您有一个特定类型的应用程序需要逆向工程,那么您需要在 CPU 系列和接口等方面选择接近该类型的应用程序。
      【解决方案5】:

      我强烈推荐 ARM 的mbed 真的很容易上手。已经为大多数常见应用程序提供了许多库(它相对较新),并且它具有“多云”编译器,这意味着它是基于 Web 的,只要您可以访问互联网,您就不需要安装任何额外的软件在您的计算机上上网,在在线 IDE 中编写您的 C 代码,它会为您编译它,您只需下载 .bin 并将其复制到您的 mbed 中。它非常易于使用,社区也很有帮助。

      【讨论】:

        【解决方案6】:

        我建议从 PIC 微控制器开始,因为它们易于理解程序。开发工具免费,芯片编程器便宜。

        后来,当您对这些概念更加熟悉时,会转到 ARM 系列,因为它们便宜且功能强大。

        【讨论】:

          【解决方案7】:

          arduino 很好,我很喜欢 atmel,但不喜欢 avr 指令集。尤其是 avr 和 arduino 非常受欢迎。 sparkfun.com 的 lillypad 和额外的 USB 转串口/电源是一个很好的组合,不需要焊接,你可以马上开始玩,单 USB 连接器,价格更低。 arduini pro mini,类似,但需要一些焊接才能使用它(或悬挂电线)。我会推荐cordium armmite pro,它是lpc,不是atmel,而是arduino,如果你走这条路,应该与其他arduino外围设备配合使用。你绝对不需要它附带的基本解释器,很容易清除它并使用 lpc 引导加载程序来加载你自己的程序(参见 lpcstuff.blogspot.com)。我是/曾经是反lpc,但在我得到它后立即将它退役到拒绝堆后的最后一两天碰巧玩了mbed。蓝色的 LED 仍然让我头疼,但好消息是你并没有被他们的沙盒 Web 开发所束缚。您可以像使用 arduino 和 armmite pro 一样轻松推出自己的程序。 mbed 的好处是可以像闪存驱动器一样安装,您可以将 .bin 文件复制到设备并按下按钮加载它。没有变得更容易。另一种是 sam7s-256。 Olimex(请注意,所有这些项目都可以在 sparkfun.com 上获得)我指的是 sam7s-h256 或 sam7s-h64 头板。这是一个atmel arm芯片。 Atmel 对开发人员很友好,任何 avr 用户都会告诉你,sam-ba 现在可以在 linux 上运行,这对我来说是一个要求,它只是一个做得很好的芯片和电路板,可以用于很多事情。臂板将很容易超过 arduino/avr 板,尽管在这些形式因素中要贵一些。 msp430 系列是另一个不错的产品,直接从 TI 获得 ez430,三包附加板另外需要 10 美元,基本上是四块板,价格为上述项目之一或一半的价格)。非常好的指令集,好的工具(gcc 4.x,llvm)。我会避免这张照片,当然,包括我自己在内的很多人,从整体用户的角度来看,从价格合理的易于使用的板的数量、易于查找和使用的工具、支持小组、示例网页的角度来看,我会在一张照片上咬牙切齿,他们只是无法与 arm 和 avr 竞争。而且他们的指令集比8051差得多,这很糟糕。 pic32 是 mips 是另一回事,仍然没有很好的封装和用户友好,但指令集不再是主要问题。

          【讨论】:

          • 我有一个新的最爱。 stm43f4 发现。不到 20 美元,它就被塞满了,带有浮点的 cortex-m4、缓存、许多 uart、大量 I/O 等等……我把我的 mbed 板移到一边,把这个放在桌子上…… .
          【解决方案8】:

          Arduino 很棒,简单又便宜,网上有很多文档和示例,但我更喜欢 MBed,功能强大、速度更快、内存更大、在线编译器、板载以太网和多任务处理官方支持的库.

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2010-09-30
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2010-09-05
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多