MICROCHIP logoMPLAB® XC8 C Compiler Version 2.41 Famoahana naoty ho an'ny AVR® MCU
Bokin'ny tompony

MPLAB XC8 C Compiler Development 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

1.1. Fampidirana
Ity famotsorana ny Microchip MPLAB® XC8 C compiler ity dia misy endri-javatra vaovao maro sy fanamboarana bug.
1.2. Daty fananganana
Ny datin'ny fananganana ofisialy an'ity kinova compiler ity dia ny 8 febroary 2023.
1.3. Version teo aloha
Ny MPLAB XC8 C compiler version teo aloha dia 2.40 naorina tamin'ny 3 Jolay 2022.
1.4. 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.
1.5. Fahazoan-dàlana sy dikan-teny
Ny MPLAB XC8 C Compiler ho an'ny fitaovana AVR MCUs dia nosoratana sy zaraina eo ambanin'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 fisie mitondra ny anarana hoe misy ny subdirectory amin'ny lahatahiry installer license.txt avr/doc. Mety ho hita eto ny fifanakalozan-kevitra ankapobeny momba ny fitsipika fototry ny GPL.
Ny kaody fanohanana omena ho an'ny fisie lohapejy, sora-baventy mpampitohy, 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.
1.6. Fepetran'ny rafitra
Ny MPLAB XC8 C compiler sy ny rindrankajy fanomezan-dàlana ampiasainy dia azo ampiasaina amin'ny rafitra fiasana 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 macOS dia nosoniavina kaody ary notary. Ny MPLAB XC Network License Server dia azo ampiasaina amin'ny rafitra fiasa 64-bit isan-karazany, anisan'izany ny Microsoft Windows 10 sy ambony; Ubuntu 18.04 sy ambony; na macOS 10.15 sy ambony. Ny mpizara dia mety mandeha amin'ny rafitra fiasa hafa isan-karazany ao anatin'izany ny Windows Server, fizarana Linux, toy ny Oracle® Enterprise Linux® sy Red Hate Enterprise Linux ary koa ny dikan-teny taloha amin'ny rafitra fiasana tohana. Na izany aza, ny MPLAB XC Network License Server dia tsy voasedra amin'ireo rafitra miasa ireo. Ny Server License Network MPLAB XC dia azo atao amin'ny milina virtoaly an'ny OS tohanana amin'ny alàlan'ny fahazoan-dàlana milina virtoaly ho an'ny fahazoan-dàlana amin'ny tambajotra (SW006021-VM). Ny dikan-teny 32-bit rehetra an'ny MPLAB XC Network Server dia atsahatra manomboka amin'ny version 3.00.
Fandraisana an-tanana
Ity compiler ity dia manohana ny fitaovana 8-bit AVR MCU rehetra amin'ny fotoana famoahana. Jereo (ao amin'ny lahatahiry mpanangom-bokatra) hahitana lisitr'ireo fitaovana tohana rehetra. Ireto lisitra ireto koa
avr_chipinfo.html fika fandrindrana doc ho an'ny fitaovana tsirairay.

1.7. 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 nahazoana 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 vita 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.

1.8. 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 (Windows), (Linux) na (macOS) .exe .run .app compiler installer application, ohatra ary araho ny toromarika eo amin'ny efijery. XC8-1.00.11403-windows.exe 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'ny mpampiasa finday, ity fampiasa ity dia mamela ny 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.

1.8.1. 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 rakitra, safidio ny Properties, Security tab, safidio ny mpampiasa, manova.)
Apetraho amin'ny 'Full Control' ny fahazoan-dàlana amin'ny lahatahiry temp.
Mba hamaritana ny toerana misy ny lahatahiry temp, soraty ny %temp% ao amin'ny baiko Run (Windows logo key + R).
Hanokatra fifanakalozan-dresaka amin'ny fisie explorer izany mampiseho an'io lahatahiry io ary ahafahanao mamaritra ny lalan'io lahatahiry io.
1.9. 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.

MICROCHIP MPLAB XC8 C Compiler Development Software -

1.10. 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:

  • MPLAB® XC8 C Compiler User's Guide for AVR® MCU (revision G)
  • AVR® GNU Toolchain mankany amin'ny MPLAB® XC8 Migration Guide (fanavaozana A)
  • Torolàlana ho an'ny mpampiasa Hexmate (fanavaozana B)

Ny AVR® GNU Toolchain mankany amin'ny MPLAB® XC8 Migration Guide dia manoritsoritra ny fiovana amin'ny kaody loharano ary manangana safidy mety ilaina raha toa ka manapa-kevitra ny hamindra tetikasa mifototra amin'ny C avy amin'ny AVR 8-bit GNU Toolchain mankany amin'ny Microchip MPLAB XC8 C Compiler ianao. 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 Torolàlana Mpampiasa MPLAB® XC8 ho an'ny Injeniera Embedded - AVR® MCUs (DS50003108) dia manana fampahalalana momba ny fametrahana tetikasa ao amin'ny MPLAB X IDE sy ny fanoratana kaody ho an'ny tetikasa MPLAB XC8 C voalohany. Ity torolàlana ity dia zaraina miaraka amin'ny compiler.
Ny Torolàlana ho an'ny mpampiasa Hexmate dia natao ho an'ireo izay mampiasa Hexmate 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'ireo lohatenikely dia manondro ny dikan-dahatsary voalohany hanohanana ireo endri-javatra manaraka.
3.1. Dikan-teny 2.41
Fanohanana bootrow (XC8-3053) Ny mpamoron-kira dia hametraka ny votoatin'ny fizarana rehetra misy tovana amin'ny adiresy.bootrow 0x860000 ao amin'ny rakitra HEX. Ireo fizarana ireo dia ampiasaina amin'ny fitadidiana BOOTROW, izay natao ho fitahirizana fanalahidy sy fampahalalana azo antoka hafa izay tsy tokony ho azon'ny bootloader fotsiny.

