I-MICROCHIP MPLAB XC8 C iSofthiwe yokuhlanganisa 

I-MICROCHIP MPLAB XC8 C iSofthiwe yokuhlanganisa

OLU XWEBHU LINOLWAZI OLUBALULEKILEYO EPHATHELELE NE-MPLAB XC8 C COMPILER XA KUJOLISWE IZIXHOBO ZAMA-MICROCHIP AVR.
NCEDA UYIFUNDE PHAMBI KOKUBA USEBENZISE LE SOFTWARE. KHANGELA IMPLAB XC8 C COMPILER AMANQAKU OKUKHULULA UXWEBHU LWEPIC UKUBA USEBENZISA ICOMPILER KWI-8-BIT PIC DEVICES.

Imixholo fihla

Ngaphezuluview

Intshayelelo

Oku kukhutshwa kweMicrochip MPLAB® XC8 C compiler iqulethe izinto ezininzi ezintsha, ukulungiswa kwebug, kunye nenkxaso yesixhobo esitsha.

Yakha Umhla

Umhla wokwakhiwa ngokusemthethweni kolu hlelo lomqokeleli ngowe-3 kaJulayi 2022.

Inguqulelo yangaphambili

Inguqulo yangaphambili ye-MPLAB XC8 C compiler yayiyi-2.39, i-complete compiler compiler, eyakhiwe nge-27 kaJanuwari 2022. Umqambi osemgangathweni wangaphambili wawuyi-version 2.36, eyakhiwe nge-27 kaJanuwari 2022.

Incwadi yoKhuseleko oluSebenzayo

INcwadana yoKhuseleko oluSebenzayo yabaqulunqi beMPLAB XC iyafumaneka kwiphakheji yamaxwebhu xa uthenga ilayisenisi yokhuseleko esebenzayo.

iiLayisensi zeCandelo kunye neeNguqulelo

I-MPLAB® XC8 C Compiler ye-AVR MCUs izixhobo zibhalwa kwaye zisasazwe phantsi kwe-GNU General Public License (GPL) nto leyo ethetha ukuba ikhowudi yomthombo wayo isasazwa ngokukhululekileyo kwaye ifumaneke kuluntu. Ikhowudi yemvelaphi yezixhobo eziphantsi kwe-GNU GPL inokukhutshelwa ngokwahlukileyo kwi-Microchip's webindawo. Unokufunda i-GNU GPL kwi file Igama lifumene uvimba weefayili ozifakelayo. Ingxoxo ngokubanzi yemigaqo ephantsi kwe-GPL inokufumaneka apha. Ikhowudi yenkxaso inikezelwe kwisihloko files, izikripthi zekhonkco, kunye neelayibrari zexesha lokusebenza ziyikhowudi yobunini kwaye ayigqunywanga phantsi kweGPL.

Lo mqokeleli kukuphunyezwa kwe-GCC version 5.4.0, i-binutils version 2.26, kwaye isebenzisa i-avr-libc version 2.0.0.

IiMfuno zeNkqubo

Umhlanganisi weMPLAB XC8 C kunye nesoftware yelayisensi eyisebenzisayo ziyafumaneka kwiinkqubo ezahlukeneyo zokusebenza, kubandakanywa iinguqulelo ezingama-64-bit zezi zilandelayo: Iintlelo zobungcali zeMicrosoft Windows 10; Ubuntu 18.04; kunye ne-macOS 10.15.5. Iibhinari zeWindows zisayinwe ngekhowudi. Iibhinari ze-mac OShave zisayinwe ikhowudi kwaye yaziswa.

Ukuba usebenzisa iseva yelayisensi yenethiwekhi, ziikhompyuter kuphela ezineenkqubo zokusebenza ezixhaswa ngabahlanganisi ezinokuthi zisetyenziswe ukubamba iseva yelayisensi. Ukusukela kwinguqulo ye-xclm 2.0, iseva yelayisensi yothungelwano inokufakwa kwiqonga le-Microsoft Windows Server, kodwa iseva yelayisensi ayifuni kuqhuba kuguqulelo lweseva yenkqubo esebenzayo.

Izixhobo ezixhaswayo

Lo mqokeleli uxhasa zonke izixhobo ze-8-bit ze-AVR ze-MCU ezaziwa ngexesha lokukhululwa. Bona (kuluhlu lwencwadi yomqokeleli) yoluhlu lwazo zonke izixhobo ezixhaswayo. Ezi files kwakhona dwelisa ibhithi yoqwalaselo kwisixhobo ngasinye.

UHlelo kunye nokuPhuculwa kweLayisensi

I-MPLAB XC8 compiler inokusebenza njengelayisensi (PRO) okanye imveliso engenalayisenisi (yaMahala). Kufuneka uthenge isitshixo sokuvula ukuze ufumane ilayisenisi yomqokeleli wakho. Iphepha-mvume livumela umgangatho ophezulu wokuphucula xa kuthelekiswa nemveliso yaMahla. Umqokeleli ongenaphepha-mvume unokuqhutywa ngokungenasiphelo ngaphandle kwelayisensi.

Umhlanganisi woKhuseleko oluSebenzayo weMPLAB XC8 kufuneka avulwe ngelayisensi yokhuseleko esebenzayo ethengwe kwiMicrochip. Umqokeleli akayi kusebenza ngaphandle kwale layisensi. Nje ukuba isebenze, unokukhetha naliphi na inqanaba lokuphucula kwaye usebenzise zonke iimpawu zomqokeleli. Oku kukhutshwa kwe-MPLAB XC ye-Fuctional Safety Compiler ixhasa iLayisensi yeSeva yeNethiwekhi.
Bona uxwebhu lokuFakela kunye nokukhutshwa kweLayisenisi iMPLAB XC C C Compilers (DS50002059) ngolwazi malunga neentlobo zeelayisenisi kunye nokufakelwa komhlanganisi onelayisensi.

Ukufakelwa kunye yovulo

Jonga kwakhona iMiba yokuFudukela kunye neMida yoMda ngolwazi olubalulekileyo malunga nomphathi welayisenisi wamva nje obandakanywe nalo mqokeleli.
Ukuba usebenzisa iMPLAB IDE, qiniseka ukuba ufaka iMPLAB X IDE yamva nje uguqulelo 5.0 okanye kamva phambi kokufaka esi sixhobo. Yeka i-IDE phambi kokufaka umqokeleli. Sebenzisa i.exe (iWindows), .run (Linux) okanye i-app (i-macOS) isifakeli se-installer esifakelwayo, umz. XC8-1.00.11403-windows.exe kwaye ulandele izalathiso kwisikrini.
Uluhlu lofakelo olungagqibekanga luyacetyiswa. Ukuba usebenzisa i-Linux, kufuneka ufakele umqokeleli usebenzisa i-terminal kunye ne-akhawunti yengcambu. Faka usebenzisa iakhawunti ye-macOS ngamalungelo omlawuli.

Ukuqalisa ngoku kuqhutywa ngokwahlukeneyo ukuhlohla. Jonga uxwebhu loMphathi weLayisensi yeMPLAB® XC C Compilers (DS52059) ngolwazi oluthe vetshe.

Ukuba ukhetha ukuqhuba umqokeleli phantsi kwelayisenisi yovavanyo, ngoku uya kufumana isilumkiso ngexesha loqulunqo lweentsuku ezili-14 zokuphela kwexesha lakho lovavanyo. Isilumkiso esifanayo sikhutshwa ukuba ungaphakathi kweentsuku ezili-14 zokuphela kobhaliso lwakho lwe-HPA.

Iseva yeLayisensi yeNethiwekhi ye-XC yi-installer eyahlukileyo kwaye ayiqukwanga kwi-installer ye-compiler yomsebenzisi omnye.

UMphathi weLayisensi ye-XC ngoku uxhasa ukuzulazula kweelayisensi zothungelwano ezidadayo. Ijolise kubasebenzisi beselula, eli nqaku livumela ilayisenisi edadayo ukuba ihambe kwinethiwekhi ixesha elifutshane. Usebenzisa eli nqaku, ungaqhawula kwinethiwekhi kwaye usebenzise i-MPLAB XC compiler yakho. Jonga i-doc folder ye-XCLM yokufakela ngakumbi ngeli nqaku. I-MPLAB X IDE ibandakanya ifestile yeeLayisensi (Izixhobo > iiLayisensi) ukulawula ngokubonakalayo ukuzulazula.

Ukusombulula imiba yokuFakelo

Ukuba ufumana ubunzima bokufaka umqokeleli phantsi kwayo nayiphi na inkqubo yeWindows, zama ezi ngcebiso zilandelayo.

  • Qalisa ukuhlohla njengomlawuli.
  • Misela iimvume zesicelo sofakelo ku 'Ulawulo olupheleleyo'. (Cofa ekunene i file, khetha Iimpahla, Ukhuseleko thebhu, khetha umsebenzisi, hlela.)
  • Cwangcisa iimvume zesiqulathi seefayili sexesha ukuba “Ulawulo olupheleleyo!

