MICROCHIP MPLAB XC8 C Compiler Meddalwedd 

MICROCHIP MPLAB XC8 C Compiler Meddalwedd

MAE'R DDOGFEN HON YN CYNNWYS GWYBODAETH BWYSIG SY'N YMWNEUD Â'R CASGLYDD MPLAB XC8 C WRTH TARGEDU DYFEISIAU MICROCHIP AVR.
DARLLENWCH YMA CYN RHEDEG Y FEDDALWEDD HON. GWELER NODIADAU RHYDDHAU CASGLYDD MPLAB XC8 C AR GYFER DOGFEN PIC OS YDYCH YN DEFNYDDIO'R CASGLYDD AR GYFER DYFEISIAU PIC 8-BIT.

Cynnwys cuddio

Drosoddview

Rhagymadrodd

Mae'r datganiad hwn o'r casglwr Microsglodyn MPLAB® XC8 C yn cynnwys nifer o nodweddion newydd, atgyweiriadau nam, a chefnogaeth dyfais newydd.

Dyddiad Adeiladu

Dyddiad adeiladu swyddogol y fersiwn casglwr hwn yw 3 Gorffennaf 2022.

Fersiwn Blaenorol

Y fersiwn casglwr XC8 C MPLAB blaenorol oedd 2.39, casglwr diogelwch swyddogaethol, a adeiladwyd ar 27 Ionawr 2022. Y casglwr safonol blaenorol oedd fersiwn 2.36, a adeiladwyd ar 27 Ionawr 2022.

Llawlyfr Diogelwch Swyddogaethol

Mae Llawlyfr Diogelwch Swyddogaethol ar gyfer casglwyr MPLAB XC ar gael yn y pecyn dogfennaeth pan fyddwch chi'n prynu trwydded diogelwch swyddogaethol.

Trwyddedau Cydran a Fersiynau

Mae'r MPLAB® XC8 C Compiler ar gyfer offer AVR MCUs yn cael eu hysgrifennu a'u dosbarthu o dan Drwydded Gyhoeddus Gyffredinol GNU (GPL) sy'n golygu bod ei god ffynhonnell yn cael ei ddosbarthu'n rhydd ac ar gael i'r cyhoedd. Gellir lawrlwytho'r cod ffynhonnell ar gyfer offer o dan y GNU GPL ar wahân i Microsglodyn websafle. Gallwch ddarllen y GNU GPL yn y file a enwir lleoli is-gyfeiriadur eich cyfeiriadur gosod. Mae trafodaeth gyffredinol o'r egwyddorion sy'n sail i'r GPL i'w gweld yma. Darperir cod cymorth ar gyfer y pennawd files, sgriptiau cysylltwyr, a llyfrgelloedd amser rhedeg yn god perchnogol ac nid ydynt yn dod o dan y GPL.

Mae'r casglwr hwn yn gweithredu fersiwn GCC 5.4.0, fersiwn binutils 2.26, ac mae'n defnyddio fersiwn avr-libc 2.0.0.

Gofynion y System

Mae casglwr MPLAB XC8 C a'r meddalwedd trwyddedu y mae'n ei ddefnyddio ar gael ar gyfer amrywiaeth o systemau gweithredu, gan gynnwys fersiynau 64-bit o'r canlynol: Rhifynnau proffesiynol o Microsoft Windows 10; Ubuntu 18.04; a macOS 10.15.5. Mae deuaidd ar gyfer Windows wedi'u llofnodi â chod. Deuaidd ar gyfer mac OS wedi cael eu llofnodi cod a notarized.

Os ydych yn rhedeg gweinydd trwydded rhwydwaith, dim ond cyfrifiaduron gyda systemau gweithredu a gefnogir gan y casglwyr y gellir eu defnyddio i gynnal y gweinydd trwydded. O xclm fersiwn 2.0, gellir gosod y gweinydd trwydded rhwydwaith ar lwyfan Microsoft Windows Server, ond nid oes angen i'r gweinydd trwydded redeg ar fersiwn gweinydd o'r system weithredu.

Dyfeisiau a Gefnogir

Mae'r casglwr hwn yn cefnogi'r holl ddyfeisiau MCU AVR 8-did sy'n hysbys ar adeg rhyddhau. Gweler (yng nghyfeiriadur doc y casglwr) am restr o'r holl ddyfeisiau a gefnogir. Rhain files hefyd yn rhestru gosodiadau did cyfluniad ar gyfer pob dyfais.

Rhifynnau ac Uwchraddio Trwyddedau

Gellir actifadu casglwr MPLAB XC8 fel cynnyrch trwyddedig (PRO) neu ddidrwydded (Am Ddim). Mae angen i chi brynu allwedd actifadu i drwyddedu'ch casglwr. Mae trwydded yn caniatáu lefel uwch o optimeiddio o'i gymharu â'r cynnyrch Am Ddim. Gellir gweithredu casglwr didrwydded am gyfnod amhenodol heb drwydded.

Rhaid actifadu casglwr Diogelwch Gweithredol MPLAB XC8 gyda thrwydded diogelwch swyddogaethol a brynwyd gan Microsglodyn. Ni fydd y casglwr yn gweithredu heb y drwydded hon. Ar ôl ei actifadu, gallwch ddewis unrhyw lefel optimeiddio a defnyddio'r holl nodweddion casglwr. Mae'r datganiad hwn o'r MPLAB XC Functional Safety Compiler yn cefnogi'r Drwydded Gweinyddwr Rhwydwaith.
Gweler y ddogfen Gosod a Thrwyddedu Crynwyr MPLAB XC C (DS50002059) am wybodaeth am fathau o drwyddedau a gosod y casglwr gyda thrwydded.

Gosod a Activation

Gweler hefyd yr adrannau Materion Ymfudo a Chyfyngiadau am wybodaeth bwysig am y rheolwr trwydded diweddaraf sydd wedi'i chynnwys gyda'r casglwr hwn.
Os ydych chi'n defnyddio MPLAB IDE, gwnewch yn siŵr eich bod chi'n gosod y fersiwn MPLAB X IDE diweddaraf 5.0 neu'n ddiweddarach cyn gosod yr offeryn hwn. Gadael y DRhA cyn gosod y casglwr. Rhedeg y .exe (Windows), .run (Linux) neu app (macOS) cymhwysiad gosodwr casglwr, ee XC8-1.00.11403-windows.exe a dilynwch y cyfarwyddiadau ar y sgrin.
Argymhellir y cyfeiriadur gosod rhagosodedig. Os ydych chi'n defnyddio Linux, rhaid i chi osod y casglwr gan ddefnyddio terfynell ac o gyfrif gwraidd. Gosodwch gan ddefnyddio cyfrif macOS gyda breintiau gweinyddwr.

Mae actifadu bellach yn cael ei wneud ar wahân i'r gosodiad. Gweler y ddogfen Rheolwr Trwydded ar gyfer MPLAB® XC C Compilers (DS52059) am ragor o wybodaeth.

Os byddwch yn dewis rhedeg y casglwr o dan y drwydded werthuso, byddwch yn awr yn cael rhybudd yn ystod y llunio pan fyddwch o fewn 14 diwrnod i ddiwedd eich cyfnod gwerthuso. Rhoddir yr un rhybudd os ydych o fewn 14 diwrnod i ddiwedd eich tanysgrifiad HPA.

Mae Gweinydd Trwydded Rhwydwaith XC yn osodwr ar wahân ac nid yw wedi'i gynnwys yn y gosodwr casglwr un defnyddiwr.

Mae Rheolwr Trwydded XC bellach yn cefnogi crwydro trwyddedau rhwydwaith fel y bo'r angen. Wedi'i anelu at ddefnyddwyr ffonau symudol, mae'r nodwedd hon yn caniatáu trwydded symudol i fynd oddi ar y rhwydwaith am gyfnod byr o amser. Gan ddefnyddio'r nodwedd hon, gallwch ddatgysylltu o'r rhwydwaith a dal i ddefnyddio'ch casglwr MPLAB XC. Gweler ffolder doc y gosodiad XCLM am fwy ar y nodwedd hon. Mae MPLAB X IDE yn cynnwys ffenestr Trwyddedau (Offer > Trwyddedau) i reoli crwydro yn weledol.

Datrys Problemau Gosod

Os ydych chi'n cael anawsterau wrth osod y casglwr o dan unrhyw un o systemau gweithredu Windows, rhowch gynnig ar yr awgrymiadau canlynol.

  • Rhedeg y gosodiad fel gweinyddwr.
  • Gosodwch ganiatâd y rhaglen gosodwr i 'Rheolaeth lawn'. (De-gliciwch ar y file, dewiswch Priodweddau, tab Diogelwch, dewiswch ddefnyddiwr, golygu.)
  • Gosodwch ganiatadau'r ffolder dros dro i “Rheolaeth Lawn!

