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

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

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

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

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

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

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

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

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

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

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

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

यह भी देखें

 * फर्मवेयर
 * जेटीएजी
 * फील्ड प्रोग्रामेबल गेट ऐरे (FPGA)
 * फील्ड-प्रोग्रामेबल एनालॉग ऐरे (FPAA) - FPGA की तरह लेकिन एनालॉग संकेत  के साथ
 * फील्ड-प्रोग्रामेबल आरएफ|फील्ड-प्रोग्रामेबल रेडियो फ्रीक्वेंसी डिवाइस

बाहरी संबंध

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