Ukumisela indawo yesiqulathi seefayili sexesha, chwetheza % temp% kwi- Run myalelo (iqhosha lelogo yeWindows + R). Oku kuya kuvula a file Incoko yababini yomhloli ebonisa olo lawulo kwaye izakuvumela ukuba umise umendo wolo lawulo.

Uxwebhu loMqokeleli

Izikhokelo zomsebenzisi womqokeleli zinokuvulwa kwiphepha le-HTML elivula kwibhrawuza yakho xa ucofa iqhosha loncedo elizuba kwideshibhodi yeMPLAB X IDE, njengoko kubonisiwe kumfanekiso wekhusi.

Uxwebhu loMqokeleli
Ukuba wakhela iithagethi ze-8-bit ze-AVR, i-MPLAB® XC8 C Compiler User's Guide ye-AVR® MCU iqulethe ulwazi kwezo zikhetho zomqokeleli kunye neempawu ezisebenzayo kolu lwakhiwo.

Uxhaso lwabathengi

I-Microchip yamkela iingxelo ze-bug, iingcebiso okanye izimvo malunga noguqulelo lomqokeleli. Nceda uqondise naziphi na iingxelo zebug okanye izicelo zesici ngeNkqubo yeNkxaso.

Uhlaziyo lwamaxwebhu

Ukufumana i-intanethi kunye neenguqulelo ezihlaziyiweyo zeMPLAB XC8 yamaxwebhu, nceda undwendwele iMicrochip's Online Technical Documentation. webindawo.

Amaxwebhu amatsha okanye ahlaziyiweyo e-AVR kolu kukhutshwa:

  • Isaziso selungelo lokushicilela le-MUSL
  • Ukufakela kunye nokunika iLayisensi iMPLAB XC C Compilers (uhlaziyo M)
  • IsiKhokelo soMsebenzisi weMPLAB XC8 yeeNjineli eziZinzisiweyo – ii-AVR MCUs (uhlaziyo A)
  • Isikhokelo soMsebenzisi weMPLAB XC8 C ye-AVR ye-AVR MCU (uhlaziyo F)
  • Isikhokelo seThala leeNcwadi esiDityanisiweyo seMicrochip (uhlaziyo B)

I-Microchip Uniified Standard Reference Guide ichaza indlela yokuziphatha kunye nojongano kwimisebenzi echazwe yiMicrochip yeThala leeNcwadi eliMgangatho eliManyeneyo, kunye nokusetyenziswa okujoliswe kuko kweentlobo zamathala eencwadi kunye neemacros. Olunye lolu lwazi lwalukade luqulethwe kwi-MPLAB® XC8 C Compiler User!s Guide for AVR® MCU. Ulwazi lwethala leencwadi oluthe ngqo kwisixhobo lusaqulathwe kwesi sikhokelo somqokeleli.

Ukuba usandula ukuqalisa ngezixhobo ze-8-bit kunye ne-MPLAB XC8 C Compiler, i-MPLAB® XC8 User!s Guide for Embedded Engineers – AVR® MCUs (DS50003108) inolwazi lokuseka iiprojekthi kwiMPLAB X IDE kunye nekhowudi yokubhala. yeprojekthi yakho yokuqala yeMPLAB XC8 C. Esi sikhokelo ngoku sisasazwa kunye nomqokeleli.

IsiKhokelo soMsebenzisi weHamate sibandakanyiwe kulawulo lwamaxwebhu kolu khupho. Esi sikhokelo senzelwe abo baqhuba iHamate njengesicelo esizimeleyo.

Yintoni entsha

Oku kulandelayo zizinto ezijoliswe kuzo ze-AVR ezixhaswa ngumqambi ngoku. Inombolo yenguqulelo kwimixholwana ibonisa inguqulelo yokuqala yomqokeleli ukuxhasa iimpawu ezilandelayo.

Inguqulelo 2.40

Inkxaso yesixhobo esitsha Inkxaso ngoku iyafumaneka kula macandelo e-AVR alandelayo: AT90PWM3, AVR16DD14, AVR16DD20, AVR16DD28, AVR16DD32, AVR32DD14, AVR32DD20, AVR32DD28, AVR32DD32, AVR64EA28, AVR64EA32, AVR64EA48, AVRXNUMXEAXNUMX, AVRXNUMXEAXNUMX, AVRXNUMXEAXNUMX, AVRXNUMXDDXNUMX, AVRXNUMXDDXNUMX ne-AVRXNUMXDDXNUMX.
Ukuphuculwa kwenkqubo yokuthabatha Isixhobo sokuphucula i-procedural abstraction (PA) siphuculwe ukuze ikhowudi equlethe umyalelo wokufowuna osebenzayo ( call recall ) ingachazwa. Oku kuyakwenzeka kuphela ukuba isitaki asisetyenziswanga ukudlulisa iimpikiswano okanye ukufumana ixabiso lembuyekezo kumsebenzi. Isitaki sisetyenziswa xa ubiza umsebenzi ngoluhlu lwempikiswano eguquguqukayo okanye xa ubiza umsebenzi othatha iimpikiswano ezininzi kunokuba kukho iirejista ezimiselwe le njongo. Olu phawu lunokuvalwa kusetyenziswa i monk-pa-outline-calls ukhetho, okanye ukutsalwa kwenkqubo kunokukhubazwa ngokupheleleyo kwinto. file okanye usebenze ngokusebenzisa i-monk-pa-on-file kunye -mo.-pa-on-function ngokulandelelanayo, okanye ngokusebenzisa uphawu lwe nipa ( nipa specifier) ​​ngokukhetha kunye nemisebenzi

Ikhowudi yokugubungela imacro Umqokeleli ngoku uchaza i-macro __CODECOV ukuba ukhetho olusebenzayo lwemcodecov luchaziwe.

Ukhetho logcino lwememori Umqhubi we-xc8-cc ngoku uya kwamkela i- -mreserve=space@start: ukhetho lokuphela xa wakhela iithagethi ze-AVR. Olu khetho lugcina uluhlu lwenkumbulo olukhankanyiweyo kwidatha okanye isithuba sememori yenkqubo, ithintela umdibaniso ukusuka kwikhowudi yokukhupha okanye izinto kule ndawo.

Smarter smart IO Uphuculo oluninzi lwenziwe kwimisebenzi ye-Smart IO, kubandakanywa ulungelelwaniso oluqhelekileyo kwikhowudi engundoqo yeprintf, ukuphatha isicacisi senguquko se-%n njengomahluko ozimeleyo, unxulumaniso kwi vararg pop yesiqhelo kwimfuno, kusetyenziswa iintlobo zedatha ezimfutshane apho kunokwenzeka ukuphatha iingxoxo zomsebenzi we-IO. , kunye nokulinganisa ikhowudi eqhelekileyo kububanzi bentsimi kunye nokuphatha ngokuchanekileyo. Oku kunokubangela ikhowudi ebalulekileyo kunye nokugcinwa kwedatha, kunye nokunyusa isantya sokwenziwa kwe-IO.

Inguqulelo 2.39 (Ukhupho loKhuseleko oluSebenzayo)

Ilayisensi yeseva yenethiwekhi Oku kukhutshwa kweMPLAB XC8 Functional Safety Compiler ixhasa iLayisensi yeSeva yeNethiwekhi.

Inguqulelo 2.36

Akukho nanye.

Inguqulelo 2.35

Inkxaso yesixhobo esitsha Inkxaso ifumaneka kumacandelo e-AVR alandelayo: ATTINY3224, ATTINY3226, ATTINY3227, AVR64DD14, AVR64DD20, AVR64DD28, kunye ne-AVR64DD32.

Ukutshintshela umxholo ophuculweyo Ukhetho olutsha lwe-mcall-isr-prologues lutshintsha indlela ukuphazamisa imisebenzi egcina ngayo iirejista ekungeneni kunye nendlela ezo rejista zibuyiselwa ngayo xa inkqubo yokuphazamiseka iphela. Isebenza ngendlela efanayo kukhetho lwe-mcall-prologues, kodwa luchaphazela kuphela ukuphazamisa imisebenzi (ISRs).

Kuphuculwe ngakumbi ukutshintshela umxholo Ukhetho olutsha lwe-mgas-isr-prologues lulawula ikhowudi ye-itch yeemeko ezenziwe kwiinkqubo ezincinci zenkonzo yokuphazamiseka. Xa yenziwe yasebenza, eli nqaku lizakwenza umqokeleli ahlole i-ISR yokusetyenziswa kwerejista kwaye ugcine ezi rejista zisetyenzisiweyo kuphela ukuba ziyafuneka.

Imephu elungelelanisiweyo yeflash Ezinye izixhobo kwi-AVR DA kunye nosapho lwe-AVR DB zine-SFR (umzekelo, i-FLMAP) echaza ukuba leliphi icandelo le-32k lememori yenkqubo eliza kufakwa kwimemori yedatha. Ukhetho olutsha - i-mconst-data-in-config-mapped-proem ingasetyenziselwa ukuba ne-linker ibeke yonke idatha efanelekile kwicandelo elinye le-32k kwaye iqalise ngokuzenzekelayo irejista ye-SFR efanelekileyo ukuqinisekisa ukuba le datha ifakwe kwimemori yedatha. , apho iya kufumaneka ngokunempumelelo ngakumbi.

