Відповіді:
Прошивка - це програмне забезпечення, яке працює на пристрої. Драйвер - це програмне забезпечення, яке повідомляє вашій операційній системі, як спілкуватися з пристроєм. Не всі пристрої мають прошивку - лише пристрої з певним рівнем інтелекту.
Я не точно впевнений, що ви маєте на увазі ... Взагалі кажучи, вбудована програма не має нічого спільного з "завантаженням" ... Я думаю, можливо, те, що ви запитуєте, чи потрібно, щоб пристрої з прошивкою завжди встановлювали прошивку на пристрої, або завантажується він після часу завантаження. Якщо це те, що ви запитуєте, відповідь - ні ...
Найчастіше пристрої з вбудованим програмним забезпеченням мають вбудовану програму (або з мікросхемою ROM, або з програмованим чіпом ROM), але є деякі пристрої, на яких прошивка завантажується в пристрій під час ініціалізації. Я можу придумати деякі мережеві карти та веб-камери, які працюють таким чином, але я впевнений, що є й інші.
only devices with some level of intelligence have firmware
? Я б сказав, що навпаки, прості (електронні) пристрої можуть не мати операційних систем, але вони мають прошивку.
Прошивка реалізує деталі низького рівня, необхідні для роботи з обладнанням, та надає API / ABI на більш високий рівень. Драйвер пристрою надає адаптер між ОС та API / ABI, які піддаються прошивці.
Сучасне визначення або звичайне використання вбудованого програмного забезпечення не має нічого спільного з конкретною функціональністю програмного забезпечення. Прошивка - це просто програмне забезпечення, яке зберігається в енергонезалежній напівпровідниковій пам'яті (наприклад, PROM, EEPROM або спалах), а не в пристрої масового зберігання, наприклад, на жорсткому диску. Збережене програмне забезпечення може бути монолітним бінарним файлом або складатися з модулів завантажувача, ядра та додатків. (OTOH Я бачив декілька карт ТВ-тюнерів для ПК, які потребують завантаження "прошивки" ядром Linux, щоб завершити ініціалізацію.)
Походження терміна пов'язане з керованою процесором логікою та жорсткою провідною логікою. Програмне забезпечення, що зберігається на жорстких дисках, можна легко змінювати та оновлювати. Редагування та оновлення жорсткої провідної логіки вимагають оновлення та заміни плати чи модуля. Середнє місце було процесором, що виконує програмне забезпечення для управління обладнанням. Програмне забезпечення називалося фірмовим посудом для відображення середнього рівня між м'яким посудом та жорсткою провідною логікою. Спочатку мікропрограмне забезпечення зберігалося в мікросхемах ROM, PROM або EPROM, щоб зберегти модульність плати. Просування EEPROM та флеш-мікросхем дозволяло вбудовуватись та підтримувати оновлення мікропрограмного забезпечення.
Оскільки процесори (і периферійні пристрої) ставали меншими, дешевшими і менше споживали енергію, розширювались можливості їх вбудовування в усі види пристрою / пристрою. Для того щоб зробити програмне забезпечення для управління цими пристроями надійним та надійним, програмне забезпечення зберігається у мікросхемах флеш-пам’яті, а не на жорсткому диску; це також робить пристрій меншим і набагато дешевшим. Поняття прошивки було розширено, щоб охопити все програмне забезпечення в пристроях / пристроях із вбудованими процесорами, хоча деякі частини збереженого коду не могли мати ніякого відношення до заміни жорсткої провідної логіки.
Хтось опублікував це питання нещодавно , сказавши:
Прошивка - це поєднання стійкої пам'яті, програмного коду та даних, що зберігаються в ньому. Типовими прикладами пристроїв, що містять вбудовану програму, є вбудовані системи, такі як світлофори, побутова техніка, цифрові годинники, комп'ютери, комп'ютерна периферія, мобільні телефони та цифрові камери. Прошивка, що міститься в цих пристроях, забезпечує програму управління пристроєм.
Насправді drivers
тег SuperUser визначений:
Драйвер, який також називають драйвером пристрою або драйвером програмного забезпечення - це програмне забезпечення, яке дозволяє комп'ютерним програмам вищого рівня взаємодіяти з апаратним пристроєм. Коли комп'ютерна програма вимагає взаємодії з певним апаратним пристроєм, драйвер буде обробляти інструкції та виводити трансляцію між пристроєм та комп'ютерною програмою, що викликає драйвер.
і, firmware
тег визначено:
Загалом, відмінність програмного забезпечення та програмного забезпечення - рівень, на якому він взаємодіє з обладнанням. Прошивка взаємодіє на дуже низькому рівні апаратного забезпечення, тоді як програмне забезпечення взаємодіє на високому рівні. Прошивка, як правило, контролює основні терміни, елементи керування та функціональність обладнання.
Спочатку я думав, що він firmware
був встановлений на мікросхемі чи платі безпосередньо і жив там, тому його потрібно "спалахнути", тоді як ви встановили б driver
поверх операційної системи.
Висновок:
Firmware
дозволяє апаратному забезпеченню "робити" речі та drivers
дозволяє програмному забезпеченню взаємодіяти з обладнанням.