Fanafoanana miverina miverimberina (XC8-3048) Ny mpamoron-kira izao dia hanafoana ny toromarika mihoa-pampana amin'ny asa ret miaraka amin'ny fitsambikinana rambo rehefa ampiasaina ny sora-baventy mpampitohy. Ity dia fanatsarana mitovitovy amin'ny natao teo aloha, saingy atao amin'ny fizarana kamboty rehetra izao, na dia misy script mpampitohy manokana aza no ampiasaina ary tsy eo an-tsehatra ny rafitra fitsinjarana mety indrindra. Ny fiovan'ny karazana fotoana (XC8-2982, 2932) Ny karazana tranomboky mahazatra C99, dia novana avy amin'ny time_t ho karazana iray, izay manome fanatsarana ny haben'ny code amin'ny fiasa maharitra maharitra mifandraika amin'ny fotoana, toy ny. mktime lava tsy voasonia()
Nop vaovao (XC8-2946, 2945) Nampiana ny macro. Ity macro ity dia mampiditra no- NOP() nop fandidiana fampianarana ao amin'ny output.
Fanavaozana ny XCLM (XC8-2944) Nohavaozina ny mpitantana ny fahazoan-dàlana ampiasaina amin'ny mpanangom-bokatra ary mandray andraikitra bebe kokoa amin'izao fotoana izao rehefa manamarina ny antsipirian'ny fahazoan-dàlana an'ny mpanangom-bokatra.
TrampOlined calls (XC8-2760) Ny mpanangona dia afaka manatanteraka fanoloana ny toromarika antso amin'ny endrika lava kokoa amin'ny antso havanana kokoa raha toa ka tsy mifanalavitra amin'ny toerana halehany ireo endrika mifanandrify amin'ny toromarika. Amin'ity toe-javatra ity, ny compiler dia hanandrana hanolo ny toromarika mba hiantso rcall toromarika izay 'trampoline' amin'ny adiresy ilaina, ohatraampny: jmp
rcall tramp_foo ;dia niantso foo

rcall tramp_foo

tramp_foo:
jmp fo

Ity fanatsarana ity, miaraka amin'ny fanatsarana ny fizotran'ny programa mitovy, dia fehezin'ny safidy -mrelax.

3.2. Dikan-teny 2.40
Ny fanohanana fitaovana vaovao dia azo alaina amin'ireto ampahany AVR manaraka ireto: AT90PWM3, AVR16DD14, AVR16DD20, AVR16DD28, AVR16DD32, AVR32DD14, AVR32DD20, AVR32DD28, AVR32DD32, AVR64EA28, AVR64EA32, AVR64EA48, AVRXNUMXEAXNUMX, AVRXNUMXEAXNUMX, AVRXNUMXEAXNUMX
Fanatsarana ny fomba fiasa Nohatsaraina ny fitaovan'ny fanatsarana ny fomba fiasa (PA) mba hahafahan'ny kaody misy toromarika fiantsoana asa (/). Izany dia hitranga amin'ny antso rcall raha tsy ampiasaina handefasana hevitra na hahazoana sanda miverina amin'ny asa 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, na ny abstraction amin'ny fomba fiasa dia azo esorina tanteraka ho an'ny rakitra na asa iray amin'ny alàlan'ny fampiasana ny- sy, tsirairay avy, na amin'ny fampiasana ny toetra (specifier) ​​mifantina miaraka amin'ny fiasa.
mno-pa-outline-calls -mno-pa-on-file -mno-pa-on-function nopa Code coverage macro Ny compiler izao no mamaritra ny macro raha toa ka __nopa __CODECOV -mcodecov voatondro ny safidy manan-kery.
Safidy famandrihana fahatsiarovana Ny mpamily izao dia hanaiky ny safidy xc8-cc -mreserve=space@start:end rehefa manangana 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 ao amin'io faritra io. Smarter smart IO Maro ny fanatsarana natao tamin'ny fiasan'ny Smart IO, anisan'izany ny fanovana ankapoben'ny kaody fototra printf, ny fiheverana ny %n fiovam-po ho toy ny variana mahaleo tena, mampifandray amin'ny vararg pop mahazatra amin'ny fangatahana, mampiasa karazana data fohy kokoa raha azo atao amin'ny fitantanana ny tohan-kevitry ny fiasan'ny IO, ary ny fametahana kaody mahazatra amin'ny sakan'ny saha sy ny fikirakirana marina. Mety hiteraka kaody manan-danja sy fitsitsiana angon-drakitra izany, ary hampitombo ny hafainganam-pandehan'ny IO.

3.3. Version 2.39 (Famoahana fiarovana azo ampiasaina)
License Network Server Ity famoahana ny MPLAB XC8 Functional Safety Compiler ity dia manohana ny Network Server License.
3.4. Dikan-teny 2.36
Tsy misy.