Amathala eencwadi aManyeneyo aseMicrochip Bonke abaqulunqi be-MPLAB XC baya kubelana ngeThala leencwadi eliMgangatho eliManyeneyo leMicrochip, ekhoyo ngoku ngoku kukhutshwa kweMPLAB XC8. I-MPLAB® XC8 C Compiler User's Guide/okanye i-AVR® MCU ayisabandakanyi amaxwebhu ale misebenzi isemgangathweni. Olu lwazi ngoku lunokufumaneka kwi-Microchip Unified Standard Library Reference Guide. Qaphela ukuba umsebenzi othile ochazwe ngaphambili yi-avr-libc awusafumaneki. (Bona iThala leencwadi):'. ukusebenzaY…)

Smart IO Njengenxalenye yamathala eencwadi amatsha adityanisiweyo, imisebenzi ye-IO kushicilelo kunye neentsapho zokuskena ngoku zenziwe ngokwesiko kwisakhiwo ngasinye, ngokusekelwe kwindlela le misebenzi isetyenziswa ngayo kwinkqubo. Oku kunokunciphisa kakhulu izibonelelo ezisetyenziswa yinkqubo.
Ukhetho loncedo lwe-Smart IO Xa uhlalutya iifowuni kwimisebenzi ye-smart IO (efana neprintf () okanye i-scaf () ), umqambi akanakusoloko emisela ukusuka kumtya wefomathi okanye athathele kwiimpikiswano ezo zicacisi zokuguqulwa ezifunwa ngumnxeba. Ngaphambili, umqambi wayengasoloko engenzi ngqikelelo kwaye aqinisekise ukuba imisebenzi ye-IO esebenza ngokupheleleyo idityaniswe kumfanekiso weprogram yokugqibela. Ukhetho olutsha – msmart-io-format=fmt longeziwe ukwenzela ukuba umqokeleli endaweni yoko aziswe ngumsebenzisi weempawu zoguqulo ezisetyenziswa yimisebenzi ehlakaniphile ye-IO ekusetyenziswa kwayo kungacacanga, kuthintelwa iindlela ze-IO ezinde kakhulu ukuba zingadityaniswa. (Jonga uKhetho lwe-smart-io-format ngeenkcukacha ezithe vetshe.)

Ukubeka amacandelo angokwezifiso Ngaphambili, i -Wl, -section-start option ibeke kuphela icandelo elichaziweyo kwidilesi eceliweyo xa iskripthi sekhonkco sichaza icandelo lemveliso enegama elifanayo. Xa kwakungenjalo, icandelo lalibekwe kwidilesi ekhethwe ngumnxibelelanisi kwaye ukhetho lwalungahoywa. Ngoku ukhetho luya kuhlonitshwa kuwo onke amacandelo esiqhelo, nokuba iskripthi sekhonkco asichazi icandelo. Qaphela, nangona kunjalo, ukuba kumacandelo asemgangathweni, anjalo. umbhalo, . bss okanye. idatha, oyena mnikezeli ufanelekileyo uya kuba nolawulo olupheleleyo ekubekweni kwabo, kwaye ukhetho aluyi kuba nasiphumo. Sebenzisa i -Wl, -Tsection=yongeza ukhetho, njengoko kuchaziwe kwisikhokelo somsebenzisi.

Inguqulelo 2.32

IsiKhokelo seSitaki Ifumaneka ngelayisenisi yomqokeleli wePRO, inqaku lesikhokelo somqokeleli lingasetyenziselwa ukuqikelela ubunzulu obuphezulu baso nasiphi na isitaki esisetyenziswa yinkqubo. Yakha kwaye ihlalutye igrafu yokufowuna yeprogram, imisela ukusetyenziswa kwe-stack yomsebenzi ngamnye, kwaye ivelise ingxelo, apho ubunzulu be-stacks esetyenziswa yiprogram bunokuchazwa. Olu phawu luvuliwe ngo -mchp-stack-usetyenziso lwelayini yomyalelo. Isishwankathelo sokusetyenziswa kwesitaki siprintwa emva kokwenziwa. Ingxelo yesitaki eneenkcukacha iyafumaneka kwimephu file, enokucelwa ngendlela eqhelekileyo.

Inkxaso yesixhobo esitsha Inkxaso ifumaneka kula macandelo e-AVR alandelayo: ATTINY 427, ATTINY 424, ATTINY 426, ATTINY827, ATTINY824, ATTINY826, AVR32DB32, AVR64DB48, AVR64DB64, AVR64DB28, AVR32DB28, AVR64DB32, AVR32DB48, AVRXNUMXDB,

Inkxaso yesixhobo esirhoxisiweyo Inkxaso ayisafumaneki kwezi nxalenye ze-AVR zilandelayo: AVR16DA28, AVR16DA32 kunye, AVR16DA48.

Inguqulelo 2.31

Akukho nanye.

Inguqulelo 2.30

Inketho entsha yokuthintela ukuqaliswa kwedatha Inketho entsha yomqhubi -mno-data-ini t inqanda ukuqaliswa kwedatha kunye nokucocwa kwamacandelo e-bss. Isebenza ngokucinezela imveliso do_ copy_ data kunye d o_ clear_ bss iisimboli kwindibano files, okuya kuthi kwakhona kuthintele ukufakwa kwezo ndlela zesiqhelo ngumnxibelelanisi.

Ukulungiswa okuphuculweyo kuye kwenziwa inani lophuculo lokuphucula, kubandakanywa nokususwa kwemiyalelo yokubuyisela engafunekiyo, ukususwa kokutsiba okuthile emva komyalelo we-skip-ukuba-bit, kunye nokuphuculwa kwenkqubo yokukhupha kunye nokukwazi ukuphinda le nkqubo.

Iinketho ezongezelelweyo ngoku zikhoyo ukulawula ezinye zezi zixhobo, ngokukodwa -f i-anchors zecandelo, elivumela ukufikelela kwezinto ezimileyo ukuba zenziwe ngokumalunga nesimboli esinye; -mpai derations=n, evumela ukuba inani lenkqubo yokuthabatha ukuphinda litshintshwe ukusuka kukusilela kwesi-2; yaye, -mpa- call cost- shortcall, eyenza aggressive procedural abstraction more, ngethemba lokuba umnxibelelanisi unokuphumla iminxeba emide. Olu khetho lokugqibela lunokunyusa ubungakanani bekhowudi ukuba iingcamango ezisisiseko azifezekanga.

Inkxaso yesixhobo esitsha Inkxaso iyafumaneka kwezi ndawo zilandelayo ze-AVR: AVR16DA28, AVR16DA32,
AVR16DA48, AVR32DA28, AVR32DA32, AVR32DA48, AVR64DA28, AVR64DA32, AVR64DA48, AVR64DA64, AVR128DB28, AVR128DB32, AVR128DB48, kunye ne-AVR128DB, kunye ne-AVR64DB

Inkxaso yesixhobo esirhoxisiweyo Inkxaso ayisafumaneki kwezi nxalenye ze-AVR zilandelayo: ATA5272, ATA5790, ATA5790N, ATA5791, ATA5795, ATA6285, ATA6286, ATA6612C, ATA6613C, ATA6614Q, ATA6616C, ATA6617C, kunye ne664251

Inguqulelo 2.29 (Ukhupho loKhuseleko oluSebenzayo)

Okubhalwe ngasentla kwekhasi file ukulungiselela ukwakheka komqokeleli Ukuqinisekisa ukuba umqambi unokuhambelana neenkcukacha zolwimi ezifana neMISRA, i isihloko file, equkwa ngokuzenzekelayo ngu , ihlaziywe. Lo mbhalo wesihloko uqulathe iiprototypes zayo yonke imisebenzi eyakhelwe-ngaphakathi, efana _buil tin _avrnop () kunye _buil tin_ avr delay_ cycles () . Ezinye izinto ezakhelweyo zisenokungahambelani neMISRA; ezi zinokushiywa ngokongeza i-define _Xe_ STRICT_ MISRA kumgca womyalelo womqokeleli. I-built-ins kunye nezibhengezo zabo zihlaziywe ukuze kusetyenziswe iintlobo ezisisigxina zobubanzi.

Inguqulelo 2.20

Inkxaso yesixhobo esitsha Inkxaso iyafumaneka kwiingxenye ze-AVR ezilandelayo: ATTINY1624, ATTINY1626, kunye ne-ATTINY1627.

Ulwabiwo olungcono olufanelekileyo Esona sabelo sifanelekileyo (i-BFA) kumqokeleli siphuculwe ukuze amacandelo abiwe ngokomyalelo ovumela ukwenziwa ngcono. I-BFA ngoku ixhasa izithuba zedilesi ezibiziweyo kwaye izibambo ngcono ukuqaliswa kwedatha.