I bennu lleoliad y ffolder dros dro, teipiwch % temp% i'r gorchymyn Run (allwedd logo Windows + R). Bydd hyn yn agor a file deialog fforiwr yn dangos y cyfeiriadur hwnnw a bydd yn caniatáu ichi bennu llwybr y ffolder honno.

Dogfennaeth Casglwr

Gellir agor canllawiau defnyddiwr y casglwr o'r dudalen HTML sy'n agor yn eich porwr wrth glicio ar y botwm cymorth glas yn dangosfwrdd MPLAB X IDE, fel y nodir yn y sgrinlun.

Dogfennaeth Casglwr
Os ydych chi'n adeiladu ar gyfer targedau AVR 8-did, mae Canllaw Defnyddiwr Cryno MPLAB® XC8 C ar gyfer AVR® MCU yn cynnwys gwybodaeth am yr opsiynau casglwr a'r nodweddion hynny sy'n berthnasol i'r bensaernïaeth hon.

Cefnogaeth i Gwsmeriaid

Mae microsglodyn yn croesawu adroddiadau nam, awgrymiadau neu sylwadau am y fersiwn casglwr hwn. Cyfeiriwch unrhyw adroddiadau nam neu geisiadau nodwedd trwy'r System Gymorth.

Diweddariadau Dogfennau

I gael fersiynau ar-lein a chyfredol o ddogfennaeth MPLAB XC8, ewch i Dogfennaeth Dechnegol Ar-lein Microchip websafle.

Dogfennaeth AVR newydd neu wedi'i diweddaru yn y datganiad hwn:

  • Hysbysiad hawlfraint MUSL
  • Gosod a Thrwyddedu Crynwyr MPLAB XC C (diwygiad M)
  • Canllaw Defnyddwyr MPLAB XC8 ar gyfer Peirianwyr Gwreiddiol - MCUs AVR (diwygiad A)
  • Canllaw Defnyddiwr Crynhowyr MPLAB XC8 C ar gyfer AVR MCU (adolygiad F)
  • Microsglodyn Canllaw Cyfeirio Safonol Llyfrgell Unedig (diwygiad B)

Mae Canllaw Cyfeirio Llyfrgell Safonol Unedig Microsglodion yn disgrifio ymddygiad a rhyngwyneb i'r swyddogaethau a ddiffinnir gan Lyfrgell Safonol Unedig Microsglodyn, yn ogystal â'r defnydd arfaethedig o'r mathau o lyfrgelloedd a macros. Roedd peth o'r wybodaeth hon wedi'i chynnwys yn flaenorol yn y Canllaw Defnyddiwr Crynhoad! MPLAB® XC8 C ar gyfer AVR® MCU. Mae gwybodaeth llyfrgell sy'n benodol i ddyfais yn dal i gael ei chynnwys yn y canllaw crynodwr hwn.

Os ydych chi newydd ddechrau gyda dyfeisiau 8-did a bod y Crynhoadwr MPLAB XC8 C, Canllaw Defnyddwyr MPLAB® XC8 ar gyfer Peirianwyr Embedded - AVR® MCUs (DS50003108) yn cynnwys gwybodaeth am sefydlu prosiectau yn y MPLAB X IDE ac ysgrifennu cod ar gyfer eich prosiect MPLAB XC8 C cyntaf. Mae'r canllaw hwn bellach yn cael ei ddosbarthu gyda'r casglwr.

Mae Canllaw Defnyddiwr Hamate wedi'i gynnwys yn y cyfeiriadur dogfennau yn y datganiad hwn. Mae'r canllaw hwn wedi'i fwriadu ar gyfer y rhai sy'n rhedeg Hamate fel cymhwysiad annibynnol.

Beth sy'n Newydd

Mae'r canlynol yn nodweddion targed AVR newydd y mae'r casglwr bellach yn eu cefnogi. Mae rhif y fersiwn yn yr is-benawdau yn nodi'r fersiwn casglwr cyntaf i gefnogi'r nodweddion sy'n dilyn.

Fersiwn 2.40

Cefnogaeth dyfais newydd Mae cefnogaeth bellach ar gael ar gyfer y rhannau AVR canlynol: AT90PWM3, AVR16DD14, AVR16DD20, AVR16DD28, AVR16DD32, AVR32DD14, AVR32DD20, AVR32DD28, AVR32DD32, AVR64EA28, AVR64EA32, a AVR64EA48
Gwell tynnu gweithdrefnol Mae'r offeryn optimeiddio tynnu gweithdrefnol (PA) wedi'i wella fel y gellir amlinellu cod sy'n cynnwys cyfarwyddyd galwad ffwythiant ( galw i gof ) ). Bydd hyn ond yn digwydd os na ddefnyddir y pentwr i drosglwyddo dadleuon i'r swyddogaeth na chael gwerth dychwelyd ohoni. Mae'r pentwr yn cael ei ddefnyddio wrth alw ffwythiant gyda rhestr dadl newidiol neu wrth alw swyddogaeth sy'n cymryd mwy o ddadleuon nag sydd o gofrestrau wedi'u dynodi at y diben hwn. Gellir analluogi'r nodwedd hon gan ddefnyddio'r opsiwn galwadau amlinellol monk-pa, neu gellir analluogi tynnu gweithdrefnol yn gyfan gwbl ar gyfer gwrthrych file neu swyddogaeth trwy ddefnyddio'r -monk-pa-on-file a -mo.-pa-ar-swyddogaeth yn y drefn honno, neu drwy ddefnyddio'r briodwedd nipa (manyleb nipa) yn ddetholus gyda ffwythiannau

macro cwmpas y cod Mae'r casglwr bellach yn diffinio'r macro __CODECOV os nodir opsiwn mcodecov dilys.

Opsiwn cadw cof Bydd y gyrrwr xc8-cc nawr yn derbyn yr opsiwn diwedd -mreserve=space@start: wrth adeiladu ar gyfer targedau AVR. Mae'r opsiwn hwn yn cadw'r ystod cof penodedig yn y gofod cof data neu raglen, gan atal y cysylltydd rhag poblogi cod neu wrthrychau yn yr ardal hon.

IO smart doethach Mae nifer o welliannau wedi'u gwneud i swyddogaethau Smart IO, gan gynnwys newidiadau cyffredinol i'r cod craidd printf, trin y manylebydd trosi %n fel amrywiad annibynnol, gan gysylltu arferion vararg pop ar alw, gan ddefnyddio mathau data byrrach lle bo'n bosibl ar gyfer ymdrin â dadleuon swyddogaeth IO , a ffactoreiddio cod cyffredin mewn lled maes a thrin manwl gywir. Gall hyn arwain at arbedion cod a data sylweddol, yn ogystal â chynyddu cyflymder gweithredu IO.

Fersiwn 2.39 (Datganiad Diogelwch Swyddogaethol)

Trwydded Gweinydd Rhwydwaith Mae'r datganiad hwn o'r MPLAB XC8 Functional Safety Compiler yn cefnogi'r Drwydded Gweinyddwr Rhwydwaith.

Fersiwn 2.36

Dim.

Fersiwn 2.35

Cefnogaeth dyfais newydd Mae cefnogaeth ar gael ar gyfer y rhannau AVR canlynol: ATTINY3224, ATTINY3226, ATTINY3227, AVR64DD14, AVR64DD20, AVR64DD28, ac AVR64DD32.

Gwell newid cyd-destun Mae'r opsiwn newydd -mcall-isr-prologues yn newid sut mae swyddogaethau torri ar draws yn arbed cofrestrau wrth fynd i mewn a sut mae'r cofrestrau hynny'n cael eu hadfer pan fydd y drefn ymyrraeth yn dod i ben. Mae'n gweithio mewn ffordd debyg i'r opsiwn -mcall-prologues, ond dim ond yn effeithio ar swyddogaethau torri ar draws (ISRs).

Gwell fyth o newid cyd-destun Mae'r opsiwn -mgas-isr-prologues newydd yn rheoli'r cod cosi cyd-destun a gynhyrchir ar gyfer arferion gwasanaeth ymyrraeth bach. Pan fydd wedi'i galluogi, bydd y nodwedd hon yn cael y cydosodwr yn sganio'r ISR ar gyfer defnydd y gofrestr a dim ond yn cadw'r cofrestrau ail-law hyn os oes angen.

Mapio fflach ffurfweddu Mae gan rai dyfeisiau yn y teulu AVR DA ac AVR DB SFR (ee FLMAP) sy'n nodi pa adran 32k o gof y rhaglen fydd yn cael ei mapio i'r cof data. Gellir defnyddio'r opsiwn newydd - mconst-data-in-config-mapped-proem i gael y cysylltydd i osod yr holl ddata cymwysadwy mewn un adran 32k a chychwyn y gofrestr SFR berthnasol yn awtomatig i sicrhau bod y data hwn yn cael ei fapio yn y gofod cof data , lle bydd mynediad mwy effeithiol ato.