3.5. Dikan-teny 2.35
Misy fanohanana fitaovana vaovao ho an'ireto ampahany AVR ireto: ATTINY3224, ATTINY3226, ATTINY3227, AVR64DD14, AVR64DD20, AVR64DD28, ary AVR64DD32.
Ny fanovana ny contexte nohatsaraina Ny safidy -mcall-isr-prologues vaovao dia manova ny fomba fiasan'ny interrupt mitahiry rejisitra eo amin'ny fidirana sy ny fomba hamerenana ireo rejistra ireo rehefa tapitra ny fanao mahazatra. Izy io dia miasa amin'ny fomba mitovy amin'ny safidy -mcall-prologues, saingy misy fiantraikany amin'ny asa fanelingelenana (ISRs) fotsiny.
Ny fanovana contexte efa nohatsaraina kokoa aza Ny safidy -mgas-isr-prologues vaovao dia mifehy ny code switch contexte natao 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 izay ampahany 32k amin'ny fitadidian'ny programa no hosoratana ao amin'ny fitadidiana angona. Ny safidy vaovao - mconst-data-in-config-mapped-progmem dia azo ampiasaina mba hametrahana ny angon-drakitra const-qualified 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 ao amin'ny habaka fitadidiana data, izay hidirana amin'ny fomba mahomby kokoa.
Microchip Unified Standard Libraries Ny MPLAB XC compiler rehetra dia hizara ny Microchip Unified Standard Library, izay azo alaina amin'ity famoahana ny MPLAB XC8 ity. Ny Torolàlana ho an'ny mpampiasa MPLA# XC8 C Compiler ho an'ny AVO 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 ny fampiasa Lila.)
Smart I0 Amin'ny maha-ampahan'ny tranomboky vaovao mitambatra, ny fiasan'ny I0 ao amin'ny fianakaviana printf sy scanf dia namboarina ho an'ny trano tsirairay, mifototra amin'ny fampiasana ireo fiasa ireo ao amin'ny programa. Mety hampihena be ny loharanon-karena ampiasain'ny programa iray izany.
Safidy fanampiana Smart ICI Rehefa mamakafaka ny antso amin'ny fonctions smart I0 (toy ny print f () na scanf ()), ny compiler dia tsy afaka mamaritra foana avy amin'ny format string na manatsoaka hevitra avy amin'ireo tohan-kevitra momba ny fiovam-po takiana amin'ny antso. Teo aloha, ny compiler dia tsy hanao vinavina foana ary hiantoka fa ny asa 10 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 fiasa I0 marani-tsaina izay tsy mazava ny fampiasana azy, manakana ny fomba fanao 10 lava be loatra tsy hifandray. (Jereo ny safidy smart-io-format raha mila fanazavana fanampiny.)
Fametrahana fizarana manokana Teo aloha, ny safidy -W1, -section-start dia nametraka ny fizarana voatondro amin'ny adiresy nangatahana ihany rehefa namaritra fizarana misy anarana mitovy ny scripter linker. 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 . soratra, . bss na. angon-drakitra, ny mpizara mifanentana tsara indrindra dia mbola hifehy tanteraka ny fametrahana azy, ary tsy hisy vokany ilay safidy. Ampiasao ny safidy -ton, -Tsection=addr, araka ny voalaza ao amin'ny torolalana ho an'ny mpampiasa.
3.6. 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 hanombana 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 endri-javatra 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.
Misy fanohanana fitaovana vaovao ho an'ireto ampahany AVR ireto: ATTINY427, ATTINY424, ATTINY426, ATTINY827, ATTINY824, ATTINY826, AVR32DB32, AVR64DB48, AVR64DB64, AVR64DB28, AVR32DB28, AVR64DB32, AVR32DB48, AVR16DB28, AVR16DB32 Tsy misy intsony ny fanohanan'ny fitaovana nalaina ho an'ireto ampahany AVR ireto: AVR16DA48, AVRXNUMXDAXNUMX ary, AVRXNUMXDAXNUMX.
3.7. Dikan-teny 2.31
Tsy misy.
3.8. Dikan-teny 2.30
Safidy vaovao hisorohana ny fanombohana data Ny safidy mpamily -mno-data-init vaovao dia manakana ny fanombohana ny angona sy ny famafana ny fizarana bss. Izy io dia miasa amin'ny alàlan'ny fanafoanana ny fivoahan'ny angon-drakitra do kopia ary manao marika bss mazava 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 azo hifehezana ny sasany amin'ireo fanatsarana ireo, indrindra indrindra -f fizarana-vatofantsika, izay mamela ny fidirana amin'ny zavatra static azo atao raha oharina amin'ny marika iray; -mpa-iterations=n, izay mamela ny isan'ny fanodinana abstraction amin'ny fomba fiasa mba hiova avy amin'ny default 2; ary, -mpa-callcost-shortcall, izay manao abstraction procédure mahery vaika kokoa, amin'ny fanantenana fa ny mpampitohy dia afaka mampitony antso lava. Ity safidy farany ity dia mety hampitombo ny haben'ny kaody raha toa ka tsy tanteraka ireo hevitra fototra.
Ny fanohanan'ny fitaovana vaovao dia misy amin'ireto ampahany AVR ireto: AVR16DA28, AVR16DA32, AVR16DA48, AVR32DA28, AVR32DA32, AVR32DA48, AVR64DA28, AVR64DA32, AVR64DA48, AVR64DA64DB128, AVR28DA128DB32, AVR128DA48DB128, AVR64DA5272 AVR5790DB5790 sy AVR5791DB5795. Ny fanohanan'ny fitaovana nesorina dia tsy misy intsony amin'ireto ampahany AVR ireto: ATA6285, ATA6286, ATA6612N, ATA6613, ATA6614, ATA6616, ATA6617, ATA664251C, ATAXNUMXC, ATAXNUMXQ, ATAXNUMXQ, ATAXNUMXATA, ATAXNUMXATAXNUMX.
3.9. 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 builtin_avr_nop ( ) sy ny builtin avr delay_cycles (). Mety tsy mifanaraka amin'ny MISRA ny sasany ao anatiny; Ireo dia azo esorina amin'ny fampidirana ny defineXCSTRICT_MISRA amin'ny baikon'ny compiler. Nohavaozina ny naorina-in sy ny fanambarany mba hampiasana karazana sakan'ny raikitra.
3.10. Dikan-teny 2.20
Misy fanohanana fitaovana vaovao ho an'ireto ampahany AVR ireto: ATTINY1624, ATTINY1626, ary ATTINY1627.
Ny fanomezan-dàlana tsara indrindra (BFA) tsara indrindra ao amin'ny mpanangom-bokatra dia nohatsaraina mba atokana amin'ny filaharana ahafahana manatsara kokoa ny fizarana. Ny BFA izao dia manohana ny toerana misy adiresy ary mitantana tsara kokoa ny fanombohana angona.
Fanatsarana ny fomba fiasan'ny abstraction Ny fanatsarana ny 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.
3.11. Version 2.19 (Famoahana fiarovana azo ampiasaina)
Tsy misy.
3.12. Dikan-teny 2.10
Fandrakofana Kaody Ity famoahana ity dia misy endri-javatra fandrakofana kaody izay manamora ny famakafakana ny halehiben'ny fampandehanana 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 nocodecov dia azo ampiasaina hanilihana ny 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 _attribute_ ( (nocodecov) ) 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 ny fanaintainan'ny fanaintainan'ny fanamafisam-peo azo ekena 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. Ireo dia tanterahana amin'ny alàlan'ny fampiharana misaraka, izay antsoin'ny mpanangom-bokatra ho azy rehefa misafidy ny fanatsarana ambaratonga 2, 3 na s. Ireo fanatsarana ireo dia mampihena ny haben'ny kaody, saingy mety hampihena ny hafainganam-pandehan'ny famonoana sy ny fanefana 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-on-function=function. Ao anatin'ny kaody loharanonao, ny abstraction procedural dia azo esorina amin'ny asa iray amin'ny alàlan'ny fampiasana ny toetra ((nopa)) miaraka amin'ny famaritana ny asa, na amin'ny fampiasana nopa, izay miitatra amin'ny toetra ((nopa, noinline)) ary noho izany dia manakana ny fampandehanana ny asa tsy hitranga ary misy ny abstraction ny code inlined.
Fanohanana bitika hidin-trano ao amin'ny pragma Ny config #pragma dia azo ampiasaina hamaritana ny bitika hidin-trano AVR ary koa ireo bitika hafa. Jereo ny avr_chipinfo . html file (voatonona etsy ambony) ho an'ny tsiron-javatra / sanda ampiasaina amin'ity pragma ity. Ny fanohanana fitaovana vaovao dia azo alaina amin'ireto ampahany manaraka ireto: AVR28DAl28, AVR64DAl28, AVR32DA 128, ary AVR48DA 128.
3.13. Dikan-teny 2.05
Bitika bebe kokoa ho an'ny volanao Ny dikan-teny 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 zavatra const-qualify ao amin'ny programme Flash memory, fa tsy ao anaty RAM. Ny compiler dia novaina ka ny cons t-qualified global data dia voatahiry ao amin'ny programme flash memory ary ity data ity dia azo idirana mivantana sy ankolaka amin'ny alàlan'ny torolàlana momba ny fitadidiana fandaharana. 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 voasokajy ao amin'ny habaka adiresy data ho an'ireo fitaovana ireo.
Ny fenitra ho an'ny dikan-teny tsy nahazoana alalana (maimaim-poana) an'ity mpanangom-bokatra ity izao dia mamela ny fanatsarana hatramin'ny ambaratonga 2. Izany dia mamela vokatra 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 loharano fivorian'ny tanana.
Ny fanohanana fitaovana vaovao dia azo alaina amin'ireto ampahany manaraka ireto: ATMEGA1608, ATMEGA1609, ATMEGA808, ary ATMEGA809.

