फील्ड-प्रोग्रामेबिलिटी

एक इलेक्ट्रॉनिक उपकरण या अंतः स्थापित प्रणाली को फील्ड-प्रोग्रामेबल या इन-प्लेस प्रोग्रामेबल कहा जाता है यदि इसके फर्मवेयर (अनह्रासी मेमोरी में संग्रहीत, जैसे कि ROM ) को उपकरण से अलग किए बिना या इसके निर्माता को वापस किये बिना "क्षेत्र में" संशोधन किया जा सकता है।

यह अक्सर एक अत्यंत अभीष्ट विशेषता है, क्योंकि यह कंप्यूटर बग या अप्रचलित फर्मवेयर (प्रक्रिया यंत्र सामग्री) के प्रतिस्थापन के लिए लागत और प्रतिवर्तन काल को कम कर सकता है। उदाहरण के लिए, एक डिजिटल कैमरा विक्रेता उपभोक्ताओं को USB केबल के माध्यम से कैमरे में एक नई फर्मवेयर छवि डाउनलोड करने का निर्देश देकर एक नए छवि फ़ाइल प्रारूप का समर्थन करने वाले फ़र्मवेयर वितरित कर सकता है।

इतिहास
जब उपकरण के फर्मवेयर को मास्क रोम या वन-टाइम प्रोग्रामेबल PROM में संचित किया जाता है, तो इस एकीकृत परिपथ को भौतिक रूप से प्रतिस्थापित किये बिना संशोधित नहीं किया जा सकता है, इसलिए इस तरह के उपकरण आधुनिक अर्थों में फील्ड-प्रोग्रामेबल नहीं हो सकते है। व्यामार्जनीय PROM-आधारित फर्मवेयर को मिटाया और पुन:प्रोग्राम किया जा सकता है, लेकिन उच्च तीव्रता वाले पराबैंगनी प्रकाश स्रोत के लंबे समय तक संपर्क के बाद भी रहते हैं।

इस प्रकार, 1980 के दशक में EEPROM और फ्लैश मेमोरी के आविष्कार तक फील्ड-प्रोग्रामेबल उपकरण उपयोगी नहीं थे। प्रारंभिक EEPROMs को केवल मूल्यवान, समर्पित प्रोग्रामर हार्डवेयर के साथ पुन: प्रोग्राम किया जा सकता था, क्योंकि उन्हें उच्च वोल्टेज (10-20 वोल्ट, विशिष्ट 3-5 वोल्ट तर्क स्तरों की तुलना में) की आवश्यकता होती थी और कोई मानक प्रोग्रामिंग संदेशाचार (प्रोटोकॉल) नहीं था; परिणामस्वरूप, फील्ड-प्रोग्रामिंग ज्यादातर व्यावसायिक तकनीशियनों और सेवा इंजीनियरों द्वारा की जाती थी। हालाँकि, 2000 के दशक की शुरुआत में, कई उपकरणों को सामान्य उपभोक्ताओं द्वारा फ़ील्ड-प्रोग्राम किए जाने के लिए स्पष्ट रूप से रूपांकित किया गया था। कई विकासों ने इसे संभव बनाया है:
 * आधुनिक EEPROM और फ्लैश उपकरणों में आंतरिक आवेश पंपन होते हैं जो उच्च वोल्टेज की आवश्यकता को समाप्त करते हैं।
 * अधिकांश उपभोक्ताओं के पास व्यक्तिगत कंप्यूटरों तक पहुंच है, जो स्वेच्छित प्रोग्रामिंग प्रोटोकॉल कर सकते हैं।
 * सर्वव्यापक इंटरनेट अभिगम (एक्सेस) फर्मवेयर छवियों को तेजी से वितरित करने के लिए एक सुविधाजनक साधन प्रदान करते है।

अनह्रासी मैमोरी उपकरणों की प्रोग्रामिंग के लिए मानक प्रोटोकॉल सामने आए हैं। उदाहरण के लिए, JTAG का उपयोग कई उपभोक्ता इलेक्ट्रॉनिक्स उपकरणों में EEPROM और फ्लैश चिप्स को पढ़ने और प्रोग्राम करने के लिए करते है। ऐसे कई उपकरणों में निर्माणी प्रोग्रामिंग और गुणवत्ता नियंत्रण के लिए आंतरिक रूप से JTAG हेडर सम्मिलित हैं, हालांकि तैयार उत्पाद में कोई बाहरी संबंधक नहीं दिखाया गया हो।