Llyfrgelloedd Safonol Unedig Microsglodyn Bydd pob casglwr MPLAB XC yn rhannu Llyfrgell Safonol Unedig Microsglodyn, sydd bellach ar gael gyda'r datganiad hwn o MPLAB XC8. Nid yw Canllaw Defnyddiwr Cryno MPLAB® XC8 C/neu AVR® MCU bellach yn cynnwys y dogfennau ar gyfer y swyddogaethau safonol hyn. Mae'r wybodaeth hon bellach i'w chael yn y Microsglodyn Unified Standard Library Reference Guide. Sylwch nad yw rhai swyddogaethau a ddiffiniwyd yn flaenorol gan avr-libc ar gael mwyach. (Gweler y Llyfrgellydd):'. ymarferoldeb…)

IO Clyfar Fel rhan o'r llyfrgelloedd unedig newydd, mae swyddogaethau IO yn y teuluoedd argraffu a sganio bellach yn cael eu cynhyrchu'n arbennig ar bob adeilad, yn seiliedig ar sut mae'r swyddogaethau hyn yn cael eu defnyddio yn y rhaglen. Gall hyn leihau'n sylweddol yr adnoddau a ddefnyddir gan raglen.
Opsiwn cymorth IO Smart Wrth ddadansoddi galwadau i swyddogaethau IO craff (fel printf () neu scanf () ), ni all y casglwr bob amser benderfynu o'r llinyn fformat na chasglu o'r dadleuon y manylebau trosi hynny sy'n ofynnol gan yr alwad. Yn flaenorol, ni fyddai'r casglwr bob amser yn gwneud unrhyw ragdybiaethau ac yn sicrhau bod swyddogaethau IO cwbl weithredol yn gysylltiedig â delwedd y rhaglen derfynol. Mae opsiwn newydd - msmart-io-format = fmt wedi'i ychwanegu fel y gall y defnyddiwr hysbysu'r casglwr yn lle hynny am y manylebau trosi a ddefnyddir gan swyddogaethau IO craff y mae eu defnydd yn amwys, gan atal arferion IO rhy hir rhag cael eu cysylltu. (Gweler Opsiwn fformat smart-io am ragor o fanylion.)

Gosod adrannau personol Yn flaenorol, roedd yr opsiwn -Wl, -section-start dim ond yn gosod yr adran benodedig yn y cyfeiriad y gofynnwyd amdano pan ddiffiniodd y sgript cysylltu adran allbwn gyda'r un enw. Pan nad oedd hynny'n wir, gosodwyd yr adran mewn cyfeiriad a ddewiswyd gan y cysylltydd ac anwybyddwyd yr opsiwn yn y bôn. Nawr bydd yr opsiwn yn cael ei anrhydeddu ar gyfer pob adran arfer, hyd yn oed os nad yw'r sgript cysylltu yn diffinio'r adran. Sylwch, fodd bynnag, ar gyfer adrannau safonol, fel . testun, . bs neu . data, bydd y dyranwr ffit orau yn dal i gael rheolaeth lwyr dros eu lleoliad, ac ni fydd yr opsiwn yn cael unrhyw effaith. Defnyddiwch yr opsiwn -Wl, -Tsection=ychwanegu, fel y disgrifir yn y canllaw defnyddiwr.

Fersiwn 2.32

Arweiniad Stack Ar gael gyda thrwydded casglwr PRO, gellir defnyddio nodwedd canllaw stac y casglwr i amcangyfrif dyfnder mwyaf unrhyw stac a ddefnyddir gan raglen. Mae'n llunio ac yn dadansoddi graff galwad rhaglen, yn pennu defnydd pentwr pob swyddogaeth, ac yn cynhyrchu adroddiad, y gellir casglu o'r dyfnder y staciau a ddefnyddir gan y rhaglen. Mae'r nodwedd hon wedi'i galluogi trwy'r opsiwn llinell orchymyn -mchp-stack-usage. Mae crynodeb o'r defnydd o stac yn cael ei argraffu ar ôl ei weithredu. Mae adroddiad stac manwl ar gael ar y map file, y gellir gofyn amdano yn y ffordd arferol.

Cefnogaeth cymorth dyfais newydd ar gael ar gyfer y rhannau AVR canlynol: ATTINY 427, ATTINY 424, ATTINY 426, ATTINY827, ATTINY824, ATTINY826, AVR32DB32, AVR64DB48, AVR64DB64, AVR64DB28, AVR32, ac AVR28, ac AVR64, ac AVR32, ac AVR32, ac AVR48, ac AVRXNUMX, ac AVRXNUMX, ac AVRXNUMX, ac AVRXNUMX, ac AVRXNUMX, ac AVRXNUMX, ac AVRXNUMX, ac AVRXNUMX, ac AVRXNUMX

Cymorth dyfais wedi'i dynnu'n ôl Cymorth nad yw ar gael bellach ar gyfer y rhannau AVR canlynol: AVR16DA28, AVR16DA32 ac, AVR16DA48.

Fersiwn 2.31

Dim.

Fersiwn 2.30

Opsiwn newydd i atal cychwyn data Mae opsiwn gyrrwr -mno-data-ini t newydd yn atal cychwyn data a chlirio adrannau bss. Mae'n gweithio trwy atal allbwn y data do_ copy_ a d o_ clear_ bss symbolau yn y cynulliad files, a fydd yn ei dro yn atal cynnwys yr arferion hynny gan y cysylltydd.

Gwelliannau i'w hoptimeiddio Mae nifer o welliannau optimeiddio wedi'u gwneud, gan gynnwys cael gwared ar gyfarwyddiadau dychwelyd diangen, cael gwared ar rai neidiau yn dilyn cyfarwyddyd sgip-os-did-yw, a gwell tynnu gweithdrefnol a'r gallu i ailadrodd y broses hon.

Mae opsiynau ychwanegol ar gael nawr i reoli rhai o'r optimeiddiadau hyn, yn benodol -f adran angorau, sy'n caniatáu mynediad o wrthrychau statig i gael eu perfformio o gymharu ag un symbol; -mpai derations=n, sy'n caniatáu i nifer yr iteriadau tynnu gweithdrefnol gael eu newid o'r rhagosodiad o 2; a, -mpa- call cost- shortcall, sy'n perfformio mwy o dyniad gweithdrefnol ymosodol, yn y gobaith y gall y cysylltydd ymlacio galwadau hir. Gall yr opsiwn olaf hwn gynyddu maint y cod os na chaiff y tybiaethau sylfaenol eu gwireddu.

Cefnogaeth dyfais newydd Mae cefnogaeth ar gael ar gyfer y rhannau AVR canlynol: AVR16DA28, AVR16DA32,
AVR16DA48, AVR32DA28, AVR32DA32, AVR32DA48, AVR64DA28, AVR64DA32, AVR64DA48, AVR64DA64, AVR128DB28, AVR128DB32, AVR128DB48, ac AVR128DB.

Cefnogaeth dyfais wedi'i thynnu'n ôl Nid yw cymorth ar gael bellach ar gyfer y rhannau AVR canlynol: ATA5272, ATA5790, ATA5790N, ATA5791, ATA5795, ATA6285, ATA6286, ATA6612C, ATA6613C, ATA6614Q, ATA6616C, ATA6617C, a 664251.

Fersiwn 2.29 (Datganiad Diogelwch Swyddogaethol)

Pennawd file ar gyfer casglwr adeiledig Er mwyn sicrhau y gall y casglwr gydymffurfio â manylebau iaith megis MISRA, mae'r pennyn file, sy'n cael ei gynnwys yn awtomatig gan , wedi'i ddiweddaru. Mae'r pennyn hwn yn cynnwys y prototeipiau ar gyfer yr holl swyddogaethau mewnol, megis _buil tin _avrnop () a _buil tin_ avr delay_ cycles (). Efallai na fydd rhai adeiladau adeiledig yn cydymffurfio â MISRA; gellir hepgor y rhain trwy ychwanegu'r diffiniad _Xe_ STRICT_ MISRA at y llinell orchymyn casglwr. Mae'r adeiladau adeiledig a'u datganiadau wedi'u diweddaru i ddefnyddio mathau o led sefydlog.

Fersiwn 2.20

Cefnogaeth dyfais newydd Mae cefnogaeth ar gael ar gyfer y rhannau AVR canlynol: ATTINY1624, ATTINY1626, ac ATTINY1627.

Gwell dyraniad ffit orau Mae'r dyraniad ffit orau (BFA) yn y casglwr wedi'i wella fel bod adrannau'n cael eu dyrannu mewn trefn sy'n caniatáu gwell optimeiddio. Mae'r BFA bellach yn cefnogi mannau cyfeiriad a enwir ac yn trin cychwyn data yn well.

