Ilogo ye-MICROCHIPInguqulo engu-8 Yesihlanganisi ye-MPLAB® XC2.41 C ye-AVR® MCU
Incwadi Yomnikazi

I-MPLAB XC8 C Compiler Development Software

LO MBHALO UQUKETHE ULWAZI OLUBALULEKILE ESIPHATHELENE NE-MPLAB XC8 C COMPILER LAPHO IKHOMBISA AMADIVAYISI E-MICROCHIP AVR.
SICELA UYIFUNDE NGAPHAMBI KOKUSEBENZISA LE SOFTWARE. BONA AMANOTHI OKUKHISHWA WE-MPLAB XC8 C COMPILER NGEDOKHUMENTI YE-PIC UMA USEBENZISA I-COMPILER KUMADIVAYISI E-PIC angu-8-BIT.

Kuphelileview

1.1. Isingeniso
Lokhu kukhululwa kwe-Microchip MPLAB® XC8 C compiler iqukethe izici ezintsha ezimbalwa nokulungiswa kweziphazamisi.
1.2. Yakha Usuku
Idethi esemthethweni yokwakha yale nguqulo yomdidiyeli umhla ziyisi-8 kuNhlolanja wezi-2023.
1.3. Inguqulo Yangaphambilini
Inguqulo yangaphambilini yenhlanganisela ye-MPLAB XC8 C ibingu-2.40 eyakhiwa ngomhla ka-3 Julayi 2022.
1.4. Imanuwali Yokuphepha Esebenzayo
Incwadi Yokuphepha Esebenzayo yabadidiyeli be-MPLAB XC iyatholakala kuphakheji yemibhalo lapho uthenga ilayisense yokuphepha esebenzayo.
1.5. Amalayisense Engxenye Nezinguqulo
I-MPLAB XC8 C Compiler yamathuluzi e-AVR MCUs ibhaliwe futhi yasakazwa ngaphansi kwe-GNU General Public License (GPL) okusho ukuthi ikhodi yayo yomthombo isatshalaliswa ngokukhululekile futhi iyatholakala emphakathini.
Ikhodi yomthombo yamathuluzi angaphansi kwe-GNU GPL ingalandwa ngokuhlukile kuma-Microchip's webindawo. Ungafunda i-GNU GPL efayeleni eliqanjwe elitholakala kuhla lwemibhalo olungaphansi lwelayisense yakho yokufaka.txt avr/doc lwemibhalo. Ingxoxo evamile yemigomo engaphansi kwe-GPL ingatholakala lapha.
Ikhodi yokusekela enikeziwe yamafayela enhlokweni, imibhalo yesixhumanisi, namalabhulali esikhathi sokusebenza kuyikhodi yokuphathelene futhi ayimboziwe ngaphansi kwe-GPL.
Lesi sakhi siwukusetshenziswa kwenguqulo ye-GCC 5.4.0, inguqulo ye-binutils 2.26, futhi isebenzisa inguqulo ye-avr-libc engu-2.0.0.
1.6. Izidingo zesistimu
Umhlanganisi we-MPLAB XC8 C kanye nesofthiwe yokulayisensa ewusebenzisayo kuyatholakala kumasistimu wokusebenza ahlukahlukene, okuhlanganisa nezinguqulo ezingu-64-bit zalokhu okulandelayo: Izinhlelo zochwepheshe ze-Microsoft® Windows® 10; Ubuntu® 18.04; kanye ne-macOS® 10.15.5. Izinombolo kanambambili zeWindows zisayiniwe ngekhodi. Amabhinari we-macOS asayinwe ngekhodi futhi aqashelwa. Iseva Yelayisensi Yenethiwekhi ye-MPLAB XC iyatholakala kumasistimu wokusebenza we-64-bit, okuhlanganisa i-Microsoft Windows 10 nangaphezulu; Ubuntu 18.04 nangaphezulu; noma i-macOS 10.15 nangaphezulu. Iseva ingase futhi isebenze kwezinye izinhlelo zokusebenza ezihlukahlukene ezihlanganisa i-Windows Server, ukusatshalaliswa kwe-Linux, njenge-Oracle® Enterprise Linux® ne-Red Hate Enterprise Linux kanye nezinguqulo ezindala zamasistimu okusebenza asekelwayo. Nokho, i-MPLAB XC Network License Server ayihlolwa kulawa masistimu wokusebenza. Iseva Yelayisensi Yenethiwekhi ye-MPLAB XC ingasebenza Emishini Ebonakalayo ye-OS esekelwayo kusetshenziswa ilayisense yomshini obonakalayo wamalayisensi enethiwekhi (SW006021-VM). Zonke izinguqulo ezingama-32-bit ze-MPLAB XC Network Server zinqanyuliwe kusukela kunguqulo 3.00.
Amadivayisi Asekelwa
Le compiler isekela wonke amadivaysi e-8-bit AVR MCU atholakalayo ngesikhathi sokukhishwa. Bona (kuhla lwemibhalo lomhlanganisi) ukuze uthole uhlu lwazo zonke izisetshenziswa ezisekelwayo. Lawa mafayela nawo anohlu
avr_chipinfo.html doc ukucushwa kwebhithi izilungiselelo kudivayisi ngayinye.

1.7. Izinguqulo kanye Nokuthuthukiswa Kwelayisensi
I-MPLAB XC8 compiler ingenziwa isebenze njengomkhiqizo onelayisensi (PRO) noma ongenalayisense (wamahhala). Udinga ukuthenga ukhiye wokwenza kusebenze ukuze ulayisense isihlanganisi sakho. Ilayisensi ivumela izinga eliphezulu lokuthuthukisa uma liqhathaniswa nomkhiqizo Wamahhala. Umhlanganisi ongenalayisense ungasebenza unomphela ngaphandle kwelayisensi. I-MPLAB XC8 Functional Safety compiler kufanele isebenze ngelayisensi yokuphepha esebenzayo ethengwe kwaMicrochip. Umdidiyeli ngeke asebenze ngaphandle kwale layisensi. Uma isicushiwe, ungakhetha noma iyiphi ileveli yokuthuthukisa futhi usebenzise zonke izici zokuhlanganisa. Lokhu kukhishwa kwe-MPLAB XC Functional Safety Compiler kusekela Ilayisense Yeseva Yenethiwekhi.
Bheka idokhumenti Yokufaka Nokunika Amalayisense I-MPLAB XC C Compilers (DS50002059) ukuze uthole ulwazi ngezinhlobo zamalayisensi kanye nokufakwa komdidiyeli onelayisensi.

1.8. Ukufaka nokuqalisa
Bona futhi Izinkinga Zokuthutha Nemikhawulo nezigaba ukuze uthole ulwazi olubalulekile mayelana nomphathi wakamuva welayisensi ofakwe nalo mdidiyeli.
Uma usebenzisa i-MPLAB IDE, qiniseka ukuthi ufaka inguqulo yakamuva ye-MPLAB X IDE engu-5.0 noma eyakamuva ngaphambi kokufaka leli thuluzi. Yeka i-IDE ngaphambi kokufaka isihlanganisi. Qalisa (i-Windows), (Linux) noma (i-macOS) .exe .run .app isifaki senhlanganisela yohlelo lokusebenza, isb bese ulandela izikhombisi-ndlela ezisesikrinini. XC8-1.00.11403-windows.exe Inkomba yokufaka ezenzakalelayo iyanconywa. Uma usebenzisa i-Linux, kufanele ufake i-compiler usebenzisa i-terminal kanye ne-akhawunti yezimpande. Faka usebenzisa i-akhawunti ye-macOS enamalungelo omlawuli.
Ukwenza kusebenze manje kwenziwa ngokwehlukana ukuze kufakwe. Bheka idokhumenti Yesiphathi Selayisensi ye-MPLAB® XC C Compilers (DS52059) ukuze uthole ulwazi olwengeziwe.
Uma ukhetha ukusebenzisa isihlanganisi ngaphansi kwelayisensi yokuhlola, manje uzothola isexwayiso ngesikhathi sokuhlanganiswa lapho ungaphakathi kwezinsuku eziyi-14 zokuphela kwesikhathi sakho sokuhlola. Isexwayiso esifanayo sikhishwa uma ungaphakathi kwezinsuku eziyi-14 zokuphela kokubhalisile kwe-HPA.
Iseva Yelayisensi Yenethiwekhi ye-XC iyisifaki esihlukile futhi asifakiwe kusifaki esihlanganisayo somsebenzisi oyedwa.
I-XC License Manager manje isekela ukuzulazula kwamalayisensi enethiwekhi antantayo. Iqondiswe kubasebenzisi beselula, lesi sici sivumela ilayisense elintantayo ukuthi liphume kunethiwekhi isikhathi esifushane. Ngokusebenzisa lesi sici, unganqamula kunethiwekhi futhi usebenzise isihlanganisi sakho se-MPLAB XC. Bona ifolda yedokhumenti yokufakwa kwe-XCLM ukuze uthole okwengeziwe ngalesi sici.
I-MPLAB X IDE ihlanganisa iwindi Lamalayisensi (Amathuluzi > Amalayisense) ukuze ulawule ukuzulazula ngokubonakalayo.

1.8.1. Ukuxazulula Izinkinga Zokufaka
Uma uhlangabezana nobunzima bokufaka isihlanganisi ngaphansi kwanoma yiziphi izinhlelo zokusebenza zeWindows, zama iziphakamiso ezilandelayo.
Qalisa ukufaka njengomlawuli.
Setha izimvume zohlelo lokusebenza zibe 'Ukulawula Okugcwele'. (Chofoza ifayela kwesokudla, khetha Properties, Security ithebhu, khetha umsebenzisi, hlela.)
Setha izimvume zefolda yesikhashana zibe 'Ukulawula Okugcwele'.
Ukuze unqume indawo yefolda yesikhashana, thayipha %temp% kumyalo we-Run (ukhiye welogo yeWindows + R).
Lokhu kuzovula ibhokisi lokuhlola ifayela elibonisa lolo hlu lwemibhalo futhi kuzokuvumela ukuthi unqume indlela yaleyo folda.
1.9. Imibhalo Yokuhlanganisa
Imihlahlandlela yomsebenzisi womdidiyeli ingavulwa ekhasini le-HTML elivuleka esipheqululini sakho uma uchofoza inkinobho yosizo eluhlaza okwesibhakabhaka kudeshibhodi ye-MPLAB X IDE, njengoba kukhonjisiwe kusithombe-skrini.

