மைக்ரோசிப் MPLAB XC8 C கம்பைலர் மென்பொருள்
இந்த ஆவணத்தில் மைக்ரோசிப் AVR சாதனங்களை இலக்காகக் கொள்ளும்போது MPLAB XC8 C கம்பைலருடன் தொடர்புடைய முக்கியமான தகவல்கள் உள்ளன.
இந்த மென்பொருளை இயக்கும் முன் தயவு செய்து படிக்கவும். நீங்கள் 8-பிட் பிஐசி சாதனங்களுக்கு கம்பைலரைப் பயன்படுத்துகிறீர்கள் என்றால், எம்பிலேப் எக்ஸ்சி8 சி கம்பைலர் வெளியீட்டுக் குறிப்புகளைப் பார்க்கவும்.
முடிந்துவிட்டதுview
அறிமுகம்
இந்த மைக்ரோசிப் MPLAB® XC8 C தொகுப்பி வெளியீட்டில் பல புதிய அம்சங்கள், பிழை திருத்தங்கள் மற்றும் புதிய சாதன ஆதரவு ஆகியவை உள்ளன.
கட்டும் தேதி
இந்த தொகுப்பி பதிப்பின் அதிகாரப்பூர்வ உருவாக்க தேதி ஜூலை 3, 2022 ஆகும்.
முந்தைய பதிப்பு
முந்தைய MPLAB XC8 C கம்பைலர் பதிப்பு 2.39 ஆகும், இது ஒரு செயல்பாட்டு பாதுகாப்பு கம்பைலர் ஆகும், இது ஜனவரி 27, 2022 அன்று உருவாக்கப்பட்டது. முந்தைய நிலையான கம்பைலர் பதிப்பு 2.36 ஆகும், இது ஜனவரி 27, 2022 அன்று உருவாக்கப்பட்டது.
செயல்பாட்டு பாதுகாப்பு கையேடு
நீங்கள் செயல்பாட்டு பாதுகாப்பு உரிமத்தை வாங்கும்போது MPLAB XC கம்பைலர்களுக்கான செயல்பாட்டு பாதுகாப்பு கையேடு ஆவணத் தொகுப்பில் கிடைக்கும்.
கூறு உரிமங்கள் மற்றும் பதிப்புகள்
AVR MCUs கருவிகளுக்கான MPLAB® XC8 C கம்பைலர், GNU பொது பொது உரிமத்தின் (GPL) கீழ் எழுதப்பட்டு விநியோகிக்கப்படுகிறது, அதாவது அதன் மூலக் குறியீடு இலவசமாக விநியோகிக்கப்படுகிறது மற்றும் பொதுமக்களுக்குக் கிடைக்கிறது. GNU GPL இன் கீழ் உள்ள கருவிகளுக்கான மூலக் குறியீட்டை மைக்ரோசிப்பின் தளத்திலிருந்து தனித்தனியாக பதிவிறக்கம் செய்யலாம். webதளம். நீங்கள் GNU GPL இல் படிக்கலாம் file உங்கள் நிறுவல் கோப்பகத்தின் துணை அடைவு உள்ளது. GPL இன் அடிப்படையிலான கொள்கைகளின் பொதுவான விவாதத்தை இங்கே காணலாம். தலைப்புக்கு ஆதரவு குறியீடு வழங்கப்பட்டுள்ளது files, இணைப்பான் ஸ்கிரிப்டுகள் மற்றும் இயக்க நேர நூலகங்கள் தனியுரிம குறியீடு மற்றும் GPL இன் கீழ் உள்ளடக்கப்படவில்லை.
இந்த கம்பைலர் GCC பதிப்பு 5.4.0, binutils பதிப்பு 2.26 இன் செயலாக்கமாகும், மேலும் avr-libc பதிப்பு 2.0.0 ஐப் பயன்படுத்துகிறது.
கணினி தேவைகள்
MPLAB XC8 C தொகுப்பி மற்றும் அது பயன்படுத்தும் உரிம மென்பொருள் பல்வேறு இயக்க முறைமைகளுக்குக் கிடைக்கின்றன, அவற்றில் பின்வருவனவற்றின் 64-பிட் பதிப்புகள் அடங்கும்: மைக்ரோசாப்ட் விண்டோஸ் 10 இன் தொழில்முறை பதிப்புகள்; உபுண்டு 18.04; மற்றும் மேகோஸ் 10.15.5. விண்டோஸிற்கான பைனரிகள் குறியீட்டு கையொப்பமிடப்பட்டுள்ளன. மேக் ஓஎஸ்ஸிற்கான பைனரிகள் குறியீட்டு கையொப்பமிடப்பட்டு நோட்டரி சான்றளிக்கப்பட்டுள்ளன.
நீங்கள் ஒரு நெட்வொர்க் உரிம சேவையகத்தை இயக்குகிறீர்கள் என்றால், கம்பைலர்களால் ஆதரிக்கப்படும் இயக்க முறைமைகளைக் கொண்ட கணினிகள் மட்டுமே உரிம சேவையகத்தை ஹோஸ்ட் செய்யப் பயன்படுத்தப்படலாம். xclm பதிப்பு 2.0 இலிருந்து, நெட்வொர்க் உரிம சேவையகத்தை Microsoft Windows சர்வர் தளத்தில் நிறுவ முடியும், ஆனால் உரிம சேவையகம் இயக்க முறைமையின் சேவையக பதிப்பில் இயங்க வேண்டிய அவசியமில்லை.
ஆதரவு சாதனங்கள்
இந்த தொகுப்பி வெளியீட்டின் போது அறியப்பட்ட அனைத்து 8-பிட் AVR MCU சாதனங்களையும் ஆதரிக்கிறது. ஆதரிக்கப்படும் அனைத்து சாதனங்களின் பட்டியலுக்கு (தொகுப்பாளரின் ஆவணக் கோப்பகத்தில்) பார்க்கவும். இவை fileஒவ்வொரு சாதனத்திற்கும் உள்ளமைவு பிட் அமைப்புகளையும் பட்டியலிடுகிறது.
பதிப்புகள் மற்றும் உரிமம் மேம்படுத்தல்கள்
MPLAB XC8 கம்பைலரை உரிமம் பெற்ற (PRO) அல்லது உரிமம் பெறாத (இலவச) தயாரிப்பாக செயல்படுத்தலாம். உங்கள் கம்பைலரை உரிமம் பெற நீங்கள் ஒரு செயல்படுத்தல் விசையை வாங்க வேண்டும். இலவச தயாரிப்புடன் ஒப்பிடும்போது உரிமம் அதிக அளவிலான உகப்பாக்கத்தை அனுமதிக்கிறது. உரிமம் பெறாத கம்பைலரை உரிமம் இல்லாமல் காலவரையின்றி இயக்க முடியும்.
ஒரு MPLAB XC8 செயல்பாட்டு பாதுகாப்பு தொகுப்பி, மைக்ரோசிப்பிலிருந்து வாங்கப்பட்ட செயல்பாட்டு பாதுகாப்பு உரிமத்துடன் செயல்படுத்தப்பட வேண்டும். இந்த உரிமம் இல்லாமல் தொகுப்பி இயங்காது. செயல்படுத்தப்பட்டதும், நீங்கள் எந்த உகப்பாக்க நிலையையும் தேர்ந்தெடுத்து அனைத்து தொகுப்பி அம்சங்களையும் பயன்படுத்தலாம். MPLAB XC செயல்பாட்டு பாதுகாப்பு தொகுப்பியின் இந்த வெளியீடு நெட்வொர்க் சர்வர் உரிமத்தை ஆதரிக்கிறது.
நிறுவுதல் மற்றும் உரிமம் வழங்குதல் MPLAB XC C Compilers (DS50002059) ஆவணத்தைப் பார்க்கவும், உரிம வகைகள் மற்றும் உரிமத்துடன் கம்பைலரை நிறுவுதல் பற்றிய தகவலுக்கு.
நிறுவல் மற்றும் செயல்படுத்தல்
இந்த தொகுப்பியில் சேர்க்கப்பட்டுள்ள சமீபத்திய உரிம மேலாளர் பற்றிய முக்கிய தகவலுக்கு இடம்பெயர்வு சிக்கல்கள் மற்றும் வரம்புகள் பிரிவுகளையும் பார்க்கவும்.
MPLAB IDE-ஐப் பயன்படுத்தினால், இந்தக் கருவியை நிறுவுவதற்கு முன் சமீபத்திய MPLAB X IDE பதிப்பு 5.0 அல்லது அதற்குப் பிந்தைய பதிப்பை நிறுவுவதை உறுதிசெய்யவும். தொகுப்பியை நிறுவுவதற்கு முன் IDE-யிலிருந்து வெளியேறவும். .exe (Windows), .run (Linux) அல்லது app (macOS) தொகுப்பி நிறுவி பயன்பாட்டை இயக்கவும், எ.கா. XC8-1.00.11403-windows.exe மற்றும் திரையில் உள்ள வழிமுறைகளைப் பின்பற்றவும்.
இயல்புநிலை நிறுவல் கோப்பகம் பரிந்துரைக்கப்படுகிறது. நீங்கள் லினக்ஸைப் பயன்படுத்துகிறீர்கள் என்றால், நீங்கள் ஒரு முனையத்தைப் பயன்படுத்தியும் ரூட் கணக்கிலிருந்தும் கம்பைலரை நிறுவ வேண்டும். நிர்வாகி சலுகைகளுடன் கூடிய macOS கணக்கைப் பயன்படுத்தி நிறுவவும்.
செயல்படுத்தல் இப்போது நிறுவலுக்கு தனித்தனியாக மேற்கொள்ளப்படுகிறது. மேலும் தகவலுக்கு MPLAB® XC C Compilers (DS52059) ஆவண உரிம மேலாளரைப் பார்க்கவும்.
மதிப்பீட்டு உரிமத்தின் கீழ் கம்பைலரை இயக்க நீங்கள் தேர்வுசெய்தால், உங்கள் மதிப்பீட்டுக் காலம் முடிவடைந்து 14 நாட்களுக்குள் இருக்கும் போது, தொகுப்பின் போது எச்சரிக்கையைப் பெறுவீர்கள். உங்கள் HPA சந்தா முடிவடைந்து 14 நாட்களுக்குள் இருந்தால் அதே எச்சரிக்கை வழங்கப்படும்.
XC நெட்வொர்க் உரிம சேவையகம் ஒரு தனி நிறுவி மற்றும் ஒற்றை-பயனர் கம்பைலர் நிறுவியில் சேர்க்கப்படவில்லை.
XC உரிம மேலாளர் இப்போது மிதக்கும் நெட்வொர்க் உரிமங்களின் ரோமிங்கை ஆதரிக்கிறது. மொபைல் பயனர்களை இலக்காகக் கொண்ட இந்த அம்சம், மிதக்கும் உரிமத்தை குறுகிய காலத்திற்கு நெட்வொர்க்கிலிருந்து வெளியேற அனுமதிக்கிறது. இந்த அம்சத்தைப் பயன்படுத்தி, நீங்கள் நெட்வொர்க்கிலிருந்து துண்டிக்கப்பட்டு, உங்கள் MPLAB XC கம்பைலரைப் பயன்படுத்தலாம். இந்த அம்சத்தைப் பற்றி மேலும் அறிய XCLM நிறுவலின் ஆவணக் கோப்புறையைப் பார்க்கவும். MPLAB X IDE, ரோமிங்கைக் காட்சி ரீதியாக நிர்வகிக்க உரிமங்கள் சாளரத்தை (கருவிகள் > உரிமங்கள்) கொண்டுள்ளது.
நிறுவல் சிக்கல்களைத் தீர்ப்பது
விண்டோஸ் இயக்க முறைமைகளில் ஏதேனும் ஒன்றின் கீழ் தொகுப்பியை நிறுவுவதில் உங்களுக்கு சிக்கல்கள் ஏற்பட்டால், பின்வரும் பரிந்துரைகளை முயற்சிக்கவும்.
- நிறுவலை நிர்வாகியாக இயக்கவும்.
- நிறுவி பயன்பாட்டின் அனுமதிகளை 'முழு கட்டுப்பாடு' என அமைக்கவும். (வலது கிளிக் செய்யவும் file, பண்புகள், பாதுகாப்பு தாவலைத் தேர்ந்தெடுத்து, பயனரைத் தேர்ந்தெடுத்து, திருத்து.)
- தற்காலிக கோப்புறையின் அனுமதிகளை “முழு கட்டுப்பாடு!” என அமைக்கவும்.
தற்காலிக கோப்புறையின் இருப்பிடத்தைத் தீர்மானிக்க, Run கட்டளையில் (Windows லோகோ விசை + R) %temp% என தட்டச்சு செய்யவும். இது ஒரு file அந்த கோப்பகத்தைக் காட்டும் எக்ஸ்ப்ளோரர் உரையாடல் பெட்டி, அந்த கோப்புறையின் பாதையை நீங்கள் தீர்மானிக்க அனுமதிக்கும்.
தொகுப்பி ஆவணம்
ஸ்கிரீன்ஷாட்டில் குறிப்பிடப்பட்டுள்ளபடி, MPLAB X IDE டாஷ்போர்டில் உள்ள நீல உதவி பொத்தானைக் கிளிக் செய்யும் போது, உங்கள் உலாவியில் திறக்கும் HTML பக்கத்திலிருந்து கம்பைலரின் பயனர் வழிகாட்டிகளைத் திறக்கலாம்.
நீங்கள் 8-பிட் AVR இலக்குகளை உருவாக்குகிறீர்கள் எனில், AVR® MCU க்கான MPLAB® XC8 C கம்பைலர் பயனர் கையேட்டில் இந்தக் கட்டமைப்பிற்குப் பொருந்தக்கூடிய கம்பைலர் விருப்பங்கள் மற்றும் அம்சங்கள் பற்றிய தகவல்கள் உள்ளன.
வாடிக்கையாளர் ஆதரவு
இந்த கம்பைலர் பதிப்பு தொடர்பான பிழை அறிக்கைகள், பரிந்துரைகள் அல்லது கருத்துகளை மைக்ரோசிப் வரவேற்கிறது. ஏதேனும் பிழை அறிக்கைகள் அல்லது அம்ச கோரிக்கைகளை ஆதரவு அமைப்பு வழியாக அனுப்பவும்.
ஆவண மேம்படுத்தல்கள்
MPLAB XC8 ஆவணங்களின் ஆன்-லைன் மற்றும் புதுப்பித்த பதிப்புகளுக்கு, மைக்ரோசிப்பின் ஆன்லைன் தொழில்நுட்ப ஆவணத்தைப் பார்வையிடவும் webதளம்.
இந்த வெளியீட்டில் புதிய அல்லது புதுப்பிக்கப்பட்ட AVR ஆவணங்கள்:
- MUSL பதிப்புரிமை அறிவிப்பு
- MPLAB XC C கம்பைலர்களை நிறுவுதல் மற்றும் உரிமம் வழங்குதல் (திருத்தம் M)
- உட்பொதிக்கப்பட்ட பொறியாளர்களுக்கான MPLAB XC8 பயனர் வழிகாட்டி - AVR MCUகள் (திருத்தம் A)
- AVR MCU (திருத்த F) க்கான MPLAB XC8 C கம்பைலர் பயனர் வழிகாட்டி
- மைக்ரோசிப் ஒருங்கிணைந்த தரநிலை நூலக குறிப்பு வழிகாட்டி (திருத்தம் B)
மைக்ரோசிப் ஒருங்கிணைந்த தரநிலை நூலக குறிப்பு வழிகாட்டி, மைக்ரோசிப் ஒருங்கிணைந்த தரநிலை நூலகத்தால் வரையறுக்கப்பட்ட செயல்பாடுகளின் நடத்தை மற்றும் இடைமுகத்தையும், நூலக வகைகள் மற்றும் மேக்ரோக்களின் நோக்கத்தையும் விவரிக்கிறது. இந்தத் தகவல்களில் சில முன்னர் AVR® MCU க்கான MPLAB® XC8 C கம்பைலர் பயனர் வழிகாட்டியில் இருந்தன. சாதனம் சார்ந்த நூலகத் தகவல் இன்னும் இந்த தொகுப்பி வழிகாட்டியில் உள்ளது.
நீங்கள் 8-பிட் சாதனங்கள் மற்றும் MPLAB XC8 C கம்பைலருடன் தொடங்கினால், MPLAB® XC8 உட்பொதிக்கப்பட்ட பொறியாளர்களுக்கான பயனர் வழிகாட்டி - AVR® MCUs (DS50003108) MPLAB X IDE இல் திட்டங்களை அமைப்பது மற்றும் உங்கள் முதல் MPLAB XC8 C திட்டத்திற்கான குறியீட்டை எழுதுவது பற்றிய தகவல்களைக் கொண்டுள்ளது. இந்த வழிகாட்டி இப்போது தொகுப்பியுடன் விநியோகிக்கப்பட்டுள்ளது.
இந்த வெளியீட்டில் உள்ள டாக்ஸ் கோப்பகத்தில் Hamate பயனர் வழிகாட்டி சேர்க்கப்பட்டுள்ளது. இந்த வழிகாட்டி Hamate-ஐ ஒரு தனித்த பயன்பாடாக இயக்குபவர்களுக்காக வடிவமைக்கப்பட்டுள்ளது.
புதியது என்ன
தொகுப்பி இப்போது ஆதரிக்கும் புதிய AVR-இலக்கு அம்சங்கள் பின்வருமாறு. துணைத் தலைப்புகளில் உள்ள பதிப்பு எண், தொடர்ந்து வரும் அம்சங்களை ஆதரிக்கும் முதல் தொகுப்பி பதிப்பைக் குறிக்கிறது.
பதிப்பு 2.40
புதிய சாதன ஆதரவு பின்வரும் AVR பாகங்களுக்கு இப்போது ஆதரவு கிடைக்கிறது: AT90PWM3, AVR16DD14, AVR16DD20, AVR16DD28, AVR16DD32, AVR32DD14, AVR32DD20, AVR32DD28, AVR32DD32, AVR64EA28, AVR64EA32, மற்றும் AVR64EA48.
மேம்படுத்தப்பட்ட செயல்முறை சுருக்கம் செயல்முறை சுருக்கம் (PA) உகப்பாக்க கருவி மேம்படுத்தப்பட்டுள்ளது, இதனால் ஒரு செயல்பாட்டு அழைப்பு வழிமுறை (அழைப்பு நினைவுகூரல்) கொண்ட குறியீடு கோடிட்டுக் காட்டப்படும். ஸ்டேக் வாதங்களை செயல்பாட்டிற்கு அனுப்பவோ அல்லது திரும்ப மதிப்பைப் பெறவோ பயன்படுத்தப்படாவிட்டால் மட்டுமே இது நடக்கும். மாறி வாதப் பட்டியல் கொண்ட ஒரு செயல்பாட்டை அழைக்கும்போது அல்லது இந்த நோக்கத்திற்காக நியமிக்கப்பட்ட பதிவேடுகளை விட அதிகமான வாதங்களை எடுக்கும் ஒரு செயல்பாட்டை அழைக்கும்போது ஸ்டேக் பயன்படுத்தப்படுகிறது. இந்த அம்சத்தை monk-pa-outline-calls விருப்பத்தைப் பயன்படுத்தி முடக்கலாம் அல்லது ஒரு பொருளுக்கு செயல்முறை சுருக்கத்தை முழுவதுமாக முடக்கலாம். file அல்லது -monk-pa-on- ஐப் பயன்படுத்தி செயல்படுங்கள்file மற்றும் -mo.-pa-on-function முறையே, அல்லது செயல்பாடுகளுடன் தேர்ந்தெடுக்கப்பட்ட nipa பண்புக்கூறை ( nipa குறிப்பான்) பயன்படுத்துவதன் மூலம்
குறியீடு கவரேஜ் மேக்ரோ செல்லுபடியாகும் mcodecov விருப்பம் குறிப்பிடப்பட்டால், கம்பைலர் இப்போது மேக்ரோ __CODECOV ஐ வரையறுக்கிறது.
நினைவக முன்பதிவு விருப்பம் AVR இலக்குகளை உருவாக்கும்போது xc8-cc இயக்கி இப்போது -mreserve=space@start: end விருப்பத்தை ஏற்கும். இந்த விருப்பம் தரவு அல்லது நிரல் நினைவக இடத்தில் குறிப்பிட்ட நினைவக வரம்பை ஒதுக்கி வைக்கிறது, இதனால் இணைப்பான் இந்தப் பகுதியில் குறியீடு அல்லது பொருட்களை நிரப்புவதைத் தடுக்கிறது.
ஸ்மார்ட்டர் ஸ்மார்ட் IO ஸ்மார்ட் IO செயல்பாடுகளில் பல மேம்பாடுகள் செய்யப்பட்டுள்ளன, அவற்றில் printf கோர் குறியீட்டில் பொதுவான மாற்றங்கள், %n மாற்று விவரக்குறிப்பை ஒரு சுயாதீன மாறுபாடாகக் கருதுதல், தேவைக்கேற்ப vararg பாப் நடைமுறைகளில் இணைத்தல், IO செயல்பாட்டு வாதங்களைக் கையாள முடிந்தவரை குறுகிய தரவு வகைகளைப் பயன்படுத்துதல் மற்றும் புல அகலம் மற்றும் துல்லியமான கையாளுதலில் பொதுவான குறியீட்டை காரணியாக்குதல் ஆகியவை அடங்கும். இது குறிப்பிடத்தக்க குறியீடு மற்றும் தரவு சேமிப்பை ஏற்படுத்தும், அத்துடன் IO இன் செயல்பாட்டு வேகத்தையும் அதிகரிக்கும்.
பதிப்பு 2.39 (செயல்பாட்டு பாதுகாப்பு வெளியீடு)
நெட்வொர்க் சர்வர் உரிமம் MPLAB XC8 செயல்பாட்டு பாதுகாப்பு தொகுப்பியின் இந்த வெளியீடு நெட்வொர்க் சர்வர் உரிமத்தை ஆதரிக்கிறது.
பதிப்பு 2.36
இல்லை.
பதிப்பு 2.35
புதிய சாதன ஆதரவு பின்வரும் AVR பாகங்களுக்கு ஆதரவு கிடைக்கிறது: ATTINY3224, ATTINY3226, ATTINY3227, AVR64DD14, AVR64DD20, AVR64DD28, மற்றும் AVR64DD32.
மேம்படுத்தப்பட்ட சூழல் மாறுதல் புதிய -mcall-isr-prologues விருப்பம், குறுக்கீடு செயல்பாடுகள் பதிவேடுகளை நுழையும்போது எப்படிச் சேமிக்கிறது மற்றும் குறுக்கீடு ரொட்டீன் முடிவடையும் போது அந்த பதிவேடுகள் எவ்வாறு மீட்டமைக்கப்படுகின்றன என்பதை மாற்றுகிறது. இது -mcall-prologues விருப்பத்தைப் போலவே செயல்படுகிறது, ஆனால் குறுக்கீடு செயல்பாடுகளை (ISRs) மட்டுமே பாதிக்கிறது.
இன்னும் மேம்பட்ட சூழல் மாறுதல் புதிய -mgas-isr-prologues விருப்பம், சிறிய குறுக்கீடு சேவை நடைமுறைகளுக்காக உருவாக்கப்படும் சூழல்கள் நமைச்சல் குறியீட்டைக் கட்டுப்படுத்துகிறது. இந்த அம்சம் இயக்கப்படும் போது, அசெம்பிளர் பதிவு பயன்பாட்டிற்காக ISR ஐ ஸ்கேன் செய்து, தேவைப்பட்டால் மட்டுமே பயன்படுத்தப்பட்ட பதிவுகளை சேமிக்கும்.
கட்டமைக்கக்கூடிய ஃபிளாஷ் மேப்பிங் AVR DA மற்றும் AVR DB குடும்பத்தில் உள்ள சில சாதனங்கள் ஒரு SFR (எ.கா. FLMAP) ஐக் கொண்டுள்ளன, இது எந்த 32k பிரிவு நிரல் நினைவகம் தரவு நினைவகத்தில் மேப் செய்யப்படும் என்பதைக் குறிப்பிடுகிறது. புதிய - mconst-data-in-config-mapped-proem விருப்பத்தை இணைப்பான் அனைத்து cons தகுதிவாய்ந்த தரவையும் ஒரு 32k பிரிவில் வைக்கப் பயன்படுத்தலாம் மற்றும் இந்தத் தரவு தரவு நினைவக இடத்தில் மேப் செய்யப்படுவதை உறுதிசெய்ய தொடர்புடைய SFR பதிவேட்டை தானாகவே துவக்கலாம், அங்கு அது மிகவும் திறம்பட அணுகப்படும்.
மைக்ரோசிப் ஒருங்கிணைந்த தரநிலை நூலகங்கள் அனைத்து MPLAB XC கம்பைலர்களும் ஒரு மைக்ரோசிப் யுனிஃபைட் ஸ்டாண்டர்ட் லைப்ரரியைப் பகிர்ந்து கொள்ளும், இது இப்போது MPLAB XC8 இன் இந்த வெளியீட்டில் கிடைக்கிறது. MPLAB® XC8 C கம்பைலர் பயனர் வழிகாட்டி/அல்லது AVR® MCU இனி இந்த நிலையான செயல்பாடுகளுக்கான ஆவணங்களை உள்ளடக்காது. இந்தத் தகவலை இப்போது மைக்ரோசிப் யுனிஃபைட் ஸ்டாண்டர்ட் லைப்ரரி குறிப்பு வழிகாட்டியில் காணலாம். avr-libc ஆல் முன்னர் வரையறுக்கப்பட்ட சில செயல்பாடுகள் இனி கிடைக்காது என்பதை நினைவில் கொள்ளவும். (Libar ஐப் பார்க்கவும்):'. functionalitY…)
ஸ்மார்ட் IO புதிய ஒருங்கிணைந்த நூலகங்களின் ஒரு பகுதியாக, அச்சு மற்றும் ஸ்கேன் குடும்பங்களில் உள்ள IO செயல்பாடுகள் இப்போது ஒவ்வொரு கட்டமைப்பிலும் தனிப்பயன் உருவாக்கப்படுகின்றன, இந்த செயல்பாடுகள் நிரலில் எவ்வாறு பயன்படுத்தப்படுகின்றன என்பதைப் பொறுத்து. இது ஒரு நிரலால் பயன்படுத்தப்படும் வளங்களை கணிசமாகக் குறைக்கலாம்.
ஸ்மார்ட் IO உதவி விருப்பம் ஸ்மார்ட் IO செயல்பாடுகளுக்கான அழைப்புகளை (printf() அல்லது scanf() போன்றவை) பகுப்பாய்வு செய்யும் போது, தொகுப்பி எப்போதும் வடிவமைப்பு சரத்திலிருந்து தீர்மானிக்கவோ அல்லது அழைப்பிற்குத் தேவையான மாற்று விவரக்குறிப்புகளை வாதங்களிலிருந்து ஊகிக்கவோ முடியாது. முன்னதாக, தொகுப்பி எப்போதும் எந்த அனுமானங்களையும் செய்யாது மற்றும் முழுமையாக செயல்படும் IO செயல்பாடுகள் இறுதி நிரல் படத்தில் இணைக்கப்பட்டுள்ளதை உறுதி செய்யும். ஒரு புதிய - msmart-io-format=fmt விருப்பம் சேர்க்கப்பட்டுள்ளது, இதன் மூலம் தொகுப்பிக்கு பதிலாக பயனர் தெளிவற்ற பயன்பாடு கொண்ட ஸ்மார்ட் IO செயல்பாடுகளால் பயன்படுத்தப்படும் மாற்று விவரக்குறிப்புகளைப் பற்றி தெரிவிக்க முடியும், இது அதிகப்படியான நீண்ட IO நடைமுறைகள் இணைக்கப்படுவதைத் தடுக்கிறது. (மேலும் விவரங்களுக்கு ஸ்மார்ட்-io-format விருப்பத்தைப் பார்க்கவும்.)
தனிப்பயன் பிரிவுகளை வைப்பது முன்னதாக, -Wl, -section-start விருப்பம், இணைப்பான் ஸ்கிரிப்ட் அதே பெயரில் ஒரு வெளியீட்டுப் பிரிவை வரையறுக்கும் போது மட்டுமே குறிப்பிட்ட பகுதியை கோரப்பட்ட முகவரியில் வைக்கும். அப்படி இல்லாதபோது, இணைப்பான் தேர்ந்தெடுத்த முகவரியில் பிரிவு வைக்கப்பட்டு, விருப்பம் அடிப்படையில் புறக்கணிக்கப்பட்டது. இணைப்பான் ஸ்கிரிப்ட் பிரிவை வரையறுக்காவிட்டாலும், இப்போது அனைத்து தனிப்பயன் பிரிவுகளுக்கும் விருப்பம் மதிக்கப்படும். இருப்பினும், நிலையான பிரிவுகளுக்கு, . text, . bss அல்லது . data போன்றவற்றுக்கு, சிறந்த பொருத்த ஒதுக்கீட்டாளர் அவற்றின் இடத்தின் மீது முழுமையான கட்டுப்பாட்டைக் கொண்டிருப்பார், மேலும் அந்த விருப்பம் எந்த விளைவையும் ஏற்படுத்தாது என்பதை நினைவில் கொள்ளவும். பயனரின் வழிகாட்டியில் விவரிக்கப்பட்டுள்ளபடி, -Wl, -Tsection=add விருப்பத்தைப் பயன்படுத்தவும்.
பதிப்பு 2.32
ஸ்டாக் வழிகாட்டுதல் PRO கம்பைலர் உரிமத்துடன் கிடைக்கும், கம்பைலரின் ஸ்டேக் வழிகாட்டுதல் அம்சம், ஒரு நிரலால் பயன்படுத்தப்படும் எந்த ஸ்டேக்கின் அதிகபட்ச ஆழத்தையும் மதிப்பிடப் பயன்படுகிறது. இது ஒரு நிரலின் அழைப்பு வரைபடத்தை உருவாக்கி பகுப்பாய்வு செய்கிறது, ஒவ்வொரு செயல்பாட்டின் ஸ்டேக் பயன்பாட்டை தீர்மானிக்கிறது மற்றும் ஒரு அறிக்கையை உருவாக்குகிறது, அதிலிருந்து நிரலால் பயன்படுத்தப்படும் ஸ்டேக்குகளின் ஆழத்தை ஊகிக்க முடியும். இந்த அம்சம் -mchp-stack-usage கட்டளை வரி விருப்பத்தின் மூலம் செயல்படுத்தப்படுகிறது. செயல்படுத்தப்பட்ட பிறகு ஸ்டேக் பயன்பாட்டின் சுருக்கம் அச்சிடப்படுகிறது. வரைபடத்தில் விரிவான ஸ்டேக் அறிக்கை கிடைக்கிறது. file, இது வழக்கமான முறையில் கோரப்படலாம்.
புதிய சாதன ஆதரவு ஆதரவு பின்வரும் AVR பாகங்களுக்குக் கிடைக்கிறது: ATTINY 427, ATTINY 424, ATTINY 426, ATTINY827, ATTINY824, ATTINY826, AVR32DB32, AVR64DB48, AVR64DB64, AVR64DB28, AVR32DB28, AVR64DB32, மற்றும் AVR32DB48.
திரும்பப் பெறப்பட்ட சாதன ஆதரவு ஆதரவு பின்வரும் AVR பாகங்களுக்கு இனி கிடைக்காது: AVR16DA28, AVR16DA32 மற்றும், AVR16DA48.
பதிப்பு 2.31
இல்லை.
பதிப்பு 2.30
தரவு துவக்கத்தைத் தடுக்க புதிய விருப்பம் -mno-data-ini t இயக்கி விருப்பம் தரவை துவக்குவதையும் bss பிரிவுகளை அழிப்பதையும் தடுக்கிறது. இது do_ copy_ தரவு மற்றும் d o_ clear_ bss சின்னங்களின் வெளியீட்டை அசெம்பிளியில் அடக்குவதன் மூலம் செயல்படுகிறது. files, இது இணைப்பாளரால் அந்த நடைமுறைகளைச் சேர்ப்பதைத் தடுக்கும்.
மேம்படுத்தப்பட்ட மேம்படுத்தல்கள் தேவையற்ற திரும்பும் வழிமுறைகளை அகற்றுதல், ஸ்கிப்-இஃப்-பிட்-இஸ் அறிவுறுத்தலைத் தொடர்ந்து சில தாவல்களை அகற்றுதல் மற்றும் மேம்படுத்தப்பட்ட செயல்முறை சுருக்கம் மற்றும் இந்த செயல்முறையை மீண்டும் செய்யும் திறன் உட்பட பல தேர்வுமுறை மேம்பாடுகள் செய்யப்பட்டுள்ளன.
இந்த மேம்படுத்தல்களில் சிலவற்றைக் கட்டுப்படுத்த கூடுதல் விருப்பங்கள் இப்போது கிடைக்கின்றன, குறிப்பாக -f பிரிவு நங்கூரங்கள், இது ஒரு சின்னத்துடன் தொடர்புடைய நிலையான பொருள்களின் அணுகலைச் செய்ய அனுமதிக்கிறது; -mpai derations=n, இது நடைமுறை சுருக்க மறு செய்கைகளின் எண்ணிக்கையை 2 இன் இயல்புநிலையிலிருந்து மாற்ற அனுமதிக்கிறது; மற்றும், -mpa- அழைப்பு செலவு- குறுகிய அழைப்பு, இது இணைப்பான் நீண்ட அழைப்புகளைத் தளர்த்த முடியும் என்ற நம்பிக்கையில், மிகவும் தீவிரமான நடைமுறை சுருக்கத்தைச் செய்கிறது. அடிப்படை அனுமானங்கள் உணரப்படாவிட்டால் இந்த கடைசி விருப்பம் குறியீட்டின் அளவை அதிகரிக்கலாம்.
புதிய சாதன ஆதரவு பின்வரும் AVR பாகங்களுக்கு ஆதரவு கிடைக்கிறது: AVR16DA28, AVR16DA32,
AVR16DA48, AVR32DA28, AVR32DA32, AVR32DA48, AVR64DA28, AVR64DA32, AVR64DA48, AVR64DA64, AVR128DB28, AVR128DB32, AVR128DB48, மற்றும் AVR128DB64.
சாதன ஆதரவு திரும்பப் பெறப்பட்டது பின்வரும் AVR பாகங்களுக்கு ஆதரவு இனி கிடைக்காது: ATA5272, ATA5790, ATA5790N,ATA5791,ATA5795,ATA6285,ATA6286,ATA6612C,ATA6613C,ATA6614Q, ATA6616C, ATA6617C, மற்றும் ATA664251.
பதிப்பு 2.29 (செயல்பாட்டு பாதுகாப்பு வெளியீடு)
தலைப்பு file கம்பைலர் உள்ளமைக்கப்பட்டவற்றுக்கு, கம்பைலர் MISRA போன்ற மொழி விவரக்குறிப்புகளுக்கு இணங்க முடியும் என்பதை உறுதிப்படுத்த, தலைப்பு file, இது தானாகவே சேர்க்கப்படும் , புதுப்பிக்கப்பட்டுள்ளது. இந்த தலைப்பு _buil tin _avrnop () மற்றும் _buil tin_ avr delay_ cycles () போன்ற அனைத்து உள்ளமைக்கப்பட்ட செயல்பாடுகளுக்கான முன்மாதிரிகளைக் கொண்டுள்ளது. சில உள்ளமைக்கப்பட்டவை MISRA இணக்கமாக இருக்காது; தொகுப்பி கட்டளை வரியில் _Xe_ STRICT_ MISRA ஐ வரையறுப்பதைச் சேர்ப்பதன் மூலம் இவற்றைத் தவிர்க்கலாம். உள்ளமைக்கப்பட்டவை மற்றும் அவற்றின் அறிவிப்புகள் நிலையான அகல வகைகளைப் பயன்படுத்த புதுப்பிக்கப்பட்டுள்ளன.
பதிப்பு 2.20
புதிய சாதன ஆதரவு பின்வரும் AVR பாகங்களுக்கு ஆதரவு கிடைக்கிறது: ATTINY1624, ATTINY1626, மற்றும் ATTINY1627.
சிறந்த சிறந்த பொருத்தம் ஒதுக்கீடு கம்பைலரில் உள்ள சிறந்த ஃபிட் அலோகேட்டர் (BFA) மேம்படுத்தப்பட்டுள்ளது, இதனால் பிரிவுகள் சிறந்த தேர்வுமுறையை அனுமதிக்கும் வரிசையில் ஒதுக்கப்படும். BFA இப்போது பெயரிடப்பட்ட முகவரி இடைவெளிகளை ஆதரிக்கிறது மற்றும் தரவு துவக்கத்தை சிறப்பாக கையாளுகிறது.
மேம்படுத்தப்பட்ட செயல்முறை சுருக்கம் நடைமுறை சுருக்க உகப்பாக்கங்கள் இப்போது அதிக குறியீடு வரிசைகளில் செய்யப்படுகின்றன. இந்த உகப்பாக்கம் குறியீட்டு அளவை அதிகரித்திருக்கக்கூடிய முந்தைய சூழ்நிலைகள் இணைப்பாளரின் குப்பை சேகரிப்பு செயல்முறையைப் பற்றி உகப்பாக்க குறியீட்டை அறிந்துகொள்வதன் மூலம் நிவர்த்தி செய்யப்பட்டுள்ளன.
ஏவிஆர் அசெம்பிளர் இல்லாதது இந்த விநியோகத்தில் AVR அசெம்பிளர் இனி சேர்க்கப்படாது.
பதிப்பு 2.19 (செயல்பாட்டு பாதுகாப்பு வெளியீடு)
இல்லை.
பதிப்பு 2.10
குறியீட்டு கவரேஜ் இந்த வெளியீட்டில் ஒரு குறியீட்டு கவரேஜ் அம்சம் உள்ளது, இது ஒரு திட்டத்தின் மூலக் குறியீடு எந்த அளவிற்கு செயல்படுத்தப்பட்டுள்ளது என்பதை பகுப்பாய்வு செய்ய உதவுகிறது. அதை இயக்க -mcodecov=ram விருப்பத்தைப் பயன்படுத்தவும். உங்கள் வன்பொருளில் நிரலை செயல்படுத்திய பிறகு, குறியீட்டு கவரேஜ் தகவல் சாதனத்தில் தொகுக்கப்படும், மேலும் இது MPLAB X IDE ஆல் குறியீட்டு கவரேஜ் செருகுநிரல் வழியாக மாற்றப்பட்டு காண்பிக்கப்படும். இந்த செருகுநிரல் பற்றிய தகவல்களைப் பெற IDE ஆவணங்களைப் பார்க்கவும். கவரேஜ் பகுப்பாய்விலிருந்து அடுத்தடுத்த செயல்பாடுகளை விலக்க #pragma mcodecov ஐப் பயன்படுத்தலாம். சிறந்த முறையில், pragma இன் தொடக்கத்தில் சேர்க்கப்பட வேண்டும். file அதை முழுவதுமாக விலக்க வேண்டும் file மாற்றாக, கவரேஜ் பகுப்பாய்விலிருந்து ஒரு குறிப்பிட்ட செயல்பாட்டை விலக்க பண்புக்கூறு ( (mcodecov) ) பயன்படுத்தப்படலாம்.
சாதன விளக்கம் files ஒரு புதிய சாதனம் file avr chipinfo என அழைக்கப்படுகிறது. html என்பது கம்பைலர் விநியோகத்தின் டாக்ஸ் கோப்பகத்தில் அமைந்துள்ளது. இது file கம்பைலரால் ஆதரிக்கப்படும் அனைத்து சாதனங்களையும் பட்டியலிடுகிறது. ஒரு சாதனத்தின் பெயரைக் கிளிக் செய்யவும், அது அந்தச் சாதனத்திற்கான அனுமதிக்கக்கூடிய அனைத்து உள்ளமைவு பிட் அமைப்பு/மதிப்பு ஜோடிகளைக் காட்டும் பக்கத்தைத் திறக்கும்.ampலெஸ்.
செயல்முறை சுருக்கம் அசெம்பிளி குறியீட்டின் பொதுவான தொகுதிகளை அந்தத் தொகுதியின் பிரித்தெடுக்கப்பட்ட நகலுக்கான அழைப்புகளுடன் மாற்றும் நடைமுறை சுருக்க உகப்பாக்கங்கள், தொகுப்பியில் சேர்க்கப்பட்டுள்ளன. இவை ஒரு தனி பயன்பாட்டால் செய்யப்படுகின்றன, இது நிலை 2, 3 அல்லது மேம்படுத்தல்களைத் தேர்ந்தெடுக்கும்போது தொகுப்பாளரால் தானாகவே செயல்படுத்தப்படும். இந்த மேம்படுத்தல்கள் குறியீட்டின் அளவைக் குறைக்கின்றன, ஆனால் அவை செயல்படுத்தல் வேகத்தையும் குறியீட்டை பிழைத்திருத்தத்தையும் குறைக்கலாம்.
-mno-pa விருப்பத்தைப் பயன்படுத்தி அதிக தேர்வுமுறை நிலைகளில் செயல்முறை சுருக்கத்தை முடக்கலாம் அல்லது -mpa ஐப் பயன்படுத்தி குறைந்த தேர்வுமுறை நிலைகளில் (உங்கள் உரிமத்திற்கு உட்பட்டு) செயல்படுத்தலாம். ஒரு பொருளுக்கு அதை முடக்கலாம் file -mno-pa-on-ஐப் பயன்படுத்துதல்file=filefunction= செயல்பாட்டில் -mno-pa ஐப் பயன்படுத்தி ஒரு செயல்பாட்டிற்கு name அல்லது முடக்கவும்.
உங்கள் மூலக் குறியீட்டிற்குள், செயல்பாட்டின் வரையறையுடன் _attribute_ ( (nopa)) ஐப் பயன்படுத்துவதன் மூலமோ அல்லது பண்புக்கூறு ( (nopa, noinline)) ஆக விரிவடையும் _nopa ஐப் பயன்படுத்துவதன் மூலமோ ஒரு செயல்பாட்டிற்கான நடைமுறை சுருக்கத்தை முடக்கலாம், இதனால் செயல்பாட்டு இன்லைனிங் நடைபெறுவதையும், இன்லைன் செய்யப்பட்ட குறியீட்டின் சுருக்கம் இருப்பதையும் தடுக்கிறது.
பிரக்மாவில் லாக் பிட் சப்போர்ட் #pragma config இப்போது AVR பூட்டு பிட்களையும் மற்ற உள்ளமைவு பிட்களையும் குறிப்பிடப் பயன்படுகிறது. avr சிப் தகவலைச் சரிபார்க்கவும். html file (மேலே குறிப்பிட்டது) அமைப்பு/மதிப்பு ஜோடிகளுக்கு இந்த பிரக்மாவுடன் பயன்படுத்த வேண்டும்.
புதிய சாதன ஆதரவு பின்வரும் பகுதிகளுக்கு ஆதரவு கிடைக்கிறது: AVR28DA128, AVR64DA128, AVR32DA128, மற்றும் AVR48DA128.
பதிப்பு 2.05
உங்கள் பணத்திற்கு மேலும் பிட்கள் இந்த கம்பைலர் மற்றும் லைசென்ஸ் மேலாளரின் மேகோஸ் பதிப்பு இப்போது 64-பிட் பயன்பாடாக உள்ளது. MacOS இன் சமீபத்திய பதிப்புகளில் எச்சரிக்கைகள் இல்லாமல் கம்பைலர் நிறுவப்பட்டு இயங்குவதை இது உறுதி செய்யும்.
நிரல் நினைவகத்தில் உள்ள கான்ஸ்ட் பொருள்கள் தொகுப்பி இப்போது கான்ஸ்ட்-தகுதிவாய்ந்த பொருள்களை RAM இல் வைப்பதற்குப் பதிலாக நிரல் ஃப்ளாஷ் நினைவகத்தில் வைக்க முடியும். கான்ஸ்ட்-தகுதிவாய்ந்த உலகளாவிய தரவு நிரல் ஃப்ளாஷ் நினைவகத்தில் சேமிக்கப்படும் வகையில் தொகுப்பி மாற்றியமைக்கப்பட்டுள்ளது, மேலும் இந்தத் தரவை பொருத்தமான நிரல்-நினைவக வழிமுறைகளைப் பயன்படுத்தி நேரடியாகவும் மறைமுகமாகவும் அணுக முடியும். இந்தப் புதிய அம்சம் முன்னிருப்பாக இயக்கப்பட்டது, ஆனால் -mno-const-data-in-progmem விருப்பத்தைப் பயன்படுத்தி முடக்கலாம். avrxmega3 மற்றும் avrtiny கட்டமைப்புகளுக்கு, இந்த அம்சம் தேவையில்லை, மேலும் எப்போதும் முடக்கப்படும், ஏனெனில் நிரல் நினைவகம் இந்த சாதனங்களுக்கான தரவு முகவரி இடத்தில் மேப் செய்யப்படுகிறது.
இலவசமாக தரநிலை இந்த கம்பைலரின் உரிமம் பெறாத (இலவச) பதிப்புகள் இப்போது நிலை 2 வரை மேம்படுத்தல்களை அனுமதிக்கின்றன. இது ஒரே மாதிரியாக இல்லாவிட்டாலும், ஸ்டாண்டர்ட் உரிமத்தைப் பயன்படுத்தி முன்பு சாத்தியமான வெளியீட்டை அனுமதிக்கும்.
வரவேற்கிறோம் AVRASM2 2-பிட் சாதனங்களுக்கான AVRASM8 அசெம்பிளர் இப்போது XC8 கம்பைலர் நிறுவியில் சேர்க்கப்பட்டுள்ளது. இந்த அசெம்பிளர் XC8 கம்பைலரால் பயன்படுத்தப்படுவதில்லை, ஆனால் கையால் எழுதப்பட்ட அசெம்பிளிங் மூலத்தை அடிப்படையாகக் கொண்ட திட்டங்களுக்குக் கிடைக்கிறது.
புதிய சாதன ஆதரவு பின்வரும் பாகங்களுக்கு ஆதரவு கிடைக்கிறது: ATMEGA1608, ATMEGA1609, ATMEGA808, மற்றும் ATMEGA809.
பதிப்பு 2.00
உயர்மட்ட டிரைவர் xc8-cc எனப்படும் ஒரு புதிய இயக்கி, இப்போது முந்தைய avr-gcc இயக்கி மற்றும் xc8 இயக்கிக்கு மேலே அமர்ந்திருக்கிறது, மேலும் இலக்கு சாதனத்தின் தேர்வின் அடிப்படையில் பொருத்தமான தொகுப்பியை அழைக்க முடியும். இந்த இயக்கி GCC-பாணி விருப்பங்களை ஏற்றுக்கொள்கிறது, அவை செயல்படுத்தப்படும் தொகுப்பிக்கு மொழிபெயர்க்கப்படுகின்றன அல்லது அனுப்பப்படுகின்றன. இந்த இயக்கி எந்தவொரு AVR அல்லது PIC இலக்குடனும் ஒத்த சொற்பொருள்களைக் கொண்ட ஒத்த விருப்பங்களின் தொகுப்பைப் பயன்படுத்த அனுமதிக்கிறது, எனவே தொகுப்பியைச் செயல்படுத்த பரிந்துரைக்கப்பட்ட வழி இது. தேவைப்பட்டால், பழைய avr-gcc இயக்கியை முந்தைய தொகுப்பி பதிப்புகளில் ஏற்றுக்கொள்ளப்பட்ட பழைய பாணி விருப்பங்களைப் பயன்படுத்தி நேரடியாக அழைக்கலாம்.
பொதுவான சி இடைமுகம் இந்த கம்பைலர் இப்போது MPLAB Common C இன்டர்ஃபேஸுடன் இணங்க முடியும், இது அனைத்து MPLAB XC கம்பைலர்களிலும் மூலக் குறியீட்டை மிக எளிதாக போர்ட் செய்ய அனுமதிக்கிறது. -mext=cci விருப்பம் இந்த அம்சத்தைக் கோருகிறது, பல மொழி நீட்டிப்புகளுக்கு மாற்று தொடரியல் செயல்படுத்துகிறது.
புதிய நூலகர் ஓட்டுநர் ஒரு புதிய நூலகர் இயக்கி முந்தைய PIC libr நூலகர் மற்றும் AVR avr-ar நூலகருக்கு மேலே நிலைநிறுத்தப்பட்டுள்ளது. இந்த இயக்கி GCC-archiver-style விருப்பங்களை ஏற்றுக்கொள்கிறது, அவை செயல்படுத்தப்படும் நூலகருக்கு மொழிபெயர்க்கப்படுகின்றன அல்லது அனுப்பப்படுகின்றன. புதிய இயக்கி எந்தவொரு PIC அல்லது AVR நூலகத்தையும் உருவாக்க அல்லது கையாள ஒத்த சொற்பொருள்களைக் கொண்ட ஒத்த விருப்பங்களின் தொகுப்பைப் பயன்படுத்த அனுமதிக்கிறது. file எனவே நூலகரை அழைக்க இது பரிந்துரைக்கப்பட்ட வழியாகும். மரபுத் திட்டங்களுக்குத் தேவைப்பட்டால், முந்தைய கம்பைலர் பதிப்புகளில் ஏற்றுக்கொண்ட பழைய பாணி விருப்பங்களைப் பயன்படுத்தி முந்தைய நூலகரை நேரடியாக அழைக்கலாம்.
இடம்பெயர்வு சிக்கல்கள்
பின்வரும் அம்சங்கள் இப்போது தொகுப்பாளரால் வித்தியாசமாகக் கையாளப்படுகின்றன. குறியீட்டை இந்த தொகுப்பி பதிப்பிற்கு மாற்றினால், இந்த மாற்றங்களுக்கு உங்கள் மூலக் குறியீட்டில் மாற்றங்கள் தேவைப்படலாம். துணைத் தலைப்புகளில் உள்ள பதிப்பு எண், தொடர்ந்து வரும் மாற்றங்களை ஆதரிக்கும் முதல் தொகுப்பி பதிப்பைக் குறிக்கிறது.
பதிப்பு 2.40
இல்லை.
பதிப்பு 2.39 (செயல்பாட்டு பாதுகாப்பு வெளியீடு)
இல்லை.
பதிப்பு 2.36
இல்லை.
பதிப்பு 2.35
சரம்-க்கு-அடிப்படைகளைக் கையாளுதல் (XCS-2420) மற்ற XC கம்பைலர்களுடன் நிலைத்தன்மையை உறுதி செய்வதற்காக, strtol () போன்ற XC8 string-to செயல்பாடுகள், குறிப்பிடப்பட்ட அடிப்படை 36 ஐ விட பெரியதாக இருந்தால், உள்ளீட்டு சரத்தை இனி மாற்ற முயற்சிக்காது, அதற்கு பதிலாக errno ஐ EINVAL ஆக அமைக்கும். இந்த அடிப்படை மதிப்பு மீறப்படும்போது செயல்பாடுகளின் நடத்தையை C தரநிலை குறிப்பிடவில்லை.
பொருத்தமற்ற வேக மேம்படுத்தல்கள் நிலை 3 மேம்படுத்தல்களைத் தேர்ந்தெடுக்கும்போது (-03) செயல்முறை சுருக்கம் மேம்படுத்தல்கள் இயக்கப்பட்டன. இந்த மேம்படுத்தல்கள் குறியீட்டு வேகத்தின் இழப்பில் குறியீட்டின் அளவைக் குறைக்கின்றன, எனவே இது செய்யப்படக்கூடாது. இந்த மேம்படுத்தல் நிலையைப் பயன்படுத்தும் திட்டங்கள், இந்த வெளியீட்டைக் கொண்டு கட்டமைக்கப்படும் போது குறியீட்டின் அளவு மற்றும் செயலாக்க வேகத்தில் வேறுபாடுகளைக் காணலாம்.
நூலக செயல்பாடு பல நிலையான C நூலக செயல்பாடுகளுக்கான குறியீடு இப்போது மைக்ரோசிப்பின் ஒருங்கிணைந்த தரநிலை நூலகத்திலிருந்து வருகிறது, இது சில சூழ்நிலைகளில் முந்தைய avr-libc நூலகத்தால் வழங்கப்பட்டதை விட வேறுபட்ட நடத்தையை வெளிப்படுத்தக்கூடும்.ampஎனவே, மிதவை-வடிவ விவரக்குறிப்புகளுக்கான வடிவமைக்கப்பட்ட IO ஆதரவை இயக்க lprintf_flt நூலகத்தில் (-print _flt விருப்பம்) இணைப்பது இனி அவசியமில்லை. மைக்ரோசிப் ஒருங்கிணைந்த தரநிலை நூலகத்தின் ஸ்மார்ட் IO அம்சங்கள் இந்த விருப்பத்தை தேவையற்றதாக ஆக்குகின்றன. கூடுதலாக, ஃபிளாஷில் உள்ள const சரங்களில் செயல்படும் சரம் மற்றும் நினைவக செயல்பாடுகளுக்கு (எ.கா. strcpy_P () போன்றவை ..) _p பின்னொட்டு நடைமுறைகளைப் பயன்படுத்துவது இனி தேவையில்லை. const-data-in-program-memory அம்சம் இயக்கப்பட்டிருக்கும் போது நிலையான C நடைமுறைகள் (எ.கா. strcpy ()) அத்தகைய தரவுகளுடன் சரியாக வேலை செய்யும்.
பதிப்பு 2.32
இல்லை.
பதிப்பு 2.31
இல்லை.
பதிப்பு 2.30
இல்லை.
பதிப்பு 2.29 (செயல்பாட்டு பாதுகாப்பு வெளியீடு)
இல்லை.
பதிப்பு 2.20
DFP தளவமைப்பு மாற்றப்பட்டது கம்பைலர் இப்போது DFP கள் (சாதன குடும்பப் பொதிகள்) பயன்படுத்தும் வேறுபட்ட தளவமைப்பைக் கருதுகிறது. இந்த வெளியீட்டில் பழைய DFP வேலை செய்யாமல் போகலாம், மேலும் பழைய கம்பைலர்கள் சமீபத்திய DFPகளைப் பயன்படுத்த முடியாது.
பதிப்பு 2.19 (செயல்பாட்டு பாதுகாப்பு வெளியீடு)
இல்லை.
பதிப்பு 2.10
இல்லை
பதிப்பு 2.05
நிரல் நினைவகத்தில் பொருள்களை மாற்றவும் முன்னிருப்பாக, const-qualified பொருள்கள் நிரல் நினைவகத்தில் வைக்கப்பட்டு அணுகப்படும் என்பதை நினைவில் கொள்ளவும் (இங்கே விவரிக்கப்பட்டுள்ளபடி). இது உங்கள் திட்டத்தின் அளவு மற்றும் செயல்பாட்டு வேகத்தை பாதிக்கும், ஆனால் RAM பயன்பாட்டைக் குறைக்கும். தேவைப்பட்டால், -mnoconst-da ta-in-progmem விருப்பத்தைப் பயன்படுத்தி இந்த அம்சத்தை முடக்கலாம்.
பதிப்பு 2.00
கட்டமைப்பு உருகிகள் சாதன உள்ளமைவு உருகிகளை இப்போது ஒரு config pragma ஐப் பயன்படுத்தி நிரல் செய்யலாம், அதைத் தொடர்ந்து fuse நிலையைக் குறிப்பிட setting-value pairs ஐப் பயன்படுத்தலாம், எ.கா.
#pragma config WDT0N = SET
#pragma கட்டமைப்பு B0DLEVEL = B0DLEVEL_4V3
முழுமையான பொருள்கள் மற்றும் செயல்பாடுகள் பொருள்கள் மற்றும் செயல்பாடுகளை இப்போது CCI _at (முகவரி) குறிப்பானைப் பயன்படுத்தி நினைவகத்தில் குறிப்பிட்ட முகவரியில் வைக்கலாம், எ.கா.ampலெ: #சேர்க்கிறது int foobar at(Ox800100); char at(Ox250) get ID(int offset) { … } இந்த குறிப்பானுக்கான வாதம் முதல் பைட் அல்லது அறிவுறுத்தல் வைக்கப்படும் முகவரியைக் குறிக்கும் ஒரு மாறிலியாக இருக்க வேண்டும். RAM முகவரிகள் 0x800000 ஆஃப்செட்டைப் பயன்படுத்தி குறிக்கப்படுகின்றன. இந்த அம்சத்தைப் பயன்படுத்த CCI ஐ இயக்கவும்.
புதிய குறுக்கீடு செயல்பாடு தொடரியல் C செயல்பாடுகள் குறுக்கீடு கையாளுபவர்கள் என்பதைக் குறிக்க தொகுப்பி இப்போது CCI குறுக்கீடு (எண்) குறிப்பானை ஏற்றுக்கொள்கிறது. குறிப்பான் ஒரு குறுக்கீடு எண்ணை எடுக்கிறது, எடுத்துக்காட்டாகampலெ: #சேர்க்கிறது void interrupt(SPI STC_ vect _num) spi Isr(void) { … }
நிலையான சிக்கல்கள்
தொகுப்பியில் செய்யப்பட்ட திருத்தங்கள் பின்வருமாறு. இவை உருவாக்கப்பட்ட குறியீட்டில் உள்ள பிழைகளை சரிசெய்யலாம் அல்லது பயனரின் வழிகாட்டியால் நோக்கம் கொண்ட அல்லது குறிப்பிடப்பட்டதற்கு தொகுப்பியின் செயல்பாட்டை மாற்றலாம். துணைத் தலைப்புகளில் உள்ள பதிப்பு எண், தொடர்ந்து வரும் சிக்கல்களுக்கான தீர்வுகளைக் கொண்ட முதல் தொகுப்பி பதிப்பைக் குறிக்கிறது. தலைப்பில் உள்ள அடைப்புக்குறியிடப்பட்ட லேபிள்(கள்) கண்காணிப்பு தரவுத்தளத்தில் அந்த சிக்கலின் அடையாளமாகும். நீங்கள் ஆதரவைத் தொடர்பு கொள்ள வேண்டியிருந்தால் இவை பயனுள்ளதாக இருக்கும்.
சாதனத்துடன் தொடர்புடைய சாதன குடும்பப் பொதியில் (DFP) சில சாதனம் சார்ந்த சிக்கல்கள் சரி செய்யப்படுகின்றன என்பதை நினைவில் கொள்ளவும். DFP களில் செய்யப்பட்ட மாற்றங்கள் மற்றும் சமீபத்திய பொதிகளைப் பதிவிறக்குவது பற்றிய தகவலுக்கு MPLAB பொதி மேலாளரைப் பார்க்கவும்.
பதிப்பு 2.40
மிகவும் தளர்வானது (XCS-2876) -mrelax விருப்பத்தைப் பயன்படுத்தும் போது, கம்பைலர் சில பிரிவுகளை ஒன்றாக ஒதுக்கவில்லை, இதன் விளைவாக குறைந்த உகந்த குறியீடு அளவுகள் கிடைக்கும். புதிய MUSL நூலகங்களைப் பயன்படுத்திய குறியீடு அல்லது பலவீனமான குறியீடுகளுடன் இது நிகழ்ந்திருக்கலாம்.
எச்சரிக்கையில் (XCS-2875) குறிப்பிடப்பட்டுள்ளபடி மேப்பிங் அம்சம் முடக்கப்படவில்லை. cost-data-in-config mappedprogmem அம்சம், cost-data-in-proem அம்சம் இயக்கப்படுவதைச் சார்ந்துள்ளது. cost-data-ipconfig-mapped-proem அம்சம் விருப்பத்தைப் பயன்படுத்தி வெளிப்படையாக இயக்கப்பட்டு, cost-data-inprogmem அம்சம் முடக்கப்பட்டிருந்தால், cons data-in-config-mapped-proem அம்சம் தானாகவே முடக்கப்பட்டதாக எச்சரிக்கை செய்தி இருந்தபோதிலும், இணைப்பு படி தோல்வியடைந்தது, இது முற்றிலும் சரியானதல்ல. இந்த சூழ்நிலையில் const-data-in-config-mapped-proem அம்சம் இப்போது முழுமையாக முடக்கப்பட்டுள்ளது.
NVMCTRL (XCS-2848) ஐ சரியாக அணுக DFP மாற்றங்கள். AVR64EA சாதனங்களால் பயன்படுத்தப்படும் இயக்க நேர தொடக்கக் குறியீடு, NVMCTRL பதிவு கட்டமைப்பு மாற்றப் பாதுகாப்பின் (CCP) கீழ் இருப்பதையும், const-data-in configmapped-proem தொகுப்பி அம்சத்தால் பயன்படுத்தப்படும் பக்கத்திற்கு IO SFR ஐ அமைக்க முடியவில்லை என்பதையும் கணக்கில் எடுத்துக்கொள்ளவில்லை. AVR-Ex_DFP பதிப்பு 2.2.55 இல் செய்யப்பட்ட மாற்றங்கள் இயக்க நேர தொடக்கக் குறியீட்டை இந்தப் பதிவேட்டில் சரியாக எழுத அனுமதிக்கும்.
ஃபிளாஷ் மேப்பிங்கைத் தவிர்க்க DFP மாற்றங்கள் (XCS-2847) AVR128DA28/32/48/64 சிலிக்கான் எர்ராட்டா (DS80000882) இல் தெரிவிக்கப்பட்ட ஃபிளாஷ் மேப்பிங் சாதன அம்சத்தில் உள்ள சிக்கலுக்கான ஒரு தீர்வு செயல்படுத்தப்பட்டுள்ளது. பாதிக்கப்பட்ட சாதனங்களுக்கு const-data-in-config-mapped-proem கம்பைலர் அம்சம் முன்னிருப்பாகப் பயன்படுத்தப்படாது, மேலும் இந்த மாற்றம் AVR-Ex_DFP பதிப்பு 2.2.160 இல் தோன்றும்.
sinhf அல்லது coshf உடன் உருவாக்கப் பிழை (XCS-2834) sinhf () அல்லது coshf () நூலகச் செயல்பாடுகளைப் பயன்படுத்துவதற்கான முயற்சியில் இணைப்புப் பிழை ஏற்பட்டது, இது வரையறுக்கப்படாத குறிப்பை விவரிக்கிறது. குறிப்பிடப்பட்ட விடுபட்ட செயல்பாடு இப்போது கம்பைலர் விநியோகத்தில் சேர்க்கப்பட்டுள்ளது.
nopa (XCS-2833) உடன் உருவாக்கப் பிழைகள் () ஐப் பயன்படுத்தி அசெம்பிளர் பெயர் குறிப்பிடப்பட்ட ஒரு செயல்பாட்டுடன் nopa பண்புக்கூறைப் பயன்படுத்துவதால் அசெம்பிளரிலிருந்து பிழை செய்திகள் தூண்டப்படுகின்றன. இந்த சேர்க்கை சாத்தியமில்லை.
சுட்டிக்காட்டி வாதங்களுடன் கூடிய மாறுபட்ட செயல்பாடு தோல்வி (XCS-2755, XCS-2731) மாறி எண்ணிக்கையிலான வாதங்களைக் கொண்ட செயல்பாடுகள், cost-data-in-proem அம்சம் இயக்கப்பட்டிருக்கும் போது, மாறி வாதப் பட்டியலில் 24-பிட் (_memo வகை) சுட்டிகள் அனுப்பப்படும் என்று எதிர்பார்க்கின்றன. தரவு நினைவகத்திற்கான சுட்டிகளாக இருந்த வாதங்கள் 16-பிட் பொருள்களாக அனுப்பப்பட்டன, இதனால் அவை இறுதியில் படிக்கப்படும்போது குறியீடு தோல்வியடைந்தன. cons data-in-proem அம்சம் இயக்கப்பட்டிருக்கும் போது, அனைத்து 16-பிட் சுட்டிகள் வாதங்களும் இப்போது 24-பிட் சுட்டிகளாக மாற்றப்படுகின்றன. strtoxxx நூலக செயல்பாடுகள் தோல்வியடைகின்றன (XCS-2620) const-data-in-proem அம்சம் இயக்கப்பட்டிருக்கும் போது, நிரல் நினைவகத்தில் இல்லாத மூல சர வாதங்களுக்கு strtoxxx நூலக செயல்பாடுகளில் உள்ள உள்ளீட்டு அளவுரு சரியாக புதுப்பிக்கப்படவில்லை.
தவறான வார்ப்புகளுக்கான எச்சரிக்கைகள் (XCS-2612) காஸ்ட்-இன்-ப்ரோம் அம்சம் இயக்கப்பட்டிருந்தால், ஒரு சரத்தின் முகவரி வெளிப்படையாக தரவு முகவரி இடத்திற்கு (கான்ஸ்ட் தகுதியாளரைக் கைவிட்டு) அனுப்பப்பட்டால், தொகுப்பி இப்போது ஒரு பிழையை வெளியிடும், எடுத்துக்காட்டாகample, (uint8 t *) “வணக்கம் உலகம்!”. ஒரு const தரவு சுட்டிக்காட்டி வெளிப்படையாக தரவு முகவரி இடத்திற்கு அனுப்பப்படும்போது முகவரி செல்லாததாக இருந்தால் எச்சரிக்கை விடுக்கப்படும்.
துவக்கப்படாத கான்ஸ்ட் பொருள்களின் இடம் (XCS-2408) தரவு முகவரி இடத்திற்குள் அவற்றின் நிரல் நினைவகத்தின் முழு அல்லது பகுதியையும் வரைபடமாக்கும் சாதனங்களில், துவக்கப்படாத const மற்றும் const v olatile பொருள்கள் நிரல் நினைவகத்தில் வைக்கப்படவில்லை. இந்த சாதனங்களுக்கு, அத்தகைய பொருள்கள் இப்போது நிரல் நினைவகத்தில் வைக்கப்படுகின்றன, இதனால் அவற்றின் செயல்பாடு மற்ற சாதனங்களுடன் ஒத்துப்போகிறது.
பதிப்பு 2.39 (செயல்பாட்டு பாதுகாப்பு வெளியீடு)
இல்லை.
பதிப்பு 2.36
தாமதப்படுத்தும் போது பிழை (XCS-2774) இயல்புநிலை ஃப்ரீ பயன்முறை உகப்பாக்கங்களில் ஏற்பட்ட சிறிய மாற்றங்கள், இயக்க வெளிப்பாடுகளை தாமத உள்ளமைக்கப்பட்ட செயல்பாடுகளுக்கு தொடர்ந்து மடிப்பதைத் தடுத்தன, இதன் விளைவாக அவை தொடர்பு இல்லாதவையாகக் கருதப்பட்டு பிழையைத் தூண்டின: _buil tin avr delay_ cycles expects ac ompile time integer constant.
பதிப்பு 2.35
_at (XCS-2653) ஐப் பயன்படுத்தி தொடர்ச்சியான ஒதுக்கீடு ஒரே பெயரில் ஒரு பிரிவில் பல பொருள்களை தொடர்ச்சியாக ஒதுக்கி, () இல் பயன்படுத்துவது சரியாக வேலை செய்யவில்லை. உதாரணத்திற்குample: constchararrl [ ] at tri butte ((sect on(“.misses”))) at (Ox50 0 ) = {Oxo , Ox CD} ; cost char arr2[ ] at tri butte ((section(“.my s eke”))) = {Oxen, Ox FE }; arril க்குப் பிறகு உடனடியாக arr2 ஐ வைத்திருக்க வேண்டும்.
பிரிவு தொடக்க முகவரிகளைக் குறிப்பிடுதல் (XCS-2650) -Wal, –section-start விருப்பம், பரிந்துரைக்கப்பட்ட தொடக்க முகவரியில் பிரிவுகளை வைக்க அமைதியாகத் தவறிவிட்டது. எந்தவொரு தனிப்பயன்-பெயரிடப்பட்ட பிரிவுகளுக்கும் இந்தப் பிரச்சினை சரி செய்யப்பட்டுள்ளது; இருப்பினும், . text அல்லது . bss போன்ற எந்த நிலையான பிரிவுகளுக்கும் இது வேலை செய்யாது, அவை -Wl, -T விருப்பத்தைப் பயன்படுத்தி வைக்கப்பட வேண்டும்.
ஓய்வெடுக்கும்போது லிங்கர் செயலிழக்கிறது (XCS-2647) -relax உகப்பாக்கம் இயக்கப்பட்டபோது, கிடைக்கக்கூடிய நினைவகத்தில் பொருந்தாத குறியீடு அல்லது தரவு பிரிவுகள் இருந்தபோது, இணைப்பான் செயலிழந்தது. இப்போது, அத்தகைய சூழ்நிலையில், அதற்கு பதிலாக பிழை செய்திகள் வெளியிடப்படுகின்றன.
மோசமான EEPROM அணுகல் (XCS-2629) -monist-data-in-proem விருப்பம் இயக்கப்பட்டிருந்தபோது (இது இயல்புநிலை நிலை) மெகா சாதனங்களில் leproma _read_ block வழக்கம் சரியாக வேலை செய்யவில்லை, இதன் விளைவாக EEPROM நினைவகம் சரியாகப் படிக்கப்படவில்லை.
தவறான நினைவக ஒதுக்கீடு (XCS-2593, XCS-2651) -Text அல்லது -Tata இணைப்பான் விருப்பம் இருக்கும்போது (எ.கா.amp-Wl இயக்கி விருப்பத்தைப் பயன்படுத்தி அனுப்பப்பட்டது) குறிப்பிடப்பட்டால், தொடர்புடைய உரை/தரவுப் பகுதி தோற்றம் புதுப்பிக்கப்பட்டது; இருப்பினும், இறுதி முகவரி அதற்கேற்ப சரிசெய்யப்படவில்லை, இது இலக்கு சாதனத்தின் நினைவக வரம்பை மீறுவதற்கு இட்டுச் சென்றிருக்கலாம்.
தவறான ATtiny குறுக்கீடு குறியீடு (XCS-2465) டாட்டின் சாதனங்களுக்கான கட்டமைப்பு மற்றும் மேம்படுத்தல்கள் முடக்கப்பட்டிருந்தபோது (-00), குறுக்கீடு செயல்பாடுகள் ஆபரேண்ட் வரம்பிற்கு வெளியே அசெம்பிளர் செய்திகளைத் தூண்டியிருக்கலாம்.
விருப்பங்கள் நிறைவேற்றப்படவில்லை (XCS-2452) பல, காற்புள்ளியால் பிரிக்கப்பட்ட இணைப்பான் விருப்பங்களுடன் -Wl விருப்பத்தைப் பயன்படுத்தும் போது, அனைத்து இணைப்பான் விருப்பங்களும் இணைப்பானுக்கு அனுப்பப்படவில்லை.
நிரல் நினைவகத்தை மறைமுகமாகப் படிப்பதில் பிழை (XCS-2450) சில சந்தர்ப்பங்களில், ஒரு சுட்டிக்காட்டியிலிருந்து நிரல் நினைவகத்திற்கு இரண்டு பைட் மதிப்பைப் படிக்கும்போது தொகுப்பி ஒரு உள் பிழையை (அடையாளம் காண முடியாத insn) உருவாக்கியது.
பதிப்பு 2.32
நூலகத்திற்கான இரண்டாவது அணுகல் தோல்வியடைந்தது (XCS-2381) ஏற்கனவே உள்ள நூலக காப்பகத்தை அணுக xc8-ar. exe நூலக காப்பகத்தின் விண்டோஸ் பதிப்பை இரண்டாவது முறையாகப் பயன்படுத்துவது பிழைச் செய்தியை மறுபெயரிட முடியாமல் தோல்வியடைந்திருக்கலாம்.
பதிப்பு 2.31
விவரிக்கப்படாத தொகுப்பி தோல்விகள் (XCS-2367) '.' என்ற புள்ளி எழுத்தை உள்ளடக்கிய பாதையில் சிஸ்டம் தற்காலிக டைரக்டரி அமைக்கப்பட்ட விண்டோஸ் இயங்குதளங்களில் இயங்கும் போது, தொகுப்பி செயல்படுத்தத் தவறியிருக்கலாம்.
பதிப்பு 2.30
அவுட்லைனிங் செய்த பிறகு உலகளாவிய லேபிள்கள் தவறாக இடம்பிடித்தன (XCS-2299) கையால் எழுதப்பட்ட அசெம்பிளி குறியீடு, நடைமுறைச் சுருக்கம் மூலம் கணக்கிடப்படும் சட்டசபை வரிசைகளுக்குள் உலகளாவிய லேபிள்களை வைக்கிறது.
ஒரு நிதானமான விபத்து (XCS-2287) -merlad விருப்பத்தைப் பயன்படுத்துவதால், ஒரு பிரிவின் முடிவில் இல்லாத ret வழிமுறைகளை அகற்ற tail jump relaxation optimizations முயற்சித்தபோது, இணைப்பான் செயலிழந்திருக்கலாம்.
லேபிள்களை மதிப்புகளாக மேம்படுத்தும்போது செயலிழப்பு (XCS-2282) "மதிப்புகளாக லேபிள்கள்" GNU C மொழி நீட்டிப்பைப் பயன்படுத்தும் குறியீடு, அவுட்லைன் செய்யப்பட்ட VMA ரேஞ்ச் ஸ்பான்ஸ் ஃபிக்ஸ்அப் பிழையுடன், செயல்முறை சுருக்க மேம்படுத்தல்களை செயலிழக்கச் செய்திருக்கலாம்.
அவ்வளவு நிலையானது அல்ல (XCS-2271) தொடக்கங்கள் () மற்றும் பிற செயல்பாடுகளுக்கான முன்மாதிரிகள் -monist-data inprogmem அம்சம் முடக்கப்பட்டிருக்கும் போது, திரும்பிய சர சுட்டிகளில் தரமற்ற செலவு தகுதிப்படுத்தியை இனி குறிப்பிட வேண்டாம். avrxmega3 மற்றும் avertin சாதனங்களுடன், இந்த அம்சம் நிரந்தரமாக இயக்கப்படும் என்பதை நினைவில் கொள்ளவும்.
இழந்த துவக்கிகள் (XCS-2269) ஒரு மொழிபெயர்ப்பு அலகில் ஒன்றுக்கு மேற்பட்ட மாறிகள் ஒரு பிரிவில் (பிரிவு அல்லது பண்புக்கூறு ((பிரிவு)) ஐப் பயன்படுத்தி) வைக்கப்பட்டு, அத்தகைய முதல் மாறி பூஜ்ஜியமாக துவக்கப்பட்டிருந்தாலோ அல்லது துவக்கி இல்லாதிருந்தாலோ, அதே பிரிவில் வைக்கப்பட்ட அதே மொழிபெயர்ப்பு அலகில் உள்ள பிற மாறிகளுக்கான துவக்கிகள் இழக்கப்பட்டன.
பதிப்பு 2.29 (செயல்பாட்டு பாதுகாப்பு வெளியீடு)
இல்லை.
பதிப்பு 2.20
நீண்ட கட்டளைகளில் பிழை (XCS-1983) ஒரு AVR இலக்கைப் பயன்படுத்தும் போது, தொகுப்பி ஒரு உடன் நிறுத்தப்பட்டிருக்கலாம் file கட்டளை வரி மிகப் பெரியதாகவும், மேற்கோள்கள், பின்சாய்வுகள் போன்ற சிறப்பு எழுத்துக்களைக் கொண்டிருந்தால் பிழை இல்லை.
ஒதுக்கப்படாத ரோடாட்டா பிரிவு (XCS-1920) avrxmega3 மற்றும் avrtiny கட்டமைப்புகளை உருவாக்கும்போது தனிப்பயன் ரோடாட்டா பிரிவுகளுக்கு நினைவகத்தை ஒதுக்க AVR இணைப்பான் தவறிவிட்டது, இதனால் நினைவக மேலெழுதல் பிழைகள் ஏற்பட வாய்ப்புள்ளது.
பதிப்பு 2.19 (செயல்பாட்டு பாதுகாப்பு வெளியீடு)
இல்லை.
பதிப்பு 2.10
இடமாற்ற தோல்விகள் (XCS-1891) இணைப்பான் தளர்வுக்குப் பிறகு பிரிவுகளுக்கு இடையில் நினைவக 'துளைகளை' விட்டுவிடுவதே சிறந்த பொருத்த ஒதுக்கீட்டாளர். நினைவகத்தை துண்டு துண்டாகப் பிரிப்பதைத் தவிர, இது PC-சார்புடைய தாவல்கள் அல்லது அழைப்புகள் வரம்பிற்கு வெளியே செல்வது தொடர்பான இணைப்பான் இடமாற்ற தோல்விகள் ஏற்படுவதற்கான வாய்ப்பை அதிகரித்தது.
தளர்வு மூலம் மாற்றப்படாத வழிமுறைகள் (XCS-1889) தளர்வாக இருந்தால் இலக்குகளை அடையக்கூடிய ஜம்ப் அல்லது அழைப்பு வழிமுறைகளுக்கு லிங்கர் தளர்வு ஏற்படவில்லை.
காணவில்லை செயல்பாடு (XCSE-388) பல வரையறைகள் , clock_ div_ t மற்றும் clock_prescale_set () போன்றவை, ATmega324PB, ATmega328PB, ATtiny441, மற்றும் ATtiny841 உள்ளிட்ட சாதனங்களுக்கு வரையறுக்கப்படவில்லை.
மேக்ரோக்கள் இல்லை முன்செயலி மேக்ரோக்கள்_ xcs _MODE_, _xcs VERSION, _xc, மற்றும் xcs ஆகியவை தொகுப்பாளரால் தானாக வரையறுக்கப்படவில்லை. இவை இப்போது கிடைக்கின்றன.
பதிப்பு 2.05
உள் தொகுப்பி பிழை (XCS-1822) விண்டோஸின் கீழ் உருவாக்கும்போது, குறியீட்டை மேம்படுத்தும்போது ஒரு உள் தொகுப்பி பிழை ஏற்பட்டிருக்கலாம்.
RAM ஓவர்ஃப்ளோ கண்டறியப்படவில்லை (XCS-1800, XCS-1796) கிடைக்கக்கூடிய RAM ஐ விட அதிகமான நிரல்கள் சில சூழ்நிலைகளில் தொகுப்பாளரால் கண்டறியப்படவில்லை, இதன் விளைவாக இயக்க நேர குறியீடு தோல்வியடைந்தது.
விடுபட்ட ஃபிளாஷ் நினைவகம் (XCS-1792) avrxmega3 மற்றும் avrtiny சாதனங்களுக்கு, ஃபிளாஷ் நினைவகத்தின் சில பகுதிகள் MPLAB X IDE ஆல் நிரல் செய்யப்படாமல் விடப்பட்டிருக்கலாம்.
பிரதானத்தை இயக்குவதில் தோல்வி (XCS-1788) நிரலில் உலகளாவிய மாறிகள் வரையறுக்கப்படாத சில சூழ்நிலைகளில், இயக்க நேர தொடக்கக் குறியீடு வெளியேறவில்லை மற்றும் முக்கிய () செயல்பாட்டை ஒருபோதும் அடையவில்லை.
தவறான நினைவக தகவல் (XCS-1787) avrxmega3 மற்றும் avrtiny சாதனங்களுக்கு, நிரல் நினைவகத்திற்குப் பதிலாக படிக்க-மட்டும் தரவு RAM ஐப் பயன்படுத்துகிறது என்று avr-அளவு நிரல் தெரிவித்தது.
தவறான நிரல் நினைவக வாசிப்பு (XCS-1783) நிரல் நினைவகம் கொண்ட சாதனங்களுக்காகத் தொகுக்கப்பட்ட திட்டங்கள், தரவு முகவரி இடத்தில் மேப் செய்யப்பட்டவை மற்றும் PROGMEM மேக்ரோ/பண்புக்கூறைப் பயன்படுத்தி பொருள்களை வரையறுக்கும் அவை தவறான முகவரியிலிருந்து இந்தப் பொருட்களைப் படித்திருக்கலாம்.
பண்புக்கூறுகளுடன் உள்ளகப் பிழை (XCS-1773) நீங்கள் சுட்டி பொருள்களை வரையறுத்தால் அகப் பிழை ஏற்பட்டது
_at () அல்லது பண்புக்கூறு() டோக்கன்கள் சுட்டிக்காட்டி பெயர் மற்றும் dereferenced வகைக்கு இடையில், முன்னாள்ample, char *
_at ( 0x80015 0) cp; அத்தகைய குறியீடு ஏற்பட்டால் இப்போது ஒரு எச்சரிக்கை விடுக்கப்படுகிறது.
பிரதானத்தை இயக்கத் தவறியது (XCS-1780, XCS-1767, XCS-1754) EEPROM மாறிகளைப் பயன்படுத்துவது அல்லது config pragma ஐப் பயன்படுத்தி உருகிகளை வரையறுப்பது, main () ஐ அடைவதற்கு முன்பு, இயக்க நேர தொடக்கக் குறியீட்டில் தவறான தரவு துவக்கம் மற்றும்/அல்லது நிரல் செயல்படுத்தலைப் பூட்டியிருக்கலாம்.
சிறிய சாதனங்களில் ஃபியூஸ் பிழை (XCS-1778, XCS-1742) attiny4/5/9/10/20/40 சாதனங்களின் தலைப்பில் தவறான ஃபியூஸ் நீளம் குறிப்பிடப்பட்டுள்ளது. fileஉருகிகளை வரையறுக்கும் குறியீட்டை உருவாக்க முயற்சிக்கும்போது இணைப்பான் பிழைகளுக்கு வழிவகுக்கும்.
பிரிவுப் பிழை (XCS-1777) ஒரு இடைப்பட்ட பிரிவு பிழை சரி செய்யப்பட்டது.
அசெம்பிளர் செயலிழப்பு (XCS-1761) உபுண்டு 18 இன் கீழ் கம்பைலர் இயங்கும் போது avr-as assembler செயலிழந்திருக்கலாம்.
அழிக்கப்படாத பொருள்கள் (XCS-1752) துவக்கப்படாத நிலையான சேமிப்பக காலப் பொருள்கள் இயக்க நேர தொடக்கக் குறியீட்டால் அழிக்கப்படாமல் இருக்கலாம்.
முரண்படும் சாதன விவரக்குறிப்பு புறக்கணிக்கப்பட்டது (XCS-1749) பல சாதன விவரக்குறிப்பு விருப்பங்கள் பயன்படுத்தப்பட்டு வெவ்வேறு சாதனங்களைக் குறிக்கும் போது கம்பைலர் பிழையை உருவாக்கவில்லை.
குவியல் அடிப்படையில் நினைவக சிதைவு (XCS-1748) heap_start சின்னம் தவறாக அமைக்கப்பட்டிருந்தது, இதன் விளைவாக சாதாரண மாறிகள் heap ஆல் சிதைக்கப்படுவதற்கான வாய்ப்பு ஏற்பட்டது.
இணைப்பான் இடமாற்றப் பிழை (XCS-1739) குறியீட்டில் rjmp அல்லது rcall சரியாக 4k பைட்டுகள் தொலைவில் இருக்கும் போது, இணைப்பான் இடமாற்றப் பிழை ஏற்பட்டிருக்கலாம்.
பதிப்பு 2.00
இல்லை.
அறியப்பட்ட சிக்கல்கள்
தொகுப்பியின் செயல்பாட்டில் உள்ள வரம்புகள் பின்வருமாறு. இவை பொதுவான குறியீட்டு கட்டுப்பாடுகளாக இருக்கலாம், அல்லது
பயனர் கையேட்டில் உள்ள தகவல்களிலிருந்து விலகல்கள். தலைப்பில் உள்ள அடைப்புக்குறியிடப்பட்ட லேபிள்(கள்) கண்காணிப்பு தரவுத்தளத்தில் அந்த சிக்கலின் அடையாளமாகும். நீங்கள் ஆதரவைத் தொடர்பு கொள்ள வேண்டியிருந்தால் இது பயனுள்ளதாக இருக்கும். லேபிள்கள் இல்லாத உருப்படிகள் செயல்பாட்டு முறையை விவரிக்கும் வரம்புகள் மற்றும் அவை நிரந்தரமாக நடைமுறையில் இருக்க வாய்ப்புள்ளது.
MPLAB X IDE ஒருங்கிணைப்பு
MPLAB IDE ஒருங்கிணைப்பு Compiler ஐ MPLAB IDE இலிருந்து பயன்படுத்த வேண்டும் என்றால், Compiler ஐ நிறுவும் முன் MPLAB IDE ஐ நிறுவ வேண்டும்.
குறியீடு உருவாக்கம்
PA நினைவக ஒதுக்கீடு தோல்வி (XCS-2881) செயல்முறை சுருக்க உகப்பாக்கிகளைப் பயன்படுத்தும் போது, நிரல் கிடைக்கக்கூடிய இடத்திற்குப் பொருந்தக்கூடியதாக இருந்தாலும், குறியீட்டின் அளவு சாதனத்தில் கிடைக்கும் நிரல் நினைவகத்தின் அளவிற்கு நெருக்கமாக இருக்கும்போது நினைவக ஒதுக்கீடு பிழைகளை இணைப்பாளர் புகாரளிக்கலாம்.
அவ்வளவு புத்திசாலி இல்லை ஸ்மார்ட்-ஐஓ (XCS-2872) coast-data-in-proem அம்சம் முடக்கப்பட்டிருந்தால் அல்லது சாதனம் அதன் அனைத்து ஃபிளாஷ் தரவு நினைவகத்தில் மேப் செய்திருந்தால், கம்பைலரின் ஸ்மார்ட்-ஐஓ அம்சம் ஸ்பிரிண்ட் செயல்பாட்டிற்கு செல்லுபடியாகும் ஆனால் துணை உகந்த குறியீட்டை உருவாக்கும்.
இன்னும் குறைவான ஸ்மார்ட் ஸ்மார்ட்-IO (XCS-2869) -floe மற்றும் -fno-buil tin விருப்பங்கள் இரண்டும் பயன்படுத்தப்படும்போது, தொகுப்பியின் ஸ்மார்ட்-ஐஓ அம்சம் செல்லுபடியாகும் ஆனால் உகந்ததாக இல்லாத குறியீட்டை உருவாக்கும்.
உகந்ததாக இல்லாத படிக்க மட்டும் தரவு இடம் (XCS-2849) இணைப்பாளருக்கு தற்போது APPCODE மற்றும் APPDATA நினைவகப் பிரிவுகள் அல்லது நினைவக வரைபடத்தில் [No-]Read-while-Write பிரிவுகள் பற்றித் தெரியாது. இதன் விளைவாக, இணைப்பாளர் பொருத்தமற்ற நினைவகப் பகுதியில் படிக்க-மட்டும் தரவை ஒதுக்கக்கூடிய ஒரு சிறிய வாய்ப்பு உள்ளது. coast-data-in-pragma அம்சம் இயக்கப்பட்டிருந்தால், குறிப்பாக coast-data-in-config-mapped-proem அம்சமும் இயக்கப்பட்டிருந்தால், தரவு தவறாக இடப்படும் வாய்ப்பு அதிகரிக்கிறது. தேவைப்பட்டால் இந்த அம்சங்களை முடக்கலாம்.
பொருள் file செயலாக்க ஆர்டர் (XCS-2863) பொருள்கள் உள்ள வரிசை fileகள் இணைப்பாளரால் செயலாக்கப்படும் செயல்முறை சுருக்கம் மேம்படுத்தல்களின் (-mpa விருப்பம்) பயன்பாட்டின் அடிப்படையில் வேறுபடலாம். இது பல தொகுதிகளில் பலவீனமான செயல்பாடுகளை வரையறுக்கும் குறியீட்டை மட்டுமே பாதிக்கும்.
முழுமையான (XCS-2777) உடன் இணைப்பான் பிழை RAM இன் தொடக்கத்தில் ஒரு முகவரியில் ஒரு பொருள் முழுமையானதாக மாற்றப்பட்டு, தொடங்கப்படாத பொருள்களும் வரையறுக்கப்பட்டால், இணைப்பான் பிழை தூண்டப்படலாம்.
குறுகிய விழித்தெழுதல் ஐடிகள் (XCS-2775) ATA5700/2 சாதனங்களுக்கு, PHID0/1 பதிவேடுகள் 16 பிட்கள் அகலமாக இல்லாமல் 32 பிட்கள் அகலமாக மட்டுமே வரையறுக்கப்படுகின்றன.
சின்னத்தை (XCS-2758) அழைக்கும்போது இணைப்பான் செயலிழப்பு -Wl, –defsym linker விருப்பத்தைப் பயன்படுத்தி வரையறுக்கப்பட்ட ஒரு குறியீட்டை மூலக் குறியீடு அழைக்கும் போது -merlad இயக்கி விருப்பம் பயன்படுத்தப்பட்டால் இணைப்பான் செயலிழக்கக்கூடும்.
தவறான துவக்கம் (XCS-2679) தரவு நினைவகத்தில் சில உலகளாவிய/நிலையான பைட் அளவிலான பொருள்களுக்கான ஆரம்ப மதிப்புகள் எங்கு வைக்கப்படுகின்றன என்பதற்கும், இயக்க நேரத்தில் மாறிகள் அணுகப்படும் இடத்திற்கும் இடையே முரண்பாடு உள்ளது.
தவறாகத் தொடங்கியது காலியாக அமைக்கிறது (XCS-2652) கூறப்பட்ட () ஆல் மாற்றுவதற்கான ஒரு பொருள் சரம், அதிவேக வடிவத்தில் மிதக்கும் புள்ளி எண்ணாகத் தோன்றுவதைக் கொண்டிருக்கும் சந்தர்ப்பங்களில், e எழுத்துக்குப் பிறகு எதிர்பாராத எழுத்து இருந்தால், வெற்று முகவரி, வழங்கப்பட்டால், e க்குப் பிறகு உள்ள எழுத்தையே சுட்டிக்காட்டும், e ஐ அல்ல. உதாரணத்திற்குample: stated(“hooey”, empty); x எழுத்தை வெறுமையாக சுட்டிக்காட்டும்.
தவறான மறைமுக செயல்பாட்டு அழைப்புகள் (XCS-2628) சில சந்தர்ப்பங்களில், ஒரு கட்டமைப்பின் ஒரு பகுதியாக சேமிக்கப்பட்ட செயல்பாடு சுட்டிக்காட்டி வழியாக செய்யப்படும் செயல்பாட்டு அழைப்புகள் தோல்வியடையக்கூடும்.
பதினாறு தசம மிதவைகளுக்கு (XCS-2626) strtof பூஜ்ஜியத்தைத் தருகிறது. strtof() et al மற்றும் scanf() et al ஆகிய நூலக செயல்பாடுகள், எப்போதும் ஒரு அடுக்குக்குறியைக் குறிப்பிடாத ஒரு பதினாறு தசம மிதக்கும் புள்ளி எண்ணை மாற்றும்.
பூஜ்ஜியம். உதாரணத்திற்குample: stator(“ஆந்தை”, &காலி); 0 அல்ல, 1 மதிப்பை வழங்கும்.
துல்லியமற்ற ஸ்டாக் ஆலோசகர் செய்தி (XCS-2542, XCS-2541) சில சந்தர்ப்பங்களில், பயன்படுத்தப்படும் மறுநிகழ்வு அல்லது காலவரையறையற்ற அடுக்கு (ஒருவேளை alloca() ஐப் பயன்படுத்துவதன் மூலம்) பற்றிய ஸ்டாக் ஆலோசகர் எச்சரிக்கை வெளியிடப்படுவதில்லை.
நகல் குறுக்கீடு குறியீட்டில் தோல்வி (XCS-2421) ஒன்றுக்கு மேற்பட்ட குறுக்கீடு செயல்பாடுகள் ஒரே உடலைக் கொண்டிருக்கும்போது, ஒரு குறுக்கீடு செயல்பாடு மற்றொன்றை அழைப்பதற்கான வெளியீட்டை கம்பைலர் கொண்டிருக்கலாம். இது அனைத்து அழைப்பு-குளோபர் பதிவுகளும் தேவையில்லாமல் சேமிக்கப்படும், மேலும் தற்போதைய குறுக்கீடு கையாளுபவரின் எபிலோக் இயங்குவதற்கு முன்பே குறுக்கீடுகள் இயக்கப்படும், இது குறியீடு தோல்விக்கு வழிவகுக்கும்.
நிரல் நினைவகத்தில் இல்லாத கான்ஸ்ட் பொருள்கள் (XCS-2408) avrxmega3 மற்றும் avertins திட்டங்களுக்கு, நிரல் நினைவகத்தில் வைக்கப்பட்டுள்ளதாக எச்சரிக்கை தெரிவித்தாலும், undealized const பொருள்கள் தரவு நினைவகத்தில் வைக்கப்படுகின்றன. இது தரவு நினைவக இடத்தில் நிரல் நினைவகம் மேப் செய்யப்படாத சாதனங்களைப் பாதிக்காது, அல்லது துவக்கப்பட்ட எந்தப் பொருளையும் பாதிக்காது.
தவறான DFP பாதையுடன் மோசமான வெளியீடு (XCS-2376) கம்பைலர் தவறான DFP பாதை மற்றும் 'ஸ்பெக்' மூலம் செயல்படுத்தப்பட்டால் file தேர்ந்தெடுக்கப்பட்ட சாதனத்தில் உள்ளது, தொகுப்பி காணாமல் போன சாதன குடும்பப் பொதியைப் புகாரளிக்கவில்லை, அதற்குப் பதிலாக 'ஸ்பெக்' என்பதைத் தேர்ந்தெடுக்கிறது file, இது தவறான வெளியீட்டிற்கு வழிவகுக்கும். 'ஸ்பெக்' fileகள் விநியோகிக்கப்பட்ட DFPகளுடன் புதுப்பித்த நிலையில் இல்லாமல் இருக்கலாம் மற்றும் உள் கம்பைலர் சோதனையுடன் மட்டுமே பயன்படுத்த வேண்டும்.
நினைவக மேற்பொருந்துதல் கண்டறியப்படவில்லை (XCS-1966) பிரிவு () குறிப்பானைப் பயன்படுத்தி ஒரு முகவரியில் (at () வழியாக) முழுமையானதாக மாற்றப்பட்ட பொருட்களின் நினைவக மேற்பொருந்துதலையும், அதே முகவரியுடன் இணைக்கப்பட்ட பிற பொருட்களையும் தொகுப்பி கண்டறியவில்லை.
நூலக செயல்பாடுகள் மற்றும் _meme (XCS-1763) இல் தோல்வி _memo முகவரி இடத்தில் ஒரு வாதத்துடன் அழைக்கப்படும் லிம்பிக் மிதவை செயல்பாடுகள் தோல்வியடையக்கூடும். நூலக நடைமுறைகள் சில C ஆபரேட்டர்களிடமிருந்து அழைக்கப்படுகின்றன என்பதை நினைவில் கொள்க, எனவே, எடுத்துக்காட்டாகample, பின்வரும் குறியீடு பாதிக்கப்பட்டுள்ளது: regFloatVar > memxFloatVar திரும்பவும்;
வரையறுக்கப்பட்ட லிம்பிக் செயல்படுத்தல் (AVRTC-731) ATTiny4/5/9/10/20/40 தயாரிப்புகளுக்கு, லிம்பிக்கில் நிலையான C / கணித நூலக செயல்படுத்தல் மிகவும் குறைவாகவே உள்ளது அல்லது இல்லை.
நிரல் நினைவக வரம்புகள் (AVRTC-732) 128 kb க்கு மேல் உள்ள நிரல் நினைவக படங்கள் கருவித்தொகுப்பால் ஆதரிக்கப்படுகின்றன; இருப்பினும், -relax விருப்பத்தைப் பயன்படுத்தும்போது தேவையான செயல்பாட்டு ஸ்டப்களை உருவாக்குவதற்குப் பதிலாக, தளர்வு இல்லாமல் மற்றும் பயனுள்ள பிழைச் செய்தி இல்லாமல் இணைப்பான் செயலிழக்கும் நிகழ்வுகள் அறியப்படுகின்றன.
பெயர் இட வரம்புகள் (AVRTC-733) பெயரிடப்பட்ட முகவரி இடைவெளிகள், பயனர் வழிகாட்டி பிரிவில் குறிப்பிடப்பட்டுள்ள வரம்புகளுக்கு உட்பட்டு, டூல்செயினால் ஆதரிக்கப்படும் சிறப்பு வகை தகுதிகள்.
நேர மண்டலங்கள் தி நூலக செயல்பாடுகள் GMT ஐக் கருதுகின்றன மற்றும் உள்ளூர் நேர மண்டலங்களை ஆதரிக்காது, இதனால் உள்ளூர் நேரம் () கம்மைட் () ஐப் போலவே அதே நேரத்தைத் தரும், எடுத்துக்காட்டாகampலெ.
வாடிக்கையாளர் ஆதரவு
file:///பயன்பாடுகள்/மைக்ரோஹிப்/xc8/v 2 .40/docs/Read me_X C 8_ for A VR. htm
ஆவணங்கள் / ஆதாரங்கள்
![]() |
மைக்ரோசிப் MPLAB XC8 C கம்பைலர் மென்பொருள் [pdf] உரிமையாளரின் கையேடு MPLAB XC8 C, MPLAB XC8 C கம்பைலர் மென்பொருள், கம்பைலர் மென்பொருள், மென்பொருள் |