फर्मवेयर कोड या डेटा है?


29

जब कोई कहता है कि वे एक डिवाइस के लिए "फ्लैश" फर्मवेयर करते हैं, तो मैं उत्सुक हूं कि यह वास्तव में क्या है।

  1. क्या फर्मवेयर सिर्फ एक देशी बाइनरी है जिसे मेमोरी में संग्रहीत किया जाता है और जिसे डिवाइस के सीपीयू (जैसे कंप्यूटर पर किसी अन्य ईएक्सई) द्वारा व्याख्या किया जा सकता है? या फर्मवेयर सिर्फ डेटा है जो डिवाइस पर पहले से हार्डकोड / वायर्ड एक अपरिवर्तनीय कार्यक्रम के इनपुट के रूप में कार्य करता है?
  2. यदि बाद का उदाहरण फर्मवेयर नहीं है, तो आप इसे क्या कहेंगे? उदाहरण के लिए, मान लें कि किसी डिवाइस पर कुछ बाइनरी ( someapp.exe) है, और आप इस बाइनरी को हटा या संशोधित नहीं कर सकते हैं। बाइनरी, जब भागा जाता है, तो मेमोरी चिप से इनपुट लेता है। आप डेटा को इस चिप में "फ्लैश" कर सकते हैं, और इस प्रकार इनपुट / कॉन्फ़िगरेशन को someapp.exeप्रभावित करेगा जो अगली बार चलने पर प्रभावित होगा। यदि फर्मवेयर नहीं है, तो इसे क्या कहा जाएगा?

12
यह वास्तव में एक अच्छा सवाल है। यह "मेरा टोस्टर टोस्ट नहीं है की चिकनाई से एक अच्छा ब्रेक है। क्या मैं इसमें अरडिनो डाल सकता हूं?" प्रशन।
जेसन__बैंस

17
ठीक है, इस सवाल का होगा अच्छा, नहीं तो उस में प्रमुख दोष हो: कोड है डेटा, और डेटा हो सकता है कोड - जहाँ तक वॉन न्यूमैन आर्किटेक्चर / मॉडल संबंध है। इस प्रकार, पूरा प्रश्न व्यर्थ है - चूंकि कोड हो सकता है (और, आमतौर पर ) डेटा के रूप में माना जाता है और इसके विपरीत; ओपी को भी: en.wikipedia.org/wiki/Firmware की जांच क्यों नहीं ? यह जबकि, इस प्रकार है - यह जवाब यह बहुत ही सवाल का, और फर्मवेयर के विषय में कई अन्य चीजों के लिए है है से सवाल "मैं 230V सॉकेट में एक 12 वी प्रकाश बल्ब प्लग कर सकते हैं" एक अच्छा तोड़ यह अभी भी मेरी किताब में उप बराबर है, .. ।
vaxquis

2
मुझे पूरा यकीन है कि यहाँ उत्तर "हाँ" है।
कॉनर वुल्फ

7
मशीन कोड सीपीयू की अपरिवर्तनीय वायरिंग के लिए सिर्फ डेटा इनपुट है।
user253751

2
एक पुस्तक शब्द या अक्षर है?
निक टी।

जवाबों:


27

अक्सर ऐसी परिभाषाओं के साथ, हम ज्यादातर मामलों में सहमत होते हैं, लेकिन फर्मवेयर क्या है और क्या नहीं है, के बीच वास्तव में कोई ठोस सीमा नहीं है। फर्मवेयर है

  • स्थायी रूप से संग्रहीत (कुछ जानकार को छोड़कर जो इसे बदल सकता है ...)
  • बदलने का इरादा नहीं है (को छोड़कर ...)
  • अन्य सॉफ्टवेयर की मदद के बिना प्रोसेसर पर काम करता है (को छोड़कर ... आपको मिलता है?)