Gwell tynnu gweithdrefnol Mae'r optimeiddiadau tynnu gweithdrefnol bellach yn cael eu perfformio ar fwy o ddilyniannau cod. Ymdriniwyd â sefyllfaoedd blaenorol lle gallai'r optimeiddio hwn fod wedi cynyddu maint y cod trwy wneud y cod optimeiddio yn ymwybodol o broses casglu sbwriel y cysylltydd.

Absenoldeb AVR Assembler Nid yw'r AVR Assembler bellach wedi'i gynnwys gyda'r dosbarthiad hwn.

Fersiwn 2.19 (Datganiad Diogelwch Swyddogaethol)

Dim.

Fersiwn 2.10

Cwmpas y Cod Mae'r datganiad hwn yn cynnwys nodwedd cwmpas cod sy'n hwyluso dadansoddiad o'r graddau y mae cod ffynhonnell prosiect wedi'i weithredu. Defnyddiwch yr opsiwn -mcodecov= hwrdd i'w alluogi. Ar ôl gweithredu'r rhaglen ar eich caledwedd, bydd gwybodaeth cwmpas cod yn cael ei choladu yn y ddyfais, a gall hyn gael ei drosglwyddo i'r MPLAB X IDE a'i arddangos trwy ategyn sylw cod. Gweler y ddogfennaeth DRhA i gael gwybodaeth am yr ategyn hwn. Gellir defnyddio'r mcodecov #pragma i eithrio swyddogaethau dilynol o'r dadansoddiad cwmpas. Yn ddelfrydol dylid ychwanegu'r pragma ar ddechrau'r file i eithrio hynny i gyd file o'r dadansoddiad cwmpas. Fel arall, gellir defnyddio'r priodoledd ( ( mcodecov ) ) i eithrio swyddogaeth benodol o'r dadansoddiad cwmpas.

Disgrifiad dyfais files Dyfais newydd file a elwir avr chipinfo. html wedi'i leoli yng nghyfeirlyfr docs y dosbarthiad casglwr. hwn file yn rhestru'r holl ddyfeisiau a gefnogir gan y casglwr. Cliciwch ar enw dyfais, a bydd yn agor tudalen yn dangos yr holl barau gosodiadau/gwerth cyfluniad caniataol ar gyfer y ddyfais honno, gydag examples.

Tynnu trefniadol Mae optimeiddiadau tynnu gweithdrefnol, sy'n disodli blociau cyffredin o god cydosod gyda galwadau i gopi wedi'i dynnu o'r bloc hwnnw, wedi'u hychwanegu at y casglwr. Mae'r rhain yn cael eu perfformio gan raglen ar wahân, sy'n cael ei ddefnyddio'n awtomatig gan y casglwr wrth ddewis optimeiddiadau lefel 2, 3 neu. Mae'r optimeiddiadau hyn yn lleihau maint y cod, ond efallai y byddant yn lleihau cyflymder gweithredu a dadfygio cod.
Gellir analluogi tynnu gweithdrefnol ar lefelau optimeiddio uwch gan ddefnyddio'r opsiwn -mno-pa, neu gellir ei alluogi ar lefelau optimeiddio is (yn amodol ar eich trwydded) trwy ddefnyddio -mpa. Gellir ei analluogi ar gyfer gwrthrych file defnyddio -mno-pa-ar-file=fileenw, neu wedi'i analluogi ar gyfer swyddogaeth trwy ddefnyddio -mno-pa ar swyddogaeth = ffwythiant.
Y tu mewn i'ch cod ffynhonnell, gellir analluogi tynnu gweithdrefnol ar gyfer swyddogaeth trwy ddefnyddio _attribute_ ( (nopa)) gyda diffiniad y ffwythiant, neu drwy ddefnyddio _nopa, sy'n ehangu i briodoledd ( (nopa, noinline)) ac felly'n atal mewnliniad swyddogaeth rhag digwydd a bod tyniad o god amlinellol.
Cloi cefnogaeth did mewn pragma Gellir defnyddio'r ffurfwedd #pragma nawr i nodi'r darnau clo AVR yn ogystal â'r darnau ffurfweddu eraill. Gwiriwch y wybodaeth sglodion avr. html file (a grybwyllir uchod) i'r parau lleoliad/gwerth ei ddefnyddio gyda'r pragma hwn.
Cefnogaeth dyfais newydd Mae cefnogaeth ar gael ar gyfer y rhannau canlynol: AVR28DA128, AVR64DA128, AVR32DA128, ac AVR48DA128.

Fersiwn 2.05

Mwy o ddarnau am eich arian Mae fersiwn macOS o'r casglwr a'r rheolwr trwydded hwn bellach yn gymhwysiad 64-bit. Bydd hyn yn sicrhau y bydd y casglwr yn gosod ac yn rhedeg heb rybuddion ar fersiynau diweddar o macOS.
Gwrthrychau Const mewn cof rhaglen Gall y casglwr nawr osod gwrthrychau cymwysedig yng nghof Flash y rhaglen, yn hytrach na lleoli'r rhain mewn RAM. Mae'r casglwr wedi'i addasu fel bod data byd-eang cymwysedig const yn cael ei storio mewn cof fflach rhaglen a gellir cyrchu'r data hwn yn uniongyrchol ac yn anuniongyrchol gan ddefnyddio'r cyfarwyddiadau cof rhaglen priodol. Mae'r nodwedd newydd hon wedi'i galluogi yn ddiofyn ond gellir ei hanalluogi gan ddefnyddio'r opsiwn -mno-const-data-in-progmem. Ar gyfer pensaernïaeth avrxmega3 ac avrtiny, nid oes angen y nodwedd hon ac mae bob amser yn anabl, gan fod cof rhaglen wedi'i fapio i'r gofod cyfeiriad data ar gyfer y dyfeisiau hyn.
Safonol am ddim Mae fersiynau didrwydded (am ddim) o'r casglwr hwn bellach yn caniatáu optimeiddio hyd at a chan gynnwys lefel 2. Bydd hyn yn caniatáu allbwn tebyg, er nad yw'n union yr un fath, i'r hyn a oedd yn bosibl yn flaenorol gan ddefnyddio trwydded Safonol.
Croeso AVRSM2 Mae'r cydosodwr AVRASM2 ar gyfer dyfeisiau 8-did bellach wedi'i gynnwys yn y gosodwr casglwr XC8. Ni ddefnyddir y cydosodwr hwn gan y casglwr XC8, ond mae ar gael ar gyfer prosiectau sy'n seiliedig ar ffynhonnell cydosod mewn llawysgrifen.
Cefnogaeth dyfais newydd Mae cymorth ar gael ar gyfer y rhannau canlynol: ATMEGA1608, ATMEGA1609, ATMEGA808, ac ATMEGA809.

Fersiwn 2.00

Gyrrwr lefel uchaf Mae gyrrwr newydd, o'r enw xc8-cc, bellach yn eistedd uwchben y gyrrwr avr-gcc blaenorol a'r gyrrwr xc8, a gall alw'r casglwr priodol yn seiliedig ar ddewis y ddyfais darged. Mae'r gyrrwr hwn yn derbyn opsiynau arddull GCC, sydd naill ai'n cael eu cyfieithu ar gyfer neu'n cael eu trosglwyddo i'r casglwr sy'n cael ei weithredu. Mae'r gyrrwr hwn yn caniatáu set debyg o opsiynau gyda semanteg tebyg i'w defnyddio gydag unrhyw darged AVR neu PIC ac felly dyma'r ffordd a argymhellir i alw'r casglwr. Os oes angen, gellir galw'r hen yrrwr avr-gcc yn uniongyrchol gan ddefnyddio'r opsiynau hen arddull a dderbyniodd mewn fersiynau casglwr cynharach.

Rhyngwyneb C Cyffredin Gall y casglwr hwn bellach gydymffurfio â Rhyngwyneb Cyffredin C MPLAB, gan ganiatáu i'r cod ffynhonnell gael ei gludo'n haws ar draws holl grynhowyr MPLAB XC. Mae'r opsiwn -mext=cci yn gofyn am y nodwedd hon, gan alluogi cystrawen arall ar gyfer llawer o estyniadau iaith.

Gyrrwr llyfrgellydd newydd Mae gyrrwr llyfrgellydd newydd wedi'i leoli uwchben y llyfrgellydd PIC blaenorol a'r llyfrgellydd AVR avr-ar. Mae'r gyrrwr hwn yn derbyn opsiynau arddull GCC-archiver, sydd naill ai'n cael eu cyfieithu ar gyfer neu'n cael eu trosglwyddo i'r llyfrgellydd sy'n cael ei weithredu. Mae'r gyrrwr newydd yn caniatáu i set debyg o opsiynau gyda semanteg tebyg gael eu defnyddio i greu neu drin unrhyw lyfrgell PIC neu AVR file ac felly dyma'r ffordd a argymhellir i alw'r llyfrgellydd. Os oes angen ar gyfer prosiectau etifeddiaeth, gellir galw'r llyfrgellydd blaenorol yn uniongyrchol gan ddefnyddio'r opsiynau hen arddull a dderbyniodd mewn fersiynau casglwr cynharach.