Ukuphuculwa kwenkqubo yokuthabatha Inkqubo yokuthathwa kwenkqubo ngoku yenziwa kwiikhowudi ezininzi ezilandelelanayo. Iimeko zangaphambili apho oku kunyuswa kunokuthi kwandiswe ubungakanani bekhowudi kuye kwaqwalaselwa ngokwenza ikhowudi yokuphucula iqaphele inkqubo yokuqokelelwa kwenkunkuma yomnxibelelanisi.

Ukungabikho kweAVR Assembler I-AVR Assembler ayisabandakanywa kolu kusasazo.

Inguqulelo 2.19 (Ukhupho loKhuseleko oluSebenzayo)

Akukho nanye.

Inguqulelo 2.10

IKhowudi yeNgqungquthela Olu kukhululwa lubandakanya ikhowudi yokugubungela uphawu oluququzelela uhlalutyo lobungakanani bekhowudi yomthombo weprojekthi eqhutywe ngayo. Sebenzisa ukhetho -mcodecov=ram ukuyenza isebenze. Emva kokuphunyezwa kweprogram kwi-hardware yakho, ulwazi lwe-code coverage luya kuqokelelwa kwisixhobo, kwaye oku kunokudluliselwa kwaye kuboniswe yi-MPLAB X IDE nge-plugin coverage plugin. Jonga uxwebhu lwe-IDE ngolwazi malunga nale plugin inokufumaneka. I #pragma mcodecov inokusetyenziselwa ukukhuphela ngaphandle imisebenzi elandelayo kuhlalutyo lokugubungela. Ngokufanelekileyo ipragma kufuneka yongezwe ekuqaleni kwe file ukukhuphela ngaphandle loo nto iyonke file ukusuka kuhlalutyo lokugubungela. Kungenjalo, uphawu ((mcodecov)) lunokusetyenziselwa ukukhuphela ngaphandle umsebenzi othile kuhlalutyo lokhuselo.

Inkcazo yesixhobo files Isixhobo esitsha file ebizwa ngokuba yi-avr chipinfo. html ibekwe kulawulo lwamaxwebhu osasazo lomqokeleli. Oku file dwelisa zonke izixhobo ezixhaswa ngumqokeleli. Nqakraza kwigama lesixhobo, kwaye liza kuvula iphepha elibonisa lonke uqwalaselo oluvumelekileyo lwezicwangciso/ixabiso lezibini zeso sixhobo, nge ex.amples.

Ukutsalwa kwenkqubo Ukulungiswa kwenkqubo ye-abstraction, ethatha indawo yeebhloko eziqhelekileyo zekhowudi yendibano kunye neefowuni kwikopi ekhutshiweyo yaloo bloko, yongezwe kumqokeleli. Ezi zenziwa sisicelo esahlukileyo, esibizwe ngokuzenzekelayo ngumqokeleli xa ukhetha inqanaba lesi-2, lesi-3 okanye ulungelelwaniso. Olu lungiso lunciphisa ubungakanani bekhowudi, kodwa lunokunciphisa isantya sokwenziwa kunye nokonakala kwekhowudi.
Ukukhutshwa kwenkqubo kunokukhutshazwa kumanqanaba aphezulu okuphucula usebenzisa inketho -mno-pa, okanye inokwenziwa kumanqanaba asezantsi okuphucula (ngokuxhomekeke kwilayisensi yakho) ngokusebenzisa -mpa. Inokukhutshazwa into file usebenzisa -mno-pa-on-file=fileigama, okanye ivaliwe kumsebenzi ngokusebenzisa -mno-pa kumsebenzi= umsebenzi.
Ngaphakathi kwekhowudi yemvelaphi yakho, uthatho lwenkqubo lunokwenziwa ukuba lungasebenzi ngokusetyenziswa _attribute_ ( (nopa)) kunye nenkcazelo yomsebenzi, okanye ngokusebenzisa _nopa, eyandisa kuphawu ( (nopa, noinline)) kwaye ngaloo ndlela inqanda umsebenzi ongaphakathi ukuba wenzeke. kwaye kukho ukutsalwa kwekhowudi engaphakathi.
Tshixa bit inkxaso kwi pragma Uqwalaselo lwe-#pragma ngoku lunokusetyenziswa ukucacisa iibhithi zokutshixa ze-AVR kunye nolunye uqwalaselo. Jonga ulwazi lwechip ye-avr. html file (ikhankanywe ngasentla) ukulungiselela ukusetwa/ixabiso lezibini ezinokusetyenziswa nale pragma.
Inkxaso yesixhobo esitsha Inkxaso iyafumaneka kula macandelo alandelayo: AVR28DA128, AVR64DA128, AVR32DA128, kunye AVR48DA128.

Inguqulelo 2.05

Amasuntswana angakumbi kwimali yakho Inguqulelo ye-macOS yalo mqokeleli kunye nomphathi welayisensi ngoku sisicelo se-64-bit. Oku kuya kuqinisekisa ukuba umqokeleli uya kufaka kwaye aqhube ngaphandle kwezilumkiso kwiinguqulelo zamva nje ze-macOS.
Const izinto kwimemori yeprogram Umqokeleli ngoku unokubeka izinto eziqinisekisiweyo kwiprogram yememori yeFlash, kunokuba ezi zibekwe kwi-RAM. Umqambi uguqulwe ukuze idatha ye-const-qualified global igcinwe kwimemori yeprogram ye-flash kwaye le datha ingafumaneka ngokuthe ngqo kwaye ngokungathanga ngqo ngokusebenzisa imiyalelo efanelekileyo yememori yeprogram. Eli nqaku litsha lenziwe ngokuzenzekelayo kodwa linokukhutshazwa kusetyenziswa i -mno-const-data-in-progmem ukhetho. Kwi-architecture ye-avrxmega3 kunye ne-avrtiny, eli nqaku alifunwa kwaye lihlala livaliwe, ekubeni imemori yeprogram ifakwe kwisithuba sedilesi yedatha yezi zixhobo.
Umgangatho simahla Iinguqulelo ezinganalayisenisi (zaMahala) zalo mqokeleli ngoku zivumela ulungelelwaniso ukuya kuthi ga kwinqanaba lesi-2. Oku kuya kuvumela okufanayo, nangona kungafaniyo, imveliso kwinto ebinokwenzeka ngaphambili kusetyenziswa ilayisenisi yoMgangatho.
Wamkelekile AVRASM2 I-AVRASM2 assembler yezixhobo ze-8-bit ngoku ifakiwe kwi-installer ye-XC8 compiler. Lo mhlanganisi awusetyenziswa ngumqambi we-XC8, kodwa uyafumaneka kwiiprojekthi ezisekelwe kumthombo wendibano obhalwe ngesandla.
Inkxaso yesixhobo esitsha Inkxaso iyafumaneka kula macandelo alandelayo: ATMEGA1608, ATMEGA1609, ATMEGA808, kunye ne-ATMEGA809.

Inguqulelo 2.00

Umqhubi wenqanaba eliphezulu Umqhubi omtsha, obizwa ngokuba yi-xc8-cc, ngoku uhleli phezu komqhubi we-avr-gcc yangaphambili kunye nomqhubi we-xc8, kwaye unokubiza umqambi ofanelekileyo ngokusekelwe ekukhethweni kwesixhobo esijoliswe kuyo. Lo mqhubi wamkela iinketho zesimbo se-GCC, eziguqulelwa okanye zigqitywe kumqokeleli aphunyeziweyo. Lo mqhubi uvumela iiseti ezifanayo zokhetho ezinesemantics ezifanayo ukuba zisetyenziswe kuyo nayiphi na i-AVR okanye i-PIC ekujoliswe kuyo kwaye yindlela ekhuthazwayo yokubiza umqokeleli. Ukuba kuyafuneka, umqhubi we-avr-gcc endala unokubizwa ngokuthe ngqo usebenzisa iindlela zakudala ezamkelwe kwiinguqulelo zangaphambili zomqokeleli.

Ujongano C oluqhelekileyo Lo mqokeleli ngoku unokuhambelana ne-MPLAB Common C Interface, evumela ikhowudi yomthombo ukuba ifakwe ngokulula kubo bonke abahlanganisi beMPLAB XC. I-mext=cci ukhetho lucela olu phawu, luvumela isivakalisi esisesinye kwizandiso ezininzi zolwimi.

Umqhubi omtsha wethala leencwadi Umqhubi omtsha wethala leencwadi ubekwe ngasentla kwethala lethala leencwadi le-PIC langaphambili kunye ne-AVR i-avr-ar. Lo mqhubi wamkela iinketho ze-GCC-yesimbo sogcino-vimba, ezithi ziguqulelwe okanye zigqitywe kumphathi wethala emiliselweyo. Umqhubi omtsha uvumela iiseti ezifanayo zokhetho ezinesemantics ezifanayo ukuba zisetyenziswe ukwenza okanye ukukhohlisa nayiphi na i-PIC okanye ilayibrari ye-AVR. file kwaye yindlela ecetyiswayo yokucela unoncwadi. Ukuba ziyafuneka kwiiprojekthi zelifa, umsebenzi wethala wangaphambili unokubizwa ngokuthe ngqo usebenzisa iindlela zakudala ezamkelwe kwiinguqulelo zomqokeleli zangaphambili.