डेटा के रूप में व्याख्या की गई है (फर्मवेयर) दुभाषिया: यह अक्सर एक पेशेवर सेटिंग में नहीं किया जाता है, क्योंकि यह उत्पाद को अधिक महंगा बनाता है: एक ही अंतिम लक्ष्य को प्राप्त करने के लिए अधिक मेमोरी, सीपीयू पावर, आदि की आवश्यकता होती है। यह है तथापि कभी कभी, शौकिया सेटिंग में इस्तेमाल अक्सर फ्लैश में एक बेसिक दुभाषिया के साथ, और एक (tokenized) मूल आवेदन (भी या फ़्लैश में) EEPROM में जमा। उदाहरण के लिए PICAXE और विभिन्न बुनियादी टिकटों की जाँच करें।

IMO ऐसी सेटिंग में बेसिक दुभाषिया और बेसिक एप्लिकेशन दोनों को फर्मवेयर कहा जाना चाहिए।


फर्मवेयर इंटरप्रेटर का एक दिलचस्प उपयोग जो संग्रहीत कोड की व्याख्या करता है (जिसे IMO को फर्मवेयर भी माना जाना चाहिए) XBOX 360 स्टार्टअप है। यह उत्कृष्ट बात कुछ विस्तार से इसका वर्णन करती है।


MSalters के नीचे आश्चर्य है कि FPGA कोड / कॉन्फ़िगरेशन डेटा को फर्मवेयर माना जाना चाहिए या नहीं।

उन पहलुओं में जो सबसे अधिक मायने रखते हैं (यह ऐसी जानकारी है जो उत्पादन प्रक्रिया में देर से होती है, लेकिन अंतिम उपयोगकर्ता द्वारा इसे बदलने का इरादा नहीं है) FPGA बिट्स फर्मवेयर की तरह व्यवहार करते हैं। यही कारण है कि सवाल यह है कि यह बनाता है किसी भी परिभाषा के अनुसार विवादास्पद फर्मवेयर। महत्वपूर्ण बात यह है कि यह फर्मवेयर की तरह लिखा, और संभाला जा सकता है। (अगर यह बत्तख की तरह चलता है और चलता है, तो क्या यह बत्तख है?)

जब वे उपयोगी न हों तो परिभाषाओं से परेशान न हों। क्या माइक्रोकोड फर्मवेयर है? प्रतिनिधित्व मायने रखता है? क्या संदर्भ मायने रखता है? IWM फर्मवेयर के लिए ROM बिट्स हैं?


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


मैं अब सोच रहा हूँ कि क्या एक FPGA प्रोग्राम फर्मवेयर के रूप में गिना जाता है। सहज रूप से, हाँ, लेकिन यह एक प्रोसेसर पर काम नहीं करता है। और फिर भी यह बिट्स का एक शास्त्रीय मामला है जो कोड और डेटा के बीच आधे हैं।
MSalters

TI 99/4 कंप्यूटर (1979) में GPL नामक भाषा के लिए ROM में एक दुभाषिया, और GPL में लिखा गया एक BASIC दुभाषिया शामिल था। जीपीएल की एक अनिवार्य विशेषता यह थी कि यह जीओएम चिप्स में संग्रहीत कोड चला सकता था (जो मुख्य रूप से अनुक्रमिक पहुंच के लिए डिज़ाइन किया गया था और यादृच्छिक-अभिगम रॉम की तुलना में भौतिक रूप से छोटा और सस्ता बनाया जा सकता है) इसलिए टीआई 99/4 को एक द्रव्यमान के रूप में देखा जा सकता है। -मार्केट पर्सनल कंप्यूटर जिसका डिजाइन बेसिक स्टैम्प के अनुरूप है।
18

14

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


धन्यवाद @ लीलर हेलर (+1) - ऊपर दिए गए 2 उदाहरण के लिए एक नाम है, जहां एक चिप पर एक निश्चित बाइनरी के लिए अनिवार्य रूप से "चमकती" इनपुट डेटा है? या यह आमतौर पर अभ्यास नहीं है? एक बार फिर धन्यवाद!
HeineyBehinds 19

