MICROCHIP MPLAB XC8 C Compiler Software
MISY FAMPAHAFANTARANA MANDRAKIZAY Mifandray amin'ny MPLAB XC8 C COMPILER IZANY REHEFA MISY MICROCHIP AVR DEVIS.
VAKIO IZANY alohan'ny hampandehanana an'ity lozisialy ity. JEREO NY MPLAB XC8 C COMPILER FANAMARIHANA FOTOANA HO AN'NY DOKUMENTS PIC RAHA AMPIASAINAO NY COMPILER HO AN'NY 8-BIT PIC DEVICES.
TAPITRAview
Sava lalana
Ity famotsorana ny Microchip MPLAB® XC8 C compiler ity dia misy endri-javatra vaovao maromaro, fanamboarana bug ary fanohanana fitaovana vaovao.
Daty fananganana
Ny datin'ny fananganana ofisialin'ity kinova compiler ity dia ny 3 Jolay 2022.
Version teo aloha
Ny dikan-teny MPLAB XC8 C compiler teo aloha dia 2.39, compiler fiarovana miasa, naorina tamin'ny 27 Janoary 2022. Ny compiler mahazatra teo aloha dia version 2.36, naorina tamin'ny 27 Janoary 2022.
Boky Torolàlana momba ny fiarovana
Misy boky torolalana ho an'ny mpamoron-kira MPLAB XC azo alaina ao amin'ny fonosana antontan-taratasy rehefa mividy fahazoan-dàlana azo antoka azo antoka ianao.
Fahazoan-dàlana sy dikan-teny
Ny MPLAB® XC8 C Compiler ho an'ny fitaovana AVR MCUs dia nosoratana sy zaraina amin'ny alàlan'ny GNU General Public License (GPL) izay midika fa ny kaody loharanony dia zaraina malalaka sy azon'ny besinimaro. Ny kaody loharano ho an'ny fitaovana eo ambanin'ny GNU GPL dia azo alaina misaraka amin'ny Microchip's website. Azonao atao ny mamaky ny GNU GPL ao amin'ny file nomena anarana dia hita ny subdirectory amin'ny lahatahiry fametrahanao. Mety ho hita eto ny fifanakalozan-kevitra ankapobeny momba ny fitsipika fototry ny GPL. Kaody fanohanana nomena ho an'ny lohapejy files, scripter linker, ary tranomboky fampandehanana dia kaody fananan-tany ary tsy voarakotry ny GPL.
Ity compiler ity dia fampiharana ny GCC version 5.4.0, binutils version 2.26, ary mampiasa avr-libc version 2.0.0.
System Requirements
Ny MPLAB XC8 C compiler sy ny rindrankajy fanomezan-dàlana ampiasainy dia azo ampiasaina amin'ny rafitra fiasa isan-karazany, ao anatin'izany ny dikan-teny 64-bit amin'ireto manaraka ireto: Edisiona matihanina an'ny Microsoft Windows 10; Ubuntu 18.04; ary macOS 10.15.5. Ny binary ho an'ny Windows dia nosoniavina kaody. Ny binary ho an'ny mac OShave dia nosoniavina kaody ary notary.
Raha mampiasa mpizara fahazoan-dàlana amin'ny tambajotra ianao dia ny solosaina manana rafitra miasa tohanan'ny mpanangom-bokatra ihany no azo ampiasaina hampiantranoana ny mpizara fahazoan-dàlana. Amin'ny xclm version 2.0, ny mpizara fahazoan-dàlana amin'ny tambajotra dia azo apetraka amin'ny sehatra Microsoft Windows Server, fa ny mpizara fahazoan-dàlana dia tsy mila mandeha amin'ny dikan-tranonkala amin'ny rafitra miasa.
Fandraisana an-tanana
Ity compiler ity dia manohana ny fitaovana 8-bit AVR MCU rehetra fantatra amin'ny fotoana famoahana. Jereo (ao amin'ny lahatahiry doc an'ny mpanangom-bokatra) hahitana lisitry ny fitaovana tohana rehetra. IRETO fileTanisao ihany koa ny firafitry ny fikandrana ho an'ny fitaovana tsirairay.
Fanontana sy fanavaozana ny fahazoan-dàlana
Ny compiler MPLAB XC8 dia azo ahetsiketsika ho vokatra nahazoana alalana (PRO) na tsy nahazoana alalana (maimaim-poana). Mila mividy fanalahidin'ny fampahavitrihana ianao mba hanomezana alalana ny mpanangona anao. Ny fahazoan-dàlana dia mamela ny fanatsarana ambony kokoa raha oharina amin'ny vokatra Free. Ny compiler tsy nahazo alalana dia azo ampiasaina mandritra ny fotoana tsy misy fahazoan-dàlana.
Ny compiler MPLAB XC8 Functional Safety dia tsy maintsy alefa miaraka amin'ny fahazoan-dàlana azo antoka azo ampiasaina amin'ny Microchip. Ny compiler dia tsy hiasa raha tsy misy io fahazoan-dàlana io. Rehefa voahetsika dia azonao atao ny misafidy ny haavon'ny fanatsarana rehetra ary mampiasa ny endri-javatra compiler rehetra. Ity famoahana ny MPLAB XC Functional Safety Compiler ity dia manohana ny fahazoan-dàlana amin'ny Network Server.
Jereo ny antontan-taratasy fametrahana sy fanomezan-dàlana MPLAB XC C Compiler (DS50002059) raha mila fampahalalana momba ny karazana fahazoan-dàlana sy ny fametrahana ny mpamoron-javatra misy fahazoan-dàlana.
Fametrahana sy fampahavitrihana
Jereo koa ny fizarana Olan'ny Fifindra-monina sy Famerana raha mila fampahalalana manan-danja momba ny mpitantana ny fahazoan-dàlana farany miaraka amin'ity mpanangom-bokatra ity.
Raha mampiasa MPLAB IDE ianao dia ataovy izay hametrahana ny MPLAB X IDE version 5.0 na aoriana alohan'ny hametrahana ity fitaovana ity. Atsaharo ny IDE alohan'ny hametrahana ny compiler. Alefaso ny .exe (Windows), .run (Linux) na app (macOS) compiler installer application, oh XC8-1.00.11403-windows.exe ary araho ny toromarika eo amin'ny efijery.
Ny lahatahiry fametrahana default no soso-kevitra. Raha mampiasa Linux ianao dia tsy maintsy mametraka ny compiler amin'ny alàlan'ny terminal ary avy amin'ny kaonty root. Ampidiro amin'ny kaonty macOS manana tombotsoan'ny mpitantana.
Ny fampahavitrihana izao dia atao misaraka amin'ny fametrahana. Jereo ny antontan-taratasy License Manager for MPLAB® XC C Compiler (DS52059) raha mila fanazavana fanampiny.
Raha misafidy ny hampandeha ny mpamoron-kira eo ambanin'ny fahazoan-dàlana fanombanana ianao dia hahazo fampitandremana mandritra ny fanangonana rehefa ao anatin'ny 14 andro amin'ny fiafaran'ny vanim-potoana fanombanana. Io fampitandremana io ihany no avoaka raha toa ianao ka ao anatin'ny 14 andro aorian'ny fiafaran'ny famandrihana HPA anao.
Ny XC Network License Server dia installer misaraka ary tsy tafiditra ao amin'ny installer compiler mpampiasa tokana.
Ny XC License Manager dia manohana ny fitsangantsanganana amin'ny fahazoan-dàlana mitsingevana. Natao ho an'ireo mpampiasa finday, ity fampiasa ity dia mamela fahazoan-dàlana mitsingevana hiala amin'ny tambajotra mandritra ny fotoana fohy. Amin'ny fampiasana an'io endri-javatra io dia azonao atao ny miala amin'ny tambajotra ary mbola mampiasa ny MPLAB XC compiler anao. Jereo ny lahatahiry doc amin'ny fametrahana XCLM raha te hahalala bebe kokoa momba ity endri-javatra ity. Ny MPLAB X IDE dia misy varavarankely License (Tools > Licenses) hitantana ny roaming.
Famahana ny olan'ny fametrahana
Raha tojo fahasahiranana ianao amin'ny fametrahana ny compiler eo ambanin'ny rafitra fiasa Windows rehetra, andramo ireto soso-kevitra manaraka ireto.
- Alefaso ho mpitantana ny fametrahana.
- Apetraho amin'ny 'Full control' ny fahazoan-dàlana amin'ny fampiharana installer. (Tsindrio havanana ny file, safidio ny Properties, Security tab, safidio ny mpampiasa, manova.)
- Mametraha alalana amin'ny lahatahiry temp ho “Full Control!
Mba hamaritana ny toerana misy ny lahatahiry temp, soraty ny %temp% ao amin'ny baiko Run (Windows logo key + R). Hanokatra a file Dialogue explorer mampiseho io lahatahiry io ary ahafahanao mamaritra ny lalan'io lahatahiry io.
Compiler Documentation
Ny torolalan'ny mpampiasa ny compiler dia azo sokafana amin'ny pejy HTML izay misokatra amin'ny navigateur anao rehefa manindry ny bokotra fanampiana manga ao amin'ny dashboard MPLAB X IDE, araka ny voalaza ao amin'ny pikantsary.
Raha manorina tanjona AVR 8-bit ianao, ny Torolàlana ho an'ny mpampiasa MPLAB® XC8 C Compiler ho an'ny AVR® MCU dia misy fampahalalana momba ireo safidy sy endri-javatra azo ampiharina amin'ity maritrano ity.
Fanohanana ny mpanjifa
Ny Microchip dia mandray ny tatitra momba ny bibikely, ny soso-kevitra na ny fanehoan-kevitra momba ity dikan-tsarimihetsika ity. Alefaso azafady izay tatitra momba ny bug na fangatahana endri-javatra amin'ny alàlan'ny Rafitra fanohanana.
Fanavaozana ny antontan-taratasy
Ho an'ny an-tserasera sy ny kinova farany an'ny antontan-taratasy MPLAB XC8, tsidiho azafady ny Documentation Teknika an-tserasera an'ny Microchip website.
Taratasy AVR vaovao na nohavaozina amin'ity famoahana ity:
- Fampandrenesana momba ny zon'ny mpamorona MUSL
- Fametrahana sy fanomezan-dàlana MPLAB XC C Compiler (fanavaozana M)
- Torolàlana ho an'ny mpampiasa MPLAB XC8 ho an'ny injeniera mipetaka - AVR MCUs (fanavaozana A)
- MPLAB XC8 C Compiler User!s Guide for AVR MCU (revision F)
- Microchip Unified Standard Library Reference Guide (fanavaozana B)
Ny Microchip Unified Standard Library Reference Guide dia manoritsoritra ny fitondran-tena sy ny fifandraisana amin'ireo fiasa voafaritry ny Microchip Unified Standard Library, ary koa ny fampiasana ny karazana tranomboky sy ny macro. Ny sasany amin'ireo fampahalalana ireo dia voarakitra taloha tao amin'ny MPLAB® XC8 C Compiler User!s Guide for AVR® MCU. Mbola voarakitra ato amin'ity torolalana mpanangom-bokatra ity ny fampahalalana momba ny tranomboky manokana.
Raha vao manomboka amin'ny fitaovana 8-bit ianao ary ny MPLAB XC8 C Compiler, ny MPLAB® XC8 User!s Guide for Embedded Engineers - AVR® MCUs (DS50003108) dia manana fampahalalana momba ny fametrahana tetikasa ao amin'ny MPLAB X IDE sy ny kaody fanoratana. ho an'ny tetikasa MPLAB XC8 C voalohany anao. Ity torolàlana ity dia zaraina miaraka amin'ny compiler.
Ny Torolàlana ho an'ny mpampiasa Hamate dia nampidirina tao amin'ny lahatahiry docs amin'ity famoahana ity. Ity torolàlana ity dia natao ho an'ireo izay mampiasa ny Hamate ho fampiharana tokana.
Inona ny vaovao
Ireto manaraka ireto dia endri-javatra vaovao lasibatra AVR izay tohanan'ny mpanangona ankehitriny. Ny laharan'ny dikan-teny ao amin'ny zana-dohateny dia manondro ny kinova mpanangona voalohany hanohana ireo endri-javatra manaraka.
Dikan-teny 2.40
Fanohanana fitaovana vaovao Misy fanohanana ho an'ireto ampahany AVR manaraka ireto: AT90PWM3, AVR16DD14, AVR16DD20, AVR16DD28, AVR16DD32, AVR32DD14, AVR32DD20, AVR32DD28, AVR32DD32, AVR64EA28, AVR64EA32EA, ary AVR64EA48EA.
Fanatsarana ny abstraction procédure Nohatsaraina ny fitaovana fanatsarana ny abstraction (PA) mba hahafahan'ny kaody misy torolàlana momba ny fiantsoana (fahatsiarovana ny antso). Izany dia hitranga raha tsy ampiasaina handefasana hevitra na hahazoana sanda miverina avy amin'ny fiasa ny stack. Ny stack dia ampiasaina amin'ny fiantsoana asa miaraka amin'ny lisitry ny adihevitra miovaova na amin'ny fiantsoana asa izay mitaky adihevitra bebe kokoa noho ny rejisitra voatondro ho an'ity tanjona ity. Ity endri-javatra ity dia azo esorina amin'ny alàlan'ny safidy monk-pa-outline-calls, na azo esorina tanteraka ny abstraction amin'ny fomba ho an'ny zavatra iray. file na miasa amin'ny fampiasana ny -monk-pa-on-file ary -mo.-pa-on-function tsirairay avy, na amin'ny fampiasana ny toetra nipa (nipa specifier) mifantina miaraka amin'ny fiasa
Macro fandrakofana kaody Ny mpamoron-kira izao no mamaritra ny macro __CODECOV raha misy safidy mcodecov manankery.
Safidy famandrihana fahatsiarovana Ny mpamily xc8-cc izao dia hanaiky ny -mreserve=space@start: safidy farany rehefa manorina ho an'ny tanjona AVR. Ity safidy ity dia mitahiry ny faritra fitadidiana voatondro ao amin'ny habaka fitadidiana data na fandaharana, manakana ny mpampitohy tsy hameno ny kaody na zavatra amin'ity faritra ity.
Smarter smart IO Fanatsarana maro no natao tamin'ny fiasan'ny Smart IO, anisan'izany ny fanovana ankapobe amin'ny kaody fototra printf, mitondra ny %n fanondroana fiovam-po ho toy ny variana tsy miankina, mampifandray amin'ny vararg pop mahazatra amin'ny fangatahana, mampiasa karazana data fohy kokoa raha azo atao amin'ny fitantanana ny tohan-kevitry ny asa IO , ary ny fametahana kaody mahazatra amin'ny sakan'ny saha sy ny fikarakarana tsara. Mety hiteraka kaody sy tahiry manan-danja izany, ary hampitombo ny hafainganam-pandehan'ny IO.
Version 2.39 (Famoahana fiarovana azo ampiasaina)
Fahazoan-dàlana amin'ny Network Server Ity famoahana ny MPLAB XC8 Functional Safety Compiler ity dia manohana ny License Server Server.
Dikan-teny 2.36
Tsy misy.
Dikan-teny 2.35
Fanohanana fitaovana vaovao Misy fanohanana ho an'ireto ampahany AVR manaraka ireto: ATTINY3224, ATTINY3226, ATTINY3227, AVR64DD14, AVR64DD20, AVR64DD28, ary AVR64DD32.
Nohatsaraina ny famadihana contexte Ny safidy -mcall-isr-prologues vaovao dia manova ny fomba fiasan'ny interrupt mamonjy rejisitra amin'ny fidirana sy ny fomba hamerenana ireo rejisitra ireo rehefa tapitra ny fahazarana manelingelina. Izy io dia miasa amin'ny fomba mitovy amin'ny safidy -mcall-prologues, saingy misy fiantraikany amin'ny asa fanelingelenana (ISRs) fotsiny.
Mbola nohatsaraina kokoa ny fifandimbiasana contexte Ny safidy -mgas-isr-prologues vaovao dia manara-maso ny kaody mangidihidy eo amin'ny toe-javatra navoaka ho an'ny asa fanompoana kely tapaka. Rehefa alefa, ity endri-javatra ity dia hanana ny assembler mijery ny ISR ho an'ny fampiasana rejisitra ary mitahiry ireo rejistra efa nampiasaina raha ilaina.
Sarintany tselatra azo amboarina Ny fitaovana sasany ao amin'ny fianakaviana AVR DA sy AVR DB dia manana SFR (ohatra FLMAP) izay mamaritra ny fizarana 32k amin'ny fitadidian'ny programa ho voasoritra ao anaty fitadidiana angona. Ny safidy vaovao - mconst-data-in-config-mapped-proem dia azo ampiasaina mba hametrahana ny mpampitohy ny angon-drakitra mahafeno fepetra rehetra ao amin'ny fizarana 32k ary manomboka mandeha ho azy ny rejisitra SFR mifandraika amin'izany mba hahazoana antoka fa io angon-drakitra io dia voapetaka amin'ny habaka fitadidiana data. , izay hidirana amin'ny fomba mahomby kokoa.
Microchip Unified Standard Libraries Ny mpamoron-kira MPLAB XC rehetra dia hizara tranomboky mahazatra Microchip Unified, izay azo alaina amin'ity famoahana ny MPLAB XC8 ity. Ny Torolàlana ho an'ny mpampiasa MPLAB® XC8 C Compiler / na AVR® MCU dia tsy ahitana ny antontan-taratasy momba ireo fiasa mahazatra ireo. Ity fampahalalana ity dia hita ao amin'ny Microchip Unified Standard Library Reference Guide. Mariho fa tsy misy intsony ny fiasa sasany nofaritan'ny avr-libc teo aloha. (Jereo Librar):'. functionality…)
Smart IO Amin'ny maha-ampahan'ireo tranomboky vaovao mitambatra, ny fiasan'ny IO ao amin'ny fianakaviana fanontana sy scan dia efa namboarina ho an'ny trano tsirairay, mifototra amin'ny fomba ampiasana ireo fiasa ireo ao amin'ny fandaharana. Mety hampihena be ny loharanon-karena ampiasain'ny programa iray izany.
Safidy fanampiana Smart IO Rehefa mamakafaka ny antso amin'ny fiasan'ny IO marani-tsaina (toy ny printf () na scanf () ), dia tsy afaka mamaritra foana avy amin'ny tady endrika na manatsoaka hevitra avy amin'ireo tohan-kevitra ireo mpamoritra fiovam-po takian'ny antso ny mpanangona. Teo aloha, ny compiler dia tsy hanao vinavina foana ary hiantoka fa ny fiasan'ny IO miasa tanteraka dia mifandray amin'ny sary fandaharana farany. Safidy vaovao - msmart-io-format=fmt dia nampiana mba hahafahan'ny mpampiasa hampahafantarin'ny mpampiasa ny fanoritsoritana fiovam-po ampiasain'ny fiasan'ny IO marani-tsaina izay tsy mazava ny fampiasana azy, manakana ny fomba fanao IO lava be loatra tsy hifandray. (Jereo ny safidy smart-io-format raha mila fanazavana fanampiny.)
Mametraka fizarana manokana Talohan'izay, ny safidy -Wl, -section-start dia nametraka ny fizarana voatondro amin'ny adiresy nangatahana ihany rehefa namaritra fizarana iray miaraka amin'ny anarana mitovy ny script mpampitohy. Rehefa tsy izany no zava-misy dia napetraka teo amin'ny adiresy nofidin'ny mpampitohy ilay fizarana ary tsy noraharahiana ny safidy. Ankehitriny dia homem-boninahitra ny safidy ho an'ny fizarana mahazatra rehetra, na dia tsy mamaritra ny fizarana aza ny script rohy. Mariho anefa fa ho an'ny fizarana mahazatra, toy ny . lahatsoratra, . bss na. angon-drakitra, ny mpizara mifanentana tsara indrindra dia mbola hifehy tanteraka ny fametrahana azy, ary tsy hisy vokany ny safidy. Ampiasao ny safidy -Wl, -Tsection=add, araka ny voalaza ao amin'ny torolàlana mpampiasa.
Dikan-teny 2.32
Torolàlana stack Azo ampiasaina miaraka amin'ny fahazoan-dàlana PRO compiler, ny endri-pitarihan'ny stack an'ny compiler dia azo ampiasaina hanombantombanana ny halalin'ny stack rehetra ampiasain'ny programa. Izy io dia manamboatra sy manadihady ny tabilao antso amin'ny programa iray, mamaritra ny fampiasana stack ho an'ny asa tsirairay, ary mamokatra tatitra, izay azo anatsoahana ny halalin'ny stacks ampiasain'ny programa. Ity fampiasa ity dia alefa amin'ny alalan'ny safidy -mchp-stack-usage command-line. Ny famintinana ny fampiasana stack dia atao pirinty aorian'ny famonoana. Hita ao amin'ny sari-tany ny tatitra antsipirihan'ny stack file, izay azo angatahina amin'ny fomba mahazatra.
Fanohanana fitaovana vaovao dia misy amin'ireto ampahany AVR ireto: ATTINY 427, ATTINY 424, ATTINY 426, ATTINY827, ATTINY824, ATTINY826, AVR32DB32, AVR64DB48, AVR64DB64, AVR64DB28, AVR32DB28, AVR64DB32, AVR32DB48, AVRXNUMXDBXNUMX
Fanohanana ny fitaovana nalaina dia tsy misy intsony amin'ny ampahany AVR manaraka: AVR16DA28, AVR16DA32 ary, AVR16DA48.
Dikan-teny 2.31
Tsy misy.
Dikan-teny 2.30
Safidy vaovao hisorohana ny fanombohana data Ny safidin'ny mpamily -mno-data-ini t vaovao dia manakana ny fanombohana ny angona sy ny famafana ny fizarana bss. Izy io dia miasa amin'ny alàlan'ny fanafoanana ny famoahana ny do_ copy_ data sy ny d o_ clear_ bss marika amin'ny fivoriambe files, izay hanakana ny fampidirana ireo fomba fanao ireo amin'ny mpampitohy.
Fanatsarana nohatsaraina Maro ny fanatsarana fanatsarana natao, anisan'izany ny fanesorana ny toromarika miverina miverimberina, ny fanesorana ny fitsambikinana sasany manaraka ny toromarika skip-if-bit-is, ary ny fanatsarana ny fomba fiasa sy ny fahafahana mamerina an'io dingana io.
Misy safidy fanampiny izao hifehezana ny sasany amin'ireo fanatsarana ireo, indrindra fa ny vatofantsika fizarana -f, izay mamela ny fidirana amin'ny zavatra static azo atao raha oharina amin'ny marika iray; -mpai derations=n , izay mamela ny isan'ny fanodinana abstraction amin'ny fomba fiasa mba hiova avy amin'ny default 2; ary, -mpa- call cost- shortcall, izay manao abstraction procédure mahery vaika kokoa, amin'ny fanantenana fa afaka mampitony antso lava ny mpampitohy. Ity safidy farany ity dia mety hampitombo ny haben'ny kaody raha toa ka tsy tanteraka ireo hevitra fototra.
Fanohanana fitaovana vaovao Ny fanohanana dia misy amin'ireto ampahany AVR ireto: AVR16DA28, AVR16DA32,
AVR16DA48, AVR32DA28, AVR32DA32, AVR32DA48, AVR64DA28, AVR64DA32, AVR64DA48, AVR64DA64, AVR128DB28, AVR128DB32, AVR128DB48, ary AVR128DB64.
Fanohanana fitaovana nesorina Tsy misy intsony ny fanohanana amin'ireto ampahany AVR ireto: ATA5272, ATA5790, ATA5790N, ATA5791, ATA5795, ATA6285, ATA6286, ATA6612C, ATA6613C, ATA6614Q, ATA6616C, ATA6617C, ary 664251.
Version 2.29 (Famoahana fiarovana azo ampiasaina)
Lohateny file ho an'ny compiler naorina mba hahazoana antoka fa ny compiler dia afaka mifanaraka amin'ny teny voafaritra manokana toy ny MISRA, ny lohapejy file, izay tafiditra ho azy amin'ny , nohavaozina. Ity lohapejy ity dia ahitana ny prototypes ho an'ny fiasa rehetra ao anatiny, toy ny _buil tin _avrnop () sy _buil tin_ avr delay_ cycles (). Mety tsy mifanaraka amin'ny MISRA ny sasany ao anatiny; Ireo dia azo esorina amin'ny fampidirana ny famaritana _Xe_ STRICT_ MISRA amin'ny baikon'ny compiler. Nohavaozina ny naorina-in sy ny fanambarany mba hampiasa karazana sakan'ny raikitra.
Dikan-teny 2.20
Fanohanana fitaovana vaovao Misy fanohanana ho an'ireto ampahany AVR manaraka ireto: ATTINY1624, ATTINY1626, ary ATTINY1627.
Fampiharana tsara indrindra Nohatsaraina ny allocator mifanaraka tsara indrindra (BFA) ao amin'ny compiler ka atokana amin'ny filaharana ny fizarana ahafahana manatsara kokoa. Ny BFA izao dia manohana ny toerana misy adiresy ary mitantana tsara kokoa ny fanombohana angona.
Fanatsarana ny abstraction procédure Ny fanatsarana abstraction amin'ny fomba fiasa dia atao amin'ny filaharan'ny code bebe kokoa. Ny toe-javatra teo aloha izay mety hampitombo ny haben'ny kaody dia nodinihina tamin'ny fampahafantarana ny kaody fanatsarana ny fizotran'ny fanangonana fako ataon'ny mpampitohy.
Ny tsy fisian'ny AVR Assembler Tsy tafiditra amin'ity fizarana ity intsony ny AVR Assembler.
Version 2.19 (Famoahana fiarovana azo ampiasaina)
Tsy misy.
Dikan-teny 2.10
Fandrakofana Kaody Ity famoahana ity dia misy endri-javatra fandrakofana kaody izay manamora ny famakafakana ny halehiben'ny fanatanterahana ny kaody loharanon'ny tetikasa. Ampiasao ny safidy -mcodecov=ram mba ahafahana manao izany. Aorian'ny fanatanterahana ny programa amin'ny fitaovanao, dia hangonina ao amin'ny fitaovana ny fampahalalana momba ny fandrakofana kaody, ary izany dia azo afindra sy asehon'ny MPLAB X IDE amin'ny alàlan'ny plugin fandrakofana kaody. Jereo ny antontan-taratasy IDE ho an'ny fampahalalana momba ity plugin ity dia azo alaina. Ny #pragma mcodecov dia azo ampiasaina hanilihana ireo fiasa manaraka amin'ny famakafakana fandrakofana. Ny tsara indrindra dia tokony ampiana ny pragma amin'ny fiandohan'ny file hanilika izany manontolo file avy amin'ny fanadihadiana momba ny fandrakofana. Raha tsy izany, ny toetra ( (mcodecov) ) dia azo ampiasaina hanilihana asa manokana amin'ny famakafakana fandrakofana.
Famaritana ny fitaovana files Fitaovana vaovao file antsoina hoe avr chipinfo. html dia hita ao amin'ny lahatahiry docs amin'ny fizarana compiler. izany file mitanisa ny fitaovana rehetra tohanan'ny mpanangom-bokatra. Kitiho ny anaran'ny fitaovana iray, ary hanokatra pejy iray mampiseho ireo pairs bitika / sanda rehetra azo atao ho an'io fitaovana io, miaraka amin'ny examples.
abstraction fomba fiasa Ny fanatsarana abstraction amin'ny fomba fiasa, izay manolo ny blocs mahazatra amin'ny code assembly miaraka amin'ny antso amin'ny dika mitovy amin'io sakana io, dia nampiana tao amin'ny compiler. Izy ireo dia tanterahana amin'ny alàlan'ny fampiharana misaraka, izay antsoin'ny mpanangom-bokatra ho azy rehefa misafidy ny fanatsarana ambaratonga 2, 3 ors. Mampihena ny haben'ny kaody ireo fanatsarana ireo, saingy mety hampihena ny hafainganam-pandehan'ny famonoana sy ny debuggability kaody.
Ny abstraction procédure dia mety ho kilemaina amin'ny ambaratonga ambony indrindra amin'ny fampiasana ny safidy -mno-pa, na azo alefa amin'ny ambaratonga ambany kokoa (araka ny fahazoan-dàlanao) amin'ny fampiasana -mpa. Mety ho kilemaina ho an'ny zavatra iray file mampiasa -mno-pa-on-file=fileanarana, na kilemaina amin'ny asa iray amin'ny fampiasana -mno-pa amin'ny function= function.
Ao anatin'ny kaody loharanonao, dia azo esorina ny abstraction amin'ny fomba fiasa amin'ny alàlan'ny fampiasana _attribute_ ((nopa)) miaraka amin'ny famaritana ny fiasa, na amin'ny fampiasana _nopa, izay miitatra amin'ny toetra ((nopa, noinline)) ary noho izany dia manakana ny fandrindrana ny asa tsy hitranga. ary misy ny abstraction ny code inline.
Lock bit fanohanana amin'ny pragma Ny #pragma config dia azo ampiasaina hamaritana ny bits hidin-trano AVR ary koa ireo bits hafa. Jereo ny mombamomba ny chip avr. html file (voatonona etsy ambony) ho an'ny tsiron-javatra / sanda ampiasaina amin'ity pragma ity.
Fanohanana fitaovana vaovao Ny fanohanana dia misy amin'ireto ampahany manaraka ireto: AVR28DA128, AVR64DA128, AVR32DA128, ary AVR48DA128.
Dikan-teny 2.05
Bitika bebe kokoa ho an'ny volanao Ny kinova macOS an'ity mpanangom-bokatra sy mpitantana ny lisansa ity dia fampiharana 64-bit ankehitriny. Izany dia hiantoka fa ny compiler dia hametraka sy hihazakazaka tsy misy fampitandremana amin'ny dikan-teny farany amin'ny macOS.
Const objects in programme memory Ny compiler dia afaka mametraka ny const-qualified objects ao amin'ny programme Flash memory, fa tsy manana azy ireo ao amin'ny RAM. Ny compiler dia novaina mba ho voatahiry ao amin'ny fahatsiarovana flash programan'ny const-qualified ny angon-drakitra ary azo idirana mivantana sy ankolaka amin'ny alalan'ny toromarika fitadidiana programa mifanaraka amin'izany. Ity endri-javatra vaovao ity dia alefa amin'ny alàlan'ny default fa azo esorina amin'ny alàlan'ny safidy -mno-const-data-in-progmem. Ho an'ny maritrano avrxmega3 sy avrtiny, dia tsy ilaina io endri-javatra io ary kilemaina foana, satria ny fitadidian'ny programa dia voasoritra ao amin'ny habaka adiresy data ho an'ireo fitaovana ireo.
Standard maimaim-poana Ny dikan-teny tsy nahazoana alalana (maimaim-poana) an'ity compiler ity izao dia mamela ny fanatsarana hatramin'ny ambaratonga 2. Izany dia mamela ny famoahana mitovy, na dia tsy mitovy aza, amin'izay azo atao teo aloha amin'ny fampiasana fahazoan-dàlana Standard.
Tongasoa eto AVRASM2 Ny assembler AVRASM2 ho an'ny fitaovana 8-bit dia tafiditra ao amin'ny installer compiler XC8. Ity assembler ity dia tsy ampiasain'ny XC8 compiler, fa azo ampiasaina amin'ny tetikasa mifototra amin'ny loharanon'ny fivoriambe.
Fanohanana fitaovana vaovao Ny fanohanana dia misy amin'ireto ampahany manaraka ireto: ATMEGA1608, ATMEGA1609, ATMEGA808, ary ATMEGA809.
Dikan-teny 2.00
Mpamily ambony indrindra Ny mpamily vaovao iray, antsoina hoe xc8-cc, dia mipetraka eo ambonin'ny mpamily avr-gcc teo aloha sy ny mpamily xc8, ary afaka miantso ny compiler mifanaraka amin'ny fifantenana ny fitaovana kendrena. Ity mpamily ity dia manaiky ny safidy amin'ny fomba GCC, izay nadika ho an'ny na ampitaina amin'ny mpamoron-kira hovonoina. Ity mpamily ity dia mamela safidy mitovy amin'ny semantika mitovy amin'izany ampiasaina amin'ny tanjona AVR na PIC ary noho izany no fomba atolotra hiantsoana ny mpanangona. Raha ilaina, ny mpamily avr-gcc taloha dia azo antsoina mivantana amin'ny alàlan'ny safidin'ny fomba taloha nekeny tamin'ny dikan-tsarimihetsika taloha.
Common C Interface Ity compiler ity dia afaka mifanaraka amin'ny MPLAB Common C Interface, mamela ny code source ho mora kokoa amin'ny alàlan'ny MPLAB XC compiler rehetra. Ny safidy -mext=cci dia mangataka an'io endri-javatra io, mamela ny syntax hafa ho an'ny fanitarana fiteny maro.
Mpamily tranomboky vaovao Mpamily tranomboky vaovao no mipetraka eo ambonin'ny librarian PIC teo aloha sy ny AVR avr-ar librarian. Ity mpamily ity dia manaiky safidy amin'ny fomba GCC-archiver, izay nadika ho an'ny na ampitaina amin'ny tranomboky novonoina. Ny mpamily vaovao dia mamela karazana safidy mitovy amin'ny semantika mitovy amin'izany ampiasaina hamoronana na hanodinana ny tranomboky PIC na AVR. file ary izany no fomba atolotra hiantsoana ny mpiandraikitra ny tranomboky. Raha ilaina amin'ny tetikasa lova, dia azo antsoina mivantana ny mpitahiry tranomboky teo aloha amin'ny fampiasana ireo safidy efa tranainy nekeny tamin'ny dikan-teny mpanangona teo aloha.
Olan'ny fifindra-monina
Ireto manaraka ireto dia endri-javatra izay karakarain'ny mpanangona amin'ny fomba hafa. Ireo fanovana ireo dia mety mitaky fanovana amin'ny kaody loharanonao raha mandefa kaody amin'ity version compiler ity. Ny laharan'ny dikan-teny ao amin'ny zana-dohateny dia manondro ny dikan-dahatsoratra voalohany hanohanana ny fanovana manaraka.
Dikan-teny 2.40
Tsy misy.
Version 2.39 (Famoahana fiarovana azo ampiasaina)
Tsy misy.
Dikan-teny 2.36
Tsy misy.
Dikan-teny 2.35
Fikarakarana ny tady mankany amin'ny fototra (XCS-2420) Mba hiantohana ny tsy fitoviana amin'ireo mpanangom-bokatra XC hafa, ny XC8 string-to functions, toy ny strtol () sns., dia tsy hanandrana hanova tady fidirana intsony raha toa ka lehibe noho 36 ny fototra voatondro ary hametraka errno ho EINVAL. Ny fenitra C dia tsy mamaritra ny fitondran-tenan'ny asa rehefa mihoatra io sanda fototra io.
Optimization hafainganam-pandeha tsy mety Nalefa ny fanatsarana abstraction amin'ny fomba rehefa misafidy ny fanatsarana ambaratonga 3 (-03). Ireo fanatsarana ireo dia mampihena ny haben'ny kaody amin'ny fandaniana ny hafainganam-pandehan'ny kaody, ka tsy tokony ho natao. Ireo tetikasa mampiasa ity haavo fanatsarana ity dia mety hahita fahasamihafana eo amin'ny haben'ny kaody sy ny hafainganan'ny fanatanterahana rehefa namboarina miaraka amin'ity famoahana ity.
Fampiasana tranomboky Ny kaody ho an'ny maro amin'ny fampandehanana tranomboky C manara-penitra ankehitriny dia avy amin'ny Tranombokim-bokin'ny Firaisan'ny Microchip, izay mety haneho fihetsika hafa amin'ny toe-javatra sasany raha oharina amin'ny nomen'ny tranomboky avr-libc teo aloha. Ho an'ny exampeny, tsy ilaina intsony ny mampifandray ao amin'ny tranomboky lprintf_flt (safidy -print _flt) mba hamelomana ny fanohanan'ny IO voalamina ho an'ny mpamantatra endrika mitsingevana. Ny endri-javatra IO marani-tsaina ao amin'ny Microchip Unified Standard Library dia mahatonga an'io safidy io ho tsy ampy. Fanampin'izany, tsy ilaina intsony ny fampiasana _p tovana mahazatra ho an'ny tady sy fitadidiana (oh strcpy_P () sns .. ) izay miasa amin'ny tady const amin'ny flash. Ny mahazatra C mahazatra (oh strcpy ()) dia hiasa tsara amin'ny angon-drakitra toy izany rehefa mandeha ny endri-javatra const-data-in-program-memory.
Dikan-teny 2.32
Tsy misy.
Dikan-teny 2.31
Tsy misy.
Dikan-teny 2.30
Tsy misy.
Version 2.29 (Famoahana fiarovana azo ampiasaina)
Tsy misy.
Dikan-teny 2.20
Nanova ny fisehon'ny DFP Ny mpamoron-kira izao dia mandray endrika hafa ampiasain'ny DFPs (Device Family Packs). Midika izany fa mety tsy hiasa amin'ity famoahana ity ny DFP tranainy iray, ary tsy ho afaka hampiasa ny DFP farany ny mpanangona tranainy.
Version 2.19 (Famoahana fiarovana azo ampiasaina)
Tsy misy.
Dikan-teny 2.10
tsy misy
Dikan-teny 2.05
Const zavatra ao amin'ny fahatsiarovana fandaharana Mariho fa ny zavatra default, const-qualfiied dia hapetraka sy hidirana ao amin'ny fitadidian'ny programa (araka ny voalaza eto). Hisy fiantraikany amin'ny habeny sy ny hafainganam-pandehan'ny tetikasanao izany, saingy tokony hampihena ny fampiasana RAM. Ity endri-javatra ity dia azo esorina, raha ilaina, amin'ny fampiasana ny safidy -mnoconst- da ta-in-progmem.
Dikan-teny 2.00
Configuration fuses Ny fuse fanamafisam-peo dia azo atao amin'izao fotoana izao amin'ny alàlan'ny config pragma arahin'ny mpivady sanda mametra mba hamaritana ny toetry ny fuse, ohatra.
#pragma config WDT0N = SET
#pragma config B0DLEVEL = B0DLEVEL_4V3
Zavatra sy asa tanteraka Ny zavatra sy ny asa dia azo apetraka amin'ny adiresy manokana ho fahatsiarovana amin'ny fampiasana ny CCI _at (adiresy) specifier, ho an'ny example: #anio int foobar at(Ox800100); char at(Ox250) get ID(int offset) { … } Ny tohan-kevitra momba an'io specifier io dia tsy maintsy tsy miova izay maneho ny adiresy hametrahana ny byte na ny toromarika voalohany. Ny adiresy RAM dia aseho amin'ny fampiasana offset 0x800000. Alefaso ny CCI hampiasa ity endri-javatra ity.
Syntax fiasa interrupt vaovao Ny mpamoron-kira izao dia manaiky ny CCI interrupt (num) specifier mba hanondroana fa ny C functions dia interrupters. Ny mpanoritra dia maka laharana fahatapahana, ohatraample: #anio void interrupt(SPI STC_ vect _num) spi Isr(void) { … }
Olana raikitra
Ireto manaraka ireto ny fanitsiana natao tamin'ny mpanangona. Ireo dia mety hanitsy ny bibikely ao amin'ny kaody noforonina na hanova ny fiasan'ny mpamoron-javatra amin'izay nokasaina na nofaritan'ny torolalana ho an'ny mpampiasa. Ny laharan'ny dikan-teny ao amin'ny lohatenikely dia manondro ny dikan-dahatsoratry ny mpanangom-bokatra voalohany misy famahana ny olana manaraka. Ny etikety misy bracket ao amin'ny lohateny dia ny famantarana ny olana ao amin'ny angon-drakitra fanaraha-maso. Mety ilaina ireo raha mila mifandray amin'ny fanohanana ianao.
Mariho fa misy olana manokana momba ny fitaovana voahitsy ao amin'ny Device Family Pack (DFP) mifandray amin'ilay fitaovana. Jereo ny Mpitantana Pack MPLAB raha te hahalala vaovao momba ny fanovana natao tamin'ny DFP sy hisintona ny fonosana farany.
Dikan-teny 2.40
tony loatra (XCS-2876) Rehefa mampiasa ny safidy -mrelax, ny compiler dia tsy nizara fizarana sasany, ka nahatonga ny haben'ny code tsy dia tsara loatra. Mety nitranga tamin'ny kaody nampiasa ny tranomboky MUSL vaovao na tamin'ny marika malemy.
Ny endri-tsarintany dia tsy kilemaina araka ny voalaza ao amin'ny fampitandremana (XCS-2875) Ny endri-javatra cost-data-in-config mappedprogmem dia miankina amin'ny singa cost-data-in-proem izay alefa. Raha toa ka nampiharina mazava ny endri-javatra cost-data-ipconfig-mapped-proem tamin'ny fampiasana ny safidy ary nesorina ny singa cost-data-inprogmem, dia tsy nahomby ny dingana rohy, na dia teo aza ny hafatra fampitandremana milaza fa ny cons data- in-config-mapped- nesorina ho azy ny endri-javatra proem, izay tsy nety tanteraka. Ny endri-javatra const-data-in-config-mapped-proem dia efa kilemaina tanteraka amin'ity toe-javatra ity.
Niova ny DFP mba hidirana tsara ny NVMCTRL (XCS-2848) Ny code startup runtime ampiasain'ny fitaovana AVR64EA dia tsy nihevitra fa ny rejistra NVMCTRL dia eo ambanin'ny Configuration Change Protection (CCP) ary tsy afaka nametraka ny IO SFR amin'ny pejy ampiasain'ny const-data-in configmapped-proem compiler. endri-javatra. Ny fanovana natao tao amin'ny AVR-Ex_DFP version 2.2.55 dia ahafahan'ny code startup runtime manoratra tsara amin'ity rejisitra ity.
Fanovana DFP mba hialana amin'ny sarintany tselatra (XCS-2847) Napetraka ny famahana olana amin'ny fitaovana fametahana tselatra voalaza ao amin'ny AVR128DA28/32/48/64 Silicon Errata (DS80000882). Ny endri-javatra compiler const-data-in-config-mapped-proem dia tsy hampiharina amin'ny alàlan'ny default ho an'ireo fitaovana voakasika, ary hiseho ao amin'ny AVR-Ex_DFP version 2.2.160 ity fanovana ity.
Fanamboarana fahadisoana amin'ny sinhf na coshf (XCS-2834) Niteraka hadisoana amin'ny rohy ny andrana mampiasa ny famakiam-boky sinhf () na coshf () , mamaritra reference tsy voafaritra. Ny asa tsy hita voalaza dia nampidirina tao amin'ny fizarana compiler.
Mamorona hadisoana amin'ny nopa (XCS-2833) Ny fampiasana ny toetra nopa miaraka amin'ny fiasa izay manana ny anaran'ny mpanangona voatondro amin'ny fampiasana ny () dia niteraka hafatra diso avy amin'ny assembler. Tsy azo atao io fitambarana io.
Ny tsy fahombiazan'ny fiasa variadic miaraka amin'ny tohan-kevitra (XCS-2755, XCS-2731) Ny fiasa miaraka amin'ny tohan-kevitra miovaova dia manantena ny tondro 24-bit (karazana _memo) handalo ao amin'ny lisitry ny tohan-kevitra miovaova rehefa alefa ny endri-javatra cost-data-in-proem. Ireo tolo-kevitra izay manondro ny fitadidiana angon-drakitra dia navoaka ho zavatra 16-bit, ka nahatonga ny tsy fahombiazan'ny code rehefa novakiana tamin'ny farany. Rehefa alefa ny endri-javatra cons data-in-proem, dia avadika ho tondro 16-bit daholo ny tondro 24-bit rehetra. strtoxxx famakiam-boky miasa tsy mahomby (XCS-2620) Rehefa afaka const-data-in-proem endri-javatra dia tsy nohavaozina araka ny tokony ho izy ny mari-pamantarana fidirana ao amin'ny strtoxxx famakiam-boky ho an'ny tohan-kevitra tady loharano tsy ao amin'ny fitadidian'ny programa.
Fampandrenesana momba ny fandefasana tsy mety (XCS-2612) Ny compiler izao dia hamoaka hadisoana raha toa ka alefa ny endri-javatra cost-in-proem ary ny adiresin'ny litera string iray dia alefa mazava tsara any amin'ny habaka adiresin'ny angon-drakitra (mandà ny const qualifier), ohatra.ample, (uint8 t *) “Manahoana izao tontolo izao!”. Olana ny fampitandremana raha mety ho tsy manan-kery ny adiresy rehefa alefa mazava any amin'ny habaka adiresin'ny data ny tondro data const.
Fametrahana zavatra const tsy fantatra (XCS-2408) Ny zavatra const sy const v olatile tsy natomboka dia tsy napetraka tao amin'ny fitadidian'ny programa amin'ny fitaovana izay mametraka sarintany manontolo na ampahany amin'ny fitadidian'ny programa ao amin'ny habaka adiresy data. Ho an'ireo fitaovana ireo, ny zavatra toy izany dia apetraka ao amin'ny fitadidian'ny programa, ka mahatonga azy ireo hifanaraka amin'ny fitaovana hafa.
Version 2.39 (Famoahana fiarovana azo ampiasaina)
Tsy misy.
Dikan-teny 2.36
Fahadisoana rehefa manemotra (XCS-2774) Ny fiovana kely amin'ny default Free mode optimizations dia nanakana tsy tapaka ny famotsorana ireo teny operand amin'ny fanemorana ny asa naorina, ka nahatonga azy ireo ho raisina ho toy ny tsy mifandray ary miteraka lesoka: _buil tin avr delay_ cycles expects ac ompile fotoana integer tsy miova.
Dikan-teny 2.35
Fanomezana mifanila mampiasa _at (XCS-2653) Tsy nandeha tsara ny fizarana zavatra maromaro ao amin'ny fizarana mitovy anarana sy ny fampiasana amin'ny (). Ho an'ny example: constchararrl [ ] amin'ny tri butte ((sekta amin'ny(“.manana”))) amin'ny (Ox50 0 ) = {Oxo , Ox CD} ; vidiny char arr2[ ] amin'ny tri butte ((fizarana (“.my s eke”))) = {Omby, Omby FE }; tokony ho nametraka arr2 avy hatrany taorian'ny aril.
Famaritana ny adiresin'ny fizarana (XCS-2650) Ny safidy -Wal, -section-start dia tsy nahomby tamin'ny fametrahana fizarana tamin'ny adiresy fanombohana voatendry. Ity olana ity dia raikitra ho an'ny fizarana nomena anarana manokana; na izany aza, dia tsy mety amin'ny fizarana manara-penitra, toy ny . lahatsoratra na . bss, izay tsy maintsy apetraka amin'ny fampiasana safidy -Wl, -T.
Mianjera ny rohy rehefa miala sasatra (XCS-2647) Rehefa navela ny -relax optimization ary nisy kaody na fizarana data izay tsy mifanaraka amin'ny fitadidiana misy, dia nianjera ny mpampitohy. Ankehitriny, amin'ny toe-javatra toy izany, hafatra diso no navoaka.
Ratsy ny fidirana EEPROM (XCS-2629) Ny leproma _read_ block routine dia tsy nandeha tsara tamin'ny fitaovana Mega rehefa navela ny safidy -monist-data-in-proem (izay no toetry ny default), ka nahatonga ny fahatsiarovana EEPROM tsy voavaky tsara.
Fanomezana fahatsiarovana tsy mety (XCS-2593, XCS-2651) Rehefa ny -Text na -Tata rohy safidy (ho an'ny example nandalo tamin'ny fampiasana safidin'ny mpamily -Wl) nofaritana, nohavaozina ny fiavian'ny faritra/data mifandraika amin'izany; na izany aza, ny adiresy farany dia tsy nasiam-panitsiana araka izany, izay mety nitarika ho amin'ny faritra mihoatra ny lasibatra fitadidian'ny fitaovana.
Kaody fanelanelanana ATtiny tsy mety (XCS-2465) Rehefa natsangana ho an'ny fitaovana Tatin ary tsy nety ny fanatsarana (-00), dia mety niteraka hafatra assembler operand avy amin'ny faritra maro ny fiasan'ny interrupt.
Safidy tsy mandalo (XCS-2452) Rehefa mampiasa ny safidy -Wl miaraka amin'ny safidin'ny mpampitohy asiana faingo maromaro, dia tsy ny safidin'ny rohy rehetra no nampitaina tamin'ny mpampitohy.
Error amin'ny famakiana ankolaka fahatsiarovana fandaharana (XCS-2450) Amin'ny toe-javatra sasany, ny compiler dia namokatra hadisoana anatiny (insn tsy fantatra) rehefa mamaky sanda roa byte avy amin'ny tondro mankany amin'ny fitadidiana programa.
Dikan-teny 2.32
Tsy nahomby ny fidirana faharoa amin'ny tranomboky (XCS-2381) Mampiasa ny dikan-Windows xc8-ar. exe trano famakiam-boky fanindroany mba hidirana amin'ny arisivan'ny tranomboky efa misy dia mety tsy nahomby tamin'ny hafatra diso tsy afaka namerina anarana.
Dikan-teny 2.31
Ny tsy fahombiazan'ny compiler tsy fantatra (XCS-2367) Rehefa mandeha amin'ny sehatra Windows izay manana ny lahatahiry vonjimaika napetraka amin'ny lalana misy teboka'.' toetra, ny compiler dia mety ho tsy nahomby.
Dikan-teny 2.30
Diso toerana ny etikety maneran-tany taorian'ny fanoritsoritana (XCS-2299) Ny fehezan-dalàna fivorian'ny tanana izay mametraka etikety maneran-tany ao anatin'ny filaharan'ny fivoriambe izay voasokajy amin'ny alàlan'ny abstraction dia mety tsy naverina tamin'ny laoniny araka ny tokony ho izy.
Fidonanam-poana (XCS-2287) Ny fampiasana ny safidy -merlad dia mety nahatonga ny mpampitohy hianjera rehefa nanandrana nanaisotra ny torolalana ret izay tsy teo amin'ny faran'ny fizarana iray ny fanatsarana ny fanalefahana ny rambony.
Fikorontanana rehefa manatsara ny etikety ho sanda (XCS-2282) Ny fehezan-dalàna mampiasa ny "Labels ho soatoavina" ny fanitarana ny fiteny GNU C dia mety nahatonga ny fikorontanan'ny fomba fiasa abstraction optimizations, miaraka amin'ny elanelana VMA voafaritry ny fahadisoana fixup.
Tsy toy izany const (XCS-2271) Ny prototypes amin'ny fanombohana () sy ny fiasa hafa avy amin'ny tsy mamaritra intsony ny mari-pankasitrahana tsy manara-penitra amin'ny tondro tady miverina rehefa tsy mandeha ny endri-javatra -monist-data inprogmem. Mariho fa miaraka amin'ny fitaovana avrxmega3 sy avertin, ity endri-javatra ity dia alefa tanteraka.
Very initializers (XCS-2269) Raha mihoatra ny iray ny fari-pitsipika ao amin'ny vondrona fandikan-teny napetraka ao amin'ny fizarana iray (mampiasa fizarana na toetra ((fizarana))), ary ny fari-piainana voalohany toy izany dia aotra natomboka na tsy manana initializer, ny fanombohana ho an'ny variable hafa ao amin'ny vondrona fandikan-teny mitovy. izay napetraka tao amin'ny fizarana mitovy dia very.
Version 2.29 (Famoahana fiarovana azo ampiasaina)
Tsy misy.
Dikan-teny 2.20
Hadisoana amin'ny baiko lava (XCS-1983) Rehefa mampiasa tanjona AVR, dia mety nijanona tamin'ny a file tsy hita ny hadisoana, raha lehibe be ny andalana baiko ary misy tarehintsoratra manokana toy ny teny nalaina, backslashes, sns.
Fizarana rodata tsy voatondro (XCS-1920) Ny mpampitohy AVR dia tsy nahavita nanome fitadidiana ho an'ny fizarana rodata mahazatra rehefa manorina ho an'ny avrxmega3 sy avrtiny architectures, mety hiteraka hadisoana mifanipaka ny fitadidiana.
Version 2.19 (Famoahana fiarovana azo ampiasaina)
Tsy misy.
Dikan-teny 2.10
Ny tsy fahombiazan'ny famindran-toerana (XCS-1891) Ny mpizara tsara indrindra dia namela 'lavaka' fitadidiana teo anelanelan'ny fizarana taorian'ny fialan-tsasatra. Ankoatra ny fitadidiana mizarazara, dia nampitombo ny mety hisian'ny tsy fahombiazan'ny famindran-toerana mifandraika amin'ny fitsambikinana pc-relative na antso ho lasa lavitra.
Torolalana tsy miova amin'ny fialan-tsasatra (XCS-1889) Tsy nitranga ny fanalefahana ny rohy ho an'ny toromarika mitsambikina na miantso izay ho tratra ny tanjona raha toa ka milamina.
Nanjavona fampiasa (XCSE-388) Famaritana maromaro avy amin'ny , toy ny clock_div_t sy clock_prescale_set (), dia tsy voafaritra ho an'ny fitaovana, anisan'izany ny ATmega324PB, ATmega328PB, ATtiny441, ary ATtiny841.
Tsy ampy ny macro Ny preprocessor macros_ xcs _MODE_, _xcs VERSION, _xc, ary xcs dia tsy voafaritry ny compiler ho azy. Misy ankehitriny ireo.
Dikan-teny 2.05
Error compiler anatiny (XCS-1822) Rehefa manangana eo ambanin'ny Windows dia mety ho nisy hadisoan'ny compiler anatiny rehefa nanatsara ny kaody.
Tsy hita ny fihoaran'ny RAM (XCS-1800, XCS-1796) Ny programa mihoatra ny RAM misy dia tsy hitan'ny mpanangona amin'ny toe-javatra sasany, ka nahatonga ny tsy fahombiazan'ny code runtime.
Fahatsiarovana tselatra nesorina (XCS-1792) Ho an'ny fitaovana avrxmega3 sy avrtiny, ny ampahany amin'ny fahatsiarovana tselatra dia mety navelan'ny MPLAB X IDE tsy voarindra.
Tsy nahomby ny main (XCS-1788) Amin'ny toe-javatra sasany izay tsy nahitana fari-pahalalana manerantany ny programa dia tsy nivoaka ny kaody fanombohana runtime ary tsy tratra mihitsy ny asa lehibe ().
Fampahalalana fitadidiana diso (XCS-1787) Ho an'ny fitaovana avrxmega3 sy avrtiny, ny programa avr-size dia nitatitra fa ny angona vakiana ihany no mandany RAM fa tsy fitadidiana fandaharana.
Diso ny fahatsiarovana fandaharana (XCS-1783) Tetikasa nangonina ho an'ny fitaovana misy fitadidiana fandaharana voasoritra ao amin'ny habaka adiresin'ny angona ary mamaritra ny zavatra mampiasa ny macro/attribute PROGMEM dia mety namaky ireo zavatra ireo avy amin'ny adiresy diso.
Hadisoana anatiny miaraka amin'ny toetra (XCS-1773) Nisy hadisoana anatiny nitranga raha namaritra zavatra fanondro miaraka amin'ny
_at () na attribute() famantarana eo anelanelan'ny anarana tondro sy ny karazana dereferences, ohatraample, char *
_amin'ny ( 0x80015 0) cp; Navoaka izao ny fampitandremana raha sendra kaody toy izany.
Tsy nahomby ny main (XCS-1780, XCS-1767, XCS-1754) Ny fampiasana varimbazaha EEPROM na ny famaritana ny fuses mampiasa ny config pragma dia mety nahatonga ny fanombohana angon-drakitra diso sy/na nanidy ny famonoana programa tao amin'ny code startup runtime, alohan'ny hahatongavana amin'ny main ().
Fahadisoan'ny fuse miaraka amin'ny fitaovana kely (XCS-1778, XCS-1742) Ny fitaovana attiny4/5/9/10/20/40 dia nanana halavan'ny fuse diso voalaza ao amin'ny lohateniny. files izay mitarika amin'ny lesoka mpampitohy rehefa manandrana manamboatra kaody izay mamaritra ny fuses.
Fahadisoana fizarana (XCS-1777) Nisy hadisoana fizarazarana misesisesy voahitsy.
fianjerana mpanamory (XCS-1761) Ny assembler avr-as dia mety ho nianjera rehefa navoaka teo ambanin'ny Ubuntu 18 ny compiler.
Zavatra tsy voafafa (XCS-1752) Mety tsy voafafa tamin'ny code startup runtime ireo zavatra maharitra fitahirizana static tsy natomboka.
Tsy noraharahiana ny fanondroana fitaovana mifanipaka (XCS-1749) Tsy niteraka hadisoana ny compiler rehefa nampiasaina ny safidy fanondroana fitaovana maro ary nanondro fitaovana samihafa.
Fahasimban'ny fitadidiana araka ny antontam (XCS-1748) Ny mari-pamantarana fanombohana heap_ dia diso napetraka, ka nahatonga ny mety hisian'ny fiovan'ny mahazatra ho simbain'ny heap.
Fahadisoan'ny famindran-toerana (XCS-1739) Mety nisy hadisoana nafindra toerana ny mpampitohy rehefa misy kaody misy rjmp na rcall miaraka amin'ny kendrena 4k bytes miala.
Dikan-teny 2.00
Tsy misy.
Olana fantatra
Ireto manaraka ireto ny fetran'ny fiasan'ny compiler. Mety ho fameperana kaody ankapobeny ireo, na
deviations avy amin'ny vaovao voarakitra ao amin'ny mpampiasa boky. Ny etikety misy bracket ao amin'ny lohateny dia ny famantarana ny olana ao amin'ny angon-drakitra fanaraha-maso. Mety hahasoa izany raha mila mifandray amin'ny fanohanana ianao. Ireo zavatra tsy misy etikety ireo dia fetra mamaritra ny fomba fiasa ary mety hitohy maharitra.
MPLAB X IDE Integration
MPLAB IDE fampidirana Raha ampiasaina amin'ny MPLAB IDE ny Compiler, dia tsy maintsy mametraka MPLAB IDE ianao alohan'ny hametrahana Compiler.
Famoronana kaody
Tsy fahombiazan'ny fizarana fahatsiarovana PA (XCS-2881) Rehefa mampiasa ny fomba fiasa abstraction optimizers, ny mpampitohy dia mety mitatitra ny fahadisoana fizarana fahatsiarovana rehefa ny haben'ny kaody dia akaiky ny habetsaky ny fahatsiarovana fandaharana eo amin'ny fitaovana, na dia tokony ho afaka mifanaraka amin'ny toerana misy ny fandaharana.
Tsy dia marani-tsaina Smart-IO (XCS-2872) Ny endri-javatra smart-io an'ny compiler dia hamorona kaody manan-kery nefa ambany indrindra ho an'ny fiasan'ny sprint raha toa ka tsy kilemaina ny endri-javatra coast-data-in-proem na raha toa ka misy ny tselatra rehetra ao amin'ny fitadidiana data ny fitaovana.
Na dia kely kokoa Smart-IO (XCS-2869) Ny endri-javatra smart-io an'ny compiler dia hamokatra kaody manan-kery nefa ambany indrindra rehefa samy ampiasaina ny safidy -floe sy -fno-buil.
Fametrahana angon-drakitra mamaky fotsiny (XCS-2849) Tsy fantatry ny mpampitohy amin'izao fotoana izao ny fizarana fitadidiana APPCODE sy APPDATA, na ny fizarana [No-]Read-While-Write ao amin'ny sarintany fitadidiana. Vokatr'izany dia misy ny vintana kely ahafahan'ny mpampitohy mizara angona vakiana fotsiny amin'ny faritra tsy mety amin'ny fitadidiana. Mitombo ny mety hisian'ny angon-drakitra diso toerana raha toa ka alefa ny endri-javatra coast-data-in-pragma, indrindra raha alefa koa ny endri-javatra coast-data-in-config-mapped-proem. Ireo endri-javatra ireo dia azo vonoina raha ilaina.
zavatra file baiko fanodinana (XCS-2863) Ny filaharan'ny zavatra files dia hokarakarain'ny mpampitohy dia mety tsy mitovy amin'ny fampiasana ny fomba fiasa abstraction optimizations (-mpa safidy). Izany dia hisy fiantraikany amin'ny kaody izay mamaritra ny asa malemy amin'ny modules maro.
Hadisoana mampifandray amin'ny tanteraka (XCS-2777) Rehefa vita tanteraka ny zavatra iray amin'ny adiresy iray amin'ny fanombohan'ny RAM ary efa voafaritra ihany koa ny zavatra tsy fantatra, dia mety hipoitra ny fahadisoana mpampitohy.
ID fifohazana fohy (XCS-2775) Ho an'ny fitaovana ATA5700/2, ny rejisitra PHID0/1 dia voafaritra ho 16 bit ny sakany, fa tsy 32 bit ny sakany.
Lozam-pifamoivoizana rehefa miantso marika (XCS-2758) Mety hianjera ny mpampitohy raha toa ka ampiasaina ny safidin'ny mpamily -merlad rehefa miantso marika izay nofaritana tamin'ny alalan'ny -Wl, –defsym rohy ny kaody loharano.
Diso fanombohana (XCS-2679) Misy tsy fitovian-kevitra eo amin'ny toerana ametrahana ny soatoavina voalohany ho an'ny zavatra bitika eran-tany/statika sasany amin'ny fitadidiana angon-drakitra ary ny toerana hidirana ireo variables amin'ny fotoana fandehanana.
nanomboka diso toerana (XCS-2652) Amin'ny toe-javatra misy ny loha-hevitra ho an'ny fiovam-po amin'ny voalaza () dia misy izay toa isa mitsingevana amin'ny endrika exponential ary misy toetra tsy ampoizina aorian'ny tarehin-tsoratra e, dia ny adiresy foana, raha omena, dia hanondro ny toetra aorian'ny ny e fa tsy ny e mihitsy. Ho an'ny example: voalaza("hooey", foana); dia hiteraka poakaty manondro ny toetra x.
Antso ankolaka ratsy (XCS-2628) Amin'ny toe-javatra sasany, mety tsy hahomby ny fiantsoana asa atao amin'ny alàlan'ny tondro fiasa voatahiry ho ampahany amin'ny rafitra.
strtof dia mamerina aotra ho an'ny mitsingevana hexadecimal (XCS-2626) Ny tranomboky dia miasa strtof () et al ary scanf () et al, dia hanova foana ny isa hexadecimal mitsingevana izay tsy mamaritra exponent ho
aotra. Ho an'ny example: stator("Owl", & poakaty); dia hamerina ny sanda 0 fa tsy 1.
Hafatra tsy marina amin'ny mpanolotsaina stack (XCS-2542, XCS-2541) Amin'ny toe-javatra sasany, ny fampitandremana mpanolotsaina stack momba ny recursion na stack tsy voafaritra ampiasaina (mety amin'ny alàlan'ny fampiasana alloca()) dia tsy mivoaka.
Ny tsy fahombiazan'ny kaody fanelanelanana dika mitovy (XCS-2421) Raha mihoatra ny iray ny fiasan'ny interrupt no manana vatana iray ihany, ny compiler dia mety manana ny vokatra ho an'ny asa interrupt iray miantso ny iray hafa. Izany dia hahatonga ny rejistra rehetra miantso clobbered ho voavonjy tsy amin'ny antony, ary ny fahatapahana dia ho afaka na dia alohan'ny hanombohan'ny epilogue amin'ny mpitantana interrupts amin'izao fotoana izao, izay mety hitarika amin'ny tsy fahombiazan'ny code.
Zavatra Const tsy ao anaty fitadidiana fandaharana (XCS-2408) Ho an'ny tetikasa avrxmega3 sy avertins dia apetraka ao anaty fitadidiana angon-drakitra ny zavatra const tsy fanta-daza, na dia misy fampitandremana aza milaza fa napetraka ao amin'ny fitadidiana fandaharana. Tsy hisy fiantraikany amin'ny fitaovana tsy manana fitadidiana fandaharana voasoritra ao amin'ny habaka fitadidiana angon-drakitra izany, ary tsy hisy fiantraikany amin'izay zavatra natomboka.
Famoahana ratsy miaraka amin'ny lalana DFP tsy mety (XCS-2376) Raha antsoina amin'ny lalana DFP tsy mety sy 'spec' ny compiler file misy ho an'ny fitaovana voafantina, tsy mitatitra ny fonosan'ny fianakaviana fitaovana tsy hita ny mpanangona fa misafidy ny 'spec' file, izay mety hiteraka vokatra tsy mety. Ny 'spec' files dia mety tsy vaovao amin'ny DFP zaraina ary natao hampiasaina amin'ny fitiliana compiler anatiny ihany.
Ny fitadidiana mifanindry tsy hita (XCS-1966) Ny compiler dia tsy mahita ny fifandonan'ny fahatsiarovana ny zavatra natao tanteraka amin'ny adiresy (amin'ny ()) sy ny zavatra hafa mampiasa ny fizarana () specifier ary mifandray amin'ny adiresy mitovy.
Ny tsy fahombiazan'ny famakiam-boky sy ny _meme (XCS-1763) Ny asa antsoina hoe limbic float miaraka amin'ny adihevitra ao amin'ny habaka adiresy _memo dia mety tsy hahomby. Mariho fa ny fanaon'ny tranomboky dia antsoina avy amin'ny mpandraharaha C sasany, noho izany, ohatraample, ity kaody manaraka ity dia misy fiantraikany: avereno regFloatVar > memxFloatVar;
Fampiharana limbic voafetra (AVRTC-731) Ho an'ny vokatra ATTiny4/5/9/10/20/40, ny fampiharana ny tranomboky C / Matematika mahazatra amin'ny limbic dia tena voafetra na tsy misy.
Famerana fitadidiana fandaharana (AVRTC-732) Ny sary fitadidiana fandaharana mihoatra ny 128 kb dia tohanan'ny rojom-pitaovana; Na izany aza, misy tranga fantatra amin'ny fanafoanana ny mpampitohy tsy misy fialan-tsasatra ary tsy misy hafatra diso manampy fa tsy mamorona stubs fampiasa ilaina rehefa ampiasaina ny safidy -relax.
Famerana ny habaka anarana (AVRTC-733) Ny habaka adiresy nomena anarana dia tohanan'ny rojom-pitaovana, miankina amin'ny fetra voalaza ao amin'ny fizarana torolalana ho an'ny mpampiasa.
Faritra ora ny Ny fiasan'ny tranomboky dia mandray ny GMT ary tsy manohana ny faritry ny ora eo an-toerana, noho izany dia hiverina ny ora eo an-toerana () mitovy amin'ny gummite (), ho an'ny ex.ample.
FANOHANANA NY MPIHANY
file:///Applications/microehip/xc8/v 2 .40/docs/Read me_X C 8_ ho an'ny A VR. htm
Documents / Loharano
![]() |
MICROCHIP MPLAB XC8 C Compiler Software [pdf] Bokin'ny tompony MPLAB XC8 C, MPLAB XC8 C Compiler Software, Compiler Software, Software |