Imiba yokufuduka

Ezi zilandelayo ziimpawu eziphathwa ngokuhlukileyo ngumqambi. Olu tshintsho lunokufuna uhlengahlengiso kwikhowudi yemvelaphi yakho ukuba ikhowudi yokufaka kolu guqulelo lomqokeleli. Inombolo yenguqulelo kwimixholwana ibonisa inguqulelo yokuqala yomqokeleli ukuxhasa utshintsho olulandelayo.

Inguqulelo 2.40

Akukho nanye.

Inguqulelo 2.39 (Ukhupho loKhuseleko oluSebenzayo)

Akukho nanye.

Inguqulelo 2.36

Akukho nanye.

Inguqulelo 2.35

Ukuphathwa komtya-kwiziseko (XCS-2420) Ukuqinisekisa ukuhambelana nabanye abaqulunqi be-XC, i-XC8 ye-string-to-misebenzi, njenge-strtol () njl. Umgangatho we-C awucacisi ukuziphatha kwemisebenzi xa eli xabiso lesiseko ligqithisiwe.

Ukulungiswa kwesantya esingafanelekanga Ukulungiswa kokuthathwa kwenkqubo bekusenziwa xa kukhethwa ulungiselelo lwenqanaba lesi-3 (-03). Olu lungiso lunciphisa ubungakanani bekhowudi ngeendleko zesantya sekhowudi, ngoko bekungafanelanga ukuba lwenziwe. Iiprojekthi ezisebenzisa eli nqanaba lokuphucula zinokubona umahluko kubungakanani bekhowudi kunye nesantya sokwenziwa xa zakhiwe ngolu khululo.

