【问题标题】:Is programming Arduino means adding firmware?编程 Arduino 是否意味着添加固件?
【发布时间】:2019-12-11 12:17:30
【问题描述】:

好吧,与 Raspberry pi 不同,Arduino 不使用操作系统来运行用户代码,这让我想知道编程 Arduino 是否意味着为电路板编程固件,因为定义固件是“使系统功能化”的东西,所以当我们对 Arduino 编程时,我们正在创建一个自定义设备,因此无论是在按下按钮时打开和关闭 LED,还是为基于 Arduino 的 3D 打印机等闪烁或 Marlin 固件。

所以我的问题是对 Arduino 进行编程意味着对电路板固件进行编程,而所有 Arduino 草图本质上都是固件吗?

【问题讨论】:

标签: arduino firmware


【解决方案1】:

根据定义,固件是指编程到只读存储器中的永久软件。因此,Arduino 中使用了两类固件:I) Bootloader II) 用户自定义固件。

就像我们在 PC 中刷机以安装/更新 BIOS 的 EEPROM 固件一样,我们在芯片中刷机 Arduino 引导加载程序。可以将 Arduino 板配置为操纵杆,例如,通过刷新 Unojoy 固件。

在微控制器(Atmega328)芯片上,定制固件(十六进制)被烧录在闪存上。 Arduino IDE 允许在更高级别编程和转换为十六进制以加载到微控制器时轻松对固件进行编程。

【讨论】:

  • 我认为这总结了它,所以简单地说,基本上所有的 Arduino 草图都是固件!
  • 是的,转换成十六进制代码后的草图被烧录到芯片中,因此不会易失。
【解决方案2】:

我会将固件定义为产品的软件。

如果是 Arduino 板,则固件是引导加载程序和 USB 芯片中的固件。但主要的应用是让你播放和上传非固件的草图。

如果您为基于 Arduino 板的产品创建软件,例如 3D 打印机、网络协控制器、特殊 HID 设备,那么您加载到该设备 MCU 的软件就是固件。

【讨论】:

    猜你喜欢
    • 2019-05-28
    • 2018-07-12
    • 2014-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-17
    • 1970-01-01
    • 2019-03-10
    相关资源
    最近更新 更多