Programowalność w terenie

urządzenie elektroniczne lub system wbudowany jest programowalny w terenie lub programowalny w miejscu, jeśli jego oprogramowanie układowe (przechowywane w pamięci nieulotnej , takiej jak ROM ) może być modyfikowane „w terenie”, bez demontażu urządzenia lub zwracania go do jego producent.

Jest to często niezwykle pożądana funkcja, ponieważ może zmniejszyć koszty i skrócić czas wymiany wadliwego lub przestarzałego oprogramowania układowego. Na przykład aparatu cyfrowego może dystrybuować oprogramowanie układowe obsługujące nowy format pliku obrazu , instruując konsumentów, aby pobrali nowy obraz oprogramowania układowego do aparatu za pomocą kabla USB .

Historia

Gdy oprogramowanie układowe urządzenia jest przechowywane w pamięci ROM maski lub jednorazowej programowalnej pamięci PROM, nie można go modyfikować bez fizycznej wymiany układu scalonego , więc takie urządzenie nie może być programowane przez użytkownika we współczesnym sensie. Wymazywalne oprogramowanie układowe oparte na PROM można wymazać i przeprogramować, ale tylko po długiej ekspozycji na źródło światła ultrafioletowego o dużej intensywności.

Tak więc urządzenia programowalne przez użytkownika nie były praktyczne aż do wynalezienia pamięci EEPROM i pamięci flash w latach 80. Wczesne pamięci EEPROM można było przeprogramować tylko za pomocą drogiego, dedykowanego sprzętu do programowania , ponieważ wymagały one wysokich napięć (10-20 V , w porównaniu z typowymi poziomami logicznymi 3-5 V ) i nie było standardowego protokołu programowania ; w rezultacie programowanie w terenie było wykonywane głównie przez profesjonalnych techników i inżynierów serwisu. Jednak od początku XXI wieku wiele urządzeń zostało specjalnie zaprojektowanych do programowania w terenie przez zwykłych konsumentów. Umożliwiło to kilka wydarzeń:

Pojawiły się standardowe protokoły programowania urządzeń z pamięcią nieulotną. Na przykład JTAG może być używany do odczytywania i programowania układów EEPROM i Flash w wielu urządzeniach elektroniki użytkowej . Wiele takich urządzeń zawiera wewnętrznie nagłówki JTAG do programowania fabrycznego i kontroli jakości , mimo że żadne zewnętrzne złącze nie jest odsłonięte w gotowym produkcie.

Programowalna logika

W latach 80. wprowadzono programowalne urządzenia logiczne (PLD), takie jak PAL , PLA i CPLD . Są to układy scalone , które mogą realizować niemal dowolne cyfrowe funkcje logiczne oparte na informacjach podobnych do oprogramowania układowego przechowywanych w pamięci nieulotnej.

sprzęt programowalny przez użytkownika , podczas gdy pamięć EEPROM i pamięć flash służą do przechowywania oprogramowania programowalnego przez użytkownika .

Programowalne przez użytkownika macierze bramek (FPGA) zostały wynalezione w 1984 roku i są obecnie najbardziej zaawansowanym rodzajem programowalnej logiki. Te urządzenia o dużej pojemności mogą realizować niezwykle złożoną logikę, taką jak mikroprocesory lub cyfrowe procesory sygnałowe . Dziś są wielką pomocą w rozwoju i szybkim wdrażaniu cyfrowych urządzeń elektronicznych. Układy FPGA są często używane do prototypowania projektów sprzętowych i akceleracji sprzętowej .

Możliwości hobbystów

Wiele konsumenckich urządzeń elektronicznych (w tym odtwarzacze MP3 , routery szerokopasmowe , telefony komórkowe i aparaty cyfrowe) zawiera wbudowane systemy oparte na mikroprocesorach i mikrokontrolerach ogólnego przeznaczenia . Większość z tych urządzeń zawiera komponenty programowalne przez użytkownika, które mogą być zlokalizowane i dostępne dla doświadczonych hakerów sprzętowych . Programowanie w terenie umożliwia hobbystom wymianę oprogramowania układowego urządzenia na nowy kod, który może modyfikować lub rozszerzać jego możliwości.

Wokół urządzeń, które szczególnie sprzyjają takim modyfikacjom, powstało wiele społeczności internetowych. Na przykład iPodLinux i OpenWrt umożliwiły użytkownikom uruchamianie w pełni funkcjonalnych dystrybucji Linuksa odpowiednio na ich odtwarzaczach MP3 i routerach bezprzewodowych.

w praktycznie każdym systemie wbudowanym, w praktyce próby modyfikacji urządzeń konsumenckich są często utrudniane przez brak dokumentacji sprzętu .

Zobacz też

Linki zewnętrzne