3.14. Dikan-teny 2.00
Mpamily avo lenta 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 safidy amin'ny fomba GCC, izay nadika ho an'ny na ampitaina amin'ny mpanangom-bokatra 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 fandefasana 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 trano famakiam-boky vaovao Ny mpamily mpitatitra tranom-boky vaovao dia 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 na ampitaina amin'ny tranomboky novonoina. Ny mpamily vaovao dia mamela safidy mitovitovy 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 lohatenikely dia manondro ny dikan-dahatsary voalohany hanohanana ny fanovana manaraka.

4.1. Dikan-teny 2.41
Nesorina ny fiasa fma tsy marina (XC8-2913) Ny tranomboky mahazatra C99 fma 0 -fianakaviana ( ) dia tsy manisa fampitomboana-add miaraka amin'ny mari-pamantarana tsy manam-petra amin'ny fihodinana tokana, fa kosa nanangona fahadisoana amin'ny fihodinana isaky ny asa. Nesorina tao amin'ny tranomboky nomena ireo fiasa ireo.
4.2. Dikan-teny 2.40
Tsy misy.
4.3. Version 2.39 (Famoahana fiarovana azo ampiasaina)
Tsy misy.
4.4. Version 2.36 Tsy misy.
4.5. Dikan-teny 2.35
Fikarakarana ny tady-to base (XC8-2420) Mba hiantohana ny tsy fitoviana amin'ny XC compiler hafa, ny XC8 string-to functions, toy ny strtol () sns., dia tsy hanandrana hamadika tady fampidirana intsony raha lehibe noho 36 ny fototra voalaza fa 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 example, tsy ilaina intsony ny mampifandray ao amin'ny tranomboky 1printf flt (safidy-1printf_flt) mba hampandeha ny format I0 fanohanana ho an'ny mpanova endrika mitsingevana. Ny marani-tsaina I0 Ny endri-javatra ao amin'ny Microchip Unified Standard Library dia mahatonga ity safidy ity 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.

