உட்பதித்த நிரலாக்கம் (embedded programming) என்பது பொதுவாகக் கணினிகள், திறன்பேசிகள் அல்லாத சாதனங்களைக் கட்டுப்படுத்த எழுதுவது. இதைக் குறிப்பிட்ட வன்பொருளுக்குத் தோதாக எழுதவேண்டும். நேரக் கட்டுப்பாடு மற்றும் கணினிகளை விட மிகக் குறைந்த நினைவகம் போன்ற பிரச்சினைகள் உண்டு. உட்பதித்த நிரலாக்கம் என்பதையே சாதனங்களுக்கான மென்பொருள் (firmware) என்றும் கூறுகிறார்கள்.
கணினிகள், திறன்பேசிகள் ஆகியவை இணையத்தில் இருப்பதால் செயலிகளையும், இயங்குதளத்தையும் இணையம் வழியாக மேம்பாடு செய்யலாம். ஆனால் சாதனங்களை விற்றபின் நுகர்வோர் வீடு, கடை, அலுவலகங்களில் சென்று மேம்பாடு செய்தல் மிகக் கடினம்.
உட்பதித்த C நிரல் மொழி (Embedded C)
தானுந்து மென்பொருட்கள் பெரும்பாலும் C நிரல் மொழியில் உருவாக்கப்படுகின்றன. ஏனெனில் இது வளம் குறைந்த உட்பதித்த அமைப்புகளுக்கு மிகவும் பொருத்தமானது. இது கையடக்கமானது, நிறைய சரிசெய்தல்கள் தேவைப்படாமல், இது பல நுண்செயலிகளில் (microprocessor) இயங்கக்கூடியது. இது திறமையான நினைவக மேலாண்மையையும் (memory management) வன்பொருள் அணுகலையும் வழங்குகிறது.
வழக்கமான C நிரல் மொழியின் பெரும்பாலான அம்சங்களையும் தொடரியல்களையும் உட்பதித்த C பயன்படுத்துகிறது. இது மேம்படுத்தப்பட்ட நுண்செயலி அம்சங்களை ஆதரிக்கும் பொருட்டு மொழி நீட்டிப்புகளின் தொகுப்பாகும்.
பொதுவாகக் கணினிகளில் 64-பிட் (bit), ஆனால் ஊர்திகளில் 8, 16, 32-பிட்
இன்றைய மேசைக்கணினிகள், மடிக்கணினிகள், திறன்பேசிகள் யாவையுமே அனேகமாக 64-பிட் கணினிகள். ஆனால் தானுந்துகளில் பயன்படுத்தும் மின் கட்டுப்படுத்திகள் 8, 16, 32-பிட் கொண்டவை. பிட் (bit – binary digit) என்பதைத் தமிழில் இருமம் என்று சொல்கிறோம்.
கணினிகள் 64-பிட் பயன்படுத்துவது ஏனெனில் பெரிய அளவு நினைவகத்தை அணுக முடியும். தானுந்து மின் கட்டுப்படுத்திகளுக்கு அந்த அளவு நினைவகம் தேவைப்படுவதில்லை. மேலும் குறைந்த பிட் கொண்ட கட்டுப்படுத்திகள் விலையும் குறைவு, அதிக இடமும் அடைக்காது.
இருமமாக்கல் (compiling)
உட்பதித்த C மொழியில் நிரல் எழுதிய பின்னர் எந்த வன்பொருள் அல்லது நுண்கட்டுப்படுத்தியில் (micro-controller) நிரல் ஓடவேண்டுமோ அதற்கேற்ற இருமமாக்கியைப் (compiler) பயன்படுத்தவேண்டும்.
பாவனையாக்கியில் (Simulator) சோதனை
ஊர்திகளில் பலவிதமான உணரிகளும் இயக்கிகளும் உள்ளன என்று பார்த்தோம். நவீன ஊர்திகளில் நாம் முன்னர் பார்த்தபடி அதிநவீன ஓட்டுநர் உதவி அமைப்புகளுக்கான (Advanced Driver-Assistance Systems – ADAS) படக்கருவிகளும், வானலையுணரிகளும் (Radio Detection And Ranging – Radar) சீரொளியுணரிகளும் (Light Detection And Ranging – LiDAR) மற்றும் பல உணரிகளும் இயக்கிகளும் உண்டு. இவற்றைப் பல்வேறு சூழ்நிலைகளில் பல்வேறு பயன்படுத்தும் முறைகளில் (use cases) சோதிக்க வேண்டும். இந்த வேலையை எளிதாக்க முதலில் பாவனையாக்கியில் சோதனைகளைச் செய்கிறோம்.
நன்றி
இத்தொடரில் அடுத்த கட்டுரை: ஊர்தி மென்பொருள் தரநிலை
வழங்குநரை மாற்றுவது முன்னர் மிகக் கடினம். செயலிகள் வன்பொருளுக்குத் தக்கவாறு முன்னர் எழுதப்பட்டன. மென்பொருள் கூறுகளை (modules) எடுத்து மற்ற இடத்தில் முன்னர் பயன்படுத்த இயலாது.