【问题标题】:Programming Microcontrollers [closed]编程微控制器[关闭]
【发布时间】:2014-07-21 21:52:47
【问题描述】:

我在大学上过一门关于用汇编编程微控制器的课程。我们有一个通过学校提供给我们的微控制器,以及用于对微控制器进行编程的 IDE。

那么是否可以使用微控制器(例如电视遥控器)抓取任何随机电路并对控制器进行编程?我在网上找了很久,没有找到任何相关信息。

【问题讨论】:

  • 如果你能找出处理器的实际类型,知道它所连接的硬件是如何工作的,并且能找出它的汇编器(不是所有的微控制器都使用相同的汇编器),你可能会能够重新编程它。不过,这需要的不仅仅是普通知识。
  • 所以我需要原理图,并且知道控制器的类型?
  • 现在越来越少见,学术界不知道,每个人都使用 C 编译器。一个交叉编译器。 Keil 是 20 磅重的大猩猩,也有开源工具。不,它永远不会是随机的。
  • @ChaseErnst:是的,当然。硬件可能会有很大差异。
  • 就像鲁迪说的,如果你知道硬件的细节是可能的。但是,我建议从 Arduino 之类的东西开始,而不是打开你的电视遥控器。 arduino 社区拥有大量资料,可让您的学习更轻松。您不仅可以找到电路板的原理图,还可以找到引导加载程序、示例代码、实际工作的演示应用程序等。如果您能找到电视遥控器的这些详细信息,我会感到惊讶。

标签: c assembly embedded microcontroller


【解决方案1】:

这取决于制造商使用的微控制器类型。有很多 One-Time Programmable 微控制器可用,您将无法重新编程。感谢@dwelch 指出这些。

如果制造商使用可重新编程的微控制器,那么通常是的,您可以。他们可能会使用lock bits 来阻止您下载和反向工程编译的代码,但您仍然应该能够擦除和重新编程它们。

有人可能会使用一些技巧,让您重复使用可重新编程的芯片变得更加困难,但并非不可能。例如,在 Atmega AVR 芯片上,您可以设置一个保险丝,将 RESET 引脚变为 GPIO。系统内重新编程需要 RESET 引脚,因此您必须从板上移除芯片并使用use some more complicated 技巧来恢复重新编程芯片的能力。

【讨论】:

  • OTP 一次性可编程,已经存在很长时间了,无法对其重新编程......由于价格等原因,在批量生产的产品(如电视遥控器、时钟等)中是更好的选择。
  • 谢谢@dwelch。一看到你的评论,我就意识到我所做的愚蠢的疏忽。我已经习惯了在学校和小型项目中使用可重新编程的微控制器,我忘记了生产世界。
  • 也可能是必要的器件编程引脚不可访问或不可识别——尤其是在多层板上的 BGA 器件上。
【解决方案2】:

微控制器 (MCU) 不适用于将电路/原理图纳入其中,为此目的,发明了 FPGA,您可以通过 VHDL 和 Verilog 等语言在 TTL 逻辑级别描述电路/原理图。 MCU与一般CPU几乎相同,它们本身包含在电子电路/原理图中,并通过通信端口、通用输入输出引脚、总线和接口与外部电路进行交互。

因此,为了创建电视遥控器,您不需要 100% 重复其中任何一个电路,而是需要专注于目标电视机,它的 Infrared Format(s)。其中有很多,请自行搜索。

而您只想实现相同的功能(但不是复制)。简而言之,您的设计是:MCU 通过自己的串行线连接到 IR 收发器,例如this CS8130,但是有很多来自不同公司的,你再搜索一下。

然后您可以向您的电视机发送 IR 命令 - 根据您的电视中使用的格式发送一系列 1 和 0。

【讨论】:

    猜你喜欢
    • 2010-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多