प्रोग्राम करने योग्य तर्क
1980 के दशक में PALs, PLAs और CPLDs जैसे प्रोग्रामयोग्य तार्किक उपकरणों (PLDs) की शुरुआत हुई। ये एकीकृत परिपथ हैं जो अनह्रासी मेमोरी में संग्रहीत फ़र्मवेयर जैसी जानकारी के आधार पर लगभग एकतंत्र डिजिटल तर्क फ़ंक्शन लागू कर सकते हैं।

इस प्रकार, PLD वाले उपकरणों को फील्ड-प्रोग्रामेबल हार्डवेयर के रूप में माना जा सकता है, जबकि EEPROM और फ्लैश मेमोरी फील्ड-प्रोग्रामेबल सॉफ्टवेयर के लिए भंडारण के रूप में कार्य करते हैं।

क्षेत्र में प्रोग्राम की जा सकने वाली गेट सरणी (FPGAs) का आविष्कार 1984 में किया गया था, और आज उपलब्ध सबसे उन्नत प्रकार के प्रोग्रामयोग्य तर्क हैं। ये उच्च क्षमता वाले उपकरण माइक्रोप्रोसेसर या डिजिटल सिग्नल प्रोसेसर जैसे बहुत जटिल तर्क को लागू कर सकते हैं। आज, वे डिजिटल इलेक्ट्रॉनिक उपकरणों के विकास और तीव्र प्रस्तरण में एक प्रमुख सहायता हैं। FPGAs का उपयोग अक्सर हार्डवेयर प्रारुप और हार्डवेयर त्वरण के प्रोटोटाइप के लिए किया जाता है।

शौकीन अवसर
कई उपभोक्ता इलेक्ट्रॉनिक उपकरणों (एमपी 3 प्लेयर, विस्तृत बैंड अनुर्मागक (राउटर) ,सेल फोन और डिजिटल कैमरों सहित) में सामान्य उद्देश्य के माइक्रोप्रोसेसर और माइक्रोकंट्रोलर पर आधारित अंतः स्थापित तंत्र होते हैं। इनमें से अधिकांश उपकरणों में फील्ड-प्रोग्रामेबल घटक होते हैं जिन्हें जानकार हार्डवेयर हैकर द्वारा खोजा और अभिगम किया जा सकता है। फील्ड-प्रोग्रामिंग शौकीनों को उपकरण के फर्मवेयर को नए कोड से बदलने की अनुमति देता है जो क्षमताओं को संशोधित या बढ़ा सकता है।

इस तरह के संशोधन के लिए विशेष रूप से अनुकूल पाए जाने वाले उपकरणों के आसपास कई ऑनलाइन समुदाय उभरे हैं। उदाहरण के लिए, iPodLinux और OpenWrt परियोजनाओं ने उपयोगकर्ताओं को क्रमशः उनके MP3 प्लेयर और बेतार अनुर्मागक पर पूर्ण विशेषताओं वाला Linux प्रसार चलाने में सक्षम बनाया है।

हालांकि शौकवादी फील्ड-प्रोग्रामिंग क्रियात्मक रूप से आज किसी भी अंतः स्थापित तंत्र में सैद्धांतिक रूप से संभव है, कार्य प्रणाली में उपभोक्ता उपकरणों को संशोधित करने के प्रयास अक्सर हार्डवेयर के लिए दस्तावेज़ीकरण की कमी से बाधित होते हैं।

यह भी देखें

 * फर्मवेयर
 * JTAG
 * फील्ड-प्रोग्रामेबल गेट सरणी (FPGA)
 * फील्ड-प्रोग्रामेबल रेखीय व्यूह (FPAA) - FPGA की तरह लेकिन रेखीय संकेत के साथ
 * फील्ड-प्रोग्रामेबल रेडियो आवृत्ति उपकरण

बाहरी संबंध

 * UsbAudioHowTo: a guide to converting a wireless router into an Internet radio player, from the OpenWrt project