Прошивка (hex, firmware) ардуино (микроконтроллера atmega) – это скомпилированный (бинарный) файл, загружаемый в плату Arduino (микроконтроллер).
Прошивка не является текстом (исходным кодом) программы (скетча). Файл прошивки обычно имеет расширение HEX.
Читайте дальше, как загрузить прошивку в устройство.
Давайте сравним hex-прошивку и исходный код программы
Преимущество прошивки – это простота её использования и распространения:
- Требуется минимум программ на компьютере,
- Не нужны дополнительные библиотеки,
- Минимум усилий со стороны пользователя,
- Можно копировать с одного устройства на другое *).
Прошивку нельзя отредактировать (или, если быть точным, довольно сложно). Т.е. из прошивки нельзя получить исходный код (INO, C/C++).
Прошивка (HEX) – плюсы и минусы
Плюсы прошивки:
- Легко загружать
- Требуется минимум программ
- Можно копировать *)
- Значительно дешевле для конечного потребителя
- Дешевле в разработке
- Меньше сроки поставки
Минусы прошивки:
- Нельзя редактировать и самостоятельно доработать.
Исходный код (скеч, INO, CPP) – плюсы и минусы
Плюсы исходного кода:
- Можно отредактировать под свои условия
Минусы исходного кода:
- Нужны навыки программирования
- Значительно дороже
- Зачастую требуют установки дополнительных библиотек, определенных версий
- Загрузить обычно сложнее, существуют нюансы, для неопытных программистов.
- Могу быть защищены авторским правом.
*) Прошивка может быть криптографически защищена от копирования. Т.е. для ее использования может потребоваться лицензионный ключ.
Нетрудно убедиться, что, для конечного пользователя устройства, hex-прошивка гораздо выгоднее и удобнее.
Если же Заказчику требуется именно исходный код для коммерческого устройства, да еще и с отчуждением авторских прав, то потребуется заплатить гораздо больше – причем в разы или даже на порядок.
Однако простейшие разработки, школьные и студенческие проекты, проекты с изначально открытым кодом поставляются с исходным кодом и максимально дёшевы для заказа.
Почему прошивки «Дешевле в разработке». Главный ресурс программиста – это время. Разрабатывая прошивку,
- можно использовать любые свои наработки и ноу-хау,
- не нужно компоновать библиотеки,
- не нужно писать комментарии «понятные Заказчику»,
- не нужно дополнительно документировать и консультировать Заказчика по исходному коду.