यह सिर्फ डेटा है। इसे वाष्पशील या बिना वाष्पशील मेमोरी में संग्रहित किया जा सकता है।
लियोन हेलर

मैं आपके # 2 के लिए जिस शब्द का उपयोग करूंगा वह "लुक-अप टेबल" होगा। एक उदाहरण जो मैं सोच सकता हूं कि एक संख्यात्मक रूप से नियंत्रित थरथरानवाला के लिए उपयोग किए जाने वाले साइन फ़ंक्शन मान होंगे।
kjgregory

1
@KGregory यह लुकअप टेबल हो सकता है, यह एक व्याख्या किया गया प्रोग्राम हो सकता है, यह इमेज डेटा हो सकता है ...
Glglgl

@glglgl ने सहमति दी। मेरा तर्क हो सकता है कि उन लोगों को लुक-अप-टेबल का रूप माना जा सकता है, लेकिन मुझे लगता है कि अब हम इस बिंदु पर हैं।
kjgregory

9

मुझे लगता है कि दोनों विकल्प सही प्रकार के हैं, बस माइक्रोप्रोसेसर को अमूर्त के विभिन्न स्तरों पर देख रहे हैं। क्या आप अपने अपरिवर्तनीय बाइनरी के रूप में संदर्भित कर रहे हैं हार्डवेयर ही होगा, जो कि यह क्या कर सकता है में काफी सीमित है। फ़ेच इंस्ट्रक्शन एड्रेस 0x0000, डीकोड इंस्ट्रक्शन, फ़िक्स्ड सप्लाई एड्रेस / रजिस्टर, एक्ज़ीक्यूट, इंक्रीमेंट इंस्ट्रक्शन काउंटर। यह माइक्रोप्रोसेसर पाइपलाइन है, और आप इसे बदल नहीं सकते हैं। आप नियंत्रित करते हैं कि मेमोरी में निर्देशों को संग्रहीत करके माइक्रोकंट्रोलर क्या करता है, जो तब क्रमिक रूप से पढ़े जाते हैं। तो मूल रूप से, हां, फर्मवेयर केवल एक अपरिवर्तनीय कार्यक्रम के लिए इनपुट डेटा है, जो निम्न स्तर के अमूर्त स्तर पर है। आमतौर पर, हालांकि फर्मवेयर को एक विशेष कार्यक्रम के रूप में कल्पना करना आसान है जो माइक्रोप्रोसेसर को नियंत्रित करता है क्योंकि वैचारिक रूप से यह उस तरह से आसान है।


इस उत्तर से प्यार करें, डेटा और कोड पर जोर देने के लिए किया गया +1, अंत में एक ही बात है।
वैलिटी

वे वॉन न्यूमैन वास्तुकला के लिए समान हैं, कम से कम। एक बार अलग-अलग बसें मिल जाने के बाद, आप यह तर्क देना शुरू कर सकते हैं कि वे अलग-अलग चीजें हैं, हालांकि यह अंत में सभी बिट्स हैं।
जेसन__बेंस

8

यह वास्तव में दोनों है।

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

फर्मवेयर, अपरिवर्तनीय / गैर-वाष्पशील मेमोरी के लिए उपयोग किया जाने वाला एक सामान्य शब्द है, यह वहां है और बिजली चक्र के अनुसार तब तक सुलभ है जब तक कि सर्किट के साथ या ईएपीएस या फ्लैश के लिए फंसे प्रोग्रामिंग चक्र के मामले में कुछ भी गलत न हो। रोम।

