వ్యవస్థ అనేది బహుళ యూనిట్ల అమరిక, ఇచ్చిన సూచనల ప్రకారం పనిచేయడానికి కలిసి ఉంటుంది. ఎంబెడెడ్ సిస్టమ్ అనేది హార్డ్వేర్ మరియు సాఫ్ట్వేర్ రెండింటి కలయిక, ఇది నిర్దిష్ట వ్యవధిలో ఒక నిర్దిష్ట పనిని చేస్తుంది (అంటే ఇది వాషింగ్ మెషీన్ వంటి ఒక నిర్దిష్ట పనిని మాత్రమే చేయాలి). అనువర్తనంలో పొందుపరిచిన వ్యవస్థను ఉపయోగించడం యొక్క ప్రధాన ప్రయోజనం ఏమిటంటే ఇది పరిమాణం మరియు వ్యయాన్ని తగ్గించగలదు మరియు పని యొక్క విశ్వసనీయత మరియు సామర్థ్యాన్ని కూడా మెరుగుపరుస్తుంది. ఈ వ్యాసం పొందుపరిచిన సాఫ్ట్వేర్ భాషలు, ఎంబెడెడ్ సిస్టమ్ గురించి అవలోకనం చేస్తుంది ప్రోగ్రామింగ్ , మరియు వాటి విధులు.
ఎంబెడెడ్ సిస్టమ్స్ యొక్క భాగాలు
కిందివి ఎంబెడెడ్ సిస్టమ్స్ యొక్క భాగాలు
- పొందుపరిచిన హార్డ్వేర్: మైక్రో-కంట్రోలర్ అనేది ఎంబెడెడ్ సిస్టమ్ యొక్క గుండె, ఇక్కడ బహుళ పెరిఫెరల్స్ కమ్యూనికేషన్ ప్రయోజనం కోసం ఎంబెడెడ్ హార్డ్వేర్కు అనుసంధానించబడతాయి.
- పొందుపరిచిన RTO లు: అన్ని సంక్లిష్టమైన (ఆర్ ఆపరేషన్లు) చేయడానికి ఎంబెడెడ్ రియల్ టైమ్ ఆపరేటింగ్ సిస్టమ్ ఉపయోగించబడుతుంది.
- పరికర డ్రైవర్లు: ఇది ఆపరేటింగ్ సిస్టమ్స్ మరియు పరిధీయ పరికరాల మధ్య వారధిగా పనిచేస్తుంది.
- కమ్యూనికేషన్ స్టాక్స్: ఇది బాహ్య పరికరాలతో కమ్యూనికేట్ చేయడానికి ఉపయోగించబడుతుంది.
- పొందుపరిచిన అనువర్తనాలు: ఇది పొందుపరిచిన పరికరం యొక్క ముందే నిర్వచించిన పనితీరును చేస్తుంది.
పొందుపరిచిన సిస్టమ్ భాగాలు
పొందుపరిచిన సాఫ్ట్వేర్
ఎంబెడెడ్ సాఫ్ట్వేర్ లేదా ఎంబెడెడ్ సిస్టమ్ ప్రోగ్రామింగ్ కంప్యూటర్ సాఫ్ట్వేర్, ఇది సూచనల సమితిని అందించడం ద్వారా పరికరాలను నియంత్రించడానికి ఉపయోగించబడుతుంది. దీనికి కూడా పేరు పెట్టారు ఫర్మ్వేర్, డిజైన్ పరిమితులను (ప్రతిస్పందన సమయ పరిమితులు, కఠినమైన గడువులు మరియు ప్రాసెస్ చేసిన డేటా వంటివి) నిర్వహించడం ద్వారా మరియు తుది డేటాను నిల్వ చేయడం ద్వారా వివిధ కార్యాచరణలతో కూడిన వివిధ పరికరాలను ఎంబెడెడ్ సాఫ్ట్వేర్ ఉపయోగించి ప్రోగ్రామ్ చేయవచ్చు. మెమరీ (రామ్ / రోమ్).
సాఫ్ట్వేర్ యంత్ర ఇంటర్ఫేస్ ద్వారా నియంత్రించబడుతుంది లేదా ప్రారంభించబడుతుంది. ఎంబెడెడ్ సాఫ్ట్వేర్ కార్లు, టెలిఫోన్లు, రోబోట్లు వంటి అన్ని ఎలక్ట్రానిక్స్లో అంతర్నిర్మితంగా ఉంది భద్రతా వ్యవస్థలు , మొదలైనవి 8-బిట్లో అమలు చేయడం సులభం మైక్రోకంట్రోలర్ కొన్ని KB వరకు మెమరీని ఉపయోగిస్తుంది. ఇది సంక్లిష్ట కార్యకలాపాలను ప్రాసెస్ చేయడంలో సహాయపడుతుంది మరియు ఖచ్చితమైన గణన ఫ్రేమ్వర్క్ను నిర్ణయిస్తుంది.
ఎంబెడెడ్ సిస్టమ్ ప్రోగ్రామింగ్ లాంగ్వేజెస్
ఎంబెడెడ్ సాఫ్ట్వేర్ ఒక ఆపరేటింగ్ సిస్టమ్ను ఉపయోగిస్తుంది, ఇది రియల్ టైమ్ ఆపరేటింగ్ సిస్టమ్, ఇది ఒకేసారి బహుళ పనులను చేస్తుంది. ఎంబెడెడ్ ప్రోగ్రామ్లను ఉపయోగించి ప్రోగ్రామ్ చేస్తారు సి / సి ++ , ఫైటన్ మరియు జావా స్క్రిప్ట్స్ భాషలు మరియు ఆపరేటింగ్ సిస్టమ్స్లో ప్రాసెస్ చేయబడతాయి Linux OS , VxWorks , ఫ్యూజన్ RTOS, న్యూక్లియస్ RTOS, మైక్రో సి / ఓఎస్, OSE, మొదలైనవి. ఎంబెడెడ్ సాఫ్ట్వేర్ను అభివృద్ధి చేయడంలో ప్రోగ్రామింగ్ భాష యొక్క ఎంపిక కీలక పాత్ర పోషిస్తుంది, ఇది క్రింద చూపిన విధంగా కొన్ని అంశాలపై ఆధారపడి ఉంటుంది,
- పరిమాణం : ప్రోగ్రామ్కు అవసరమైన మెమరీ మొత్తం ఒక ముఖ్యమైన పాత్ర పోషిస్తుంది, ఎందుకంటే ఎంబెడెడ్ ప్రాసెసర్లు (మైక్రోకంట్రోలర్లు) దాని అప్లికేషన్ ఆధారంగా నిర్దిష్ట మొత్తంలో ROM (చదవడానికి మాత్రమే మెమరీ) కలిగి ఉంటాయి.
- వేగం : ప్రోగ్రామ్ అమలు వేగం వేగంగా ఉండాలి
- పోర్టబిలిటీ: ఒక ప్రోగ్రామ్ను ఉపయోగించి వివిధ ప్రాసెసర్లను కంపైల్ చేయవచ్చు.
- అమలు చేయడం కష్టం
- నిర్వహణ కష్టం.
అసెంబ్లీ భాషలో పొందుపరిచిన వ్యవస్థ యొక్క ప్రోగ్రామింగ్
లో పొందుపరిచిన వ్యవస్థ యొక్క ప్రోగ్రామింగ్ అసెంబ్లీ భాష (ఇన్పుట్) మరియు లోకి మార్చడం యంత్ర-స్థాయి భాష (అవుట్పుట్) ఒక సమీకరించేవారిని ఉపయోగించి ఈ క్రింది ఉదాహరణను ఉపయోగించి వివరించవచ్చు, ఇక్కడ మేము రెండు స్పెసిరేట్ రిజిస్టర్లను ఉపయోగించి రెండు సంఖ్యాశాస్త్రాల చేరికను నిర్వహిస్తాము మరియు ఫలితాన్ని అవుట్పుట్ రిజిస్టర్లో నిల్వ చేస్తాము.
ఇన్పుట్
ఇక్కడ: MOV R0, # 01H
MOV # 1, # 02H
MOV A, R0
ADD A, R1
MOV P0, A.
ఇక్కడ సింప్ చేయండి
అవుట్పుట్
చిరునామా ఆప్కోడ్ ఆపరేషన్
0000 78 01
0002 79 02
0004 ఇ 8 -
0005 29 -
0006 ఎఫ్ 5 80
0008 80 00
అసెంబ్లీ కోడ్ పరిమాణం మరియు వేగం పరంగా సమర్థవంతమైన కోడ్ను అభివృద్ధి చేయడానికి ఉపయోగించబడుతుంది. అసెంబ్లీ భాషలో పెద్ద కోడ్ను అభివృద్ధి చేయడం కష్టమవుతుంది, ఇది అధిక సాఫ్ట్వేర్ అభివృద్ధి వ్యయానికి దారితీయవచ్చు మరియు కోడ్ పోర్టబిలిటీ ఉండదు. అందువల్ల ఈ ప్రతికూలతను అధిగమించడానికి మేము ఉన్నత స్థాయి భాషను ఉపయోగిస్తాము ఎంబెడెడ్ సి .
సి, సి ++, జావా మరియు ఎంబెడెడ్ సి గురించి
సి ప్రోగ్రామింగ్
సి భాష ఒక నిర్మాణ-ఆధారిత భాష, దీనిని డెన్నిస్ రిట్చీ అభివృద్ధి చేశారు. ఇది సాధారణ కంపైలర్ ఉపయోగించి తక్కువ మెమరీ ప్రాప్యతను అందిస్తుంది మరియు యంత్ర సూచనల ప్రకారం డేటాను సమర్ధవంతంగా అందిస్తుంది. ఎంబెడెడ్ సిస్టమ్స్ నుండి సూపర్ కంప్యూటర్ల వరకు విస్తృత పరిధిలో ఇవి వర్తిస్తాయి.
పొందుపరిచిన సి
ఎంబెడెడ్ సి అనేది సి భాష యొక్క పొడిగింపు, ఇది ఎంబెడెడ్ సిస్టమ్ను అభివృద్ధి చేయడానికి ఉపయోగించబడుతుంది. వాక్యనిర్మాణం సి భాషతో సమానంగా ఉంటుంది (ప్రధాన ఫంక్షన్, ఫంక్షన్ల డిక్లరేషన్, డేటా రకాలు డిక్లరేషన్, లూప్స్ మొదలైనవి). ఎంబెడెడ్ సి మరియు ప్రామాణిక సి భాషల మధ్య ప్రధాన వ్యత్యాసం హార్డ్వేర్ యొక్క ఇన్పుట్-అవుట్పుట్ చిరునామా, స్థిర-పాయింట్ ఆపరేషన్లు మరియు ప్రాసెసింగ్ చిరునామా ఖాళీలు.
కింది ప్రయోజనాల కారణంగా ఎంబెడెడ్ సిస్టమ్లో సి వాడకం
- ప్రోగ్రామ్ను నేర్చుకోవడం, అర్థం చేసుకోవడం మరియు డీబగ్ చేయడం చిన్నది మరియు సులభం.
- అన్ని సి కంపైలర్లు అన్ని ఎంబెడెడ్ పరికరాలతో అనుకూలంగా ఉంటాయి
- ఇది ప్రాసెసర్ స్వతంత్రమైనది (అనగా ఇది ఒక నిర్దిష్ట మైక్రోప్రాసెసర్ లేదా మైక్రోకంట్రోలర్కు ప్రత్యేకమైనది కాదు).
- సి భాష అసెంబ్లీ భాష మరియు ఉన్నత-స్థాయి భాష యొక్క లక్షణాల కలయికను ఉపయోగిస్తుంది
- ఇది చాలా సమర్థవంతమైనది, మరింత నమ్మదగినది, మరింత సరళమైనది, విభిన్న ప్లాట్ఫారమ్ల మధ్య మరింత పోర్టబుల్.
- సి లో అభివృద్ధి చేసిన ప్రోగ్రామ్లను అర్థం చేసుకోవడం, డీబగ్ చేయడం మరియు నిర్వహించడం సులభం.
ఇతర ఉన్నత-స్థాయి భాషతో పోల్చండి సి మరింత సౌలభ్యాన్ని అందిస్తుంది ఎందుకంటే ఇది సాపేక్షంగా చిన్న నిర్మాణ-ఆధారిత భాష మరియు తక్కువ-స్థాయి బిట్వైస్కు మద్దతు ఇస్తుంది డేటా మానిప్యులేషన్స్ .
సి ++
ఎంబెడెడ్ పరికరాల వంటి పరిశోధన పరిమితి పరిసరాలలో సమర్థవంతమైన ప్రోగ్రామ్ను అభివృద్ధి చేయడానికి సి ++ వంటి ఆబ్జెక్ట్-ఓరియెంటెడ్ భాష ఐచ్ఛికం కాదు. వర్చువల్ ఫంక్షన్లు మరియు సి ++ యొక్క మినహాయింపు నిర్వహణ వ్యవస్థ యొక్క స్థలం మరియు వేగం పరంగా సమర్థవంతంగా లేని కొన్ని నిర్దిష్ట లక్షణాలు.
జావా
ఎంబెడెడ్ సిస్టమ్ను జావా భాషలో ప్రోగ్రామ్ చేయవచ్చు, జావా వర్చువల్ మెషీన్ (జెవిఎం) ను ఉపయోగించి ఇది చాలా వనరులను యాక్సెస్ చేస్తుంది. ఇది ప్రధానంగా హై-ఎండ్ అనువర్తనాల్లో (మొబైల్ ఫోన్ల వంటివి) వినియోగాన్ని కనుగొంటుంది మరియు అనువర్తనాలను ప్రాసెస్ చేయడానికి సిస్టమ్స్లో పోర్టబిలిటీని అందిస్తుంది. చిన్న ఎంబెడెడ్ పరికరాలకు ఇది ప్రాధాన్యత ఇవ్వబడదు.
ఎంబెడెడ్ సి ప్రోగ్రామింగ్ ఆర్కిటెక్చర్ మరియు ఉదాహరణ
ఎంబెడెడ్ సి ప్రోగ్రామింగ్ ఆర్కిటెక్చర్ను ఉపయోగించడం యొక్క ఉదాహరణతో అర్థం చేసుకోవచ్చు 8051 మైక్రో కంట్రోలర్లు , ఇక్కడ దాని పని కంట్రోలర్ యొక్క PORT1 కి అనుసంధానించబడిన LED బల్బును రెప్ప వేయడం మరియు ఉపయోగించిన కంపైలర్ కైల్ సి కంపైలర్. కిందిది కోడ్ LED రెప్పపాటు.
ప్రీ-ప్రాసెసర్ యొక్క # ఆదేశాన్ని చేర్చండి
రద్దు ఆలస్యం (పూర్ణాంకానికి) // ఆలస్యం ఫంక్షన్ యొక్క ప్రకటన
శూన్యమైన ప్రధాన (శూన్యమైన) // ప్రధాన ఫంక్షన్
{
P1 = 0x00 // port1 ఆఫ్లో ఉంది కాబట్టి LED ఆపివేయబడి reg51.h లో నిల్వ చేయబడుతుంది
అయితే (1) // అనంతం యొక్క లూప్
{
P1 = OxFF //// port1 ఆన్లో ఉంది కాబట్టి LED ఆన్లో ఉంది
ఆలస్యం (1000) // ఆలస్యం కేటాయించడం
P1 = 0X00 // port1 ఆఫ్
ఆలస్యం (1000)
}
}
ఆలస్యం ఫంక్షన్ను కేటాయించడం ఆలస్యం (int d) //
{
సంతకం చేయని పూర్ణాంకం i = 0 // వేరియబుల్స్ స్థానికంగా కేటాయించబడ్డాయి
(d> 0 d-) కోసం
{
(i = 250 i> 0i–) కోసం
(i = 248 i> 0i–) కోసం
}
}
ప్రయోజనాలు
ఎంబెడెడ్ సాఫ్ట్వేర్ యొక్క ప్రయోజనాలు క్రిందివి
- డేటాను లోడ్ చేయడం వేగంగా ఉంటుంది
- ఖర్చు తక్కువ
- తక్కువ వనరులను ఉపయోగించుకుంటుంది.
ప్రతికూలతలు
ఎంబెడెడ్ సాఫ్ట్వేర్ యొక్క ప్రతికూలతలు క్రిందివి
- అప్గ్రేడ్ చేయడం సంక్లిష్టమైనది
- ఏదైనా సమస్యలు ఉంటే ప్రతిసారీ రీసెట్ చేయడం అవసరం
- చిన్న విలువలకు స్కేలబిలిటీ కష్టం.
అప్లికేషన్స్
ఎంబెడెడ్ సాఫ్ట్వేర్ యొక్క అనువర్తనాలు క్రిందివి
- బ్యాంకింగ్
- ఆటోమొబైల్స్
- గృహోపకరణాలు
- కారు
- క్షిపణులు మొదలైనవి.
తరచుగా అడిగే ప్రశ్నలు
1). పొందుపరిచిన సాఫ్ట్వేర్ అంటే ఏమిటి?
ఎంబెడెడ్ సాఫ్ట్వేర్ లేదా ఎంబెడెడ్ సిస్టమ్ ప్రోగ్రామింగ్ కంప్యూటర్ సాఫ్ట్వేర్, ఇది సూచనలను అందించడం ద్వారా పరికరాలను నియంత్రించడానికి ఉపయోగించబడుతుంది.
2). ఎంబెడెడ్ సిస్టమ్ సాఫ్ట్వేర్లో ఉపయోగించే ప్రోగ్రామ్లు ఏమిటి?
పొందుపరిచిన సిస్టమ్ సాఫ్ట్వేర్ ప్రోగ్రామ్లు సి లేదా సి ++, ఫైటన్ మరియు జావా స్క్రిప్ట్లలో ప్రోగ్రామ్ చేయబడతాయి.
3). ఎంబెడెడ్ సిస్టమ్స్ మరియు సాధారణ సిస్టమ్ మధ్య తేడా ఏమిటి?
ఎంబెడెడ్ సిస్టమ్ అనేది హార్డ్వేర్ మరియు సాఫ్ట్వేర్ల కలయిక, ఇక్కడ ఇది ఒక నిర్దిష్ట ప్రయోజనం కోసం రూపొందించబడింది. ప్రక్రియలు వరుసగా ప్రాసెస్ చేయబడతాయి. సాధారణ ప్రాసెసర్ RTO యొక్క నిజ-సమయ OS అయితే, సమాంతర అమలు అవసరం ఉన్న చోట ఇది అవసరం.
4). ఎంబెడెడ్ సిస్టమ్స్ యొక్క వివిధ రకాలు ఏమిటి?
ఎంబెడెడ్ సిస్టమ్స్ రెండు వర్గాలుగా వర్గీకరించబడ్డాయి
- పనితీరు మరియు క్రియాత్మక అవసరాల ఆధారంగా, వాటిని రియల్ టైమ్, స్టాండ్-ఒంటరిగా, నెట్వర్క్డ్, మొబైల్ అని వర్గీకరించారు.
- మైక్రోకంట్రోలర్ యొక్క పనితీరు ఆధారంగా, వాటిని మరింత చిన్న తరహా, మధ్యస్థ స్థాయి మరియు అధునాతన స్థాయిగా వర్గీకరించారు
5). ఎంబెడెడ్ సిస్టమ్ యొక్క ప్రధాన అనువర్తనాలు
ఎంబెడెడ్ సిస్టమ్ యొక్క ప్రధాన అనువర్తనాలు
- వాషింగ్ మెషీన్
- డిజిటల్ కెమెరాలు
- మ్యూజిక్ ప్లేయర్ మొదలైనవి.
ఎంబెడెడ్ సిస్టమ్ హార్డ్వేర్ మరియు సాఫ్ట్వేర్ల కలయిక. ఎక్కడ పొందుపరిచిన సాఫ్ట్వేర్ ప్రోగ్రామ్లు సి లేదా సి ++, ఫైటన్ మరియు జావా స్క్రిప్ట్స్లో ప్రోగ్రామ్ చేయబడతాయి. అవి Linux OS, మైక్రో సి / ఓఎస్, క్యూఎన్ఎక్స్ మొదలైన వాటిలో నడుస్తాయి. ఎంబెడెడ్ సాఫ్ట్వేర్ కోడ్లను వ్రాయడానికి సి భాష ప్రాథమిక భాషగా ఏర్పడుతుంది. అందువల్ల ఇది ఎంబెడెడ్ సాఫ్ట్వేర్ యొక్క అవలోకనం మరియు ప్రోగ్రామ్ ఉపయోగించి దాని నిర్మాణం వివరించబడింది.