4.6. Dikan-teny 2.32
Tsy misy.
4.7. Dikan-teny 2.31
Tsy misy.
4.8. Dikan-teny 2.30
Tsy misy.
4.1. Version 2.29 (Famoahana fiarovana azo ampiasaina)
Tsy misy.
4.2. 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.
4.3. Version 2.19 (Famoahana fiarovana azo ampiasaina)
Tsy misy.
4.4. Dikan-teny 2.10
tsy misy
4.5. Dikan-teny 2.05
Zavatra Const ao amin'ny fitadidian'ny programa Mariho fa ireo zavatra const-qualfiiied amin'ny alàlan'ny default dia hapetraka sy hidirana ao amin'ny fitadidiana fandaharana (araka ny voalaza hue). Hisy fiantraikany amin'ny habeny sy ny hafainganam-pandehan'ny tetikasanao izany, fa tokony hampihena ny fampiasana RAM. Ity endri-javatra ity dia azo esorina, raha ilaina, amin'ny fampiasana ny safidy -mnoconst-data-in-progmem.
4.6. Dikan-teny 2.00
Fuses Configuration Ny fuse configuration amin'ny fitaovana 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 WDTON = SET
#pragma config BODLEVEL = BODLEVEL_4V3
Zavatra sy asa tanteraka Ny zavatra sy ny asa dia azo apetraka amin'ny adiresy manokana amin'ny fitadidiana amin'ny fampiasana ny CCI (adiresy) specifier, ho an'ny ex.ample:
#ao anatin'izany
int foobar_at(0x800100);
char __at(0x250) getID(int offset) { … }
Ny tohan-kevitra momba an'io specifier io dia tokony ho tsy miova izay maneho ny adiresy hametrahana ny byte na fampianarana voalohany. Ny adiresy RAM dia aseho amin'ny fampiasana offset 0x800000. Alefaso ny CCI hampiasa ity endri-javatra ity.
Syntax fiasa interrupt vaovao Ny mpanangona izao dia manaiky ny CCI _interrupt (num) specifier mba hanondroana fa ny C functions dia interrupters. Ny mpanoritra dia maka laharana fahatapahana, ohatraample:
#ao anatin'izany
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 ahitana famahana ny olana manaraka. Ny mari-pamantarana voapetaka 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.

