MICROCHIP MPLAB XC8 C Compiler Software
ZOKHUDZA ZIMALI NDI CHIdziwitso CHOFUNIKA CHOKHUDZANA NDI MPLAB XC8 C COMPILER PAMENE AKULONDA Zipangizo ZA MICROCHIP AVR.
CHONDE WERENGANI MUSAYANSI SOFTWARE IYI. ONANI MALANGIZO OTHANDIZA A MPLAB XC8 C PIC DOCUMENT NGATI MUKUGWIRITSA NTCHITO COMPILER KWA 8-BIT PIC DEVICES.
Zathaview
Mawu Oyamba
Kutulutsa uku kwa Microchip MPLAB® XC8 C compiler ili ndi zatsopano zingapo, kukonza zolakwika, ndi chithandizo chatsopano chazida.
Mangani Tsiku
Tsiku lovomerezeka la mtundu wa compiler iyi ndi 3 Julayi 2022.
Mbiri Yakale
Mtundu wam'mbuyomu wa MPLAB XC8 C unali 2.39, wophatikiza chitetezo chogwira ntchito, womangidwa pa 27 Januware 2022. Wophatikiza wanthawi zonse anali mtundu 2.36, womangidwa pa 27 Januware 2022.
Functional Safety Manual
Buku la Functional Safety Manual la MPLAB XC compilers likupezeka mu phukusi la zolemba mukagula chiphaso chachitetezo chogwira ntchito.
Zilolezo Zazigawo ndi Mabaibulo
The MPLAB® XC8 C Compiler for AVR MCUs zida zimalembedwa ndi kugawidwa pansi pa GNU General Public License (GPL) zomwe zikutanthauza kuti code code yake imagawidwa mwaulere ndikupezeka kwa anthu. Khodi yazida pansi pa GNU GPL ikhoza kutsitsidwa mosiyana ndi Microchip's webmalo. Mutha kuwerenga GNU GPL mu file dzina lake lili ndi subdirectory yanu ya install directory. Kukambitsirana kwanthawi zonse kwa mfundo zoyambira GPL zitha kupezeka apa. Khodi yothandizira imaperekedwa pamutu files, linker scripts, ndi malaibulale othamanga ndi ma code eni ake ndipo samaphimbidwa pansi pa GPL.
Wophatikiza uyu ndikukhazikitsa mtundu wa GCC 5.4.0, binutils version 2.26, ndipo amagwiritsa ntchito avr-libc version 2.0.0.
Zofunikira pa System
MPLAB XC8 C compiler ndi mapulogalamu a chilolezo omwe amagwiritsa ntchito zilipo pa machitidwe osiyanasiyana opangira opaleshoni, kuphatikizapo 64-bit matembenuzidwe otsatirawa: Mapulogalamu aukadaulo a Microsoft Windows 10; Ubuntu 18.04; ndi macOS 10.15.5. Ma Binaries a Windows adasainidwa ndi code. Ma Binaries a Mac OShave adasainidwa ndi ma code ndipo adasindikizidwa.
Ngati mukugwiritsa ntchito seva ya laisensi ya netiweki, makompyuta okha omwe ali ndi makina ogwiritsira ntchito omwe amathandizidwa ndi ophatikiza omwe angagwiritsidwe ntchito kukhala ndi seva yalayisensi. Pofika pa mtundu wa xclm 2.0, seva ya laisensi ya netiweki imatha kukhazikitsidwa pa nsanja ya Microsoft Windows Server, koma seva yachiphaso sifunika kuyendetsa pa mtundu wa seva wa makina ogwiritsira ntchito.
Zipangizo Zothandizidwa
Wophatikiza uyu amathandizira zida zonse za 8-bit AVR MCU zomwe zimadziwika panthawi yotulutsidwa. Onani (mu bukhu la compiler's doc) pamndandanda wa zida zonse zothandizira. Izi files komanso mndandanda kasinthidwe pokha zoikamo aliyense chipangizo.
Zosindikiza ndi Kukwezedwa kwa License
Wophatikiza wa MPLAB XC8 atha kukhazikitsidwa ngati chinthu chololedwa (PRO) kapena chopanda chilolezo (chaulere). Muyenera kugula kiyi yotsegulira kuti mupereke chilolezo kwa compiler yanu. Layisensi imalola kukhathamiritsa kwapamwamba poyerekeza ndi Zaulere. Wopangayo wopanda chilolezo amatha kuyendetsedwa kwamuyaya popanda chilolezo.
MPLAB XC8 Functional Safety compiler iyenera kutsegulidwa ndi chiphaso chachitetezo chogwira ntchito chogulidwa ku Microchip. Wopanga sangagwire ntchito popanda chilolezo ichi. Mukangoyambitsa, mutha kusankha mulingo uliwonse wokhathamiritsa ndikugwiritsa ntchito zonse zophatikiza. Kutulutsidwa kwa MPLAB XC Functional Safety Compiler kumathandizira License ya Network Server.
Onani chikalata cha Kukhazikitsa ndi Kupereka Ziphatso za MPLAB XC C Compilers (DS50002059) kuti mumve zambiri zamitundu yamalayisensi ndikuyika kophatikiza ndi chilolezo.
Unsembe ndiponso kutsegula
Onaninso magawo a Migration Issues and Limitations kuti mudziwe zambiri zokhudza woyang'anira laisensi waposachedwa kwambiri yemwe akuphatikizidwa ndi wophatikiza uyu.
Ngati mukugwiritsa ntchito MPLAB IDE, onetsetsani kuti mwayika mtundu waposachedwa wa MPLAB X IDE 5.0 kapena mtsogolo musanayike chidachi. Siyani IDE musanayike compiler. Yambitsani .exe (Windows), .run (Linux) kapena app (macOS) compiler installer application, mwachitsanzo XC8-1.00.11403-windows.exe ndi kutsatira malangizo pa sikirini.
Chikwatu chokhazikitsa chokhazikika ndichovomerezeka. Ngati mukugwiritsa ntchito Linux, muyenera kukhazikitsa chojambuliracho pogwiritsa ntchito terminal komanso kuchokera ku akaunti ya mizu. Ikani pogwiritsa ntchito akaunti ya macOS yokhala ndi mwayi woyang'anira.
Kuyatsa tsopano ikuchitika padera kuti unsembe. Onani chikalata Choyang'anira License cha MPLAB® XC C Compilers (DS52059) kuti mumve zambiri.
Ngati mungasankhe kuyendetsa compiler pansi pa chilolezo chowunikira, mudzalandira chenjezo pakuphatikiza mukakhala mkati mwa masiku 14 kuchokera kumapeto kwa nthawi yanu yowunikira. Chenjezo lomwelo limaperekedwa ngati muli mkati mwa masiku 14 kuchokera kumapeto kwa kulembetsa kwanu kwa HPA.
XC Network License Server ndi choyikira chosiyana ndipo sichimaphatikizidwira m'modzi mwa okhazikitsa osagwiritsa ntchito amodzi.
XC License Manager tsopano imathandizira kuyendayenda kwamalayisensi oyandama pamanetiweki. Zogwirizana ndi ogwiritsa ntchito mafoni, izi zimalola chilolezo choyandama kuti chiziyimitsa pa intaneti kwakanthawi kochepa. Pogwiritsa ntchito izi, mutha kudumpha pamaneti ndikugwiritsabe ntchito compiler yanu ya MPLAB XC. Onani chikwatu cha doc cha kukhazikitsa kwa XCLM kuti mudziwe zambiri pankhaniyi. MPLAB X IDE imaphatikizapo zenera la License (Zida > License) kuti muzitha kuyang'anira zoyendayenda.
Kuthetsa Mavuto Oyika
Ngati mukukumana ndi zovuta kukhazikitsa compiler pansi pa machitidwe aliwonse a Windows, yesani malingaliro awa.
- Yambitsani kukhazikitsa ngati woyang'anira.
- Khazikitsani zilolezo za pulogalamu yoyika kuti 'Full control'. (Dinani kumanja kwa file, sankhani Properties, Security tabu, sankhani wosuta, sinthani.)
- Khazikitsani zilolezo za temp foda kuti "Kulamulira Kwathunthu!
Kuti mudziwe komwe kuli foda ya temp, lembani % temp% mu Run command (Windows logo key + R). Izi zidzatsegula a file Explorer dialog yomwe ikuwonetsa bukhulo ndipo ikulolani kuti mudziwe njira ya fodayo.
Compiler Documentation
Maupangiri a ogwiritsa ntchito amatha kutsegulidwa patsamba la HTML lomwe limatsegulidwa mu msakatuli wanu mukadina batani lothandizira la buluu mu MPLAB X IDE dashboard, monga momwe zasonyezedwera pachithunzichi.
Ngati mukupanga zolinga za 8-bit AVR, Buku la MPLAB® XC8 C Compiler User's Guide la AVR® MCU lili ndi zambiri pazosankha zophatikiza ndi zomwe zimagwira ntchito pamamangidwe awa.
Thandizo la Makasitomala
Microchip imalandira malipoti a cholakwika, malingaliro kapena ndemanga zokhudzana ndi mtundu wa compiler iyi. Chonde tumizani malipoti aliwonse a cholakwika kapena zopempha zanu kudzera mu Support System.
Zosintha Zolemba
Kuti mupeze zolemba zapa intaneti komanso zaposachedwa za MPLAB XC8, chonde pitani ku Microchip's Online Technical Documentation. webmalo.
Zolemba zatsopano kapena zosinthidwa za AVR pakutulutsa uku:
- Chidziwitso cha kukopera kwa MUSL
- Kuyika ndi Kupereka Ziphatso kwa MPLAB XC C Compilers (kukonzanso M)
- MPLAB XC8 User!s Guide for Embedded Engineers - AVR MCUs (revision A)
- MPLAB XC8 C Compiler User!s Guide for AVR MCU (revision F)
- Microchip Unified Standard Library Reference Guide (yosinthidwa B)
Buku la Microchip Unified Standard Library Reference Guide limafotokoza za machitidwe ndi mawonekedwe a ntchito zomwe zimafotokozedwa ndi Microchip Unified Standard Library, komanso momwe amagwiritsidwira ntchito mitundu ya library ndi ma macros. Zina mwazidziwitsozi zinali kale mu MPLAB® XC8 C Compiler User!s Guide for AVR® MCU. Zambiri zamalaibulale zapachipangizo zikadali m'bukuli.
Ngati mukungoyamba kumene ndi zida za 8-bit ndipo MPLAB XC8 C Compiler, Buku la MPLAB® XC8 User!s Guide for Embedded Engineers - AVR® MCUs (DS50003108) lili ndi zambiri pakukhazikitsa mapulojekiti mu MPLAB X IDE ndi kulemba code. kwa polojekiti yanu yoyamba ya MPLAB XC8 C. Bukuli tsopano likugawidwa ndi compiler.
Buku la Hamate User's Guide laphatikizidwa mu bukhu la ma docs mu kutulutsidwaku. Bukuli lapangidwira omwe akuyendetsa Hamate ngati pulogalamu yoyimilira yokha.
Chatsopano ndi chiyani
Zotsatirazi ndi zatsopano za AVR-chandamale zomwe wopangayo amathandizira. Nambala ya Baibulo m’mitu ing’onoing’ono imasonyeza mtundu woyamba wa compiler kuti ugwirizane ndi mbali zotsatirazi.
Mtundu wa 2.40
Thandizo la chipangizo chatsopano Thandizo likupezeka pazigawo za AVR zotsatirazi: AT90PWM3, AVR16DD14, AVR16DD20, AVR16DD28, AVR16DD32, AVR32DD14, AVR32DD20, AVR32DD28, AVR32DD32, AVR64EA28, AVR64EA32, AVR64EA48, AVRXNUMXEAXNUMX, AVRXNUMXEAXNUMX, AVRXNUMXDDXNUMX, AVRXNUMXDDXNUMX
Kupititsa patsogolo kaganizidwe kachitidwe Chida chokometsa cha procedural abstraction (PA) chakonzedwa kuti khodi yomwe ili ndi malangizo oyitanitsa ( call recall ) ) ikhoza kufotokozedwa. Izi zidzangochitika ngati stackyo sikugwiritsidwa ntchito popereka mikangano kapena kupeza phindu kuchokera ku ntchitoyi. Kuchulukaku kumagwiritsidwa ntchito poyitanira ntchito yokhala ndi mikangano yosinthika kapena kuitana ntchito yomwe imatenga mikangano yambiri kuposa ma regista omwe amapangidwira izi. Izi zitha kuzimitsidwa pogwiritsa ntchito njira ya monk-pa-outline-calls, kapena njira yotsatsira ikhoza kuyimitsidwa pachinthu chilichonse. file kapena gwiritsani ntchito -monk-pa-on-file ndi -mo.-pa-on-function motsatana, kapena pogwiritsa ntchito mawonekedwe a nipa ( nipa specifier) kusankha ndi ntchito
Kufalitsa ma code macro Wophatikiza tsopano akufotokozera zazikulu __CODECOV ngati njira yolondola ya mcodecov yatchulidwa.
Njira yosungira kukumbukira Dalaivala wa xc8-cc tsopano avomereza -mreserve=space@start: njira yomaliza pomanga zolinga za AVR. Njirayi imasunga malo okumbukira omwe atchulidwa mu data kapena malo okumbukira pulogalamu, kulepheretsa wolumikizira kuti asachuluke ma code kapena zinthu zomwe zili mderali.
Smarter smart IO Zosintha zingapo zachitika ku ntchito za Smart IO, kuphatikiza ma tweaks onse ku printf core code, kuchitira % n conversion specifier ngati mtundu wodziyimira pawokha, kulumikizana mu vararg pop routines pakufunika, kugwiritsa ntchito mitundu yayifupi ya data ngati kuli kotheka kuthana ndi mikangano ya IO. , ndi factoring code wamba munda m'lifupi ndi akuchitira mwatsatanetsatane. Izi zitha kubweretsa ma code ndi kusungidwa kwa data, komanso kukulitsa kuthamanga kwa IO.
Mtundu 2.39 (Functional Safety Release)
License ya Network Server Kutulutsidwa kwa MPLAB XC8 Functional Safety Compiler kumathandizira License ya Network Server.
Mtundu wa 2.36
Palibe.
Mtundu wa 2.35
Thandizo la chipangizo chatsopano Thandizo likupezeka pazigawo za AVR zotsatirazi: ATTINY3224, ATTINY3226, ATTINY3227, AVR64DD14, AVR64DD20, AVR64DD28, ndi AVR64DD32.
Kusintha kwachinthu kwabwinoko Njira yatsopano -mcall-isr-prologues imasintha momwe ntchito zosokoneza zimasungira zolembera polowera ndi momwe zolemberazo zimabwezeretsedwanso pamene chizolowezi chosokoneza chikutha. Zimagwira ntchito mofananamo ndi njira ya -mcall-prologues, koma imakhudza ntchito zosokoneza (ISRs).
Kusintha kowonjezereka kwa mawu Njira yatsopano -mgas-isr-prologues imayang'anira ma itch code omwe amapangidwira machitidwe ang'onoang'ono osokoneza. Ikayatsidwa, izi zipangitsa kuti wosonkhanitsa ajambule ISR kuti agwiritse ntchito kaundula ndikusunga zolembetsa zomwe zimagwiritsidwa ntchito ngati zikufunika.
Kujambula kwazithunzi zosinthika Zida zina za m'banja la AVR DA ndi AVR DB zili ndi SFR (monga FLMAP) yomwe imatchula gawo la 32k la kukumbukira pulogalamu yomwe idzalembedwe mu kukumbukira deta. Njira yatsopano - mconst-data-in-config-mapped-proem ingagwiritsidwe ntchito kukhala ndi cholumikizira malo onse oyenerera omwe ali ndi gawo limodzi la 32k ndikuyambitsanso kaundula woyenera wa SFR kuti awonetsetse kuti izi zikujambulidwa mu malo okumbukira deta. , kumene idzafikiridwe bwino kwambiri.
Microchip Unified Standard Libraries Onse opanga MPLAB XC adzagawana Microchip Unified Standard Library, yomwe tsopano ikupezeka ndi kutulutsidwa kwa MPLAB XC8. Buku la MPLAB® XC8 C Compiler User's Guide/kapena AVR® MCU sikuphatikizanso zolembedwa za magwiridwe antchito awa. Izi zitha kupezeka mu Microchip Unified Standard Library Reference Guide. Dziwani kuti machitidwe ena omwe adafotokozedwa kale ndi avr-libc sakupezekanso. (Onani Librar):'. functionalityY…)
Smart IO Monga gawo la malaibulale atsopano ogwirizana, ntchito za IO m'mabanja osindikizira ndi ojambulira tsopano zapangidwa panyumba iliyonse, kutengera momwe ntchitozi zimagwiritsidwira ntchito pulogalamuyi. Izi zitha kuchepetsa kwambiri zinthu zomwe zimagwiritsidwa ntchito ndi pulogalamu.
Njira yothandizira ya Smart IO Posanthula mafoni ku magwiridwe antchito anzeru a IO (monga printf () kapena scanf () ), wophatikiza sangadziwe nthawi zonse kuchokera pamtundu wa zingwe kapena kutengera mfundo zomwe zimafunikira pakuyimbayo. M'mbuyomu, wophatikiza sakanangoganizira ndikuwonetsetsa kuti ntchito za IO zogwira ntchito zimalumikizidwa ndi chithunzi chomaliza. Njira yatsopano - msmart-io-format=fmt yawonjezedwa kuti wophatikizayo azitha kudziwitsidwa ndi wogwiritsa ntchito zomasulira zomwe zimagwiritsidwa ntchito ndi ntchito zanzeru za IO zomwe kugwiritsa ntchito kwake sikumveka bwino, kulepheretsa machitidwe a IO ataliatali kuti asalumikizidwe. (Onani Smart-io-format Option kuti mumve zambiri.)
Kuyika zigawo zachizolowezi M'mbuyomu, njira ya -Wl, -section-start idangoyika gawo lomwe latchulidwa pa adilesi yomwe adafunsidwa pomwe cholumikizira chimafotokoza gawo lomwe lili ndi dzina lomwelo. Pamene sizinali choncho, gawolo linayikidwa pa adiresi yosankhidwa ndi wogwirizanitsa ndipo chisankhocho chinanyalanyazidwa. Tsopano chisankhocho chidzalemekezedwa pazigawo zonse zachizoloŵezi, ngakhale script yogwirizanitsa sichikutanthauzira gawolo. Dziwani, komabe, kuti pazigawo zokhazikika, monga . mawu,. bss kapena. deta, wokwanira bwino allocator adzakhalabe ndi ulamuliro wathunthu pa kuyika kwawo, ndipo kusankha sikudzakhala ndi zotsatira. Gwiritsani ntchito -Wl, -Tsection=add njira, monga momwe tafotokozera mu bukhu la wogwiritsa ntchito.
Mtundu wa 2.32
Chitsogozo cha Stack Kupezeka ndi chilolezo cha compiler cha PRO, mawonekedwe owongolera ma stack angagwiritsidwe ntchito kuyerekeza kuzama kwa stack iliyonse yomwe imagwiritsidwa ntchito ndi pulogalamu. Imapanga ndikusanthula ma call graph a pulogalamuyo, imazindikira kuchuluka kwa ntchito iliyonse, ndikupanga lipoti, momwe kuya kwa miluko yomwe imagwiritsidwa ntchito ndi pulogalamuyo imatha kudziwika. Izi zimathandizidwa kudzera pa -mchp-stack-usage command-line njira. Chidule cha kugwiritsidwa ntchito kwa stack kumasindikizidwa pambuyo pomaliza. Lipoti latsatanetsatane likupezeka pamapu file, yomwe ingapemphedwe mwachizolowezi.
Thandizo la chipangizo chatsopano ikupezeka pazigawo za AVR zotsatirazi: ATTINY 427, ATTINY 424, ATTINY 426, ATTINY827, ATTINY824, ATTINY826, AVR32DB32, AVR64DB48, AVR64DB64, AVR64DB28, AVR32DB28, AVR64DB32, AVR32DB48DB, AVRXNUMXDBXNUMX
Thandizo la chipangizo chochotsedwa sichikupezekanso pamagawo otsatirawa a AVR: AVR16DA28, AVR16DA32 ndi, AVR16DA48.
Mtundu wa 2.31
Palibe.
Mtundu wa 2.30
Njira yatsopano yoletsa kukhazikitsidwa kwa data Njira yatsopano yoyendetsa -mno-data-ini t imalepheretsa kukhazikitsidwa kwa data ndikuchotsa magawo a bss. Imagwira ntchito poletsa kutulutsa kwa do_ copy_ data ndi d o_ clear_ bss zizindikiro pakusonkhana. files, zomwe zidzalepheretsa kuphatikizidwa kwa machitidwewo ndi ogwirizanitsa.
Kukhathamiritsa kowonjezera Kuwongolera zingapo kwapangidwa, kuphatikiza kuchotsedwa kwa malangizo obwereza osafunikira, kuchotsedwa kwa kudumpha kwina potsatira malangizo a kudumpha-ngati-bit-ndiko, komanso kuwongolera njira komanso kuthekera kobwereza njirayi.
Zosankha zowonjezera zilipo tsopano kuti zithetse zina mwazowonjezereka, makamaka -f chigawo cha nangula, chomwe chimalola kupeza zinthu zosasunthika kuti zichitike mogwirizana ndi chizindikiro chimodzi; -mpai derations=n, zomwe zimalola kuti chiwerengero cha njira zobwerezabwereza zisinthidwe kuchoka pa kusakhulupirika kwa 2; ndi, -mpa- call cost- shortcall, yomwe imachita mwaukali procedural abstraction, ndi chiyembekezo kuti linker akhoza kumasuka mafoni yaitali. Njira yomalizayi imatha kukulitsa kukula kwa ma code ngati malingaliro apansi sakukwaniritsidwa.
Thandizo la chipangizo chatsopano Thandizo likupezeka pazigawo za AVR zotsatirazi: AVR16DA28, AVR16DA32,
AVR16DA48, AVR32DA28, AVR32DA32, AVR32DA48, AVR64DA28, AVR64DA32, AVR64DA48, AVR64DA64, AVR128DB28, AVR128DB32, AVR128DB48, ndi A128DA64.
Thandizo la chipangizo chochotsedwa Thandizo silikupezekanso pamagawo otsatirawa a AVR: ATA5272, ATA5790, ATA5790N, ATA5791, ATA5795, ATA6285, ATA6286, ATA6612C, ATA6613C, ATA6614Q, ATA6616C, ATA6617C, ndi 664251
Mtundu 2.29 (Functional Safety Release)
Mutu file kwa compiler build-ins Kuonetsetsa kuti wolembayo atha kugwirizana ndi zilankhulo monga MISRA, the mutu file, yomwe imaphatikizidwa ndi , zasinthidwa. Mutuwu uli ndi mawonekedwe a ntchito zonse zomangidwa mkati, monga _buil tin _avrnop () ndi _buil tin_ avr delay_ cycles () . Zina zomangidwa sizingagwirizane ndi MISRA; izi zitha kusiyidwa powonjezera define _Xe_ STRICT_ MISRA pamzere wamalamulo wa compiler. Zomangamanga ndi zolengeza zawo zasinthidwa kuti zigwiritse ntchito mitundu yokhazikika.
Mtundu wa 2.20
Thandizo la chipangizo chatsopano Thandizo likupezeka pazigawo za AVR zotsatirazi: ATTINY1624, ATTINY1626, ndi ATTINY1627.
Kugawidwa kwabwinoko kokwanira bwino The best fit allocator (BFA) mu compiler yakonzedwa kuti magawo agawidwe mwadongosolo lololeza kukhathamiritsa bwino. BFA tsopano imathandizira malo otchulidwa adilesi ndipo imayendetsa bwino kuyambika kwa data.
Kupititsa patsogolo kaganizidwe kachitidwe Kukhathamiritsa kwa procedural abstraction tsopano kukuchitika pama code ambiri. Nthawi zam'mbuyomu pomwe kukhathamiritsa uku kutha kukulitsa kukula kwa ma code adayankhidwa popangitsa kuti code yokhathamiritsa idziwe za njira yosonkhanitsira zinyalala.
Kusowa kwa AVR Assembler AVR Assembler sichikuphatikizidwanso ndi kugawa uku.
Mtundu 2.19 (Functional Safety Release)
Palibe.
Mtundu wa 2.10
Kufalikira kwa Khodi Kutulutsidwaku kumaphatikizaponso kachidindo kamene kamathandizira kusanthula momwe magwero a polojekiti adagwiritsidwira ntchito. Gwiritsani ntchito njira -mcodecov=ram kuti muyambitse. Pambuyo pochita pulojekiti pa hardware yanu, zidziwitso zachinsinsi zidzasonkhanitsidwa mu chipangizocho, ndipo izi zikhoza kusamutsidwa ndi kuwonetsedwa ndi MPLAB X IDE kudzera pa pulogalamu yowonjezera yowonjezera. Onani zolemba za IDE kuti mudziwe zambiri za pulogalamu yowonjezerayi zitha kupezeka. The #pragma mcodecov itha kugwiritsidwa ntchito kusiya ntchito zotsatizana ndi kusanthula kwa nkhani. Momwemo pragma iyenera kuwonjezeredwa kumayambiriro kwa file kuchotsa zonsezo file kuchokera ku kusanthula kwa nkhani. Kapenanso, mawonekedwe ((mcodecov)) atha kugwiritsidwa ntchito kuti asaphatikizepo gawo linalake pakuwunika kowunikira.
Kufotokozera kwachipangizo files Chipangizo chatsopano file wotchedwa avr chipinfo. html ili mu bukhu la ma docs la kugawa kwa compiler. Izi file imalemba zida zonse zothandizidwa ndi compiler. Dinani pa dzina la chipangizocho, ndipo idzatsegula tsamba lomwe likuwonetsa zovomerezeka zonse zokhazikika / zamtengo wapatali pa chipangizocho, ndi ex.amples.
Procedural abstraction Kukhathamiritsa kwa Procedural abstraction, komwe kumalowa m'malo mwa midadada wamba wapagulu ndikuyitanitsa kukopi yochotsedwa ya blockyo, awonjezedwa kwa wopanga. Izi zimachitidwa ndi pulogalamu ina, yomwe imangoyitanidwa ndi wophatikiza posankha kukhathamiritsa kwa 2, 3 ors. Kukhathamiritsa uku kumachepetsa kukula kwa ma code, koma kutha kuchepetsa liwiro lakuchita komanso kusokoneza ma code.
Procedural abstraction imatha kuyimitsidwa pamasinthidwe apamwamba kwambiri pogwiritsa ntchito njira -mno-pa, kapena itha kuthandizidwa pamlingo wocheperako (malinga ndi chilolezo chanu) pogwiritsa ntchito -mpa. Ikhoza kuzimitsidwa pa chinthu file kugwiritsa ntchito -mno-pa-file=filedzina, kapena kulemedwa pa ntchito pogwiritsa ntchito -mno-pa pa function= function.
M'kati mwa gwero lanu lachidziwitso, njira zowonongeka zimatha kuzimitsidwa kuti zigwiritsidwe ntchito pogwiritsa ntchito _attribute_ ((nopa)) ndi tanthauzo la ntchitoyo, kapena kugwiritsa ntchito _nopa, yomwe imafalikira ku chidziwitso ((nopa, noinline)) ndipo motero imalepheretsa kugwira ntchito kuti zisachitike. ndipo pali kuchotsedwa kwa code inlined.
Tsekani kuthandizira pang'ono mu pragma Kukonzekera kwa #pragma tsopano kutha kugwiritsidwa ntchito kutchula zotchingira za AVR komanso masinthidwe ena. Onani zambiri za avr chip. html file (zotchulidwa pamwambapa) kuti mugwiritse ntchito ndi pragma iyi.
Thandizo la chipangizo chatsopano Thandizo likupezeka pazigawo zotsatirazi: AVR28DA128, AVR64DA128,AVR32DA128, ndi AVR48DA128.
Mtundu wa 2.05
Zambiri pamtengo wanu Mtundu wa macOS wa compiler iyi ndi woyang'anira layisensi tsopano ndi ntchito ya 64-bit. Izi ziwonetsetsa kuti wopangayo azikhazikitsa ndikuyendetsa popanda machenjezo pamitundu yaposachedwa ya macOS.
Const zinthu mu memory ya pulogalamu Wopangayo tsopano atha kuyika zinthu zoyenerera mu pulogalamu ya Flash memory, m'malo mokhala ndi izi mu RAM. Wopangayo wasinthidwa kuti zidziwitso zapadziko lonse lapansi zisungidwe mu memory flash memory ndipo izi zitha kupezeka mwachindunji komanso mwanjira ina pogwiritsa ntchito malangizo okumbukira pulogalamu. Zatsopanozi zimayatsidwa mwachisawawa koma zitha kuzimitsidwa pogwiritsa ntchito njira -mno-const-data-in-progmem. Zomangamanga za avrxmega3 ndi avrtiny, izi sizikufunika ndipo nthawi zonse zimakhala zolephereka, popeza kukumbukira kwa pulogalamu kumajambulidwa kumalo adilesi ya data pazida izi.
Muyezo waulere Mitundu yopanda chilolezo (yaulere) ya compiler iyi tsopano imalola kukhathamiritsa mpaka ndikuphatikiza mulingo 2. Izi zilola kutulutsa kofanana, ngakhale sikufanana, ndi zomwe zinali zotheka kale pogwiritsa ntchito laisensi Yokhazikika.
Takulandilani AVRASM2 Chojambulira cha AVRASM2 cha zida za 8-bit tsopano chikuphatikizidwa mu choyikira cha XC8 compiler. Chophatikizirachi sichimagwiritsidwa ntchito ndi wopanga XC8, koma chimapezeka pama projekiti otengera gwero lolembedwa pamanja.
Thandizo la chipangizo chatsopano Thandizo likupezeka pazigawo zotsatirazi: ATMEGA1608, ATMEGA1609, ATMEGA808, ndi ATMEGA809.
Mtundu wa 2.00
Woyendetsa wapamwamba Dalaivala watsopano, wotchedwa xc8-cc, tsopano akukhala pamwamba pa dalaivala wa avr-gcc wam'mbuyo ndi dalaivala wa xc8, ndipo akhoza kuyitanitsa compiler yoyenera kutengera kusankha kwa chipangizo chandamale. Dalaivala uyu amavomereza zosankha zamtundu wa GCC, zomwe zimamasuliridwa kapena kupyola kwa wopangayo yemwe akuphedwa. Dalaivala uyu amalola zosankha zofananira zokhala ndi semantics zofananira kuti zigwiritsidwe ntchito ndi chandamale cha AVR kapena PIC motero ndiyo njira yolimbikitsira kuyitanitsa wopanga. Ngati pakufunika, dalaivala wakale wa avr-gcc amatha kuyitanidwa mwachindunji pogwiritsa ntchito njira zakale zomwe amavomereza m'mitundu yakale.
Common C Interface Wophatikiza uyu tsopano atha kugwirizana ndi MPLAB Common C Interface, zomwe zimalola ma source code kuti azitha kujambulidwa mosavuta pama compiler onse a MPLAB XC. Njira ya -mext=cci ikufuna izi, ndikupangitsa mawu ena owonjezera pazowonjezera zilankhulo zambiri.
Woyendetsa mabuku watsopano Dalaivala watsopano wa laibulale ali pamwamba pa woyang'anira laibulale ya PIC wam'mbuyo ndi woyang'anira laibulale wa AVR avr-ar. Dalaivala uyu amavomereza zosankha za GCC-archiver, zomwe zimamasuliridwa kapena kuperekedwa kwa woyang'anira mabuku yemwe akuphedwa. Dalaivala watsopano amalola zosankha zofanana ndi semantics zofanana kuti zigwiritsidwe ntchito kupanga kapena kuwongolera laibulale ya PIC kapena AVR. file ndiye njira yovomerezeka yoyitanitsa woyang'anira mabuku. Ngati zingafunike pamapulojekiti otengera mbiri yakale, woyang'anira mabuku wam'mbuyo amatha kuyitanidwa mwachindunji pogwiritsa ntchito njira zakale zomwe amavomereza m'matembenuzidwe am'mbuyomu.
Nkhani Zosamuka
Zotsatirazi ndizinthu zomwe tsopano zimayendetsedwa mosiyana ndi compiler. Zosinthazi zingafunike kusinthidwa ku khodi yanu yoyambira ngati muyika khodi ku mtundu wa compiler iyi. Nambala ya Baibulo m’mitu ing’onoing’ono imasonyeza mtundu woyamba wa compiler kuti ugwirizane ndi kusintha kotsatira.
Mtundu wa 2.40
Palibe.
Mtundu 2.39 (Functional Safety Release)
Palibe.
Mtundu wa 2.36
Palibe.
Mtundu wa 2.35
Kusamalira zingwe zoyambira (XCS-2420) Kuti muwonetsetse kugwirizana ndi zophatikiza zina za XC, XC8-to ntchito, monga strtol () etc., sidzayesanso kutembenuza chingwe cholowetsa ngati maziko omwe atchulidwa ndi okulirapo kuposa 36 ndipo m'malo mwake akhazikitsa EINVAL. Muyezo wa C sunatchule momwe zimagwirira ntchito pamene mtengo wapansi uwu wadutsa.
Kukhathamiritsa kwa liwiro kosayenera Kukhathamiritsa kwa machitidwe kumathandizidwa posankha kukhathamiritsa kwa mulingo 3 (-03). Kukhathamiritsa uku kumachepetsa kukula kwa ma code ndikuwononga liwiro la code, chifukwa chake siziyenera kuchitidwa. Mapulojekiti omwe akugwiritsa ntchito mulingo wokhathamiritsawu amatha kuwona kusiyana kwa kukula kwa ma code ndi liwiro la kachitidwe akapangidwa ndi kutulutsidwaku.
Laibulale magwiridwe Khodi ya magwiridwe antchito ambiri a laibulale ya C tsopano ikuchokera ku Microchip's Unified Standard Library, yomwe imatha kuwonetsa machitidwe osiyanasiyana nthawi zina poyerekeza ndi laibulale yakale ya avr-libc. Za example, sikofunikiranso kulumikiza laibulale ya lprintf_flt (-print _flt option) kuti muyatse chithandizo chamtundu wa IO cha zowunikira zamtundu woyandama. Mawonekedwe anzeru a IO a Microchip Unified Standard Library amapangitsa kuti njirayi ikhale yovuta. Kuphatikiza apo, kugwiritsa ntchito _p zokhazikika pazingwe ndi kukumbukira (monga strcpy_P () ndi zina .. ) zomwe zimagwira ntchito pazingwe za const mu flash sizikufunikanso. Ma C routines okhazikika (monga strcpy ()) azigwira ntchito moyenera ndi data yotere pomwe gawo la const-data-in-program-memory liyatsidwa.
Mtundu wa 2.32
Palibe.
Mtundu wa 2.31
Palibe.
Mtundu wa 2.30
Palibe.
Mtundu 2.29 (Functional Safety Release)
Palibe.
Mtundu wa 2.20
Kusintha mawonekedwe a DFP Wopangayo tsopano akutenga masanjidwe ena omwe amagwiritsidwa ntchito ndi DFPs (Device Family Packs). Izi zikutanthauza kuti DFP yakale mwina sangagwire ntchito ndi kumasulidwa uku, ndipo olemba akale sangathe kugwiritsa ntchito ma DFP aposachedwa.
Mtundu 2.19 (Functional Safety Release)
Palibe.
Mtundu wa 2.10
Palibe
Mtundu wa 2.05
Const zinthu mu kukumbukira pulogalamu Zindikirani kuti mwachisawawa, const-qualfiied zinthu zidzayikidwa ndi kupezeka mu kukumbukira pulogalamu (monga tafotokozera apa). Izi zikhudza kukula ndi liwiro la projekiti yanu, koma ziyenera kuchepetsa kugwiritsa ntchito RAM. Izi zitha kuyimitsidwa, ngati zingafunike, pogwiritsa ntchito njira ya -mnoconst- da ta-in-progmem.
Mtundu wa 2.00
Ma fuse osinthika Ma fuse osinthira chipangizo tsopano akhoza kukonzedwa pogwiritsa ntchito config pragma yotsatiridwa ndi kuyika mawiri awiriwa kuti afotokoze momwe fuseyo ilili, mwachitsanzo.
#pragma config WDT0N = SET
#pragma config B0DLEVEL = B0DLEVEL_4V3
Mtheradi zinthu ndi ntchito Zinthu ndi ntchito zitha kuikidwa pa adilesi inayake pamtima pogwiritsa ntchito CCI _at (address) specifier, ex.ample: #kuphatikizapo int foobar pa (Ox800100); char at(Ox250) get ID(int offset) { ... } Mtsutso wa chofotokozerachi uyenera kukhala wokhazikika womwe umayimira adilesi yomwe baiti yoyamba kapena malangizo adzayikidwe. Maadiresi a RAM amawonetsedwa pogwiritsa ntchito 0x800000. Thandizani CCI kugwiritsa ntchito izi.
New interrupt function syntax Wopangayo tsopano akuvomereza CCI yosokoneza (num) kuti asonyeze kuti ntchito za C ndizosokoneza. Wofotokozera amatenga nambala yosokoneza, mwachitsanzoample: #kuphatikizapo kusokoneza opanda kanthu(SPI STC_ vect _num) spi Isr(zopanda) { … }
Nkhani Zokhazikika
Zotsatirazi ndi zosintha zomwe zapangidwa kwa wopanga. Izi zitha kukonza zolakwika m'makhodi opangidwa kapena kusintha magwiridwe antchito azomwe zimapangidwira kapena kufotokozedwa ndi bukhu la wogwiritsa ntchito. Nambala yamtunduwu m'mitu yaing'ono ikuwonetsa mtundu woyamba wophatikiza zomwe zili ndi zokonzekera zomwe zikutsatira. Malebulo omwe ali m'mabulaketi omwe ali pamutu ndi omwe amazindikiritsa nkhaniyo munkhokwe. Izi zitha kukhala zothandiza ngati mukufuna kulumikizana ndi chithandizo.
Dziwani kuti zina zokhudzana ndi chipangizochi zimakonzedwa mu Device Family Pack (DFP) yolumikizidwa ndi chipangizochi. Onani MPLAB Pack Manager kuti mumve zambiri zakusintha ku DFPs komanso kutsitsa mapaketi aposachedwa.
Mtundu wa 2.40
Kumasuka kwambiri (XCS-2876) Mukamagwiritsa ntchito -mrelax njira, wolembayo sanali kugawa zigawo zina palimodzi, zomwe zimapangitsa kuti pakhale ma code ochepa. Izi mwina zidachitika ndi code yomwe idagwiritsa ntchito malaibulale atsopano a MUSL kapena ndi zilembo zofooka.
Kujambula kwamapu sikunayimitsidwe monga kuchenjeza (XCS-2875) Mtengo wa data-in-config mappedprogmem umadalira mtengo wa data-mu-proem womwe ukuyatsidwa. Ngati mtengo wa data-ipconfig- mapped-proem udathandizidwa momveka bwino pogwiritsa ntchito njirayo ndipo mawonekedwe a mtengo wa data-inprogmem adazimitsidwa, ulalowo udalephera, ngakhale uthenga wochenjeza wonena kuti cons data- in-config-mapped- mawonekedwe a proem adazimitsidwa okha, zomwe sizinali zolondola kwenikweni. Mawonekedwe a const-data-in-config-mapped-proem tsopano ali olephereka pankhaniyi.
Kusintha kwa DFP kuti mupeze NVMCTRL (XCS-2848) molondola Khodi yoyambira nthawi yoyambira yogwiritsidwa ntchito ndi zida za AVR64EA sinaganizire kuti kaundula wa NVMCTRL anali pansi pa Configuration Change Protection (CCP) ndipo sanathe kuyika IO SFR patsamba logwiritsidwa ntchito ndi const-data-in configmapped- proem compiler. mawonekedwe. Zosintha zomwe zachitika mu mtundu wa AVR-Ex_DFP 2.2.55 zidzalola kuti code yoyambira yoyambira ilembe molondola ku regista iyi.
Zosintha za DFP kuti mupewe kupanga mapu (XCS-2847) Ntchito yolimbana ndi vuto ndi mawonekedwe a chipangizo chojambulira chojambulidwa mu AVR128DA28/32/48/64 Silicon Errata (DS80000882) yakhazikitsidwa. Chojambulira cha const-data-in-config-mapped-proem sichidzagwiritsidwa ntchito mwachisawawa pazida zomwe zakhudzidwa, ndipo kusinthaku kudzawonekera mu mtundu wa AVR-Ex_DFP 2.2.160.
Pangani zolakwika ndi sinhf kapena coshf (XCS-2834) Kuyesa kugwiritsa ntchito sinhf () kapena coshf () laibulale kumapangitsa kuti pakhale vuto la ulalo, kufotokoza kalembedwe kosadziwika. Ntchito yosowa yotchulidwa tsopano yaphatikizidwa mu kagawidwe kawopanga.
Pangani zolakwika ndi nopa (XCS-2833) Kugwiritsa ntchito mawonekedwe a nopa ndi ntchito yomwe yakhala ndi dzina lake lophatikizira lomwe limatchulidwa kuti () lidayambitsa mauthenga olakwika kuchokera kwa assembler. Kuphatikiza uku sikutheka.
Kulephera kwa magwiridwe antchito amitundu yosiyanasiyana ndi mikangano ya pointer (XCS-2755, XCS-2731) Ntchito zokhala ndi mikangano yosiyana zimayembekezera zolozera za 24-bit (_memo type) kuti zidutsidwe pamndandanda wotsutsana wosinthika pomwe mawonekedwe a mtengo-data-mu-proem atsegulidwa. Zotsutsana zomwe zinali zolozera ku kukumbukira kwa data zinali kuperekedwa ngati zinthu za 16-bit, zomwe zinapangitsa kulephera kwa code pamene pamapeto pake zidawerengedwa. Pamene mawonekedwe a con-in-proem athandizidwa, mikangano yonse ya 16-bit pointers tsopano imasinthidwa kukhala 24-bit pointers. strtoxxx library library inalephera (XCS-2620) Pamene mawonekedwe a const-data-in-proem adayatsidwa, gawo lolowera mu library ya strtoxxx silinasinthidwe bwino pazokangana zachingwe zomwe sizimakumbukira pulogalamu.
Zidziwitso za osewera osavomerezeka (XCS-2612) Wopangayo apereka cholakwika ngati mawonekedwe a mtengo-mu-proem athandizidwa ndipo adilesi ya chingwe chenicheni imayikidwa momveka bwino pamalo adilesi ya data (kugwetsa qualifier), kwa ex.ample, (uint8 t *) "Moni Dziko!". Chenjezo ndi vuto ngati adilesi ingakhale yolakwika pomwe cholozera cha const data chikuponyedwa momveka bwino pamalo adilesi ya data.
Kuyika kwa zinthu zosadziwika bwino (XCS-2408) Zinthu zosadziwika bwino za const ndi const v olatile sizinaikidwe m'makumbukidwe a pulogalamu pazida zomwe zimayika zonse kapena gawo lazokumbukira zamapulogalamu mumalo adilesi ya data. Pazida izi, zinthu zotere tsopano zimayikidwa mu kukumbukira pulogalamu, kupangitsa kuti ntchito yawo ikhale yogwirizana ndi zida zina.
Mtundu 2.39 (Functional Safety Release)
Palibe.
Mtundu wa 2.36
Zolakwika pakuchedwa (XCS-2774) Zosintha zazing'ono pakukhathamiritsa kwa Free mode zidalepheretsa kupindika kosalekeza kwa mawu ogwiritsira ntchito kuti achedwetse ntchito zomwe zamangidwa, zomwe zimapangitsa kuti aziwoneka ngati osalumikizana ndikuyambitsa cholakwika: _buil tin avr delay_ cycles amayembekeza kuti ac ompile. chiwerengero cha nthawi zonse.
Mtundu wa 2.35
Kugawa kogwirizana pogwiritsa ntchito _at (XCS-2653) Kugawa mosalekeza kwa zinthu zingapo m'gawo lomwe lili ndi dzina lomwelo komanso kugwiritsa ntchito pa () sikunagwire ntchito bwino. Za example: constchararrl [ ] at tri butte ((sect on(“.misses”)))) pa (Ox50 0 ) = {Oxo , Ox CD} ; mtengo char arr2[ ] pa tri butte ((gawo(“.my s eke”))) = {Ng'ombe, Ox FE }; amayenera kuyika arr2 nthawi yomweyo aril.
Kutchula ma adilesi oyambira gawo (XCS-2650) Njira ya -Wal, -section-start inali kulephera mwakachetechete kuyika magawo pa adilesi yoyambira yosankhidwa. Nkhaniyi yakhazikitsidwa pazigawo zilizonse zotchulidwa mwachizolowezi; komabe, sizigwira ntchito pazigawo zilizonse zokhazikika, monga . zolemba kapena. bss, yomwe iyenera kuyikidwa pogwiritsa ntchito -Wl, -T.
Linker imawonongeka mukamapuma (XCS-2647) Pamene kukhathamiritsa kwa -relax kunayatsidwa ndipo panali ma code kapena zigawo za data zomwe sizinagwirizane ndi kukumbukira komwe kulipo, cholumikizira chinagwa. Tsopano, muzochitika zotere, mauthenga olakwika amaperekedwa m'malo mwake.
Kufikira koyipa kwa EEPROM (XCS-2629) Leproma _read_ block routine sinagwire bwino ntchito pazida za Mega pomwe njira ya -monist-data-in-proem idayatsidwa (yomwe ndiyokhazikika), zomwe zidapangitsa kuti kukumbukira kwa EEPROM kusawerengedwe bwino.
Kugawa kukumbukira kosavomerezeka (XCS-2593, XCS-2651) Pamene -Text kapena -Tata linker njira (yachitsanzoample adadutsa pogwiritsa ntchito -Wl driver option) atchulidwa, malemba ofananirako / chigawo cha deta adasinthidwa; komabe, adilesi yomaliza sinasinthidwe moyenera, zomwe zikanapangitsa kuti dera lipitirire kuchuluka kwa kukumbukira kwa chipangizocho.
Khodi yosokoneza ya ATtiny (XCS-2465) Pamene kumanga zipangizo za Tatin ndi kukhathamiritsa anazimitsidwa (-00), kusokoneza ntchito mwina anayambitsa operand kuchoka osiyanasiyana assembler mauthenga.
Zosankha zomwe sizikudutsa (XCS-2452) Mukamagwiritsa ntchito njira ya -Wl yokhala ndi zolumikizira zingapo, zolekanitsidwa ndi koma, si njira zonse zolumikizira zomwe zidaperekedwa kwa wolumikizira.
Kulakwitsa powerenga pulogalamu yowerengera (XCS-2450) Nthawi zina, wophatikiza amapanga cholakwika chamkati (insn yosazindikirika) powerenga mtengo wa byte kuchokera pa pointer kupita ku memory memory.
Mtundu wa 2.32
Kufikira kwachiwiri kwa library kwalephera (XCS-2381) Kuyitanitsa mtundu wa Windows wa xc8-ar. exe library archive kachiwiri kuti alowe mu library yomwe ilipo mwina yalephera chifukwa cholephera kutchulanso uthenga wolakwika.
Mtundu wa 2.31
Zolephera za compiler (XCS-2367) Pogwira ntchito pamapulatifomu a Windows omwe anali ndi bukhu losakhalitsa ladongosolo lokhazikitsidwa kunjira yomwe inali ndi kadontho'.' khalidwe, wolembayo angakhale atalephera kuchita.
Mtundu wa 2.30
Zolemba zapadziko lonse zidasokonekera pambuyo pofotokoza (XCS-2299) Khodi yophatikiza yolembedwa pamanja yomwe imayika zilembo zapadziko lonse lapansi m'magawo amagulu omwe amatsatiridwa ndi njira zofotokozera mwina sizinakhazikitsidwenso moyenera.
Kuwonongeka kopumula (XCS-2287) Kugwiritsa ntchito njira ya -merlad kukanapangitsa kuti cholumikizira chiwonongeke pamene kukhathamiritsa kwa mchira kumayesa kuchotsa malangizo omwe sanali kumapeto kwa gawo.
Kuphwanyidwa pamene mukukonza zolembedwa ngati misinkhu (XCS-2282) Khodi pogwiritsa ntchito "Labels as values" kukulitsa chilankhulo cha GNU C mwina kudapangitsa kuti kukhathamiritsa kwa njira kusokonezeke, ndi cholakwika chokonzekera cha Outlined VMA.
Osati const (XCS-2271) Ma prototypes oyambira () ndi ntchito zina kuchokera musatchulenso zoyenereza zotsika mtengo pazilombo za zingwe zobwezeredwa pomwe -monist-data inprogmem feature yazimitsidwa. Dziwani kuti ndi avrxmega3 ndi zida za avertin, izi zimayatsidwa mpaka kalekale.
Zoyambitsa zotayika (XCS-2269) Pamene zosintha zingapo mugawo lomasulira zidayikidwa mugawo (pogwiritsa ntchito gawo kapena mawonekedwe ((gawo))), ndipo zosintha zoyambirira zotere zidayambika kapena zinalibe choyambitsa, zoyambira zamitundu ina mugawo lomasulira lomwelo. zomwe zidayikidwa mu gawo lomwelo zidatayika.
Mtundu 2.29 (Functional Safety Release)
Palibe.
Mtundu wa 2.20
Zolakwika ndi malamulo aatali (XCS-1983) Mukamagwiritsa ntchito chandamale cha AVR, wopangayo atha kuyima ndi a file sichinapezeke cholakwika, ngati mzere wolamula unali waukulu kwambiri ndipo uli ndi zilembo zapadera monga mawu, ma backslash, ndi zina.
Gawo la rodata (XCS-1920) Cholumikizira cha AVR chinalephera kugawa kukumbukira magawo a rodata pomanga ma avrxmega3 ndi ma avrtiny architectures, zomwe zitha kubweretsa zolakwika pakukumbukira.
Mtundu 2.19 (Functional Safety Release)
Palibe.
Mtundu wa 2.10
Kulephera kusamuka (XCS-1891) Chokwanira bwino kwambiri chinali kusiya 'mabowo' pamtima pakati pa magawo pambuyo pakupumula kwa linker. Kupatula kukumbukira kugawika, izi zidakulitsa mwayi woti pakhale zolephereka zakusamutsa zolumikizira zokhudzana ndi kulumpha kwapakompyuta kapena kuyimba foni kuti zisachitike.
Malangizo osasinthidwa ndi kupumula (XCS-1889) Kupumula kwa Linker sikunachitike pakudumphira kapena kuyimba malangizo omwe zolinga zawo zimakhala zofikirika ngati zamasuka.
Kusowa magwiridwe antchito (XCSE-388) Matanthauzo angapo kuchokera , monga clock_ div_ t ndi clock_prescale_set (), sizinatchulidwe pazida, kuphatikizapo ATmega324PB, ATmega328PB, ATtiny441, ndi ATtiny841.
Ma macros akusowa Preprocessor macros_ xcs _MODE_, _xcs VERSION, _xc, ndi xcs sizinafotokozedwe zokha ndi wophatikiza. Izi zilipo tsopano.
Mtundu wa 2.05
Cholakwika cham'kati mwa compiler (XCS-1822) Mukamanga pansi pa Windows, cholakwika chamkati chamkati chikhoza kupangidwa pokonza ma code.
Kusefukira kwa RAM sikunazindikirike (XCS-1800, XCS-1796) Mapulogalamu omwe adapitilira RAM yomwe ilipo sanazindikiridwe ndi wophatikiza nthawi zina, zomwe zidapangitsa kulephera kwa code code.
Memory yosiyidwa (XCS-1792) Pazida za avrxmega3 ndi avrtiny, mbali za flash memory mwina zidasiyidwa zosakonzedwa ndi MPLAB X IDE.
Kulephera kuchita zazikulu (XCS-1788) Nthawi zina pomwe pulogalamuyo inalibe zosintha zapadziko lonse lapansi, nambala yoyambira yoyambira sinatuluke ndipo ntchito yayikulu () sinafikirepo.
Zolakwika za kukumbukira (XCS-1787) Pazida za avrxmega3 ndi avrtiny, pulogalamu ya kukula kwa avr inali kunena kuti zowerengera zokha zimadya RAM m'malo mokumbukira pulogalamu.
Kuwerenga kolakwika kwa pulogalamu (XCS-1783) Mapulojekiti omwe amapangidwa pazida zomwe zili ndi kukumbukira kwa pulogalamu yojambulidwa mu malo adilesi ya data komanso zomwe zimatanthauzira zinthu pogwiritsa ntchito PROGMEM macro/attribute mwina zidawerenga zinthu izi kuchokera ku adilesi yolakwika.
Cholakwika chamkati chokhala ndi mawonekedwe (XCS-1773) Cholakwika chamkati chidachitika ngati mutafotokozera zinthu za pointer ndi
_at () kapena attribute() tokeni pakati pa dzina lolozera ndi mtundu wosatchulidwa,ample, char*
_pa ( 0x80015 0) cp; Chenjezo tsopano laperekedwa ngati code yotere ikupezeka.
Kulephera kuchita zazikulu (XCS-1780, XCS-1767, XCS-1754) Kugwiritsa ntchito zosinthika za EEPROM kapena kufotokozera ma fuse pogwiritsa ntchito config pragma kutha kuyambitsa kuyambika kolakwika kwa data ndi/kapena kutsekereza kukhazikitsidwa kwa pulogalamu pamakina oyambira, musanafikire main () .
Kulakwitsa kwa fuse ndi zida zazing'ono (XCS-1778, XCS-1742) Zida za attiny4/5/9/10/20/40 zinali ndi utali wolakwika wa fuse wotchulidwa pamutu wawo. files zomwe zimatsogolera ku zolakwika zolumikizirana poyesa kupanga ma code omwe amatanthauzira ma fuse.
Kulakwitsa kwa magawo (XCS-1777) Kulakwitsa kwa magawo apakati kwakonzedwa.
Kuwonongeka kwa Assembler (XCS-1761) Avr-assembler atha kugwa pomwe wopangayo adayendetsedwa pansi pa Ubuntu 18.
Zinthu sizinachotsedwe (XCS-1752) Zinthu zosasunthika zosasunthika za nthawi yosungira mwina sizinachotsedwe ndi code yoyambira.
Kufotokozera kwa chipangizo chosemphana sikunyalanyazidwa (XCS-1749) Wopangayo sanali kupanga cholakwika pomwe zosankha zingapo za zida zidagwiritsidwa ntchito ndikuwonetsa zida zosiyanasiyana.
Kuwonongeka kwa Memory ndi mulu (XCS-1748) Chizindikiro cha heap_ start chinali kukhazikitsidwa molakwika, zomwe zimapangitsa kuti zosintha wamba zisokonezedwe ndi mulu.
Vuto losamutsa Linker (XCS-1739) Vuto losamutsa maulalo litha kutulutsidwa pomwe code inali ndi rjmp kapena rcall yokhala ndi cholinga cha 4k bytes ndendende.
Mtundu wa 2.00
Palibe.
Nkhani Zodziwika
Zotsatirazi ndi zolepheretsa pakugwira ntchito kwa compiler. Izi zitha kukhala zoletsa wamba, kapena
zopatuka pazidziwitso zomwe zili mu bukhu la wogwiritsa ntchito. Malebulo omwe ali m'mabulaketi omwe ali pamutu ndi omwe amazindikiritsa nkhaniyo munkhokwe. Izi zitha kukhala zothandiza ngati mukufuna kulumikizana ndi chithandizo. Zinthu zomwe zilibe zilembo ndi malire omwe amafotokozera momwe amagwirira ntchito komanso zomwe zitha kukhala zikugwira ntchito mpaka kalekale.
Kuphatikiza kwa MPLAB X IDE
Kuphatikiza kwa MPLAB IDE Ngati Compiler iyenera kugwiritsidwa ntchito kuchokera ku MPLAB IDE, ndiye kuti muyenera kukhazikitsa MPLAB IDE musanayike Compiler.
Kupanga Code
PA memory allocation kulephera (XCS-2881) Mukamagwiritsa ntchito zowonjezeretsa njira, wolumikizirayo atha kunena zolakwika pakugawa kukumbukira pomwe kukula kwa ma code kuli pafupi ndi kuchuluka kwa kukumbukira pulogalamu yomwe ilipo pa chipangizocho, ngakhale pulogalamuyo iyenera kukwanira malo omwe alipo.
Osati anzeru kwambiri Smart-IO (XCS-2872) Mawonekedwe a smart-io a compiler apanga code yovomerezeka koma yocheperako pa ntchito ya sprint ngati gawo la m'mphepete mwa nyanja-data-in-proem layimitsidwa kapena ngati chipangizocho chili ndi mapu ake onse ojambulidwa mu kukumbukira kwa data.
Ngakhale zochepa zanzeru za Smart-IO (XCS-2869) Chojambula cha smart-io cha compiler chidzapanga code yovomerezeka koma yocheperapo pamene zosankha za -floe ndi -fno-buil tin zonse zikugwiritsidwa ntchito.
Kuyika kwa data kocheperako (XCS-2849) Wogwirizanitsa pakali pano sadziwa za APPCODE ndi APPDATA zigawo za kukumbukira, kapena [No-] Read-While-Write magawidwe pamapu okumbukira. Zotsatira zake, pali mwayi wochepa woti wolumikizirayo agawire zowerengera zokha pamalo osayenera kukumbukira. Mwayi wa deta yolakwika umawonjezeka ngati mawonekedwe a m'mphepete mwa nyanja-data-in-pragma athandizidwa, makamaka ngati mbali ya m'mphepete mwa nyanja-data-in-config-mapped-proem ithandizidwanso. Izi zitha kuyimitsidwa ngati zingafunike.
Chinthu file kukonza dongosolo (XCS-2863) Mchitidwe wa zinthu files idzasinthidwa ndi wolumikizirayo ingakhale yosiyana kutengera kugwiritsa ntchito njira zolimbikitsira (-mpa option). Izi zitha kungokhudza ma code omwe amatanthauzira ntchito zofooka pama module angapo.
Cholakwika cholumikizira ndi mtheradi (XCS-2777) Chinthu chikapangidwa kukhala mtheradi pa adilesi kumayambiriro kwa RAM ndipo zinthu zosadziwika zafotokozedwanso, cholakwika cholumikizira chikhoza kuyambitsa.
Ma ID odzuka mwachidule (XCS-2775) Pazida za ATA5700/2, zolembera za PHID0/1 zimangofotokozedwa ngati 16 bits m'lifupi, osati 32 bits mulifupi.
Kuwonongeka kwa Linker poyimba chizindikiro (XCS-2758) Cholumikizira chikhoza kuwonongeka ngati njira ya -merlad driver ikugwiritsidwa ntchito pomwe code source imayitana chizindikiro chomwe chatanthauzidwa pogwiritsa ntchito -Wl, -defsym linker.
Kuyambitsa kolakwika (XCS-2679) Pali kusiyana pakati pa pomwe zoyambira za zinthu zina zapadziko lonse lapansi/zokhazikika zimayikidwa mu kukumbukira kwa data ndi komwe zosinthazo zidzafikiridwe panthawi yothamanga.
idayamba molakwika kukhala yopanda kanthu (XCS-2652) Nthawi zina pomwe chingwe chamutu chosinthidwa ponenedwa () chimakhala ndi nambala yomwe ikuwoneka ngati nambala yoyandama mumtundu wofotokozera ndipo pamakhala chilembo chosayembekezereka pambuyo pa chilembo cha e, ndiye kuti adilesi yopanda kanthu, ngati yaperekedwa, idzaloza kwa munthu pambuyo pake. e osati e mwini. Za example: adanena ("hooey", opanda kanthu); zidzapangitsa kuloza kopanda pa chilembo cha x.
Kuyimba koyipa kosalunjika (XCS-2628) Nthawi zina, kuyimba ntchito komwe kumapangidwa kudzera pa point point yosungidwa ngati gawo lachipangidwe kumatha kulephera.
strtof imabweretsa ziro zoyandama za hexadecimal (XCS-2626) Laibulale imagwira ntchito strtof () et al ndi scanf () et al, nthawi zonse imatembenuza nambala yoyandama ya hexadecimal yomwe siifotokoza
ziro. Za example: stator("Kadzidzi", & chopanda kanthu); adzabwezera mtengo 0, osati 1.
Mauthenga olakwika a alangizi a stack (XCS-2542, XCS-2541) Nthawi zina, chenjezo la alangizi okhudzana ndi kubwezeredwa kapena kusungika kosagwiritsidwa ntchito (mwina pogwiritsa ntchito alloca()) silimatulutsidwa.
Kulephera ndi khodi yosokoneza kawiri (XCS-2421) Pomwe kusokoneza kopitilira kumodzi kuli ndi thupi lomwelo, wophatikiza amatha kukhala ndi zotulutsa za ntchito imodzi yosokoneza kuyitana ina. Izi zidzapangitsa kuti ma regista onse otsekedwa asungidwe mopanda kufunikira, ndipo zosokoneza zidzayatsidwa ngakhale epilogue ya wothandizira wosokoneza panopa asanayambe, zomwe zingayambitse kulephera kwa code.
Const zinthu zomwe sizili mu memory ya pulogalamu (XCS-2408) Kwa ma avrxmega3 ndi ma avertins ma projekiti osadziwika bwino zinthu zimayikidwa mu kukumbukira kwa data, ngakhale chenjezo likuwonetsa kuti zayikidwa mu kukumbukira pulogalamu. Izi sizikhudza zida zomwe zilibe kukumbukira pulogalamu yojambulidwa mu malo okumbukira deta, komanso sizikhudza chinthu chilichonse chomwe chakhazikitsidwa.
Kutulutsa koyipa kokhala ndi njira yolakwika ya DFP (XCS-2376) Ngati wopangayo apemphedwa ndi njira yolakwika ya DFP ndi 'spec' file ilipo pa chipangizo chomwe chasankhidwa, wophatikiza sakunena zapaketi yapachipangizo yomwe ikusowa ndipo m'malo mwake amasankha 'spec' file, zomwe zitha kubweretsa kutulutsa kosavomerezeka. The 'spec' filemwina sizingakhale zatsopano ndi ma DFP omwe adagawidwa ndipo adapangidwa kuti agwiritsidwe ntchito poyesa makina amkati okha.
Kulumikizana kwa Memory sikunazindikirike (XCS-1966) Wopangayo sazindikira kukumbukira kukumbukira zinthu zomwe zidapangidwa kwathunthu ku adilesi (kudzera pa ()) ndi zinthu zina pogwiritsa ntchito gawo () chofotokozera komanso zomwe zimalumikizidwa ndi adilesi yomweyo.
Kulephera ndi ntchito za library ndi _meme (XCS-1763) Zotchedwa limbic float function ndi mkangano mu _memo adilesi malo akhoza kulephera. Zindikirani kuti machitidwe a laibulale amayitanidwa kuchokera kwa ena ogwira ntchito C, kotero, mwachitsanzoample, code yotsatirayi ikukhudzidwa: kubwerera regFloatVar > memxFloatVar;
Kukhazikitsa kwa limbic zochepa (AVRTC-731) Pazinthu za ATTiny4/5/9/10/20/40, kukhazikitsidwa kwa library ya C / Math mu limbic ndikochepa kapena kulibe.
Zolepheretsa kukumbukira pulogalamu (AVRTC-732) Zithunzi zokumbukira pulogalamu yopitilira 128 kb zimathandizidwa ndi zida; komabe, pali zochitika zodziwika za kuchotsa mimba kwa linker popanda kumasuka komanso popanda uthenga wolakwika wothandiza m'malo mopanga ma stubs ofunikira pamene njira -relax ikugwiritsidwa ntchito.
Tchulani malire a malo (AVRTC-733) Malo otchulidwa adiresi amathandizidwa ndi toolchain, malinga ndi zofooka zomwe zatchulidwa mu gawo lachilolezo cha ogwiritsira Ntchito Zoyenerera Zamtundu Wapadera.
Magawo a nthawi The ntchito za library zimatengera GMT ndipo sizigwirizana ndi madera a nthawi yako, motero nthawi yakumaloko () ibwereranso nthawi yomweyo monga gummite (), mwachitsanzo.ample.
THANDIZO KWA MAKASITO
file///Mapulogalamu/microehip/xc8/v 2 .40/docs/Ndiwerengereni_X C 8_ pa A VR. htm ndi
Zolemba / Zothandizira
![]() |
MICROCHIP MPLAB XC8 C Compiler Software [pdf] Buku la Mwini MPLAB XC8 C, MPLAB XC8 C Compiler Software, Compiler Software, Software |