परिभाषा के अनुसार फर्मवेयर, निम्नतम स्तर की पहुंच है, जो आपके सिस्टम या एम्बेडेड घटकों में आपके द्वारा इंस्टॉल किए गए हार्डवेयर का परीक्षण करता है, और निम्न स्तर की दिनचर्या देता है (कभी-कभी BIOS फ़ंक्शन कॉल के रूप में देखा जाता है) जिसे आपके ऑपरेटिंग सिस्टम को घटकों का उपयोग करने में सक्षम होना चाहिए आपके सिस्टम में पुराने दिनों में, BIOS या बेसिक इनपुट आउटपुट सिस्टम में "BASIC" नामक एक प्रोग्रामिंग भाषा भी शामिल थी, जैसे कि कमोडोर 64 और 1970 के अन्य पर्सनल कंप्यूटर, निश्चित रूप से पुराने कंप्यूटर थे जिनके उपयोग के लिए उनमें BASIC बनाया गया था। पेशेवर कंप्यूटर वैज्ञानिकों द्वारा भी। अगर आपको कभी ऐसा कैरेक्टर या सिंबल ROM के बारे में सुनाई देता है, जो उस एग्जिक्यूटिव या प्रोग्राम ROM के लिए प्योर डेटा का एक रूप है, तो उस कैरेक्टर रॉम में जाने के लिए सिस्टम मिलेगा और एक सीक्वेंस में कैरेक्टर्स देखेगा या इसके साथ काम करने के लिए पूरी चिप को RAM में डंप कर देगा। क्या आप वहां मौजूद हैं।

डिफ़ॉल्ट PROM, EPROM, EEPROM, फ्लैश प्रोग्रामर एक चिप पर फर्मवेयर को .hex या .bin के प्रत्यय के साथ जलाते हैं, जो समान प्रारूप हैं, यह आपके एप्लिकेशन पर निर्भर करता है जिसका उपयोग आप चिप, फर्मवेयर को भेजने के लिए कर रहे हैं।

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

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

मैं सहमत हूं, इसे फर्मवेयर नहीं कहा जाना चाहिए क्योंकि यह तकनीकी रूप से चिप पर एक स्थायी समाधान के रूप में नहीं है और फर्मवेयर (पुराने BIOS बनाम फ्लैश मेमोरी के मामले में) के लिए एक विशेष उपकरण और एप्लिकेशन की आवश्यकता है।

कोई और प्रश्न मिला, मुझे आपके लिए उन्हें उत्तर देने में खुशी होगी।


6

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

इसलिए आप इसे एक .EXE प्रोग्राम नहीं करते हैं, क्योंकि यह एक संकलित प्रोग्राम है जो किसी प्रकार के ओएस वातावरण में चलाया जाता है। आप आमतौर पर .hex, या शायद .elf, प्रोग्रामिंग कर रहे होंगे, यह वास्तव में उस डिवाइस पर निर्भर करता है जिसे आप प्रोग्रामिंग कर रहे हैं, लेकिन इससे कोई फर्क नहीं पड़ता क्योंकि आप फ़ाइल-प्रकार से चिंतित नहीं हैं क्योंकि आपका कंपाइलर इसके बजाय संकलन करेगा मशीन कोड में कोड नीचे और चिप्स पर चिप फ्लैश में या जो कुछ भी भंडारण योजना में यह जगह है।

फर्मवेयर आमतौर पर इस बात से अपरिवर्तनीय है कि पर्यावरणीय परिस्थितियों में प्रोग्राम किया जाना है। आप फर्मवेयर कोड को बदल नहीं सकते हैं और इसे छोड़ सकते हैं, आपको परिवर्तन करना होगा, इसे संकलित करना होगा, और डिवाइस को फिर से फ्लैश करना होगा।

  • आम तौर पर सॉफ्टवेयर कोड एक ऑपरेटिंग सिस्टम के शीर्ष पर चलाया जाने वाला कोड होता है।
  • फर्मवेयर कोड वह सूचना है जो चिप की नंगी धातु पर चलाई जाती है। फर्मवेयर या तो वास्तविक अनुप्रयोग प्रोग्राम हो सकता है या यह एक साधारण ऑपरेटिंग सिस्टम हो सकता है, कि आप तब एम्बेडेड वर्ल्ड में रिमूवेबल स्टोरेज या फ्लैशिंग रैम के माध्यम से सॉफ्टवेयर लोड कर सकते हैं। यह स्तर बाइनरी कोड के लिए सभी तरह से नीचे जा सकता है, क्योंकि यह अभी भी कोड है।
  • एक बार जब आप सीधे वोल्टेज के साथ काम करना शुरू करते हैं, तो आप हार्डवेयर स्तर पर पहुंच गए हैं।

