MICROCHIP MPLAB XC8 C Compiler Software
Cov ntaub ntawv no muaj cov ntaub ntawv tseem ceeb ntsig txog MPLAB XC8 C compiler thaum TARGETING MICROCHIP AVR Devices.
THOV NYEEM NTAWV ua ntej ua qhov SOFTWARE. Saib MPLAB XC8 C compiler tso cov ntawv ceeb toom rau PIC daim ntawv yog tias koj siv lub compiler rau 8-ntsis PIC Devices.
Tshajview
Taw qhia
Qhov kev tso tawm ntawm Microchip MPLAB® XC8 C compiler muaj ntau yam tshiab, kho kab laum, thiab kev txhawb nqa tshiab.
Tsim Hnub
Hnub tim tsim tawm ntawm lub compiler version no yog lub Xya hli ntuj 3, 2022.
Yav dhau los Version
Cov yav dhau los MPLAB XC8 C compiler version yog 2.39, ib tug functional kev ruaj ntseg compiler, ua rau 27 Lub ib hlis ntuj 2022. Cov txheej txheem yav dhau los compiler yog version 2.36, ua rau 27 Lub ib hlis ntuj 2022.
Functional Safety Manual
Daim Ntawv Qhia Txog Kev Nyab Xeeb Kev Nyab Xeeb rau MPLAB XC compilers muaj nyob rau hauv pob ntaub ntawv thaum koj yuav daim ntawv tso cai kev nyab xeeb ua haujlwm.
Component Licenses thiab Versions
MPLAB® XC8 C Compiler rau AVR MCUs cov cuab yeej tau sau thiab muab faib raws li GNU General Public License (GPL) uas txhais tau tias nws qhov chaws tau muab faib dawb thiab muaj rau pej xeem. Lub hauv paus code rau cov cuab yeej nyob rau hauv GNU GPL tej zaum yuav raug rub tawm nyias los ntawm Microchip's webqhov chaw. Koj tuaj yeem nyeem GNU GPL hauv file npe nyob rau hauv lub subdirectory ntawm koj lub installation directory. Kev sib tham dav dav ntawm cov hauv paus ntsiab lus ntawm GPL tuaj yeem pom ntawm no. Kev them nyiaj yug code muab rau header files, linker scripts, thiab runtime libraries yog tus tswv code thiab tsis them raws li GPL.
Cov compiler no yog kev siv GCC version 5.4.0, binutils version 2.26, thiab siv avr-libc version 2.0.0.
Cov Kev Xav Tau
MPLAB XC8 C compiler thiab daim ntawv tso cai software uas nws siv yog muaj rau ntau yam kev khiav hauj lwm systems, nrog rau 64-ntsis versions ntawm cov nram qab no: Kev tshaj tawm ntawm Microsoft Windows 10; Ubuntu 18.04; thiab macOS 10.15.5. Binaries rau Windows tau kos npe kos npe. Binaries rau mac OS tau raug kos npe thiab sau ntawv.
Yog tias koj tab tom khiav lub network daim ntawv tso cai server, tsuas yog cov khoos phis tawj nrog kev ua haujlwm txhawb nqa los ntawm cov compilers yuav raug siv los tuav cov ntawv tso cai server. Raws li xclm version 2.0, lub network daim ntawv tso cai neeg rau zaub mov tuaj yeem ntsia tau rau ntawm Microsoft Windows Server platform, tab sis daim ntawv tso cai server tsis tas yuav khiav ntawm lub server version ntawm kev ua haujlwm.
Pab kiag li lawm
Cov compiler no txhawb nqa tag nrho 8-ntsis AVR MCU li paub thaum lub sijhawm tso tawm. Saib (hauv lub compiler's doc directory) rau cov npe ntawm tag nrho cov khoom siv txhawb nqa. Cov no files kuj teev configuration ntsis nqis rau txhua lub cuab yeej.
Tsab ntawv thiab daim ntawv tso cai hloov tshiab
MPLAB XC8 compiler tuaj yeem qhib tau raws li daim ntawv tso cai (PRO) lossis tsis muaj ntawv tso cai (Dawb). Koj yuav tsum yuav tus yuam sij qhib kom tso cai rau koj lub compiler. Daim ntawv tso cai tso cai rau qib siab ntawm kev ua kom zoo dua piv rau cov khoom pub dawb. Ib qho tsis muaj ntawv tso cai compiler tuaj yeem ua haujlwm tas li yam tsis muaj ntawv tso cai.
MPLAB XC8 Functional Safety compiler yuav tsum tau qhib nrog daim ntawv tso cai kev nyab xeeb uas yuav los ntawm Microchip. Lub compiler yuav tsis ua haujlwm yam tsis muaj daim ntawv tso cai no. Thaum qhib ua haujlwm, koj tuaj yeem xaiv txhua qib kev ua kom zoo thiab siv tag nrho cov compiler nta. Qhov kev tso tawm ntawm MPLAB XC Functional Safety Compiler txhawb nqa Network Server License.
Saib Daim Ntawv Thov Kev Txhim Kho thiab Tso Cai MPLAB XC C Compilers (DS50002059) rau cov ntaub ntawv ntawm cov ntawv tso cai hom thiab kev teeb tsa ntawm cov compiler nrog daim ntawv tso cai.
Installation thiab kom
Saib ntxiv txog Cov Teeb Meem Kev Nkag Tebchaws thiab Cov Kev Txwv rau cov ntaub ntawv tseem ceeb txog tus thawj tswj xyuas daim ntawv tso cai zaum kawg suav nrog cov compiler no.
Yog tias siv MPLAB IDE, nco ntsoov nruab qhov tseeb MPLAB X IDE version 5.0 lossis tom qab ntawd ua ntej txhim kho cov cuab yeej no. Tawm ntawm IDE ua ntej txhim kho lub compiler. Khiav lub .exe (Windows), .run (Linux) lossis app (macOS) compiler installer daim ntawv thov, xws li XC8-1.00.11403-windows.exe thiab ua raws li cov lus qhia ntawm lub vijtsam.
Lub neej ntawd installation directory yog pom zoo. Yog tias koj siv Linux, koj yuav tsum nruab lub compiler siv lub davhlau ya nyob twg thiab los ntawm tus account hauv paus. Nruab siv macOS account nrog cov cai tswj hwm.
Kev ua kom tam sim no yog nqa tawm cais rau kev teeb tsa. Saib daim ntawv Licence Manager rau MPLAB® XC C Compilers (DS52059) kom paub ntau ntxiv.
Yog tias koj xaiv los khiav lub compiler raws li daim ntawv tso cai ntsuam xyuas, tam sim no koj yuav tau txais lus ceeb toom thaum muab tso ua ke thaum koj nyob hauv 14 hnub ntawm qhov kawg ntawm koj lub sijhawm ntsuas. Tib yam lus ceeb toom tau tshaj tawm yog tias koj nyob hauv 14 hnub ntawm qhov kawg ntawm koj qhov kev tso npe HPA.
Lub XC Network License Server yog ib qho kev sib cais thiab tsis suav nrog hauv ib tus neeg siv compiler installer.
Tus Thawj Saib Xyuas Daim Ntawv Tso Cai XC tam sim no txhawb nqa roaming ntawm floating network lais xees. Lub hom phiaj ntawm cov neeg siv xov tooj ntawm tes, qhov tshwj xeeb no tso cai rau daim ntawv tso cai ntab tawm mus rau lub network rau lub sijhawm luv luv. Siv cov yam ntxwv no, koj tuaj yeem txiav tawm ntawm lub network thiab tseem siv koj lub MPLAB XC compiler. Saib cov ntawv tais ceev tseg ntawm XCLM teeb tsa kom paub ntxiv txog qhov no. MPLAB X IDE suav nrog lub qhov rais Daim Ntawv Tso Cai (Cov Cuab Yeej> Daim Ntawv Tso Cai) kom pom kev tswj xyuas roaming.
Kev daws teeb meem kev teeb tsa
Yog tias koj ntsib teeb meem txhim kho lub compiler nyob rau hauv ib qho ntawm Windows operating systems, sim cov lus qhia hauv qab no.
- Khiav lub install ua tus thawj tswj hwm.
- Teem cov kev tso cai ntawm daim ntawv thov installer rau 'Full control'. (Right-click lub file, xaiv Properties, Security tab, xaiv tus neeg siv, hloov kho.)
- Teem kev tso cai ntawm temp folder rau "Full Control!
Txhawm rau txiav txim siab qhov chaw ntawm daim ntawv teev temp, ntaus %temp% rau hauv cov lus txib khiav (Windows logo key + R). Qhov no yuav qhib ib file explorer dialog uas qhia cov directory thiab yuav tso cai rau koj los txiav txim txoj kev ntawm cov ntawv tais ceev tseg.
Compiler Cov ntaub ntawv
Lub compiler tus neeg siv cov lus qhia tuaj yeem qhib los ntawm nplooj ntawv HTML uas qhib hauv koj lub browser thaum nyem lub pob xiav pab hauv MPLAB X IDE dashboard, raws li tau hais hauv lub screenshot.
Yog tias koj tab tom tsim rau 8-ntsis AVR lub hom phiaj, MPLAB® XC8 C Compiler Tus Neeg Siv Cov Lus Qhia rau AVR® MCU muaj cov ntaub ntawv ntawm cov kev xaiv compiler thiab cov yam ntxwv uas muaj feem xyuam rau cov qauv no.
Kev Pab Txhawb Cov Neeg Siv Khoom
Microchip zoo siab txais tos cov lus ceeb toom kab mob, cov lus qhia lossis cov lus hais txog qhov compiler version no. Thov coj cov lus ceeb toom kab mob lossis kev thov tshwj xeeb los ntawm Kev Txhawb Qhov System.
Cov ntaub ntawv hloov tshiab
Rau cov ntawv online thiab hloov tshiab ntawm MPLAB XC8 cov ntaub ntawv, thov mus saib Microchip Cov Ntaub Ntawv Qhia Hauv Online webqhov chaw.
Cov ntaub ntawv tshiab lossis hloov kho AVR hauv qhov kev tso tawm no:
- MUSL copyright notice
- Txhim kho thiab tso cai MPLAB XC C Compilers (hloov M)
- MPLAB XC8 User!s Guide for Embedded Engineers – AVR MCUs (revision A)
- MPLAB XC8 C Compiler User!s Guide for AVR MCU (revision F)
- Microchip Unified Standard Library Reference Guide (hloov kho B)
Microchip Unified Standard Library Reference Guide piav qhia txog tus cwj pwm ntawm thiab cuam tshuam rau cov haujlwm uas tau teev tseg los ntawm Microchip Unified Standard Library, nrog rau kev npaj siv cov tsev qiv ntawv hom thiab macro. Qee cov ntaub ntawv no yav tas los muaj nyob hauv MPLAB® XC8 C Compiler User!s Guide for AVR® MCU. Cov ntaub ntawv tshwj xeeb ntawm lub tsev qiv ntawv tseem muaj nyob rau hauv phau ntawv qhia compiler no.
Yog tias koj nyuam qhuav pib nrog 8-ntsis li thiab MPLAB XC8 C Compiler, MPLAB® XC8 User!s Guide for Embedded Engineers - AVR® MCUs (DS50003108) muaj cov ntaub ntawv ntawm kev teeb tsa cov haujlwm hauv MPLAB X IDE thiab sau cov lej rau koj thawj qhov project MPLAB XC8 C. Cov lus qhia no tam sim no tau muab faib nrog lub compiler.
Hamate User's Guide tau muab tso rau hauv phau ntawv teev npe hauv qhov kev tso tawm no. Phau ntawv qhia no yog npaj rau cov uas khiav Hamate ua ib daim ntawv thov nyob ib leeg.
Dab tsi tshiab
Cov hauv qab no yog cov tshiab AVR-lub hom phiaj nta lub compiler tam sim no txhawb nqa. Tus lej version hauv subheadings qhia thawj compiler version los txhawb cov yam ntxwv uas ua raws.
Version 2.40
Cov cuab yeej tshiab txhawb nqa Kev them nyiaj yug tam sim no muaj rau cov nram qab no AVR qhov chaw: AT90PWM3, AVR16DD14, AVR16DD20, AVR16DD28, AVR16DD32, AVR32DD14, AVR32DD20, AVR32DD28, AVR32DD32, AVR64EA28, AVR64EA32
Txhim kho txheej txheem abstraction Cov txheej txheem abstraction (PA) optimization cov cuab yeej tau raug txhim kho kom cov lej uas muaj cov lus qhia hu ua haujlwm (hu rov qab) ) tuaj yeem piav qhia. Qhov no tsuas yog tshwm sim yog tias pawg tsis siv los hla kev sib cav los yog tsis tau txais tus nqi rov qab los ntawm kev ua haujlwm. Cov pawg siv thaum hu xov tooj rau kev ua haujlwm nrog cov npe sib txawv sib txawv lossis thaum hu xov tooj rau kev ua haujlwm uas siv cov lus sib cav ntau dua li muaj cov npe xaiv rau lub hom phiaj no. Cov yam ntxwv no tuaj yeem raug xiam oob khab siv lub Monk-pa-outline-hu kev xaiv, los yog cov txheej txheem abstraction tuaj yeem ua tsis taus tag nrho rau ib qho khoom. file los yog ua haujlwm los ntawm kev siv -monk-pa-on-file thiab -mo.-pa-on-function raws li, lossis los ntawm kev siv tus cwj pwm nipa (nipa specifier) xaiv nrog cov haujlwm
Code coverage macro Lub compiler tam sim no txhais cov macro __CODECOV yog tias qhov kev xaiv siv tau mcodecov tau teev tseg.
Nco tseg kev xaiv Tus tsav tsheb xc8-cc tam sim no yuav lees txais -mreserve = space@start: qhov kawg xaiv thaum tsim rau AVR lub hom phiaj. Qhov kev xaiv no khaws cia cov cim cim tshwj xeeb hauv cov ntaub ntawv lossis qhov program nco qhov chaw, tiv thaiv tus linker los ntawm populating code lossis khoom hauv cheeb tsam no.
Smarter ntse IO Ntau qhov kev txhim kho tau ua rau Smart IO lub luag haujlwm, suav nrog kev hloov pauv dav dav rau printf core code, kho %n hloov dua siab tshiab specifier raws li kev ywj pheej sib txawv, txuas hauv vaarg pop cov txheej txheem ntawm kev thov, siv cov ntaub ntawv luv dua qhov twg ua tau rau kev tuav IO muaj nuj nqi sib cav , thiab factoring ntau code nyob rau hauv daim teb dav thiab precision tuav. Qhov no tuaj yeem ua rau cov lej tseem ceeb thiab txuag cov ntaub ntawv, nrog rau kev ua kom nrawm ntawm IO.
Version 2.39 (Functional Safety Tso Tawm)
Network Server License Qhov kev tso tawm ntawm MPLAB XC8 Functional Safety Compiler txhawb nqa Network Server License.
Version 2.36
Tsis muaj.
Version 2.35
Cov cuab yeej tshiab txhawb nqa Kev them nyiaj yug muaj rau cov nram qab no AVR qhov chaw: ATTINY3224, ATTINY3226, ATTINY3227, AVR64DD14, AVR64DD20, AVR64DD28, thiab AVR64DD32.
Txhim kho cov ntsiab lus hloov pauv Qhov kev xaiv tshiab -mcall-isr-prologues hloov pauv cov haujlwm cuam tshuam li cas txuag cov ntawv sau npe nkag thiab yuav ua li cas cov ntawv sau npe rov qab thaum lub sijhawm cuam tshuam tsis tu ncua. Nws ua haujlwm zoo ib yam li kev xaiv -mcall-prologues, tab sis tsuas yog cuam tshuam cov haujlwm cuam tshuam (ISRs).
Txawm zoo dua cov ntsiab lus hloov pauv Qhov kev xaiv tshiab -mgas-isr-prologues tswj cov ntsiab lus khaus code tsim rau cov kev pabcuam cuam tshuam me me. Thaum enabled, qhov no feature yuav muaj lub assembler luam theej duab ISR rau sau npe siv thiab tsuas yog khaws cov ntaub ntawv siv yog tias xav tau.
Configurable flash mapping Qee cov khoom siv hauv AVR DA thiab AVR DB tsev neeg muaj SFR (xws li FLMAP) uas qhia meej txog 32k seem ntawm qhov kev pab cuam nco yuav raug muab tso rau hauv cov ntaub ntawv nco. Qhov tshiab - mconst-data-in-config-mapped-proem kev xaiv tuaj yeem siv kom muaj qhov txuas txuas rau txhua qhov kev tsim nyog cov ntaub ntawv hauv ib ntu 32k thiab tau pib pib qhov cuam tshuam SFR sau npe los xyuas kom meej tias cov ntaub ntawv no tau kos rau hauv cov ntaub ntawv nco qhov chaw. , qhov twg nws yuav nkag tau zoo dua.
Microchip Unified Standard Libraries Txhua MPLAB XC compilers yuav muab ib lub tsev qiv ntawv Microchip Unified Standard Library, uas yog tam sim no muaj nyob rau hauv no tso tawm ntawm MPLAB XC8. MPLAB® XC8 C Compiler User's Guide/lossis AVR® MCU tsis suav nrog cov ntaub ntawv rau cov qauv no ntxiv lawm. Cov ntaub ntawv no tuaj yeem pom tam sim no hauv Microchip Unified Standard Library Reference Guide. Nco ntsoov tias qee qhov kev ua haujlwm yav dhau los txhais los ntawm avr-libc tsis muaj lawm. (Saib Librar):'. functionalityY…)
Ntse IO Raws li ib feem ntawm cov tsev qiv ntawv sib koom ua ke tshiab, IO ua haujlwm hauv cov ntawv luam tawm thiab luam theej duab cov tsev neeg tam sim no yog kev cai tsim los ntawm txhua qhov tsim, raws li cov haujlwm no tau siv hauv qhov program. Qhov no tuaj yeem txo cov peev txheej siv los ntawm ib qho kev pab cuam.
Smart IO pab xaiv xaiv Thaum txheeb xyuas kev hu mus rau ntse IO ua haujlwm (xws li printf () lossis scanf () ), lub compiler tsis tuaj yeem txiav txim siab los ntawm cov hom hlua lossis infer los ntawm cov lus sib cav cov kev hloov pauv uas xav tau los ntawm kev hu. Yav dhau los, lub compiler yuav ib txwm ua tsis muaj kev xav thiab xyuas kom meej tias tag nrho cov haujlwm IO ua haujlwm tau txuas rau hauv daim duab kawg ntawm qhov program. Ib qho tshiab - msmart-io-format = fmt kev xaiv tau raug ntxiv kom cov compiler tuaj yeem hloov pauv tau ceeb toom los ntawm cov neeg siv cov kev hloov pauv hloov pauv siv los ntawm cov haujlwm ntse IO uas nws siv tsis meej, tiv thaiv IO ntev ntev los ntawm kev sib txuas. (Saib smart-io-format Option kom paub meej ntxiv.)
Tso cov ntu kev cai Yav dhau los, qhov kev xaiv -Wl, -section-start tsuas yog tso rau ntu ntu ntawm qhov chaw nyob thov thaum tus linker tsab ntawv txhais ib ntu tso zis nrog tib lub npe. Thaum qhov ntawd tsis yog li ntawd, ntu tau muab tso rau ntawm qhov chaw nyob xaiv los ntawm tus linker thiab qhov kev xaiv tseem ceeb tsis quav ntsej. Tam sim no qhov kev xaiv yuav raug qhuas rau txhua ntu kev cai, txawm tias tus linker tsab ntawv tsis txhais cov seem. Nco ntsoov, txawm li cas los xij, hais tias rau cov qauv ntu, xws li . ntawv,. bss sau. cov ntaub ntawv, qhov zoo tshaj plaws haum tus faib yuav tseem muaj kev tswj kom tiav lawv qhov kev tso kawm, thiab qhov kev xaiv yuav tsis muaj txiaj ntsig. Siv qhov -Wl, -Tsection = ntxiv kev xaiv, raws li tau piav qhia hauv tus neeg siv phau ntawv qhia.
Version 2.32
Stack Guide Muaj nrog daim ntawv tso cai PRO compiler, lub compiler's stack guidance feature tuaj yeem siv los kwv yees qhov tob tshaj plaws ntawm txhua pawg siv los ntawm ib qho kev pab cuam. Nws tsim thiab txheeb xyuas cov duab hu xov tooj ntawm ib qho kev pab cuam, txiav txim siab cov pawg siv ntawm txhua qhov kev ua haujlwm, thiab tsim cov ntawv tshaj tawm, los ntawm qhov tob ntawm pawg siv los ntawm qhov kev pab cuam tuaj yeem suav tau. Cov yam ntxwv no tau qhib los ntawm -mchp-stack-usage command-line xaiv. Cov ntsiab lus ntawm kev siv pawg yog luam tawm tom qab ua tiav. Ib daim ntawv qhia ntxaws ntxaws muaj nyob rau hauv daim ntawv qhia file, uas tuaj yeem thov raws li ib txwm muaj.
Cov cuab yeej tshiab txhawb nqa yog muaj rau cov nram qab no AVR qhov chaw: ATTINY 427, ATTINY 424, ATTINY 426, ATTINY827, ATTINY824, ATTINY826, AVR32DB32, AVR64DB48, AVR64DB64, AVR64DB28, AVR32DB.
Retracted ntaus ntawv txhawb nqa yog tsis muaj rau cov nram qab no AVR seem: AVR16DA28, AVR16DA32 thiab, AVR16DA48.
Version 2.31
Tsis muaj.
Version 2.30
Kev xaiv tshiab los tiv thaiv cov ntaub ntawv pib Ib qho tshiab -mno-data-ini t tsav tsheb kev xaiv tiv thaiv kev pib ntawm cov ntaub ntawv thiab tshem tawm cov ntu bss. Nws ua haujlwm los ntawm kev txwv qhov tso zis ntawm do_ luam_ cov ntaub ntawv thiab d o_ clear_ bss cov cim hauv kev sib dhos files, uas yuav nyob rau hauv lem tiv thaiv kev suav nrog cov niaj hnub no los ntawm tus linker.
Txhim kho kev ua kom zoo Ntau qhov kev txhim kho kom zoo tau ua tiav, suav nrog kev tshem tawm cov lus qhia rov qab rov qab, tshem tawm qee qhov dhia tom qab hla-yog-ntsis-yog kev qhia, thiab txhim kho cov txheej txheem abstraction thiab muaj peev xwm rov hais dua cov txheej txheem no.
Cov kev xaiv ntxiv tam sim no muaj los tswj qee qhov kev ua kom zoo dua no, tshwj xeeb -f ntu thauj tog rau nkoj, uas tso cai rau kev nkag mus ntawm cov khoom zoo li qub kom ua tau raws li ib lub cim; -mpai derations = n, uas tso cai rau tus naj npawb ntawm cov txheej txheem abstraction iterations hloov los ntawm lub neej ntawd 2; thiab, -mpa- hu tus nqi- luv luv, uas ua rau muaj kev cuam tshuam ntau dua cov txheej txheem abstraction, nyob rau hauv kev cia siab tias tus linker tuaj yeem so ntev hu. Qhov kev xaiv kawg no tuaj yeem ua rau cov lej loj yog tias cov kev xav hauv qab no tsis paub.
Cov cuab yeej tshiab txhawb nqa Kev them nyiaj yug muaj rau cov nram qab no AVR qhov chaw: AVR16DA28, AVR16DA32,
AVR16DA48, AVR32DA28, AVR32DA32, AVR32DA48, AVR64DA28, AVR64DA32, AVR64DA48, AVR64DA64, AVR128DB28, AVR128DB32, AVR128DB48, thiab AVR128.
Retracted ntaus ntawv txhawb nqa Kev them nyiaj yug tsis muaj rau cov nram qab no AVR qhov chaw: ATA5272, ATA5790, ATA5790N, ATA5791, ATA5795, ATA6285, ATA6286, ATA6612C, ATA6613C, ATA6614Q, ATA6616C, ATA6617C664251, thiab ATA.
Version 2.29 (Functional Safety Tso Tawm)
Lub taub hau file rau compiler built-ins Los xyuas kom meej tias lub compiler tuaj yeem ua raws li cov lus qhia tshwj xeeb xws li MISRA, taub hau file, uas yog cia li suav nrog , tau hloov kho. Cov header no muaj cov qauv qauv rau txhua qhov haujlwm hauv-ua, xws li _buil tin _avrnop () thiab _buil tin_ avr ncua_ voj voog () . Qee qhov built-in yuav tsis ua raws li MISRA; cov no tuaj yeem raug tshem tawm los ntawm kev ntxiv qhov txhais _Xe_ STRICT_ MISRA rau cov kab hais kom ua compiler. Cov built-ins thiab lawv cov lus tshaj tawm tau hloov kho kom siv cov hom dav dav.
Version 2.20
Cov cuab yeej tshiab txhawb nqa Kev them nyiaj yug muaj rau cov nram qab no AVR qhov chaw: ATTINY1624, ATTINY1626, thiab ATTINY1627.
Qhov zoo tshaj plaws haum faib Qhov zoo tshaj plaws haum allocator (BFA) nyob rau hauv lub compiler tau txhim kho kom cov seem tau faib nyob rau hauv ib qho kev txiav txim tso cai rau optimization zoo dua. BFA tam sim no txhawb nqa qhov chaw nyob npe thiab ua haujlwm zoo dua cov ntaub ntawv pib.
Txhim kho txheej txheem abstraction Cov txheej txheem abstraction optimizations yog tam sim no ua nyob rau hauv ntau code sequences. Cov xwm txheej dhau los uas qhov kev ua kom zoo tshaj plaws no yuav muaj cov lej loj ntxiv tau hais los ntawm kev ua kom zoo tshaj qhov code paub txog qhov linker cov txheej txheem sau cov khib nyiab.
Tsis muaj AVR Assembler AVR Assembler tsis suav nrog qhov kev faib tawm no lawm.
Version 2.19 (Functional Safety Tso Tawm)
Tsis muaj.
Version 2.10
Code Coverage Qhov kev tso tawm no suav nrog cov lej them nyiaj tshwj xeeb uas txhawb kev tsom xam txog qhov twg qhov project qhov chaws tau raug ua tiav. Siv qhov kev xaiv -mcodecov=ram los pab nws. Tom qab ua tiav ntawm qhov kev pab cuam ntawm koj cov khoom kho vajtse, cov ntaub ntawv tiv thaiv code yuav raug muab tso rau hauv lub cuab yeej, thiab qhov no tuaj yeem raug xa mus rau thiab tso tawm los ntawm MPLAB X IDE los ntawm kev them nyiaj code plugin. Saib cov ntaub ntawv IDE rau cov ntaub ntawv ntawm cov plugin no tuaj yeem tau txais. Lub #pragma mcodecov yuav raug siv los tshem tawm cov haujlwm tom ntej los ntawm kev tshuaj xyuas kev pab them nqi. Qhov zoo tshaj plaws lub pragma yuav tsum tau ntxiv thaum pib ntawm lub file kom tshem tawm tag nrho file los ntawm kev txheeb xyuas qhov kev pab cuam. Xwb, tus cwj pwm ( (mcodecov) ) yuav raug siv los tshem tawm ib qho kev ua haujlwm tshwj xeeb los ntawm kev tsom xam.
Ntaus ntawv piav qhia files Ib qho cuab yeej tshiab file npe avr chipinfo. html nyob rau hauv daim ntawv teev cov ntaub ntawv ntawm cov compiler faib. Qhov no file teev tag nrho cov khoom siv txhawb nqa los ntawm lub compiler. Nyem rau ntawm lub npe ntaus ntawv, thiab nws yuav qhib ib nplooj ntawv qhia txhua qhov tso cai teeb tsa me ntsis teeb tsa / tus nqi khub rau lub cuab yeej ntawd, nrog examples.
txheej txheem abstraction Cov txheej txheem abstraction optimizations, uas hloov cov blocks ntawm kev sib sau ua ke nrog kev hu mus rau cov ntawv rho tawm ntawm qhov thaiv ntawd, tau muab ntxiv rau hauv compiler. Cov no yog ua los ntawm ib daim ntawv thov cais, uas tau txais los ntawm lub compiler thaum xaiv qib 2, 3 los yog optimizations. Cov kev ua kom zoo no txo cov lej loj, tab sis lawv tuaj yeem txo qhov kev ua tiav nrawm thiab cov lej debugability.
Cov txheej txheem kev paub daws teeb meem tuaj yeem ua tsis taus ntawm qib kev ua kom zoo dua siv qhov kev xaiv -mno-pa, lossis tuaj yeem ua rau qis dua qib kev ua kom zoo (raws li koj daim ntawv tso cai) los ntawm kev siv -mpa. Nws tuaj yeem cuam tshuam rau ib qho khoom file siv -mno-pa-on-file=filelub npe, lossis xiam oob khab rau kev ua haujlwm los ntawm kev siv -mno-pa ntawm kev ua haujlwm = ua haujlwm.
Hauv koj lub hauv paus code, cov txheej txheem kev paub daws teeb meem tuaj yeem cuam tshuam rau kev ua haujlwm los ntawm kev siv _attribute_ ((nopa)) nrog rau lub luag haujlwm lub ntsiab lus, lossis los ntawm kev siv _nopa, uas nthuav dav rau tus cwj pwm ((nopa, noinline)) thiab yog li tiv thaiv kev ua haujlwm inlining los ntawm qhov chaw. thiab muaj abstraction ntawm inlined code.
Xauv me ntsis kev txhawb nqa hauv pragma Lub #pragma config tam sim no siv tau los qhia txog AVR cov khoom xauv khoom thiab lwm yam khoom siv. Tshawb xyuas avr chip info. html file (hais saum toj no) rau kev teeb tsa / tus nqi khub siv nrog qhov pragma no.
Cov cuab yeej tshiab txhawb nqa Kev them nyiaj yug muaj rau cov hauv qab no: AVR28DA128, AVR64DA128, AVR32DA128, thiab AVR48DA128.
Version 2.05
Ntau qhov me me rau koj cov nyiaj npib Lub macOS version ntawm no compiler thiab daim ntawv tso cai tus thawj tswj yog tam sim no ib tug 64-ntsis daim ntawv thov. Qhov no yuav ua kom ntseeg tau tias lub compiler yuav nruab thiab khiav yam tsis muaj lus ceeb toom ntawm macOS versions tsis ntev los no.
Const cov khoom nyob rau hauv qhov kev pab cuam nco Lub compiler tau tam sim no tso cov khoom tsim nyog rau hauv qhov kev pab cuam Flash nco, es tsis muaj cov no nyob rau hauv RAM. Lub compiler tau hloov kho kom const-qualified ntiaj teb no cov ntaub ntawv khaws cia nyob rau hauv qhov kev pab cuam flash nco thiab cov ntaub ntawv no tau ncaj qha thiab indirectly nkag tau siv cov kev pab cuam-nco cov lus qhia. Cov yam ntxwv tshiab no tau qhib los ntawm lub neej ntawd tab sis tuaj yeem cuam tshuam siv -mno-const-data-in-progmem kev xaiv. Rau avrxmega3 thiab avrtiny architectures, qhov no tsis tas yuav tsum tau ua thiab yog ib txwm ua tsis taus, txij li qhov kev pab cuam nco tau mapped rau hauv cov ntaub ntawv chaw nyob rau cov khoom siv no.
Txheem dawb Unlicensed (Free) versions ntawm no compiler tam sim no tso cai optimizations mus txog rau qib 2. Qhov no yuav tso cai rau ib tug zoo xws li, txawm hais tias tsis zoo ib yam, tso zis rau dab tsi yav tas los ua tau siv daim ntawv tso cai Standard.
Zoo siab txais tos AVRASM2 Lub AVRASM2 assembler rau 8-ntsis li tam sim no suav nrog hauv XC8 compiler installer. Cov khoom sib dhos no tsis yog siv los ntawm XC8 compiler, tab sis muaj rau cov haujlwm raws li kev sau ntawv los ua ke.
Cov cuab yeej tshiab txhawb nqa Kev them nyiaj yug muaj rau cov hauv qab no: ATMEGA1608, ATMEGA1609, ATMEGA808, thiab ATMEGA809.
Version 2.00
Sab saum toj Tus Tsav Tsheb Tus tsav tsheb tshiab, hu ua xc8-cc, tam sim no zaum saum tus tsav avr-gcc yav dhau los thiab tus tsav xc8, thiab nws tuaj yeem hu rau lub compiler tsim nyog raws li kev xaiv ntawm lub hom phiaj ntaus ntawv. Tus neeg tsav tsheb no lees txais GCC-style kev xaiv, uas yog txhais los yog dhau mus rau lub compiler raug tua. Tus neeg tsav tsheb no tso cai rau cov txheej txheem zoo sib xws nrog cov ntsiab lus zoo sib xws los siv nrog txhua lub hom phiaj AVR lossis PIC thiab yog li txoj hauv kev pom zoo kom hu rau lub compiler. Yog tias xav tau, tus tsav tsheb avr-gcc qub tuaj yeem raug hu ncaj qha siv cov kev xaiv qub uas nws tau txais hauv cov ntawv sau ua ntej.
Common C Interface Cov compiler tam sim no tuaj yeem ua raws li MPLAB Common C Interface, tso cai rau qhov chaws tuaj yeem yooj yim dua hla txhua MPLAB XC compilers. Qhov kev xaiv -mext = cci thov qhov tshwj xeeb no, ua kom muaj kev sib hloov syntax rau ntau yam lus txuas ntxiv.
Tus neeg tsav tsheb tshiab Tus neeg tsav tsheb hauv tsev qiv ntawv tshiab yog nyob rau saum tus qub PIC libr tsev qiv ntawv thiab AVR avr-ar tsev qiv ntawv. Tus neeg tsav tsheb no lees txais GCC-archiver-style kev xaiv, uas yog txhais los yog dhau mus rau tus neeg khaws ntaub ntawv raug tua. Tus neeg tsav tsheb tshiab tso cai rau cov kev xaiv zoo sib xws nrog cov ntsiab lus zoo sib xws los siv los tsim lossis tswj txhua lub tsev qiv ntawv PIC lossis AVR file thiab yog li no yog txoj kev pom zoo los hu rau tus kws sau ntawv. Yog tias xav tau rau cov haujlwm qub txeeg qub teg, cov tsev qiv ntawv yav dhau los tuaj yeem raug hu ncaj qha siv cov kev xaiv qub uas nws tau txais hauv cov ntawv sau ua ntej.
Teeb meem tsiv teb tsaws chaw
Cov hauv qab no yog cov yam ntxwv uas tam sim no ua haujlwm sib txawv los ntawm lub compiler. Cov kev hloov pauv no yuav xav tau kev hloov kho rau koj qhov chaws yog tias xa cov chaws mus rau qhov compiler version. Tus lej version hauv subheadings qhia thawj compiler version los txhawb cov kev hloov pauv uas ua raws.
Version 2.40
Tsis muaj.
Version 2.39 (Functional Safety Tso Tawm)
Tsis muaj.
Version 2.36
Tsis muaj.
Version 2.35
Kev tuav cov hlua-rau hauv paus (XCS-2420) Txhawm rau kom muaj kev sib raug zoo nrog lwm tus XC compilers, XC8 txoj hlua-rau kev ua haujlwm, zoo li sttol () thiab lwm yam, yuav tsis sim hloov cov hlua nkag yog tias lub hauv paus tau teev loj dua 36 thiab yuav hloov errno rau EINVAL. Tus qauv C tsis qhia meej txog tus cwj pwm ntawm kev ua haujlwm thaum lub hauv paus tus nqi no dhau lawm.
Tsis tsim nyog ceev optimizations Cov txheej txheem abstraction optimizations tau qhib thaum xaiv qib 3 optimizations (-03). Cov kev ua kom zoo no txo cov lej loj ntawm tus nqi ntawm cov lej ceev, yog li yuav tsum tsis txhob ua. Cov phiaj xwm siv qib kev ua kom zoo no yuav pom qhov sib txawv ntawm cov lej loj thiab kev ua tiav nrawm thaum tsim nrog qhov kev tso tawm no.
Library functionality Cov cai rau ntau tus qauv C lub tsev qiv ntawv ua haujlwm tam sim no los ntawm Microchip's Unified Standard Library, uas tej zaum yuav nthuav tawm tus cwj pwm sib txawv hauv qee qhov xwm txheej piv rau qhov muab los ntawm lub tsev qiv ntawv avr-libc qub. Rau example, nws tsis tas yuav txuas rau hauv lub tsev qiv ntawv lprintf_flt (-print _flt xaiv) kom qhib cov formatted IO kev txhawb nqa rau ntab-hom specifiers. Qhov ntse IO nta ntawm Microchip Unified Standard Library ua rau qhov kev xaiv no redundant. Tsis tas li ntawd, kev siv _p suffixed routines rau txoj hlua thiab lub cim xeeb ua haujlwm (xws li strcpy_P () thiab lwm yam .. ) uas ua haujlwm ntawm cov hlua const hauv flash yog tsis tsim nyog. Cov txheej txheem C niaj hnub (xws li strcpy ()) yuav ua haujlwm kom raug nrog cov ntaub ntawv no thaum lub const-data-in-program-nco feature tau qhib.
Version 2.32
Tsis muaj.
Version 2.31
Tsis muaj.
Version 2.30
Tsis muaj.
Version 2.29 (Functional Safety Tso Tawm)
Tsis muaj.
Version 2.20
Hloov DFP layout Lub compiler tam sim no xav tias ib qho kev sib txawv siv los ntawm DFPs (Device Family Packs). Qhov no yuav txhais tau tias DFP qub yuav tsis ua haujlwm nrog qhov kev tso tawm no, thiab cov neeg sau cov laus yuav tsis tuaj yeem siv DFPs tshiab kawg.
Version 2.19 (Functional Safety Tso Tawm)
Tsis muaj.
Version 2.10
Tsis muaj
Version 2.05
Const cov khoom nyob rau hauv qhov kev pab cuam nco Nco ntsoov tias los ntawm lub neej ntawd, const-qualfiied khoom yuav raug muab tso thiab nkag mus rau hauv qhov kev pab cuam nco (raws li tau piav qhia ntawm no). Qhov no yuav cuam tshuam qhov loj thiab ua tiav ntawm koj qhov project, tab sis yuav tsum txo qis kev siv RAM. Cov yam ntxwv no tuaj yeem ua tsis taus, yog tias xav tau, siv qhov kev xaiv -mnoconst- da ta-in-progmem.
Version 2.00
Configuration fuses Cov cuab yeej teeb tsa fuses tam sim no tuaj yeem ua haujlwm siv lub config pragma ua raws li kev teeb tsa-tus nqi khub kom qhia meej lub xeev fuse, xws li
#pragma config WDT0N = SET
#pragma config B0DLEVEL = B0DLEVEL_4V3
Cov khoom tsis meej thiab ua haujlwm Cov khoom thiab cov haujlwm tam sim no tuaj yeem muab tso rau ntawm qhov chaw nyob tshwj xeeb hauv kev nco siv CCI _at (chaw nyob) specifier, rau example: #include int foobar at(Ox800100); char at(Ox250) tau ID(int offset) { … } Qhov kev sib cav rau tus specifier no yuav tsum yog qhov tsis tu ncua uas sawv cev rau qhov chaw nyob uas thawj byte lossis kev qhia yuav muab tso rau. RAM chaw nyob yog qhia los ntawm kev siv offset ntawm 0x800000. Pab kom CCI siv qhov no.
New interrupt function syntax Lub compiler tam sim no lees txais CCI cuam tshuam (num) tus kws qhia tshwj xeeb los qhia tias C ua haujlwm yog cov neeg ua haujlwm cuam tshuam. Tus specifier siv tus lej cuam tshuam, piv txwv liample: #include void interrupt(SPI STC_ vect _num) spi Isr(void) { … }
Teeb meem
Cov hauv qab no yog cov kev kho uas tau ua rau lub compiler. Cov no tuaj yeem kho cov kab mob hauv cov cai tsim los lossis hloov cov haujlwm ntawm cov compiler rau qhov uas tau npaj los yog teev los ntawm tus neeg siv phau ntawv qhia. Tus naj npawb version hauv subheadings qhia thawj compiler version kom muaj kev kho rau cov teeb meem uas ua raws. Cov ntawv cim bracketed hauv lub npe yog qhov teeb meem qhov kev txheeb xyuas hauv cov ntaub ntawv taug qab. Cov no yuav pab tau yog tias koj xav tau hu rau kev txhawb nqa.
Nco ntsoov tias qee qhov teeb meem tshwj xeeb ntawm cov cuab yeej raug kho hauv Device Family Pack (DFP) cuam tshuam nrog lub cuab yeej. Saib MPLAB Pack Manager rau cov ntaub ntawv ntawm kev hloov pauv rau DFPs thiab rub tawm cov pob tshiab tshiab.
Version 2.40
Txaus siab heev (XCS-2876) Thaum siv qhov kev xaiv -mrelax, lub compiler tsis tau faib qee ntu ua ke, uas ua rau muaj qhov zoo tshaj plaws code loj. Qhov no yuav tshwm sim nrog cov cai uas siv cov tsev qiv ntawv MUSL tshiab lossis nrog cov cim tsis muaj zog.
Daim ntawv qhia tshwj xeeb tsis raug cuam tshuam raws li tau hais hauv kev ceeb toom (XCS-2875) Tus nqi-cov ntaub ntawv-hauv-config mappedprogmem feature yog nyob ntawm tus nqi-cov ntaub ntawv-hauv-proem feature tau qhib. Yog hais tias tus nqi-cov ntaub ntawv-ipconfig- mapped-proem feature tau qhia meej meej siv qhov kev xaiv thiab tus nqi-cov ntaub ntawv-inprogmem feature tau ua tsis taus, cov kauj ruam txuas ua tsis tiav, txawm tias cov lus ceeb toom hais tias cov ntaub ntawv tsis raug- hauv-config-mapped- proem feature tau txais kev xiam oob qhab, uas tsis yog tag nrho. Lub const-data-in-config-mapped-proem feature yog tam sim no muaj kev xiam oob qhab hauv qhov xwm txheej no.
DFP hloov mus kom raug NVMCTRL (XCS-2848) Lub runtime startup code siv los ntawm AVR64EA pab kiag li lawm tsis coj mus rau hauv tus account tias NVMCTRL sau npe nyob rau hauv Configuration Change Protection (CCP) thiab tsis muaj peev xwm teem lub IO SFR rau nplooj ntawv siv los ntawm const-data-in configmapped-proem compiler feature. Cov kev hloov pauv tau ua hauv AVR-Ex_DFP version 2.2.55 yuav tso cai rau lub sijhawm pib ua haujlwm kom raug sau rau daim ntawv teev npe no.
DFP hloov pauv kom tsis txhob flash mapping (XCS-2847) Kev ua haujlwm ib puag ncig rau qhov teeb meem nrog lub teeb pom kev zoo tshaj plaws hauv AVR128DA28/32/48/64 Silicon Errata (DS80000882) tau ua tiav. Const-data-in-config-mapped-proem compiler feature yuav tsis raug siv los ntawm lub neej ntawd rau cov khoom siv cuam tshuam, thiab qhov kev hloov no yuav tshwm sim hauv AVR-Ex_DFP version 2.2.160.
Tsim kev ua yuam kev nrog sinhf lossis coshf (XCS-2834) Kev sim siv lub sinhf () lossis coshf () lub tsev qiv ntawv ua haujlwm ua rau muaj qhov yuam kev txuas, piav qhia txog kev siv tsis tau txhais. Cov haujlwm uas ploj lawm tau hais txog tam sim no tau suav nrog hauv kev faib tawm compiler.
Tsim qhov yuam kev nrog nopa (XCS-2833) Siv tus cwj pwm nopa nrog lub luag haujlwm uas tau muaj nws lub npe sib sau ua ke siv raws li () cuam tshuam cov lus yuam kev los ntawm lub assembler. Qhov kev sib xyaw no tsis tuaj yeem ua tau.
Variadic muaj nuj nqi tsis ua haujlwm nrog cov lus sib cav (XCS-2755, XCS-2731) Kev ua haujlwm nrog tus lej sib txawv ntawm cov lus sib cav cia siab tias 24-ntsis (_memo hom) taw qhia kom dhau los ntawm cov npe sib txawv sib txawv thaum tus nqi-cov ntaub ntawv-hauv-proem feature tau qhib. Cov lus sib cav uas tau taw qhia rau cov ntaub ntawv nco tau dhau los ua 16-ntsis khoom, ua rau cov lej tsis ua haujlwm thaum lawv tau nyeem thaum kawg. Thaum lub cons data- in-proem feature yog enabled, tag nrho 16-ntsis pointers arguments yog tam sim no hloov mus rau 24-ntsis pointers. strtoxxx lub tsev qiv ntawv ua haujlwm tsis ua haujlwm (XCS-2620) Thaum const-data-in-proem feature tau qhib, tus nkag parameter hauv strtoxxx lub tsev qiv ntawv ua haujlwm tsis tau hloov kho kom zoo rau cov lus sib cav tsis nyob hauv qhov program nco.
Cov lus ceeb toom rau cov pov npav tsis raug (XCS-2612) Lub compiler tam sim no yuav muab qhov yuam kev yog tias tus nqi-hauv-proem feature tau qhib thiab qhov chaw nyob ntawm txoj hlua literal yog qhia meej meej rau cov ntaub ntawv chaw nyob (tso tseg const qualifier), rau example, (uint8 t*) “Hello World!”. Kev ceeb toom yog qhov teeb meem yog tias qhov chaw nyob yuav siv tsis tau thaum lub const cov ntaub ntawv pointer raug pov tseg rau cov ntaub ntawv chaw nyob.
Qhov chaw ntawm uninitialized const khoom (XCS-2408) Unitialized const thiab const v olatile cov khoom tsis tau muab tso rau hauv qhov program nco ntawm cov khoom siv uas qhia tag nrho lossis ib feem ntawm lawv qhov kev nco txog rau hauv cov ntaub ntawv chaw nyob. Rau cov khoom siv no, cov khoom zoo li no tam sim no tau muab tso rau hauv qhov kev pab cuam nco, ua rau lawv txoj haujlwm zoo ib yam nrog rau lwm yam khoom siv.
Version 2.39 (Functional Safety Tso Tawm)
Tsis muaj.
Version 2.36
Kev ua yuam kev thaum ncua sijhawm (XCS-2774) Cov kev hloov me me hauv lub neej ntawd Free hom optimizations tiv thaiv qhov folding ntawm kev ua haujlwm tsis tu ncua mus rau qhov ncua kev ua haujlwm, ua rau lawv raug kho raws li kev sib cuag thiab ua rau qhov yuam kev: _buil tin avr ncua_ voj voog xav tau ac ompile time integer tas li.
Version 2.35
Kev faib tawm sib txuas siv _at (XCS-2653) Kev faib tawm ntawm ntau qhov chaw hauv ib ntu nrog tib lub npe thiab siv ntawm () tsis ua haujlwm raug. Rau example: constchararrl [ ] at tri butte ((sect on(“.misses”))) at (Ox50 0 ) = {Oxo , Ox CD} ; cost char arr2[ ] at tri butte ((section(“.my s eke”))) = {Oxen, Ox FE }; yuav tsum tau muab tso rau arr2 tam sim ntawd tom qab aril.
Qhia qhov chaw pib seem (XCS-2650) Qhov -Wal, -section-start xaiv tau ntsiag to tsis tso cov ntu ntawm qhov chaw nyob pib npe. Qhov teeb meem no tau raug kho rau txhua qhov kev cai-npe npe; Txawm li cas los xij, nws yuav tsis ua haujlwm rau ib qho qauv, xws li . ntawv sau. bss, uas yuav tsum tau muab tso nrog -Wl, -T xaiv.
Linker tsoo thaum so (XCS-2647) Thaum lub -relax optimization tau qhib thiab muaj cov cai lossis cov ntaub ntawv ntu uas tsis haum rau hauv lub cim xeeb muaj, tus linker poob. Tam sim no, nyob rau hauv qhov xwm txheej zoo li no, cov lus yuam kev raug muab hloov pauv.
Bad EEPROM access (XCS-2629) Lub leproma _read_ block niaj hnub ua haujlwm tsis raug ntawm Mega cov khoom siv thaum qhov kev xaiv -monist-data-in-proem tau qhib (uas yog lub xeev qub), ua rau EEPROM nco tsis tau nyeem kom raug.
Kev faib lub cim xeeb tsis raug (XCS-2593, XCS-2651) Thaum qhov -Text lossis -Tata linker xaiv (rau example dhau los ntawm kev siv -Wl tsav tsheb xaiv) tau teev tseg, cov ntawv nyeem / cov ntaub ntawv keeb kwm yav dhau los tau hloov kho; txawm li cas los xij, qhov kawg qhov chaw nyob tsis tau hloov kho raws li, uas tuaj yeem ua rau thaj tsam tshaj li lub hom phiaj ntawm lub cim xeeb ntau yam.
Invalid ATtiny interrupt code (XCS-2465) Thaum lub tsev rau Tatin pab kiag li lawm thiab qhov optimizations raug neeg xiam (-00), cuam tshuam functions yuav ua rau operand tawm ntawm ntau yam assembler lus.
Cov kev xaiv tsis raug hla dhau (XCS-2452) Thaum siv cov kev xaiv -Wl nrog ntau yam, cov kev xaiv sib cais sib cais sib txuas, tsis yog tag nrho cov kev xaiv txuas tau raug xa mus rau tus linker.
yuam kev indirectly nyeem qhov kev nco (XCS-2450) Qee lub sij hawm, lub compiler tsim ib qho kev ua yuam kev sab hauv (unrecognizable insn) thaum nyeem ob byte tus nqi los ntawm tus taw tes rau qhov kev nco.
Version 2.32
Kev nkag mus thib ob ntawm lub tsev qiv ntawv tsis ua tiav (XCS-2381) Invoking lub Windows version ntawm xc8-ar. exe tsev qiv ntawv archiver zaum ob kom nkag mus rau lub tsev qiv ntawv archive uas twb muaj lawm yuav ua tsis tiav nrog tsis tuaj yeem hloov npe cov lus yuam kev.
Version 2.31
Unexplained compiler failures (XCS-2367) Thaum khiav ntawm Windows platforms uas muaj cov kab ke ib ntus cov npe teev rau txoj hauv kev uas suav nrog dot'.' tus cwj pwm, lub compiler yuav ua tsis tau tejyam.
Version 2.30
Cov ntawv sau thoob ntiaj teb tsis raug tom qab piav qhia (XCS-2299) Tes-sau los ua ke code uas tso cov ntawv thoob ntiaj teb nyob rau hauv kev sib dhos ua ntu zus uas tau ua los ntawm cov txheej txheem abstraction tej zaum yuav tsis raug hloov kho kom raug.
Kev sib tsoo yooj yim (XCS-2287) Siv cov kev xaiv -merlad tej zaum yuav ua rau tus linker tsoo thaum tus Tsov tus tw dhia so optimizations sim tshem tawm ret qhia uas tsis yog qhov kawg ntawm ib ntu.
Crash thaum optimizing cov ntawv raws li qhov muaj nuj nqis (XCS-2282) Txoj cai siv "Cov Ntawv Cim raws li qhov muaj nuj nqis" GNU C lus txuas ntxiv tuaj yeem ua rau cov txheej txheem kev ua kom zoo dua qub rau kev sib tsoo, nrog rau Kev Tshaj Tawm VMA ntau qhov kev txhim kho yuam kev.
Tsis yog li ntawd const (XCS-2271) Cov qauv rau kev pib () thiab lwm yam haujlwm los ntawm tsis qhia meej tus nqi tsis yog tus qauv tsim nyog ntawm cov ntawv xa rov qab thaum lub -monist-data inprogmem feature yog neeg xiam. Nco ntsoov tias nrog avrxmega3 thiab avertin pab kiag li lawm, qhov no feature yog mus tas li enabled.
Poob thawj pib (XCS-2269) Thaum muaj ntau tshaj ib qho kev hloov pauv hauv chav txhais lus tau muab tso rau hauv ib ntu (siv ntu lossis tus cwj pwm ((section))), thiab thawj qhov sib txawv no yog xoom pib lossis tsis muaj qhov pib, pib rau lwm qhov sib txawv hauv tib chav txhais lus. uas tau muab tso rau hauv tib seem tau ploj lawm.
Version 2.29 (Functional Safety Tso Tawm)
Tsis muaj.
Version 2.20
Yuam kev nrog cov lus txib ntev (XCS-1983) Thaum siv lub hom phiaj AVR, lub compiler yuav tsum tau nres nrog a file tsis pom qhov yuam kev, yog cov kab hais kom ua loj heev thiab muaj cov cim tshwj xeeb xws li cov lus hais, backslashes, thiab lwm yam.
Unassigned rodata seem (XCS-1920) AVR linker ua tsis tau tejyam muab lub cim xeeb rau kev cai rodata seem thaum lub tsev rau avrxmega3 thiab avrtiny architectures, muaj peev xwm ua rau lub cim xeeb overlap yuam kev.
Version 2.19 (Functional Safety Tso Tawm)
Tsis muaj.
Version 2.10
Hloov chaw tsis ua haujlwm (XCS-1891) Qhov zoo tshaj plaws haum tus faib yog tawm hauv lub cim xeeb 'qhov' nyob rau hauv nruab nrab ntawm cov seem tom qab linker so. Ib cag los ntawm kev sib cais ntawm kev nco, qhov no ua rau muaj peev xwm ua rau muaj kev cuam tshuam kev hloov chaw tsis ua haujlwm ntsig txog pc-tus txheeb ze dhia lossis hu ua tawm ntawm ntau yam.
Cov lus qhia tsis hloov pauv los ntawm kev so (XCS-1889) Linker so tsis tshwm sim rau dhia lossis hu cov lus qhia uas nws lub hom phiaj tuaj yeem ncav cuag yog tias so.
ploj lawm Kev ua haujlwm (XCSE-388) Ob peb txhais los ntawm , xws li clock_ div_ t thiab clock_prescale_set (), tsis tau txhais rau cov khoom siv, suav nrog ATmega324PB, ATmega328PB, ATtiny441, thiab ATtiny841.
Tsis muaj macro Lub preprocessor macros_ xcs _MODE_, _xcs VERSION, _xc, thiab xcs tsis tau txiav txim los ntawm lub compiler. Cov no muaj tam sim no.
Version 2.05
Internal compiler yuam kev (XCS-1822) Thaum lub tsev nyob rau hauv lub qhov rais, ib qho kev ua yuam kev hauv compiler tej zaum yuav raug tsim thaum optimizing code.
RAM overflow tsis pom (XCS-1800, XCS-1796) Cov kev zov me nyuam uas tshaj qhov muaj RAM tsis raug kuaj pom los ntawm cov neeg sau ntawv hauv qee qhov xwm txheej, ua rau lub sijhawm ua haujlwm tsis ua haujlwm.
Omitted flash nco (XCS-1792) Rau avrxmega3 thiab avrtiny li, qee qhov ntawm lub cim xeeb flash tej zaum yuav raug tso tseg tsis muaj kev pab cuam los ntawm MPLAB X IDE.
Ua tsis tiav lub ntsiab (XCS-1788) Hauv qee qhov xwm txheej uas qhov kev zov me nyuam tsis muaj qhov hloov pauv thoob ntiaj teb tau hais tseg, lub sijhawm pib pib code tsis tawm thiab lub ntsiab () ua haujlwm tsis tau mus txog.
Cov ntaub ntawv nco tsis raug (XCS-1787) Rau avrxmega3 thiab avrtiny li, qhov kev pab cuam avr-loj tau tshaj tawm tias cov ntaub ntawv nyeem nkaus xwb tau siv RAM es tsis txhob siv lub cim xeeb.
Qhov kev pab cuam nco tsis raug (XCS-1783) Cov phiaj xwm muab tso ua ke rau cov khoom siv nrog qhov program nco tau kos npe rau hauv cov ntaub ntawv chaw nyob thiab txhais cov khoom siv PROGMEM macro / tus cwj pwm yuav tau nyeem cov khoom no los ntawm qhov chaw nyob tsis raug.
Internal yuam kev nrog tus cwj pwm (XCS-1773) Internal yuam kev tshwm sim yog tias koj txhais cov khoom pointer nrog rau
_at () lossis attribute() tokens nyob nruab nrab ntawm lub npe pointer thiab hom dereferenced, rau example, char*
_at ( 0x80015 0) cp; Kev ceeb toom tam sim no tau tshaj tawm yog tias muaj cov cai li ntawd.
Ua tsis tiav lub ntsiab (XCS-1780, XCS-1767, XCS-1754) Siv EEPROM hloov pauv lossis txhais cov fuses siv lub config pragma tej zaum yuav ua rau cov ntaub ntawv tsis raug pib thiab/lossis kaw qhov kev ua haujlwm ua haujlwm hauv runtime startup code, ua ntej mus txog lub ntsiab ().
Fuse yuam kev nrog cov khoom siv me me (XCS-1778, XCS-1742) Cov khoom siv attiny4/5/9/10/20/40 muaj qhov tsis raug fuse ntev teev nyob rau hauv lawv header files uas ua rau linker yuam kev thaum sim tsim cov cai uas txhais fuses.
Segmentation txhaum (XCS-1777) Ib ntus segmentation txhaum tau raug kho.
Assembler crash (XCS-1761) Lub avr-raws li assembler tej zaum yuav poob thaum lub compiler tau khiav hauv Ubuntu 18.
Cov khoom tsis raug tshem tawm (XCS-1752) Uninitialized zoo li qub cia khoom ntev yuav tsis raug tshem tawm los ntawm runtime startup code.
Tsis sib haum xeeb ntaus ntawv specification tsis quav ntsej (XCS-1749) Lub compiler tsis tau tsim qhov yuam kev thaum siv ntau yam kev xaiv tshwj xeeb ntawm cov cuab yeej siv thiab qhia cov khoom siv sib txawv.
Nco kev noj nyiaj txiag los ntawm heap (XCS-1748) Lub cim heap_ pib tau raug teeb tsa tsis raug, ua rau muaj peev xwm ntawm cov hloov pauv zoo tib yam raug cuam tshuam los ntawm heap.
Linker hloov chaw yuam kev (XCS-1739) Qhov yuam kev hloov chaw txuas txuas yuav raug tso tawm thaum code muaj rjmp lossis rcall nrog lub hom phiaj raws nraim 4k bytes deb.
Version 2.00
Tsis muaj.
Paub Qhov Teeb Meem
Cov hauv qab no yog cov kev txwv hauv kev ua haujlwm compiler. Cov no tej zaum yuav yog kev txwv kev coding, los yog
deviations los ntawm cov ntaub ntawv muaj nyob rau hauv tus neeg siv phau ntawv. Cov ntawv cim bracketed hauv lub npe yog qhov teeb meem qhov kev txheeb xyuas hauv cov ntaub ntawv taug qab. Qhov no yuav muaj txiaj ntsig yog tias koj xav tau hu rau kev txhawb nqa. Cov khoom uas tsis muaj daim ntawv lo yog cov kev txwv uas piav qhia txog hom operandi thiab uas zoo li yuav siv tau mus tas li.
MPLAB X IDE Integration
MPLAB IDE integration Yog tias Compiler yuav tsum tau siv los ntawm MPLAB IDE, ces koj yuav tsum nruab MPLAB IDE ua ntej txhim kho Compiler.
Code tiam
PA lub cim xeeb faib tsis ua haujlwm (XCS-2881) Thaum siv cov txheej txheem abstraction optimizers, tus linker yuav qhia txog kev faib cov cim xeeb yuam kev thaum cov lej loj nyob ze rau tus nqi ntawm cov kev pab cuam nco ntawm lub cuab yeej, txawm tias qhov kev zov me nyuam yuav tsum muaj peev xwm ua kom haum rau qhov chaw muaj.
Tsis zoo li Smart-IO (XCS-2872) Lub compiler lub ntse-io feature yuav tsim kom siv tau tab sis sub optimal code rau lub sprint muaj nuj nqi yog hais tias lub ntug dej hiav txwv-cov ntaub ntawv-hauv-proem feature tau raug neeg tsis taus los yog lub cuab yeej muaj tag nrho nws cov flash mapped rau hauv cov ntaub ntawv nco.
Txawm tias tsawg ntse Smart-IO (XCS-2869) Lub compiler lub ntse-io feature yuav tsim kom siv tau tab sis suboptimal code thaum lub -floe thiab -fno-buil tin xaiv ob leeg siv.
Suboptimal nyeem nkaus xwb cov ntaub ntawv tso (XCS-2849) Tus linker tam sim no tsis paub txog APPCODE thiab APPDATA lub cim xeeb ntu, lossis [Tsis yog-] Nyeem-While-Sau faib hauv daim ntawv qhia nco. Raws li qhov tshwm sim, muaj lub caij nyoog me me uas tus neeg txuas tuaj yeem faib cov ntaub ntawv nyeem nkaus xwb hauv thaj chaw tsis zoo ntawm lub cim xeeb. Lub caij nyoog ntawm misplaced cov ntaub ntawv nce yog hais tias lub ntug dej hiav txwv-cov ntaub ntawv-hauv-pragma feature yog enabled, tshwj xeeb tshaj yog yog hais tias tus ntug dej hiav txwv-data-in-config-mapped-proem feature kuj enabled. Cov yam ntxwv no tuaj yeem raug kaw yog tias xav tau.
Yam khoom file kev txiav txim (XCS-2863) Qhov kev txiav txim uas cov khoom files yuav ua tiav los ntawm tus linker yuav txawv raws li kev siv cov txheej txheem abstraction optimizations (-mpa xaiv). Qhov no tsuas yog cuam tshuam cov cai uas txhais cov haujlwm tsis muaj zog hla ntau lub modules.
Linker yuam kev nrog kiag li (XCS-2777) Thaum ib yam khoom tau ua tiav ntawm qhov chaw nyob ntawm qhov pib ntawm RAM thiab cov khoom siv tsis tau tsim los kuj tau raug txhais, qhov kev ua yuam kev txuas tuaj yeem tshwm sim.
Lub sij hawm luv luv-up IDs (XCS-2775) Rau ATA5700/2 li, PHID0/1 sau npe tsuas yog txhais tau tias yog 16 ntsis dav, tsis yog 32 ntsis dav.
Linker tsoo thaum hu rau lub cim (XCS-2758) Tus linker yuav poob yog qhov kev xaiv -merlad tsav tsheb siv thaum lub hauv paus code hu rau ib lub cim uas tau txhais tau tias siv -Wl, -defsym linker xaiv.
Kev pib tsis raug (XCS-2679) Muaj qhov tsis sib xws ntawm qhov chaw pib qhov tseem ceeb rau qee qhov khoom siv thoob ntiaj teb / zoo li qub byte-loj muab tso rau hauv cov ntaub ntawv nco thiab qhov twg cov kev hloov pauv yuav nkag mus rau lub sijhawm ua haujlwm.
pib teeb tsa tsis raug (XCS-2652) Nyob rau hauv qhov xwm txheej uas ib txoj hlua rau kev hloov dua siab tshiab los ntawm tau teev tseg () muaj qhov zoo li yog tus lej ntab hauv cov ntawv nthuav tawm thiab muaj cov cim xav tsis thoob tom qab tus cim e, ces qhov chaw nyob khoob, yog muab, yuav taw tes rau tus cim tom qab tus e thiab tsis yog e nws tus kheej. Rau example: stated("hooey", npliag); yuav ua rau npliag taw tes rau tus cim x.
Kev hu xovtooj tsis zoo (XCS-2628) Qee qhov xwm txheej, kev hu xov tooj ua haujlwm los ntawm tus taw tes ua haujlwm khaws cia ua ib feem ntawm cov qauv yuav ua tsis tiav.
Strtof rov xoom rau hexadecimal floats (XCS-2626) Lub tsev qiv ntawv ua haujlwm strtof () thiab al thiab scanf () li al, yuav ib txwm hloov tus lej hexadecimal floating-point tus lej uas tsis qhia tus lej rau
xoom. Rau example: stator("Owl", &empty); yuav rov qab tus nqi 0, tsis yog 1.
Kev xa xov tsis raug pawg kws pab tswv yim (XCS-2542, XCS-2541) Hauv qee qhov xwm txheej, pawg kws pab tswv yim ceeb toom txog kev rov ua dua lossis tsis paub cov pawg siv (tejzaum nws los ntawm kev siv alloca()) tsis raug tso tawm.
Ua tsis tiav nrog tus lej cuam tshuam cuam tshuam (XCS-2421) Qhov twg ntau tshaj ib qho kev cuam tshuam muaj tib lub cev, lub compiler yuav muaj cov zis rau ib qho kev cuam tshuam kev ua haujlwm hu rau lwm tus. Qhov no yuav ua rau tag nrho cov npe hu-clobbered tau txais kev cawmdim yam tsis tsim nyog, thiab cov kev cuam tshuam yuav raug qhib txawm tias ua ntej qhov kev cuam tshuam ntawm tus neeg ua haujlwm cuam tshuam tam sim no tau khiav, uas tuaj yeem ua rau cov lej tsis ua haujlwm.
Const cov khoom tsis nyob rau hauv qhov kev pab cuam nco (XCS-2408) Rau avrxmega3 thiab avertins tej yaam num unidealized const cov khoom raug muab tso rau hauv cov ntaub ntawv nco, txawm tias ib tug ceeb toom qhia tias lawv tau muab tso rau hauv qhov kev pab cuam nco. Qhov no yuav tsis cuam tshuam rau cov khoom siv uas tsis muaj qhov program nco tau kos npe rau hauv cov ntaub ntawv nco qhov chaw, thiab nws yuav tsis cuam tshuam rau txhua yam khoom uas tau pib.
Cov zis tsis zoo nrog txoj kev DFP tsis raug (XCS-2376) Yog hais tias lub compiler raug hu nrog txoj kev DFP tsis raug thiab 'spec' file muaj nyob rau ntawm cov khoom xaiv, lub compiler tsis qhia cov khoom uas ploj lawm tsev neeg pob thiab es tsis txhob xaiv lub 'spec' file, uas tej zaum yuav ua rau ib tug invalid tso zis. Qhov 'spec' files tej zaum yuav tsis hloov kho nrog DFPs uas tau muab faib thiab tau npaj rau kev siv nrog kev sim hauv compiler nkaus xwb.
Lub cim xeeb sib tshooj undetected (XCS-1966) Lub compiler tsis pom lub cim xeeb sib tshooj ntawm cov khoom ua tiav ntawm qhov chaw nyob (ntawm ()) thiab lwm yam khoom siv siv ntu () specifier thiab uas txuas rau tib qhov chaw nyob.
Ua tsis tiav nrog lub tsev qiv ntawv ua haujlwm thiab _meme (XCS-1763) Hu ua limbic ntab ua haujlwm nrog kev sib cav hauv _memo chaw nyob yuav ua tsis tiav. Nco ntsoov tias cov tsev qiv ntawv niaj hnub raug hu los ntawm qee tus tswv C, yog li, piv txwvample, cov cai hauv qab no cuam tshuam: rov qab regFloatVar> memxFloatVar;
Kev siv txwv limbic (AVRTC-731) Rau ATTiny4/5/9/10/20/40 cov khoom, tus qauv C / Math tsev qiv ntawv siv hauv limbic yog qhov txwv tsis pub dhau los yog tsis muaj tam sim no.
Cov kev txwv qhov kev nco (AVRTC-732) Program nco dluab tshaj 128 kb tau txais kev txhawb los ntawm lub toolchain; Txawm li cas los xij, muaj cov xwm txheej paub txog kev rho menyuam tawm yam tsis muaj kev so thiab tsis muaj cov lus qhia yuam kev es tsis tsim cov kev ua haujlwm uas yuav tsum tau ua thaum qhov kev xaiv -relax siv.
Lub npe txwv qhov chaw (AVRTC-733) Cov chaw nyob uas muaj npe tau txais kev txhawb nqa los ntawm cov cuab yeej cuab tam, raws li cov kev txwv uas tau hais hauv tus neeg siv cov lus qhia ntu Tshwj xeeb Hom Qualifiers.
Sijhawm tsam Cov lub tsev qiv ntawv ua haujlwm xav tias GMT thiab tsis txhawb cov sijhawm hauv zos, yog li lub sijhawm hauv zos () yuav rov qab rau tib lub sijhawm li gummite (), rau example.
KEV PAB CUAM
file///Applications/microehip/xc8/v 2 .40/docs/Read me_X C 8_ rau A VR. htm ua
Cov ntaub ntawv / Cov ntaub ntawv
![]() |
MICROCHIP MPLAB XC8 C Compiler Software [ua pdf] Tus tswv phau ntawv MPLAB XC8 C, MPLAB XC8 C Compiler Software, Compiler Software, Software |