编程 Arduino 是否意味着添加固件?

Is programming Arduino means adding firmware?

好吧,与 Raspberry pi 不同,Arduino 不使用 OS 到 运行 用户代码,这让我想知道编程 Arduino 是否意味着为电路板编程固件,因为固件定义是什么 "functionalizes a system" 所以当我们对 Arduino 进行编程时,我们正在创建一个自定义设备,因此它可以在按下按钮或闪烁时打开和关闭 led 或用于基于 Arduino 的 3d 打印机等的 Marlin 固件。

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

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

就像我们在 PC 中刷入 bios 的 install/update EEPROM 固件一样,我们在芯片中刷入 Arduino bootloader。 Arduino 板可以配置为操纵杆,例如,通过刷新 Unojoy 固件。

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

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

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

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