മൈക്രോചിപ്പ് MPLAB XC8 C കംപൈലർ സോഫ്റ്റ്വെയർ
മൈക്രോചിപ്പ് എവിആർ ഉപകരണങ്ങളെ ടാർഗെറ്റുചെയ്യുമ്പോൾ MPLAB XC8 C കംപൈലറുമായി ബന്ധപ്പെട്ട സുപ്രധാന വിവരങ്ങൾ ഈ ഡോക്യുമെന്റിൽ അടങ്ങിയിരിക്കുന്നു.
ഈ സോഫ്റ്റ്വെയർ പ്രവർത്തിപ്പിക്കുന്നതിന് മുമ്പ് ദയവായി ഇത് വായിക്കുക. നിങ്ങൾ 8-ബിറ്റ് PIC ഉപകരണങ്ങൾക്കായി കമ്പൈലർ ഉപയോഗിക്കുന്നുണ്ടെങ്കിൽ PIC ഡോക്യുമെന്റിനുള്ള MPLAB XC8 C കംപൈലർ റിലീസ് നോട്ടുകൾ കാണുക.
കഴിഞ്ഞുview
ആമുഖം
Microchip MPLAB® XC8 C കംപൈലറിന്റെ ഈ പതിപ്പിൽ നിരവധി പുതിയ ഫീച്ചറുകളും ബഗ് പരിഹാരങ്ങളും പുതിയ ഉപകരണ പിന്തുണയും അടങ്ങിയിരിക്കുന്നു.
നിർമ്മാണ തീയതി
ഈ കംപൈലർ പതിപ്പിന്റെ ഔദ്യോഗിക നിർമ്മാണ തീയതി 3 ജൂലൈ 2022 ആണ്.
മുൻ പതിപ്പ്
മുമ്പത്തെ MPLAB XC8 C കംപൈലർ പതിപ്പ് 2.39 ആയിരുന്നു, ഒരു ഫങ്ഷണൽ സേഫ്റ്റി കമ്പൈലർ, 27 ജനുവരി 2022-ന് നിർമ്മിച്ചതാണ്. മുമ്പത്തെ സ്റ്റാൻഡേർഡ് കമ്പൈലർ 2.36 ജനുവരി 27-ന് നിർമ്മിച്ച പതിപ്പ് 2022 ആയിരുന്നു.
പ്രവർത്തന സുരക്ഷാ മാനുവൽ
നിങ്ങൾ ഒരു ഫങ്ഷണൽ സുരക്ഷാ ലൈസൻസ് വാങ്ങുമ്പോൾ MPLAB XC കംപൈലറുകൾക്കുള്ള ഒരു ഫംഗ്ഷണൽ സേഫ്റ്റി മാനുവൽ ഡോക്യുമെന്റേഷൻ പാക്കേജിൽ ലഭ്യമാണ്.
ഘടക ലൈസൻസുകളും പതിപ്പുകളും
AVR MCU ടൂളുകൾക്കായുള്ള MPLAB® XC8 C കമ്പൈലർ, GNU ജനറൽ പബ്ലിക് ലൈസൻസിന് (GPL) കീഴിൽ എഴുതി വിതരണം ചെയ്യുന്നു, അതായത് അതിന്റെ സോഴ്സ് കോഡ് സൗജന്യമായി വിതരണം ചെയ്യപ്പെടുകയും പൊതുജനങ്ങൾക്ക് ലഭ്യമാകുകയും ചെയ്യുന്നു. GNU GPL-ന് കീഴിലുള്ള ടൂളുകളുടെ സോഴ്സ് കോഡ് മൈക്രോചിപ്പിൽ നിന്ന് പ്രത്യേകം ഡൗൺലോഡ് ചെയ്യാം webസൈറ്റ്. നിങ്ങൾക്ക് ഗ്നു ജിപിഎൽ വായിക്കാം file നിങ്ങളുടെ ഇൻസ്റ്റോൾ ഡയറക്ടറിയുടെ ഉപഡയറക്ടറി കണ്ടെത്തി. GPL-ന്റെ അടിസ്ഥാന തത്വങ്ങളെക്കുറിച്ചുള്ള ഒരു പൊതു ചർച്ച ഇവിടെ കാണാം. തലക്കെട്ടിനായി പിന്തുണാ കോഡ് നൽകിയിരിക്കുന്നു files, ലിങ്കർ സ്ക്രിപ്റ്റുകൾ, റൺടൈം ലൈബ്രറികൾ എന്നിവ പ്രൊപ്രൈറ്ററി കോഡാണ്, അവ GPL-ന് കീഴിൽ വരുന്നതല്ല.
ഈ കംപൈലർ GCC പതിപ്പ് 5.4.0, binutils പതിപ്പ് 2.26 എന്നിവയുടെ ഒരു നിർവ്വഹണമാണ്, കൂടാതെ avr-libc പതിപ്പ് 2.0.0 ഉപയോഗിക്കുന്നു.
സിസ്റ്റം ആവശ്യകതകൾ
MPLAB XC8 C കമ്പൈലറും അത് ഉപയോഗിക്കുന്ന ലൈസൻസിംഗ് സോഫ്റ്റ്വെയറും ഇനിപ്പറയുന്നവയുടെ 64-ബിറ്റ് പതിപ്പുകൾ ഉൾപ്പെടെ വിവിധ ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങൾക്ക് ലഭ്യമാണ്: Microsoft Windows 10-ന്റെ പ്രൊഫഷണൽ പതിപ്പുകൾ; ഉബുണ്ടു 18.04; ഒപ്പം macOS 10.15.5. വിൻഡോസിനായുള്ള ബൈനറികൾ കോഡ്-സൈൻ ചെയ്തിരിക്കുന്നു. Mac OS-നുള്ള ബൈനറികൾ കോഡ് ഒപ്പിടുകയും നോട്ടറൈസ് ചെയ്യുകയും ചെയ്തിട്ടുണ്ട്.
നിങ്ങൾ ഒരു നെറ്റ്വർക്ക് ലൈസൻസ് സെർവർ പ്രവർത്തിപ്പിക്കുകയാണെങ്കിൽ, കംപൈലറുകൾ പിന്തുണയ്ക്കുന്ന ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളുള്ള കമ്പ്യൂട്ടറുകൾ മാത്രമേ ലൈസൻസ് സെർവർ ഹോസ്റ്റുചെയ്യാൻ ഉപയോഗിക്കൂ. xclm പതിപ്പ് 2.0 പോലെ, ഒരു മൈക്രോസോഫ്റ്റ് വിൻഡോസ് സെർവർ പ്ലാറ്റ്ഫോമിൽ നെറ്റ്വർക്ക് ലൈസൻസ് സെർവർ ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയും, എന്നാൽ ലൈസൻസ് സെർവർ ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിന്റെ സെർവർ പതിപ്പിൽ പ്രവർത്തിക്കേണ്ടതില്ല.
ഉപകരണങ്ങൾ പിന്തുണയ്ക്കുന്നു
റിലീസ് സമയത്ത് അറിയാവുന്ന എല്ലാ 8-ബിറ്റ് AVR MCU ഉപകരണങ്ങളെയും ഈ കംപൈലർ പിന്തുണയ്ക്കുന്നു. പിന്തുണയ്ക്കുന്ന എല്ലാ ഉപകരണങ്ങളുടെയും ലിസ്റ്റിനായി (കംപൈലറിന്റെ ഡോക് ഡയറക്ടറിയിൽ) കാണുക. ഇവ fileഓരോ ഉപകരണത്തിനുമുള്ള കോൺഫിഗറേഷൻ ബിറ്റ് ക്രമീകരണങ്ങളും s ലിസ്റ്റ് ചെയ്യുന്നു.
പതിപ്പുകളും ലൈസൻസ് അപ്ഗ്രേഡുകളും
MPLAB XC8 കമ്പൈലർ ലൈസൻസുള്ള (PRO) അല്ലെങ്കിൽ ലൈസൻസില്ലാത്ത (സൗജന്യ) ഉൽപ്പന്നമായി സജീവമാക്കാം. നിങ്ങളുടെ കംപൈലറിന് ലൈസൻസ് നൽകുന്നതിന് നിങ്ങൾ ഒരു ആക്ടിവേഷൻ കീ വാങ്ങേണ്ടതുണ്ട്. സൗജന്യ ഉൽപ്പന്നവുമായി താരതമ്യം ചെയ്യുമ്പോൾ ഉയർന്ന തലത്തിലുള്ള ഒപ്റ്റിമൈസേഷൻ ഒരു ലൈസൻസ് അനുവദിക്കുന്നു. ലൈസൻസില്ലാത്ത കംപൈലർ ലൈസൻസില്ലാതെ അനിശ്ചിതമായി പ്രവർത്തിപ്പിക്കാൻ കഴിയും.
ഒരു MPLAB XC8 ഫങ്ഷണൽ സേഫ്റ്റി കംപൈലർ മൈക്രോചിപ്പിൽ നിന്ന് വാങ്ങിയ ഒരു ഫംഗ്ഷണൽ സുരക്ഷാ ലൈസൻസ് ഉപയോഗിച്ച് സജീവമാക്കിയിരിക്കണം. ഈ ലൈസൻസില്ലാതെ കമ്പൈലർ പ്രവർത്തിക്കില്ല. സജീവമാക്കിക്കഴിഞ്ഞാൽ, നിങ്ങൾക്ക് ഏതെങ്കിലും ഒപ്റ്റിമൈസേഷൻ ലെവൽ തിരഞ്ഞെടുത്ത് എല്ലാ കംപൈലർ സവിശേഷതകളും ഉപയോഗിക്കാം. MPLAB XC ഫംഗ്ഷണൽ സേഫ്റ്റി കമ്പൈലറിന്റെ ഈ റിലീസ് നെറ്റ്വർക്ക് സെർവർ ലൈസൻസിനെ പിന്തുണയ്ക്കുന്നു.
ലൈസൻസ് തരങ്ങൾ, ലൈസൻസുള്ള കംപൈലർ ഇൻസ്റ്റാളുചെയ്യൽ എന്നിവയെക്കുറിച്ചുള്ള വിവരങ്ങൾക്ക് MPLAB XC C കംപൈലറുകൾ (DS50002059) ഇൻസ്റ്റാളുചെയ്യലും ലൈസൻസിംഗും കാണുക.
ഇൻസ്റ്റലേഷനും സജീവമാക്കൽ
ഈ കമ്പൈലറിൽ ഉൾപ്പെടുത്തിയിരിക്കുന്ന ഏറ്റവും പുതിയ ലൈസൻസ് മാനേജറെക്കുറിച്ചുള്ള പ്രധാന വിവരങ്ങൾക്ക് മൈഗ്രേഷൻ പ്രശ്നങ്ങളും പരിമിതികളും എന്ന വിഭാഗവും കാണുക.
MPLAB IDE ഉപയോഗിക്കുന്നുണ്ടെങ്കിൽ, ഈ ടൂൾ ഇൻസ്റ്റാൾ ചെയ്യുന്നതിന് മുമ്പ് ഏറ്റവും പുതിയ MPLAB X IDE പതിപ്പ് 5.0 അല്ലെങ്കിൽ അതിനു ശേഷമുള്ള പതിപ്പ് ഇൻസ്റ്റാൾ ചെയ്യുന്നത് ഉറപ്പാക്കുക. കംപൈലർ ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനുമുമ്പ് IDE-യിൽ നിന്ന് പുറത്തുകടക്കുക. .exe (Windows), .run (Linux) അല്ലെങ്കിൽ ആപ്പ് (macOS) കമ്പൈലർ ഇൻസ്റ്റാളർ ആപ്ലിക്കേഷൻ പ്രവർത്തിപ്പിക്കുക, ഉദാ XC8-1.00.11403-windows.exe, സ്ക്രീനിലെ നിർദ്ദേശങ്ങൾ പിന്തുടരുക.
ഡിഫോൾട്ട് ഇൻസ്റ്റലേഷൻ ഡയറക്ടറി ശുപാർശ ചെയ്യുന്നു. നിങ്ങൾ Linux ആണ് ഉപയോഗിക്കുന്നതെങ്കിൽ, നിങ്ങൾ ഒരു ടെർമിനൽ ഉപയോഗിച്ചും ഒരു റൂട്ട് അക്കൗണ്ടിൽ നിന്നും കമ്പൈലർ ഇൻസ്റ്റാൾ ചെയ്യണം. അഡ്മിനിസ്ട്രേറ്റർ പ്രത്യേകാവകാശങ്ങളുള്ള ഒരു macOS അക്കൗണ്ട് ഉപയോഗിച്ച് ഇൻസ്റ്റാൾ ചെയ്യുക.
ഇൻസ്റ്റാളേഷനായി ഇപ്പോൾ സജീവമാക്കൽ പ്രത്യേകം നടത്തുന്നു. കൂടുതൽ വിവരങ്ങൾക്ക് MPLAB® XC C Compilers (DS52059) എന്നതിനായുള്ള പ്രമാണ ലൈസൻസ് മാനേജർ കാണുക.
മൂല്യനിർണ്ണയ ലൈസൻസിന് കീഴിൽ കംപൈലർ പ്രവർത്തിപ്പിക്കാനാണ് നിങ്ങൾ തിരഞ്ഞെടുക്കുന്നതെങ്കിൽ, നിങ്ങളുടെ മൂല്യനിർണ്ണയ കാലയളവ് അവസാനിച്ച് 14 ദിവസത്തിനുള്ളിൽ സമാഹരിക്കുന്ന സമയത്ത് നിങ്ങൾക്ക് ഒരു മുന്നറിയിപ്പ് ലഭിക്കും. നിങ്ങളുടെ HPA സബ്സ്ക്രിപ്ഷൻ അവസാനിച്ച് 14 ദിവസത്തിനുള്ളിൽ ആണെങ്കിൽ ഇതേ മുന്നറിയിപ്പ് നൽകും.
XC നെറ്റ്വർക്ക് ലൈസൻസ് സെർവർ ഒരു പ്രത്യേക ഇൻസ്റ്റാളറാണ്, സിംഗിൾ യൂസർ കംപൈലർ ഇൻസ്റ്റാളറിൽ ഉൾപ്പെടുത്തിയിട്ടില്ല.
ഫ്ലോട്ടിംഗ് നെറ്റ്വർക്ക് ലൈസൻസുകളുടെ റോമിംഗിനെ XC ലൈസൻസ് മാനേജർ ഇപ്പോൾ പിന്തുണയ്ക്കുന്നു. മൊബൈൽ ഉപയോക്താക്കളെ ലക്ഷ്യം വച്ചുള്ള ഈ ഫീച്ചർ, ഒരു ഫ്ലോട്ടിംഗ് ലൈസൻസിനെ ഒരു ചെറിയ സമയത്തേക്ക് നെറ്റ്വർക്ക് ഓഫ് ചെയ്യാൻ അനുവദിക്കുന്നു. ഈ ഫീച്ചർ ഉപയോഗിച്ച്, നിങ്ങൾക്ക് നെറ്റ്വർക്കിൽ നിന്ന് വിച്ഛേദിക്കാനും നിങ്ങളുടെ MPLAB XC കമ്പൈലർ ഉപയോഗിക്കാനും കഴിയും. ഈ സവിശേഷതയെക്കുറിച്ച് കൂടുതൽ അറിയാൻ XCLM ഇൻസ്റ്റാളിന്റെ ഡോക് ഫോൾഡർ കാണുക. റോമിംഗ് ദൃശ്യപരമായി നിയന്ത്രിക്കുന്നതിന് MPLAB X IDE ഒരു ലൈസൻസ് വിൻഡോ (ടൂളുകൾ > ലൈസൻസുകൾ) ഉൾക്കൊള്ളുന്നു.
ഇൻസ്റ്റലേഷൻ പ്രശ്നങ്ങൾ പരിഹരിക്കുന്നു
ഏതെങ്കിലും വിൻഡോസ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിന് കീഴിൽ കംപൈലർ ഇൻസ്റ്റാൾ ചെയ്യുന്നതിൽ നിങ്ങൾക്ക് ബുദ്ധിമുട്ടുകൾ അനുഭവപ്പെടുന്നുണ്ടെങ്കിൽ, ഇനിപ്പറയുന്ന നിർദ്ദേശങ്ങൾ പരീക്ഷിക്കുക.
- ഒരു അഡ്മിനിസ്ട്രേറ്ററായി ഇൻസ്റ്റാളേഷൻ പ്രവർത്തിപ്പിക്കുക.
- ഇൻസ്റ്റാളർ ആപ്ലിക്കേഷന്റെ അനുമതികൾ 'പൂർണ്ണ നിയന്ത്രണം' ആയി സജ്ജമാക്കുക. (വലത് ക്ലിക്ക് ചെയ്യുക file, പ്രോപ്പർട്ടീസ്, സെക്യൂരിറ്റി ടാബ് തിരഞ്ഞെടുക്കുക, ഉപയോക്താവിനെ തിരഞ്ഞെടുക്കുക, എഡിറ്റ് ചെയ്യുക.)
- താൽക്കാലിക ഫോൾഡറിന്റെ അനുമതികൾ “പൂർണ്ണ നിയന്ത്രണം!
താൽക്കാലിക ഫോൾഡറിന്റെ സ്ഥാനം നിർണ്ണയിക്കാൻ, റൺ കമാൻഡിൽ %temp% എന്ന് ടൈപ്പ് ചെയ്യുക (Windows ലോഗോ കീ + R). ഇത് എ തുറക്കും file ആ ഡയറക്ടറി കാണിക്കുന്ന എക്സ്പ്ലോറർ ഡയലോഗ് ആ ഫോൾഡറിന്റെ പാത നിർണ്ണയിക്കാൻ നിങ്ങളെ അനുവദിക്കും.
കംപൈലർ ഡോക്യുമെന്റേഷൻ
സ്ക്രീൻഷോട്ടിൽ സൂചിപ്പിച്ചിരിക്കുന്നതുപോലെ, MPLAB X IDE ഡാഷ്ബോർഡിലെ നീല സഹായ ബട്ടൺ ക്ലിക്കുചെയ്യുമ്പോൾ, നിങ്ങളുടെ ബ്രൗസറിൽ തുറക്കുന്ന HTML പേജിൽ നിന്ന് കമ്പൈലറിന്റെ ഉപയോക്തൃ ഗൈഡുകൾ തുറക്കാൻ കഴിയും.
നിങ്ങൾ 8-ബിറ്റ് AVR ടാർഗെറ്റുകൾക്കായി നിർമ്മിക്കുകയാണെങ്കിൽ, AVR® MCU-നുള്ള MPLAB® XC8 C കമ്പൈലർ ഉപയോക്തൃ ഗൈഡിൽ ഈ ആർക്കിടെക്ചറിന് ബാധകമായ കംപൈലർ ഓപ്ഷനുകളെയും സവിശേഷതകളെയും കുറിച്ചുള്ള വിവരങ്ങൾ അടങ്ങിയിരിക്കുന്നു.
ഉപഭോക്തൃ പിന്തുണ
ഈ കമ്പൈലർ പതിപ്പിനെ സംബന്ധിച്ച ബഗ് റിപ്പോർട്ടുകൾ, നിർദ്ദേശങ്ങൾ അല്ലെങ്കിൽ അഭിപ്രായങ്ങൾ മൈക്രോചിപ്പ് സ്വാഗതം ചെയ്യുന്നു. ഏതെങ്കിലും ബഗ് റിപ്പോർട്ടുകളോ ഫീച്ചർ അഭ്യർത്ഥനകളോ സപ്പോർട്ട് സിസ്റ്റം വഴി അറിയിക്കുക.
ഡോക്യുമെന്റേഷൻ അപ്ഡേറ്റുകൾ
MPLAB XC8 ഡോക്യുമെന്റേഷന്റെ ഓൺലൈൻ, കാലികമായ പതിപ്പുകൾക്കായി, ദയവായി മൈക്രോചിപ്പിന്റെ ഓൺലൈൻ സാങ്കേതിക ഡോക്യുമെന്റേഷൻ സന്ദർശിക്കുക webസൈറ്റ്.
ഈ റിലീസിലെ പുതിയതോ അപ്ഡേറ്റ് ചെയ്തതോ ആയ AVR ഡോക്യുമെന്റേഷൻ:
- MUSL പകർപ്പവകാശ അറിയിപ്പ്
- MPLAB XC C കംപൈലറുകൾ ഇൻസ്റ്റാൾ ചെയ്യുകയും ലൈസൻസ് നൽകുകയും ചെയ്യുന്നു (റിവിഷൻ എം)
- MPLAB XC8 ഉപയോക്താവിന്റെ! എംബഡഡ് എഞ്ചിനീയർമാർക്കുള്ള ഗൈഡ് - AVR MCU-കൾ (റിവിഷൻ എ)
- MPLAB XC8 C കംപൈലർ യൂസർ! AVR MCU-നുള്ള ഗൈഡ് (റിവിഷൻ F)
- മൈക്രോചിപ്പ് യൂണിഫൈഡ് സ്റ്റാൻഡേർഡ് ലൈബ്രറി റഫറൻസ് ഗൈഡ് (റിവിഷൻ ബി)
മൈക്രോചിപ്പ് ഏകീകൃത സ്റ്റാൻഡേർഡ് ലൈബ്രറി റഫറൻസ് ഗൈഡ്, മൈക്രോചിപ്പ് യൂണിഫൈഡ് സ്റ്റാൻഡേർഡ് ലൈബ്രറി നിർവചിച്ചിരിക്കുന്ന ഫംഗ്ഷനുകളുടെ സ്വഭാവവും ഇന്റർഫേസും അതുപോലെ ലൈബ്രറി തരങ്ങളുടെയും മാക്രോകളുടെയും ഉദ്ദേശിച്ച ഉപയോഗവും വിവരിക്കുന്നു. ഈ വിവരങ്ങളിൽ ചിലത് മുമ്പ് AVR® MCU-നുള്ള MPLAB® XC8 C കമ്പൈലർ യൂസർ!സ് ഗൈഡിൽ ഉണ്ടായിരുന്നു. ഈ കമ്പൈലർ ഗൈഡിൽ ഉപകരണ-നിർദ്ദിഷ്ട ലൈബ്രറി വിവരങ്ങൾ ഇപ്പോഴും അടങ്ങിയിരിക്കുന്നു.
നിങ്ങൾ 8-ബിറ്റ് ഉപകരണങ്ങളും MPLAB XC8 C കംപൈലറും ഉപയോഗിച്ചാണ് ആരംഭിക്കുന്നതെങ്കിൽ, MPLAB® XC8 ഉപയോക്താവിന്റെ! എംബഡഡ് എഞ്ചിനീയർമാർക്കുള്ള ഗൈഡ് - AVR® MCUs (DS50003108) ൽ MPLAB X IDE-യിൽ പ്രോജക്റ്റുകൾ സജ്ജീകരിക്കുന്നതിനും കോഡ് എഴുതുന്നതിനുമുള്ള വിവരങ്ങൾ ഉണ്ട്. നിങ്ങളുടെ ആദ്യത്തെ MPLAB XC8 C പ്രോജക്റ്റിനായി. ഈ ഗൈഡ് ഇപ്പോൾ കമ്പൈലറിനൊപ്പം വിതരണം ചെയ്യുന്നു.
ഈ റിലീസിലെ ഡോക്സ് ഡയറക്ടറിയിൽ ഹമേറ്റ് യൂസർസ് ഗൈഡ് ഉൾപ്പെടുത്തിയിട്ടുണ്ട്. ഈ ഗൈഡ് ഹമേറ്റ് ഒരു സ്റ്റാൻഡ്-എലോൺ ആപ്ലിക്കേഷനായി പ്രവർത്തിപ്പിക്കുന്നവരെ ഉദ്ദേശിച്ചുള്ളതാണ്.
പുതിയതെന്താണ്
കംപൈലർ ഇപ്പോൾ പിന്തുണയ്ക്കുന്ന പുതിയ AVR-ടാർഗെറ്റ് ഫീച്ചറുകളാണ് ഇനിപ്പറയുന്നവ. ഉപശീർഷകങ്ങളിലെ പതിപ്പ് നമ്പർ, പിന്തുടരുന്ന സവിശേഷതകളെ പിന്തുണയ്ക്കുന്ന ആദ്യ കംപൈലർ പതിപ്പിനെ സൂചിപ്പിക്കുന്നു.
പതിപ്പ് 2.40
പുതിയ ഉപകരണ പിന്തുണ ഇനിപ്പറയുന്ന AVR ഭാഗങ്ങൾക്കുള്ള പിന്തുണ ഇപ്പോൾ ലഭ്യമാണ്: AT90PWM3, AVR16DD14, AVR16DD20, AVR16DD28, AVR16DD32, AVR32DD14, AVR32DD20, AVR32DD28, AVR32DD32, AVR64DD28, AVR64DD32, AVR64, AVR48EAXNUMX.
മെച്ചപ്പെട്ട നടപടിക്രമ സംഗ്രഹം പ്രൊസീജറൽ അബ്സ്ട്രാക്ഷൻ (പിഎ) ഒപ്റ്റിമൈസേഷൻ ടൂൾ മെച്ചപ്പെടുത്തിയതിനാൽ ഒരു ഫംഗ്ഷൻ കോൾ നിർദ്ദേശം (കോൾ റീകോൾ) അടങ്ങുന്ന കോഡ് ഔട്ട്ലൈൻ ചെയ്യാൻ കഴിയും. ഫംഗ്ഷനിലേക്ക് ആർഗ്യുമെന്റുകൾ കൈമാറുന്നതിനോ റിട്ടേൺ മൂല്യം നേടുന്നതിനോ സ്റ്റാക്ക് ഉപയോഗിക്കുന്നില്ലെങ്കിൽ മാത്രമേ ഇത് നടക്കൂ. ഒരു വേരിയബിൾ ആർഗ്യുമെന്റ് ലിസ്റ്റ് ഉപയോഗിച്ച് ഒരു ഫംഗ്ഷനെ വിളിക്കുമ്പോഴോ അല്ലെങ്കിൽ ഈ ആവശ്യത്തിനായി നിയുക്ത രജിസ്റ്ററുകളേക്കാൾ കൂടുതൽ ആർഗ്യുമെന്റുകൾ എടുക്കുന്ന ഒരു ഫംഗ്ഷനെ വിളിക്കുമ്പോഴോ സ്റ്റാക്ക് ഉപയോഗിക്കുന്നു. Monk-pa-outline-calls ഓപ്ഷൻ ഉപയോഗിച്ച് ഈ ഫീച്ചർ പ്രവർത്തനരഹിതമാക്കാം, അല്ലെങ്കിൽ ഒരു ഒബ്ജക്റ്റിനായി പ്രൊസീജറൽ അബ്സ്ട്രാക്ഷൻ പൂർണ്ണമായും പ്രവർത്തനരഹിതമാക്കാം. file അല്ലെങ്കിൽ -monk-pa-on- ഉപയോഗിച്ച് പ്രവർത്തിക്കുകfile കൂടാതെ -mo.-pa-on-function യഥാക്രമം, അല്ലെങ്കിൽ nipa ആട്രിബ്യൂട്ട് (nipa സ്പെസിഫയർ) ഉപയോഗിച്ച് ഫംഗ്ഷനുകൾ ഉപയോഗിച്ച്
കോഡ് കവറേജ് മാക്രോ സാധുവായ ഒരു mcodecov ഓപ്ഷൻ വ്യക്തമാക്കിയിട്ടുണ്ടെങ്കിൽ കംപൈലർ ഇപ്പോൾ മാക്രോ __CODECOV നിർവചിക്കുന്നു.
മെമ്മറി റിസർവേഷൻ ഓപ്ഷൻ AVR ടാർഗെറ്റുകൾക്കായി നിർമ്മിക്കുമ്പോൾ xc8-cc ഡ്രൈവർ ഇപ്പോൾ -mreserve=space@start: end ഓപ്ഷൻ സ്വീകരിക്കും. ഈ ഓപ്ഷൻ ഡാറ്റയിലോ പ്രോഗ്രാം മെമ്മറി സ്പെയ്സിലോ നിർദ്ദിഷ്ട മെമ്മറി റേഞ്ച് സംവരണം ചെയ്യുന്നു, ഇത് ഈ ഏരിയയിലെ കോഡോ ഒബ്ജക്റ്റുകളോ പോപ്പുലേറ്റ് ചെയ്യുന്നതിൽ നിന്ന് ലിങ്കറിനെ തടയുന്നു.
മികച്ച സ്മാർട്ട് ഐഒ സ്മാർട്ട് ഐഒ ഫംഗ്ഷനുകളിൽ നിരവധി മെച്ചപ്പെടുത്തലുകൾ വരുത്തിയിട്ടുണ്ട്, പ്രിന്റ് എഫ് കോർ കോഡിലേക്കുള്ള പൊതുവായ ട്വീക്കുകൾ, %n കൺവേർഷൻ സ്പെസിഫയറിനെ ഒരു സ്വതന്ത്ര വേരിയന്റായി കണക്കാക്കുന്നു, ആവശ്യാനുസരണം വരാർഗ് പോപ്പ് ദിനചര്യകളിൽ ലിങ്ക് ചെയ്യുന്നു, ഐഒ ഫംഗ്ഷൻ ആർഗ്യുമെന്റുകൾ കൈകാര്യം ചെയ്യുന്നതിന് സാധ്യമാകുന്നിടത്ത് ഹ്രസ്വ ഡാറ്റ തരങ്ങൾ ഉപയോഗിക്കുന്നു. , കൂടാതെ ഫീൽഡ് വീതിയിലും കൃത്യമായ കൈകാര്യം ചെയ്യലിലും പൊതുവായ കോഡ് ഫാക്ടറിംഗ് ചെയ്യുന്നു. ഇത് കാര്യമായ കോഡും ഡാറ്റയും ലാഭിക്കുന്നതിനും 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 ഓപ്ഷൻ ലിങ്കർ ഒരു 32k വിഭാഗത്തിൽ എല്ലാ കോൻസ് ക്വാളിഫൈഡ് ഡാറ്റയും സ്ഥാപിക്കാനും ഈ ഡാറ്റ ഡാറ്റ മെമ്മറി സ്പെയ്സിലേക്ക് മാപ്പ് ചെയ്തിട്ടുണ്ടെന്ന് ഉറപ്പാക്കാൻ പ്രസക്തമായ SFR രജിസ്റ്റർ സ്വയമേവ ആരംഭിക്കാനും ഉപയോഗിക്കാനാകും. , എവിടെ അത് കൂടുതൽ ഫലപ്രദമായി ആക്സസ് ചെയ്യും.
മൈക്രോചിപ്പ് ഏകീകൃത സ്റ്റാൻഡേർഡ് ലൈബ്രറികൾ എല്ലാ MPLAB XC കമ്പൈലറുകളും ഒരു മൈക്രോചിപ്പ് യൂണിഫൈഡ് സ്റ്റാൻഡേർഡ് ലൈബ്രറി പങ്കിടും, അത് ഇപ്പോൾ MPLAB XC8-ന്റെ ഈ റിലീസിനൊപ്പം ലഭ്യമാണ്. MPLAB® XC8 C കംപൈലർ ഉപയോക്തൃ ഗൈഡ്/അല്ലെങ്കിൽ AVR® MCU ഈ സ്റ്റാൻഡേർഡ് ഫംഗ്ഷനുകൾക്കായുള്ള ഡോക്യുമെന്റേഷൻ ഇനിമുതൽ ഉൾപ്പെടുത്തില്ല. ഈ വിവരങ്ങൾ ഇപ്പോൾ മൈക്രോചിപ്പ് യൂണിഫൈഡ് സ്റ്റാൻഡേർഡ് ലൈബ്രറി റഫറൻസ് ഗൈഡിൽ കാണാം. avr-libc മുമ്പ് നിർവചിച്ച ചില പ്രവർത്തനങ്ങൾ ഇനി ലഭ്യമല്ല എന്നത് ശ്രദ്ധിക്കുക. (ലിബ്രാർ കാണുക):'. പ്രവർത്തനക്ഷമത...)
സ്മാർട്ട് ഐഒ പുതിയ ഏകീകൃത ലൈബ്രറികളുടെ ഭാഗമായി, പ്രിന്റ്, സ്കാൻ ഫാമിലികളിലെ IO ഫംഗ്ഷനുകൾ, പ്രോഗ്രാമിൽ ഈ ഫംഗ്ഷനുകൾ എങ്ങനെ ഉപയോഗിക്കുന്നു എന്നതിനെ അടിസ്ഥാനമാക്കി ഓരോ ബിൽഡിലും ഇഷ്ടാനുസൃതമായി സൃഷ്ടിക്കപ്പെട്ടിരിക്കുന്നു. ഇത് ഒരു പ്രോഗ്രാം ഉപയോഗിക്കുന്ന വിഭവങ്ങൾ ഗണ്യമായി കുറയ്ക്കും.
സ്മാർട്ട് ഐഒ സഹായ ഓപ്ഷൻ സ്മാർട്ട് ഐഒ ഫംഗ്ഷനുകളിലേക്കുള്ള (printf () അല്ലെങ്കിൽ scanf () പോലുള്ള കോളുകൾ വിശകലനം ചെയ്യുമ്പോൾ, കംപൈലറിന് എല്ലായ്പ്പോഴും ഫോർമാറ്റ് സ്ട്രിംഗിൽ നിന്ന് നിർണ്ണയിക്കാനോ കോളിന് ആവശ്യമായ പരിവർത്തന സ്പെസിഫയറുകൾ ആർഗ്യുമെന്റുകളിൽ നിന്ന് അനുമാനിക്കാനോ കഴിയില്ല. മുമ്പ്, കംപൈലർ എല്ലായ്പ്പോഴും അനുമാനങ്ങളൊന്നും ഉണ്ടാക്കില്ല, കൂടാതെ പൂർണ്ണമായി പ്രവർത്തനക്ഷമമായ IO ഫംഗ്ഷനുകൾ അന്തിമ പ്രോഗ്രാം ഇമേജിലേക്ക് ലിങ്ക് ചെയ്തിട്ടുണ്ടെന്നും ഉറപ്പാക്കും. ഒരു പുതിയ – msmart-io-format=fmt ഓപ്ഷൻ ചേർത്തിരിക്കുന്നു, അതിലൂടെ കംപൈലറിന് പകരം സ്മാർട്ട് ഐഒ ഫംഗ്ഷനുകൾ ഉപയോഗിക്കുന്ന കൺവേർഷൻ സ്പെസിഫയറുകൾ ഉപയോക്താവിന് അറിയിക്കാൻ കഴിയും, അവയുടെ ഉപയോഗം അവ്യക്തമാണ്, ഇത് അമിത ദൈർഘ്യമുള്ള ഐഒ ദിനചര്യകൾ ലിങ്ക് ചെയ്യുന്നതിൽ നിന്ന് തടയുന്നു. (കൂടുതൽ വിവരങ്ങൾക്ക് സ്മാർട്ട്-ഐഒ-ഫോർമാറ്റ് ഓപ്ഷൻ കാണുക.)
ഇഷ്ടാനുസൃത വിഭാഗങ്ങൾ സ്ഥാപിക്കുന്നു മുമ്പ്, ലിങ്കർ സ്ക്രിപ്റ്റ് അതേ പേരിൽ ഒരു ഔട്ട്പുട്ട് വിഭാഗം നിർവചിക്കുമ്പോൾ, -Wl, –section-start ഓപ്ഷൻ നിർദ്ദിഷ്ട വിഭാഗം അഭ്യർത്ഥിച്ച വിലാസത്തിൽ സ്ഥാപിച്ചു. അങ്ങനെയല്ലാത്തപ്പോൾ, ലിങ്കർ തിരഞ്ഞെടുത്ത ഒരു വിലാസത്തിൽ വിഭാഗം സ്ഥാപിക്കുകയും ഓപ്ഷൻ പ്രധാനമായും അവഗണിക്കപ്പെടുകയും ചെയ്തു. ലിങ്കർ സ്ക്രിപ്റ്റ് വിഭാഗത്തെ നിർവചിക്കുന്നില്ലെങ്കിലും, ഇപ്പോൾ എല്ലാ ഇഷ്ടാനുസൃത വിഭാഗങ്ങൾക്കും ഓപ്ഷൻ ബഹുമാനിക്കപ്പെടും. എന്നിരുന്നാലും, സ്റ്റാൻഡേർഡ് വിഭാഗങ്ങൾക്ക്, അത്തരം . ടെക്സ്റ്റ്, . bss അല്ലെങ്കിൽ . ഡാറ്റ, മികച്ച ഫിറ്റ് അലോക്കേറ്റർക്ക് അവരുടെ പ്ലെയ്സ്മെന്റിന്റെ മേൽ ഇപ്പോഴും പൂർണ്ണ നിയന്ത്രണം ഉണ്ടായിരിക്കും, കൂടാതെ ഓപ്ഷന് യാതൊരു ഫലവുമില്ല. ഉപയോക്താവിന്റെ ഗൈഡിൽ വിവരിച്ചിരിക്കുന്നതുപോലെ -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, AVR32DVB48, AVRXNUMXDBXNUMX.
പിൻവലിച്ച ഉപകരണ പിന്തുണ പിന്തുണ ഇനിപ്പറയുന്ന AVR ഭാഗങ്ങൾക്ക് ഇനി ലഭ്യമല്ല: AVR16DA28, AVR16DA32 കൂടാതെ, AVR16DA48.
പതിപ്പ് 2.31
ഒന്നുമില്ല.
പതിപ്പ് 2.30
ഡാറ്റ ആരംഭിക്കുന്നത് തടയുന്നതിനുള്ള പുതിയ ഐച്ഛികം ഒരു പുതിയ -mno-data-ini t ഡ്രൈവർ ഐച്ഛികം ഡാറ്റ ആരംഭിക്കുന്നതും bss സെക്ഷനുകൾ ക്ലിയർ ചെയ്യുന്നതും തടയുന്നു. അസംബ്ലിയിലെ do_ copy_ ഡാറ്റയുടെയും d o_ clear_ bss ചിഹ്നങ്ങളുടെയും ഔട്ട്പുട്ട് അടിച്ചമർത്തിക്കൊണ്ട് ഇത് പ്രവർത്തിക്കുന്നു. files, ഇത് ലിങ്കർ ആ ദിനചര്യകൾ ഉൾപ്പെടുത്തുന്നത് തടയും.
മെച്ചപ്പെടുത്തിയ ഒപ്റ്റിമൈസേഷനുകൾ അനാവശ്യ റിട്ടേൺ നിർദ്ദേശങ്ങൾ നീക്കം ചെയ്യൽ, ഒരു skip-if-bit-is നിർദ്ദേശത്തെ തുടർന്നുള്ള ചില ജമ്പുകൾ നീക്കം ചെയ്യൽ, മെച്ചപ്പെട്ട നടപടിക്രമ സംഗ്രഹം, ഈ പ്രക്രിയ ആവർത്തിക്കാനുള്ള കഴിവ് എന്നിവ ഉൾപ്പെടെ നിരവധി ഒപ്റ്റിമൈസേഷൻ മെച്ചപ്പെടുത്തലുകൾ വരുത്തിയിട്ടുണ്ട്.
ഈ ഒപ്റ്റിമൈസേഷനുകളിൽ ചിലത് നിയന്ത്രിക്കാൻ കൂടുതൽ ഓപ്ഷനുകൾ ഇപ്പോൾ ലഭ്യമാണ്, പ്രത്യേകമായി -f സെക്ഷൻ ആങ്കറുകൾ, ഇത് ഒരു ചിഹ്നവുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ സ്റ്റാറ്റിക് ഒബ്ജക്റ്റുകളുടെ ആക്സസ് ചെയ്യാൻ അനുവദിക്കുന്നു; -mpai derations=n, ഇത് 2 ന്റെ ഡിഫോൾട്ടിൽ നിന്ന് പ്രൊസീജറൽ അബ്സ്ട്രാക്ഷൻ ആവർത്തനങ്ങളുടെ എണ്ണം മാറ്റാൻ അനുവദിക്കുന്നു; കൂടാതെ, -mpa- കോൾ കോസ്റ്റ്- ഷോർട്ട്കോൾ, ഇത് കൂടുതൽ ആക്രമണാത്മക നടപടിക്രമ അമൂർത്തീകരണം നടത്തുന്നു, ലിങ്കർക്ക് ദൈർഘ്യമേറിയ കോളുകൾ വിശ്രമിക്കാൻ കഴിയുമെന്ന പ്രതീക്ഷയിൽ. അടിസ്ഥാന അനുമാനങ്ങൾ സാക്ഷാത്കരിക്കപ്പെടുന്നില്ലെങ്കിൽ ഈ അവസാന ഓപ്ഷന് കോഡ് വലുപ്പം വർദ്ധിപ്പിക്കാൻ കഴിയും.
പുതിയ ഉപകരണ പിന്തുണ ഇനിപ്പറയുന്ന AVR ഭാഗങ്ങൾക്കുള്ള പിന്തുണ ലഭ്യമാണ്: AVR16DA28, AVR16DA32,
AVR16DA48, AVR32DA28, AVR32DA32, AVR32DA48, AVR64DA28, AVR64DA32, AVR64DA48, AVR64DA64, AVR128DB28, AVR128DB32, ABVR128, ABV48, ABVR128,D.
പിൻവലിച്ച ഉപകരണ പിന്തുണ ഇനിപ്പറയുന്ന AVR ഭാഗങ്ങൾക്ക് ഇനി പിന്തുണ ലഭ്യമല്ല: ATA5272, ATA5790, ATA5790N,ATA5791,ATA5795,ATA6285,ATA6286,ATA6612C,ATA6613C,ATA6614Q, ATA6616, ATA6617.
പതിപ്പ് 2.29 (ഫങ്ഷണൽ സേഫ്റ്റി റിലീസ്)
തലക്കെട്ട് file കംപൈലർ ബിൽറ്റ്-ഇന്നുകൾക്കായി കംപൈലറിന് മിസ്ര പോലുള്ള ഭാഷാ സ്പെസിഫിക്കേഷനുകളുമായി പൊരുത്തപ്പെടാൻ കഴിയുമെന്ന് ഉറപ്പാക്കാൻ, തലക്കെട്ട് file, ഇത് സ്വയമേവ ഉൾപ്പെടുത്തിയിരിക്കുന്നു , അപ്ഡേറ്റ് ചെയ്തു. _buil tin _avrnop (), _buil tin_ avr delay_ സൈക്കിളുകൾ () എന്നിങ്ങനെയുള്ള എല്ലാ ഇൻ-ബിൽറ്റ് ഫംഗ്ഷനുകൾക്കുമുള്ള പ്രോട്ടോടൈപ്പുകൾ ഈ ഹെഡറിൽ അടങ്ങിയിരിക്കുന്നു. ചില ബിൽറ്റ്-ഇന്നുകൾ മിസ്രയ്ക്ക് അനുസൃതമായിരിക്കില്ല; കമ്പൈലർ കമാൻഡ് ലൈനിലേക്ക് define _Xe_ STRICT_ MISRA ചേർത്തുകൊണ്ട് ഇവ ഒഴിവാക്കാവുന്നതാണ്. നിശ്ചിത വീതിയുള്ള തരങ്ങൾ ഉപയോഗിക്കുന്നതിന് ബിൽറ്റ്-ഇന്നുകളും അവയുടെ പ്രഖ്യാപനങ്ങളും അപ്ഡേറ്റ് ചെയ്തു.
പതിപ്പ് 2.20
പുതിയ ഉപകരണ പിന്തുണ ഇനിപ്പറയുന്ന AVR ഭാഗങ്ങൾക്കുള്ള പിന്തുണ ലഭ്യമാണ്: ATTINY1624, ATTINY1626, ATTINY1627.
മികച്ച ഫിറ്റ് അലോക്കേഷൻ കംപൈലറിലെ ഏറ്റവും മികച്ച ഫിറ്റ് അലോക്കേറ്റർ (ബിഎഫ്എ) മെച്ചപ്പെടുത്തിയതിനാൽ മികച്ച ഒപ്റ്റിമൈസേഷൻ അനുവദിക്കുന്ന ക്രമത്തിൽ വിഭാഗങ്ങൾ അനുവദിച്ചു. BFA ഇപ്പോൾ പേരിട്ടിരിക്കുന്ന വിലാസ സ്പെയ്സുകളെ പിന്തുണയ്ക്കുകയും ഡാറ്റ സമാരംഭം മികച്ച രീതിയിൽ കൈകാര്യം ചെയ്യുകയും ചെയ്യുന്നു.
മെച്ചപ്പെട്ട നടപടിക്രമ സംഗ്രഹം പ്രൊസീജറൽ അബ്സ്ട്രാക്ഷൻ ഒപ്റ്റിമൈസേഷനുകൾ ഇപ്പോൾ കൂടുതൽ കോഡ് സീക്വൻസുകളിൽ നടപ്പിലാക്കുന്നു. ഈ ഒപ്റ്റിമൈസേഷൻ കോഡ് വലുപ്പം വർദ്ധിപ്പിച്ചേക്കാവുന്ന മുൻ സാഹചര്യങ്ങൾ, ലിങ്കറുടെ മാലിന്യ ശേഖരണ പ്രക്രിയയെക്കുറിച്ച് ഒപ്റ്റിമൈസേഷൻ കോഡിനെ ബോധവാന്മാരാക്കി.
AVR അസംബ്ലറുടെ അഭാവം ഈ വിതരണത്തിൽ ഇനി AVR അസംബ്ലർ ഉൾപ്പെടുത്തിയിട്ടില്ല.
പതിപ്പ് 2.19 (ഫങ്ഷണൽ സേഫ്റ്റി റിലീസ്)
ഒന്നുമില്ല.
പതിപ്പ് 2.10
കോഡ് കവറേജ് ഈ റിലീസിൽ ഒരു കോഡ് കവറേജ് ഫീച്ചർ ഉൾപ്പെടുന്നു, അത് ഒരു പ്രോജക്റ്റിന്റെ സോഴ്സ് കോഡ് എത്രത്തോളം എക്സിക്യൂട്ട് ചെയ്തു എന്നതിന്റെ വിശകലനം സുഗമമാക്കുന്നു. ഇത് പ്രവർത്തനക്ഷമമാക്കാൻ -mcodecov=ram എന്ന ഓപ്ഷൻ ഉപയോഗിക്കുക. നിങ്ങളുടെ ഹാർഡ്വെയറിൽ പ്രോഗ്രാം നടപ്പിലാക്കിയ ശേഷം, കോഡ് കവറേജ് വിവരങ്ങൾ ഉപകരണത്തിൽ സംയോജിപ്പിക്കും, ഇത് ഒരു കോഡ് കവറേജ് പ്ലഗിൻ വഴി MPLAB X IDE-ലേക്ക് കൈമാറുകയും പ്രദർശിപ്പിക്കുകയും ചെയ്യാം. ഈ പ്ലഗിനെക്കുറിച്ചുള്ള വിവരങ്ങൾക്ക് IDE ഡോക്യുമെന്റേഷൻ കാണുക. കവറേജ് വിശകലനത്തിൽ നിന്ന് തുടർന്നുള്ള ഫംഗ്ഷനുകൾ ഒഴിവാക്കുന്നതിന് #pragma mcodecov ഉപയോഗിച്ചേക്കാം. യുടെ തുടക്കത്തിൽ തന്നെ പ്രാഗ്മ ചേർക്കണം file അത് മുഴുവനായും ഒഴിവാക്കുക file കവറേജ് വിശകലനത്തിൽ നിന്ന്. പകരമായി, കവറേജ് വിശകലനത്തിൽ നിന്ന് ഒരു പ്രത്യേക ഫംഗ്ഷൻ ഒഴിവാക്കുന്നതിന് ആട്രിബ്യൂട്ട് ( (mcodecov) ) ഉപയോഗിച്ചേക്കാം.
ഉപകരണ വിവരണം files ഒരു പുതിയ ഉപകരണം file avr chipinfo എന്ന് വിളിക്കുന്നു. കംപൈലർ ഡിസ്ട്രിബ്യൂഷന്റെ ഡോക്സ് ഡയറക്ടറിയിലാണ് html സ്ഥിതി ചെയ്യുന്നത്. ഈ file കമ്പൈലർ പിന്തുണയ്ക്കുന്ന എല്ലാ ഉപകരണങ്ങളും ലിസ്റ്റുചെയ്യുന്നു. ഒരു ഉപകരണത്തിന്റെ പേരിൽ ക്ലിക്ക് ചെയ്യുക, അത് ആ ഉപകരണത്തിന് അനുവദനീയമായ എല്ലാ കോൺഫിഗറേഷൻ ബിറ്റ് ക്രമീകരണം/മൂല്യ ജോഡികൾ കാണിക്കുന്ന ഒരു പേജ് തുറക്കും.ampലെസ്.
നടപടിക്രമ സംഗ്രഹം അസംബ്ലി കോഡിന്റെ സാധാരണ ബ്ലോക്കുകൾക്ക് പകരം ആ ബ്ലോക്കിന്റെ എക്സ്ട്രാക്റ്റുചെയ്ത പകർപ്പിലേക്കുള്ള കോളുകൾ ഉപയോഗിച്ച് പ്രൊസീജറൽ അബ്സ്ട്രാക്ഷൻ ഒപ്റ്റിമൈസേഷനുകൾ കംപൈലറിലേക്ക് ചേർത്തു. ലെവൽ 2, 3 അല്ലെങ്കിൽ ഒപ്റ്റിമൈസേഷനുകൾ തിരഞ്ഞെടുക്കുമ്പോൾ കംപൈലർ സ്വയമേവ ആവശ്യപ്പെടുന്ന ഒരു പ്രത്യേക ആപ്ലിക്കേഷനാണ് ഇവ നിർവഹിക്കുന്നത്. ഈ ഒപ്റ്റിമൈസേഷനുകൾ കോഡ് വലുപ്പം കുറയ്ക്കുന്നു, പക്ഷേ അവ എക്സിക്യൂഷൻ വേഗതയും കോഡ് ഡീബഗ്ഗബിലിറ്റിയും കുറച്ചേക്കാം.
-mno-pa എന്ന ഓപ്ഷൻ ഉപയോഗിച്ച് ഉയർന്ന ഒപ്റ്റിമൈസേഷൻ തലങ്ങളിൽ പ്രൊസീജറൽ അബ്സ്ട്രാക്ഷൻ പ്രവർത്തനരഹിതമാക്കാം അല്ലെങ്കിൽ -mpa ഉപയോഗിച്ച് കുറഞ്ഞ ഒപ്റ്റിമൈസേഷൻ ലെവലിൽ (നിങ്ങളുടെ ലൈസൻസിന് വിധേയമായി) പ്രവർത്തനക്ഷമമാക്കാം. ഒരു ഒബ്ജക്റ്റിനായി ഇത് പ്രവർത്തനരഹിതമാക്കാം file -mno-pa-on- ഉപയോഗിച്ച്file=fileഫംഗ്ഷൻ= ഫംഗ്ഷനിൽ -mno-pa ഉപയോഗിച്ച് ഒരു ഫംഗ്ഷനായി പേര്, അല്ലെങ്കിൽ പ്രവർത്തനരഹിതമാക്കി.
നിങ്ങളുടെ സോഴ്സ് കോഡിനുള്ളിൽ, ഫംഗ്ഷന്റെ നിർവചനത്തോടൊപ്പം _attribute_ ((nopa)) ഉപയോഗിച്ചോ ആട്രിബ്യൂട്ടിലേക്ക് ((nopa, noinline)) വികസിക്കുന്ന _nopa ഉപയോഗിച്ചോ ഒരു ഫംഗ്ഷനായി പ്രൊസീജറൽ അബ്സ്ട്രാക്ഷൻ അപ്രാപ്തമാക്കാം, അങ്ങനെ ഫംഗ്ഷൻ ഇൻലൈനിംഗ് നടക്കുന്നത് തടയുന്നു. ഇൻലൈൻ ചെയ്ത കോഡിന്റെ അമൂർത്തീകരണം അവിടെയുണ്ട്.
പ്രാഗ്മയിൽ ലോക്ക് ബിറ്റ് പിന്തുണ AVR ലോക്ക് ബിറ്റുകളും മറ്റ് കോൺഫിഗറേഷൻ ബിറ്റുകളും വ്യക്തമാക്കാൻ #pragma കോൺഫിഗറേഷൻ ഇപ്പോൾ ഉപയോഗിക്കാം. avr ചിപ്പ് വിവരങ്ങൾ പരിശോധിക്കുക. html file (മുകളിൽ സൂചിപ്പിച്ചത്) ഈ പ്രാഗ്മയ്ക്കൊപ്പം ഉപയോഗിക്കുന്നതിനുള്ള ക്രമീകരണം/മൂല്യ ജോഡികൾക്കായി.
പുതിയ ഉപകരണ പിന്തുണ ഇനിപ്പറയുന്ന ഭാഗങ്ങൾക്ക് പിന്തുണ ലഭ്യമാണ്: AVR28DA128, AVR64DA128,AVR32DA128, AVR48DA128.
പതിപ്പ് 2.05
നിങ്ങളുടെ രൂപയ്ക്ക് കൂടുതൽ ബിറ്റുകൾ ഈ കമ്പൈലറിന്റെയും ലൈസൻസ് മാനേജറിന്റെയും macOS പതിപ്പ് ഇപ്പോൾ ഒരു 64-ബിറ്റ് ആപ്ലിക്കേഷനാണ്. MacOS-ന്റെ സമീപകാല പതിപ്പുകളിൽ മുന്നറിയിപ്പുകളില്ലാതെ കമ്പൈലർ ഇൻസ്റ്റാൾ ചെയ്യുമെന്നും പ്രവർത്തിക്കുമെന്നും ഇത് ഉറപ്പാക്കും.
പ്രോഗ്രാം മെമ്മറിയിലെ കോൺസ്റ്റ് ഒബ്ജക്റ്റുകൾ റാമിൽ സ്ഥാപിക്കുന്നതിനുപകരം, കംപൈലറിന് ഇപ്പോൾ കോൺസ്റ്റ് യോഗ്യതയുള്ള ഒബ്ജക്റ്റുകൾ പ്രോഗ്രാം ഫ്ലാഷ് മെമ്മറിയിൽ സ്ഥാപിക്കാൻ കഴിയും. കംപൈലർ പരിഷ്ക്കരിച്ചതിനാൽ കോൺസ്റ്റ്-ക്വാളിഫൈഡ് ഗ്ലോബൽ ഡാറ്റ പ്രോഗ്രാം ഫ്ലാഷ് മെമ്മറിയിൽ സംഭരിക്കപ്പെടുന്നു, കൂടാതെ ഈ ഡാറ്റ ഉചിതമായ പ്രോഗ്രാം-മെമ്മറി നിർദ്ദേശങ്ങൾ ഉപയോഗിച്ച് നേരിട്ടും അല്ലാതെയും ആക്സസ് ചെയ്യാൻ കഴിയും. ഈ പുതിയ ഫീച്ചർ ഡിഫോൾട്ടായി പ്രവർത്തനക്ഷമമാക്കിയിട്ടുണ്ടെങ്കിലും -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 കോമൺ സി ഇന്റർഫേസുമായി പൊരുത്തപ്പെടാൻ കഴിയും, ഇത് എല്ലാ MPLAB XC കമ്പൈലറുകളിലുടനീളം സോഴ്സ് കോഡ് കൂടുതൽ എളുപ്പത്തിൽ പോർട്ട് ചെയ്യാൻ അനുവദിക്കുന്നു. -mext=cci ഓപ്ഷൻ ഈ സവിശേഷത അഭ്യർത്ഥിക്കുന്നു, പല ഭാഷാ വിപുലീകരണങ്ങൾക്കായി ഇതര വാക്യഘടന പ്രാപ്തമാക്കുന്നു.
പുതിയ ലൈബ്രേറിയൻ ഡ്രൈവർ മുമ്പത്തെ PIC ലൈബ്രേറിയനും AVR avr-ar ലൈബ്രേറിയനും മുകളിലാണ് ഒരു പുതിയ ലൈബ്രേറിയൻ ഡ്രൈവർ സ്ഥാനം പിടിച്ചിരിക്കുന്നത്. ഈ ഡ്രൈവർ GCC-ആർക്കൈവർ-സ്റ്റൈൽ ഓപ്ഷനുകൾ സ്വീകരിക്കുന്നു, അവ ഒന്നുകിൽ വിവർത്തനം ചെയ്യപ്പെടുകയോ അല്ലെങ്കിൽ എക്സിക്യൂട്ട് ചെയ്യുന്ന ലൈബ്രേറിയനിലേക്ക് കൈമാറുകയോ ചെയ്യുന്നു. ഏതെങ്കിലും PIC അല്ലെങ്കിൽ AVR ലൈബ്രറി സൃഷ്ടിക്കുന്നതിനോ കൃത്രിമം കാണിക്കുന്നതിനോ സമാനമായ സെമാന്റിക്സുകളുള്ള സമാന ഓപ്ഷനുകൾ ഉപയോഗിക്കാൻ പുതിയ ഡ്രൈവർ അനുവദിക്കുന്നു. file അതിനാൽ ലൈബ്രേറിയനെ വിളിക്കാനുള്ള ശുപാർശിത മാർഗമാണിത്. ലെഗസി പ്രോജക്റ്റുകൾക്ക് ആവശ്യമെങ്കിൽ, മുമ്പത്തെ കംപൈലർ പതിപ്പുകളിൽ സ്വീകരിച്ച പഴയ രീതിയിലുള്ള ഓപ്ഷനുകൾ ഉപയോഗിച്ച് മുൻ ലൈബ്രേറിയനെ നേരിട്ട് വിളിക്കാവുന്നതാണ്.
മൈഗ്രേഷൻ പ്രശ്നങ്ങൾ
കംപൈലർ ഇപ്പോൾ വ്യത്യസ്തമായി കൈകാര്യം ചെയ്യുന്ന സവിശേഷതകളാണ് ഇനിപ്പറയുന്നവ. ഈ കംപൈലർ പതിപ്പിലേക്ക് കോഡ് പോർട്ട് ചെയ്യുകയാണെങ്കിൽ ഈ മാറ്റങ്ങൾക്ക് നിങ്ങളുടെ സോഴ്സ് കോഡിൽ മാറ്റം വരുത്തേണ്ടി വന്നേക്കാം. ഉപശീർഷകങ്ങളിലെ പതിപ്പ് നമ്പർ, തുടർന്നുള്ള മാറ്റങ്ങളെ പിന്തുണയ്ക്കുന്നതിനുള്ള ആദ്യ കംപൈലർ പതിപ്പിനെ സൂചിപ്പിക്കുന്നു.
പതിപ്പ് 2.40
ഒന്നുമില്ല.
പതിപ്പ് 2.39 (ഫങ്ഷണൽ സേഫ്റ്റി റിലീസ്)
ഒന്നുമില്ല.
പതിപ്പ് 2.36
ഒന്നുമില്ല.
പതിപ്പ് 2.35
സ്ട്രിംഗ്-ടു ബേസുകളുടെ കൈകാര്യം ചെയ്യൽ (XCS-2420) മറ്റ് XC കംപൈലറുകളുമായുള്ള സ്ഥിരത ഉറപ്പാക്കാൻ, strtol () മുതലായവ പോലുള്ള XC8 സ്ട്രിംഗ്-ടു ഫംഗ്ഷനുകൾ, വ്യക്തമാക്കിയ അടിസ്ഥാനം 36-നേക്കാൾ വലുതാണെങ്കിൽ ഒരു ഇൻപുട്ട് സ്ട്രിംഗ് പരിവർത്തനം ചെയ്യാൻ ഇനി ശ്രമിക്കില്ല, പകരം EINVAL-ലേക്ക് errno സജ്ജമാക്കും. ഈ അടിസ്ഥാന മൂല്യം കവിയുമ്പോൾ പ്രവർത്തനങ്ങളുടെ സ്വഭാവം C സ്റ്റാൻഡേർഡ് വ്യക്തമാക്കുന്നില്ല.
അനുചിതമായ വേഗത ഒപ്റ്റിമൈസേഷനുകൾ ലെവൽ 3 ഒപ്റ്റിമൈസേഷനുകൾ (-03) തിരഞ്ഞെടുക്കുമ്പോൾ പ്രൊസീജറൽ അബ്സ്ട്രാക്ഷൻ ഒപ്റ്റിമൈസേഷനുകൾ പ്രവർത്തനക്ഷമമാക്കുന്നു. ഈ ഒപ്റ്റിമൈസേഷനുകൾ കോഡ് വേഗതയുടെ ചെലവിൽ കോഡ് വലുപ്പം കുറയ്ക്കുന്നു, അതിനാൽ ഇത് നടപ്പിലാക്കാൻ പാടില്ലായിരുന്നു. ഈ ഒപ്റ്റിമൈസേഷൻ ലെവൽ ഉപയോഗിക്കുന്ന പ്രോജക്റ്റുകൾ ഈ റിലീസ് ഉപയോഗിച്ച് നിർമ്മിക്കുമ്പോൾ കോഡ് വലുപ്പത്തിലും നിർവ്വഹണ വേഗതയിലും വ്യത്യാസങ്ങൾ കണ്ടേക്കാം.
ലൈബ്രറി പ്രവർത്തനം പല സ്റ്റാൻഡേർഡ് സി ലൈബ്രറി ഫംഗ്ഷനുകളുടെയും കോഡ് ഇപ്പോൾ മൈക്രോചിപ്പിന്റെ യൂണിഫൈഡ് സ്റ്റാൻഡേർഡ് ലൈബ്രറിയിൽ നിന്നാണ് വരുന്നത്, മുൻ avr-libc ലൈബ്രറി നൽകിയതിനെ അപേക്ഷിച്ച് ചില സാഹചര്യങ്ങളിൽ ഇത് വ്യത്യസ്ത സ്വഭാവം പ്രകടമാക്കിയേക്കാം. ഉദാample, float-format സ്പെസിഫയറുകൾക്കായി ഫോർമാറ്റ് ചെയ്ത IO പിന്തുണ ഓണാക്കുന്നതിന്, lprintf_flt ലൈബ്രറിയിൽ (-print _flt ഓപ്ഷൻ) ലിങ്ക് ചെയ്യേണ്ട ആവശ്യമില്ല. മൈക്രോചിപ്പ് യൂണിഫൈഡ് സ്റ്റാൻഡേർഡ് ലൈബ്രറിയുടെ സ്മാർട്ട് ഐഒ സവിശേഷതകൾ ഈ ഓപ്ഷൻ അനാവശ്യമാക്കുന്നു. കൂടാതെ, ഫ്ലാഷിലെ കോൺസ്റ്റ് സ്ട്രിംഗുകളിൽ പ്രവർത്തിക്കുന്ന സ്ട്രിംഗ്, മെമ്മറി ഫംഗ്ഷനുകൾ (ഉദാ. strcpy_P () മുതലായവ .. ) _p സഫിക്സ് ചെയ്ത ദിനചര്യകൾ ഇനി ആവശ്യമില്ല. കോൺസ്റ്റ്-ഡാറ്റ-ഇൻ-പ്രോഗ്രാം-മെമ്മറി ഫീച്ചർ പ്രവർത്തനക്ഷമമാക്കുമ്പോൾ സ്റ്റാൻഡേർഡ് സി ദിനചര്യകൾ (ഉദാ. strcpy ()) അത്തരം ഡാറ്റയിൽ ശരിയായി പ്രവർത്തിക്കും.
പതിപ്പ് 2.32
ഒന്നുമില്ല.
പതിപ്പ് 2.31
ഒന്നുമില്ല.
പതിപ്പ് 2.30
ഒന്നുമില്ല.
പതിപ്പ് 2.29 (ഫങ്ഷണൽ സേഫ്റ്റി റിലീസ്)
ഒന്നുമില്ല.
പതിപ്പ് 2.20
DFP ലേഔട്ട് മാറ്റി കംപൈലർ ഇപ്പോൾ ഡിഎഫ്പികൾ (ഡിവൈസ് ഫാമിലി പായ്ക്കുകൾ) ഉപയോഗിക്കുന്ന മറ്റൊരു ലേഔട്ട് അനുമാനിക്കുന്നു. ഇതിനർത്ഥം പഴയ ഒരു DFP ഈ റിലീസിനൊപ്പം പ്രവർത്തിച്ചേക്കില്ല, കൂടാതെ പഴയ കംപൈലറുകൾക്ക് ഏറ്റവും പുതിയ DFP-കൾ ഉപയോഗിക്കാൻ കഴിയില്ല.
പതിപ്പ് 2.19 (ഫങ്ഷണൽ സേഫ്റ്റി റിലീസ്)
ഒന്നുമില്ല.
പതിപ്പ് 2.10
ഒന്നുമില്ല
പതിപ്പ് 2.05
പ്രോഗ്രാം മെമ്മറിയിൽ കോൺസ്റ്റ് ഒബ്ജക്റ്റുകൾ സ്ഥിരസ്ഥിതിയായി, const-qualfiied ഒബ്ജക്റ്റുകൾ പ്രോഗ്രാം മെമ്മറിയിൽ സ്ഥാപിക്കുകയും ആക്സസ് ചെയ്യുകയും ചെയ്യും (ഇവിടെ വിവരിച്ചിരിക്കുന്നത് പോലെ) . ഇത് നിങ്ങളുടെ പ്രോജക്റ്റിന്റെ വലുപ്പത്തെയും നിർവ്വഹണ വേഗതയെയും ബാധിക്കും, എന്നാൽ റാം ഉപയോഗം കുറയ്ക്കണം. ആവശ്യമെങ്കിൽ -mnoconst-da ta-in-progmem ഓപ്ഷൻ ഉപയോഗിച്ച് ഈ സവിശേഷത പ്രവർത്തനരഹിതമാക്കാം.
പതിപ്പ് 2.00
കോൺഫിഗറേഷൻ ഫ്യൂസുകൾ ഉപകരണ കോൺഫിഗറേഷൻ ഫ്യൂസുകൾക്ക് ഇപ്പോൾ ഒരു കോൺഫിഗറേഷൻ പ്രാഗ്മ ഉപയോഗിച്ച് പ്രോഗ്രാം ചെയ്യാം, തുടർന്ന് ഫ്യൂസ് അവസ്ഥ വ്യക്തമാക്കുന്നതിന് മൂല്യ ജോഡികൾ ക്രമീകരിക്കാം, ഉദാ.
#pragma config WDT0N = SET
#പ്രാഗ്മ കോൺഫിഗറേഷൻ B0DLEVEL = B0DLEVEL_4V3
സമ്പൂർണ്ണ വസ്തുക്കളും പ്രവർത്തനങ്ങളും CCI _at (വിലാസം) സ്പെസിഫയർ ഉപയോഗിച്ച് മെമ്മറിയിലെ നിർദ്ദിഷ്ട വിലാസത്തിൽ ഒബ്ജക്റ്റുകളും ഫംഗ്ഷനുകളും ഇപ്പോൾ സ്ഥാപിക്കാൻ കഴിയും, ഉദാഹരണത്തിന്ampലെ: #ഉൾപ്പെടുത്തുക int foobar at(Ox800100); char at(Ox250) ഐഡി (int ഓഫ്സെറ്റ്) നേടുക { … } ഈ സ്പെസിഫയറിലേക്കുള്ള ആർഗ്യുമെന്റ്, ആദ്യത്തെ ബൈറ്റ് അല്ലെങ്കിൽ നിർദ്ദേശം നൽകുന്ന വിലാസത്തെ പ്രതിനിധീകരിക്കുന്ന ഒരു സ്ഥിരാങ്കമായിരിക്കണം. 0x800000 ഓഫ്സെറ്റ് ഉപയോഗിച്ചാണ് റാം വിലാസങ്ങൾ സൂചിപ്പിക്കുന്നത്. ഈ സവിശേഷത ഉപയോഗിക്കുന്നതിന് CCI പ്രവർത്തനക്ഷമമാക്കുക.
പുതിയ ഇന്ററപ്റ്റ് ഫംഗ്ഷൻ വാക്യഘടന C ഫംഗ്ഷനുകൾ ഇന്ററപ്റ്റ് ഹാൻഡ്ലറുകളാണെന്ന് സൂചിപ്പിക്കാൻ കംപൈലർ ഇപ്പോൾ CCI ഇന്ററപ്റ്റ് (നം) സ്പെസിഫയർ സ്വീകരിക്കുന്നു. സ്പെസിഫയർ ഒരു ഇന്ററപ്റ്റ് നമ്പർ എടുക്കുന്നു, ഉദാഹരണത്തിന്ampലെ: #ഉൾപ്പെടുത്തുക ശൂന്യമായ തടസ്സം (SPI STC_ vect _num) spi Isr(അസാധു) { …}
സ്ഥിരമായ പ്രശ്നങ്ങൾ
കംപൈലറിൽ വരുത്തിയ തിരുത്തലുകൾ ഇനിപ്പറയുന്നവയാണ്. ഇവ ജനറേറ്റ് ചെയ്ത കോഡിലെ ബഗുകൾ പരിഹരിക്കുകയോ ഉപയോക്താവിന്റെ ഗൈഡ് ഉദ്ദേശിച്ചതോ വ്യക്തമാക്കിയതോ ആയ കംപൈലറിന്റെ പ്രവർത്തനത്തെ മാറ്റുകയോ ചെയ്തേക്കാം. ഉപശീർഷകങ്ങളിലെ പതിപ്പ് നമ്പർ, തുടർന്നുള്ള പ്രശ്നങ്ങൾക്കുള്ള പരിഹാരങ്ങൾ ഉൾക്കൊള്ളുന്ന ആദ്യ കംപൈലർ പതിപ്പിനെ സൂചിപ്പിക്കുന്നു. ശീർഷകത്തിലെ ബ്രാക്കറ്റഡ് ലേബൽ(കൾ) ട്രാക്കിംഗ് ഡാറ്റാബേസിലെ ആ പ്രശ്നത്തിന്റെ ഐഡന്റിഫിക്കേഷനാണ്. നിങ്ങൾക്ക് പിന്തുണയുമായി ബന്ധപ്പെടണമെങ്കിൽ ഇവ ഉപയോഗപ്രദമാകും.
ഉപകരണവുമായി ബന്ധപ്പെട്ട ഉപകരണ ഫാമിലി പാക്കിൽ (DFP) ചില ഉപകരണ-നിർദ്ദിഷ്ട പ്രശ്നങ്ങൾ പരിഹരിച്ചിട്ടുണ്ടെന്ന കാര്യം ശ്രദ്ധിക്കുക. DFP-കളിൽ വരുത്തിയ മാറ്റങ്ങളെക്കുറിച്ചുള്ള വിവരങ്ങൾക്കും ഏറ്റവും പുതിയ പായ്ക്കുകൾ ഡൗൺലോഡ് ചെയ്യുന്നതിനും MPLAB പാക്ക് മാനേജർ കാണുക.
പതിപ്പ് 2.40
വളരെ വിശ്രമിക്കുന്നു (XCS-2876) -mrelax ഐച്ഛികം ഉപയോഗിക്കുമ്പോൾ, കംപൈലർ ചില വിഭാഗങ്ങൾ ഒരുമിച്ച് അനുവദിക്കുന്നില്ല, അതിന്റെ ഫലമായി ഒപ്റ്റിമൽ കോഡ് വലുപ്പങ്ങൾ കുറവാണ്. പുതിയ MUSL ലൈബ്രറികൾ ഉപയോഗിച്ചതോ ദുർബലമായ ചിഹ്നങ്ങൾ ഉപയോഗിച്ചോ ഇത് സംഭവിച്ചിരിക്കാം.
മുന്നറിയിപ്പിൽ പറഞ്ഞിരിക്കുന്നതുപോലെ മാപ്പിംഗ് ഫീച്ചർ പ്രവർത്തനരഹിതമാക്കിയിട്ടില്ല (XCS-2875) കോസ്റ്റ്-ഡാറ്റ-ഇൻ-കോൺഫിഗ് മാപ്പ്ഡ്പ്രോഗ്മെം ഫീച്ചർ പ്രവർത്തനക്ഷമമാക്കിയിരിക്കുന്ന കോസ്റ്റ്-ഡാറ്റ-ഇൻ-പ്രോം ഫീച്ചറിനെ ആശ്രയിച്ചിരിക്കുന്നു. കോസ്റ്റ്-ഡാറ്റ-ഐപികൺഫിഗ്-മാപ്പ്ഡ്-പ്രോം ഫീച്ചർ ഓപ്ഷൻ ഉപയോഗിച്ച് വ്യക്തമായി പ്രവർത്തനക്ഷമമാക്കുകയും കോസ്റ്റ്-ഡാറ്റ-ഇൻപ്രോഗ്മെം ഫീച്ചർ പ്രവർത്തനരഹിതമാക്കുകയും ചെയ്തിട്ടുണ്ടെങ്കിൽ, കോൺഫിഗറേഷൻ-മാപ്പ് ചെയ്ത ദോഷങ്ങളാണെന്ന മുന്നറിയിപ്പ് സന്ദേശം നൽകിയിട്ടും ലിങ്ക് ഘട്ടം പരാജയപ്പെട്ടു. പ്രോം ഫീച്ചർ സ്വയമേ പ്രവർത്തനരഹിതമാക്കി, അത് പൂർണ്ണമായും ശരിയല്ല. ഈ സാഹചര്യത്തിൽ const-data-in-config-mapped-proem സവിശേഷത ഇപ്പോൾ പൂർണ്ണമായും പ്രവർത്തനരഹിതമാക്കിയിരിക്കുന്നു.
NVMCTRL (XCS-2848) ശരിയായി ആക്സസ് ചെയ്യുന്നതിന് DFP മാറ്റങ്ങൾ AVR64EA ഉപകരണങ്ങൾ ഉപയോഗിക്കുന്ന റൺടൈം സ്റ്റാർട്ടപ്പ് കോഡ് NVMCTRL രജിസ്റ്റർ കോൺഫിഗറേഷൻ ചേഞ്ച് പ്രൊട്ടക്ഷന് (CCP) കീഴിലാണെന്നും കോൺസ്റ്റ്-ഡാറ്റ-ഇൻ കോൺഫിഗ്മാപ്പ്ഡ്-പ്രോം കംപൈലർ ഉപയോഗിക്കുന്ന പേജിലേക്ക് IO SFR സജ്ജീകരിക്കാൻ സാധിച്ചില്ലെന്നും കണക്കിലെടുത്തില്ല. സവിശേഷത. AVR-Ex_DFP പതിപ്പ് 2.2.55-ൽ വരുത്തിയ മാറ്റങ്ങൾ റൺടൈം സ്റ്റാർട്ടപ്പ് കോഡിനെ ഈ രജിസ്റ്ററിലേക്ക് ശരിയായി എഴുതാൻ അനുവദിക്കും.
ഫ്ലാഷ് മാപ്പിംഗ് ഒഴിവാക്കാൻ DFP മാറ്റങ്ങൾ (XCS-2847) AVR128DA28/32/48/64 Silicon Errata (DS80000882)-ൽ റിപ്പോർട്ട് ചെയ്ത ഫ്ലാഷ് മാപ്പിംഗ് ഉപകരണ സവിശേഷതയിലെ പ്രശ്നത്തിനുള്ള ഒരു വർക്ക്-എൗണ്ട് നടപ്പിലാക്കി. const-data-in-config-mapped-proem കംപൈലർ ഫീച്ചർ ബാധിത ഉപകരണങ്ങൾക്കായി ഡിഫോൾട്ടായി പ്രയോഗിക്കില്ല, ഈ മാറ്റം AVR-Ex_DFP പതിപ്പ് 2.2.160-ൽ ദൃശ്യമാകും.
sinhf അല്ലെങ്കിൽ coshf ഉപയോഗിച്ച് ബിൽഡ് പിശക് (XCS-2834) sinhf () അല്ലെങ്കിൽ coshf () ലൈബ്രറി ഫംഗ്ഷനുകൾ ഉപയോഗിക്കാനുള്ള ശ്രമങ്ങൾ ഒരു ലിങ്ക് പിശകിന് കാരണമായി, നിർവചിക്കാത്ത ഒരു റഫറൻസ് വിവരിക്കുന്നു. പരാമർശിച്ച നഷ്ടമായ ഫംഗ്ഷൻ ഇപ്പോൾ കമ്പൈലർ വിതരണത്തിൽ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്.
നോപ (XCS-2833) ഉപയോഗിച്ച് പിശകുകൾ സൃഷ്ടിക്കുക അസംബ്ലറിൽ നിന്നുള്ള പിശക് സന്ദേശങ്ങൾ ട്രിഗർ ചെയ്ത () ആയി ഉപയോഗിച്ച് അതിന്റെ അസംബ്ലർ നാമം വ്യക്തമാക്കിയ ഒരു ഫംഗ്ഷനോടൊപ്പം നോപ ആട്രിബ്യൂട്ട് ഉപയോഗിക്കുന്നു. ഈ കോമ്പിനേഷൻ സാധ്യമല്ല.
പോയിന്റർ ആർഗ്യുമെന്റുകളുള്ള വേരിയാഡിക് ഫംഗ്ഷൻ പരാജയം (XCS-2755, XCS-2731) വേരിയബിൾ നമ്പർ ആർഗ്യുമെന്റുകളുള്ള ഫംഗ്ഷനുകൾ, കോസ്റ്റ്-ഡാറ്റ-ഇൻ-പ്രോം ഫീച്ചർ പ്രവർത്തനക്ഷമമാക്കുമ്പോൾ, വേരിയബിൾ ആർഗ്യുമെന്റ് ലിസ്റ്റിൽ 24-ബിറ്റ് (_മെമോ തരം) പോയിന്ററുകൾ കടന്നുപോകുമെന്ന് പ്രതീക്ഷിക്കുന്നു. ഡാറ്റ മെമ്മറിയിലേക്കുള്ള പോയിന്ററുകളായിരുന്ന ആർഗ്യുമെന്റുകൾ 16-ബിറ്റ് ഒബ്ജക്റ്റുകളായി കൈമാറുന്നു, അവ ആത്യന്തികമായി വായിക്കുമ്പോൾ കോഡ് പരാജയപ്പെടുന്നതിന് കാരണമാകുന്നു. കോൺസ് ഡാറ്റ-ഇൻ-പ്രോം ഫീച്ചർ പ്രവർത്തനക്ഷമമാക്കുമ്പോൾ, എല്ലാ 16-ബിറ്റ് പോയിന്റർ ആർഗ്യുമെന്റുകളും ഇപ്പോൾ 24-ബിറ്റ് പോയിന്ററുകളായി പരിവർത്തനം ചെയ്യപ്പെടും. strtoxxx ലൈബ്രറി ഫംഗ്ഷനുകൾ പരാജയപ്പെടുന്നു (XCS-2620) const-data-in-proem സവിശേഷത പ്രവർത്തനക്ഷമമാക്കിയപ്പോൾ, പ്രോഗ്രാം മെമ്മറിയിൽ ഇല്ലാത്ത സോഴ്സ് സ്ട്രിംഗ് ആർഗ്യുമെന്റുകൾക്കായി strtoxxx ലൈബ്രറി ഫംഗ്ഷനുകളിലെ എന്റർ പാരാമീറ്റർ ശരിയായി അപ്ഡേറ്റ് ചെയ്തില്ല.
അസാധുവായ കാസ്റ്റുകൾക്കുള്ള അലേർട്ടുകൾ (XCS-2612) കോസ്റ്റ്-ഇൻ-പ്രോം ഫീച്ചർ പ്രവർത്തനക്ഷമമാക്കുകയും ഒരു സ്ട്രിംഗിന്റെ വിലാസം ഡാറ്റാ അഡ്രസ് സ്പെയ്സിലേക്ക് വ്യക്തമായി കാസ്റ്റ് ചെയ്യുകയും ചെയ്താൽ കംപൈലർ ഇപ്പോൾ ഒരു പിശക് നൽകും (ഉദാ.ample, (uint8 t *) "ഹലോ വേൾഡ്!". ഒരു കോൺസ്റ്റ് ഡാറ്റ പോയിന്റർ ഡാറ്റ അഡ്രസ് സ്പെയ്സിലേക്ക് വ്യക്തമായി കാസ്റ്റ് ചെയ്യുമ്പോൾ വിലാസം അസാധുവാണെങ്കിൽ ഒരു മുന്നറിയിപ്പ് പ്രശ്നമാണ്.
അൺഇനീഷ്യലൈസ്ഡ് കോൺസ്റ്റ് ഒബ്ജക്റ്റുകളുടെ സ്ഥാനം (XCS-2408) അൺഇനീഷ്യലൈസ്ഡ് കോൺസ്റ്റും കോൺസ്റ്റ് വി ഓട്ടൈൽ ഒബ്ജക്റ്റുകളും പ്രോഗ്രാം മെമ്മറിയിൽ അവരുടെ പ്രോഗ്രാം മെമ്മറിയുടെ മുഴുവൻ ഭാഗമോ ഭാഗമോ ഡാറ്റ വിലാസ സ്പെയ്സിലേക്ക് മാപ്പ് ചെയ്യുന്ന ഉപകരണങ്ങളിൽ സ്ഥാപിച്ചിരുന്നില്ല. ഈ ഉപകരണങ്ങൾക്കായി, അത്തരം ഒബ്ജക്റ്റുകൾ ഇപ്പോൾ പ്രോഗ്രാം മെമ്മറിയിൽ സ്ഥാപിച്ചിരിക്കുന്നു, അവയുടെ പ്രവർത്തനം മറ്റ് ഉപകരണങ്ങളുമായി പൊരുത്തപ്പെടുന്നു.
പതിപ്പ് 2.39 (ഫങ്ഷണൽ സേഫ്റ്റി റിലീസ്)
ഒന്നുമില്ല.
പതിപ്പ് 2.36
കാലതാമസം വരുത്തുമ്പോൾ പിശക് (XCS-2774) ഡിഫോൾട്ടിലെ ചെറിയ മാറ്റങ്ങൾ ഫ്രീ മോഡ് ഒപ്റ്റിമൈസേഷനുകൾ കാലതാമസം ബിൽറ്റ്-ഇൻ ഫംഗ്ഷനുകളിലേക്ക് ഓപ്പറാൻറ് എക്സ്പ്രെഷനുകൾ സ്ഥിരമായി മടക്കുന്നത് തടഞ്ഞു, തൽഫലമായി അവ കോൺടാക്റ്റുകളായി കണക്കാക്കുകയും പിശക് ട്രിഗർ ചെയ്യുകയും ചെയ്യുന്നു: _buil tin avr delay_ cycles ac ompile പ്രതീക്ഷിക്കുന്നു. സമയ പൂർണ്ണസംഖ്യ സ്ഥിരാങ്കം.
പതിപ്പ് 2.35
_at (XCS-2653) ഉപയോഗിച്ച് തുടർച്ചയായ വിഹിതം ഒരേ പേരിൽ ഒരു വിഭാഗത്തിൽ ഒന്നിലധികം ഒബ്ജക്റ്റുകൾ സ്ഥലങ്ങൾ തുടർച്ചയായി അനുവദിക്കുന്നതും () എന്നതിൽ ഉപയോഗിക്കുന്നതും ശരിയായി പ്രവർത്തിച്ചില്ല. ഉദാample: constchararrl [ ] at tributte ((“. misses”))) at (Ox50 0 ) = {Oxo , Ox CD} ; ചെലവ് ചാർ arr2[ ] at tributte ((വിഭാഗം(“.my s eke”))) = {Oxen, Ox FE}; അരിലിന് ശേഷം ഉടൻ തന്നെ arr2 ഇട്ടിരിക്കണം.
വിഭാഗം ആരംഭ വിലാസങ്ങൾ വ്യക്തമാക്കുന്നു (XCS-2650) നാമനിർദ്ദേശം ചെയ്ത ആരംഭ വിലാസത്തിൽ വിഭാഗങ്ങൾ സ്ഥാപിക്കുന്നതിൽ -Wal, –section-start ഓപ്ഷൻ നിശബ്ദമായി പരാജയപ്പെട്ടു. ഇഷ്ടാനുസൃത നാമമുള്ള എല്ലാ വിഭാഗങ്ങൾക്കും ഈ പ്രശ്നം പരിഹരിച്ചു; എന്നിരുന്നാലും, ഇത് പോലുള്ള ഒരു സ്റ്റാൻഡേർഡ് വിഭാഗങ്ങൾക്കും ഇത് പ്രവർത്തിക്കില്ല. ടെക്സ്റ്റ് അല്ലെങ്കിൽ . bss, അത് -Wl, -T ഓപ്ഷൻ ഉപയോഗിച്ച് സ്ഥാപിക്കണം.
വിശ്രമിക്കുമ്പോൾ ലിങ്കർ തകരാറിലാകുന്നു (XCS-2647) -relax ഒപ്റ്റിമൈസേഷൻ പ്രവർത്തനക്ഷമമാക്കിയപ്പോൾ, ലഭ്യമായ മെമ്മറിയിൽ ചേരാത്ത കോഡോ ഡാറ്റ വിഭാഗങ്ങളോ ഉള്ളപ്പോൾ, ലിങ്കർ തകരാറിലായി. ഇപ്പോൾ, അത്തരമൊരു സാഹചര്യത്തിൽ, പകരം പിശക് സന്ദേശങ്ങൾ നൽകുന്നു.
മോശം EEPROM ആക്സസ് (XCS-2629) -monist-data-in-proem ഓപ്ഷൻ പ്രവർത്തനക്ഷമമാക്കിയപ്പോൾ, മെഗാ ഉപകരണങ്ങളിൽ ലെപ്രോമ _read_ ബ്ലോക്ക് ദിനചര്യ ശരിയായി പ്രവർത്തിച്ചില്ല (ഇത് ഡിഫോൾട്ട് അവസ്ഥയാണ്), അതിന്റെ ഫലമായി EEPROM മെമ്മറി ശരിയായി വായിക്കപ്പെടുന്നില്ല.
അസാധുവായ മെമ്മറി അലോക്കേഷൻ (XCS-2593, XCS-2651) എപ്പോൾ -ടെക്സ്റ്റ് അല്ലെങ്കിൽ -ടാറ്റ ലിങ്കർ ഓപ്ഷൻ (ഉദാampഒരു -Wl ഡ്രൈവർ ഓപ്ഷൻ ഉപയോഗിച്ച് le പാസ്സാക്കി) വ്യക്തമാക്കിയിട്ടുണ്ട്, അനുബന്ധ ടെക്സ്റ്റ്/ഡാറ്റ റീജിയൻ ഉത്ഭവം അപ്ഡേറ്റ് ചെയ്തു; എന്നിരുന്നാലും, അവസാന വിലാസം അതിനനുസരിച്ച് ക്രമീകരിച്ചില്ല, ഇത് പ്രദേശം ടാർഗെറ്റ് ഉപകരണത്തിന്റെ മെമ്മറി പരിധി കവിയുന്നതിലേക്ക് നയിച്ചേക്കാം.
അസാധുവായ 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 ഓപ്ഷൻ ഉപയോഗിക്കുന്നത് ലിങ്കർ തകരാറിലാകാൻ കാരണമായേക്കാം.
മൂല്യങ്ങളായി ലേബലുകൾ ഒപ്റ്റിമൈസ് ചെയ്യുമ്പോൾ ക്രാഷ് (XCS-2282) "മൂല്യങ്ങളായി ലേബലുകൾ" GNU C ഭാഷാ വിപുലീകരണം ഉപയോഗിക്കുന്ന കോഡ്, ഔട്ട്ലൈൻ ചെയ്ത VMA റേഞ്ച് സ്പാൻ ഫിക്സപ്പ് പിശകിനൊപ്പം, പ്രൊസീജറൽ അബ്സ്ട്രാക്ഷൻ ഒപ്റ്റിമൈസേഷനുകൾ തകരാറിലാകാൻ കാരണമായേക്കാം.
അത്ര സ്ഥിരമല്ല (XCS-2271) ആരംഭിക്കുന്നതിനുള്ള പ്രോട്ടോടൈപ്പുകളും () മറ്റ് ഫംഗ്ഷനുകളും -monist-data inprogmem ഫീച്ചർ അപ്രാപ്തമാക്കിയിരിക്കുമ്പോൾ മടങ്ങിയ സ്ട്രിംഗ് പോയിന്ററുകളിൽ നിലവാരമില്ലാത്ത കോസ്റ്റ് ക്വാളിഫയർ ഇനി വ്യക്തമാക്കരുത്. avrxmega3, avertin എന്നീ ഉപകരണങ്ങളിൽ, ഈ സവിശേഷത ശാശ്വതമായി പ്രവർത്തനക്ഷമമാക്കിയിരിക്കുന്നു.
നഷ്ടപ്പെട്ട ഇനീഷ്യലൈസറുകൾ (XCS-2269) ഒരു വിവർത്തന യൂണിറ്റിലെ ഒന്നിലധികം വേരിയബിളുകൾ ഒരു വിഭാഗത്തിൽ സ്ഥാപിക്കുമ്പോൾ (വിഭാഗം അല്ലെങ്കിൽ ആട്രിബ്യൂട്ട് ((വിഭാഗം)) ഉപയോഗിച്ച്), അത്തരം ആദ്യത്തെ വേരിയബിൾ പൂജ്യം ഇനീഷ്യലൈസ് ചെയ്തതോ ഇനിഷ്യലൈസർ ഇല്ലാത്തതോ ആയപ്പോൾ, അതേ വിവർത്തന യൂണിറ്റിലെ മറ്റ് വേരിയബിളുകൾക്കുള്ള ഇനീഷ്യലൈസറുകൾ അതേ വിഭാഗത്തിൽ സ്ഥാപിച്ചിരുന്നവ നഷ്ടപ്പെട്ടു.
പതിപ്പ് 2.29 (ഫങ്ഷണൽ സേഫ്റ്റി റിലീസ്)
ഒന്നുമില്ല.
പതിപ്പ് 2.20
നീണ്ട കമാൻഡുകളിലെ പിശക് (XCS-1983) AVR ടാർഗെറ്റ് ഉപയോഗിക്കുമ്പോൾ, കംപൈലർ a ഉപയോഗിച്ച് നിർത്തിയിരിക്കാം file കമാൻഡ് ലൈൻ വളരെ വലുതും ഉദ്ധരണികൾ, ബാക്ക്സ്ലാഷുകൾ മുതലായവ പ്രത്യേക പ്രതീകങ്ങൾ അടങ്ങിയതാണെങ്കിൽ പിശക് കണ്ടെത്തിയില്ല.
അസൈൻ ചെയ്യാത്ത റോഡാറ്റ വിഭാഗം (XCS-1920) avrxmega3, avrtiny ആർക്കിടെക്ചറുകൾക്കായി നിർമ്മിക്കുമ്പോൾ, ഇഷ്ടാനുസൃത റോഡാറ്റ വിഭാഗങ്ങൾക്കായി മെമ്മറി അസൈൻ ചെയ്യുന്നതിൽ AVR ലിങ്കർ പരാജയപ്പെട്ടു, ഇത് മെമ്മറി ഓവർലാപ്പ് പിശകുകൾ സൃഷ്ടിക്കാൻ സാധ്യതയുണ്ട്.
പതിപ്പ് 2.19 (ഫങ്ഷണൽ സേഫ്റ്റി റിലീസ്)
ഒന്നുമില്ല.
പതിപ്പ് 2.10
സ്ഥലംമാറ്റ പരാജയങ്ങൾ (XCS-1891) ലിങ്കർ റിലാക്സേഷന് ശേഷം സെക്ഷനുകൾക്കിടയിൽ മെമ്മറി 'ദ്വാരങ്ങൾ' വിടുന്നതാണ് മികച്ച ഫിറ്റ് അലോക്കേറ്റർ. മെമ്മറി വിഘടിപ്പിക്കുന്നതിന് പുറമെ, പിസി-ആപേക്ഷിക ജമ്പുകളുമായോ കോളുകളുമായോ ബന്ധപ്പെട്ട ലിങ്കർ റീലോക്കേഷൻ പരാജയങ്ങൾ ഉണ്ടാകാനുള്ള സാധ്യത വർദ്ധിപ്പിച്ചു.
വിശ്രമം വഴി രൂപാന്തരപ്പെടാത്ത നിർദ്ദേശങ്ങൾ (XCS-1889) ജമ്പ് അല്ലെങ്കിൽ കോൾ നിർദ്ദേശങ്ങൾക്കായി ലിങ്കർ റിലാക്സേഷൻ സംഭവിച്ചില്ല, അവരുടെ ലക്ഷ്യങ്ങൾ വിശ്രമിച്ചാൽ എത്തിച്ചേരാനാകും.
കാണുന്നില്ല പ്രവർത്തനക്ഷമത (XCSE-388) നിന്ന് നിരവധി നിർവചനങ്ങൾ , clock_ div_ t, clock_prescale_set (), എന്നിവ ATmega324PB, ATmega328PB, ATtiny441, ATtiny841 എന്നിവയുൾപ്പെടെയുള്ള ഉപകരണങ്ങൾക്കായി നിർവചിച്ചിട്ടില്ല.
മാക്രോകൾ നഷ്ടമായി പ്രീപ്രൊസസ്സർ macros_ xcs _MODE_, _xcs VERSION, _xc, xcs എന്നിവ കമ്പൈലർ സ്വയമേവ നിർവചിച്ചിട്ടില്ല. ഇവ ഇപ്പോൾ ലഭ്യമാണ്.
പതിപ്പ് 2.05
ആന്തരിക കമ്പൈലർ പിശക് (XCS-1822) വിൻഡോസിന് കീഴിൽ നിർമ്മിക്കുമ്പോൾ, കോഡ് ഒപ്റ്റിമൈസ് ചെയ്യുമ്പോൾ ഒരു ആന്തരിക കമ്പൈലർ പിശക് ഉണ്ടായേക്കാം.
റാം ഓവർഫ്ലോ കണ്ടെത്തിയില്ല (XCS-1800, XCS-1796) ലഭ്യമായ റാം കവിഞ്ഞ പ്രോഗ്രാമുകൾ ചില സാഹചര്യങ്ങളിൽ കംപൈലർ കണ്ടെത്തിയില്ല, അതിന്റെ ഫലമായി ഒരു റൺടൈം കോഡ് പരാജയപ്പെടുന്നു.
ഒഴിവാക്കിയ ഫ്ലാഷ് മെമ്മറി (XCS-1792) avrxmega3, avrtiny ഉപകരണങ്ങൾക്കായി, ഫ്ലാഷ് മെമ്മറിയുടെ ഭാഗങ്ങൾ MPLAB X IDE പ്രോഗ്രാം ചെയ്യാതെ വിട്ടിരിക്കാം.
മെയിൻ എക്സിക്യൂട്ട് ചെയ്യുന്നതിൽ പരാജയം (XCS-1788) പ്രോഗ്രാമിന് ഗ്ലോബൽ വേരിയബിളുകൾ നിർവചിച്ചിട്ടില്ലാത്ത ചില സാഹചര്യങ്ങളിൽ, റൺടൈം സ്റ്റാർട്ടപ്പ് കോഡ് പുറത്തുകടക്കില്ല, പ്രധാന () ഫംഗ്ഷനിലേക്ക് ഒരിക്കലും എത്തിച്ചേരാനായിട്ടില്ല.
തെറ്റായ മെമ്മറി വിവരങ്ങൾ (XCS-1787) avrxmega3, avrtiny ഉപകരണങ്ങൾക്ക്, പ്രോഗ്രാം മെമ്മറിക്ക് പകരം റീഡ്-ഒൺലി ഡാറ്റ RAM ഉപയോഗിക്കുന്നുണ്ടെന്ന് avr-size പ്രോഗ്രാം റിപ്പോർട്ട് ചെയ്യുന്നു.
തെറ്റായ പ്രോഗ്രാം മെമ്മറി റീഡ് (XCS-1783) ഡാറ്റ വിലാസ സ്പെയ്സിലേക്ക് മാപ്പ് ചെയ്തിരിക്കുന്ന പ്രോഗ്രാം മെമ്മറിയുള്ള ഉപകരണങ്ങൾക്കായി സമാഹരിച്ച പ്രോജക്റ്റുകൾ, PROGMEM മാക്രോ/ആട്രിബ്യൂട്ട് ഉപയോഗിച്ച് ഒബ്ജക്റ്റുകൾ നിർവചിക്കുന്നവ തെറ്റായ വിലാസത്തിൽ നിന്ന് ഈ ഒബ്ജക്റ്റുകൾ വായിച്ചിരിക്കാം.
ആട്രിബ്യൂട്ടുകളുള്ള ആന്തരിക പിശക് (XCS-1773) നിങ്ങൾ പോയിന്റർ ഒബ്ജക്റ്റുകൾ നിർവചിച്ചാൽ ഒരു ആന്തരിക പിശക് സംഭവിച്ചു
_at () അല്ലെങ്കിൽ ആട്രിബ്യൂട്ട്() ടോക്കണുകൾ പോയിന്റർ നാമത്തിനും dereferenced തരത്തിനും ഇടയിൽ, ഉദാഹരണത്തിന്ampലെ, ചാർ *
_at (0x80015 0) cp; അത്തരം കോഡ് നേരിട്ടാൽ ഇപ്പോൾ മുന്നറിയിപ്പ് നൽകുന്നു.
മെയിൻ എക്സിക്യൂട്ട് ചെയ്യുന്നതിൽ പരാജയം (XCS-1780, XCS-1767, XCS-1754) EEPROM വേരിയബിളുകൾ ഉപയോഗിക്കുന്നത് അല്ലെങ്കിൽ കോൺഫിഗറേഷൻ പ്രാഗ്മ ഉപയോഗിച്ച് ഫ്യൂസുകൾ നിർവചിക്കുന്നത്, മെയിൻ () എത്തുന്നതിന് മുമ്പ്, റൺടൈം സ്റ്റാർട്ടപ്പ് കോഡിൽ തെറ്റായ ഡാറ്റ ആരംഭിക്കുന്നതിനും കൂടാതെ/അല്ലെങ്കിൽ പ്രോഗ്രാം എക്സിക്യൂഷൻ ലോക്ക് അപ്പ് ചെയ്യുന്നതിനും കാരണമായേക്കാം.
ചെറിയ ഉപകരണങ്ങളിൽ ഫ്യൂസ് പിശക് (XCS-1778, XCS-1742) attiny4/5/9/10/20/40 ഉപകരണങ്ങൾക്ക് അവയുടെ തലക്കെട്ടിൽ തെറ്റായ ഫ്യൂസ് ദൈർഘ്യമുണ്ട് fileഫ്യൂസുകൾ നിർവചിച്ചിരിക്കുന്ന കോഡ് നിർമ്മിക്കാൻ ശ്രമിക്കുമ്പോൾ ലിങ്കർ പിശകുകളിലേക്ക് നയിക്കുന്ന s.
സെഗ്മെന്റേഷൻ തകരാർ (XCS-1777) ഇടയ്ക്കിടെയുള്ള സെഗ്മെന്റേഷൻ തകരാർ പരിഹരിച്ചു.
അസംബ്ലർ ക്രാഷ് (XCS-1761) ഉബുണ്ടു 18-ന് കീഴിൽ കംപൈലർ പ്രവർത്തിപ്പിക്കുമ്പോൾ avr-as അസംബ്ലർ തകർന്നിരിക്കാം.
ഒബ്ജക്റ്റുകൾ മായ്ച്ചിട്ടില്ല (XCS-1752) റൺടൈം സ്റ്റാർട്ടപ്പ് കോഡ് വഴി ആരംഭിക്കാത്ത സ്റ്റാറ്റിക് സ്റ്റോറേജ് ദൈർഘ്യമുള്ള ഒബ്ജക്റ്റുകൾ മായ്ച്ചിട്ടുണ്ടാകില്ല.
വൈരുദ്ധ്യമുള്ള ഉപകരണ സ്പെസിഫിക്കേഷൻ അവഗണിച്ചു (XCS-1749) ഒന്നിലധികം ഉപകരണ സ്പെസിഫിക്കേഷൻ ഓപ്ഷനുകൾ ഉപയോഗിക്കുകയും വ്യത്യസ്ത ഉപകരണങ്ങൾ സൂചിപ്പിക്കുകയും ചെയ്തപ്പോൾ കംപൈലർ ഒരു പിശക് സൃഷ്ടിക്കുന്നില്ല.
കൂമ്പാരം പ്രകാരമുള്ള മെമ്മറി അഴിമതി (XCS-1748) Heap_ സ്റ്റാർട്ട് ചിഹ്നം തെറ്റായി സജ്ജീകരിച്ചു, അതിന്റെ ഫലമായി സാധാരണ വേരിയബിളുകൾ ഹീപ്പ് വഴി കേടാകാനുള്ള സാധ്യതയുണ്ട്.
ലിങ്കർ സ്ഥലംമാറ്റ പിശക് (XCS-1739) കൃത്യം 4k ബൈറ്റുകൾ അകലെയുള്ള ഒരു ടാർഗെറ്റുള്ള ഒരു rjmp അല്ലെങ്കിൽ rcall കോഡിൽ അടങ്ങിയിരിക്കുമ്പോൾ ഒരു ലിങ്കർ റീലോക്കേഷൻ പിശക് ഉണ്ടായേക്കാം.
പതിപ്പ് 2.00
ഒന്നുമില്ല.
അറിയപ്പെടുന്ന പ്രശ്നങ്ങൾ
കംപൈലറിന്റെ പ്രവർത്തനത്തിലെ പരിമിതികൾ ഇനിപ്പറയുന്നവയാണ്. ഇവ പൊതുവായ കോഡിംഗ് നിയന്ത്രണങ്ങളായിരിക്കാം, അല്ലെങ്കിൽ
ഉപയോക്താവിന്റെ മാനുവലിൽ അടങ്ങിയിരിക്കുന്ന വിവരങ്ങളിൽ നിന്നുള്ള വ്യതിയാനങ്ങൾ. ശീർഷകത്തിലെ ബ്രാക്കറ്റഡ് ലേബൽ(കൾ) ട്രാക്കിംഗ് ഡാറ്റാബേസിലെ ആ പ്രശ്നത്തിന്റെ ഐഡന്റിഫിക്കേഷനാണ്. നിങ്ങൾക്ക് പിന്തുണയുമായി ബന്ധപ്പെടണമെങ്കിൽ ഇത് പ്രയോജനപ്പെട്ടേക്കാം. ലേബലുകൾ ഇല്ലാത്ത ഇനങ്ങൾ മോഡ് ഓപ്പറാൻഡിയെ വിവരിക്കുന്ന പരിമിതികളാണ്, അവ ശാശ്വതമായി നിലനിൽക്കാൻ സാധ്യതയുണ്ട്.
MPLAB X IDE സംയോജനം
MPLAB IDE സംയോജനം MPLAB IDE-ൽ നിന്ന് കമ്പൈലർ ഉപയോഗിക്കണമെങ്കിൽ, കമ്പൈലർ ഇൻസ്റ്റാൾ ചെയ്യുന്നതിന് മുമ്പ് നിങ്ങൾ MPLAB IDE ഇൻസ്റ്റാൾ ചെയ്യണം.
കോഡ് ജനറേഷൻ
PA മെമ്മറി അലോക്കേഷൻ പരാജയം (XCS-2881) പ്രൊസീജറൽ അബ്സ്ട്രാക്ഷൻ ഒപ്റ്റിമൈസറുകൾ ഉപയോഗിക്കുമ്പോൾ, ഉപകരണത്തിൽ ലഭ്യമായ പ്രോഗ്രാം മെമ്മറിയുടെ അളവിനോട് കോഡ് വലുപ്പം അടുത്തിരിക്കുമ്പോൾ, ലിങ്കർ മെമ്മറി അലോക്കേഷൻ പിശകുകൾ റിപ്പോർട്ട് ചെയ്തേക്കാം, പ്രോഗ്രാമിന് ലഭ്യമായ ഇടത്തിന് അനുയോജ്യമാണെങ്കിലും.
അത്ര സ്മാർട്ടല്ല Smart-IO (XCS-2872) കോസ്റ്റ്-ഡാറ്റ-ഇൻ-പ്രോം ഫീച്ചർ പ്രവർത്തനരഹിതമാക്കിയിരിക്കുകയോ ഉപകരണത്തിന്റെ എല്ലാ ഫ്ലാഷുകളും ഡാറ്റ മെമ്മറിയിലേക്ക് മാപ്പ് ചെയ്തിരിക്കുകയോ ചെയ്താൽ, കംപൈലറിന്റെ സ്മാർട്ട്-ഐഒ ഫീച്ചർ സ്പ്രിന്റ് ഫംഗ്ഷനായി സാധുവായതും എന്നാൽ ഉപ ഒപ്റ്റിമൽ കോഡ് സൃഷ്ടിക്കും.
ഇതിലും കുറവ് സ്മാർട്ട് Smart-IO (XCS-2869) -floe, -fno-buil tin ഓപ്ഷനുകൾ ഉപയോഗിക്കുമ്പോൾ കംപൈലറിന്റെ സ്മാർട്ട്-ഐഒ ഫീച്ചർ സാധുതയുള്ളതും എന്നാൽ ഉപയുക്തമായതുമായ കോഡ് സൃഷ്ടിക്കും.
ഉപയോക്തൃ വായന-മാത്രം ഡാറ്റ പ്ലേസ്മെന്റ് (XCS-2849) ലിങ്കർക്ക് നിലവിൽ APPCODE, APPDATA മെമ്മറി വിഭാഗങ്ങളെക്കുറിച്ചോ മെമ്മറി മാപ്പിലെ [No-]Read-While-Wire-Write വിഭാഗങ്ങളെക്കുറിച്ചോ അറിവില്ല. തൽഫലമായി, അനുചിതമായ മെമ്മറി ഏരിയയിൽ ലിങ്കർ റീഡ്-ഒൺലി ഡാറ്റ അനുവദിക്കാനുള്ള ഒരു ചെറിയ അവസരമുണ്ട്. കോസ്റ്റ്-ഡാറ്റ-ഇൻ-പ്രാഗ്മ ഫീച്ചർ പ്രവർത്തനക്ഷമമാക്കിയിട്ടുണ്ടെങ്കിൽ, പ്രത്യേകിച്ച് കോസ്റ്റ്-ഡാറ്റ-ഇൻ-കോൺഫിഗ്-മാപ്പ്ഡ്-പ്രോം ഫീച്ചറും പ്രവർത്തനക്ഷമമാക്കിയിട്ടുണ്ടെങ്കിൽ, തെറ്റായ ഡാറ്റയുടെ സാധ്യത വർദ്ധിക്കുന്നു. ആവശ്യമെങ്കിൽ ഈ ഫീച്ചറുകൾ പ്രവർത്തനരഹിതമാക്കാം.
വസ്തു file പ്രോസസ്സിംഗ് ഓർഡർ (XCS-2863) വസ്തുക്കളുടെ ക്രമം fileകൾ പ്രോസസ്സ് ചെയ്യുന്നത് ലിങ്കർ പ്രൊസീജറൽ അബ്സ്ട്രാക്ഷൻ ഒപ്റ്റിമൈസേഷനുകളുടെ (-mpa ഓപ്ഷൻ) ഉപയോഗത്തെ അടിസ്ഥാനമാക്കി വ്യത്യാസപ്പെടാം. ഒന്നിലധികം മൊഡ്യൂളുകളിലുടനീളമുള്ള ദുർബലമായ പ്രവർത്തനങ്ങളെ നിർവചിക്കുന്ന കോഡിനെ മാത്രമേ ഇത് ബാധിക്കുകയുള്ളൂ.
സമ്പൂർണ്ണ (XCS-2777) ഉള്ള ലിങ്കർ പിശക് റാമിന്റെ തുടക്കത്തിൽ ഒരു വിലാസത്തിൽ ഒരു ഒബ്ജക്റ്റ് സമ്പൂർണ്ണമാക്കുകയും അൺഇനീഷ്യലൈസ്ഡ് ഒബ്ജക്റ്റുകളും നിർവചിക്കുകയും ചെയ്യുമ്പോൾ, ഒരു ലിങ്കർ പിശക് ട്രിഗർ ചെയ്തേക്കാം.
ഷോർട്ട് വേക്ക്-അപ്പ് ഐഡികൾ (XCS-2775) ATA5700/2 ഉപകരണങ്ങൾക്ക്, PHID0/1 രജിസ്റ്ററുകൾ 16 ബിറ്റ് വീതിക്ക് പകരം 32 ബിറ്റ് വീതിയുള്ളതായി മാത്രമേ നിർവ്വചിച്ചിട്ടുള്ളൂ.
ചിഹ്നം വിളിക്കുമ്പോൾ ലിങ്കർ ക്രാഷ് (XCS-2758) -Wl, –defsym ലിങ്കർ ഓപ്ഷൻ ഉപയോഗിച്ച് നിർവചിച്ചിരിക്കുന്ന ഒരു ചിഹ്നത്തെ സോഴ്സ് കോഡ് വിളിക്കുമ്പോൾ -merlad ഡ്രൈവർ ഓപ്ഷൻ ഉപയോഗിച്ചാൽ ലിങ്കർ തകരാറിലായേക്കാം.
തെറ്റായ സമാരംഭം (XCS-2679) ചില ഗ്ലോബൽ/സ്റ്റാറ്റിക് ബൈറ്റ് വലിപ്പമുള്ള ഒബ്ജക്റ്റുകൾക്കായുള്ള പ്രാരംഭ മൂല്യങ്ങൾ ഡാറ്റ മെമ്മറിയിൽ സ്ഥാപിക്കുന്നതും റൺടൈമിൽ വേരിയബിളുകൾ ആക്സസ് ചെയ്യുന്നതും തമ്മിൽ പൊരുത്തക്കേടുണ്ട്.
ആരംഭിച്ചത് തെറ്റായി സജ്ജീകരിക്കുന്നു (XCS-2652) പ്രസ്താവിച്ച () പ്രകാരം പരിവർത്തനം ചെയ്യുന്നതിനുള്ള ഒരു സബ്ജക്റ്റ് സ്ട്രിംഗിൽ എക്സ്പോണൻഷ്യൽ ഫോർമാറ്റിൽ ഒരു ഫ്ലോട്ടിംഗ് പോയിന്റ് സംഖ്യയായി കാണപ്പെടുന്നതും ഒരു ഇ പ്രതീകത്തിന് ശേഷം ഒരു അപ്രതീക്ഷിത പ്രതീകം ഉള്ളതുമായ സന്ദർഭങ്ങളിൽ, ശൂന്യമായ വിലാസം, നൽകിയിട്ടുണ്ടെങ്കിൽ, അതിന് ശേഷമുള്ള പ്രതീകത്തിലേക്ക് പോയിന്റ് ചെയ്യും. ഇ അല്ല ഇ തന്നെ. ഉദാample: പ്രസ്താവിച്ചത് ("ഹൂയി", ശൂന്യം); x പ്രതീകത്തിലേക്ക് ശൂന്യമായി പോയിന്റുചെയ്യുന്നതിന് കാരണമാകും.
മോശം പരോക്ഷ ഫംഗ്ഷൻ കോളുകൾ (XCS-2628) ചില സന്ദർഭങ്ങളിൽ, ഒരു ഘടനയുടെ ഭാഗമായി സംഭരിച്ചിരിക്കുന്ന ഫംഗ്ഷൻ പോയിന്റർ വഴിയുള്ള ഫംഗ്ഷൻ കോളുകൾ പരാജയപ്പെടാം.
strtof ഹെക്സാഡെസിമൽ ഫ്ലോട്ടുകൾക്ക് പൂജ്യം നൽകുന്നു (XCS-2626) ലൈബ്രറി ഫംഗ്ഷനുകൾ strtof () et al, scanf () et al, എല്ലായ്പ്പോഴും ഒരു എക്സ്പോണന്റ് വ്യക്തമാക്കാത്ത ഒരു ഹെക്സാഡെസിമൽ ഫ്ലോട്ടിംഗ് പോയിന്റ് സംഖ്യയെ പരിവർത്തനം ചെയ്യും
പൂജ്യം. ഉദാample: സ്റ്റേറ്റർ ("മൂങ്ങ", & ശൂന്യ); മൂല്യം 0 നൽകും, 1 അല്ല.
കൃത്യമല്ലാത്ത സ്റ്റാക്ക് ഉപദേശക സന്ദേശമയയ്ക്കൽ (XCS-2542, XCS-2541) ചില സന്ദർഭങ്ങളിൽ, ഉപയോഗിച്ച ആവർത്തനത്തെ കുറിച്ചോ അല്ലെങ്കിൽ അനിശ്ചിതമായ സ്റ്റാക്കിനെ കുറിച്ചോ ഉള്ള സ്റ്റാക്ക് അഡൈ്വസർ മുന്നറിയിപ്പ് പുറപ്പെടുവിക്കുന്നില്ല (ഒരുപക്ഷേ alloca() ഉപയോഗത്തിലൂടെ).
ഡ്യൂപ്ലിക്കേറ്റ് ഇന്ററപ്റ്റ് കോഡിലെ പരാജയം (XCS-2421) ഒന്നിൽ കൂടുതൽ ഇന്ററപ്റ്റ് ഫംഗ്ഷനുകൾക്ക് ഒരേ ബോഡി ഉള്ളിടത്ത്, കംപൈലറിന് ഒരു ഇന്ററപ്റ്റ് ഫംഗ്ഷൻ മറ്റൊന്നിലേക്ക് വിളിക്കുന്നതിനുള്ള ഔട്ട്പുട്ട് ഉണ്ടായിരിക്കാം. ഇത് എല്ലാ കോൾ-ക്ലോബർഡ് രജിസ്റ്ററുകളും അനാവശ്യമായി സംരക്ഷിക്കപ്പെടുന്നതിന് ഇടയാക്കും, കൂടാതെ നിലവിലെ ഇന്ററപ്റ്റ് ഹാൻഡ്ലറിന്റെ എപ്പിലോഗ് പ്രവർത്തിക്കുന്നതിന് മുമ്പുതന്നെ തടസ്സങ്ങൾ പ്രവർത്തനക്ഷമമാക്കും, ഇത് കോഡ് പരാജയത്തിലേക്ക് നയിച്ചേക്കാം.
പ്രോഗ്രാം മെമ്മറിയിൽ ഇല്ലാത്ത കോൺസ്റ്റ് ഒബ്ജക്റ്റുകൾ (XCS-2408) avrxmega3, avertins പ്രോജക്റ്റുകൾക്കായി, unidealized const ഒബ്ജക്റ്റുകൾ ഡാറ്റ മെമ്മറിയിൽ സ്ഥാപിക്കുന്നു, അവ പ്രോഗ്രാം മെമ്മറിയിൽ സ്ഥാപിച്ചിട്ടുണ്ടെന്ന് മുന്നറിയിപ്പ് നൽകുന്നുണ്ടെങ്കിലും. ഡാറ്റാ മെമ്മറി സ്പെയ്സിലേക്ക് പ്രോഗ്രാം മെമ്മറി മാപ്പ് ചെയ്യാത്ത ഉപകരണങ്ങളെ ഇത് ബാധിക്കില്ല, കൂടാതെ ആരംഭിച്ച ഏതെങ്കിലും ഒബ്ജക്റ്റിനെ ഇത് ബാധിക്കുകയുമില്ല.
അസാധുവായ DFP പാത്ത് (XCS-2376) ഉള്ള മോശം ഔട്ട്പുട്ട് കംപൈലർ അസാധുവായ DFP പാത്തും ഒരു 'സ്പെസിഫിക്കേഷനും' ഉപയോഗിച്ചാൽ file തിരഞ്ഞെടുത്ത ഉപകരണത്തിന് നിലവിലുണ്ട്, കംപൈലർ കാണാതായ ഉപകരണ ഫാമിലി പാക്ക് റിപ്പോർട്ടുചെയ്യുന്നില്ല, പകരം 'സ്പെക്ക്' തിരഞ്ഞെടുക്കുന്നു file, അത് പിന്നീട് ഒരു അസാധുവായ ഔട്ട്പുട്ടിലേക്ക് നയിച്ചേക്കാം. 'സ്പെക്ക്' fileവിതരണം ചെയ്ത DFP-കളുമായി കാലികമായിരിക്കില്ല, ആന്തരിക കമ്പൈലർ പരിശോധനയ്ക്കൊപ്പം മാത്രം ഉപയോഗിക്കുന്നതിന് ഉദ്ദേശിച്ചുള്ളതാണ്.
മെമ്മറി ഓവർലാപ്പ് കണ്ടെത്തിയില്ല (XCS-1966) കംപൈലർ ഒരു വിലാസത്തിൽ സമ്പൂർണ്ണമാക്കിയ ഒബ്ജക്റ്റുകളുടെയും (() വഴി) സെക്ഷൻ () സ്പെസിഫയർ ഉപയോഗിക്കുന്ന മറ്റ് ഒബ്ജക്റ്റുകളുടെയും മെമ്മറി ഓവർലാപ്പ് കണ്ടെത്തുന്നില്ല, അവ അതേ വിലാസവുമായി ബന്ധിപ്പിച്ചിരിക്കുന്നു.
ലൈബ്രറി ഫംഗ്ഷനുകൾ, _meme എന്നിവയിലെ പരാജയം (XCS-1763) _memo അഡ്രസ് സ്പെയ്സിൽ ഒരു ആർഗ്യുമെന്റ് ഉള്ള ലിംബിക് ഫ്ലോട്ട് ഫംഗ്ഷനുകൾ പരാജയപ്പെട്ടേക്കാം. ചില സി ഓപ്പറേറ്റർമാരിൽ നിന്നാണ് ലൈബ്രറി ദിനചര്യകൾ വിളിക്കുന്നത് എന്നത് ശ്രദ്ധിക്കുക, ഉദാഹരണത്തിന്ample, ഇനിപ്പറയുന്ന കോഡ് ബാധിച്ചിരിക്കുന്നു: regFloatVar> memxFloatVar തിരികെ നൽകുക;
ലിമിറ്റഡ് ലിംബിക് നടപ്പിലാക്കൽ (AVRTC-731) ATTiny4/5/9/10/20/40 ഉൽപ്പന്നങ്ങൾക്ക്, ലിംബിക്കിലെ സ്റ്റാൻഡേർഡ് C / Math ലൈബ്രറി നടപ്പിലാക്കൽ വളരെ പരിമിതമാണ് അല്ലെങ്കിൽ നിലവിലില്ല.
പ്രോഗ്രാം മെമ്മറി പരിമിതികൾ (AVRTC-732) 128 kb-ന് അപ്പുറമുള്ള പ്രോഗ്രാം മെമ്മറി ഇമേജുകൾ ടൂൾചെയിൻ പിന്തുണയ്ക്കുന്നു; എന്നിരുന്നാലും, -relax ഓപ്ഷൻ ഉപയോഗിക്കുമ്പോൾ ആവശ്യമായ ഫംഗ്ഷൻ സ്റ്റബുകൾ സൃഷ്ടിക്കുന്നതിനുപകരം വിശ്രമമില്ലാതെയും സഹായകരമായ ഒരു പിശക് സന്ദേശവുമില്ലാതെ ലിങ്കർ അബോർട്ട് ചെയ്യുന്ന സംഭവങ്ങൾ അറിയപ്പെടുന്നു.
സ്ഥല പരിമിതികളുടെ പേര് (AVRTC-733) പേരുനൽകിയ വിലാസ സ്പെയ്സുകളെ ടൂൾചെയിൻ പിന്തുണയ്ക്കുന്നു, ഉപയോക്തൃ ഗൈഡ് വിഭാഗത്തിൽ സൂചിപ്പിച്ചിരിക്കുന്ന പരിമിതികൾക്ക് വിധേയമായി പ്രത്യേക തരം യോഗ്യതകൾ.
സമയ മേഖലകൾ ദി ലൈബ്രറി ഫംഗ്ഷനുകൾ GMT അനുമാനിക്കുകയും പ്രാദേശിക സമയ മേഖലകളെ പിന്തുണയ്ക്കാതിരിക്കുകയും ചെയ്യുന്നു, അതിനാൽ പ്രാദേശിക സമയം () gummite () പോലെ അതേ സമയം തിരികെ നൽകും.ample.
കസ്റ്റമർ സപ്പോർട്ട്
file///Applications/microehip/xc8/v 2 .40/docs/Read me_X C 8_ A VR. htm
പ്രമാണങ്ങൾ / വിഭവങ്ങൾ
![]() |
മൈക്രോചിപ്പ് MPLAB XC8 C കംപൈലർ സോഫ്റ്റ്വെയർ [pdf] ഉടമയുടെ മാനുവൽ MPLAB XC8 C, MPLAB XC8 C കംപൈലർ സോഫ്റ്റ്വെയർ, കംപൈലർ സോഫ്റ്റ്വെയർ, സോഫ്റ്റ്വെയർ |