Oprogramowanie układowe to oprogramowanie działające na urządzeniu. Sterownik to oprogramowanie, które informuje system operacyjny, jak komunikować się z urządzeniem. Nie wszystkie urządzenia mają oprogramowanie wewnętrzne - tylko urządzenia o pewnym poziomie inteligencji.
Nie jestem do końca pewien, co masz na myśli ... mówiąc ogólnie, oprogramowanie układowe nie ma nic wspólnego z „uruchamianiem”… Myślę, że może chodzi o to, czy urządzenia z oprogramowaniem zawsze mają zainstalowane oprogramowanie układowe na urządzeniu, czy jest ładowany po czasie uruchamiania. Jeśli o to pytasz, odpowiedź brzmi nie ...
Najczęściej urządzenia z oprogramowaniem układowym mają oprogramowanie zaprogramowane w urządzeniu (z układem ROM lub programowalnym układem ROM), ale istnieją urządzenia, w których oprogramowanie układowe jest ładowane do urządzenia w czasie inicjalizacji. Mogę wymyślić niektóre karty sieciowe i kamery internetowe, które działają w ten sposób, ale jestem pewien, że są też inne.
only devices with some level of intelligence have firmware
? Powiedziałbym, że jest na odwrót, proste (elektroniczne) urządzenia mogą nie mieć systemów operacyjnych, ale mają oprogramowanie wewnętrzne.Oprogramowanie wewnętrzne implementuje szczegóły niskiego poziomu, które są wymagane do obsługi sprzętu, i zapewnia interfejs API / ABI na wyższy poziom. Sterownik urządzenia zapewnia adapter między systemem operacyjnym a interfejsem API / ABI ujawnionym przez oprogramowanie układowe.
źródło
Współczesna definicja lub powszechne użycie oprogramowania układowego nie ma nic wspólnego z konkretną funkcjonalnością oprogramowania. Oprogramowanie układowe to po prostu oprogramowanie przechowywane w nieulotnej pamięci półprzewodnikowej (np. PROM, EEPROM lub flash), a nie w urządzeniu pamięci masowej, takim jak dysk twardy. Przechowywane oprogramowanie może być monolitycznym połączonym plikiem binarnym lub składać się z modułu ładującego, jądra i modułów aplikacji. (OTOH Widziałem niektóre karty tunerów TV dla komputerów PC, które wymagają załadowania „oprogramowania układowego” przez jądro Linuksa w celu zakończenia inicjalizacji.)
Początek tego terminu ma związek z logiką sterowaną przez procesor w porównaniu z logiką przewodową. Oprogramowanie przechowywane na dyskach twardych można łatwo modyfikować i aktualizować. Poprawki i aktualizacje logiki przewodowej wymagały przeprojektowania płyty lub modułu i wymiany. Środkiem ziemi był procesor wykonujący oprogramowanie do sterowania sprzętem. Program został nazwany firma ware odzwierciedla kompromis pomiędzy miękkim ware kontra twardego przewodowej logiki. Pierwotnie oprogramowanie było przechowywane w pamięci ROM, PROM lub EPROM w celu zachowania modułowości płyty. Postępy w EEPROM i układach flash pozwoliły na aktualizację oprogramowania układowego w obwodzie i na pokładzie.
Ponieważ procesory (i urządzenia peryferyjne) stawały się coraz mniejsze, tańsze i wymagały mniej energii, rozszerzono możliwości osadzania ich w każdym urządzeniu / urządzeniu. Aby oprogramowanie do obsługi tych urządzeń było solidne i bezpieczne, oprogramowanie jest przechowywane w układach pamięci flash, a nie na dysku twardym; dzięki temu urządzenie jest mniejsze i znacznie tańsze. Termin oprogramowanie wewnętrzne został rozszerzony, aby objąć całe oprogramowanie urządzeń / urządzeń z wbudowanymi procesorami, nawet jeśli niektóre części przechowywanego kodu nie mogą mieć związku z zastąpieniem logiki przewodowej.
źródło
Ktoś ostatnio opublikował to pytanie , mówiąc:
W rzeczywistości
drivers
znacznik SuperUser jest zdefiniowany:i
firmware
tag jest zdefiniowany:Początkowo myślałem, że
firmware
został zainstalowany bezpośrednio na chipie lub płycie i tam mieszkałem, dlatego należy go „sflashować”, podczas gdy należy zainstalowaćdriver
system operacyjny.Wniosek:
Firmware
pozwala sprzętowi na „robienie” rzeczy idrivers
pozwala oprogramowaniu na interakcję ze sprzętem.źródło