2
"लेकिन फिर इसे मशीन-कोड में उबाला जाता है ताकि सीपीयू इसे समझ सके।" सॉफ्टवेयर कोड की तरह ही, जब तक कि यह C या किसी चीज़ में समान रूप से लिखा गया हो।
21

1
प्रोसेसर जो समझते हैं, हाँ, बाइनरी है, लेकिन उनके पास कुछ भी है जिसे मेनेमोमिक ऑपरेशन कोड (ऑप कोड, जैसा कि उद्योग में देखा जाता है) हममें से उन लोगों के लिए है जो अभी भी असेंबली लैंग्वेज में प्रोग्राम करते हैं, जो मशीन लैंग्वेज से एक कदम ऊपर होता है [बाइनरी] ])।

0

फर्मवेयर एक सामान्य शब्द है जिसका उपयोग आम तौर पर सॉफ्टवेयर दुनिया और हार्डवेयर की दुनिया के बीच आधे रास्ते में रहने वाले कुछ को निर्दिष्ट करने के लिए किया जाता है।

हार्डवेयर बदलना मुश्किल है। सॉफ्टवेयर को बदलना आसान है। फर्मवेयर हार्डवेयर के रूप में बदलना उतना कठिन नहीं है, लेकिन सॉफ्टवेयर की तुलना में बदलना कठिन है।

इसका उपयोग निष्पादन योग्य कोड, डेटा या कॉन्फ़िगरेशन जानकारी (जैसे FPGA / PLD / etc) पर चर्चा करने के लिए किया जा सकता है जिसे बदला जा सकता है।


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

0

फर्मवेयर के अंदर के अर्थ से अधिक समझाने के लिए।

फर्मवेयर, वह कोड है जो बहुत विशिष्ट हार्डवेयर पर निष्पादित होता है, जिसका अर्थ है कि यह op कोड उस हार्डवेयर के लिए विशिष्ट है, जिसके लिए इसे लिखा गया है, यह चिप्स या इंटरफेस का एक परिवार हो सकता है या केवल एक आइटम के लिए हो सकता है।

मूलतः यह क्या फर्मवेयर है;

  1. किसी दिए गए प्रोसेसर को शुरू करने और निष्पादित करने के लिए सख्त निर्देश दिए हैं, इसे "बूटस्ट्रैप" कहा जाता है। सबसे अधिक बूट करने योग्य कंप्यूटरों में यह उनके BIOS में है।

  2. फर्मवेयर में निर्देश के माध्यम से प्रारंभिक हार्डवेयर ने कहा।

  3. जंप टेबल में / ऊपर लोड करें।

  4. किसी दिए गए डिवाइस पर रजिस्टरों की पहुंच को सुलभ बनाएं।

  5. एक बार ठंडा होने के बाद BIOS (संचालित ऑफ स्टेट) या वार्म स्टार्ट (सामान्य रिबूट या रीसेट पिन का उपयोग किया गया है) के बाद एक्साइटिंग रूटीन को हैंड ऑफ कंट्रोल।

  6. अधिकांश BIOS (फर्मवेयर) को एक विशिष्ट चिपसेट के लिए डिज़ाइन किया गया है और उन सभी कार्यों को रूट किया है और किसी भी डेटा को बाहर कर दिया है जो किसी कंप्यूटर या एम्बेडेड डिवाइस में दिए गए बसलाइन से जुड़ा हो सकता है।

  7. हार्ड डिस्क एक भंडारण समाधान का एक अच्छा उदाहरण है जो अपने आप में एक एम्बेडेड डिवाइस है, उस पर एक BIOS भी है और एक चिप पर फर्मवेयर का एक रूप है।