Materion Ymfudo

Mae'r canlynol yn nodweddion sydd bellach yn cael eu trin yn wahanol gan y casglwr. Mae'n bosibl y bydd angen addasu'ch cod ffynhonnell ar gyfer y newidiadau hyn os ydych yn trosglwyddo'r cod i'r fersiwn casglwr hwn. Mae rhif y fersiwn yn yr is-benawdau yn nodi'r fersiwn casglwr cyntaf i gefnogi'r newidiadau sy'n dilyn.

Fersiwn 2.40

Dim.

Fersiwn 2.39 (Datganiad Diogelwch Swyddogaethol)

Dim.

Fersiwn 2.36

Dim.

Fersiwn 2.35

Trin gwaelodion llinynnol (XCS-2420) Er mwyn sicrhau cysondeb â chasglwyr XC eraill, ni fydd swyddogaethau llinyn-i XC8, fel strtol () ac ati, bellach yn ceisio trosi llinyn mewnbwn os yw'r sylfaen a nodir yn fwy na 36 a bydd yn hytrach yn gosod errno i EINVAL. Nid yw safon C yn nodi ymddygiad y swyddogaethau pan eir y tu hwnt i'r gwerth sylfaenol hwn.

Optimeiddio cyflymder amhriodol Roedd optimeiddiadau tynnu dŵr gweithdrefnol yn cael eu galluogi wrth ddewis optimeiddio lefel 3 (-03). Mae'r optimizations hyn yn lleihau maint cod ar draul cyflymder cod, felly ni ddylid bod wedi'u perfformio. Efallai y bydd prosiectau sy'n defnyddio'r lefel optimeiddio hon yn gweld gwahaniaethau mewn maint cod a chyflymder gweithredu pan gânt eu hadeiladu gyda'r datganiad hwn.

Swyddogaeth llyfrgell Mae'r cod ar gyfer llawer o swyddogaethau llyfrgell safonol C bellach yn dod o Lyfrgell Safonol Unedig Microchip, a allai ddangos ymddygiad gwahanol mewn rhai amgylchiadau o'i gymharu â'r hyn a ddarparwyd gan yr hen lyfrgell avr-libc. Am gynampLe, nid oes angen cysylltu yn y llyfrgell lprintf_flt mwyach (opsiwn -print _flt) i droi cefnogaeth IO wedi'i fformatio ymlaen ar gyfer manylebwyr fformat arnofio. Mae nodweddion IO craff y Llyfrgell Safonol Unedig Microsglodyn yn golygu nad oes angen yr opsiwn hwn. Yn ogystal, nid yw'r defnydd o arferion ôl-ddodiad _p ar gyfer swyddogaethau llinynnol a chof (ee strcpy_P () ac ati .. ) sy'n gweithredu ar linynnau const mewn fflach yn angenrheidiol mwyach. Bydd y rheolweithiau safonol C (ee strcpy ()) yn gweithio'n gywir gyda data o'r fath pan fydd y nodwedd const-data-in-program-memory wedi'i galluogi.

Fersiwn 2.32

Dim.

Fersiwn 2.31

Dim.

Fersiwn 2.30

Dim.

Fersiwn 2.29 (Datganiad Diogelwch Swyddogaethol)

Dim.

Fersiwn 2.20

Wedi newid cynllun DFP Mae'r casglwr bellach yn rhagdybio cynllun gwahanol a ddefnyddir gan DFPs (Device Family Packs). Bydd hyn yn golygu efallai na fydd DFP hŷn yn gweithio gyda'r datganiad hwn, ac ni fydd casglwyr hŷn yn gallu defnyddio'r DFPs diweddaraf.

Fersiwn 2.19 (Datganiad Diogelwch Swyddogaethol)

Dim.

Fersiwn 2.10

Dim

Fersiwn 2.05

Cadw gwrthrychau yng nghof y rhaglen Sylwch y bydd y gwrthrychau sydd â chymwysterau cyson yn cael eu gosod a'u cyrchu yng nghof y rhaglen (fel y disgrifir yma) . Bydd hyn yn effeithio ar faint a chyflymder gweithredu eich prosiect, ond dylai leihau'r defnydd o RAM. Gellir analluogi'r nodwedd hon, os oes angen, gan ddefnyddio'r opsiwn -mnoconst- da ta-in-progmem.

Fersiwn 2.00

Ffiwsiau cyfluniad Gall ffiwsiau cyfluniad y ddyfais nawr raglennu gan ddefnyddio pragma ffurfweddu ac yna parau gosod-gwerth i nodi cyflwr y ffiwsiau, e.e.
#pragma config WDT0N = SET
#pragma config B0DLEVEL = B0DLEVEL_4V3
Gwrthrychau a swyddogaethau absoliwt Bellach gellir gosod gwrthrychau a swyddogaethau mewn cyfeiriad penodol yn y cof gan ddefnyddio'r manylebydd CCI _at (cyfeiriad), ar gyfer cynample: #cynnwys int foobar yn (Ox800100); torgoch at(Ox250) get ID(int offset) { … } Rhaid i'r ddadl i'r manylebwr hwn fod yn gysonyn sy'n cynrychioli'r cyfeiriad lle bydd y beit neu'r cyfarwyddyd cyntaf yn cael ei osod. Nodir cyfeiriadau RAM trwy ddefnyddio gwrthbwyso o 0x800000. Galluogi'r CCI i ddefnyddio'r nodwedd hon.
Cystrawen swyddogaeth torri ar draws newydd Mae'r casglwr bellach yn derbyn y manylebydd ymyrraeth CCI (num) i ddangos bod swyddogaethau C yn drinwyr ymyriadau. Mae'r manylebwr yn cymryd rhif ymyrryd, ar gyfer example: #cynnwys toriad gwag (SPI STC_ vect _num) spi Isr(gwag) { … }

Materion Sefydlog

Mae'r canlynol yn gywiriadau sydd wedi'u gwneud i'r casglwr. Gallai'r rhain drwsio bygiau yn y cod a gynhyrchir neu newid gweithrediad y casglwr i'r hyn a fwriadwyd neu a nodwyd gan ganllaw'r defnyddiwr. Mae rhif y fersiwn yn yr is-benawdau yn nodi'r fersiwn casglwr cyntaf i gynnwys atebion ar gyfer y materion sy'n dilyn. Y label(iau) mewn cromfachau yn y teitl yw dull adnabod y mater hwnnw yn y gronfa ddata olrhain. Gall y rhain fod yn ddefnyddiol os oes angen i chi gysylltu â chymorth.

Sylwch fod rhai materion dyfais-benodol yn cael eu cywiro yn y Pecyn Teulu Dyfais (DFP) sy'n gysylltiedig â'r ddyfais. Gweler Rheolwr Pecyn MPLAB am wybodaeth am newidiadau a wnaed i DFPs ac i lawrlwytho'r pecynnau diweddaraf.

Fersiwn 2.40