Uma wakhela okuqondiwe kwe-8-bit AVR, Umhlahlandlela Womsebenzisi Wokuhlanganisa we-MPLAB® XC8 C we-AVR® MCU uqukethe ulwazi ngalezo zinketho ze-compiler nezici ezisebenza kule zakhiwo.

I-MICROCHIP MPLAB XC8 C Isofthiwe Yokuthuthukisa Umhlanganisi -

Ukuxhaswa Kwamakhasimende
I-Microchip yamukela imibiko yesiphazamisi, iziphakamiso noma ukuphawula mayelana nale nguqulo yomdidiyeli. Sicela uqondise noma yimiphi imibiko yesiphazamisi noma izicelo zesici ngohlelo Lokusekela.

Ukubuyekezwa Kwemibhalo

Ukuze uthole izinguqulo eziku-inthanethi nezibuyekeziwe zemibhalo ye-MPLAB XC8, sicela uvakashele Umbhalo Wezobuchwepheshe We-Microchip webindawo. Amadokhumenti e-AVR amasha noma abuyekeziwe kulokhu kukhishwa:

  • Umhlahlandlela Womsebenzisi Wokuhlanganisa we-MPLAB® XC8 C we-AVR® MCU (ukubuyekeza G)
  • I-AVR® GNU Toolchain to MPLAB® XC8 Migration Guide (ukubuyekeza A)
  • Umhlahlandlela Womsebenzisi we-Hexmate (ukubuyekezwa B)

I-AVR® GNU Toolchain to MPLAB® XC8 Migration Guide ichaza izinguquko zekhodi yomthombo nezinketho zokwakha ezingase zidingeke uma unquma ukuthutha iphrojekthi esekelwe ku-C usuka ku-AVR 8-bit GNU Toolchain uye Ku-Microchip MPLAB XC8 C Compiler. I-Microchip Unified Standard Reference Guide ichaza indlela yokuziphatha nesixhumi esibonakalayo semisebenzi echazwe yi-Microchip Unified Standard Library, kanye nokusetshenziswa okuhlosiwe kwezinhlobo zamalabhulali nama-macros. Olunye lwalolu lwazi ngaphambilini lwaluqukethwe Kumhlahlandlela Womsebenzisi Wokuhlanganisa we-MPLAB® XC8 C we-AVR® MCU. Ulwazi lwelabhulali eqondene nedivayisi lusaqukethwe kulo mhlahlandlela wokuhlanganisa.
Uma usanda kuqala ngemishini eyi-8-bit kanye ne-MPLAB XC8 C Compiler, Umhlahlandlela Womsebenzisi we-MPLAB® XC8 Wonjiniyela Abashumekiwe – i-AVR® MCUs (DS50003108) inolwazi lokusetha amaphrojekthi ku-MPLAB X IDE nokubhala ikhodi yakho. iphrojekthi yokuqala ye-MPLAB XC8 C. Lo mhlahlandlela manje usatshalaliswa nomdidiyeli.
Umhlahlandlela Womsebenzisi we-Hexmate uhloselwe labo abasebenzisa i-Hexmate njengohlelo lokusebenza oluzimele lodwa.

Yini entsha

Okulandelayo yizici ezintsha eziqondiswe ku-AVR umdidiyeli manje azisekelayo. Inombolo yenguqulo ezihlokweni ezingezansi ibonisa inguqulo yokuqala yokuhlanganisa ukuze isekele izici ezilandelayo.
3.1. Inguqulo 2.41
Usekelo lwe-Boorow (XC8-3053) Umhlanganisi uzobeka okuqukethwe kwanoma yiziphi izigaba ngesiqalo esithi.ikheli le-bootrow 0x860000 kufayela le-HEX. Lezi zigaba zisetshenziselwa inkumbulo ye-BOOTROW, eklanyelwe ukugcinwa kokhiye nolunye ulwazi oluvikelekile okufanele lufinyeleleke kuphela ku-bootloader.

Ukususwa kwe-Redundant return (XC8-3048) Umhlanganisi manje uzosusa imiyalo engafuneki emisebenzini ye-ret ngokugxuma komsila lapho kusetshenziswa izikripthi zokuxhumanisa ngokwezifiso. Lokhu ukulungiselelwa okufanayo nalokho okwenziwe ngaphambilini, kodwa manje kwenziwa kuzo zonke izigaba eziyizintandane, ngisho noma kusetshenziswa iskripthi sokuxhumanisa ngokwezifiso futhi uhlelo olungcono kakhulu lokwaba alusadlali. Ukushintsha kohlobo lwesikhathi (XC8-2982, 2932) Uhlobo lwelabhulali evamile ye-C99, lushintshiwe kusukela ku-time_t kuya ohlotsheni, olunikeza ukuthuthuka kosayizi wekhodi kwezinye izici ezinde ezihlobene nesikhathi, ezifana. i-mktime ende engasayiniwe ()
I-nop entsha (XC8-2946, 2945) I-macro yengezwe kuyo. Le macro ifaka i-no- NOP() umyalo wokusebenza kwe-nop kokuphumayo.
Buyekeza ku-XCLM (XC8-2944) Umphathi welayisensi osetshenziswa nomdidiyeli ubuyekeziwe futhi manje usesabela kakhulu lapho ehlola imininingwane yelayisensi yomdidiyeli.
Trampizingcingo ezi-olined (XC8-2760) Umhlanganisi manje angakwazi ukwenza esikhundleni semiyalelo yekholi yefomu ende ngezingcingo eziyisihlobo ezimfishane lapho amafomu ahlobene wemiyalelo ngokuvamile azobe engekho ebangeni lalapho aya khona. Kulesi simo, umhlanganisi uzozama ukufaka esikhundleni ngeziyalezo ukuze ashayele i-rcall umyalelo ozothi 'trampoline' ekhelini elidingekayo, isiboneloampngi: jmp
rcall tramp_foo ;bekuthiwa foo

rcall tramp_foo

tramp_foo:
jmp fu

Lokhu kulungiselelwa, kanye nokwenza ngcono ukugeleza kohlelo olufanayo, kulawulwa inketho -mrelax.

3.2. Inguqulo 2.40
Ukusekelwa kwedivayisi entsha sekuyatholakala ezingxenyeni ezilandelayo ze-AVR: AT90PWM3, AVR16DD14, AVR16DD20, AVR16DD28, AVR16DD32, AVR32DD14, AVR32DD20, AVR32DD28, AVR32DD32, AVR64EA28, AVR64EA32, AVR64, AVR48, AVRXNUMX, AVRXNUMX, AVRXNUMX, AVRXNUMX
Ukufinyezwa kwenqubo okuthuthukisiwe Ithuluzi lokuthuthukisa i-procedural abstraction (PA) lithuthukisiwe ukuze ikhodi equkethe umyalo wokushaya (/ ) ikwazi ukushiwo. Lokhu kuzokwenza kuphela i-call rcall uma isitaki singasetshenziselwa ukudlulisa izimpikiswano noma ukuthola inani lokubuyisela emsebenzini. Isitaki sisetshenziswa lapho kubizwa umsebenzi ngohlu lwezimpikiswano eziguquguqukayo noma lapho kubizwa umsebenzi othatha izimpikiswano eziningi kunamarejista aklanyelwe le njongo. Lesi sici singakhutshazwa kusetshenziswa inketho, noma ukukhipha kwenqubo kungakhutshazwa ngokuphelele efayeleni lezinto noma umsebenzi ngokusebenzisa i- kanye, ngokulandelanayo, noma ngokusebenzisa isibaluli (isikhombi) ngokukhetha nemisebenzi.
kakhulu-pa-outline-calls -mno-pa-on-file -mno-pa-on-function nopa Code coverage macro Umhlanganisi manje uchaza i-macro uma inketho evumelekile ithi __nopa __CODECOV -mcodecov icacisiwe.
Inketho yokubhuka inkumbulo Umshayeli manje uzokwamukela inketho ethi xc8-cc -mreserve=space@start:end lapho akha izinhloso ze-AVR. Le nketho igodla ububanzi bememori obucacisiwe kudatha noma isikhala sememori yohlelo, ivimbela isixhumi ukuthi sigcwale ikhodi noma izinto ezikule ndawo. I-Smart IO IO Kuthuthukisiwe okuningana emisebenzini ye-Smart IO, okuhlanganisa ukushintshwa okuvamile kwekhodi eyinhloko ye-printf, ukuphatha isicaciso sokuguqulwa esingu-%n njengento ehlukile ehlukile, exhunywe ku-varrg pop routines lapho kudingeka, kusetshenziswa izinhlobo zedatha ezimfushane lapho kungenzeka khona ukuphatha. Ama-agumenti omsebenzi we-IO, kanye nokufaka ikhodi evamile kububanzi benkundla nokuphatha ngokunemba. Lokhu kungase kubangele ikhodi ebalulekile nokongiwa kwedatha, kanye nokwenyusa isivinini sokwenziwa kwe-IO.

3.3. Inguqulo 2.39 (Ukukhishwa Kokuphepha Okusebenzayo)
Ilayisensi Yeseva Yenethiwekhi Lokhu kukhishwa kwe-MPLAB XC8 Functional Safety Compiler kusekela Ilayisense Yeseva Yenethiwekhi.
3.4. Inguqulo 2.36
Lutho.