अनिवार्य रूप से, सभी फर्मवेयर है, निर्देशों का एक गुच्छा है जो किसी अन्य प्रोसेसर ने किसी डिवाइस से कार्यक्षमता प्राप्त करने के लिए किया है। यह एक ऐसा सॉफ्टवेयर है जिसे पावर खोने पर फिजिकल डिवाइस में लोड किया जाता है, यह तब होता है जब डिवाइस को पावर मिलती है।

तकनीकी रूप से, आप बाइनरी फ़ाइलों को बनाने के लिए किसी भी प्रोग्रामिंग या स्क्रिप्टिंग भाषा का उपयोग कर सकते हैं। आपको बस यह जानना होगा कि आप जिस प्रोसेसर पर काम करने जा रहे हैं, वह वास्तविक ऑप कोड, आंतरिक रजिस्टर (अकेले वे क्या कर रहे हैं), बाइनरी और हेक्साडेसिमल नंबर सिस्टम सीखने के लिए और एक कोडांतरक बनाने के लिए कैसे बचा सकता है विधानसभा भाषा में आपका कोड। उसके बाद पूरा हो गया है तो आप इसे बाइनरी में परिवर्तित करने के लिए एक और कार्यक्रम का काम कर सकते हैं, फिर इसे एक .bin या .hex फ़ाइल के रूप में सहेज सकते हैं।

यदि आप यह जानना चाहते हैं कि Ada, C, C ++, D और अन्य प्रोग्रामिंग भाषाएं अपने "टोकन" को कैसे परिवर्तित करती हैं, जो कि उनका मूल कोड है, जो मशीन भाषा में छद्म ऑप-कोड में कटा हुआ है। कई किताबें हैं जो मैं आपको पढ़ने की सलाह देता हूं, कुछ काफी प्राथमिक हैं और बहुत विशिष्ट प्रोसेसर के आसपास केंद्रित हैं लेकिन यह सीखना अच्छा है। मैं आपको इस समय के लिए एक पुस्तक दूंगा, क्योंकि मैं आपको या किसी और को नहीं पढ़ना चाहता जो इस जानकारी को पढ़ रहा है।

  1. चार्ल्स एन। फिशर और रिचर्ड जे। लेब्लैंक, जूनियर द्वारा 'सी' के साथ एक संकलक का निर्माण।
  2. इस साइट पर जाएं, यह आईबीएम पीसी में पाए गए x86 चिपसेट पर आधारित है; http://www.laynetworks.com/assembly%20tutorials.htm

यह शुरुआत में पीसी पर असेंबली भाषा प्रोग्रामिंग का परिचय है। यह इंटरप्ट (हार्डवेयर और सॉफ्टवेयर इंटरप्ट) और कई अन्य विषयों को संभालने के बारे में बात करता है, यह गहराई से अधिक समझाता है कि वास्तव में एक BIOS क्या करता है और इसके साथ कैसे काम करना है।

असेंबली लैंग्वेज और मशीन लैंग्वेज के विपरीत, आप Ada, C, C ++, D में बहुत अधिक के साथ भाग सकते हैं, यदि आप अपनी हार्डवेयर बारीकियों को नहीं जानते हैं। असेंबली और मशीन भाषा में, यदि आप नहीं जानते कि आप क्या कर रहे हैं, या तो कुछ बुरा होगा या कोड काम नहीं करेगा। मैं बाद के मामले को पसंद करता हूं, काम नहीं बनाम कुछ बुरा।

नोट: ऊपर दिए गए जवाब के बारे में, फ्लैश रैम के बारे में, ऐसी कोई बात नहीं है, फ्लैश रोम हैं लेकिन फ्लैश रैम नहीं हैं। फ्लैश रोम में फर्मवेयर होते हैं, रैम जो बैटरी या कैपेसिटर समर्थित हैं, या एक और फ्लैश रोम है जिसमें आपके द्वारा निर्धारित BIOS के विकल्पों के लिए पैरामीटर हैं।