Rhy ymlaciol (XCS-2876) Wrth ddefnyddio'r opsiwn -mrelax, nid oedd y casglwr yn dyrannu rhai adrannau gyda'i gilydd, gan arwain at feintiau cod llai optimaidd. Gallai hyn fod wedi digwydd gyda chod a ddefnyddiodd y llyfrgelloedd MUSL newydd neu gyda symbolau gwan.
Nid yw'r nodwedd mapio wedi'i hanalluogi fel y nodir yn y rhybudd (XCS-2875) Mae'r nodwedd cost-data-mewn-ffurfwedd mapioprogmem yn dibynnu ar alluogi'r nodwedd cost-data-yn-proem. Pe bai'r nodwedd cost-data-ipconfig-mapped-proem wedi'i galluogi'n benodol gan ddefnyddio'r opsiwn a bod y nodwedd cost-data-inprogmem wedi'i hanalluogi, methodd y cam cyswllt, er gwaethaf neges rhybudd yn nodi bod yr anfanteision data- in-config-mapped- nodwedd proem wedi'i hanalluogi'n awtomatig, nad oedd yn gwbl gywir. Mae'r nodwedd const-data-in-config-mapped-proem bellach wedi'i hanalluogi'n llawn yn y sefyllfa hon.
Newidiadau DFP i gael mynediad cywir i NVMCTRL (XCS-2848) Nid oedd y cod cychwyn amser rhedeg a ddefnyddir gan ddyfeisiau AVR64EA yn ystyried bod y gofrestr NVMCTRL o dan Amddiffyniad Newid Ffurfwedd (CCP) ac nid oedd yn gallu gosod yr IO SFR i'r dudalen a ddefnyddir gan y compiler configmapped- proem const-data-in nodwedd. Bydd newidiadau a wneir yn fersiwn AVR-Ex_DFP 2.2.55 yn caniatáu i'r cod cychwyn amser rhedeg ysgrifennu'n gywir i'r gofrestr hon.
Newidiadau DFP i osgoi mapio fflach (XCS-2847) Mae gwaith o gwmpas ar gyfer problem gyda'r nodwedd dyfais mapio fflach a adroddwyd yn yr AVR128DA28/32/48/64 Silicon Errata (DS80000882) wedi'i roi ar waith. Ni fydd y nodwedd compiler const-data-in-config-mapped-proem yn cael ei gymhwyso yn ddiofyn ar gyfer dyfeisiau yr effeithir arnynt, a bydd y newid hwn yn ymddangos yn fersiwn AVR-Ex_DFP 2.2.160.
Gwall adeiladu gyda sinhf neu coshf (XCS-2834) Arweiniodd ymdrechion i ddefnyddio swyddogaethau llyfrgell sinhf () neu coshf () at wall cyswllt, gan ddisgrifio cyfeiriad heb ei ddiffinio. Mae'r ffwythiant coll y cyfeiriwyd ato bellach wedi'i gynnwys yn y dosbarthiad casglwr.
Gwallau adeiladu gyda nopa (XCS-2833) Defnyddio'r priodoledd nopa gyda swyddogaeth sydd wedi cael ei enw cyfosodwr wedi'i nodi gan ddefnyddio fel () negeseuon gwall wedi'u sbarduno gan y cydosodwr. Nid yw'r cyfuniad hwn yn bosibl.
Methiant swyddogaeth amrywiol gyda dadleuon pwyntydd (XCS-2755, XCS-2731) Mae swyddogaethau gyda nifer amrywiol o ddadleuon yn disgwyl i awgrymiadau 24-did (math _memo) gael eu pasio yn y rhestr dadl newidiol pan fydd y nodwedd cost-data-in-proem wedi'i galluogi. Roedd dadleuon a oedd yn awgrymiadau i gof data yn cael eu trosglwyddo fel gwrthrychau 16-bit, gan achosi methiant cod pan gawsant eu darllen yn y pen draw. Pan fydd y nodwedd data-mewn-proem yn cael ei galluogi, mae pob dadl pwyntydd 16-did bellach yn cael ei throsi i awgrymiadau 24-did. ffwythiannau llyfrgell strtoxxx yn methu (XCS-2620) Pan alluogwyd nodwedd const-data-in-proem, ni chafodd y paramedr enter yn swyddogaethau llyfrgell strtoxxx ei ddiweddaru'n iawn ar gyfer dadleuon llinynnol ffynhonnell nad ydynt yng nghof y rhaglen.
Rhybuddion ar gyfer castiau annilys (XCS-2612) Bydd y casglwr nawr yn cyhoeddi gwall os yw nodwedd cost-in-proem wedi'i galluogi a bod cyfeiriad llinyn llythrennol yn cael ei fwrw'n benodol i'r gofod cyfeiriad data (gan ollwng y cymwysydd const), ar gyfer example, (uint8 t*) “Helo Fyd!”. Mae rhybudd yn broblem os gallai'r cyfeiriad fod yn annilys pan fydd pwyntydd data const yn cael ei fwrw'n benodol i ofod cyfeiriad data.
Lleoli gwrthrychau cyson anghyfarwydd (XCS-2408) Nid oedd gwrthrychau unedol a chyfansoddiadol yn cael eu gosod yng nghof rhaglen ar ddyfeisiau sy'n mapio'r cyfan neu ran o'u cof rhaglen i'r gofod cyfeiriad data. Ar gyfer y dyfeisiau hyn, mae gwrthrychau o'r fath bellach yn cael eu gosod yng nghof y rhaglen, gan wneud eu gweithrediad yn gyson â dyfeisiau eraill .

Fersiwn 2.39 (Datganiad Diogelwch Swyddogaethol)

Dim.

Fersiwn 2.36

Gwall wrth oedi (XCS-2774) Mân newidiadau yn y rhagosodiad Roedd optimeiddio modd rhad ac am ddim yn atal plygu mynegiadau operand yn gyson i'r swyddogaethau cynwysedig oedi, gan arwain at eu trin fel digysylltiadau a sbarduno'r gwall: _buil tin avr delay_ cycles expects ac ompile cyfanrif amser cyson.

Fersiwn 2.35