5.1. Dikan-teny 2.41
Olana Dongle amin'ny Ventura (XC8-3088) Dongles mety tsy novakiana araka ny tokony ho izy tamin'ny fampiantranoana macOS Ventura, ka nahatonga ny tsy fahombiazan'ny fanomezan-dàlana. Ny fanovana amin'ny mpitantana ny lisansa XCLM dia manitsy ity olana ity.
Fambara diso momba ny fizarana fahatsiarovana (XC8-2925) Tsy nahomby ny fiezahana hizara SIZE_MAX bytes (na sanda manakaiky an'io) amin'ny fampiasana ny fampandehanana fitadidiana fitadidiana mahazatra (malloc () et al). Tsy noheverina fa ilaina ny bytes fanampiny ho fanampin'ny sakana nangatahana tamin'ny fampiasana ny fampiharana famatsiana fahatsiarovana tsotra. Averina ny tondro NULL ary apetraka amin'ny ENOMEM ny errno amin'ny toe-javatra toy izany.
Nesorina ny fiasa fma tsy marina (XC8-2913) The C99 standard library fma ( ) -family functions ( ) dia tsy manisa fampitomboana-add miaraka amin'ny mari-pamantarana tsy manam-petra amin'ny fihodinana tokana, fa kosa nanangona fahadisoana amin'ny fihodinana isaky ny asa. Nesorina tao amin'ny tranomboky nomena ireo fiasa ireo.
Ratsy ny fikarakarana ny fiovam-pony (XC8-2921, XC8-2652) Rehefa misy 'sequence sujet' ho an'ny fiovam-po nataon'i strtod Cr dia misy tarehimarika mitsinkafona amin'ny endrika exponential ary misy toetra tsy nampoizina taorian'ny endri-tsoratra e / E, avy eo izay nomena ny endptr, dia nomena adiresy izay nanondro ny tarehin-tsoratra taorian'ny e / E, fa tokony ho nanondro ny e / E izy, satria tsy niova izy. Ho an'ny example, strtod ("100exx", &ep) dia tokony hamerina 100.00 ary mametraka ep hanondro ny ampahany "exx" amin'ny tady, fa ny asa dia mamerina ny sanda marina fa mametraka ep manondro ny ampahany "xx" amin'ny tady.

5.2. 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 (XC8-2875) Ny endri-javatra const-data-in-config-mappedprogmem dia miankina amin'ny endri-javatra const-data-in-progmem alefa. Raha toa ka nampiharina mazava ny endri-javatra const-data-inconfig-mapped-progmem tamin'ny fampiasana ny safidy ary nesorina ny endri-javatra const-data-inprogmem, dia tsy nahomby ny dingan'ny rohy, na dia teo aza ny hafatra fampitandremana milaza fa ny endri-javatra const-data-in-con fig-mapped-progmem dia nesorina ho azy, izay tsy marina tanteraka. Ny endri-javatra const-data-in-config-mapped-progmem dia efa kilemaina tanteraka amin'ity toe-javatra ity.
Niova ny DFP mba hidirana tsara ny NVMCTRL (XC8-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 I0 SFR amin'ny pejy ampiasain'ny const-data-in-configmapped-progmem compiler feature. 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 tselatra sarintany (XC8-2847) Ny vahaolana amin'ny olana amin'ny endri-javatra fitaovana fametahana tselatra voalaza ao amin'ny AVR128DA28/32/48/64 Silicon Errata (D580000882) dia nampiharina. Ny endri-javatra compiler const-data-in-config-mapped-progmem dia tsy hampiharina amin'ny alàlan'ny default ho an'ny fitaovana voakasika, ary hiseho amin'ny AVR-Dx_DFP version 2.2.160 ity fanovana ity.
Mamorona hadisoana amin'ny sinhf na coshf (XC8-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.
Manamboara lesoka amin'ny nopa (XC,8-2833) Ny fampiasana ny toetra nopa miaraka amin'ny fiasa izay manana ny anaran'ny assembler voatondro amin'ny fampiasana asm () dia niteraka hafatra diso avy amin'ny assembler. Tsy azo atao io fitambarana io.
Ny tsy fahombiazan'ny fiasa miovaova miaraka amin'ny tondro tondro (XC8-2755, XC8-2731) Ny fiasa misy tohan-kevitra miovaova dia manantena ny tondro 24-bit (karazana memx) handalo ao amin'ny lisitry ny tohan-kevitra miovaova rehefa alefa ny endri-javatra const-data-in-progmem. 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 constdata-in-progmem, dia avadika ho tondro 16-bit daholo izao ny tondro tondro 24-bit.
strtoxxx tranomboky tsy miasa (XC8-2620) Rehefa navela ny endri-javatra const-data-in-progmem, dia tsy nohavaozina araka ny tokony ho izy ny mari-pamantarana endptr ao amin'ny fonctionnaire strtoxxx ho an'ny tohan-kevitra loharano tsy ao amin'ny fitadidian'ny programa.
Fampandrenesana momba ny fandefasana tsy mety (XC8-2612) Ny compiler izao dia hamoaka hadisoana raha toa ka alefa ny endri-javatra const-in-progmem ary ny adiresin'ny litera string iray dia alefa mazava tsara any amin'ny habaka adiresin'ny angon-drakitra (miala ny const qualifier), ho an'ny ex.ample, (uint 8_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 (XC8-2408) Ny zavatra const sy const volatile tsy natomboka dia tsy napetraka tao amin'ny fitadidian'ny programa amin'ny fitaovana izay mametraka sarintany manontolo na ampahany amin'ny fitadidian'izy ireo 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.

5.3. Version 2.39 (Famoahana fiarovana azo ampiasaina)
Tsy misy.
5.4. Dikan-teny 2.36
Hadisoana rehefa mitaredretra (XC8-2774) Ny fiovana madinidinika amin'ny default Free mode optimizations dia nanakana ny fiforetana tsy an-kijanona ny teny operand amin'ny fanemorana natsangana, ka nahatonga azy ireo ho raisina ho tsy miovaova ary miteraka ny hadisoana: ny builtin avr delay_cycles dia manantena ny fotoana fanangonana tsy tapaka.
5.5. Dikan-teny 2.35
Fanomezana mifanila mampiasa _at (XC8-2653) Tsy nandeha tsara ny fizarana zavatra maromaro ao anaty fizarana mitovy anarana sy ny fampiasana _at (). Ho an'ny example:
const char arr1[] __attribute__((fizarana(“.mysec”))) __at (0x500) = {0xAB, 0xCD};
const char arr2[] __attribute__((fizarana(“.mysec”))) = {0xEF, 0xFE};
tokony ho nametraka arr2 avy hatrany taorian'ny arr1.
Famaritana ny adiresy fanombohana fizarana (XC8-2650) Ny -W1, -safidy fanombohana-fizarana dia tsy nahavita nametraka 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 -W1, -T.
Ny rohy dia mianjera rehefa miala sasatra (XC8-2647) Rehefa afaka ny -mrelax optimization ary misy fehezan-dalàna na fizarana data izay tsy mifanaraka amin'ny fahatsiarovana misy, dia nianjera ny rohy. Ankehitriny, amin'ny toe-javatra toy izany, hafatra diso no navoaka.

Tsy misy fianjerana (XC8-2646) Ny –Tsy nampiharina tsara na voarakitra an-tsoratra ny safidy nofallback. Ity dia azo voafantina izao mba hahazoana antoka fa tsy hiverina amin'ny toe-javatra fanatsarana ambany kokoa ny mpanangona raha toa ka tsy nahazoana alalana ny mpanangom-bokatra, ary hamoaka hadisoana kosa.

Fanatsarana haingana tsy mety (X03-2637) 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.
EEPROM ratsy fidirana (XC8-2629) Ny Ny eeprom_read_block routine dia tsy nandeha tsara tamin'ny fitaovana Xmega rehefa navela ny safidy -mconst-data-in-progmem (izay ny fanjakana default), ka nahatonga ny fahatsiarovana EEPROM tsy voavaky tsara.
Fanomezana fahatsiarovana tsy mety (XC8-2593, XC8-2651) Rehefa ny -Ttext na -Tdata rohy safidy (ho an'ny example nandalo tamin'ny fampiasana safidin'ny mpamily -vl) nofaritana, nohavaozina ny fiavian'ny faritra/data mifandraika; 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.
Loza miaraka amin'ny fiasa be loatra (XC8-2580) Nianjera ny compiler raha nambara tamin'ny fampiasana mihoatra ny iray amin'ireo toetran'ny interrupt, signal na nmi, ohatra, toetra (( signal, interrupt ) ).
Kaody fanelanelanana ATtiny tsy mety (XC8-2465) Rehefa natsangana ho an'ny fitaovana ATtiny ary tsy nety ny fanatsarana (-00), dia mety ho nahatonga hafatra assembler operand nivoaka avy tao amin'ny faritra ny fiasan'ny interrupt.
Safidy tsy mandalo (XC8-2452) Rehefa mampiasa ny safidy miaraka amin'ny safidin'ny mpampitohy asiana faingo maromaro, dia tsy ny safidin'ny mpampitohy rehetra no nampitaina tamin'ny mpampitohy.
Hadisoana amin'ny famakiana ankolaka fahatsiarovana fandaharana (X03-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.
5.6. Dikan-teny 2.32
Ny fidirana faharoa amin'ny tsy nahomby ny tranomboky (XC8-2381) Mampiasa ny dikan-Windows xc8-ar. .exe fitehirizam-boky fanindroany mba hidirana amin'ny arisiva famakiam-boky efa misy dia mety tsy nahomby tamin'ny hafatra diso tsy nanova anarana.
5.7. Dikan-teny 2.31
Mpanoratra tsy fantatra tsy fahombiazana (XC8-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.
5.8. Dikan-teny 2.30
Diso toerana ny etikety maneran-tany taorian'ny fanoritsoritana (XC8-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 (XC8-2287) Ny fampiasana ny safidy -mrelax dia mety nahatonga ny mpampitohy hidona rehefa nanandrana nanala ny torolalana ret izay tsy teo amin'ny faran'ny fizarana iray ny fanatsarana ny fialan-tsasatra.
Fikorontanana rehefa manatsara ny etikety ho sanda (XC8-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 (XC8-2271) Ny prototypes ho an'ny st rstr ( ) sy ny fiasa hafa avy amin'ny tsy mamaritra intsony ny const qualifier tsy manara-penitra amin'ny tondro tady miverina rehefa tsy mandeha ny endri-javatra -mconst-data-inprogmem. Mariho fa miaraka amin'ny fitaovana avrxmega3 sy avrtiny, ity endri-javatra ity dia alefa tanteraka.
Very initializers (XC8-2269) Rehefa mihoatra ny Ny fari-pitsipika iray ao amin'ny vondrona fandikan-teny dia napetraka tao amin'ny fizarana iray (mampiasa _section na _attribute_ ( (fizarana) )), ary ny fari-piadidiana voalohany toy izany dia aotra natomboka na tsy nanana initializer, dia very ny fanombohana ho an'ny variable hafa ao amin'ny vondrona fandikan-teny iray izay napetraka tao amin'ny fizarana mitovy.
5.1. Version 2.29 (Famoahana fiarovana azo ampiasaina)
Tsy misy.
5.2. Dikan-teny 2.20
Error amin'ny baiko lava (XC8-1983) Rehefa mampiasa lasibatra 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 voatendry (XC8-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.
5.3. Dikan-teny 2.19 (Famoahana fiarovana azo ampiasaina)
Tsy misy.
5.4. Dikan-teny 2.10
Ny tsy fahombiazan'ny famindran-toerana (XC8-1891). 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.
Toromarika tsy niova tamin'ny alalan'ny fialan-tsasatra (XC8-1889) Ny fampitsaharana ny rohy dia tsy nitranga tamin'ny toromarika hitsambikina na antso izay lasa tratra ny tanjona raha miala sasatra.
Nanjavona miasa (XC8E-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 macros preprocessor _XC8_MODE_, _XC8_VERS ION, _XC, ary _XC8 dia tsy voafaritry ny compiler ho azy. Misy ankehitriny ireo.
5.5. Dikan-teny 2.05
Error compiler anatiny (XC8-1822) Rehefa manangana eo ambanin'ny Windows dia mety ho nisy hadisoan'ny mpanangom-bokatra anatiny rehefa nanatsara ny kaody.
Tsy hita ny fihoaran'ny RAM (XC8-1800, XC8-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 (XC8-1792) Ho an'ny fitaovana avrxmega3 sy avrtiny, ny ampahany amin'ny fitadidiana tselatra dia mety navelan'ny MPLAB X tsy voarindra. IDE.
Tsy nahomby ny main (XC8-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 (XC8-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 (XC8-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 (XC8-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 (0x800150) cp; Navoaka izao ny fampitandremana raha sendra kaody toy izany.
Tsy nahomby ny main (XC8-1780, XC8-1767, XC8-1754) Ny fampiasana ny EEPROM variables na ny famaritana ny fuses mampiasa ny config pragma dia mety nahatonga ny fanombohana angona 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 (XC8-1778, XC8-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.
Segmentation lesoka (XC8-1777) Nahitsy ny fahadisoan'ny fizarana misesy.
fianjerana mpanamory (XC8-1761) Ny assembler avr-as dia mety ho nianjera rehefa navoaka teo ambanin'ny Ubuntu 18 ny compiler.
Zavatra tsy voafafa (XC8-1752) Mety tsy voafafa tamin'ny code startup runtime ireo zavatra maharitra fitahirizana static tsy natomboka.
Tsy noraharahiana ny fanondroana fitaovana mifanipaka (XC8-1749) Tsy niteraka hadisoana ny compiler rehefa nampiasaina ny safidy fanondroana fitaovana maro ary nanondro fitaovana samihafa.
Fahasimban'ny fitadidiana amin'ny antontam (XC8-1748) Ny Ny marika _heap_start dia diso napetraka, ka nahatonga ny mety hisian'ny fari-pahaizan'ny mahazatra ho simban'ny heap.
Fahadisoan'ny famindran-toerana (XC8-1739) Mety nisy hadisoana nafindra toerana ny mpampitohy rehefa misy kaody misy rjmp na rcall miaraka amin'ny kendrena 4k bytes miala.
5.6. Dikan-teny 2.00
Tsy misy.

Olana fantatra

Ireto manaraka ireto ny fetran'ny fiasan'ny compiler. Mety ho fameperana kaody ankapobe izany, na fiviliana amin'ny fampahalalana voarakitra ao amin'ny boky torolalana ho an'ny mpampiasa. Ny mari-pamantarana voapetaka 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 modi operandi ary azo inoana fa mbola manan-kery mandrakizay.
6.1. MPLAB X IDE fampidirana
MPLAB IDE fampidirana Raha ampiasaina amin'ny MPLAB IDE ny Compiler, dia tsy maintsy mametraka MPLAB IDE ianao alohan'ny hametrahana Compiler.
6.2. Famoronana kaody
Segfault miaraka amin'ny safidy vatofantsika fizarana (XC8-3045) Fandaharana izay mamaritra ny fiasa miaraka amin'ny lisitry ny tohan-kevitra miovaova ary mampiasa ny safidy -fsection-anchors dia mety niteraka hadisoana anatiny: Fahadisoana fizarana.
Fampahalalana debug tsy mifanaraka (XC8-2948) Rehefa mihena ny torolalana (ho an'ny exampny antso ho amin'ny toromarika rcall), ny loharanon'ny tsipika momba ny sarintany dia mety tsy hijanona amin'ny sync rehefa misy hetsika fihenam-bidy mihoatra ny iray mitranga ao amin'ny fizarana iray.
Ao amin'ny ex eto ambanyample, misy antso roa ho an'ny foo izay miafara amin'ny antso an-tariby.
Tsy fahombiazan'ny fizarana fahatsiarovana PA (XC8-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-I0 (XC8-2872) Ny endri-javatra smart-io an'ny compiler dia hamokatra kaody manan-kery nefa tsy tsara indrindra ho an'ny fiasa snprint f raha toa ka tsy kilemaina ny endri-javatra const-data-in-progmem na raha toa ka voapetaka ao anaty fitadidiana data ny fitaovana.
Na dia kely kokoa Smart-I0 (XC8-2869) Ny endri-javatra smart-io an'ny compiler dia hamokatra kaody manan-kery nefa ambany indrindra rehefa ampiasaina ny safidy -flto sy -fno-builtin.
Fametrahana angon-drakitra mamaky fotsiny (XC8-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 angona diso toerana raha alefa ny endri-javatra const-data-in-progmem, indrindra raha alefa koa ny endri-javatra const-data-in-config-mapped-progmem. Ireo endri-javatra ireo dia azo vonoina raha ilaina.
zavatra file baiko fanodinana (XC8-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 (XC8-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 (XC8-2775) Ho an'ny fitaovana ATA5700/2, ny rejisitra PHIDO/1 dia voafaritra ho 16 bit ny sakany, fa tsy 32 bit ny sakany.
Lozam-pifamoivoizana rehefa miantso marika (XC8-2758) Mety hianjera ny mpampitohy raha toa ka ampiasaina ny safidin'ny mpamily -mrelax rehefa miantso marika izay nofaritana tamin'ny alalan'ny -cc., –de f sym linker ny kaody loharano.
Diso fanombohana (XC8-2679) Ao dia tsy fitovian-kevitra eo amin'ny toerana ametrahana ny sanda 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.
Antso ankolaka ratsy (XC8-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 (XC8-2626) Ny tranomboky dia miasa strtof et al sy scanf ( ) et al, dia hanova foana ny isa hexadecimal mitsingevana izay tsy mamaritra exponent ho aotra. Ho an'ny example:
srtof (“Oxl”, & endptr);
dia hamerina ny sanda 0, fa tsy I.
Hafatra tsy marina amin'ny mpanolotsaina stack (XC8-2542, XC8-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 (XC8-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.
Famoahana ratsy miaraka amin'ny lalana DFP tsy mety (XC8-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 (XC8-1966) Ny compiler dia tsy mahita ny fifandimbiasan'ny fitadidiana ny zavatra natao tanteraka amin'ny adiresy (amin'ny alàlan'ny _at ( )) sy ny zavatra hafa mampiasa ny fizarana ( ) specifier ary mifandray amin'ny adiresy mitovy.
Ny tsy fahombiazan'ny famakiam-boky sy ny _memx (XC8-1763) Ny antsoina hoe libgcc float dia mety tsy hahomby miaraka amin'ny adihevitra ao amin'ny habaka adiresy memx. Mariho fa ny fanaon'ny tranomboky dia antsoina avy amin'ny mpandraharaha C sasany, noho izany, ohatraample, misy fiantraikany ity code manaraka ity:
miverina regFloatVar > memxFloatVar;
Fampiharana libgcc voafetra (AVRTC-731) Ho an'ny vokatra ATTiny4/5/9/10/20/40, ny fampiharana tranomboky C / Matematika mahazatra amin'ny libgcc 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 -mre lax.
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.
Time zones Ny Ny fiasan'ny tranomboky dia mandray ny GMT ary tsy manohana ny faritry ny ora eo an-toerana, ka ny ora eo an-toerana ( ) dia hiverina amin'ny fotoana mitovy amin'ny gmtime (), ohatra.ample.

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

Documents / Loharano

MICROCHIP MPLAB XC8 C Compiler Development Software [pdf] Bokin'ny tompony
MPLAB XC8 C, MPLAB XC8 C Compiler Development Software, Compiler Development Software, Development Software, Software

References

Mametraha hevitra

Tsy havoaka ny adiresy mailakao. Voamarika ireo saha ilaina *