3.5. Inguqulo 2.35
Ukusekelwa kokusekelwa kwedivayisi entsha kuyatholakala ezingxenyeni ze-AVR ezilandelayo: ATTINY3224, ATTINY3226, ATTINY3227, AVR64DD14, AVR64DD20, AVR64DD28, kanye ne-AVR64DD32.
Ukushintsha kokuqukethwe okuthuthukisiwe Inketho entsha ye-mcall-isr-prologues ishintsha indlela ukuphazamisa imisebenzi elondoloza ngayo amarejista ekungeneni nokuthi lawo marejista abuyiselwa kanjani lapho inqubo yokuphazamisa iphela. Isebenza ngendlela efanayo kunketho ye -mcall-prologues, kodwa ithinta kuphela ukuphazamisa imisebenzi (ISRs).
Ukushintsha kokuqukethwe okuthuthukisiwe nakakhulu Inketho entsha -mgas-isr-prologues ilawula ikhodi yokushintsha umongo ekhiqizwe izinqubo zesevisi zokuphazamiseka okuncane. Uma sinikwe amandla, lesi sici sizoba nomhlanganisi askene i-ISR ukuze asetshenziswe irejista futhi alondoloze lawa marejista asetshenzisiwe kuphela uma kudingeka.
Imephu ye-flash elungisekayo Amanye amadivaysi emndenini we-AVR DA kanye ne-AVR DB ane-SFR (isb. i-FLMAP) ecacisa ukuthi iyiphi ingxenye engu-32k yememori yohlelo ezofakwa kwimemori yedatha. Inketho entsha - ye-mconst-data-in-config-mapped-progmem ingasetshenziswa ukwenza isixhumanisi sibeke yonke idatha efanelekile engxenyeni eyodwa ye-32k futhi kuqalwe ngokuzenzakalelayo irejista ye-SFR efanele ukuqinisekisa ukuthi le datha ifakwe kwimemori yedatha. indawo, lapho izofinyelelwa khona ngokuphumelelayo.
I-Microchip Unified Standard Libraries Bonke abahlanganisi be-MPLAB XC bazokwabelana nge-Microchip Unified Standard Library, manje etholakala ngalokhu kukhishwa kwe-MPLAB XC8. I-MPLA# XC8 C Compiler User's User ye-AVO MCU ayisafaki imibhalo yale misebenzi ejwayelekile. Lolu lwazi manje lungatholakala ku-Microchip Unified Standard Library Reference Guide. Qaphela ukuthi okunye ukusebenza okuchazwe ngaphambilini yi-avr-libc akusatholakali. (Bheka ukusebenza kuka-Lila.)
I-Smart I0 Njengengxenye yemitapo yolwazi emisha ehlanganisiwe, imisebenzi ye-I0 emindenini ye-printf ne-scaf manje yenziwe ngokwezifiso esakhiweni ngasinye, ngokusekelwe endleleni le misebenzi esetshenziswa ngayo ohlelweni. Lokhu kunganciphisa kakhulu izinsiza ezisetshenziswa uhlelo.
Inketho yosizo ye-Smart ICI Lapho uhlaziya izingcingo eziya kumisebenzi ehlakaniphile ye-I0 (efana phrinta f () noma i-scaf ()), umhlanganisi akakwazi njalo ukunquma ngeyunithi yezinhlamvu yefomethi noma athathele kuma-agumenti lezo zicacisi zokuguqulwa ezidingwa ucingo. Ngaphambilini, umhlanganisi ubengacabangi futhi aqinisekise ukuthi imisebenzi eyi-10 esebenza ngokugcwele ixhunywe esithombeni sohlelo lokugcina. Inketho entsha - msmart-io-format=fmt yengeziwe ukuze umhlanganisi aziswe umsebenzisi ngezicacisi zokuguqulwa ezisetshenziswa imisebenzi ehlakaniphile ye-I0 ukusetshenziswa kwayo okungaqondakali, okuvimbela izindlela ezinde kakhulu eziyi-10 ukuthi zixhunywe. (Bona Inketho ye-smart-io-format ukuze uthole imininingwane eyengeziwe.)
Ukubeka izigaba zangokwezifiso Ngaphambili, inketho ethi -W1, -section-start ibeka kuphela ingxenye eshiwo ekhelini eliceliwe lapho umbhalo wokuxhumanisa uchaza ingxenye yokuphumayo enegama elifanayo. Lapho kungenjalo, isigaba sabekwa ekhelini elikhethwe umxhumanisi futhi inketho ayizange indiva. Manje inketho izohlonishwa kuzo zonke izigaba zangokwezifiso, noma ngabe iskripthi sokuxhumanisa singasichazi isigaba. Qaphela, nokho, ukuthi ezigabeni ezijwayelekile, ezifana . umbhalo, . bss noma. idatha, isinikezeli esilingana kahle kakhulu sisazoba nokulawula okuphelele ekubekweni kwaso, futhi inketho ngeke ibe nomthelela. Sebenzisa inketho ethi -ton, -Tsection=addr, njengoba kuchazwe kumhlahlandlela wabasebenzisi.
3.6. Inguqulo 2.32
Isiqondiso Sesitaki Sitholakala ngelayisense ye-PRO yokuhlanganisa, isici sokuqondisa isitaki singasetshenziselwa ukulinganisa ukujula okukhulu kwanoma yisiphi isitaki esisetshenziswa uhlelo. Yakha futhi ihlaziye igrafu yocingo yohlelo, inquma ukusetshenziswa kwesitaki somsebenzi ngamunye, futhi ikhiqize umbiko, lapho ukujula kwezitaki ezisetshenziswa uhlelo kungachazwa. Lesi sici sinikwe amandla ngenketho yomugqa womyalo -mchp-stack-usage. Isifinyezo sokusetshenziswa kwesitaki siphrintwa ngemva kokwenza. Umbiko wesitaki onemininingwane uyatholakala kumephu file, engacelwa ngendlela evamile.
Ukusekelwa kokusekelwa kwedivayisi entsha kuyatholakala ezingxenyeni ezilandelayo ze-AVR: ATTINY427, ATTINY424, ATTINY426, ATTINY827, ATTINY824, ATTINY826, AVR32DB32, AVR64DB48, AVR64DB64, AVR64DB28, AVR32DB28, AVR64DB32, AVR32DB48, AVR16DB, AVR28DB16, AVR32DB16 Usekelo lwedivayisi ehoxisiwe alusatholakali ezingxenyeni ezilandelayo ze-AVR: AVR48DAXNUMX, AVRXNUMXDAXNUMX kanye, AVRXNUMXDAXNUMX.
3.7. Inguqulo 2.31
Lutho.
3.8. Inguqulo 2.30
Inketho entsha yokuvimbela ukuqaliswa kwedatha Inketho yomshayeli -mno-data-init entsha ivimbela ukuqaliswa kwedatha kanye nokusulwa kwezigaba ze-bss. Isebenza ngokucindezela okukhiphayo kwedatha ye-do copy futhi yenza izimpawu ezicacile ze-bss ekuhlanganiseni files, okuzophinde kuvimbele ukufakwa kwaleyo nqubo yi-linker.
Ukulungiselelwa okuthuthukisiwe Inqwaba yentuthuko yokuthuthukisa yenziwe, okuhlanganisa ukususwa kwemiyalelo yokubuyisela engasasebenzi, ukususwa kokunye ukweqa kulandela umyalo we-skip-if-bit-is, kanye nokukhipha inqubo okuthuthukisiwe kanye nekhono lokuphinda le nqubo. Izinketho ezengeziwe manje seziyatholakala ukuze kulawulwe okunye kwalokhu kulungiselelwa, ikakhulukazi -f isigaba-amahange, okuvumela ukufinyelela kwezinto ezimile ukuze kwenziwe ngokuhlobene nophawu olulodwa; -mpa-iterations=n, okuvumela inani lokuphindaphinda kwenqubo ukuthi lishintshwe lisuka kokumisiwe kuka-2; futhi, -mpa-callcost-shortcall, eyenza ukukhishwa kwenqubo okunolaka, ngethemba lokuthi isixhumi singaphumuza izingcingo ezinde. Le nketho yokugcina ingakhuphula usayizi wekhodi uma ukuqagela okuyisisekelo kungenzeki.
Ukusekelwa okusha kokusekelwa kwedivayisi kuyatholakala ngezingxenye ze-AVR ezilandelayo: AVR16DA28, AVR16DA32, AVR16DA48, AVR32DA28, AVR32DA32, AVR32DA48, AVR64DA28, AVR64DA32, AVR64DA48, AVR64DA64, AVR128DA28, AVR128DB, AVR32DB, AVR128DB, AVR48DB,128DB, AVR64DB, AVR5272DB, AVR5790DB I-VR5790DB5791. Ukusekelwa Kokusekelwa Kwedivayisi Ehoxisiwe akusatholakali ezingxenyeni ezilandelayo ze-AVR: ATA5795, ATA6285, ATA6286N, ATA6612, ATA6613, ATA6614, ATA6616, ATA6617C, ATA664251C, ATAXNUMXQ, ATAXNUMXATAXNUMXATAXNUMXATAXNUMXATAXNUMXATA
3.9. Inguqulo 2.29 (Ukukhishwa Kokuphepha Okusebenzayo)
Unhlokweni file okwakhelwe ngaphakathi komhlanganisi Ukuqinisekisa ukuthi umdidiyeli angakwazi ukuhambisana nokucaciswa kolimi njenge-MISRA, i unhlokweni file, efakwe ngokuzenzakalelayo ngu , ibuyekeziwe. Lesi sihloko siqukethe ama-prototypes ayo yonke imisebenzi eyakhelwe ngaphakathi, efana ne-buildin_avr_nop ( ) kanye ne-buildin avr delay_cycles () . Okunye okwakhelwe ngaphakathi kungase kungahambisani ne-MISRA; lezi zingashiywa ngokwengeza i-defineXCSTRICT_MISRA emugqeni womyalo womhlanganisi. Okwakhelwe ngaphakathi kanye nezimemezelo zabo kubuyekeziwe ukuze kusetshenziswe izinhlobo zobubanzi obugxilile.
3.10. Inguqulo 2.20
Usekelo losekelo lwedivayisi entsha luyatholakala ezingxenyeni ezilandelayo ze-AVR: ATTINY1624, ATTINY1626, kanye ne-ATTINY1627.
Isabelo esingcono kakhulu esingcono kakhulu I-fit allocator (BFA) kumdidiyeli ithuthukisiwe ukuze izigaba zabiwe ngokulandelana okuvumela ukwenziwa ngcono. I-BFA manje isekela izikhala zamakheli futhi isingatha kangcono ukuqaliswa kwedatha.
Ukufinyezwa kwenqubo okuthuthukisiwe Ukuthuthukiswa kokukhipha kwenqubo manje kwenziwa ekulandelaneni kwamakhodi okwengeziwe. Izimo zangaphambilini lapho lokhu kulungiselelwa kungase kunyuse usayizi wekhodi kuye kwasingathwa ngokwenza ikhodi yokuthuthukisa yazi ngenqubo yokuqoqa udoti yomxhumanisi.
Ukungabibikho kwe-AVR Assembler I-AVR Assembler ayisafakiwe kulokhu kusatshalaliswa.
3.11. Inguqulo 2.19 (Ukukhishwa Kokuphepha Okusebenzayo)
Lutho.
3.12. Inguqulo 2.10
Ukufakwa Kwekhodi Lokhu kukhishwa kuhlanganisa isici sokufakwa kwekhodi esisiza ukuhlaziya ukuthi ikhodi yomthombo wephrojekthi isetshenziswe kangakanani. Sebenzisa inketho -mcodecov=ram ukuyinika amandla. Ngemva kokwenziwa kohlelo ku-hardware yakho, imininingwane yekhodi izohlanganiswa kudivayisi, futhi lokhu kungadluliswa futhi kuboniswe yi-MPLAB X IDE nge-plugin ehlanganisa ikhodi. Bona imibhalo ye-IDE ukuze uthole ulwazi ngale plugin ingatholakala. I-#pragma nocodecov ingase isetshenziselwe ukukhipha imisebenzi elandelayo ekuhlaziyweni kwekhava. Ngokufanelekile i-pragma kufanele yengezwe ekuqaleni kwe- file ukukhipha konke lokho file kusukela ekuhlaziyweni okuhlanganisayo. Okunye, i-_attribute_ ( (nocodecov) ) ingase isetshenziselwe ukukhipha umsebenzi othile ekuhlaziyweni kwekhava.
Incazelo yedivayisi files Idivayisi entsha file ebizwa ngokuthi avr_chipinfo . html itholakala kuhla lwemibhalo lwamadokhumenti lokusatshalaliswa komqambi. Lokhu file ibala wonke amadivaysi asekelwa umdidiyeli. Chofoza egameni ledivayisi, futhi lizovula ikhasi elibonisa zonke izilungiselelo ezivumelekile zokucupha/ubuhlungu benani baleyo divayisi, ne-ex.ampLes. Ukukhishwa kwenqubo
Ukulungiselelwa kokukhipha kwenqubo, okushintsha amabhulokhi avamile ekhodi yokuhlanganisa amakholi aya ekhophini ekhishiwe yalelo bhulokhi, kwengezwe kumhlanganisi. Lokhu kwenziwa uhlelo lokusebenza oluhlukene, olucelwa ngokuzenzakalelayo umdidiyeli lapho kukhethwa izinga 2, 3 noma ukulungiselelwa kwe-s. Lokhu kulungiselelwa kunciphisa usayizi wekhodi, kodwa kungase kunciphise isivinini sokwenza kanye nokususa iphutha kwekhodi. Ukukhishwa kwenqubo kungakhutshazwa emazingeni aphezulu okuthuthukisa kusetshenziswa inketho -mno-pa, noma kungenziwa kunikwe amandla emazingeni aphansi okwenza kahle (ngokuya ngelayisensi yakho) ngokusebenzisa -mpa. Ingavinjelwa into file usebenzisa -mno-pa-on-file=fileigama, noma kukhutshazwe umsebenzi ngokusebenzisa -mno-pa-on-function=function. Ngaphakathi kwekhodi yakho yomthombo, ukukhipha kwenqubo kungakhutshazwa emsebenzini ngokusebenzisa isibaluli ( ( (nopa) ) esinencazelo yomsebenzi, noma ngokusebenzisa i-nopa, enwebeka ukuze ibe isibaluli ( ( (nopa, noinline) ) futhi ngaleyo ndlela ivimbele umsebenzi ophakathi nendawo ukuthi wenzeke. futhi kuba khona ukuhunyushwa kwekhodi engaphakathi.
Ukusekela kancane kancane ku-pragma Ukulungiselelwa kwe-#pragma manje kungasetshenziswa ukucacisa izingcezu zokukhiya ze-AVR kanye nezinye izingcezu zokumisa. Hlola i-avr_chipinfo. html file (okukhulunywe ngenhla) kokupheya kwesilungiselelo/inani okuzosetshenziswa nale pragma. Usekelo losekelo lwedivayisi entsha luyatholakala ezingxenyeni ezilandelayo: AVR28DAl28, AVR64DAl28, AVR32DA 128, kanye ne-AVR48DA 128.
3.13. Inguqulo 2.05
Ezinye izingcezu zemali yakho Inguqulo ye-macOS yalo mdidiyeli nomphathi welayisensi manje isiwuhlelo lwamabhithi angama-64. Lokhu kuzoqinisekisa ukuthi umdidiyeli uzofaka futhi asebenze ngaphandle kwezixwayiso ezinguqulweni zakamuva ze-macOS.
Izinto ze-Const kumemori yohlelo Umhlanganisi manje usengakwazi ukubeka izinto ezifanelekile ohlelweni lwememori ye-Flash, kunokuba lezi zibekwe ku-RAM. Umhlanganisi ushintshiwe ukuze idatha yomhlaba wonke ye-cons t-qualified igcinwe kumemori ye-flash yohlelo futhi le datha ingafinyelelwa ngokuqondile nangokungaqondile kusetshenziswa imiyalelo efanele yenkumbulo yohlelo. Lesi sici esisha sinikwe amandla ngokuzenzakalela kodwa singakhutshazwa kusetshenziswa inketho -mno-const-data-in-progmem. Ngezakhiwo ze-avrxmega3 kanye ne-avrtiny, lesi sici asidingeki futhi sihlala sikhutshaziwe, njengoba inkumbulo yohlelo ifakwe kumephu endaweni yekheli ledatha yalawa madivayisi.
Izinguqulo ezijwayelekile zamahhala Ezingagunyaziwe (Zamahhala) zalesi sihlanganisi sezivumela ukuthuthukiswa kuze kufike futhi kufaka phakathi ileveli 2. Lokhu kuzovumela okukhiphayo okufanayo, nakuba kungafani, kulokho obekungenzeka ngaphambilini kusetshenziswa ilayisensi Ejwayelekile.
Siyakwamukela i-AVRASM2 Isihlanganisi se-AVRASM2 samadivayisi angu-8-bit manje sesifakiwe kusifaki se-XC8 compiler. Lesi sihlanganisi asisetshenziswa umdidiyeli we-XC8, kodwa siyatholakala kumaphrojekthi asekelwe emthonjeni womhlangano obhalwe ngesandla.
Ukusekelwa kosekelo lwedivayisi entsha kuyatholakala ezingxenyeni ezilandelayo: ATMEGA1608, ATMEGA1609, ATMEGA808, kanye ne-ATMEGA809.

3.14. Inguqulo 2.00
Umshayeli Wezinga eliphezulu Umshayeli omusha, obizwa nge-xc8-cc, manje uhlezi ngaphezu komshayeli we-avr-gcc wangaphambilini kanye nomshayeli we-xc8, futhi angabiza umhlanganisi ofanelekile ngokusekelwe ekukhethweni kwedivayisi eqondiwe. Lo mshayeli wamukela izinketho zesitayela se-GCC, okungenzeka ukuthi zihunyushwe noma zidlulele kusihlanganisi esisetshenziswayo. Lo mshayeli uvumela isethi efanayo yezinketho ezine-semantics efanayo ukuthi isetshenziswe nanoma iyiphi i-AVR noma i-PIC target futhi ngaleyo ndlela iyindlela enconyiwe yokucela isihlanganisi. Uma kudingekile, umshayeli we-avr-gcc omdala angabizwa ngokuqondile kusetshenziswa izinketho zesitayela esidala azamukele ezinguqulweni zabadidiyeli zangaphambili.
I-Common C Interface Lo mdidiyeli manje usengavumelana ne-MPLAB Common C Interface, okuvumela ikhodi yomthombo ukuthi ithuthwe kalula kubo bonke abahlanganisi be-MPLAB XC. Inketho ethi -mext=cci icela lesi sici, ivumela enye i-syntax yezandiso zolimi eziningi.
Umshayeli omusha womtapo wolwazi Umshayeli omusha womtapo wolwazi ubekwe ngaphezu komsebenzi womtapo wolwazi we-PIC wangaphambilini kanye nomsebenzi waselabhulali we-AVR avr-ar. Lo mshayeli wamukela izinketho zesitayela sokufaka kungobo yomlando ye-GCC, okungenzeka ukuthi zihunyushwe noma zidlulele kusisebenzi saselabhulali esisetshenziswa. Umshayeli omusha uvumela isethi yezinketho ezifanayo ezinama-semantics afanayo ukuthi asetshenziselwe ukudala noma ukukhohlisa noma yimuphi umtapo wezincwadi we-PIC noma we-AVR. file futhi ngaleyo ndlela iyindlela enconyiwe yokucela umsebenzi waselabhulali. Uma kudingeka kumaphrojekthi wefa, isisebenzi sangaphambilini singabizwa ngokuqondile kusetshenziswa izinketho zesitayela esidala ezamukele ezinguqulweni zabadidiyeli zangaphambili.

Izinkinga Zokufuduka

Okulandelayo yizici manje esezisingathwa ngendlela ehlukile umdidiyeli. Lezi zinguquko zingase zidinge ukuguqulwa kwekhodi yakho yomthombo uma ikhodi yokuthutha kule nguqulo yesihlanganisi. Inombolo yenguqulo ezihlokweni ezingezansi ibonisa inguqulo yokuqala yokuhlanganisa ukuze isekele izinguquko ezilandelayo.

4.1. Inguqulo 2.41
Imisebenzi ye-fma engalungile isusiwe (XC8-2913) Umtapo wezincwadi ojwayelekile we-C99 fma 0 -imisebenzi yomndeni ( ) ayizange ibale isengezo esiphindaphindayo ngokunemba okungapheli ekuzungelezeni okukodwa, kodwa esikhundleni salokho iqoqe amaphutha okufinyeza ngomsebenzi ngamunye. Le misebenzi isusiwe kulabhulali enikeziwe.
4.2. Inguqulo 2.40
Lutho.
4.3. Inguqulo 2.39 (Ukukhishwa Kokuphepha Okusebenzayo)
Lutho.
4.4. Inguqulo 2.36 Ayikho.
4.5. Inguqulo 2.35
Ukuphathwa kweyunithi yezinhlamvu kuya ezisekelweni (XC8-2420) Ukuqinisekisa ukuvumelana nabanye abahlanganisi be-XC, imisebenzi ye-XC8 yochungechunge, njenge-strtol () njll., ngeke isazama ukuguqula iyunithi yezinhlamvu yokufaka uma isisekelo esishiwo sikhulu kuno-36 futhi esikhundleni salokho izomisa i-errno ibe yi-EINVAL. Izinga elingu-C alikucacisi ukuziphatha kwemisebenzi uma leli nani eliyisisekelo leqiwa.
Ukulungiselelwa kwesivinini okungafanelekile Ukulungiselelwa kokukhipha kwenqubo bekunikwa amandla uma kukhethwa ukulungiselelwa kweleveli 3 (-03). Lokhu kulungiselelwa kunciphisa usayizi wekhodi ngenani lejubane lekhodi, ngakho bekungafanele kwenziwe. Amaphrojekthi asebenzisa leli zinga lokuthuthukisa angabona umehluko kusayizi wekhodi nesivinini sokwenza uma akhiwe ngalokhu kukhishwa.
Ukusebenza kwelabhulali Ikhodi yemisebenzi eminingi evamile yomtapo wezincwadi we-C manje iphuma Emtatsheni Ojwayelekile Ohlanganisiwe we-Microchip, ongabonisa ukuziphatha okuhlukile kwezinye izimo uma kuqhathaniswa naleyo eyanikezwa umtapo wezincwadi we-avr-libc wangaphambili. Okwesiboneloampfuthi, akusadingeki ukuxhuma kulabhulali ye-1printf flt (-1printf_flt inketho) ukuze uvule ukufomethwa I0 ukusekelwa kwezicacisi zefomethi ye-float. Abahlakaniphile I0 izici ze-Microchip Unified Standard Library zenza le nketho ingasebenzi. Ukwengeza, ukusetshenziswa kwe-_P yezinqubo ezinamathiselwe zeyunithi yezinhlamvu nemisebenzi yenkumbulo (isb. strcpy_P ( ) njll..) esebenza kuyunithi yezinhlamvu ze-const ku-flash ayisadingeki. Izindlela ezijwayelekile ze-C (isb strcpy ) zizosebenza kahle nedatha enjalo uma isici se-const-data-in-program-memory sinikwe amandla.

4.6. Inguqulo 2.32
Lutho.
4.7. Inguqulo 2.31
Lutho.
4.8. Inguqulo 2.30
Lutho.
4.1. Inguqulo 2.29 (Ukukhishwa Kokuphepha Okusebenzayo)
Lutho.
4.2. Inguqulo 2.20
Kushintshwe isakhiwo se-DFP Umhlanganisi manje uthatha isakhiwo esihlukile esisetshenziswa ama-DFP (Amaphekhi Omndeni Wedivayisi). Lokhu kuzosho ukuthi i-DFP endala ingase ingasebenzi ngalokhu kukhululwa, futhi abahlanganisi abadala ngeke bakwazi ukusebenzisa ama-DFP akamuva.
4.3. Inguqulo 2.19 (Ukukhishwa Kokuphepha Okusebenzayo)
Lutho.
4.4. Inguqulo 2.10
Lutho
4.5. Inguqulo 2.05
Const izinto kumemori yohlelo Qaphela ukuthi ngokuzenzakalelayo, izinto ezifanelekile zizobekwa futhi zifinyelelwe kumemori yohlelo (njengoba kuchazwe umbala). Lokhu kuzothinta usayizi nesivinini sokwenza sephrojekthi yakho, kodwa kufanele kunciphise ukusetshenziswa kwe-RAM. Lesi sici singakhutshazwa, uma kudingekile, kusetshenziswa inketho -mnoconst-data-in-progmem.
4.6. Inguqulo 2.00
Amafuse okumisa Amafuse okumisa idivayisi manje angahlelwa kusetshenziswa i-config pragma elandelwa ukusetha-velu ngamapheya ukuze kucaciswe isimo se-fuse, isb.
#pragma config WDTON = SET
#pragma config BODLEVEL = BODLEVEL_4V3
Izinto eziphelele nemisebenzi Izinto nemisebenzi manje ingabekwa ekhelini elithile enkumbulweni kusetshenziswa isicaciso se-CCI (ikheli), ngokwesibonelo.ample:
#faka
int foobar_at(0x800100);
char __at(0x250) getID(int offset) { … }
Ukuphikisana kwalesi sicacisi kufanele kube okungashintshi okumelela ikheli lapho ibhayithi yokuqala noma umyalelo uzobekwa khona. Amakheli e-RAM aboniswa ngokusebenzisa i-offset engu-0x800000. Nika amandla i-CCI ukusebenzisa lesi sici.
I-syntax yomsebenzi wokuphazamisa entsha Umhlanganisi manje wamukela isicaciso se-CCI _interrupt (num) ukuze sibonise ukuthi imisebenzi engu-C izibambi eziphazamisayo. Isicacisi sithatha inombolo yokuphazamiseka, isiboneloample:
#faka
i-void __interrupt(SPI_STC_vect_num) spi_Isr(engenalutho) { … }

Izinkinga Ezilungisiwe

Okulandelayo yizilungiso ezenziwe kumdidiyeli. Lezi zingase zilungise iziphazamisi kukhodi ekhiqiziwe noma ziguqule ukusebenza komhlanganisi kulokho obekuhlosiwe noma okucaciswe umhlahlandlela womsebenzisi. Inombolo yenguqulo ezihlokweni ezingezansi ikhombisa inguqulo yokuqala yesihlanganisi ezoqukatha izilungiso zezinkinga ezilandelayo. Amalebula akubakaki esihlokweni awukuhlonza leyo nkinga kusizindalwazi sokulandelela. Lokhu kungase kube usizo uma udinga ukuxhumana nosekelo.
Qaphela ukuthi ezinye izinkinga eziqondene nedivayisi ziyalungiswa ku-Device Family Pack (DFP) ehlotshaniswa nedivayisi. Bheka Umphathi Wephekhi we-MPLAB ukuze uthole ulwazi ngezinguquko ezenziwe kuma-DFP kanye nokulanda amaphekhi akamuva.

5.1. Inguqulo 2.41
Izinkinga ze-Dongle ku-Ventura (XC8-3088) Dongles esetshenziswa ukulayisensa komdidiyeli kungenzeka ukuthi ayizange ifundwe kahle kubasingathi be-macOS Ventura, okuholela ekuhlulekeni kwamalayisensi. Izinguquko kumphathi welayisensi ye-XCLM zilungisa lolu daba.
Inkomba engalungile yokwabiwa kwenkumbulo (XC8-2925) Ukuzama ukwaba amabhayithi angu-SIZE_MAX (noma inani eliseduze naleli) lememori kusetshenziswa imisebenzi evamile yokuphatha inkumbulo yelabhulali (i-malloc () et al) kuphumelele ngokungalungile. Akuzange kucabangele ukuthi ama-byte engeziwe ayedingeka ngaphezu kwebhulokhi eceliwe lapho kusetshenziswa ukuqaliswa okulula kokwabiwa kwememori okuguquguqukayo. Isikhombi esingu-NULL manje sizobuyiswa futhi i-errno isethwe ukuze ithi ENOMEM ezimeni ezinjalo.
Imisebenzi ye-fma engalungile isusiwe (XC8-2913) Umtapo wezincwadi ojwayelekile we-C99 fma ( ) -imisebenzi yomndeni ( ) ayizange ibale isengezo esiphindaphindayo ngokunemba okungapheli ekuzungelezeni okukodwa, kodwa esikhundleni salokho iqoqe amaphutha okufinyeza ngomsebenzi ngamunye. Le misebenzi isusiwe kulabhulali enikeziwe.
Ukuphathwa kabi kokuguqulwa kweyunithi yezinhlamvu (XC8-2921, XC8-2652) Lapho 'uchungechunge lwesihloko' lokuguqulwa ngu-strtod Cr luqukethe okubonakala kuyinombolo yephoyinti elintantayo ngefomethi yomchazi futhi kukhona uhlamvu olungalindelekile ngemva kohlamvu lwe-e/E, lapho i-endptr inikezwe khona, yabelwa ikheli ngabe ibikhomba uhlamvu olulandela u-e/E, kanti bekufanele ikhombise uhlamvu lwe-e/E uqobo, njengoba lokho bekungakaguqulwa. Okwesiboneloampi-le, strtod (“100exx”, &ep) kufanele ibuyisele u-100.00 futhi isethe i-ep ukuze ikhombe ingxenye ethi “exx” yeyunithi yezinhlamvu, kuyilapho umsebenzi ububuyisela inani elilungile kodwa ukusetha u-ep ukukhomba ingxenye ethi “xx” yeyunithi yezinhlamvu. .

5.2. Inguqulo 2.40
Ikhululeke kakhulu (XCS-2876) Lapho usebenzisa inketho ye--mrelax, umhlanganisi wayengabeleki izingxenye ezithile ndawonye, ​​okuholela kumasayizi amakhodi angalungile. Lokhu kungenzeka ukuthi kwenzeke ngekhodi esebenzise amalabhulali amasha e-MUSL noma enezimpawu ezibuthakathaka.
Isici semephu asikhutshaziwe njengoba kushiwo kusixwayiso (XC8-2875) Isici se-const-data-in-config-mappedprogmem sincike esicini se-const-data-in-progmem esinikwa amandla. Uma isici se-const-data-inconfig-mapped-progmem sinikwe amandla ngokusobala kusetshenziswa inketho futhi isici se-const-data-inprogmem sikhutshaziwe, isinyathelo sokuxhuma sihlulekile, naphezu komlayezo oyisixwayiso othi const-data-in-con fig- isici se-mapped-progmem sikhutshazwe ngokuzenzakalela, ebesingalungile ngokuphelele. Isici se-const-data-in-config-mapped-progmem manje sikhutshazwe ngokugcwele kulesi simo.
I-DFP iyashintsha ukuze ifinyelele ngendlela efanele i-NVMCTRL (XC8-2848) Ikhodi yokuqalisa yesikhathi sokusebenza esetshenziswa amadivayisi e-AVR64EA ayizange icabangele ukuthi irejista ye-NVMCTRL yayingaphansi Kokuvikelwa Kokushintsha Kokucushwa (CCP) futhi ayikwazanga ukusetha i-I0 SFR ekhasini elisetshenziswa i-const-data-in-configmapped-progmem. isici se-compiler. Izinguquko ezenziwe kunguqulo ye-AVR-Ex_DFP engu-2.2.55 zizovumela ikhodi yokuqala yesikhathi sokusebenza ukuthi ibhale kahle kule rejista.
Izinguquko ze-DFP okufanele zigwenywe imephu ekhanyayo (XC8-2847) Umsebenzi ozungeze inkinga ngesici sedivayisi yokwenza imephu ekhanyayo okubikwe ku-AVR128DA28/32/48/64 Silicon Errata (D580000882) sekwenziwe. Isici se-const-data-in-config-mapped-progmem compiler ngeke sisetshenziswe ngokuzenzakalela kumadivayisi athintekile, futhi lolu shintsho luzovela kunguqulo ye-AVR-Dx_DFP 2.2.160.
Yakha iphutha nge-sinhf noma i-coshf (XC8-2834) Imizamo yokusebenzisa i-sinhf () noma i-coshf () imisebenzi yelabhulali ibangele iphutha lesixhumanisi, elichaza ireferensi engachaziwe. Umsebenzi ongekho okubhekiselwe kuwo manje usufakiwe ekusabalaliseni komhlanganisi.
Yakha amaphutha nge-nopa (XC,8-2833) Ukusebenzisa isibaluli se-nopa ngomsebenzi okuye kwacaciswa igama lesihlanganisi kusetshenziswa i-asm ( ) kucuphe imilayezo yephutha evela kumhlanganisi. Le nhlanganisela ayinakwenzeka.
Ukwehluleka kokusebenza okuhlukile okunama-agumenti esikhombi (XC8-2755, XC8-2731) Imisebenzi enenombolo eguquguqukayo yama-agumenti ilindele ukuthi izikhombi ezingama-24-bit ( uhlobo lwe-memx) ziphasiswe ohlwini lwe-agumenti eguquguqukayo lapho isici se-const-data-in-progmem sinikwe amandla. Izimpikiswano ezaziyizinkomba zenkumbulo yedatha zazidluliswa njengezinto ze-16-bit, okubangela ukwehluleka kwekhodi lapho zifundwa ekugcineni. Uma isici se-constdata-in-progmem sinikwe amandla, wonke ama-agumenti ezinkomba ze-16-bit manje aguqulwa abe izikhombi ezingama-24-bit.
Imisebenzi yelabhulali ye-strtoxxx iyehluleka (XC8-2620) Lapho isici se-const-data-in-progmem sinikwe amandla, ipharamitha ye-endptr emisebenzini yelabhulali ye-strtoxxx ayizange ibuyekezwe kahle kuma-agumenti eyunithi yezinhlamvu yomthombo engekho kumemori yohlelo.
Izaziso zabalingisi abangavumelekile (XC8-2612) Umhlanganisi manje uzokhipha iphutha uma isici se-const-in-progmem sinikwe amandla futhi ikheli leyunithi yezinhlamvu ezingokoqobo lisakazwa ngokusobala endaweni yekheli ledatha (kwehlisa i-const qualifier), ngokwesibonelo.ample, (uint 8_t *) “Sawubona Mhlaba!”. Isexwayiso siyinkinga uma ikheli lingase lingavumelekile uma i-const data pointer isakazwa ngokucacile esikhaleni sekheli ledatha.
Ukubekwa kwezinto ze-const ezingasetshenzisiwe (XC8-2408) Izinto ezingaqalisiwe ze-const kanye ne-const volatile bezingafakwa kumemori yohlelo kumadivayisi afaka imephu yonke noma ingxenye yememori yawo yohlelo endaweni yekheli ledatha. Kulezi zisetshenziswa, izinto ezinjalo manje sezibekwe kumemori yohlelo, okwenza ukusebenza kwazo kuhambisane namanye amadivaysi.

5.3. Inguqulo 2.39 (Ukukhishwa Kokuphepha Okusebenzayo)
Lutho.
5.4. Inguqulo 2.36
Iphutha uma kulibaziseka (XC8-2774) Izinguquko ezincane ekuthuthukisweni kwemodi yamahhala ezizenzakalelayo zivimbele ukugoqeka okungaguquki kwezinkulumo ze-operand ekubambezelekeni kwemisebenzi eyakhelwe ngaphakathi, okuholele ekutheni ithathwe njengengashintshi futhi icuphe iphutha: i-buildin avr delay_cycles ilindele inani eliphelele lenani lesikhathi.
5.5. Inguqulo 2.35
Ukunikezwa okuhambisanayo kusetshenziswa i-_at (XC8-2653) Ukwabiwa okuhambisanayo kwezinto eziningi ezindaweni esigabeni esinegama elifanayo nokusebenzisa okuthi _at ( ) akusebenzanga kahle. Okwesiboneloample:
const char arr1[] __attribute__((isigaba(“.mysec”))) __at (0x500) = {0xAB, 0xCD};
const char arr2[] __attribute__((isigaba(“.mysec”))) = {0xEF, 0xFE};
bekufanele ngabe ubeke i-arr2 ngokushesha ngemuva kwe-arr1.
Icacisa amakheli okuqala kwesigaba (XC8-2650) The -W1, -inketho yesigaba-yokuqala ibihlulekile buthule ukubeka izigaba ekhelini lokuqala elikhethiwe. Lolu daba lulungisiwe kunoma yiziphi izigaba eziqanjwe ngokwezifiso; nokho, ngeke isebenze kunoma yiziphi izigaba ezijwayelekile, njenge. umbhalo noma . bss, okumele ibekwe kusetshenziswa inketho -W1, -T.
I-Linker iyaphahlazeka lapho iphumule (XC8-2647) Lapho ukulungiselelwa kwe--mrelax kunikwe amandla futhi kukhona ikhodi noma izingxenye zedatha ezingangeni kumemori etholakalayo, isixhumi siphahlazekile. Manje, esimweni esinjalo, imilayezo yephutha ikhishwa esikhundleni.

Akukho ukungaweli emuva (XC8-2646) The -inketho ye-nofallback ayizange isetshenziswe ngendlela efanele, noma ibhalwe phansi. Lokhu manje kungakhethwa ukuze kuqinisekiswe ukuthi isihlanganisi ngeke sibuyele esimisweni sokuthuthukisa esiphansi uma isihlanganisi singenayo ilayisensi, futhi esikhundleni salokho sizokhipha iphutha.

Ukulungiselelwa kwesivinini okungafanelekile (X03-2637) Ukulungiselelwa kokukhipha kwenqubo bekunikwa amandla uma kukhethwa ukulungiselelwa kweleveli 3 (-03). Lokhu kulungiselelwa kunciphisa usayizi wekhodi ngenani lejubane lekhodi, ngakho bekungafanele kwenziwe.
I-EEPROM embi ukufinyelela (XC8-2629) The Umjikelezo we-eeprom_read_block awuzange usebenze kahle kumadivayisi e-Xmega lapho inketho -mconst-data-in-progmem inikwe amandla (okuyisimo esimisiwe), okubangele ukuthi inkumbulo ye-EEPROM ingafundiwe kahle.
Ukwabiwa kwenkumbulo okungavumelekile (XC8-2593, XC8-2651) Uma Inketho ye-Ttext noma -Tdata linker (isibample idlule ngokusebenzisa i--vl driver option) icacisiwe, umbhalo ohambisanayo/isifunda sedatha umsuka wabuyekezwa; nokho, ikheli lokugcina alilungiswanga ngokufanele, obekungaholela esifundeni seqe ibanga lememori yedivayisi eqondiwe.
Ukuphahlazeka okunomsebenzi obalulwe kakhulu (XC8-2580) Isihlanganisi siphahlazekile uma umsebenzi umenyezelwe kusetshenziswa okungaphezu kokukodwa kokuphazamiseka, isignali noma izibaluli ze-nmi, isb, isibaluli ( ( isignali , ukuphazamisa ) ).
Ikhodi yokuphazamisa ye-ATtiny engavumelekile (XC8-2465) Ngenkathi yakhela amadivayisi e-ATtiny kanye nokulungiselelwa kukhutshaziwe (-00), ukuphazamisa imisebenzi kungenzeka ukuthi kucuphe i-operand ngaphandle kobubanzi bemilayezo.
Izinketho azidluliswanga (XC8-2452) Uma usebenzisa inketho enezinketho eziningi zokuxhumanisa ezihlukaniswe ngokhefana, akuzona zonke izinketho zokuxhumanisa ezidluliselwe kusixhumi.
Iphutha lokufunda ngokungaqondile inkumbulo yohlelo (X03-2450) Kwezinye izimo, umhlanganisi ukhiqize iphutha langaphakathi (insn engabonakali) lapho ufunda inani lamabhayithi amabili ukusuka kunkomba kuya kumemori yohlelo.
5.6. Inguqulo 2.32
Ukufinyelela kwesibili kwe umtapo wezincwadi uyahluleka (XC8-2381) Icela inguqulo ye-Windows ye-xc8-ar. .exe isilondolozi selabhulali okwesibili ukufinyelela ingobo yomlando ekhona yelabhulali kungenzeka yehlulekile ngenxa yokungakwazi ukuqamba kabusha umlayezo wephutha.
5.7. Inguqulo 2.31
Umdidiyeli ongachazwanga ukwehluleka (XC8-2367) Lapho isebenza kuzingxenyekazi ze-Windows ezazinohla lwemibhalo lwesikhashana lwesistimu olubekwe endleleni ehlanganisa ichashazi '.' uhlamvu, umhlanganisi kungenzeka wehlulekile ukuwenza.
5.8. Inguqulo 2.30
Amalebula omhlaba abekwe kabi ngemva kokuchaza (XC8-2299) Ikhodi yokuhlanganisa ebhalwe ngesandla ebeka amalebula omhlaba wonke phakathi kokulandelana komhlangano akhishwa ngokukhipha inqubo kungenzeka ukuthi awamiswanga kabusha ngendlela efanele.
Ukuphahlazeka okuphumuzayo (XC8-2287) Ukusebenzisa inketho -mrelax kungenzeka kubangele isixhumi ukuthi siphahlazeke lapho ukulungiselelwa kokukhululeka kwe-tail jump uzama ukususa imiyalelo ye-ret ebingekho ekupheleni kwesigaba.
Ukuphahlazeka lapho kulungiselelwa amalebula njengamanani (XC8-2282) Ikhodi esebenzisa "Amalebula njengamavelu" isandiso solimi se-GNU C kungenzeka sibangele ukulungiselelwa kokukhipha kwenqubo ukuthi kuphahlazeke, ngephutha lokulungisa ububanzi obubekiwe be-VMA.
Not so const (XC8-2271) Ama-prototypes we-st rstr ( ) neminye imisebenzi evela awusacacisi ofanelekela uku-const okungajwayelekile ezikhombi zeyunithi yezinhlamvu ezibuyisiwe uma isici se--mconst-data-inprogmem sikhutshaziwe. Qaphela ukuthi ngamadivayisi e-avrxmega3 nawe-avrtiny, lesi sici sinikwe amandla unaphakade.
Iziqalisi ezilahlekile (XC8-2269) Lapho zingaphezu okuhlukile okukodwa kuyunithi yokuhumusha kwabekwa esigabeni (kusetshenziswa _section noma _attribute_ ( (isigaba) )), futhi okuguquguqukayo kokuqala okunjalo kwaqaliswa uziro noma akuzange kube nesiqalisi, iziqalisi zezinye eziguquguqukayo kuyunithi efanayo yokuhumusha ezabekwa. esigabeni esifanayo zalahleka.
5.1. Inguqulo 2.29 (Ukukhishwa Kokuphepha Okusebenzayo)
Lutho.
5.2. Inguqulo 2.20
Iphutha ngemiyalo emide (XC8-1983) Uma usebenzisa okuqondiwe kwe-AVR, umdidiyeli kungenzeka ukuthi umise nge file iphutha elingatholakali, uma umugqa womyalo wawumkhulu kakhulu futhi uqukethe izinhlamvu ezikhethekile ezifana nezingcaphuno, ama-backslash, njll.
Isigaba se-rodata esingabelwe (XC8-1920) Isixhumi se-AVR sihlulekile ukunikeza inkumbulo yezigaba ze-rodata yangokwezifiso ngenkathi yakhela i-avrxmega3 ne-avrtiny architectures, okungenzeka ikhiqize amaphutha okugqagqana kwenkumbulo.
5.3. Inguqulo 2.19 (Ukukhishwa Kokuphepha Okusebenzayo)
Lutho.
5.4. Inguqulo 2.10
Ukwehluleka kokuthuthela kwenye indawo (XC8-1891) Isihlanganisi esilingana kahle kakhulu besishiya 'izimbobo' zenkumbulo phakathi kwezigaba ngemva kokukhululeka kwesixhumanisi. Ngaphandle kokuhlukana kwenkumbulo, lokhu kwandisa amathuba okuba kube khona ukwehluleka kokuthuthwa kwesixhumanisi okuhlobene nokweqa okuhlobene ne-PC noma izingcingo eziphuma ebangeni.
Imiyalelo engaguqulwanga ngokunethezeka (XC8-1889) Ukuphumula kwesixhumanisi akwenzekanga ekugxumeni noma ekushayeleni imiyalelo okuhloswe kwayo okufinyelelekayo uma kuxegisiwe.
Akukho ukusebenza (XC8E-388) Izincazelo ezimbalwa ezisuka , njenge-clock_div_t ne-clock_prescale set () , ayizange ichazwe kumadivayisi, okuhlanganisa i-ATmega324PB, ATmega328PB, ATtiny441, ne-ATtiny841.
Amamakhro angekho Ama-preprocessor macros _XC8_MODE_, _XC8_VERS ION, _XC, kanye ne-_XC8 awazange achazwe ngokuzenzakalelayo umdidiyeli. Lezi seziyatholakala.
5.5. Inguqulo 2.05
Iphutha lokuhlanganisa langaphakathi (XC8-1822) Uma wakha ngaphansi kwe-Windows, kungenzeka iphutha langaphakathi le-compiler likhiqizwe lapho kulungiselelwa ikhodi.
Ukuchichima kwe-RAM akutholwanga (XC8-1800, XC8-1796) Izinhlelo ezeqa i-RAM etholakalayo azizange zitholwe umdidiyeli kwezinye izimo, okubangele ukwehluleka kwekhodi yesikhathi sokusebenza.
Imemori ye-flash eyeqiwe (XC8-1792) Kumadivayisi e-avrxmega3 kanye ne-avrtiny, izingxenye zememori ye-flash kungenzeka zishiywe zingahlelwanga yi-MPLAB X. I-IDE.
Ukwehluleka ukwenza okuyinhloko (XC8-1788) Kwezinye izimo lapho uhlelo lungenakho okuguquguqukayo komhlaba okuchaziwe, ikhodi yokuqalisa yesikhathi sokusebenza ayizange iphume futhi umsebenzi oyinhloko ( ) awuzange ufinyelelwe.
Ulwazi lwenkumbulo olungalungile (XC8-1787) Kumadivayisi e-avrxmega3 nawe-avrtiny, uhlelo losayizi we-avr belubika ukuthi idatha yokufunda kuphela ibidla i-RAM esikhundleni sememori yohlelo.
Inkumbulo yohlelo engalungile ifundiwe (XC8-1783) Amaphrojekthi ahlanganiselwe amadivayisi anememori yohlelo efakwe kumephu endaweni yekheli ledatha futhi echaza izinto ezisebenzisa i-PROGMEM macro/isibaluli kungenzeka zifunde lezi zinto ekhelini elingalungile.
Iphutha langaphakathi elinezimfanelo (XC8-1773) Kwenzeke iphutha langaphakathi uma uchaza izinto zesikhombi nge-
_at () noma isibaluli() amathokheni phakathi kwegama lesikhomba kanye nohlobo oluhoxisiwe, ngokwesiboneloample, char *
_ku-(0x800150) cp; Isexwayiso sesikhishiwe uma ikhodi enjalo itholwa.
Ukwehluleka ukwenza okuyinhloko (XC8-1780, XC8-1767, XC8-1754) Ukusebenzisa okuguquguqukayo kwe-EEPROM noma ukuchaza amafuse kusetshenziswa i-config pragma kungase kubangele ukuqaliswa okungalungile kwedatha kanye/noma kuvalwe ukusebenza kohlelo kukhodi yokuqalisa yesikhathi sokusebenza, ngaphambi kokufinyelela okuyinhloko ( ) .
Iphutha le-Fuse ngamadivayisi amancane (XC8-1778, XC8-1742) Amadivayisi we-attiny4/5/9/ 10/20/40 abenobude befuse obungalungile obucaciswe kunhlokweni wawo. files eziholela emaphutheni esixhumanisi uma uzama ukwakha ikhodi echaza amafuse.
Ukuhlukaniswa iphutha (XC8-1777) Iphutha lokuhlukanisa ngezikhathi ezithile lilungisiwe.
Ukuphahlazeka kwe-Assembler (XC8-1761) Umhlanganisi we-avr-as kungenzeka ukuthi uphahlazekile ngenkathi i-compiler iqhutshwa ngaphansi kwe-Ubuntu 18.
Izinto azisuliwe (XC8-1752) Izinto zobude besikhathi sesitoreji esimile ezingakaqaliswa kungenzeka azisulwanga yikhodi yokuqala yesikhathi sokusebenza.
Ukucaciswa kwedivayisi okushayisanayo kuzitshiwe (XC8-1749) Umhlanganisi ubengadali iphutha lapho kusetshenziswa izinketho eziningi zokucaciswa kwedivayisi futhi kukhombisa amadivayisi ahlukile.
Ukonakala kwenkumbulo ngenqwaba (XC8-1748) The Uphawu _heap_start belusethwa ngendlela engalungile, okuholela ekutheni kube nokwenzeka kokuthi okuguquguqukayo okujwayelekile konakaliswe yinqwaba.
Iphutha lokuthutha isixhumanisi (XC8-1739) Iphutha lokuthutha isixhumanisi kungenzeka ukuthi likhishiwe lapho ikhodi iqukethe i-rjmp noma i-rcall enomgomo oqondile wamabhayithi angu-4k.
5.6. Inguqulo 2.00
Lutho.

Izinkinga ezaziwayo

Okulandelayo yimikhawulo ekusebenzeni komhlanganisi. Lokhu kungase kube imikhawulo evamile yokubhala ikhodi, noma ukuchezuka kulwazi oluqukethwe kumanuwali yomsebenzisi. Amalebula akubakaki esihlokweni awukuhlonza leyo nkinga kusizindalwazi sokulandelela. Lokhu kungase kube yinzuzo uma udinga ukuxhumana nosekelo. Lezo zinto ezingenawo amalebula ziyimikhawulo echaza i-modi operandi futhi okungenzeka zihlale zisebenza unomphela.
6.1. I-MPLAB X IDE Ukuhlanganisa
I-MPLAB IDE ukuhlanganisa Uma I-Compiler izosetshenziswa ku-MPLAB IDE, kufanele ufake i-MPLAB IDE ngaphambi kokufaka I-Compiler.
6.2. Ukwenziwa Kwekhodi
I-Segfault enenketho yamahange esigaba (XC8-3045) Uhlelo oluchaze imisebenzi enohlu lwezimpikiswano eziguquguqukayo futhi olusebenzisa inketho ethi -fsection-anchors kungenzeka ukuthi iqalise iphutha lokuhlanganisa langaphakathi: Iphutha lesegmentation.
Ulwazi lokususa iphutha aluvumelanisiwe (XC8-2948) Lapho ukulungiselelwa kokuphumula kwesixhumanisi kuncipha imiyalelo (isibample call to rcall imiyalelo), ulayini womthombo wokubhekana nemephu ungase ungahlali ekuvunyelanisweni lapho kunokusebenza kokuhlehlisa okungaphezu kokukodwa okwenzeka esigabeni.
Kule exampfuthi, kunezingcingo ezimbili eziya ku-foo ezigcina sezikhululekile kumakholi ahlobene.
Ukuhluleka kokwabiwa kwenkumbulo ye-PA (XC8-2881) Uma usebenzisa izilungiseleli zokukhipha izinqubo, isixhumi singase sibike amaphutha okunikezwa kwememori lapho usayizi wekhodi useduze nenani lememori yohlelo etholakalayo kudivayisi, noma uhlelo kufanele lukwazi ukulingana isikhala esitholakalayo.
Ayihlakaniphile kangako i-Smart-I0 (XC8-2872) Isici somqambi we-smart-io sizokhiqiza ikhodi evumelekile kodwa ephansi kakhulu yomsebenzi we-snprint f uma isici se-const-data-in-progmem sikhutshaziwe noma uma idivayisi inakho konke ukukhanya kwayo okufakwe kumemori yedatha.
I-Smart-I0 encane (XC8-2869) Isici somdidiyeli we-smart-io sizokhiqiza ikhodi evumelekile kodwa engaphansi uma izinketho -flto kanye -fno-builtin zisetshenziswa zombili.
Ukubekwa kwedatha efundwayo kuphela (XC8-2849) Isixhumi okwamanje akazazi izingxenye zememori ze-APPCODE kanye ne-APPDATA, kanye nezigaba ze-[No-Read-While-Write kumephu yememori. Ngenxa yalokho, kunethuba elincane lokuthi isixhumi singanikeza idatha yokufunda kuphela endaweni engafanele yenkumbulo. Amathuba edatha ebekwe kabi ayanda uma isici se-const-data-in-progmem sinikwe amandla, ikakhulukazi uma isici se-const-data-in-config-mapped-progmem siphinde sinikwe amandla. Lezi zici zingakhutshazwa uma kudingeka.
Into file i-oda lokucubungula (XC8-2863) Ukuhleleka kwezinto files izocutshungulwa ngumxhumanisi ingase ihluke ngokusekelwe ekusetshenzisweni kwenqubo yokukhipha ngokugcwele (inketho ye-mpa). Lokhu kuzothinta kuphela ikhodi echaza imisebenzi ebuthakathaka kuwo wonke amamojula amaningi.
Iphutha lokuxhumanisa elino-absolute (XC8-2777) Uma into yenziwe ngokuphelele ekhelini ekuqaleni kwe-RAM futhi izinto ezingaqaliswanga nazo sezichaziwe, iphutha lokuxhuma lingase licushwe.
Ama-ID okuvuka amafushane (XC8-2775) Kumadivayisi e-ATA5700/2, amarejista e-PHIDO/1 achazwa kuphela njengamabhithi angu-16 ububanzi, kunokuba amabhithi angu-32 ububanzi.
Ukuphahlazeka kwesixhumanisi lapho kushaya uphawu (XC8-2758) Isixhumanisi singaphahlazeka uma inketho yomshayeli -mrelax isetshenziswa lapho ikhodi yomthombo ibiza uphawu oluchazwe kusetshenziswa inketho ye- -cc., -de f sym linker.
Ukuqaliswa okungalungile (XC8-2679) Lapho umehluko phakathi kwalapho amanani okuqala ezinto ezilingana nebhayithi yomhlaba jikelele/emile abekwe kumemori yedatha nalapho okuhlukile kuzofinyelelwa khona ngesikhathi sokusebenza.
Izingcingo ezingaqondile ezingalungile (XC8-2628) Kwezinye izimo, izingcingo ezisebenzayo ezenziwe ngesikhombisi sokusebenza esigcinwe njengengxenye yesakhiwo zingase zehluleke.
I-strtof ibuyisela iqanda ku-hexadecimal floats (XC8-2626) Ilabhulali isebenza ngokuthi i-strtof et al kanye ne-scaf ( ) et al, izohlala iguqula inombolo yephoyinti elintantayo eliyi-hexadecimal elingacacisi i-eksponenti ibe nguziro. Okwesiboneloample:
strtof (“Oxl”, &endptr);
izobuyisela inani elingu-0, hhayi mina.
Imilayezo enganembile yomeluleki wesitaki (XC8-2542, XC8-2541) Kwezinye izimo, isexwayiso someluleki wesitaki esiphathelene nokuphindaphinda noma isitaki esinganqunyiwe esisetshenzisiwe (mhlawumbe ngokusetshenziswa kwe-alloca()) asikhishwa.
Ukwehluleka ngekhodi yokuphazamisa eyimpinda (XC8-2421) Lapho umsebenzi wokuphazamisa ongaphezu kowodwa unomzimba ofanayo, isihlanganisi singase sibe nokuphumayo komsebenzi owodwa wokuphazamisa shayela omunye. Lokhu kuzoholela ekutheni wonke amarejista avaliwe agcinwe ngokungenasidingo, futhi iziphazamiso zizovulwa ngisho nangaphambi kokuthi i-epilogue yesibambi sokuphazamisa samanje siqalise, okungase kuholele ekuhlulekeni kwekhodi.
Okukhiphayo okubi ngendlela ye-DFP engavumelekile (XC8-2376) Uma isihlanganisi sicelwa ngendlela ye-DFP engavumelekile kanye 'ne-spec' file ikhona kudivayisi ekhethiwe, umhlanganisi akabiki iphakethe lomndeni ledivayisi elilahlekile futhi esikhundleni salokho ukhetha 'i-spec' file, okungase kuholele ekukhishweni okungavumelekile. I-'spec' files kungenzeka angabi sesikhathini samanje ngama-DFP asabalalisiwe futhi ayehloselwe ukusetshenziswa nokuhlola kwangaphakathi komhlanganisi kuphela.
Ukugqagqana kwenkumbulo akubonwa (XC8-1966) Umhlanganisi akaboni ukugqagqana kwenkumbulo yezinto ezenziwe zaphelela ekhelini (nge-_at ( )) nezinye izinto zisebenzisa isigaba ( ) isicacisi futhi ezixhunywe ekhelini elifanayo.
Ukuhluleka ngemisebenzi yelabhulali kanye ne-_memx (XC8-1763) Ibizwa ngokuthi yi-libgcc float imisebenzi enengxabano esikhaleni sekheli le-memx ingase yehluleke. Qaphela ukuthi izindlela zelabhulali zibizwa kwabanye opharetha be-C, ngakho-ke, isiboneloample, ikhodi elandelayo iyathinteka:
buyisela i-regFloatVar > memxFloatVar;
Ukuqaliswa okukhawulelwe kwe-libgcc (AVRTC-731) Ngemikhiqizo ye-ATTiny4/5/9/10/20/40, ukuqaliswa okujwayelekile komtapo wezincwadi we-C/Math ku-libgcc kulinganiselwe kakhulu noma akukho.
Imikhawulo yenkumbulo yohlelo (AVRTC-732) Izithombe zenkumbulo yohlelo ezingaphezu kuka-128 kb zisekelwa uchungechunge lwamathuluzi; kodwa-ke, kunezimo ezaziwayo zokuhushulwa kwe-linker ngaphandle kokukhululeka futhi ngaphandle komlayezo wephutha owusizo kunokukhiqiza ama-stubs okusebenza adingekayo lapho kusetshenziswa inketho -mre lax.
Qamba imikhawulo yesikhala (AVRTC-733) Izikhala zamakheli eziqanjiwe zisekelwa uchungechunge lwamathuluzi, ngaphansi kwemikhawulo eshiwo esigabeni somhlahlandlela somsebenzisi Izimfanelo Zohlobo Olukhethekile.
Izindawo zesikhathi The imisebenzi yelabhulali ithatha i-GMT futhi ayisekeli izindawo zesikhathi zasendaweni, ngaleyo ndlela isikhathi sasendaweni ( ) sizobuya ngesikhathi esifanayo ne-gmtime ( ) , ngokwesibonelo.ample.

file:///Applications/microchip/xc8/v2.41/docs/Readme_XC8_for_AVR.htm

Amadokhumenti / Izinsiza

I-MICROCHIP MPLAB XC8 C Isofthiwe Yokuthuthukisa Umhlanganisi [pdf] Incwadi Yomnikazi
I-MPLAB XC8 C, i-MPLAB XC8 C i-Compiler Development Software, i-Compiler Development Software, i-Development Software, i-Software

Izithenjwa

Shiya amazwana

Ikheli lakho le-imeyili ngeke lishicilelwe. Izinkambu ezidingekayo zimakiwe *