Dyraniad cyffiniol gan ddefnyddio _at (XCS-2653) Nid oedd dyraniad cyffiniol o leoedd gwrthrychau lluosog mewn adran gyda'r un enw a defnyddio yn () yn gweithio'n gywir. Am gynample: constchararrl [ ] at tri butte ((sect on(“.misses”))) yn (Ox50 0 ) = { Oxo , Ox CD} ; cost torgoch arr2[ ] ar tri butte ((adran(“.my s eke"))) = { Ychen, Ych FE }; dylai fod wedi gosod arr2 yn syth ar ôl aril.
Yn nodi cyfeiriadau cychwyn yr adran (XCS-2650) Roedd yr opsiwn -Wal, –section-start yn ddistaw yn methu â gosod adrannau yn y cyfeiriad cychwyn a enwebwyd. Mae'r mater hwn wedi'i ddatrys ar gyfer unrhyw adrannau a enwir yn arbennig; fodd bynnag, ni fydd yn gweithio ar gyfer unrhyw adrannau safonol, megis . testun neu . bss, y mae'n rhaid ei osod gan ddefnyddio opsiwn -Wl, -T.
Linker yn damwain wrth ymlacio (XCS-2647) Pan alluogwyd yr optimeiddio -relax ac roedd adrannau cod neu ddata nad oeddent yn ffitio i'r cof oedd ar gael, fe chwalodd y cysylltydd. Nawr, mewn amgylchiadau o'r fath, mae negeseuon gwall yn cael eu cyhoeddi yn lle hynny.
Mynediad EEPROM gwael (XCS-2629) Ni weithiodd y drefn bloc leproma _read_ yn gywir ar ddyfeisiau Mega pan alluogwyd yr opsiwn -monist-data-in-proem (sef y cyflwr rhagosodedig), gan olygu nad oedd cof EEPROM yn cael ei ddarllen yn gywir.
Dyraniad cof annilys (XCS-2593, XCS-2651) Pan fydd yr opsiwn cyswllt -Text neu -Tata (ar gyfer exampos pasiwyd drwodd gan ddefnyddio opsiwn gyrrwr -Wl) wedi'i nodi, diweddarwyd y tarddiad rhanbarth testun/data cyfatebol; fodd bynnag, ni addaswyd y cyfeiriad terfynol yn unol â hynny, a allai fod wedi arwain at y rhanbarth yn rhagori ar ystod cof y ddyfais darged.
Cod ymyrraeth ATTiny annilys (XCS-2465) Wrth adeiladu ar gyfer dyfeisiau Tatin a bod yr optimeiddiadau wedi'u hanalluogi (-00), mae'n bosibl bod swyddogaethau ymyrraeth wedi sbarduno negeseuon cydosodwr operand y tu allan i'r ystod.
Opsiynau ddim yn cael eu trosglwyddo (XCS-2452) Wrth ddefnyddio'r opsiwn -Wl gydag opsiynau cysylltu lluosog, wedi'u gwahanu gan goma, nid oedd pob un o'r opsiynau cysylltu yn cael eu trosglwyddo i'r cysylltydd.
Gwall wrth ddarllen cof rhaglen yn anuniongyrchol (XCS-2450) Mewn rhai achosion, cynhyrchodd y casglwr wall mewnol (insn anadnabyddadwy) wrth ddarllen gwerth dau beit o bwyntydd i gof rhaglen

Fersiwn 2.32

Ail fynediad i'r llyfrgell yn methu (XCS-2381) Gan ddefnyddio fersiwn Windows o'r xc8-ar. Mae'n bosibl bod archifwr llyfrgell exe yr eildro i gael mynediad i archif llyfrgell sy'n bodoli eisoes wedi methu â neges gwall methu â'i ailenwi.

Fersiwn 2.31

Methiannau casglwr anesboniadwy (XCS-2367) Wrth redeg ar lwyfannau Windows yr oedd cyfeiriadur dros dro'r system wedi'i osod ar lwybr a oedd yn cynnwys dot'.' cymeriad, efallai bod y casglwr wedi methu â gweithredu.

Fersiwn 2.30

Labeli byd-eang wedi'u camleoli ar ôl eu hamlinellu (XCS-2299) Efallai nad yw cod cydosod wedi'i ysgrifennu â llaw sy'n gosod labeli byd-eang o fewn dilyniannau cydosod sy'n cael eu ffactorio gan dynnu gweithdrefnol wedi'u hail-leoli'n gywir.
Damwain ymlaciol (XCS-2287) Gallai defnyddio'r opsiwn -merlad fod wedi achosi i'r cysylltydd chwalu pan geisiodd optimeiddiadau ymlacio naid gynffon ddileu cyfarwyddyd ret nad oedd ar ddiwedd adran.
Cwymp wrth optimeiddio labeli fel gwerthoedd (XCS-2282) Gallai cod sy'n defnyddio'r estyniad iaith GNU C “Labels as Values” fod wedi achosi i'r optimeiddiadau tynnu gweithdrefnol chwalu, gyda gwall atgyweiriad amrediad VMA Amlinellol.
Ddim mor gyson (XCS-2271) Mae'r prototeipiau ar gyfer cychwyn () a swyddogaethau eraill o Nid yw bellach yn nodi'r cymwysydd cost ansafonol ar awgrymiadau llinynnol a ddychwelwyd pan fydd y nodwedd inprogmem -monist-data wedi'i hanalluogi. Sylwch, gyda dyfeisiau avrxmega3 ac avertin, bod y nodwedd hon wedi'i galluogi'n barhaol.
Cychwynwyr coll (XCS-2269) Pan osodwyd mwy nag un newidyn mewn uned gyfieithu mewn adran (gan ddefnyddio adran neu briodwedd ((adran))), a'r newidyn cyntaf o'r fath wedi'i gychwyn yn sero neu heb gychwynnwr, dechreuwyr ar gyfer newidynnau eraill yn yr un uned gyfieithu collwyd y rhai a osodwyd yn yr un adran.

Fersiwn 2.29 (Datganiad Diogelwch Swyddogaethol)

Dim.

Fersiwn 2.20

Gwall gyda gorchmynion hir (XCS-1983) Wrth ddefnyddio targed AVR, efallai y bydd y casglwr wedi stopio gydag a file gwall heb ei ganfod, os oedd y llinell orchymyn yn fawr iawn ac yn cynnwys nodau arbennig fel dyfyniadau, slaes, ac ati.
Adran rodata heb ei aseinio (XCS-1920) Methodd y cysylltydd AVR ag aseinio cof ar gyfer adrannau rodata arferol wrth adeiladu ar gyfer pensaernïaeth avrxmega3 ac avrtiny, gan gynhyrchu gwallau gorgyffwrdd cof o bosibl

Fersiwn 2.19 (Datganiad Diogelwch Swyddogaethol)

Dim.

Fersiwn 2.10

Methiannau adleoli (XCS-1891) Y dyrannwr ffit orau oedd gadael 'tyllau' cof rhwng adrannau ar ôl ymlacio'r cysylltydd. Ar wahân i'r cof darnio, cynyddodd hyn y posibilrwydd o fethiannau adleoli cysylltwyr yn ymwneud â neidiau pc-perthynas neu alwadau'n mynd allan o ystod.
Cyfarwyddiadau heb eu trawsnewid trwy ymlacio (XCS-1889) Ni chafwyd ymlacio cysylltydd ar gyfer cyfarwyddiadau naid neu alwad y mae eu targedau yn dod yn gyraeddadwy os cânt eu llacio.
Ar goll ymarferoldeb (XCSE-388) Mae sawl diffiniad o , megis clock_ div_ t a clock_prescale_set (), ni ddiffiniwyd ar gyfer dyfeisiau, gan gynnwys yr ATmega324PB, ATmega328PB, ATtiny441, ac ATtiny841.
Macros ar goll Ni chafodd y rhagbrosesydd macros_ xcs _MODE_, _xcs VERSION, _xc, a xcs eu diffinio'n awtomatig gan y casglwr. Mae'r rhain ar gael nawr.

Fersiwn 2.05

Gwall casglwr mewnol (XCS-1822) Wrth adeiladu o dan Windows, efallai y bydd gwall casglwr mewnol wedi'i gynhyrchu wrth optimeiddio cod.
Gorlif RAM heb ei ganfod (XCS-1800, XCS-1796) Ni chanfuwyd rhaglenni a oedd yn fwy na'r RAM oedd ar gael gan y casglwr mewn rhai sefyllfaoedd, gan arwain at fethiant cod amser rhedeg.
Cof fflach wedi'i hepgor (XCS-1792) Ar gyfer dyfeisiau avrxmega3 ac avrtiny, mae'n bosibl bod rhannau o'r cof fflach heb eu rhaglennu gan yr MPLAB X IDE.
Methu gweithredu'r brif bibell (XCS-1788) Mewn rhai sefyllfaoedd lle nad oedd gan y rhaglen newidynnau byd-eang wedi'u diffinio, ni adawodd y cod cychwyn amser rhedeg ac ni chyrhaeddwyd y prif () swyddogaeth byth.
Gwybodaeth cof anghywir (XCS-1787) Ar gyfer dyfeisiau avrxmega3 ac avrtiny, roedd y rhaglen maint avr yn adrodd bod data darllen yn unig yn defnyddio RAM yn lle cof y rhaglen.
Darllen cof rhaglen anghywir (XCS-1783) Efallai y bydd prosiectau a luniwyd ar gyfer dyfeisiau gyda chof rhaglen wedi'u mapio i'r gofod cyfeiriad data ac sy'n diffinio gwrthrychau gan ddefnyddio macro/nodwedd PROGMEM wedi darllen y gwrthrychau hyn o'r cyfeiriad anghywir.
Gwall mewnol gyda phriodoleddau (XCS-1773) Digwyddodd gwall mewnol os gwnaethoch ddiffinio gwrthrychau pwyntydd gyda'r
_at () neu briodoledd() tocynnau rhwng enw'r pwyntydd a'r math dadgyfeiriedig, ar gyfer example, torgoch *
_ar (0x80015 0) cp; Rhoddir rhybudd nawr os deuir ar draws cod o'r fath.
Methiant i weithredu'r brif bibell (XCS-1780, XCS-1767, XCS-1754) Gallai defnyddio newidynnau EEPROM neu ddiffinio ffiwsiau gan ddefnyddio'r config pragma fod wedi achosi cychwyn data anghywir a/neu gloi gweithrediad rhaglen yn y cod cychwyn amser rhedeg, cyn cyrraedd prif () .
Gwall ffiws gyda dyfeisiau bach (XCS-1778, XCS-1742) Roedd hyd ffiws anghywir wedi'i nodi yn eu pennyn ar gyfer dyfeisiau attiny4/5/9/10/20/40 files sy'n arwain at wallau cysylltydd wrth geisio adeiladu cod sy'n diffinio ffiwsiau.
Nam segmentu (XCS-1777) Mae nam segmentu ysbeidiol wedi'i gywiro.
Damwain cydosodwr (XCS-1761) Efallai bod y cydosodwr avr-as wedi damwain pan gafodd y casglwr ei redeg o dan Ubuntu 18.
Gwrthrychau heb eu clirio (XCS-1752) Mae'n bosibl nad yw gwrthrychau hyd storio sefydlog anghyfarwydd wedi'u clirio gan y cod cychwyn amser rhedeg.
Anwybyddwyd manyleb dyfais sy'n gwrthdaro (XCS-1749) Nid oedd y casglwr yn cynhyrchu gwall pan ddefnyddiwyd opsiynau manyleb dyfeisiau lluosog ac yn nodi dyfeisiau gwahanol.
Llygredd cof fesul tipyn (XCS-1748) Roedd y symbol cychwyn heap_ yn cael ei osod yn anghywir, gan arwain at y posibilrwydd o newidynnau cyffredin yn cael eu llygru gan y domen.
Gwall adleoli cysylltydd (XCS-1739) Mae'n bosibl bod gwall adleoli cysylltydd wedi'i allyrru pan oedd y cod yn cynnwys rjmp neu alwad gyda tharged union 4k beit i ffwrdd.

Fersiwn 2.00

Dim.

Materion Hysbys

Mae'r canlynol yn gyfyngiadau yng ngweithrediad y casglwr. Gall y rhain fod yn gyfyngiadau codio cyffredinol, neu
gwyriadau oddi wrth wybodaeth sydd yn y llawlyfr defnyddiwr. Y label(iau) mewn cromfachau yn y teitl yw dull adnabod y mater hwnnw yn y gronfa ddata olrhain. Gallai hyn fod o fudd os oes angen i chi gysylltu â chymorth. Mae'r eitemau hynny nad oes ganddynt labeli yn gyfyngiadau sy'n disgrifio modd operandi ac sy'n debygol o aros mewn grym yn barhaol.

Integreiddiad MPLAB X IDE

Integreiddio IDE MPLAB Os yw Compiler i'w ddefnyddio o MPLAB IDE, yna rhaid i chi osod MPLAB IDE cyn gosod Compiler.

Cynhyrchu Cod

Methiant dyrannu cof PA (XCS-2881) Wrth ddefnyddio'r optimizers tynnu gweithdrefnol, efallai y bydd y cysylltydd yn adrodd am wallau dyrannu cof pan fo maint y cod yn agos at faint o gof rhaglen sydd ar gael ar y ddyfais, er y dylai'r rhaglen allu ffitio'r gofod sydd ar gael.
Ddim mor smart Smart-IO (XCS-2872) Bydd nodwedd smart-io y casglwr yn cynhyrchu cod dilys ond is-optimaidd ar gyfer y swyddogaeth sbrint os yw'r nodwedd arfordir-data-yn-proem wedi'i hanalluogi neu os yw'r ddyfais wedi'i holl fflach wedi'i mapio i gof data.
Hyd yn oed yn llai smart Smart-IO (XCS-2869) Bydd nodwedd smart-io y casglwr yn cynhyrchu cod dilys ond is-optimaidd pan ddefnyddir yr opsiynau tun -floe a -fno-buil.
Lleoliad data darllen yn unig is-optimaidd (XCS-2849) Ar hyn o bryd nid yw'r cysylltydd yn ymwybodol o'r adrannau cof APPCODE ac APPDATA, na'r rhaniadau [Dim-]Darllen-Wrth-Ysgrifennu yn y map cof. O ganlyniad, mae siawns fach y gallai'r cysylltydd ddyrannu data darllen yn unig mewn maes cof anaddas. Mae'r siawns o ddata anghywir yn cynyddu os yw'r nodwedd arfordir-data-mewn-pragma wedi'i galluogi, yn enwedig os yw'r nodwedd arfordir-data-in-config-mapped-proem hefyd wedi'i galluogi. Gellir analluogi'r nodweddion hyn os oes angen.
Gwrthrych file gorchymyn prosesu (XCS-2863) Y drefn y mae gwrthrychau files yn cael ei brosesu gan y cysylltydd gallai fod yn wahanol yn seiliedig ar y defnydd o optimeiddio tynnu gweithdrefnol (opsiwn -mpa). Byddai hyn ond yn effeithio ar god sy'n diffinio swyddogaethau gwan ar draws modiwlau lluosog.
Gwall cysylltydd ag absoliwt (XCS-2777) Pan fydd gwrthrych wedi'i wneud yn absoliwt mewn cyfeiriad ar ddechrau RAM a gwrthrychau anghychwynnol hefyd wedi'u diffinio, efallai y bydd gwall cysylltu yn cael ei ysgogi.
IDau deffro byr (XCS-2775) Ar gyfer dyfeisiau ATA5700/2, dim ond 0 did o led y diffinnir cofrestrau PHID1/16, yn hytrach na 32 did o led.
Cwymp cysylltydd wrth ffonio symbol (XCS-2758) Efallai y bydd y cysylltydd yn chwalu os defnyddir yr opsiwn gyrrwr -merlad pan fydd y cod ffynhonnell yn galw symbol sydd wedi'i ddiffinio gan ddefnyddio'r opsiwn cysylltydd -Wl, -defsym.
Cychwyn anghywir (XCS-2679) Mae anghysondeb rhwng lle mae'r gwerthoedd cychwynnol ar gyfer rhai gwrthrychau maint beit byd-eang/statig yn cael eu gosod mewn cof data a lle bydd y newidynnau ar gael ar amser rhedeg.
dechrau gosod yn wag yn anghywir (XCS-2652) Mewn achosion lle mae llinyn gwrthrych i'w drosi gan () yn cynnwys yr hyn sy'n ymddangos yn rif pwynt arnawf mewn fformat esbonyddol a bod nod annisgwyl ar ôl e-nod, yna bydd y cyfeiriad gwag, os caiff ei ddarparu, yn pwyntio at y nod ar ôl yr e ac nid yr e ei hun. Am gynample: dywedwyd ("hooey", gwag); yn arwain at bwyntio gwag at y nod x.
Galwadau swyddogaeth anuniongyrchol drwg (XCS-2628) Mewn rhai achosion, gallai galwadau ffwythiant a wneir trwy bwyntydd ffwythiant sydd wedi'i storio fel rhan o strwythur fethu.
Mae strtof yn dychwelyd sero ar gyfer fflotiau hecsadegol (XCS-2626) Bydd swyddogaethau'r llyfrgell strtof () et al a scanf ( ) et al, bob amser yn trosi rhif pwynt arnawf hecsadegol nad yw'n nodi esboniwr i
sero. Am gynample: stator ("Tylluan", & gwag); yn dychwelyd y gwerth 0, nid 1.
Negeseuon cynghorydd stac anghywir (XCS-2542, XCS-2541) Mewn rhai achosion, ni fydd rhybudd gan gynghorydd y pentwr ynghylch dychwelyd neu stac amhenodol a ddefnyddiwyd (o bosibl drwy ddefnyddio aloca()) yn cael ei ollwng.
Methiant gyda chod ymyrraeth dyblyg (XCS-2421) Pan fydd gan fwy nag un ffwythiant ymyrraeth yr un corff, efallai y bydd gan y casglwr yr allbwn ar gyfer un ffwythiant ymyriadol ffoniwch y llall. Bydd hyn yn arwain at gadw'r holl gofrestrau sydd wedi'u clobio â galwadau yn ddiangen, a bydd yr ymyriadau'n cael eu galluogi hyd yn oed cyn i epilog y triniwr ymyriadau presennol redeg, a allai arwain at fethiant y cod.
Gwrthrychau nad ydynt yng nghof y rhaglen (XCS-2408) Ar gyfer prosiectau avrxmega3 ac avertins mae gwrthrychau const andelfrydol yn cael eu gosod mewn cof data, er bod rhybudd yn awgrymu eu bod wedi'u gosod yng nghof y rhaglen. Ni fydd hyn yn effeithio ar ddyfeisiau nad oes ganddynt gof rhaglen wedi'i fapio i'r gofod cof data, ac ni fydd yn effeithio ar unrhyw wrthrych sy'n cael ei gychwyn.
Allbwn gwael gyda llwybr DFP annilys (XCS-2376) Os gweithredir y casglwr gyda llwybr DFP annilys a 'spec' file yn bodoli ar gyfer y ddyfais a ddewiswyd, nid yw'r casglwr yn rhoi gwybod am y pecyn teulu dyfais coll ac yn hytrach yn dewis y 'spec' file, a allai wedyn arwain at allbwn annilys. Y 'spec' files efallai nad ydynt yn gyfredol â'r DFPs a ddosbarthwyd ac y'u bwriadwyd i'w defnyddio gyda phrofion casglwr mewnol yn unig.
Gorgyffwrdd cof heb ei ganfod (XCS-1966) Nid yw'r casglwr yn canfod gorgyffwrdd cof gwrthrychau a wnaed yn absoliwt mewn cyfeiriad (drwy yn ()) a gwrthrychau eraill gan ddefnyddio'r manylebydd adran () ac sy'n gysylltiedig â'r un cyfeiriad.
Methiant gyda swyddogaethau llyfrgell a _meme (XCS-1763) Mae'n bosibl y bydd swyddogaethau arnofio limbig o'r enw gyda dadl yn y gofod cyfeiriad _memo yn methu. Sylwch y gelwir arferion llyfrgell gan rai gweithredwyr C, felly, ar gyfer cynample, effeithir ar y cod canlynol: dychwelyd regFloatVar > memxFloatVar;
Gweithredu limbig cyfyngedig (AVRTC-731) Ar gyfer y cynhyrchion ATTiny4/5/9/10/20/40, mae gweithrediad safonol llyfrgell C / Math yn limbig yn gyfyngedig iawn neu ddim yn bresennol.
Cyfyngiadau cof rhaglen (AVRTC-732) Cefnogir delweddau cof rhaglen y tu hwnt i 128 kb gan y gadwyn offer; fodd bynnag, mae yna achosion hysbys o erthylu cysylltwyr heb ymlacio a heb neges gwall ddefnyddiol yn hytrach na chynhyrchu'r bonion swyddogaeth gofynnol pan ddefnyddir yr opsiwn -relax.
Enw cyfyngiadau gofod (AVRTC-733) Cefnogir lleoedd cyfeiriad a enwir gan y gadwyn offer, yn amodol ar y cyfyngiadau a grybwyllir yn adran canllaw y defnyddiwr Cymwysyddion Math Arbennig.
Parthau amser Mae'r mae swyddogaethau llyfrgell yn cymryd yn ganiataol GMT ac nid ydynt yn cefnogi parthau amser lleol, felly bydd amser lleol () yn dychwelyd yr un amser â gummite (), ar gyfer example.

CEFNOGAETH CWSMERIAID

file:///Applications/microehip/xc8/v 2 .40/docs/Darllen fi_X C 8_ ar gyfer A VR. htm

Dogfennau / Adnoddau

MICROCHIP MPLAB XC8 C Compiler Meddalwedd [pdfLlawlyfr y Perchennog
MPLAB XC8 C, MPLAB XC8 C Compiler Meddalwedd, Meddalwedd Crynhoi, Meddalwedd

Cyfeiriadau

Gadael sylw

Ni fydd eich cyfeiriad e-bost yn cael ei gyhoeddi. Mae meysydd gofynnol wedi'u marcio *