Ukusebenza kwethala leencwadi Ikhowudi yemisebenzi emininzi yethala leencwadi eliqhelekileyo le-C ngoku iphuma kwiThala leeNcwadi eliMgangatho eliManyeneyo leMicrochip, elinokuthi libonise ukuziphatha okwahlukileyo kwezinye iimeko xa kuthelekiswa naleyo inikwe yilayibrari yangaphambili ye-avr-libc. UmzekeloampLe, akusekho mfuneko yokudibanisa kwilayibrari ye-lprintf_flt (-print _flt ukhetho) ukuvula inkxaso ye-IO efomathiweyo kubaxeli befomathi edadayo. Iimpawu ze-IO ezihlakaniphile zeThala leencwadi eliMgangatho eliManyeneyo leMicrochip zenza olu khetho lube lukhuni. Ukongeza, ukusetyenziswa kwe- _p yeendlela ezimiselweyo zomtya kunye nemisebenzi yememori (umz. strcpy_P () njl. Iinkqubo eziqhelekileyo ze-C (umz. strcpy ()) ziya kusebenza ngokuchanekileyo ngedatha enjalo xa i-const-data-in-program-memory feature yenziwe yasebenza.

Inguqulelo 2.32

Akukho nanye.

Inguqulelo 2.31

Akukho nanye.

Inguqulelo 2.30

Akukho nanye.

Inguqulelo 2.29 (Ukhupho loKhuseleko oluSebenzayo)

Akukho nanye.

Inguqulelo 2.20

Uyilo lweDFP olutshintshiweyo Umqambi ngoku uthatha isicwangciso esahlukileyo esisetyenziswa yi-DFPs (IiPakethi zeSapho seSixhobo). Oku kuya kuthetha ukuba i-DFP endala ayinakusebenza ngolu khululo, kwaye abahlanganisi abadala abayi kukwazi ukusebenzisa ii-DFP zamva nje.

Inguqulelo 2.19 (Ukhupho loKhuseleko oluSebenzayo)

Akukho nanye.

Inguqulelo 2.10

Akukho nanye

Inguqulelo 2.05

Const izinto kwimemori yenkqubo Qaphela ukuba izinto ezingagqibekanga, const-ezifanelekileyo ziya kubekwa kwaye zifikelelwe kwimemori yenkqubo (njengoko kuchaziwe apha) . Oku kuya kuchaphazela ubungakanani kunye nesantya sokwenziwa kweprojekthi yakho, kodwa kufuneka kunciphise ukusetyenziswa kwe-RAM. Olu phawu lunokuvalwa, ukuba luyafuneka, kusetyenziswa i -mnoconst- da ta-in-progmem ukhetho.

Inguqulelo 2.00

Iifizi zoqwalaselo Uqwalaselo lwesixhobo se fuses ngoku zinokucwangciswa kusetyenziswa ipragma yoqwalaselo ilandelwa kucwangcisa-ixabiso lezibini ukucacisa imo yefuse, umz.
#pragma config WDT0N = SET
#pragma config B0DLEVEL = B0DLEVEL_4V3
Izinto ezipheleleyo kunye nemisebenzi Izinto kunye nemisebenzi ngoku inokubekwa kwidilesi ethile kwinkumbulo kusetyenziswa i CCI _at (idilesi) isicacisi, kuba ex.ample: #iquka int foobar e(Ox800100); char at(Ox250) fumana i-ID(int offset) { … } Ingxoxo kulo mlinganisi kufuneka ibe yinto engatshintshiyo emele idilesi apho ibhayithi yokuqala okanye umyalelo uza kubekwa khona. Iidilesi ze-RAM ziboniswa ngokusebenzisa i-offset ye-0x800000. Yenza i-CCI isebenzise olu phawu.
I-syntax entsha yokuphazamiseka komsebenzi Umqokeleli ngoku wamkela i-CCI yokuphazamisa (num) isicacisi ukubonisa ukuba imisebenzi ye-C iyisiphazamiso esiphazamisayo. Umxeli uthatha inani lophazamiseko, umzekeloample: #iquka uphazamiseko olungenanto(SPI STC_ vect _num) spi Isr(akukho) { … }

Imiba eZinzisiweyo

Ezi zilandelayo zizilungiso ezenziwe kumqokeleli. Ezi zinokulungisa iziphene kwikhowudi eyenziweyo okanye ziguqule ukusebenza komqokeleli koko bekujongwe okanye kuchazwe sisikhokelo somsebenzisi. Inombolo yoguqulelo kwimixholwana ibonisa uhlobo lokuqala lomqokeleli oluqulathe izilungiso kwimiba elandelayo. Ileyibhile efakwe kwizibiyeli kwisihloko kukuchongwa kwaloo mba kwiziko ledatha lokulandela umkhondo. Oku kunokuba luncedo ukuba ufuna ukuqhagamshelana nenkxaso.

Qaphela ukuba eminye imiba ethile ilungisiwe kwiDevice Family Pack (DFP) ehambelana nesixhobo. Jonga uMphathi wePake weMPLAB ngolwazi malunga notshintsho olwenziwe kwii-DFPs kunye nokukhuphela iipakethi zakutsha nje.

Inguqulelo 2.40

Ndiphumle kakhulu (XCS-2876) Xa usebenzisa i -mrelax ukhetho, umqokeleli ebengawabi amanye amacandelo kunye, okukhokelela kubungakanani bekhowudi esezantsi. Oku kunokuba kwenzekile ngekhowudi esebenzise amathala eencwadi amatsha e-MUSL okanye eneempawu ezibuthathaka.
Indawo yokwenza imephu ayivalwanga njengoko kuchaziwe kwisilumkiso (XCS-2875) Ixabiso ledatha-kwi-config mappedprogmem lixhomekeke kwixabiso ledatha-kwi-proem esebenzayo. Ukuba ixabiso-data-ipconfig- mapped-proem feature yenziwe ngokucacileyo kusetyenziswa ukhetho kunye nexabiso-data-inprogmem feature yacinywa, inyathelo lekhonkco aliphumelelanga, ngaphandle komyalezo wesilumkiso ochaza ukuba i-cons-in-config-mapped- Inqaku le-proem liye lacinywa ngokuzenzekelayo, nto leyo ibingachanekanga ngokupheleleyo. I-const-data-in-config-mapped-proem isici ngoku ivaliwe ngokupheleleyo kule meko.
Utshintsho lwe-DFP ukufikelela ngokuchanekileyo kwi-NVMCTRL (XCS-2848) Ikhowudi yokuqalisa yokuqalisa esetyenziswa zizixhobo ze-AVR64EA ayizange ithathele ngqalelo ukuba irejista ye-NVMCTRL yayiphantsi koKhuseleko loTshintsho loLungiselelo (CCP) kwaye ayizange ikwazi ukuseta i-IO SFR kwiphepha elisetyenziswe yi-const-data-in configmapped- compiler compiler uphawu. Utshintsho olwenziwe kwi-AVR-Ex_DFP inguqulo 2.2.55 luya kuvumela ikhowudi yokuqalisa ixesha lokuqalisa ukuba ibhale ngokuchanekileyo kule rejista.
Utshintsho lwe-DFP ukunqanda ukwenza imephu yeflash (XCS-2847) Umsebenzi ojikeleze ingxaki ngesixhobo sokwenza imephu ye-flash echazwe kwi-AVR128DA28/32/48/64 Silicon Errata (DS80000882) iphunyeziwe. I-const-data-in-config-mapped-proem compiler feature ayiyi kusetyenziswa ngokungagqibekanga kwizixhobo ezichaphazelekayo, kwaye olu tshintsho luya kuvela kwi-AVR-Ex_DFP version 2.2.160.
Yakha imposiso nge sinhf okanye coshf (XCS-2834) Iinzame zokusebenzisa i-sinhf () okanye i-coshf () imisebenzi yethala leencwadi ibangele impazamo yekhonkco, ichaza isalathiso esingachazwanga. Umsebenzi olahlekileyo okhankanyiweyo ngoku ubandakanyiwe kunikezelo lomqokeleli.
Yakha iimpazamo nge-nopa (XCS-2833) Ukusebenzisa uphawu lwenopa ngomsebenzi onegama lomhlanganisi elichaziweyo kusetyenziswa njenge () iqalise imiyalezo yemposiso esuka kumhlanganisi. Le ndibaniselwano ayinakwenzeka.
Ukungaphumeleli komsebenzi ohlukeneyo kunye neengxoxo zesalathisi (XCS-2755, XCS-2731) Imisebenzi enenani eliguquguqukayo leempikiswano ilindele ukuba i-24-bit (_uhlobo lwememo) izalathisi zigqithiswe kuluhlu lweengxabano eziguquguqukayo xa i-cost-data-in-proem feature yenziwe yasebenza. Iingxoxo ezazingalathisi kwimemori yedatha zazigqithiswa njengezinto ze-16-bit, ezibangela ukungaphumeleli kwekhowudi xa zifundwa ekugqibeleni. Xa i-cons data-in-proem feature yenziwe yasebenza, zonke iingxoxo zezalathi ze-16-bit ngoku ziguqulelwa kwizikhombisi ze-24-bit. Imisebenzi yethala leencwadi le-strtoxxx iyasilela (XCS-2620) Xa i-const-data-in-proem feature yenziwe yasebenza, iparameter yokungenisa kwimisebenzi yethala leencwadi ye-strtoxxx ayizange ihlaziywe ngokufanelekileyo kwiingxoxo zomtya wemvelaphi engekho kwimemori yenkqubo.
Izivuseleli zesamente ezingasebenziyo (XCS-2612) Umqokeleli ngoku uza kukhupha imposiso ukuba indleko-kwi-proem imboniso yenziwe kwaye idilesi yomtya ingokoqobo iphoswe ngokucacileyo kwindawo yedilesi yedatha (ilahla i-const qualifier), kuba ex.ample, (uint8 t *) “Molo Hlabathi!”. Isilumkiso ngumba ukuba idilesi isenokungasebenzi xa isalathisi sedatha ye-const sifakwe ngokucacileyo kwindawo yedilesi yedatha.
Ukubekwa kwezinto zeconst ezingasetyenziswanga (XCS-2408) Uninitialized const and const v olatile izinto azizange zibekwe kwimemori yeprogram kwizixhobo ezenza imephu yonke okanye inxalenye yememori yeprogram yazo kwindawo yedilesi yedatha. Kwezi zixhobo, ezo zinto zibekwe ngoku kwimemori yeprogram, zenza ukusebenza kwazo kuhambelane nezinye izixhobo.

Inguqulelo 2.39 (Ukhupho loKhuseleko oluSebenzayo)

Akukho nanye.

Inguqulelo 2.36

Impazamo xa ulibazisa (XCS-2774) Utshintsho oluncinci kwindlela engagqibekanga yoLungiso lwemowudi yasimahla ithintele ukusongwa rhoqo kweentetho ze-operand ukulibaziseka kwemisebenzi eyakhelwe-ngaphakathi, ekhokelela ekubeni baphathwe njengabangaqhagamshelwanga kwaye ibangele impazamo: _buil tin avr delay_ cycles ilindele ukuba kwenzeke ngokukhawuleza. ixesha elipheleleyo.

Inguqulelo 2.35

Ulwabiwo oludityanisiweyo kusetyenziswa _at (XCS-2653) Unikezelo oluthe gqolo lwezinto ezininzi kwiindawo kwicandelo elinegama elifanayo kunye nokusebenzisa ku-() kungasebenzi kakuhle. Umzekeloample: constchararrl [] at tri butte ((sect on(“.misses”))) e (Ox50 0 ) = {Oxo, Ox CD}; ixabiso char arr2[ ] at tri butte ((icandelo(“.my s eke”))) = {Iinkomo, Inkomo FE }; bekufanele ukuba ubeke arr2 ngoko nangoko emva Aril.
Ichaza iidilesi zokuqalisa icandelo (XCS-2650) I -Wal, -icandelo-ukuqala ukhetho belusilele ngokuthe cwaka ukubeka amacandelo kwidilesi yokuqala etyunjiweyo. Lo mba ulungisiwe kuwo nawaphi na amacandelo abizwa ngokwesiko; nangona kunjalo, ayiyi kusebenza kuwo nawaphi na amacandelo asemgangathweni, anje. umbhalo okanye. bss, ekufuneka ibekwe kusetyenziswa i -Wl, -T ukhetho.
I-Linker iyantlitheka xa uphumle (XCS-2647) Xa i--relax optimization yenziwe kwaye kukho ikhowudi okanye amacandelo edatha angangenanga kwimemori ekhoyo, ikhonkco yaphuka. Ngoku, kwimeko enjalo, imiyalezo yempazamo ikhutshwa endaweni yoko.
Ufikelelo olubi lwe-EEPROM (XCS-2629) I-leproma _read_ block routine ayizange isebenze ngokuchanekileyo kwizixhobo ze-Mega xa i-monist-data-in-proem inketho yenziwe (eyimeko engagqibekanga), okubangela ukuba imemori ye-EEPROM ingafundwa ngokuchanekileyo.
Ulwabiwo lwenkumbulo olungasebenziyo (XCS-2593, XCS-2651) Xa i -Text okanye -Tata isinxulumanisi ukhetho (for example idlule ngokusebenzisa i -Wl umqhubi ukhetho) icacisiwe, imvelaphi ehambelanayo yokubhaliweyo/ummandla wedatha yahlaziywa; nangona kunjalo, idilesi yokugqibela ayizange ilungelelaniswe ngokufanelekileyo, nto leyo enokubangela ukuba ummandla ugqithise uluhlu lwememori yesixhobo ekujoliswe kuso.
Ikhowudi yokuphazamiseka kwe-ATtiny engasebenziyo (XCS-2465) Xa ukwakhiwa kwezixhobo zeTatin kunye nokulungiswa kwacinywa (-00), ukuphazamisa imisebenzi inokuba ibangele i-operand ngaphandle koluhlu lwemiyalezo yokuhlanganisa.
Ukhetho olungagqithiswanga (XCS-2452) Xa usebenzisa i -Wl ukhetho olunokhetho oluninzi, olwahlulwe ngekoma, ayizizo zonke iinketho zekhonkco ezigqithiselweyo kumnxibelelanisi.
Impazamo yokufunda ngokungangqalanga kwimemori yenkqubo (XCS-2450) Kwezinye iimeko, umqokeleli uvelise impazamo yangaphakathi (insn engabonakaliyo) xa ufunda ixabiso le-byte ezimbini ukusuka kwisalathisi kwimemori yeprogram.

Inguqulelo 2.32

Ukufikelela okwesibini kwithala leencwadi kuyasilela (XCS-2381) Ukucenga uguqulelo lweWindows lwe-xc8-ar. exe umgcini wethala leencwadi okwesibini ukufikelela kwindawo yokugcina yethala esele ikhona inokuba ayiphumelelanga ngokungakwazi ukuthiya ngokutsha umyalezo wemposiso.

Inguqulelo 2.31

Ukusilela okungachazwanga komqokeleli (XCS-2367) Xa usebenza kwiiplatifti ze-Windows ebezinenkqubo yolawulo lwexeshana emiselwe kwindlela equka ichaphaza'. uphawu, umqokeleli unokuba usilele ukuphumeza.

Inguqulelo 2.30

Iileyibhile zehlabathi zilahlekile emva kokuchazwa (XCS-2299) Ikhowudi yendibano ebhalwe ngesandla ebeka iilebhile zehlabathi ngaphakathi kolandelelwano lwendibano ezibalulwe ngaphandle ngokuthathwa kwenkqubo kusenokwenzeka ukuba azizange zibekwe ngokutsha ngokuchanekileyo.
Ingozi ezolileyo (XCS-2287) Ukusebenzisa i -merlad ukhetho lunokubangela ukuba isiqhagamshele singqubeke xa ukulungelelaniswa kokutsiba komsila kuzama ukususa iret yomyalelo owawungekho ekupheleni kwecandelo.
Ukuwa xa ulungiselela iilebhile njengamaxabiso (XCS-2282) Ikhowudi esebenzisa "Ieleyibhile njengamaxabiso" Ulwandiso lolwimi lwe-GNU C lusenokuba lubangele ulungiselelo lokutsalwa kwenkqubo luphazamiseke, ngoluhlu lwe-VMA oluchaziweyo lwempazamo yokulungisa.
Not so const (XCS-2271) Iiprototypes zesiqalo () kunye neminye imisebenzi ukusuka ayisayi kuphinda ichaze umfaneleki weendleko ezingezizo ezisemgangathweni kwizikhombisi zomtya ezibuyisiweyo xa i-monist-data inprogmem feature iyekisiwe. Qaphela ukuba nge-avrxmega3 kunye nezixhobo ze-avertin, eli nqaku lisebenza ngokusisigxina.
Iziqalisi ezilahlekileyo (XCS-2269) Xa iyunithi yoguqulo engaphezulu kwesinye ibekwe kwicandelo (usebenzisa icandelo okanye uphawu loyelelwano ((icandelo))), kwaye ologuquko lokuqala lube nguziro lwaqaliswa okanye lungenaso isiqalisi, iziqalisi zezinye iinguqu kwiyunithi efanayo yokuguqulela. ezazibekwe kwicandelo elinye zalahleka.

Inguqulelo 2.29 (Ukhupho loKhuseleko oluSebenzayo)

Akukho nanye.

Inguqulelo 2.20

Impazamo enemiyalelo emide (XCS-1983) Xa usebenzisa i-AVR ekujoliswe kuyo, umqambi unokuyeka nge file ayifunyenwanga mposiso, ukuba umgca womyalelo wawumkhulu ngokugqithisileyo kwaye uqulathe iimpawu ezikhethekileyo ezinje ngocaphulo, umva, njl.
Icandelo le-rodata elingabiwanga (XCS-1920) Isinxulumanisi se-AVR asiphumelelanga ukunika inkumbulo kumacandelo e-rodata yesiko xa kwakhiwa i-avrxmega3 kunye ne-architecture ye-avrtiny, enokuthi ivelise iimpazamo ezihambelanayo zememori.

Inguqulelo 2.19 (Ukhupho loKhuseleko oluSebenzayo)

Akukho nanye.

Inguqulelo 2.10

Ukusilela kokufuduka (XCS-1891) Esona sahluleli silungileyo besishiya inkumbulo 'imingxuma' phakathi kwamacandelo emva kokuphumla kwekhonkco. Ngaphandle kokuqhekeka kwememori, oku kwandisa amathuba okuba kubekho ukusilela kokufuduswa kwekhonkco ngokunxulumene nokutsiba okunxulumene nePC okanye iifowuni eziphuma kuluhlu.
Imiyalelo ayitshintshwanga ngokuphumla (XCS-1889) Ukuphumla kwe-linker akuzange kwenzeke ngokutsiba okanye ukufowuna imiyalelo ekujoliswe kuyo kuye kufikeleleke xa ikhululekile.
Akukho ukusebenza (XCSE-388) Iinkcazo ezininzi ukusuka , njenge clock_ div_ t kunye clock_prescale_set (), azichazwanga izixhobo, kuquka ATmega324PB, ATmega328PB, ATtiny441, kunye ATtiny841.
Iimakhro ezilahlekileyo I-preprocessor macros_ xcs _MODE_, _xcs VERSION, _xc, kunye ne-xcs azizange zichazwe ngokuzenzekelayo ngumqokeleli. Ezi ziyafumaneka ngoku.

Inguqulelo 2.05

Impazamo yomqokeleli yangaphakathi (XCS-1822) Xa usakha phantsi kweWindows, impazamo yomqokeleli yangaphakathi inokuba ivelisiwe xa kusenziwa ikhowudi.
Ukuphuphuma kwe-RAM akubonwa (XCS-1800, XCS-1796) Iinkqubo ezigqithise i-RAM ekhoyo azizange zibonwe ngumqambi kwezinye iimeko, okubangele ukusilela kwekhowudi yexesha.
Imemori yeflash eshiyiweyo (XCS-1792) Kwizixhobo ze-avrxmega3 kunye ne-avrtiny, iinxalenye zememori edanyazayo zinokushiywa zingacwangciswanga yiMPLAB X IDE.
Ukungaphumeleli ukuphumeza okungundoqo (XCS-1788) Kwezinye iimeko apho inkqubo ingenazo iinguqu zehlabathi ezichaziweyo, ikhowudi yokuqalisa ixesha lokuqalisa ayizange iphume kwaye umsebenzi oyintloko () awuzange ufikeleleke.
Ulwazi lwenkumbulo olungalunganga (XCS-1787) Kwizixhobo ze-avrxmega3 kunye ne-avrtiny, inkqubo yobungakanani be-avr yayinika ingxelo yokuba idatha yokufunda kuphela yayidla i-RAM endaweni yememori yenkqubo.
Ukufundwa kwememori yenkqubo engalunganga (XCS-1783) Iiprojekthi ezidityaniselwe izixhobo ezinememori yenkqubo ebhalwe kwisithuba sedilesi yedatha kwaye ezichaza izinto ezisebenzisa iPROGMEM macro/uphawu usenokuba uzifundile ezi zinto kwidilesi engalunganga.
Impazamo yangaphakathi eneempawu (XCS-1773) Kwenzeke imposiso yangaphakathi ukuba uchaze izinto zesalathisi nge
_ku () okanye uphawu () iimpawu phakathi kwegama lesalathisi kunye nodidi oluyekisiweyo, kwi-example, igama *
_ku ( 0x80015 0) cp; Isilumkiso sikhutshwe ngoku ukuba ikhowudi enjalo ifunyenwe.
Ukungaphumeleli ukuphumeza eziphambili (XCS-1780, XCS-1767, XCS-1754) Ukusebenzisa ii-variables ze-EEPROM okanye ukuchaza ii-fuses usebenzisa i-pragma ye-config kunokubangela ukuqaliswa kwedatha engachanekanga kunye/okanye ukuphunyezwa kwenkqubo ngexesha lokuqalisa, phambi kokufikelela okuphambili () .
Impazamo yeFuse ngezixhobo ezincinci (XCS-1778, XCS-1742) Izixhobo ze-attiny4/5/9/10/20/40 zazinobude obungachanekanga befuse obuchazwe kwiheda yazo. files ezikhokelela kwiimpazamo zekhonkco xa uzama ukwakha ikhowudi echaza iifusi.
Impazamo yokwahlulahlula (XCS-1777) Impazamo yokwahlulahlula okwethutyana iye yalungiswa.
Ukuphahlazeka kwe-Assembler (XCS-1761) I-avr-assembler inokuthi iphazamiseke xa umqokeleli wayeqhutywa phantsi kwe-Ubuntu 18.
Izinto azicinywanga (XCS-1752) Izinto ezingasetyenziswanga zogcino oluzinzileyo zinokungacocwanga yikhowudi yokuqalisa yexesha lokuqalisa.
Iinkcukacha zesixhobo ezingqubanayo azihoywa (XCS-1749) Umqokeleli ebengavelisi mpazamo xa iinketho ezininzi zokuchazwa kwesixhobo zisetyenzisiwe kwaye zibonise izixhobo ezahlukeneyo.
Urhwaphilizo lwenkumbulo ngemfumba (XCS-1748) I-heap_ isimboli yokuqalisa ibingacwangciswanga ngokusetwa, okukhokelela ekubeni kubekho iinguqu eziqhelekileyo zonakaliswe yimfumba.
Impazamo yokufuduswa kwekhonkco (XCS-1739) Imposiso yokufuduswa kwekhonkco inokuba ikhutshwe xa ikhowudi iqulethe i-rjmp okanye i-rcall enethagethi echanekileyo eyi-4k bytes kude.

Inguqulelo 2.00

Akukho nanye.

Imiba eyaziwayo

Oku kulandelayo yimida ekusebenzeni komqokeleli. Ezi zinokuba zizithintelo zekhowudi ngokubanzi, okanye
ukutenxa kulwazi oluqulethwe kwincwadana yemigaqo yomsebenzisi. Ileyibhile efakwe kwizibiyeli kwisihloko kukuchongwa kwaloo mba kwiziko ledatha lokulandela umkhondo. Oku kunokuba luncedo ukuba ufuna ukuqhagamshelana nenkxaso. Ezo zinto zingenazo iilebhile zizithintelo ezichaza indlela yokusebenza kwaye ezinokuthi zihlale zisebenza ngokusisigxina.

I-MPLAB X IDE Integration

Ukuhlanganiswa kwe-MPLAB IDE Ukuba uMqokeleli uza kusetyenziswa kwiMPLAB IDE, kufuneka ufake iMPLAB IDE phambi kokufaka uMqulu.

IsiZukulwana seKhowudi

Ukusilela kolwabiwo lwenkumbulo ye-PA (XCS-2881) Xa usebenzisa i-procedural abstraction optimizers, umnxibelelanisi unokuxela iimpazamo zokwabiwa kwememori xa ubungakanani bekhowudi busondele kumyinge wememori yenkqubo ekhoyo kwisixhobo, nangona inkqubo kufuneka ikwazi ukulingana indawo ekhoyo.
Ayinangqondo kangako i-Smart-IO (XCS-2872) Uphawu lomqokeleli we-smart-io luyakuvelisa ikhowudi esebenzayo kodwa eyona ilungileyo yomsebenzi we-sprint ukuba uphawu lwedatha-kwi-proem yonxweme luvaliwe okanye ukuba isixhobo sinomfanekiso waso wonke ofakwe kwimemori yedatha.
Nangaphantsi smart-IO (XCS-2869) Isici somqokeleli we-smart-io siya kuvelisa ikhowudi esebenzayo kodwa esezantsi xa iinketho ze-floe kunye -fno-buil tin zisetyenziswa zombini.
Ukubekwa kwedatha yokufundwayo kuphela (XCS-2849) Umnxibelelanisi okwangoku akalazi i-APPCODE kunye ne-APPDATA yememori yamacandelo, okanye [No-]Funda-Ngelixa-Bhala izahlulo kwimephu yenkumbulo. Ngenxa yoko, kukho ithuba elincinci lokuba umnxibelelanisi unokwaba idatha yokufunda kuphela kwindawo engafanelekanga yememori. Ithuba ledatha elahlekileyo liyenyuka ukuba i-fitsha ye-data-in-pragma yonxweme yenziwe yasebenza, ingakumbi ukuba i-fitsha ye-data-in-config-mapped-proem yonxweme nayo yenziwe yasebenza. Ezi mpawu zinokucinywa ukuba ziyafuneka.
Into file iodolo yokucubungula (XCS-2863) Ukulandelelana kwezinto files iyakuqhutyelwa phambili ngumnxibelelanisi inokwahluka ngokusekelwe kusetyenziso lwenkqubo yokuthabatha ukulunga (-mpa ukhetho). Oku kuyakuchaphazela kuphela ikhowudi echaza imisebenzi ebuthathaka kwiimodyuli ezininzi.
Imposiso yomnxibelelanisi ene-absolute (XCS-2777) Xa into yenziwe ngokupheleleyo kwidilesi ekuqaleni kwe-RAM kwaye izinto ezingasetyenziswanga nazo zichaziwe, impazamo yomnxibelelanisi inokuqhutywa.
Izazisi zokuvuka okufutshane (XCS-2775) Kwizixhobo ze-ATA5700/2, iirejista ze-PHID0/1 zichazwa kuphela njenge-16 bits ububanzi, kune-32 bits ububanzi.
Ukuwa kwekhonkco xa ufowuna isimboli (XCS-2758) Umnxibelelanisi unokuntlitheka ukuba i -merlad umqhubi ukhetho lusetyenziswa xa ikhowudi yemvelaphi ibiza isimboli echazwe kusetyenziswa i -Wl, -defsym linker ukhetho.
Ukuqaliswa ngendlela engafanelekanga (XCS-2679) Kukho ukungangqinelani phakathi apho amaxabiso okuqala ezinto ezithile zehlabathi/ze-static byte-ubungakanani zibekwe kwimemori yedatha nalapho uguqulo luyakufikelelwa ngexesha lokusebenza.
iqale ngokungalunganga icwangcisa ingenanto (XCS-2652) Kwiimeko apho umtya wesifundo soguqulelo ngokuxeliweyo () uqulathe oko kubonakala ngathi linani lendawo edadayo kwifomathi yolwazi kwaye kukho unobumba ongalindelekanga emva konobumba we-e, emva koko idilesi engenanto, ukuba inikiwe, iyakwalatha kumlinganiswa i-e hayi i-e ngokwayo. Umzekeloample: ichaziwe(“hooey”, ayinanto); iya kubangela ukwalatha okungenanto kuphawu lwe x.
Iifowuni ezingasebenzi ngokuthe ngqo (XCS-2628) Kwezinye iimeko, iifowuni zokusebenza ezenziwe ngesalathisi somsebenzi esigcinwe njengenxalenye yesakhiwo sinokusilela.
I-strtof ibuyisela u-zero kwi-hexadecimal floats (XCS-2626) Imisebenzi yethala leencwadi strtof () et al kunye ne scanf () et al, iya kusoloko iguqula inani lendawo edadayo enehexadecimal engakhankanyi i-exponent kuyo.
unothi. Umzekeloample: stator(“Isikhova”, & engenanto); izakubuyisela ixabiso 0, hayi 1.
Umyalezo womcebisi wemfumba ongachanekanga (XCS-2542, XCS-2541) Kwezinye iimeko, isilumkiso somcebisi westakhi malunga nokuphindaphinda okanye isitakhi esingamiselwanga esisetyenzisiweyo (mhlawumbi ngokusetyenziswa kwe-alloca()) asikhutshwa.
Ukungaphumeleli ngekhowudi yokuphazamiseka kabini (XCS-2421) Apho ngaphezu kwesinye isiphazamiso umsebenzi unomzimba ofanayo, umqokeleli unokuba nemveliso yokuphazamiseka komsebenzi biza omnye. Oku kuya kubangela ukuba zonke iirejista ezivaliweyo zigcinwe ngokungeyomfuneko, kwaye iziphazamiso ziya kwenziwa ukuba zisebenze nangaphambi kokuba i-epilogue yesibambi sokuphazamiseka kwangoku iqhube, nto leyo enokukhokelela ekungaphumeleli kwekhowudi.
Const izinto ezingekho kwimemori yenkqubo (XCS-2408) Kwiiprojekthi ze-avrxmega3 kunye nee-avertins ezingasetyenziswanga izinto ze-const zibekwe kwimemori yedatha, nangona isilumkiso sicebisa ukuba zibekwe kwimemori yenkqubo. Oku akuyi kuchaphazela izixhobo ezingenayo imemori yeprogram efakwe kwisithuba sememori yedatha, kwaye ayiyi kuchaphazela nayiphi na into eqalwayo.
Imveliso embi enendlela ye-DFP engasebenziyo (XCS-2376) Ukuba umqokeleli ucelwe ngendlela engasebenziyo ye-DFP kunye ne 'spec' file ikhona kwisixhobo esikhethiweyo, umqokeleli akaxeli ngesixhobo sosapho esilahlekileyo ipakethe kwaye endaweni yoko ukhetha i 'spec'. file, enokukhokelela kwimveliso engasebenziyo. I 'spec' files isenokungabi yeyomhla kunye nee-DFPs ezisasaziweyo kwaye zenzelwe ukusetyenziswa kunye novavanyo lwangaphakathi lomqokeleli kuphela.
Ukugqithana kwenkumbulo akubonwanga (XCS-1966) Umqokeleli akaqapheli ukudlulana kwememori yezinto ezenziwe ngokupheleleyo kwidilesi (nge-()) kunye nezinye izinto usebenzisa icandelo () isicacisi kwaye ezidityaniswe kwidilesi enye.
Ukungaphumeleli kwimisebenzi yethala leencwadi kunye _meme (XCS-1763) Ebizwa ngokuba yi-limbic float function enengxabano kwi-_memo isithuba sedilesi inokusilela. Qaphela ukuba iinkqubo zethala leencwadi zibizwa kubasebenzi abathile be-C, ngoko ke, umzekeloample, le khowudi ilandelayo ichaphazelekile: buyisela i-regFloatVar > memxFloatVar;
Ukuphunyezwa okulinganiselweyo kwemilenze (AVRTC-731) Kwimveliso ye-ATTiny4/5/9/10/20/40, umgangatho wokuphunyezwa kwethala leencwadi le-C/Math kwi-limbic ulinganiselwe kakhulu okanye awukho.
Unyino lwememori yenkqubo (AVRTC-732) Imifanekiso yememori yenkqubo ngaphaya kwe-128 kb ixhaswa yi-toolchain; nangona kunjalo, kukho imizekelo eyaziwayo yokulahla i-linker ngaphandle kokuphumla kwaye ngaphandle komyalezo wemposiso oluncedo kunokuba uvelise i-stubs efunekayo xa i -relax ukhetho lusetyenziswa.
Xela imida yendawo (AVRTC-733) Izithuba zeedilesi ezibiziweyo zixhaswa yi-toolchain, ngokuxhomekeke kwimida ekhankanywe kwicandelo lesikhokelo somsebenzisi Iziqinisekiso zoHlobo oluKhethekileyo.
Iindawo zexesha I imisebenzi yethala leencwadi ithatha i-GMT kwaye ayixhasi iizowuni zexesha lendawo, ngoko ixesha lasekuhlaleni () liya kubuya kwangexesha elinye nentlaka (), for ex.ample.

UXHASO LWABATHENGI

file///Izicelo/microehip/xc8/v 2 .40/docs/Funda me_X C 8_ ye-A VR. htm

Amaxwebhu / Izibonelelo

I-MICROCHIP MPLAB XC8 C iSofthiwe yokuhlanganisa [pdf] Incwadi yoMnini
I-MPLAB XC8 C, i-MPLAB XC8 C Compiler Software, i-Compiler Software, i-Software

Iimbekiselo

Shiya uluvo

Idilesi yakho ye-imeyile ayizupapashwa. Iindawo ezifunekayo ziphawulwe *