MICROCHIP MPLAB XC8 C þýðandahugbúnaður
ÞETTA SKJAL INNIHALDUR MIKILVÆGAR UPPLÝSINGAR SEM VARÐA MPLAB XC8 C ÞJÁLFARI ÞEGAR MICROCHIP AVR TÆKI er miðuð.
VINSAMLEGAST LESIÐ ÞAÐ ÁÐUR EN ÞESSI HUGBÚNAÐUR EKKIÐ. SJÁÐU ÚTGÁFUGYNDIR MPLAB XC8 C ÞJÁLFARNAR FYRIR MYNDASKJÁL EF ÞÚ ERT AÐ NOTA ÞJÁLFANUM FYRIR 8-BITA MYNDATÆKI.
Yfirview
Inngangur
Þessi útgáfa af Microchip MPLAB® XC8 C þýðanda inniheldur nokkra nýja eiginleika, villuleiðréttingar og nýjan tækjastuðning.
Byggingardagsetning
Opinber byggingardagur þessarar þýðandaútgáfu er 3. júlí 2022.
Fyrri útgáfa
Fyrri útgáfa MPLAB XC8 C þýðanda var 2.39, hagnýtur öryggisþýðandi, smíðaður 27. janúar 2022. Fyrri staðall þýðandinn var útgáfa 2.36, smíðaður 27. janúar 2022.
Handbók um virkni öryggis
Hagnýt öryggishandbók fyrir MPLAB XC þýðendur er fáanleg í skjalapakkanum þegar þú kaupir hagnýtt öryggisleyfi.
Íhlutaleyfi og útgáfur
MPLAB® XC8 C þýðanda fyrir AVR MCUs verkfæri eru skrifuð og dreift undir GNU General Public License (GPL) sem þýðir að frumkóði hans er frjálslega dreift og aðgengilegur almenningi. Frumkóðann fyrir verkfæri undir GNU GPL má hlaða niður sérstaklega frá Microchip's websíða. Þú getur lesið GNU GPL í file nafnið staðsett undirskrá uppsetningarskrárinnar þinnar. Almenna umfjöllun um meginreglur sem liggja til grundvallar GPL má finna hér. Stuðningskóði veittur fyrir hausinn files, tengiforskriftir og keyrslusöfn eru sérkóði og falla ekki undir GPL.
Þessi þýðandi er útfærsla á GCC útgáfu 5.4.0, binutils útgáfu 2.26 og notar avr-libc útgáfu 2.0.0.
Kerfiskröfur
MPLAB XC8 C þýðandinn og leyfishugbúnaðurinn sem hann notar eru fáanlegir fyrir margs konar stýrikerfi, þar á meðal 64-bita útgáfur af eftirfarandi: Professional útgáfur af Microsoft Windows 10; Ubuntu 18.04; og macOS 10.15.5. Tvöfaldur fyrir Windows hafa verið undirritaður með kóða. Tvöfaldur fyrir Mac OS hafa verið undirrituð með kóða og þinglýst.
Ef þú ert að keyra netleyfaþjón má aðeins nota tölvur með stýrikerfi sem þýðendur styðja til að hýsa leyfisþjóninn. Frá og með xclm útgáfu 2.0 er hægt að setja upp netleyfaþjóninn á Microsoft Windows Server vettvang, en leyfisþjónninn þarf ekki að keyra á miðlaraútgáfu stýrikerfisins.
Tæki studd
Þessi þýðandi styður öll 8-bita AVR MCU tæki sem þekkt eru við útgáfu. Sjá (í skjalaskrá þýðandans) fyrir lista yfir öll studd tæki. Þessar files einnig listi stillingar bita stillingar fyrir hvert tæki.
Útgáfur og leyfisuppfærslur
MPLAB XC8 þýðandann er hægt að virkja sem leyfisskylda (PRO) eða óleyfisskylda (ókeypis) vöru. Þú þarft að kaupa virkjunarlykil til að leyfa þýðandanum þínum. Leyfi gerir ráð fyrir meiri hagræðingu miðað við ókeypis vöruna. Óleyfilegt þýðanda er hægt að reka endalaust án leyfis.
MPLAB XC8 Functional Safety þýðanda verður að virkja með hagnýtu öryggisleyfi sem keypt er af Microchip. Þjálfarinn mun ekki starfa án þessa leyfis. Þegar það hefur verið virkjað geturðu valið hvaða hagræðingarstig sem er og notað alla þýðandaeiginleikana. Þessi útgáfa af MPLAB XC Functional Safety Compiler styður netþjónaleyfið.
Sjá Uppsetning og leyfisveiting MPLAB XC C þýðenda (DS50002059) skjal fyrir upplýsingar um leyfisgerðir og uppsetningu á þýðanda með leyfi.
Uppsetning og virkjun
Sjá einnig kaflana Flutningsvandamál og takmarkanir fyrir mikilvægar upplýsingar um nýjasta leyfisstjórann sem fylgir þessum þýðanda.
Ef þú notar MPLAB IDE, vertu viss um að setja upp nýjustu MPLAB X IDE útgáfu 5.0 eða nýrri áður en þú setur upp þetta tól. Slepptu IDE áður en þú setur upp þýðandann. Keyrðu .exe (Windows), .run (Linux) eða app (macOS) þýðandauppsetningarforritið, td XC8-1.00.11403-windows.exe og fylgdu leiðbeiningunum á skjánum.
Mælt er með sjálfgefna uppsetningarskránni. Ef þú ert að nota Linux verður þú að setja upp þýðandann með því að nota flugstöð og frá rótarreikningi. Settu upp með því að nota macOS reikning með stjórnandaréttindi.
Virkjun fer nú fram sérstaklega við uppsetningu. Sjá skjalið License Manager fyrir MPLAB® XC C þýðendur (DS52059) fyrir frekari upplýsingar.
Ef þú velur að keyra þýðandann undir matsleyfinu færðu nú viðvörun meðan á söfnun stendur þegar þú ert innan 14 daga frá lokum matstímabilsins. Sama viðvörun er gefin út ef þú ert innan 14 daga frá lokum HPA áskriftar þinnar.
XC Network License Server er sérstakt uppsetningarforrit og er ekki innifalið í uppsetningarforritinu fyrir einn notanda.
XC leyfisstjórinn styður nú reiki á fljótandi netleyfum. Miðað er við farsímanotendur, þessi eiginleiki gerir fljótandi leyfi kleift að fara af netinu í stuttan tíma. Með því að nota þennan eiginleika geturðu aftengst netinu og samt notað MPLAB XC þýðanda. Sjá doc möppu XCLM uppsetningar fyrir meira um þennan eiginleika. MPLAB X IDE inniheldur leyfisglugga (Tól > Leyfi) til að stjórna reiki sjónrænt.
Að leysa uppsetningarvandamál
Ef þú átt í erfiðleikum með að setja upp þýðandann undir einhverju af Windows stýrikerfum skaltu prófa eftirfarandi tillögur.
- Keyrðu uppsetninguna sem stjórnandi.
- Stilltu heimildir uppsetningarforritsins á „Full stjórn“. (Hægri-smelltu á file, veldu Eiginleikar, Öryggisflipa, veldu notanda, breyttu.)
- Stilltu heimildir tímabundinnar möppu á „Full stjórn!
Til að ákvarða staðsetningu temp möppunnar skaltu slá inn %temp% í Run skipunina (Windows lógólykill + R). Þetta mun opna a file landkönnuður gluggi sem sýnir þá möppu og gerir þér kleift að ákvarða slóð þeirrar möppu.
Samfylkingarskjöl
Hægt er að opna notendahandbækur þýðandans frá HTML síðunni sem opnast í vafranum þínum þegar smellt er á bláa hjálparhnappinn í MPLAB X IDE mælaborðinu, eins og sýnt er á skjámyndinni.
Ef þú ert að byggja fyrir 8-bita AVR markmið, inniheldur MPLAB® XC8 C þýðandanotendahandbók fyrir AVR® MCU upplýsingar um þá þýðandavalkosti og eiginleika sem eiga við um þennan arkitektúr.
Þjónustudeild
Microchip fagnar villuskýrslum, ábendingum eða athugasemdum varðandi þessa þýðandaútgáfu. Vinsamlegast sendu allar villuskýrslur eða eiginleikabeiðnir í gegnum stuðningskerfið.
Skjalauppfærslur
Fyrir net- og uppfærðar útgáfur af MPLAB XC8 skjölum, vinsamlegast farðu á tækniskjöl Microchip á netinu websíða.
Ný eða uppfærð AVR skjöl í þessari útgáfu:
- MUSL höfundarréttartilkynning
- Uppsetning og leyfisveiting MPLAB XC C þýðenda (endurskoðun M)
- MPLAB XC8 notendahandbók fyrir innbyggða verkfræðinga – AVR MCU (endurskoðun A)
- MPLAB XC8 C þýðandahandbók fyrir AVR MCU (endurskoðun F)
- Microchip Unified Standard Library Reference Guide (endurskoðun B)
Microchip Unified Standard Library Reference Guide lýsir hegðun og viðmóti við aðgerðirnar sem skilgreindar eru af Microchip Unified Standard Library, sem og fyrirhugaðri notkun á bókasafnsgerðum og fjölvi. Sumar þessara upplýsinga voru áður í MPLAB® XC8 C þýðandahandbók fyrir AVR® MCU. Tækjasértækar bókasafnsupplýsingar eru enn í þessari þýðandahandbók.
Ef þú ert að byrja með 8-bita tæki og MPLAB XC8 C þýðanda, þá hefur MPLAB® XC8 notendahandbók fyrir innbyggða verkfræðinga – AVR® MCUs (DS50003108) upplýsingar um uppsetningu verkefna í MPLAB X IDE og ritun kóða. fyrir fyrsta MPLAB XC8 C verkefnið þitt. Þessum handbók er nú dreift með þýðandanum.
Hamate notendahandbókin hefur verið innifalin í skjalaskránni í þessari útgáfu. Þessi handbók er ætluð þeim sem keyra Hamate sem sjálfstætt forrit.
Hvað er nýtt
Eftirfarandi eru nýir AVR-target eiginleikar sem þýðandinn styður nú. Útgáfunúmerið í undirfyrirsögnum gefur til kynna fyrstu þýðandaútgáfuna sem styður eiginleikana sem fylgja.
Útgáfa 2.40
Stuðningur við nýja tæki Stuðningur er nú fáanlegur fyrir eftirfarandi AVR hluta: AT90PWM3, AVR16DD14, AVR16DD20, AVR16DD28, AVR16DD32, AVR32DD14, AVR32DD20, AVR32DD28, AVR32DD32, AVR64EA28, AVR64EA,32EA og AVR64EA.
Bætt málsmeðferðarabstrakt Hagræðingartólið fyrir málsmeðferðarútdrátt (PA) hefur verið endurbætt þannig að hægt er að útlista kóða sem inniheldur aðgerðakallaleiðbeiningar (kalla afturkalla)). Þetta mun aðeins eiga sér stað ef staflinn er ekki notaður til að senda rök til né fá aftur gildi úr fallinu. Staflinn er notaður þegar kallað er á fall með breytilegum röksemdalista eða þegar kallað er á fall sem tekur fleiri rök en það eru skrár sem eru tilgreindar í þessu skyni. Hægt er að slökkva á þessum eiginleika með því að nota Monk-pa-outline-calls valmöguleikann, eða hægt er að slökkva á málsmeðferðarútdrætti algjörlega fyrir hlut file eða virka með því að nota -monk-pa-on-file og -mo.-pa-on-fall í sömu röð, eða með því að nota nipa eiginleikann (nipa specifier) sértækt með föllum
Kóðaþekjufjölvi Þjálfarinn skilgreinir nú makróið __CODECOV ef gildur mcodecov valkostur er tilgreindur.
Minni bókunarvalkostur xc8-cc ökumaðurinn mun nú samþykkja -mreserve=space@start: end valkostinn þegar smíðað er fyrir AVR skotmörk. Þessi valkostur áskilur sér tilgreint minnissvið annaðhvort í gagna- eða forritaminnisrýminu, sem kemur í veg fyrir að tengillinn fylli kóða eða hluti á þessu svæði.
Snjallari snjall IO Nokkrar endurbætur hafa verið gerðar á Smart IO aðgerðunum, þar á meðal almennar lagfæringar á printf kjarnakóðann, meðhöndla %n umbreytingarforskriftina sem sjálfstætt afbrigði, tengja inn vararg pop rútínur á eftirspurn, nota styttri gagnagerðir þar sem hægt er til að meðhöndla IO fall rök , og þáttur algengur kóða í sviði breidd og nákvæmni meðhöndlun. Þetta getur leitt til verulegs kóða- og gagnasparnaðar, auk þess að auka framkvæmdarhraða IO.
Útgáfa 2.39 (virkt öryggisútgáfa)
Netþjónaleyfi Þessi útgáfa af MPLAB XC8 Functional Safety Compiler styður netþjónaleyfið.
Útgáfa 2.36
Engin.
Útgáfa 2.35
Stuðningur við nýja tæki Stuðningur er í boði fyrir eftirfarandi AVR hluta: ATTINY3224, ATTINY3226, ATTINY3227, AVR64DD14, AVR64DD20, AVR64DD28 og AVR64DD32.
Bætt samhengisskipti Nýi valmöguleikinn -mcall-isr-prologues breytir því hvernig truflunaraðgerðir vista skrár við inngöngu og hvernig þær skrár eru endurheimtar þegar truflunarrútínan lýkur. Það virkar á svipaðan hátt og -mcall-prologues valmöguleikinn, en hefur aðeins áhrif á truflunaraðgerðir (ISR).
Enn betri samhengisskipti Nýi valmöguleikinn -mgas-isr-prologues stjórnar samhengiskóðanum sem myndast fyrir litlar truflanir í þjónustuferli. Þegar hann er virkur mun þessi eiginleiki láta samsetningaraðilann skanna ISR fyrir skráarnotkun og vista aðeins þessar notaðar skrár ef þess er krafist.
Stillanleg flasskortlagning Sum tæki í AVR DA og AVR DB fjölskyldunni eru með SFR (td FLMAP) sem tilgreinir hvaða 32k hluta forritaminnis verður kortlagt inn í gagnaminnið. Hægt er að nota nýja – mconst-data-in-config-mapped-proem valmöguleikann til að láta tengilinn setja öll gallahæf gögn í einn 32k hluta og frumstilla sjálfkrafa viðkomandi SFR skrá til að tryggja að þessi gögn séu kortlögð inn í gagnaminnið , þar sem hægt verður að nálgast það á skilvirkari hátt.
Microchip Unified Standard Libraries Allir MPLAB XC þýðendur munu deila Microchip Unified Standard Library, sem er nú fáanlegt með þessari útgáfu af MPLAB XC8. MPLAB® XC8 C þýðandanotendahandbók/eða AVR® MCU inniheldur ekki lengur skjölin fyrir þessar staðlaðar aðgerðir. Þessar upplýsingar er nú að finna í Microchip Unified Standard Library Reference Guide. Athugaðu að einhver virkni sem áður var skilgreind af avr-libc er ekki lengur tiltæk. (Sjá Bókasafn):'. virkni…)
Snjall IO Sem hluti af nýju sameinuðu bókasöfnunum eru IO aðgerðir í prent- og skannafjölskyldum nú sérsniðnar til í hverri byggingu, byggt á því hvernig þessar aðgerðir eru notaðar í forritinu. Þetta getur dregið verulega úr því fjármagni sem forritið notar.
Snjall IO aðstoð valkostur Þegar símtöl eru greind í snjall IO aðgerðir (eins og printf () eða scanf () ), getur þýðandinn ekki alltaf ákvarðað út frá sniðstrengnum eða dregið þá ályktun af röksemdum þá umbreytingarforskrift sem símtalið krefst. Áður fyrr myndi þýðandinn alltaf gera engar forsendur og tryggja að fullvirkar IO aðgerðir væru tengdar inn í endanlegt forritsmynd. Nýjum – msmart-io-format=fmt valkostur hefur verið bætt við þannig að notandinn geti í staðinn upplýst þýðandann um umbreytingarforskriftina sem notuð eru af snjöllum IO aðgerðum þar sem notkun þeirra er óljós, sem kemur í veg fyrir að of langar IO rútínur séu tengdar. (Sjá valkost fyrir smart-io-snið fyrir frekari upplýsingar.)
Að setja sérsniðna hluta Áður setti -Wl, –section-start valmöguleikinn aðeins tilgreindan hluta á umbeðnu heimilisfangi þegar tengiforritið skilgreindi úttakshluta með sama nafni. Þegar það var ekki raunin var hlutinn settur á heimilisfang sem tengillinn valdi og valkosturinn var í raun hunsaður. Nú verður valmöguleikinn virtur fyrir alla sérsniðna hluta, jafnvel þó að tengihandritið skilgreini ekki hlutann. Athugaðu þó að fyrir staðlaða hluta, svo sem . texti, . bss eða. gögnum, mun úthlutunaraðili sem hentar best hafa enn fulla stjórn á staðsetningu þeirra og valkosturinn hefur engin áhrif. Notaðu valkostinn -Wl, -Tsection=add, eins og lýst er í notendahandbókinni.
Útgáfa 2.32
Stafla leiðsögn Fáanlegt með PRO þýðandaleyfi, hægt er að nota staflaleiðbeiningareiginleika þýðandans til að áætla hámarksdýpt hvers stafla sem forritið notar. Það smíðar og greinir símtalsgraf forrits, ákvarðar staflanotkun hvers falls og framleiðir skýrslu þar sem hægt er að álykta um dýpt stafla sem forritið notar. Þessi eiginleiki er virkur í gegnum -mchp-stack-usage skipanalínuvalkostinn. Yfirlit yfir notkun stafla er prentuð eftir framkvæmd. Nákvæm staflaskýrsla er fáanleg á kortinu file, sem hægt er að óska eftir með venjulegum hætti.
Stuðningur við nýja tæki er fáanlegur fyrir eftirfarandi AVR hluta: ATTINY 427, ATTINY 424, ATTINY 426, ATTINY827, ATTINY824, ATTINY826, AVR32DB32, AVR64DB48, AVR64DB64, AVR64DB28, AVR32DB28 og AVR64DB32 og AVR32DB48.
Inndregin stuðningur við tæki er ekki lengur fáanlegt fyrir eftirfarandi AVR hluta: AVR16DA28, AVR16DA32 og, AVR16DA48.
Útgáfa 2.31
Engin.
Útgáfa 2.30
Nýr valkostur til að koma í veg fyrir frumstillingu gagna Nýr valmöguleiki -mno-data-ini t rekla kemur í veg fyrir frumstillingu gagna og hreinsun bss hluta. Það virkar með því að bæla niður úttakið af do_ copy_ gögnunum og d o_ clear_ bss táknunum í samsetningu files, sem mun aftur á móti koma í veg fyrir að þessar venjur séu teknar með tengiliðnum.
Auknar hagræðingar Ýmsar hagræðingarbætur hafa verið gerðar, þar á meðal að fjarlægja óþarfa skilaleiðbeiningar, fjarlægja nokkur stökk eftir skip-ef-bita-er leiðbeiningar og bætt verklagsúrdrátt og getu til að endurtaka þetta ferli.
Fleiri valkostir eru nú tiltækir til að stjórna sumum þessara hagræðinga, sérstaklega -f hlutaakkeri, sem gerir kleift að framkvæma aðgang að kyrrstæðum hlutum miðað við eitt tákn; -mpai derations=n, sem gerir kleift að breyta fjölda endurtekninga í verklagsreglum úr sjálfgefnu 2; og, -mpa- call cost- shortcall, sem framkvæmir árásargjarnari málsmeðferðarabstrakt, í þeirri von að tengillinn geti slakað á löngum símtölum. Þessi síðasti valkostur getur aukið kóðastærð ef undirliggjandi forsendur eru ekki að veruleika.
Stuðningur við nýja tæki Stuðningur er í boði fyrir eftirfarandi AVR hluta: AVR16DA28, AVR16DA32,
AVR16DA48, AVR32DA28, AVR32DA32, AVR32DA48, AVR64DA28, AVR64DA32, AVR64DA48, AVR64DA64, AVR128DB28, AVR128DB32, AVR128DB48 og AVR128DB.
Stuðningur við afturkallað tæki Stuðningur er ekki lengur í boði fyrir eftirfarandi AVR hluta: ATA5272, ATA5790, ATA5790N, ATA5791, ATA5795, ATA6285, ATA6286, ATA6612C, ATA6613C, ATA6614Q, ATA6616C, ATA6617C, og ATA664251, og ATAXNUMXATA.
Útgáfa 2.29 (virkt öryggisútgáfa)
Haus file fyrir innbyggða þýðanda Til að tryggja að þýðandinn geti verið í samræmi við tungumálaforskriftir eins og MISRA, the haus file, sem er sjálfkrafa innifalið af , hefur verið uppfært. Þessi haus inniheldur frumgerðir fyrir allar innbyggðar aðgerðir, eins og _buil tin _avrnop () og _buil tin_ avr delay_ cycles () . Sumar innbyggðar eru hugsanlega ekki MISRA samhæfðar; þessum er hægt að sleppa með því að bæta skilgreiningunni _Xe_ STRICT_ MISRA við þýðanda skipanalínuna. Innbyggðu tækin og yfirlýsingar þeirra hafa verið uppfærðar til að nota fastbreiddargerðir.
Útgáfa 2.20
Stuðningur við nýja tæki Stuðningur er í boði fyrir eftirfarandi AVR hluta: ATTINY1624, ATTINY1626 og ATTINY1627.
Betri úthlutun sem hentar best Besta úthlutunarbúnaðurinn (BFA) í þýðandanum hefur verið endurbættur þannig að köflum er úthlutað í þeirri röð sem leyfir betri hagræðingu. BFA styður nú nafngreind heimilisfangarými og sér betur um frumstillingu gagna.
Bætt málsmeðferðarabstrakt Hagræðingar aðferðafræðinnar eru nú framkvæmdar á fleiri kóðaröðum. Fyrri aðstæður þar sem þessi hagræðing gæti hafa aukið kóðastærð hefur verið brugðist við með því að gera hagræðingarkóðann meðvitaðan um sorphirðuferli tengilsins.
Fjarvera AVR Assembler AVR Assembler er ekki lengur innifalinn í þessari dreifingu.
Útgáfa 2.19 (virkt öryggisútgáfa)
Engin.
Útgáfa 2.10
Code Coverage Þessi útgáfa inniheldur kóðaþekjueiginleika sem auðveldar greiningu á því hversu mikið frumkóði verkefnis hefur verið keyrður. Notaðu valkostinn -mcodecov=ram til að virkja það. Eftir að forritið hefur verið keyrt á vélbúnaðinum þínum verður upplýsingum um kóðaþekju safnað saman í tækinu og hægt er að flytja þær yfir á og sýna MPLAB X IDE með kóðaþekjuviðbót. Sjá IDE skjöl til að fá upplýsingar um þessa viðbót. #pragma mcodecov má nota til að útiloka síðari aðgerðir frá þekjugreiningunni. Helst ætti að bæta pragma við í upphafi file að útiloka þetta allt file úr umfjöllun um umfjöllun. Að öðrum kosti má nota eigindina ((mcodecov)) til að útiloka tiltekna aðgerð frá þekjugreiningunni.
Tækjalýsing files Nýtt tæki file heitir avr chipinfo. html er staðsett í docs möppunni í þýðandadreifingunni. Þetta file listar öll tæki sem þýðandinn styður. Smelltu á heiti tækis og það mun opna síðu sem sýnir allar leyfilegar stillingarbitastillingar/gildapör fyrir það tæki, með td.amples.
Verklagsbundin útdráttur Hagræðingaraðferðir á útdráttaraðferðum, sem koma í stað algengra blokka af samsetningarkóða með símtölum í útdregið eintak af þeim blokk, hefur verið bætt við þýðandann. Þetta er framkvæmt af sérstöku forriti, sem er sjálfkrafa kallað fram af þýðandanum þegar val á stigi 2, 3 eða hagræðingar. Þessar hagræðingar draga úr kóðastærð, en þær gætu dregið úr framkvæmdarhraða og kembiforrit.
Hægt er að slökkva á málsmeðferðarútdrætti á hærra hagræðingarstigi með því að nota valkostinn -mno-pa, eða hægt er að virkja hana á lægri hagræðingarstigum (háð leyfi þínu) með því að nota -mpa. Það er hægt að gera það óvirkt fyrir hlut file nota -mno-pa-on-file=filenafn, eða óvirkt fyrir fall með því að nota -mno-pa á function= fall.
Inni í frumkóðanum þínum er hægt að slökkva á málsmeðferðarútdrætti fyrir fall með því að nota _attribute_ ( (nopa)) með skilgreiningu fallsins, eða með því að nota _nopa, sem stækkar í eigind ( (nopa, noinline)) og kemur þannig í veg fyrir að fallinlína eigi sér stað og það er útdráttur á innbyggðum kóða.
Læsa bitastuðningur í pragma #pragma config er nú hægt að nota til að tilgreina AVR læsa bitana sem og aðra stillingar bita. Athugaðu avr flís upplýsingarnar. html file (sem getið er um hér að ofan) fyrir stillingar/gildi pörin til að nota með þessu pragma.
Stuðningur við nýja tæki Stuðningur er í boði fyrir eftirfarandi hluta: AVR28DA128, AVR64DA128, AVR32DA128 og AVR48DA128.
Útgáfa 2.05
Meira fyrir peninginn MacOS útgáfan af þessum þýðanda og leyfisstjóra er nú 64 bita forrit. Þetta mun tryggja að þýðandinn muni setja upp og keyra án viðvarana á nýlegum útgáfum af macOS.
Const hlutir í forritaminni Þjálfarinn getur nú sett const-hæfða hluti í forritið Flash minni, frekar en að hafa þá staðsetta í vinnsluminni. Þjálfaranum hefur verið breytt þannig að samhæfð alþjóðleg gögn eru geymd í flassminni forrita og hægt er að nálgast þessi gögn beint og óbeint með því að nota viðeigandi forritaminnisleiðbeiningar. Þessi nýja eiginleiki er sjálfgefið virkur en hægt er að slökkva á honum með því að nota -mno-const-data-in-progmem valkostinn. Fyrir avrxmega3 og avrtiny arkitektúr er þessi eiginleiki ekki nauðsynlegur og er alltaf óvirkur, þar sem forritaminni er kortlagt inn í gagnavistarrýmið fyrir þessi tæki.
Standard ókeypis Óleyfislausar (ókeypis) útgáfur af þessum þýðanda leyfa nú fínstillingar upp að og með stigi 2. Þetta mun leyfa svipaða, þó ekki eins, úttak og það sem áður var mögulegt með venjulegu leyfi.
Velkomin AVRASM2 AVRASM2 samsetningartækið fyrir 8-bita tæki er nú innifalið í XC8 þýðanda uppsetningarforritinu. Þessi samsetningarforrit er ekki notað af XC8 þýðandanum, en er fáanlegt fyrir verkefni byggð á handskrifuðum samsetningaruppsprettu.
Stuðningur við nýja tæki Stuðningur er í boði fyrir eftirfarandi hluta: ATMEGA1608, ATMEGA1609, ATMEGA808 og ATMEGA809.
Útgáfa 2.00
Bílstjóri á hæsta stigi Nýr ökumaður, kallaður xc8-cc, situr nú fyrir ofan fyrri avr-gcc ökumanninn og xc8 ökumanninn, og hann getur kallað á viðeigandi þýðanda miðað við val á marktækinu. Þessi bílstjóri samþykkir valkosti í GCC-stíl, sem eru annað hvort þýddir fyrir eða sendar í gegnum þýðandann sem verið er að keyra. Þessi bílstjóri gerir kleift að nota svipað valkostasett með svipaða merkingarfræði með hvaða AVR eða PIC markmið sem er og er því ráðlögð leið til að kalla fram þýðandann. Ef þörf krefur er hægt að kalla í gamla avr-gcc rekilinn beint með því að nota gamla stílvalkostina sem hann samþykkti í fyrri þýðandaútgáfum.
Common C tengi Þessi þýðandi getur nú verið í samræmi við MPLAB Common C tengi, sem gerir kleift að flytja frumkóða á auðveldari hátt yfir alla MPLAB XC þýðendur. Valkosturinn -mext=cci biður um þennan eiginleika, sem gerir aðra setningafræði kleift fyrir margar tungumálaviðbætur.
Nýr bókasafnsstjóri Nýr bílstjóri bókasafnsfræðings er staðsettur fyrir ofan fyrri PIC bókasafnsbókavörð og AVR avr-ar bókavörð. Þessi bílstjóri samþykkir valkosti í GCC-skjalastjórastíl, sem eru annaðhvort þýddir fyrir eða sendar í gegnum bókasafnsvörðinn sem verið er að framkvæma. Nýi bílstjórinn gerir kleift að nota svipað valmöguleika með svipaða merkingarfræði til að búa til eða meðhöndla hvaða PIC eða AVR bókasafn sem er file og er því ráðlögð leið til að kalla til bókavörðinn. Ef þörf er á fyrir eldri verkefni er hægt að hringja í fyrri bókasafnsvörð beint með því að nota gamla stílvalkostina sem hann samþykkti í fyrri þýðandaútgáfum.
Flutningamál
Eftirfarandi eru eiginleikar sem nú eru meðhöndlaðir á annan hátt af þýðandanum. Þessar breytingar gætu þurft að breyta frumkóðanum þínum ef þú flytur kóða í þessa þýðandaútgáfu. Útgáfunúmerið í undirfyrirsögnum gefur til kynna fyrstu þýðandaútgáfuna til að styðja við breytingarnar sem fylgja.
Útgáfa 2.40
Engin.
Útgáfa 2.39 (virkt öryggisútgáfa)
Engin.
Útgáfa 2.36
Engin.
Útgáfa 2.35
Meðhöndlun strengja til grunna (XCS-2420) Til að tryggja samræmi við aðra XC þýðendur munu XC8 string-to aðgerðirnar, eins og strtol () osfrv., ekki lengur reyna að umbreyta inntaksstreng ef grunnurinn sem tilgreindur er er stærri en 36 og mun þess í stað setja errno á EINVAL. C staðallinn tilgreinir ekki hegðun aðgerðanna þegar farið er yfir þetta grunngildi.
Óviðeigandi hraðastillingar Verið var að virkja fínstillingar á málsmeðferðarútdrætti þegar 3. stigs fínstillingar voru valin (-03). Þessar hagræðingar draga úr kóðastærð á kostnað kóðahraða, svo ætti ekki að hafa verið framkvæmd. Verkefni sem nota þetta fínstillingarstig gætu séð mun á kóðastærð og framkvæmdarhraða þegar þau eru byggð með þessari útgáfu.
Bókasafnsvirkni Kóðinn fyrir margar af stöðluðu C bókasafnsaðgerðunum kemur nú frá Unified Standard Library frá Microchip, sem gæti sýnt aðra hegðun í sumum kringumstæðum miðað við þá sem fyrrum avr-libc bókasafnið gaf. Til dæmisample, það er ekki lengur nauðsynlegt að tengja í lprintf_flt bókasafninu (-print _flt valkostur) til að kveikja á sniðnum IO stuðningi fyrir float-format forskriftir. Snjallir IO eiginleikar Microchip Unified Standard Library gera þennan valkost óþarfan. Auk þess er ekki lengur nauðsynlegt að nota _p viðskeyti venjur fyrir streng- og minnisaðgerðir (td strcpy_P () osfrv .. ) sem starfa á const strengjum í flash. Stöðluðu C venjurnar (td strcpy ()) munu virka rétt með slíkum gögnum þegar const-data-in-program-minni eiginleikinn er virkur.
Útgáfa 2.32
Engin.
Útgáfa 2.31
Engin.
Útgáfa 2.30
Engin.
Útgáfa 2.29 (virkt öryggisútgáfa)
Engin.
Útgáfa 2.20
Breytt DFP útlit Þýðandinn gerir nú ráð fyrir öðru skipulagi sem DFP (Device Family Packs) notar. Þetta þýðir að eldra DFP virkar kannski ekki með þessari útgáfu og eldri þýðendur munu ekki geta notað nýjustu DFP.
Útgáfa 2.19 (virkt öryggisútgáfa)
Engin.
Útgáfa 2.10
Engin
Útgáfa 2.05
Const hlutir í forritaminni Athugaðu að sjálfgefið, const-hæfðir hlutir verða settir og opnaðir í forritaminni (eins og lýst er hér). Þetta mun hafa áhrif á stærð og framkvæmdarhraða verkefnisins, en ætti að draga úr vinnsluminni notkun. Hægt er að slökkva á þessum eiginleika, ef þörf krefur, með því að nota -mnoconst-da ta-in-progmem valkostinn.
Útgáfa 2.00
Stillingar öryggi Nú er hægt að forrita búnaðarstillingaröryggi með því að nota stillingarprófagma fylgt eftir með stilligildapörum til að tilgreina stöðu öryggisins, td.
#pragma config WDT0N = SET
#pragma config B0DLEVEL = B0DLEVEL_4V3
Algjörir hlutir og aðgerðir Nú er hægt að setja hluti og aðgerðir á tiltekið heimilisfang í minni með því að nota CCI _at (address) forskriftina, td.ample: #innihalda int foobar at(Ox800100); char at(Ox250) get ID(int offset) { … } Röksemdin við þessa forskrift verður að vera fasti sem táknar heimilisfangið sem fyrsta bæti eða leiðbeiningin verður sett á. RAM vistföng eru gefin til kynna með því að nota offset upp á 0x800000. Virkjaðu CCI til að nota þennan eiginleika.
Ný setningafræði trufla aðgerða Þýðandinn samþykkir nú CCI truflunarforskriftina (num) til að gefa til kynna að C aðgerðir séu truflanir. Tilgreinandinn tekur truflunarnúmer, til dæmisample: #innihalda ógild truflun(SPI STC_ vect _num) spi Isr(void) { … }
Föst mál
Eftirfarandi eru leiðréttingar sem gerðar hafa verið á þýðandanum. Þetta gæti lagað villur í kóðanum sem myndast eða breytt virkni þýðandans í það sem var ætlað eða tilgreint í notendahandbókinni. Útgáfunúmerið í undirfyrirsögnum gefur til kynna fyrstu þýðandaútgáfuna sem inniheldur lagfæringar fyrir vandamálin sem fylgja. Merkimiðarnir í svigunum í titlinum eru auðkenni þess máls í rakningargagnagrunninum. Þetta gæti verið gagnlegt ef þú þarft að hafa samband við þjónustudeild.
Athugaðu að sum tækissértæk vandamál eru leiðrétt í Device Family Pack (DFP) sem tengist tækinu. Sjá MPLAB Pack Manager fyrir upplýsingar um breytingar sem gerðar eru á DFP og til að hlaða niður nýjustu pökkunum.
Útgáfa 2.40
Of afslappaður (XCS-2876) Þegar valmöguleikinn -mrelax var notaður var þýðandinn ekki að úthluta sumum hlutum saman, sem leiddi til minna ákjósanlegra kóðastærða. Þetta gæti hafa átt sér stað með kóða sem notaði nýju MUSL bókasöfnin eða með veikum táknum.
Kortlagningareiginleiki ekki óvirkur eins og fram kemur í viðvörun (XCS-2875) Kostnaður-gögn-í-stillingu mappedprogmem eiginleikinn er háður því að kostnaður-gögn-í-prófareiginleikinn sé virkur. Ef cost-data-ipconfig-mapped-proem eiginleikinn var sérstaklega virkjaður með því að nota valmöguleikann og cost-data-inprogmem eiginleikinn var óvirkur, mistókst tengiskrefið, þrátt fyrir viðvörunarskilaboð um að gallarnir gögn-in-config-mapped- proem eiginleiki hafði verið sjálfkrafa óvirkur, sem var ekki alveg rétt. Const-data-in-config-mapped-proem eiginleikinn er nú að fullu óvirkur í þessum aðstæðum.
DFP breytingar til að fá réttan aðgang að NVMCTRL (XCS-2848) Kóðinn fyrir keyrslutíma sem AVR64EA tæki notuðu tók ekki tillit til þess að NVMCTRL skráin var undir Configuration Change Protection (CCP) og gat ekki stillt IO SFR á síðuna sem const-data-in configmapped-proem þýðandinn notaði eiginleiki. Breytingar sem gerðar eru á AVR-Ex_DFP útgáfu 2.2.55 munu gera ræsingarkóðanum kleift að skrifa rétt í þessa skrá.
DFP breytingar til að forðast flasskortlagningu (XCS-2847) Búið er að útfæra lausn á vandamáli með eiginleika flasskortabúnaðar sem greint er frá í AVR128DA28/32/48/64 Silicon Errata (DS80000882). Const-data-in-config-mapped-proem þýðandaeiginleikinn verður ekki notaður sjálfgefið fyrir tæki sem verða fyrir áhrifum og þessi breyting mun birtast í AVR-Ex_DFP útgáfu 2.2.160.
Byggingarvilla með sinhf eða coshf (XCS-2834) Tilraunir til að nota sinhf () eða coshf () bókasafnsaðgerðirnar leiddu til tengivillu sem lýsir óskilgreindri tilvísun. Fallið sem vantar sem vísað er til hefur nú verið innifalið í þýðandadreifingunni.
Byggja villur með nopa (XCS-2833) Notkun nopa eigindarinnar með falli sem hefur fengið samsetningarnafn sitt tilgreint með því að nota sem () kveikti villuboð frá samsetningaraðilanum. Þessi samsetning er ekki möguleg.
Variadic fall bilun með bendi rökum (XCS-2755, XCS-2731) Aðgerðir með breytilegum fjölda frumbreyta búast við að 24-bita (_memo tegund) ábendingum berist í breytilegum röksemdalistanum þegar kostnaður-gögn-í-verkefni eiginleiki er virkur. Rök sem voru vísbendingar um gagnaminni voru send sem 16 bita hluti, sem olli kóðabilun þegar þau voru að lokum lesin. Þegar gallar gagna-í-verkefni eiginleiki er virkjaður, er öllum 16-bita bendibreytum nú breytt í 24-bita bendi. strtoxxx bókasafnsaðgerðir mistakast (XCS-2620) Þegar const-data-in-proem eiginleiki var virkjaður, var enter færibreytan í strtoxxx bókasafnsaðgerðum ekki uppfærð rétt fyrir frumstrengsrök sem ekki eru í forritaminni.
Viðvaranir vegna ógildra kasta (XCS-2612) Þjálfarinn mun nú gefa út villu ef kostnaður-í-verkefni eiginleiki er virkur og heimilisfang strengs bókstafs er beinlínis varpað í gagnavistarrými (sleppir const undankeppninni), td.ample, (uint8 t *) "Halló heimur!". Viðvörun er gefin út ef heimilisfangið gæti verið ógilt þegar const gagnabendill er beinlínis varpað á gagnavistarrými.
Staðsetning óinitialdra const-hluta (XCS-2408) Óinitialized const og const v olatile hlutir voru ekki settir í forritaminni á tækjum sem varpa öllu eða hluta af forritaminni þeirra inn í gagnavistarrýmið. Fyrir þessi tæki eru slíkir hlutir nú settir í forritaminni, sem gerir virkni þeirra í samræmi við önnur tæki.
Útgáfa 2.39 (virkt öryggisútgáfa)
Engin.
Útgáfa 2.36
Villa við seinkun (XCS-2774) Minniháttar breytingar á sjálfgefnum hagræðingum fyrir frjálsa stillingu komu í veg fyrir stöðuga fellingu operandatjáninga við innbyggðu seinkun aðgerða, sem leiddi til þess að þeir voru meðhöndlaðir sem snertilausir og kveiktu á villunni: _buil tin avr delay_ cycles expects ac ompile tíma heiltala fasti.
Útgáfa 2.35
Samfelld úthlutun með því að nota _at (XCS-2653) Samfelld úthlutun á mörgum hlutum í hluta með sama nafni og með því að nota () virkaði ekki rétt. Til dæmisample: constchararrl [ ] at tri butte ((sect on(“.misses”))) at (Ox50 0 ) = {Oxo , Ox CD} ; kosta bleikju arr2[ ] at tri butte ((section(“.my s eke”))) = {Uxi, Uxi FE }; hefði átt að setja arr2 strax á eftir aril.
Tilgreina upphafsföng hluta (XCS-2650) Valmöguleikinn -Wal, -section-start var þegjandi ekki að setja hluta á tilnefnt upphafsfang. Þetta mál hefur verið lagað fyrir sérsniðna hluta; hins vegar mun það ekki virka fyrir neina staðlaða hluta, svo sem . texta eða. bss, sem verður að setja með því að nota -Wl, -T valmöguleika.
Linker hrynur þegar slakað er á (XCS-2647) Þegar -relax fínstillingin var virkjuð og það voru kóða eða gagnahlutar sem pössuðu ekki inn í tiltækt minni, hrundi tengillinn. Nú, við slíkar aðstæður, eru villuskilaboð gefin út í staðinn.
Slæmur EEPROM aðgangur (XCS-2629) Leproma _read_ block rútínan virkaði ekki rétt á Mega tækjum þegar valmöguleikinn -monist-data-in-proem var virkur (sem er sjálfgefið ástand), sem leiddi til þess að EEPROM minni var ekki lesið rétt.
Ógild minnisúthlutun (XCS-2593, XCS-2651) Þegar valmöguleikinn -Text eða -Tata tengill (tdampLeið sem fór í gegnum með því að nota -Wl reklavalkost) er tilgreint, samsvarandi uppruna texta/gagnasvæðis var uppfærður; þó var endavistfangið ekki breytt í samræmi við það, sem gæti hafa leitt til þess að svæðið fór yfir minnissvið marktækisins.
Ógildur ATtiny truflunarkóði (XCS-2465) Þegar búið var að byggja fyrir Tatin tæki og fínstillingarnar voru óvirkar (-00), gætu truflanir hafa kveikt á operand utan sviðs samsetningarskilaboða.
Valkostir fara ekki í gegnum (XCS-2452) Þegar -Wl valmöguleikinn er notaður með mörgum, kommuaðskildum tengimöguleikum, voru ekki allir tengimöguleikar sendir til tengiliðsins.
Villa við óbeint lestur forritaminni (XCS-2450) Í sumum tilfellum framleiddi þýðandinn innri villu (óþekkjanlegt insn) þegar hann las tveggja bæta gildi úr bendili í forritaminni
Útgáfa 2.32
Annar aðgangur að bókasafni mistekst (XCS-2381) Að kalla fram Windows útgáfuna af xc8-ar. exe bókasafnsskjalasafni í annað sinn til að fá aðgang að núverandi bókasafnsskjalasafni gæti hafa mistekist með villuskilaboðum sem ekki var hægt að endurnefna.
Útgáfa 2.31
Óútskýrðar þýðandabilanir (XCS-2367) Þegar keyrt var á Windows kerfum sem var með tímabundna skrá kerfisins stillt á slóð sem innihélt punkt'.' staf, gæti þýðandinn hafa mistekist að keyra.
Útgáfa 2.30
Alþjóðleg merki röng eftir útlistun (XCS-2299) Handskrifaður samsetningarkóði sem setur alþjóðlega merkimiða í samsetningarraðir sem eru teknar út með verklagsfræðilegri útdrætti gæti ekki hafa verið rétt endurstaðsett.
Afslappandi hrun (XCS-2287) Notkun -merlad valmöguleikans gæti hafa valdið því að tengillinn hrundi þegar slökunarhagræðingar á halahoppi reyndu að fjarlægja ret leiðbeiningar sem voru ekki í lok hluta.
Hrun þegar merki eru fínstillt sem gildi (XCS-2282) Kóði sem notar „Merki sem gildi“ GNU C tungumálaviðbót gæti hafa valdið því að hagræðingaraðferðir á útdrætti hrundu, með útlistuðu VMA svið spannar uppfærsluvillu.
Ekki svo const (XCS-2271) Frumgerðirnar fyrir byrjun () og aðrar aðgerðir frá ekki lengur tilgreina óstaðlaða kostnaðarskilgreiningu á skiluðum strengjabendingum þegar -monist-data inprogmem eiginleiki er óvirkur. Athugaðu að með avrxmega3 og avertin tækjum er þessi eiginleiki virkur varanlega.
Týndir frumstillingar (XCS-2269) Þegar fleiri en ein breyta í þýðingareiningu var sett í hluta (með því að nota hluta eða eigind ((hluti))), og fyrsta slíka breytan var núll frumstillt eða hafði ekki frumstilli, frumstillir fyrir aðrar breytur í sömu þýðingareiningu sem voru sett í sama hluta týndust.
Útgáfa 2.29 (virkt öryggisútgáfa)
Engin.
Útgáfa 2.20
Villa með löngum skipunum (XCS-1983) Þegar þú notar AVR-markmið gæti þýðandinn hætt með a file ekki fannst villa, ef skipanalínan var mjög stór og innihélt sértákn eins og gæsalappir, skástrik o.s.frv.
Óúthlutaður rodatahluti (XCS-1920) AVR tengilinn tókst ekki að úthluta minni fyrir sérsniðna rodata hluta þegar hann var byggður fyrir avrxmega3 og avrtiny arkitektúr, sem gæti hugsanlega valdið minni skörunarvillum
Útgáfa 2.19 (virkt öryggisútgáfa)
Engin.
Útgáfa 2.10
Mistök við flutning (XCS-1891) Besti úthlutunartækið var að skilja eftir „göt“ í minni á milli hluta eftir slökun á tengil. Fyrir utan að sundra minni, jók þetta möguleikann á bilun í flutningi tengiliða sem tengjast tölvustökkum eða símtölum sem verða utan sviðs.
Leiðbeiningar ekki umbreyttar með slökun (XCS-1889) Linker slökun átti sér ekki stað fyrir leiðbeiningar um stökk eða köll þar sem hægt er að ná markmiðum ef slakað er á.
Vantar virkni (XCSE-388) Nokkrar skilgreiningar frá , eins og clock_ div_ t og clock_prescale_set (), voru ekki skilgreind fyrir tæki, þar á meðal ATmega324PB, ATmega328PB, ATtiny441 og ATtiny841.
Vantar fjölvi Forvinnslumagnið_ xcs _MODE_, _xcs VERSION, _xc og xcs voru ekki sjálfkrafa skilgreind af þýðandanum. Þessar eru nú fáanlegar.
Útgáfa 2.05
Innri þýðandavilla (XCS-1822) Þegar byggt er undir Windows gæti innri þýðandavilla verið framleidd við fínstillingu kóða.
RAM flæði fannst ekki (XCS-1800, XCS-1796) Forrit sem fóru yfir það tiltæka vinnsluminni fundust ekki af þýðandanum í sumum tilfellum, sem leiddi til bilunar í keyrslukóða.
Sleppt flassminni (XCS-1792) Fyrir avrxmega3 og avrtiny tæki gætu hlutar flassminnis hafa verið skildir eftir óforritaðir af MPLAB X IDE.
Mistök við að keyra aðal (XCS-1788) Í sumum tilfellum þar sem forritið hafði engar alþjóðlegar breytur skilgreindar, hætti ræsingarkóði keyrslutímans ekki og aðalfallinu () var aldrei náð.
Rangar minnisupplýsingar (XCS-1787) Fyrir avrxmega3 og avrtiny tæki var avr-stærð forritið að tilkynna að skrifvarinn gögn neyttu vinnsluminni í stað forritaminni.
Rangt lestur forritaminni (XCS-1783) Verkefni sem eru tekin saman fyrir tæki með forritaminni sem var varpað inn í gagnavistarrýmið og sem skilgreina hluti með því að nota PROGMEM fjölvi/eigin gætu hafa lesið þessa hluti frá röngum vistfangi.
Innri villa með eiginleikum (XCS-1773) Innri villa kom upp ef þú skilgreindir bendihluti með
_at () eða attribute() tákn á milli nafns bendils og frávísaðrar tegundar, td.ample, bleikja *
_at ( 0x80015 0) cp; Viðvörun er nú gefin út ef slíkur kóði rekst á.
Mistök við að keyra aðal (XCS-1780, XCS-1767, XCS-1754) Notkun EEPROM breytur eða skilgreining öryggi með því að nota stillingar pragma gæti hafa valdið rangri frumstillingu gagna og/eða læst keyrslu forrits í ræsingarkóða keyrslutíma, áður en komið er í main () .
Öryggisvilla með pínulitlum tækjum (XCS-1778, XCS-1742) Attiny4/5/9/10/20/40 tækin voru með ranga öryggislengd tilgreind í hausnum files sem leiða til tengivillna þegar reynt er að smíða kóða sem skilgreindi öryggi.
Segmentunarvilla (XCS-1777) Bilun í hléum hefur verið leiðrétt.
Assembler crash (XCS-1761) Avr-as assembler gæti hafa hrunið þegar þýðandinn var keyrður undir Ubuntu 18.
Hlutir ekki hreinsaðir (XCS-1752) Ekki er víst að hlutir sem ekki hafi verið frumstilltir í kyrrstöðu geymslutíma hafi verið hreinsaðir með ræsingarkóða keyrslutímans.
Andstæð forskrift tækis hunsuð (XCS-1749) Þjálfarinn var ekki að búa til villu þegar margir valkostir tækjaforskrifta voru notaðir og gaf til kynna mismunandi tæki.
Minni skemmd eftir hrúgu (XCS-1748) Röngt var verið að stilla heap_ start táknið, sem leiddi til þess að venjulegar breytur skemmdust af hrúgunni.
Villa við að flytja tengil (XCS-1739) Tengillflutningsvilla gæti hafa verið send út þegar kóði innihélt rjmp eða rcall með marki nákvæmlega 4k bætum í burtu.
Útgáfa 2.00
Engin.
Þekkt mál
Eftirfarandi eru takmarkanir á virkni þýðandans. Þetta geta verið almennar kóðunartakmarkanir, eða
frávik frá upplýsingum í notendahandbókinni. Merkimiðarnir í svigunum í titlinum eru auðkenni þess máls í rakningargagnagrunninum. Þetta gæti verið gagnlegt ef þú þarft að hafa samband við þjónustudeild. Þessir hlutir sem eru ekki með merki eru takmarkanir sem lýsa aðgerðum og sem líklegt er að haldist í gildi til frambúðar.
MPLAB X IDE samþætting
MPLAB IDE samþætting Ef nota á þýðanda frá MPLAB IDE, þá verður þú að setja upp MPLAB IDE áður en þú setur upp þýðanda.
Kóða kynslóð
Bilun í PA minni úthlutun (XCS-2881) Þegar hagræðingaraðferðir eru notaðar, gæti tengillinn tilkynnt um minnisúthlutunarvillur þegar kóðastærð er nálægt því magni af tiltæku forritaminni í tækinu, jafnvel þó að forritið ætti að geta passað tiltækt pláss.
Ekki svo snjallt Smart-IO (XCS-2872) Smart-io eiginleiki þýðandans mun búa til gildan en óákjósanlegan kóða fyrir sprettaðgerðina ef strand-gögn-í-próf-eiginleikinn hefur verið óvirkur eða ef tækið hefur allt flassið sitt kortlagt í gagnaminni.
Jafnvel minna snjall Smart-IO (XCS-2869) Smart-io eiginleiki þýðandans mun búa til gildan en óhagkvæman kóða þegar -floe og -fno-buil tin valkostirnir eru báðir notaðir.
Óákjósanlegur skrifvarinn gagnastaðsetning (XCS-2849) Tengillinn er sem stendur ekki meðvitaður um APPCODE og APPDATA minnishlutana, né [No-]Read-While-Write skiptingarnar í minniskortinu. Þar af leiðandi eru litlar líkur á því að tengillinn gæti úthlutað skrifvarið gögnum á óviðeigandi minnissvæði. Líkurnar á að gögn séu á röngum stað eykst ef kveikt er á Coast-data-in-pragma eiginleikanum, sérstaklega ef Coast-data-in-config-mapped-proem eiginleikinn er einnig virkur. Hægt er að slökkva á þessum eiginleikum ef þörf krefur.
Hlutur file vinnslupöntun (XCS-2863) Röð sem hlutir files verður unnin af tengilinn gæti verið mismunandi byggt á notkun verklagsbundinna útdráttarhagræðingar (-mpa valkostur). Þetta myndi aðeins hafa áhrif á kóða sem skilgreinir veikar aðgerðir yfir margar einingar.
Tengilvilla með algeru (XCS-2777) Þegar hlutur hefur verið gerður alger á heimilisfangi í upphafi vinnsluminni og óforstilltir hlutir hafa einnig verið skilgreindir, gæti tengivilla komið af stað.
Stutt vöknunarauðkenni (XCS-2775) Fyrir ATA5700/2 tæki eru PHID0/1 skrárnar aðeins skilgreindar sem 16 bita á breidd, frekar en 32 bita á breidd.
Tengill hrun þegar hringt er tákn (XCS-2758) Tengillinn gæti hrunið ef -merlad driver valmöguleikinn er notaður þegar frumkóði kallar á tákn sem hefur verið skilgreint með því að nota -Wl, –defsym link valmöguleikann.
Röng frumstilling (XCS-2679) Það er misræmi á milli þess hvar upphafsgildin fyrir suma hnattræna/stöðubæta-stærð hluti eru settir í gagnaminni og hvar hægt verður að nálgast breyturnar á keyrslutíma.
ræst rangt stillir tómt (XCS-2652) Í þeim tilvikum þar sem efnisstrengur fyrir umbreytingu með uppgefnu () inniheldur það sem virðist vera fljótandi tölustaf á veldisvísissniði og það er óvæntur stafur á eftir e-staf, þá mun tóma heimilisfangið, ef það er gefið upp, benda á stafinn á eftir e-ið en ekki e-ið sjálft. Til dæmisample: stated(“hooey”, tómur); mun leiða til þess að tómt bendir á x-stafinn.
Slæm óbein aðgerðasímtöl (XCS-2628) Í sumum tilfellum gætu fallköll sem gerðar eru í gegnum aðgerðabendil sem er geymdur sem hluti af uppbyggingu mistekist.
strtof skilar núlli fyrir sextándaflöt (XCS-2626) Bókasafnsföllin strtof () o.fl. og scanf () o.fl. munu alltaf umbreyta sextánsauka flottölu sem tilgreinir ekki veldisvísi í
núll. Til dæmisample: stator(“Ugla”, &tóm); mun skila gildinu 0, ekki 1.
Ónákvæm staflaráðgjafaskilaboð (XCS-2542, XCS-2541) Í sumum tilfellum er staflaráðgjafi viðvörun um endurkomu eða óákveðinn stafla sem notaður er (hugsanlega með notkun alloca()) ekki send út.
Bilun með tvíteknum truflunarkóða (XCS-2421) Þar sem fleiri en ein truflunaraðgerð er með sama meginmálið gæti þýðandinn látið úttakið fyrir eina truflunaraðgerðina kalla hina. Þetta mun leiða til þess að allar símtalsskrárskrár eru vistaðar að óþörfu og truflanirnar verða virkjaðar jafnvel áður en eftirmáli núverandi truflunarstjóra hefur keyrt, sem gæti leitt til kóðabilunar.
Const hlutir ekki í forritaminni (XCS-2408) Fyrir avrxmega3 og avertins verkefni eru óhugmyndaðir const hlutir settir í gagnaminni, jafnvel þó að viðvörun bendi til þess að þeir hafi verið settir í forritaminni. Þetta mun ekki hafa áhrif á tæki sem hafa ekki forritaminni kortlagt inn í gagnaminnið, né mun það hafa áhrif á hlut sem er frumstilltur.
Rangt úttak með ógildri DFP slóð (XCS-2376) Ef þýðandinn er kallaður fram með ógildri DFP slóð og „spec“ file er til fyrir valið tæki, þýðandinn er ekki að tilkynna um fjölskyldupakkann sem vantar og velur í staðinn „spec“ file, sem gæti þá leitt til ógilds úttaks. 'Specið' files gætu ekki verið uppfærð með dreifðu DFP og voru eingöngu ætluð til notkunar með innri þýðandaprófun.
Minni skörun ógreind (XCS-1966) Þjálfarinn greinir ekki minnisskörun hluta sem eru gerðir algjörir á heimilisfangi (í gegnum at ()) og öðrum hlutum sem nota hluta () forskriftina og sem eru tengdir við sama heimilisfang.
Bilun í bókasafnsaðgerðum og _meme (XCS-1763) Kallaðar limbískar flotaðgerðir með viðfangsefni í _memo heimilisfangsrýminu gætu mistekist. Athugaðu að bókasafnsvenjur eru kallaðar frá sumum C rekstraraðila, svo tdample, eftirfarandi kóði hefur áhrif: return regFloatVar > memxFloatVar;
Takmörkuð limbísk útfærsla (AVRTC-731) Fyrir ATTiny4/5/9/10/20/40 vörurnar er staðlað C / Math bókasafnsútfærsla í limbic mjög takmörkuð eða ekki til staðar.
Takmarkanir forritaminni (AVRTC-732) Forritaminnismyndir umfram 128 kb eru studdar af verkfærakeðjunni; Hins vegar eru þekkt tilvik þar sem tengill hættir án slökunar og án gagnlegra villuboða frekar en að búa til nauðsynlega fallstubba þegar -relax valkosturinn er notaður.
Takmarkanir á nafnrými (AVRTC-733) Nafnuð vistfangarými eru studd af verkfærakeðjunni, með fyrirvara um þær takmarkanir sem getið er um í kaflanum um sérstakar gerðir.
Tímabelti The bókasafnsaðgerðir gera ráð fyrir GMT og styðja ekki staðbundin tímabelti, þannig að staðartími () mun skila sama tíma og gummite (), td.ample.
VIÐSKIPTAVÍÐA
file:///Applications/microehip/xc8/v 2 .40/docs/Read me_X C 8_ fyrir VR. htm
Skjöl / auðlindir
![]() |
MICROCHIP MPLAB XC8 C þýðandahugbúnaður [pdf] Handbók eiganda MPLAB XC8 C, MPLAB XC8 C þýðandahugbúnaður, þýðandahugbúnaður, hugbúnaður |