डेटा मेमोरी को स्टोर या साफ़ करने के तरीके (बनाम प्रोग्राम मेमोरी / फ़र्मवेयर) को साफ़ करने के तरीके के बारे में फर्मवेयर में कोड है, अगर यह फ्लैश रोम या रैम चिप है। पीसी पर यदि आप BIOS पासवर्ड की गड़बड़ी करते हैं या आपको यह याद नहीं रहता है (या कोई व्यक्ति आपके साथ गड़बड़ी कर रहा है), तो आप मामला खोल सकते हैं और दो पिन कह सकते हैं, "CMOS CLR / CMOS CLEAR / BIOS RESET / BIOS RST" उन दो पिनों को एक साथ छोटा करने से भी मेमोरी साफ़ हो जाती है, इसके बाद आपको रीसेट बटन को हिट करना होगा, जब दो पिन अभी भी शॉर्ट होंगे। यह पासवर्ड को साफ करता है और आपको अपने पीसी BIOS में पूर्ण पहुंच की अनुमति देता है (यह मानते हुए कि आपके पास 1990 के दशक से एक नया कंप्यूटर है)।

नए पीसी पर, आपके पास फर्मवेयर के लिए फ्लैश मेमोरी है और आपके पास बैटरी समर्थित SRAM है (लगातार DRAM चिप्स की तरह ताज़ा होने की आवश्यकता नहीं है, यह एक पुरानी तकनीक पर आधारित है)।


0

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

OS से संबंधित शब्दावली के संदर्भ में, इसे ROM में भी फ्लैश किया जाता है, लेकिन इस बार अपडेट के आने पर इसे फ्लैश करना OS की जिम्मेदारी है।


0

मेरा मानना ​​है कि "ऐतिहासिक" परिप्रेक्ष्य का उपयोग करना , फर्मवेयर की अधिक बुनियादी समझ दे सकता है।
यह पहले "हार्ड-वेयर" से शुरू होता है। दिए गए फ़ंक्शन को प्रदान करने / बनाने के लिए, ट्यूब, रिले, ट्रांजिस्टर और आईसी का उपयोग कर सकता है। आप इन घटकों में से कई का उपयोग करेंगे और आप एक उपकरण बनाएंगे जो आवश्यक कार्य करता है। इसे "हार्ड-वेयर" माना जाता था क्योंकि यदि आप फ़ंक्शन को बदलना चाहते थे (या आवश्यकता थी), तो आपको तारों, सॉकेट्स आदि को अनसोल्ड करने की आवश्यकता होगी, और ऐसा करना "कठिन" था । इस प्रकार, किसी फंक्शन को लागू करने का यह तरीका हार्डवेयर का उपयोग करने के रूप में जाना जाता है। सीपीयू, रैम और कोड का उपयोग करना, एक फ़ंक्शन बनाने का एक और तरीका बन गया, और "सॉफ्ट-वेयर" के रूप में जाना जाने लगा।डिजाइन में बदलाव करने के लिए। "हालांकि, वहाँ भी (ज्यादातर निर्माताओं से) की जरूरत थी, जितनी जल्दी हो सके एक डिजाइन को पूरा करने के लिए, लेकिन" अंतिम मिनट "के डिजाइन में बदलाव को आसान और लागत प्रभावी बनाने में सक्षम होना चाहिए। रोम के उपयोग ने इस लचीलेपन को "पहले जहाज" के बिंदु तक अनुमति दी। EEPROMS "प्रथम जहाज" (क्षेत्र में) के बाद भी परिवर्तन की अनुमति देता है। रोम और PROMs के लिए आवश्यक कोड का उपयोग "फर्मवेयर" का नाम दिया गया था। । "

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.