MICROCHIP MPLAB XC8 C Compiler Software
RUGWARO RINO RINE RUZVO LWAKOKOSHA CHEMA NEMPLAB XC8 C COMPILER PAKUNANGWA MICROCHIP AVR DEVICE.
NDINOZVIVERENGA USATI WASHANDA IYI SOFTWARE. ONA MPLAB XC8 C COMPILER KUSUNGWA MAZHINJI EPIC DOCUMENT KANA UCHISHANDISA COMPILER YE8-BIT PIC DEVICES.
Overview
Nhanganyaya
Uku kuburitswa kweiyo Microchip MPLAB® XC8 C compiler ine akati wandei maficha, bug inogadzirisa, uye tsigiro yemudziyo mutsva.
Build Date
Iyo yepamutemo yekuvaka zuva reiyi compiler vhezheni ndeye 3 Chikunguru 2022.
Previous Version
Iyo yapfuura MPLAB XC8 C compiler version yaive 2.39, inoshanda yekuchengetedza muunganidzwa, yakavakwa musi wa27 Ndira 2022. Yakapfuura yakajairwa compiler yaive shanduro 2.36, yakavakwa musi wa27 Ndira 2022.
Functional Safety Manual
A Functional Safety Manual yeMPLAB XC compilers inowanikwa mune zvinyorwa pasuru paunotenga rezinesi rekuchengetedza rinoshanda.
Component Rezinesi uye Mavhezheni
Maturusi eMPLAB® XC8 C Compiler yeAVR MCUs maturusi anonyorwa uye anoparadzirwa pasi peGNU General Public License (GPL) zvinoreva kuti kodhi yayakabva inogoverwa pachena uye inowanikwa kune veruzhinji. Iyo kodhi kodhi yezvishandiso pasi peGNU GPL inogona kutorwa yakaparadzana kubva kuMicrochip's website. Unogona kuverenga iyo GNU GPL mu file zita rakawanikwa iyo subdirectory yekuisa yako dhairekitori. Hurukuro huru yemisimboti iri pasi peGPL inogona kuwanikwa pano. Tsigiro kodhi yakapihwa yemusoro files, linker scripts, uye runtime raibhurari ndeye proprietary code uye haina kuvharwa pasi peGPL.
Iyi compiler ndeyekuitwa kweGCC vhezheni 5.4.0, binutils vhezheni 2.26, uye inoshandisa avr-libc vhezheni 2.0.0.
System Zvinodiwa
Iyo MPLAB XC8 C compiler uye software yerezenisi yainoshandisa inowanika kune akasiyana masisitimu anoshanda, kusanganisira 64-bit shanduro dzinotevera: Professional editions eMicrosoft Windows 10; Ubuntu 18.04; uye macOS 10.15.5. Mabhinari eWindows akasainwa kodhi. Mabhinari eMac OShave akasainwa kodhi uye notarized.
Kana iwe uchimhanyisa network rezinesi sevha, makomputa chete ane masisitimu anoshanda anotsigirwa nevakongiri anogona kushandiswa kubata rezinesi server. Nezve xclm vhezheni 2.0, sevha yerezinesi retiweki inogona kuisirwa paMicrosoft Windows Server papuratifomu, asi sevha yerezinesi haidi kumhanya pane server vhezheni yeiyo inoshanda sisitimu.
Midziyo Inotsigirwa
Iyi compiler inotsigira ese 8-bit AVR MCU zvishandiso zvinozivikanwa panguva yekuburitswa. Ona (mune dhairekitori rekodhi rekodhi) yerondedzero yemidziyo yese inotsigirwa. Izvi files zvakare nyora zvigadziriso zvishoma zvechigadzirwa chimwe nechimwe.
Zvinyorwa uye Kukwidziridzwa kweRezinesi
Iyo MPLAB XC8 compiler inogona kuitwa seine rezinesi (PRO) kana isina rezinesi (Yemahara) chigadzirwa. Iwe unofanirwa kutenga kiyi yekushandisa kuti uwane rezenisi compiler yako. Rezinesi rinobvumira mwero wepamusoro wekugadzirisa zvichienzaniswa neChigadzirwa Chemahara. Iyo compiler isina rezenisi inogona kushanda zvachose isina rezinesi.
An MPLAB XC8 Functional Safety compiler inofanirwa kuitwa activated ine functional security rezinesi yakatengwa kubva kuMicrochip. Iyo compiler haishande isina rezinesi iri. Kana yangoitwa, iwe unogona kusarudza chero optimization level uye shandisa ese compiler maficha. Uku kuburitswa kweMPLAB XC Functional Safety Compiler inotsigira Network Server License.
Ona Kuisa uye Kupa Marezenisi MPLAB XC C Compilers (DS50002059) gwaro kuti uwane ruzivo rwemhando dzerezinesi uye kuisirwa komputa ine rezinesi.
Installation uye Activation
Onawo zvikamu zveMigration Issues uye Limitations kuti uwane ruzivo rwakakosha nezveazvino rezinesi maneja anosanganisirwa neiyi compiler.
Kana uchishandisa MPLAB IDE, ita shuwa yekuisa yazvino MPLAB X IDE vhezheni 5.0 kana gare gare usati waisa chishandiso ichi. Rega IDE usati waisa compiler. Mhanyai .exe (Windows), .run (Linux) kana app (macOS) compiler installer application, eg XC8-1.00.11403-windows.exe uye tevera mazano ari pahwindo.
The default installation directory inokurudzirwa. Kana iwe uri kushandisa Linux, iwe unofanirwa kuisa iyo compiler uchishandisa terminal uye kubva kumudzi account. Isa uchishandisa macOS account ine maneja ropafadzo.
Activation ikozvino inoitwa zvakasiyana kuisa. Ona gwaro Rezenisi Maneja weMPLAB® XC C Compilers (DS52059) kuti uwane rumwe ruzivo.
Kana ukasarudza kumhanyisa compiler pasi perezinesi rekuongorora, iwe zvino uchawana yambiro panguva yekuunganidza kana iwe uri mukati memazuva gumi nemana ekupera kwenguva yako yekuongorora. Yambiro imwechete inopihwa kana iwe uri mukati memazuva gumi nemana kubva pakupera kwekunyorera kwako kweHPA.
Iyo XC Network License Server ndeye yakasarudzika yekuisa uye haina kuisirwa mune imwechete-mushandisi compiler simisi.
Iyo XC License Manager ikozvino inotsigira kutenderera kwemarezinesi etiweki anoyangarara. Yakanangana nevashandisi venhare, chimiro ichi chinobvumira rezinesi rinoyangarara kuti riende kure netiweki kwenguva pfupi. Uchishandisa chimiro ichi, unogona kubvisa kubva kunetiweki uye uchiri kushandisa yako MPLAB XC compiler. Ona iyo doc dhairekitori yeXCLM isa kune zvimwe pane ichi chimiro. MPLAB X IDE inosanganisira hwindo reMarezenisi (Zvishandiso> Marezenisi) kuti utarise kutenderera.
Kugadzirisa Matambudziko Ekuisa
Kana iwe uchinetseka nekuisa iyo compiler pasi peese maWindows anoshanda masisitimu, edza anotevera mazano.
- Mhanya iyo yekuisa semutungamiri.
- Seta zvibvumirano zveisina application ku 'Full control'. (Tinya-kurudyi pa file, sarudza Properties, Chengetedzo tebhu, sarudza mushandisi, gadzirisa.)
- Seta mvumo yeiyo temp folda ku "Kudzora Kwakazara!
Kuti uone nzvimbo yeiyo temp folda, nyora % temp% muRun command (Windows logo kiyi + R). Izvi zvichavhura a file Explorer dialog inoratidza iro dhairekitori uye ichakubvumidza iwe kuona nzira yeiyo folda.
Compiler Documentation
Manongedzo emushandisi anogona kuvhurwa kubva kuHTML peji inovhura mubrowser yako kana uchidzvanya bhatani rekubatsira rebhuruu muMPLAB X IDE dashboard, sezvakaratidzwa pamufananidzo.
Kana iwe uri kuvakira 8-bit AVR tarisiro, iyo MPLAB® XC8 C Compiler Mushandisi's Guide yeAVR® MCU ine ruzivo pane izvo zvingasarudzika zvemuumbi uye maficha anoshanda pakuvaka uku.
Mutengi Support
Microchip inogamuchira mishumo yebug, mazano kana makomendi maererano neiyi compiler vhezheni. Ndokumbira utungamire chero bug mishumo kana maficha zvikumbiro kuburikidza neSupport System.
Zvinyorwa Zvidzoreso
Kune e-on-line uye-kusvika-date shanduro dzeMPLAB XC8 zvinyorwa, ndapota shanya Microchip's Online Technical Documentation. website.
Zvinyorwa zvitsva kana zvakagadziridzwa zveAVR mukuburitswa uku:
- MUSL copyright chiziviso
- Kuisa uye Rezinesi MPLAB XC C Compilers (kudzokorora M)
- MPLAB XC8 Mushandisi!
- MPLAB XC8 C Compiler User!s Guide yeAVR MCU (kudzokorora F)
- Microchip Unified Standard Raibhurari Reference Guide (dzokororo B)
Iyo Microchip Unified Standard Library Reference Guide inotsanangura maitiro uye maitiro kune mabasa anotsanangurwa neMicrochip Unified Standard Library, pamwe chete nechinangwa chekushandiswa kwemhando dzeraibhurari uye macros. Rumwe ruzivo urwu rwaimbova muMPLAB® XC8 C Compiler User!s Guide yeAVR® MCU. Ruzivo rweraibhurari yakanangana nemudziyo ruchirimo mune ino dhairekitori.
Kana uchangotanga ne8-bit zvishandiso uye MPLAB XC8 C Compiler, iyo MPLAB® XC8 User!s Guide for Embedded Engineers - AVR® MCUs (DS50003108) ine ruzivo rwekugadzirisa mapurojekiti muMPLAB X IDE uye kunyora kodhi. kune yako yekutanga MPLAB XC8 C chirongwa. Iri gwara rave kugoverwa nemuunganidzi.
Iyo Hamate User's Guide yakaverengerwa mugwaro rezvinyorwa mukuburitswa uku. Iri gwara rakagadzirirwa avo vanomhanyisa Hamate seyakamira-yega application.
Chii Chitsva
Izvi zvinotevera zvitsva zveAVR-target maficha iyo compiler ikozvino inotsigira. Nhamba yevhezheni iri mumisoro midiki inoratidza yekutanga vhezheni yekutsigira maficha anotevera.
Shanduro 2.40
Tsigiro yemudziyo mutsva Rutsigiro rwave kuwanikwa kune anotevera zvikamu zveAVR: AT90PWM3, AVR16DD14, AVR16DD20, AVR16DD28, AVR16DD32, AVR32DD14, AVR32DD20, AVR32DD28, AVR32DD32, AVR64EA28, AVR64EA32, AVR64EA48, AVRXNUMXEAXNUMX, AVRXNUMXEAXNUMX, AVRXNUMXEAXNUMX
Kuvandudzwa kwemaitiro abstraction Iyo procedural abstraction (PA) optimization chishandiso yakagadziridzwa kuitira kuti kodhi ine basa rekufona rairo ( call recall ) inogona kutsanangurwa. Izvi zvinongoitika chete kana stack ikasashandiswa kupfuudza nharo kana kuwana mutengo wekudzoka kubva pabasa. Iyo stack inoshandiswa pakudaidza basa rine mutsara wenharo runyoro kana pakudaidza basa rinotora nharo dzakawanda kupfuura kune marejista akarongedzerwa chinangwa ichi. Ichi chiitiko chinogona kuvharwa uchishandisa iyo monk-pa-outline-calls sarudzo, kana procedural abstraction inogona kudzimwa zvachose kune chinhu. file kana kushanda nekushandisa -monk-pa-on-file uye -mo.-pa-on-function zvichiteerana, kana nekushandisa iyo nipa hunhu ( nipa specifier) zvakasarudzwa zvine mabasa
Code coverage macro Iyo compiler ikozvino inotsanangura iyo macro __CODECOV kana iyo inoshanda mcodecov sarudzo yataurwa.
Memory reservation sarudzo Iyo xc8-cc mutyairi anozogamuchira iyo -mreserve=space@start: yekupedzisira sarudzo paunenge uchivaka yeAVR zvinangwa. Iyi sarudzo inochengetedza iyo yakataurwa ndangariro renji mune iyo data kana chirongwa chekurangarira nzvimbo, kudzivirira chinongedzo kubva pakuzadza kodhi kana zvinhu munzvimbo ino.
Smarter smart IO Magadzirirwo akati wandei akaitwa kumabasa eSmart IO, anosanganisira general tweaks kune printf musimboti kodhi, kubata iyo %n shanduko inofananidzira seyakasiyana yakazvimiririra, kubatanidza muvararg pop routines pazvinodiwa, uchishandisa mapfupi data mhando pazvinogoneka kubata IO basa nharo. , uye kuisa kodhi yakajairika muhupamhi hwemunda uye nemabatiro chaiwo. Izvi zvinogona kukonzera yakakosha kodhi uye kuchengetedza data, pamwe nekuwedzera kukurumidza kwekuita kweIO.
Shanduro 2.39 (Functional Safety Release)
Network Server License Uku kuburitswa kweMPLAB XC8 Functional Safety Compiler inotsigira Network Server License.
Shanduro 2.36
Hapana.
Shanduro 2.35
Tsigiro yemudziyo mutsva Tsigiro iripo kune anotevera zvikamu zveAVR: ATTINY3224, ATTINY3226, ATTINY3227, AVR64DD14, AVR64DD20, AVR64DD28, uye AVR64DD32.
Kuchinja kwechirevo kwakavandudzwa Iyo nyowani -mcall-isr-prologues sarudzo inoshandura maitiro ekukanganisa mabasa kuchengetedza marejista pakupinda uye kuti iwo marejista anodzoserwa sei kana iyo yekuvhiringidza tsika yapera. Inoshanda nenzira yakafanana kune -mcall-prologues sarudzo, asi inongokanganisa kukanganisa mabasa (ISRs).
Kutowedzera kunatsiridza mamiriro ekuchinja Iyo nyowani -mgas-isr-prologues sarudzo inodzora mamiriro itch kodhi inogadzirwa kune diki kukanganisa sevhisi maitiro. Kana yagoneswa, chimiro ichi chichaita kuti assembler atarise ISR yekushandiswa kwerejista uye chete chengetedza aya marejista akashandiswa kana zvichidikanwa.
Configurable flash mepu Mimwe michina iri muAVR DA uye AVR DB mhuri ine SFR (eg FLMAP) inotsanangura kuti ndeipi chikamu che32k chechirongwa chendangariro chichaiswa mundangariro yedata. Iyo nyowani - mconst-data-in-config-mapped-proem sarudzo inogona kushandiswa kuve neanobatanidza nzvimbo yese data inokodzera mune imwe 32k chikamu uye oto tanga iro rakakodzera SFR rejista kuti ive nechokwadi chekuti data iri rakaiswa mepu munzvimbo yekurangarira data. , uko kuchasvikwa nenzira inobudirira.
Microchip Unified Standard Libraries Vese MPLAB XC compilers vachagovera Microchip Unified Standard Library, iyo yave kuwanikwa nekuburitswa uku kweMPLAB XC8. Iyo MPLAB® XC8 C Compiler User's Guide/kana AVR® MCU haichasanganisi zvinyorwa zveaya mabasa akajairwa. Ruzivo urwu rwave kuwanikwa muMicrochip Unified Standard Library Reference Guide. Ziva kuti kumwe kushanda kwakambotsanangurwa neavr-libc hakuchavepo. (Ona Librar):'. functionalityY…)
Smart IO Sechikamu chemaraibhurari matsva akabatana, mabasa eIO mukudhinda uye kutarisisa mhuri zvino agadzirwa pane imwe neimwe kuvaka, zvichienderana nemashandisirwo anoitwa mabasa aya muchirongwa. Izvi zvinogona kuderedza zvakanyanya zviwanikwa zvinoshandiswa nechirongwa.
Smart IO rubatsiro sarudzo Paunenge uchiongorora mafoni kune akangwara IO mabasa (akadai seprintf () kana scanf () ), mugadziri haagone kugara aona kubva pafomati tambo kana kufungidzira kubva pamapokana ayo eshanduko anotsanangurwa anodiwa nerunhare. Pakutanga, iyo compiler yaigara isingaiti fungidziro uye kuona kuti inoshanda zvizere IO mabasa akabatanidzwa mumufananidzo wekupedzisira wechirongwa. Imwe nyowani - msmart-io-format=fmt sarudzo yawedzerwa kuitira kuti mugadziri agone kuziviswa nemushandisi weanoshandura mashandisirwo anoshandiswa neakangwara IO mabasa ane mashandisiro asina kujeka, kudzivirira yakanyanyisa kureba IO routines kubva pakubatanidzwa. (Ona smart-io-format Sarudzo kuti uwane rumwe ruzivo.)
Kuisa zvikamu zvetsika Kare, iyo -Wl, -section-start sarudzo yakangoisa chikamu chakatsanangurwa pakero yakakumbirwa apo linker script yakatsanangura chikamu chinobuda chine zita rimwe chete. Kana izvo zvisiri izvo, chikamu chakaiswa pakero yakasarudzwa neanobatanidza uye sarudzo yacho yakange isina hanya. Ikozvino sarudzo ichakudzwa kune ese etsika zvikamu, kunyangwe iyo linker script isingatsanangure chikamu. Cherechedza, zvisinei, kuti kune zvikamu zvakajairika, zvakadai. text, . bss kana. dhata, iyo yakanyanya kukwana allocator ichave iine kutonga kwakazara pamusoro pekuiswa kwavo, uye sarudzo haizove nemhedzisiro. Shandisa -Wl, -Tsection=add sarudzo, sezvinotsanangurwa mugwaro remushandisi.
Shanduro 2.32
Stack Guidance Inowanikwa nePRO compiler rezinesi, iyo compiler's stack yekutungamira ficha inogona kushandiswa kufungidzira hudzamu hwepamusoro hwechero stack inoshandiswa nechirongwa. Iyo inovaka uye inoongorora iyo yekufona graph yechirongwa, inosarudza stack kushandiswa kwebasa rega rega, uye inoburitsa mushumo, kubva uko kudzika kwemastacks anoshandiswa nechirongwa kunogona kuverengerwa. Iyi ficha inogoneswa kuburikidza ne -mchp-stack-usage command-line sarudzo. Pfupiso yekushandisa stack inodhindwa mushure mekuita. Ruzivo rwakadzama runowanikwa mumepu file, iyo inogona kukumbirwa nenzira yakajairika.
New mudziyo rutsigiro Support inowanikwa kune anotevera zvikamu zveAVR: ATTINY 427, ATTINY 424, ATTINY 426, ATTINY827, ATTINY824, ATTINY826, AVR32DB32, AVR64DB48, AVR64DB64, AVR64DB28, AVR32DB28, AVR64DB32, AVR32DB48, AVRXNUMXDB, AVRXNUMXDBXNUMX
Retracted mudziyo tsigiro Support haichawanikwi kune anotevera zvikamu zveAVR: AVR16DA28, AVR16DA32 uye, AVR16DA48.
Shanduro 2.31
Hapana.
Shanduro 2.30
Sarudzo nyowani yekudzivirira kutanga data Iyo nyowani -mno-data-ini t mutyairi sarudzo inodzivirira kutanga kwedata uye kucheneswa kwezvikamu zvebss. Inoshanda nekudzvinyirira kubuda kweiyo do_ copy_ data uye d o_ clear_ bss zviratidzo mugungano. files, iyo inozodzivirira kubatanidzwa kweiyo miitiro neiyo linker.
Enhanced optimizations akati wandei ekugadzirisa magadzirirwo akaitwa, kusanganisira kubviswa kwemirayiridzo yekudzoka isina basa, kubviswa kweimwe kusvetuka kunotevera skip-kana-bit-iri rairo, uye yakagadziridzwa maitiro abstraction uye kugona kudzokorora maitiro aya.
Zvimwe zvingasarudzwa zvave kuwanikwa kudzora zvimwe zveizvi optimizations, kunyanya -f chikamu anchors, iyo inobvumira kupinda kwezvinhu zvakagadzikana kuti zviitwe maererano nechiratidzo chimwe; -mpai derations = n, iyo inobvumira nhamba yemaitiro abstraction iterations kuti ichinje kubva kune yakasarudzika ye2; uye, -mpa- call cost- shortcall, iyo inoita aggressive procedural abstraction, netariro yokuti linker inogona kuzorora kwenguva refu mafoni. Iyi yekupedzisira sarudzo inogona kuwedzera kodhi saizi kana zviri pasi fungidziro zvikasaitika.
Tsigiro yemudziyo mutsva Tsigiro iripo kune anotevera AVR zvikamu: AVR16DA28, AVR16DA32,
AVR16DA48, AVR32DA28, AVR32DA32, AVR32DA48, AVR64DA28, AVR64DA32, AVR64DA48, AVR64DA64, AVR128DB28, AVR128DB32, AVR128DB48, uye A128DA64DB, uye AVRXNUMXDBXNUMXDB.
Yakadzoswa mudziyo Tsigiro Tsigiro haichawanikwi kune anotevera zvikamu zveAVR: ATA5272, ATA5790, ATA5790N, ATA5791, ATA5795, ATA6285, ATA6286, ATA6612C, ATA6613C, ATA6614Q, ATA6616C, ATA6617C, uye 664251C, uye XNUMX
Shanduro 2.29 (Functional Safety Release)
Header file for compiler yakavakirwa-mukati Kuti ive nechokwadi chekuti muunganidzi anogona kuenderana nemutauro wakadai seMISRA, iyo musoro file, iyo inosanganisirwa ne , yakagadziridzwa. Uyu musoro une prototypes emabasa ese akavakirwa-mukati, akadai se _buil tin _avrnop () uye _buil tin_ avr delay_ cycles () . Zvimwe zvakavakwa zvinogona kunge zvisingaenderane neMISRA; izvi zvinogona kusiiwa nekuwedzera define _Xe_ STRICT_ MISRA kune compiler command line. Izvo zvakavakwa-mukati uye zviziviso zvavo zvakagadziridzwa kuti zvishandise zvakagadziriswa-hupamhi mhando.
Shanduro 2.20
Tsigiro yemudziyo mutsva Tsigiro iripo kune anotevera AVR zvikamu: ATTINY1624, ATTINY1626, uye ATTINY1627.
Better best fit allocation Iyo yakanakisa fit allocator (BFA) mune iyo compiler yakagadziridzwa kuitira kuti zvikamu zvigovane mukurongeka zvichibvumira optimization iri nani. Iyo BFA ikozvino inotsigira ane mazita ekero nzvimbo uye inobata zvirinani kutanga kwedata.
Kuvandudzwa kwemaitiro abstraction Iyo procedural abstraction optimizations ikozvino yaitwa pane mamwe macode sequences. Mamiriro apfuura apo optimization iyi ingangove yakawedzera kodhi saizi yakagadziriswa nekuita iyo optimization kodhi kuziva nezve yekubatanidza nzira yekuunganidza marara.
Kusavapo kweAVR Assembler Iyo AVR Assembler haichasanganisirwe nekugovera uku.
Shanduro 2.19 (Functional Safety Release)
Hapana.
Shanduro 2.10
Code Coverage Kuburitswa uku kunosanganisira kodhi yekuvhara ficha iyo inofambisa kuongororwa kwekuti iyo purojekiti sosi kodhi yakaitwa. Shandisa sarudzo -mcodecov=ram kuigonesa. Mushure mekuita kwechirongwa pahardware yako, ruzivo rwekuvhara kodhi ruchaunganidzwa mumudziyo, uye izvi zvinogona kuendeswa kune uye kuratidzwa neMPLAB X IDE kuburikidza nekodhi yekuvhara plugin. Ona iyo IDE zvinyorwa zveruzivo pane iyi plugin inogona kuwanikwa. Iyo #pragma mcodecov inogona kushandiswa kusabvisa anotevera mabasa kubva pakuongororwa kwekuvhara. Zvakanaka iyo pragma inofanirwa kuwedzerwa pakutanga kweiyo file kusabvisa iyo yose file kubva pakuongorora kwekuvhara. Zvikasadaro, hunhu ((mcodecov)) hunogona kushandiswa kusasanganisa rimwe basa kubva mukuwongorora kwekuvhara.
Tsanangudzo yemudziyo files Chishandiso chitsva file inonzi avr chipinfo. html iri mudhairekitori rezvinyorwa zvekugovera komputa. Izvi file inonyora zvese zvishandiso zvinotsigirwa necompiler. Dzvanya pazita remudziyo, uye ichavhura peji inoratidza ese anotenderwa dhizaini yekumisikidza/kukosha pairi yechishandiso ichocho, ine ex.amples.
Procedural abstraction Procedural abstraction optimizations, iyo inotsiva yakajairwa mabhuraki ekodhi kodhi ine mafoni kune yakabviswa kopi yeiyo block, yakawedzerwa kune iyo compiler. Izvi zvinoitwa neyakasiyana application, iyo inongoshevedzwa neiyo compiler kana uchisarudza nhanho 2, 3 kana optimizations. Aya magadzirirwo anoderedza saizi yekodhi, asi anogona kuderedza kukurumidza kwekuita uye kodhi debuggability.
Procedural abstraction inogona kuvharwa pamazinga epamusoro ekugadzirisa uchishandisa sarudzo -mno-pa, kana inogona kugoneswa pazasi optimization mazinga (zvichienderana nerezinesi rako) uchishandisa -mpa. Inogona kuremara kune chinhu file kushandisa -mno-pa-pa-file=filezita, kana kuremara basa nekushandisa -mno-pa pa function= function.
Mukati meiyo kodhi yako kodhi, procedural abstraction inogona kuvharwa kuita basa nekushandisa _attribute_ ( (nopa)) netsananguro yebasa, kana nekushandisa _nopa, iyo inowedzera kune hunhu ( (nopa, noinline)) uye nokudaro inodzivirira basa inlining kubva kuitika. uye pave nekubviswa kweiyo inlined kodhi.
Kiya bit rutsigiro mupragma Iyo #pragma config ikozvino inogona kushandiswa kutsanangura iyo AVR yekuvhara mabheti pamwe nemamwe mabhiti ekumisikidza. Tarisa ruzivo rweavr chip. html file (yataurwa pamusoro) yekuseta/kukosha mapairi ekushandisa neiyi pragma.
Tsigiro yemudziyo mutsva Tsigiro iripo kune zvinotevera zvikamu: AVR28DA128, AVR64DA128, AVR32DA128, uye AVR48DA128.
Shanduro 2.05
Mamwe mabhiti emari yako Iyo macOS vhezheni yeiyi compiler uye rezinesi maneja yave 64-bit application. Izvi zvinozoita kuti muumbi aise uye amhanye pasina yambiro pane dzichangoburwa shanduro dzemacOS.
Const zvinhu mundangariro yechirongwa Iyo compiler ikozvino inogona kuisa zvinhu-zvinokodzera muchirongwa Flash memory, pane kuve neizvi zviri mu RAM. Iyo compiler yakagadziridzwa kuitira kuti const-inokodzera yepasi rose data ichengetwe muchirongwa cheflash memory uye iyi data inogona kuwanikwa zvakananga uye zvisina kunanga uchishandisa yakakodzera chirongwa-yendangariro mirairo. Ichi chitsva chinogoneswa nekusarudzika asi chinogona kuvharwa uchishandisa -mno-const-data-in-progmem sarudzo. Kune avrxmega3 uye avrtiny architecture, ichi chimiro hachidiwe uye chinogara chakavharwa, sezvo chirongwa chendangariro chakaiswa mepu munzvimbo yekero yedata yemidziyo iyi.
Standard yemahara Zvisina rezenisi (Mahara) shanduro dzemusanganisi uyu zvino dzinobvumira optimizations kusvika pamwe nekubatanidza level 2. Izvi zvinobvumira zvakafanana, kunyange zvisina kufanana, kubuda kune izvo zvaigoneka kare uchishandisa Standard rezinesi.
Kugamuchirwa AVRASM2 Iyo AVRASM2 assembler ye8-bit zvishandiso ikozvino yaverengerwa muXC8 compiler installer. Iyi assembler haishandiswe neiyo XC8 compiler, asi inowanikwa kune mapurojekiti akavakirwa pane akanyorwa nemaoko sosi.
Tsigiro yemudziyo mutsva Tsigiro inowanikwa kune anotevera zvikamu: ATMEGA1608, ATMEGA1609, ATMEGA808, uye ATMEGA809.
Shanduro 2.00
Mutyairi wepamusoro-soro Mutyairi mutsva, anonzi xc8-cc, zvino anogara pamusoro pekare avr-gcc mutyairi uye xc8 mutyairi, uye anogona kudaidza akakodzera compiler zvichibva pakusarudzwa kwechinhu chinonangwa. Mutyairi uyu anogamuchira GCC-maitiro esarudzo, ayo anoshandurirwa kana kupfuudzwa kune iyo compiler iri kuurayiwa. Mutyairi uyu anobvumira seti yakafanana yesarudzo ine semantics yakafanana kuti ishandiswe nechero AVR kana PIC tarisiro uye ndiyo nzira inokurudzirwa yekukoka muunganidzi. Kana zvichidikanwa, mutyairi weavr-gcc wekare anogona kudanwa zvakananga achishandisa maitiro echinyakare aakagashira mushanduro dzekutanga dzemugadziri.
Common C Interface Iyi compiler inogona ikozvino kuenderana neMPLAB Common C Interface, ichibvumira kodhi kodhi kuti ifambiswe zviri nyore kune ese MPLAB XC compilers. Iyo -mext=cci sarudzo inokumbira chimiro ichi, ichigonesa imwe syntax yekuwedzera kwemitauro yakawanda.
Mutyairi mutsva weraibhurari Mutyairi mutsva weraibhurari akaiswa pamusoro pekare PIC raibhurari yemabhuku uye AVR avr-ar raibhurari. Mutyairi uyu anogamuchira GCC-archiver-style sarudzo, iyo inoshandurirwa kana kupfuudzwa kune muraibhurari ari kuurayiwa. Mutyairi mutsva anobvumira seti yakafanana yesarudzo ine semantics yakafanana kuti ishandiswe kugadzira kana kushandura chero PIC kana AVR raibhurari. file uye ndiyo nzira inokurudzirwa yekudaidza muraibhurari. Kana zvichidikanwa kumapurojekiti enhaka, muchengeti wemuraibhurari wekare anogona kudanwa zvakananga achishandisa sarudzo dzechinyakare dzaaigamuchira mushanduro dzekare dzekuunganidza.
Nyaya dzekutama
Izvi zvinotevera maficha ari kubatwa zvakasiyana nemuumbi. Shanduko idzi dzinogona kuda kugadziridzwa kune yako sosi kodhi kana porting kodhi kune iyi compiler vhezheni. Nhamba yeshanduro iri mumisoro miduku inoratidza vhezheni yekutanga kutsigira shanduko dzinotevera.
Shanduro 2.40
Hapana.
Shanduro 2.39 (Functional Safety Release)
Hapana.
Shanduro 2.36
Hapana.
Shanduro 2.35
Kubata kwetambo-kumabhesi (XCS-2420) Kuti ive nechokwadi chekuenderana nemamwe ma XC compilers, iyo XC8 tambo-kuenda kunoshanda, senge strtol () zvichingodaro, haichayedza kushandura tambo yekupinda kana hwaro hwataurwa hwakakura kupfuura makumi matatu nenhanhatu uye wozoisa errno kuEINVAL. Iyo C chiyero haitsanangure maitiro emabasa kana kukosha kwehwaro uku kwapfuura.
Zvisizvo zvekumhanyisa optimizations Procedural abstraction optimizations yanga ichigoneswa pakusarudza level 3 optimizations (-03). Aya ma optimizations anoderedza saizi yekodhi nekudhura kwekumhanyisa kodhi, saka haifanirwe kunge yakaitwa. Mapurojekiti anoshandisa iyi optimization level anogona kuona misiyano muhukuru hwekodhi uye kumhanya kwekuita kana ichivakwa nekuburitswa uku.
Raibhurari kushanda Iyo kodhi yeakawanda eakajairwa C raibhurari mabasa ikozvino anobva kuMicrochip's Unified Standard Library, inogona kuratidza maitiro akasiyana mune mamwe mamiriro zvichienzaniswa neakapihwa neyaimbova avr-libc raibhurari. For exampuye, hazvichadiwi kubatanidza muraibhurari yelprintf_flt (-print _flt sarudzo) kubatidza yakafomatirwa IO rutsigiro rwezvinotapukira-mafomati. Iyo yakangwara IO maficha eiyo Microchip Unified Standard Library inoita kuti iyi sarudzo ive shoma. Pamusoro pezvo, kushandiswa kwe _p kwakamisikidzwa routines kwetambo uye ndangariro mabasa (eg strcpy_P () nezvimwewo .. Iyo yakajairwa C routines (eg strcpy ()) ichashanda nemazvo nedata rakadaro kana const-data-in-program-memory ficha ikagoneswa.
Shanduro 2.32
Hapana.
Shanduro 2.31
Hapana.
Shanduro 2.30
Hapana.
Shanduro 2.29 (Functional Safety Release)
Hapana.
Shanduro 2.20
Yakachinjwa DFP chimiro Iyo compiler ikozvino inotora imwe dhizaini inoshandiswa neDFPs (Chishandiso Mhuri Packs). Izvi zvinoreva kuti DFP yakura inogona kusashanda nekuburitswa uku, uye vagadziri vevakuru havazokwanisa kushandisa maDFP achangoburwa.
Shanduro 2.19 (Functional Safety Release)
Hapana.
Shanduro 2.10
Hapana
Shanduro 2.05
Const zvinhu muchirongwa chendangariro Ziva kuti izvo by default, const-vakakodzera zvinhu zvichaiswa uye kuwanikwa muchirongwa chendangariro (sezvinotsanangurwa pano). Izvi zvinokanganisa saizi uye kumhanya kwekuita kweprojekiti yako, asi inofanira kuderedza kushandiswa kwe RAM. Iyi ficha inogona kuvharwa, kana zvichidikanwa, uchishandisa iyo -mnoconst- da ta-in-progmem sarudzo.
Shanduro 2.00
Configuration fuses Mafusi ekugadzirisa mudziyo zvino anogona kurongwa achishandisa config pragma inoteverwa nekuseta-value pairs kutsanangura mamiriro efuse, semuenzaniso.
#pragma config WDT0N = SET
#pragma config B0DLEVEL = B0DLEVEL_4V3
Absolute zvinhu uye mabasa Zvinhu uye mabasa zvino zvinogona kuiswa kune chaiyo kero mundangariro uchishandisa CCI _at (kero) chirevo, chekare.ample: #include int foobar pa(Ox800100); char at(Ox250) get ID(int offset) { ... } Nharo kune ino tsanangura inofanira kuva yenguva dzose inomiririra kero pachaiswa bhaiti yekutanga kana rairo. Makero e RAM anoratidzwa nekushandisa offset ye0x800000. Ita kuti CCI ishandise chinhu ichi.
New interrupt function syntax Iyo compiler ikozvino inogashira iyo CCI yekuvhiringidza (num) specifier kuratidza kuti C mabasa ari kukanganisa mabati. Mutauriri anotora nhamba yekukanganisa, semuenzanisoample: #include void interrupt(SPI STC_ vect _num) spi Isr(isina) { … }
Fixed Issues
Izvi zvinotevera zvigadziriso zvakaitwa kune compiler. Izvi zvinogona kugadzirisa tsikidzi mukodhi yakagadzirwa kana kushandura mashandiro emugadziri kune izvo zvakarongwa kana kutsanangurwa negwara remushandisi. Nhamba yevhezheni iri mumisoro midiki inoratidza yekutanga vhezheni ine zvigadziriso zvenyaya dzinotevera. Iwo mabracket label(s) ari mumusoro ndiwo ziviso yenyaya mudura rekutsvaga. Izvi zvinogona kubatsira kana iwe uchida kubata rutsigiro.
Ziva kuti zvimwe zvinhu zvine chekuita nemudziyo zvinogadziriswa mumudziyo weMhuri Pack (DFP) ine chekuita nemudziyo. Ona iyo MPLAB Pack Manager kuti uwane ruzivo nezve shanduko dzakaitwa kuDFPs uye kudhawunirodha mapakeji azvino.
Shanduro 2.40
Kunyanya kusununguka (XCS-2876) Paunenge uchishandisa iyo -mrelax sarudzo, iyo compiler yanga isiri kugovera zvimwe zvikamu pamwe chete, zvichikonzera kushoma kwakaringana kodhi saizi. Izvi zvinogona kunge zvakaitika nekodhi yakashandisa maraibhurari matsva eMUSL kana nezviratidzo zvisina simba.
Chimiro chemepu chisina kuvharwa sezvakataurwa muyambiro (XCS-2875) Iyo mutengo-data-in-config mappedprogmem chimiro chinovimba nemutengo-data-mu-proem chimiro chiri kugoneswa. Kana iyo mutengo-data-ipconfig- mapped-proem ficha yakagoneswa zvakajeka uchishandisa sarudzo uye mutengo-data-inprogmem chimiro chakadzimwa, danho rekubatanidza rakatadza, kunyangwe meseji yambiro ichitaura kuti cons data- in-config-mapped- proem chimiro chakadzimwa otomatiki, icho chaive chisiri chechokwadi. Iyo const-data-in-config-mapped-proem chimiro chave kuremara zvizere mumamiriro ezvinhu aya.
DFP inoshandura kuti uwane NVMCTRL (XCS-2848) Iyo yekumhanyisa kodhi yekutanga yakashandiswa neAVR64EA zvishandiso haina kufunga kuti iyo NVMCTRL rejista yaive pasi peConfiguration Change Dziviriro (CCP) uye haina kukwanisa kuseta iyo IO SFR kune peji rinoshandiswa neconst-data-in configmapped- proem compiler. feature. Shanduko dzakaitwa muAVR-Ex_DFP vhezheni 2.2.55 dzichabvumira iyo yekumhanyisa kodhi kodhi kunyora nemazvo kurejista iyi.
DFP inochinja kudzivirira flash mepu (XCS-2847) Kushanda-kutenderera kune dambudziko neiyo flash mepu mudziyo wekushandisa yakataurwa muAVR128DA28/32/48/64 Silicon Errata (DS80000882) yaitwa. The const-data-in-config-mapped-proem compiler feature haizoshandiswi nekusingaperi pamidziyo yakakanganiswa, uye shanduko iyi ichaonekwa mu AVR-Ex_DFP version 2.2.160.
Vaka kukanganisa ne sinhf kana coshf (XCS-2834) Kuedza kushandisa sinhf () kana coshf () mabasa eraibhurari kwakakonzera kukanganisa kwekubatanidza, kutsanangura chirevo chisina kutsanangurwa. Basa risipo rakanongedzwa ikozvino raverengerwa mukugovera komunganidzi.
Vaka zvikanganiso ne nopa (XCS-2833) Kushandisa iyo nopa hunhu ine basa rine zita rayo rekuunganidza rakatsanangurwa uchishandisa se () kwakonzeresa mameseji ekukanganisa kubva kumuunganidzi. Musanganiswa uyu haugoneki.
Variadic basa kutadza neanonongedza nharo (XCS-2755, XCS-2731) Mafunctions ane nhamba yakasiyana yenharo anotarisira 24-bit (_memo type) anongedza kuti apfuure mune inosiyana-siyana nharo runyoro kana mutengo-data-in-proem ficha yagoneswa. Nharo dzaive dzinonongedzera kundangariro dzedata dzaipfuudzwa se16-bit zvinhu, zvichikonzera kutadza kwekodhi padzakazoverengwa. Kana iyo cons data- in-proem ficha ikagoneswa, ese 16-bit anonongedza nharo dzave kushandurwa kuita 24-bit anonongedzera. strtoxxx raibhurari mabasa achitadza (XCS-2620) Kana const-data-in-proem ficha yakagoneswa, iyo yekupinda parameter mune strtoxxx raibhurari mabasa haina kuvandudzwa nemazvo kune sosi tambo nharo kwete mundangariro yechirongwa.
Yambiro yezvisina basa (XCS-2612) Iyo compiler zvino ichaburitsa chikanganiso kana mutengo-mu-proem ficha ikagoneswa uye kero yetambo chaiyo yakakandwa zvakajeka kune data kero nzvimbo (kudonhedza iyo const qualifier), kune ex.ample, (uint8 t *) "Mhoro Nyika!". Yambiro inyaya kana kero ingave isiri iyo kana const data pointer yakakandwa zvakajeka kunzvimbo yekero yedata.
Kuiswa kweuninitialized const zvinhu (XCS-2408) Uninitialized const uye const v olatile zvinhu zvanga zvisiri kuiswa mundangariro yepurogiramu pamidziyo inoronga zvese kana chikamu chendangariro chechirongwa chavo munzvimbo yekero yedata. Pamidziyo iyi, zvinhu zvakadaro zvave kuiswa mundangariro yepurogiramu, zvichiita kuti kushanda kwavo kuenderane nemimwe michina.
Shanduro 2.39 (Functional Safety Release)
Hapana.
Shanduro 2.36
Kukanganisa pakunonoka (XCS-2774) Shanduko diki mune yekusarudzika Yemahara modhi optimizations yakadzivirira kugara ichipeta yea operand kutaura kune kunonoka kuvakwa-mukati mabasa, zvichiita kuti vabatwe sevasiri vekubata uye kukonzeresa kukanganisa: _buil tin avr delay_ cycles inotarisira ac ompile. time integer constant.
Shanduro 2.35
Contiguous allocation uchishandisa _at (XCS-2653) Contiguous kugoverwa kwezvizhinji nzvimbo muchikamu chine zita rimwechete uye kushandisa pa () hakuna kushanda nemazvo. For example: constchararrl [] at tri butte ((sect on(“.misses”))) pa (Ox50 0 ) = {Oxo , Ox CD} ; cost char arr2[ ] at tri butte ((chikamu(“.my s eke”))) = {Nzombe, Mombe FE }; aifanira kunge akaisa arr2 pakarepo mushure mearil.
Kutsanangura kero yekutanga chikamu (XCS-2650) Iyo -Wal, -section-start sarudzo yanga ichitadza chinyararire kuisa zvikamu pakero yekutanga yakasarudzwa. Iyi nyaya yakagadziriswa kune chero yakasarudzika-yakadanwa zvikamu; zvisinei, hazvishande kune chero zvikamu zvakajairika, senge . chinyorwa kana . bss, iyo inofanirwa kuiswa uchishandisa -Wl, -T sarudzo.
Linker inoputsika kana uchizorora (XCS-2647) Kana iyo -relax optimization yakagoneswa uye pakanga paine kodhi kana data zvikamu zvisina kukwana mundangariro iripo, chinongedzo chakadonha. Zvino, mumamiriro ezvinhu akadaro, mameseji ekukanganisa anoburitswa panzvimbo.
Yakashata EEPROM kupinda (XCS-2629) Iyo leproma _read_ block routine haina kushanda nemazvo paMega madivayiri apo iyo -monist-data-in-proem sarudzo yakagoneswa (inova iyo mamiriro ekutanga), zvichikonzera kuti EEPROM ndangariro irege kuverengwa nemazvo.
Kugoverwa kwendangariro kusiriko (XCS-2593, XCS-2651) Kana iyo -Text kana -Tata linker sarudzo (yeexampiyo yakapfuura nekushandisa -Wl mutyairi sarudzo) inotsanangurwa, iyo inoenderana mameseji / data dunhu mabviro akagadziridzwa; zvisinei, kero yekupedzisira haina kugadziridzwa zvinoenderana, izvo zvingadai zvakaita kuti dunhu ripfuure chinhanho chendangariro chemudziyo.
Haisiyo ATtiny yekukanganisa kodhi (XCS-2465) Pakuvakwa kwemidziyo yeTatin uye optimizations yakadzimwa (-00), kukanganisa mabasa kunogona kunge kwakakonzera operand kunze kweiyo assembler mameseji.
Sarudzo dzisiri kupfuudzwa (XCS-2452) Paunenge uchishandisa iyo -Wl sarudzo ine akawanda, comma-yakapatsanurwa linker sarudzo, hadzisi dzese dzekubatanidza sarudzo dzanga dzichipfuudzwa kune chinongedzo.
Kukanganisa kuverenga zvisina kunanga chirongwa chendangariro (XCS-2450) Mune zvimwe zviitiko, compiler yakagadzira kukanganisa kwemukati (unrecognizable insn) kana uchiverenga kukosha kwemabyte maviri kubva pane pointer kuenda kundangariro yechirongwa.
Shanduro 2.32
Kuwanikwa kwechipiri kweraibhurari kunotadza (XCS-2381) Kudaidza iyo Windows vhezheni ye xc8-ar. exe raibhurari archiver kechipiri kuti uwane iyo iripo raibhurari chengetedzo inogona kunge yatadza nekutadza kupa zita remeseji yekukanganisa.
Shanduro 2.31
Zvisina kutsanangurwa compiler kukundikana (XCS-2367) Pakumhanya pamapuratifomu eWindows aive nesystem yenguva pfupi dhairekitori yakaiswa munzira yaisanganisira dot'.' hunhu, muunganidzi anogona kunge atadza kuita.
Shanduro 2.30
Mazita epasi rose akarasika mushure mekutsanangura (XCS-2299) Kodhi yegungano yakanyorwa nemaoko inoisa mavara epasi rose mukati memasevesheni egungano ayo anoburitswa nemaitiro abstraction anogona kunge asina kuiswa patsva.
Tsaona inozorodza (XCS-2287) Kushandisa iyo -merlad sarudzo inogona kunge yakakonzera kuti linker irove apo muswe wasvetuka kuzorora optimizations yakaedza kubvisa ret rairo yanga isiri pakupera kwechikamu.
Kuparara paunenge uchigadzirisa zvinyorwa sezvinokosha (XCS-2282) Kodhi uchishandisa "Labels as values" GNU C mutauro wekuwedzera ingangove yakakonzera kuti maitiro ekubvisa optimizations aparanike, neiyo Outlined VMA range spans fixup error.
Not so consst (XCS-2271) Iwo prototypes ekutanga () uye mamwe mabasa kubva hausisiri kutsanangura iyo isiri-yakajairwa mutengo qualifier pane yakadzoserwa tambo anonongedzera kana iyo -monist-data inprogmem chimiro chakadzimwa. Ziva kuti neavrxmega3 uye avertin zvishandiso, chimiro ichi chinogoneswa zvachose.
Yakarasika yekutanga (XCS-2269) Pakaiswa shanduko inopfuura imwe muchikamu cheshanduro muchikamu (uchishandisa chikamu kana hunhu ((chikamu))), uye yekutanga shanduko yakadaro yaive zero yakatangwa kana isina yekutanga, yekutanga kune mamwe mabhii muchikamu chimwe chete cheshanduro. izvo zvakaiswa muchikamu chimwe chete zvakarasika.
Shanduro 2.29 (Functional Safety Release)
Hapana.
Shanduro 2.20
Kukanganisa nemirairo mirefu (XCS-1983) Paunenge uchishandisa chinangwa cheAVR, mugadziri anogona kunge akamira ne file isina kuwanikwa kukanganisa, kana mutsara wekuraira wanga wakakura zvakanyanya uye uine mavara akakosha akadai makotesheni, backslash, nezvimwe.
Chikamu cherodata chisina kugoverwa (XCS-1920) Iyo AVR linker yakatadza kugovera ndangariro yezvikamu zvetsika rodata pakuvaka avrxmega3 uye avrtiny architectures, zvichigona kuburitsa ndangariro zvikanganiso.
Shanduro 2.19 (Functional Safety Release)
Hapana.
Shanduro 2.10
Kutama kutadza (XCS-1891) Iyo yakanakisa fit allocator yaive ichisiya ndangariro 'maburi' pakati pezvikamu mushure mekubatanidza kuzorora. Kunze kwekutsemuka ndangariro, izvi zvakawedzera mukana wekuti kuve nekutadza kwekutamisa kutamiswa zvine chekuita nekusvetuka-kwehukama kana mafoni kubuda kunze.
Mirayiridzo isina kushandurwa nekuzorora (XCS-1889) Linker kuzorora haina kuitika yekusvetuka kana kufona mirairo ine zvibodzwa zvinosvikika kana zvazorora.
Kushaikwa kushanda (XCSE-388) Tsanangudzo dzakawanda kubva , senge clock_ div_ t uye clock_prescale_set (), hazvina kutsanangurwa kune zvishandiso, kusanganisira iyo ATmega324PB, ATmega328PB, ATtiny441, uye ATtiny841.
Makros akashaikwa Iyo preprocessor macros_ xcs _MODE_, _xcs VERSION, _xc, uye xcs hazvina kungotsanangurirwa nemunyori. Izvi zvave kuwanikwa.
Shanduro 2.05
Yemukati compiler kukanganisa (XCS-1822) Paunenge uchivaka pasi peWindows, kukanganisa kwemukati mekubatanidza kunogona kunge kwakagadzirwa pakugadzirisa kodhi.
Kufashukira kwe RAM hakuna kuonekwa (XCS-1800, XCS-1796) Zvirongwa zvakapfuura iyo RAM iripo hazvina kuwonekwa nemuunganidzi mune mamwe mamiriro, zvichikonzera kutadza kwekodhi yenguva.
Yakasiiwa flash memory (XCS-1792) Kune avrxmega3 uye avrtiny zvishandiso, zvikamu zveflash memory zvinogona kunge zvakasiiwa zvisina kurongwa neMPLAB X IDE.
Kutadza kuita main (XCS-1788) Mune mamwe mamiriro ezvinhu apo purogiramu yakanga isina zvisikwa zvepasi rose zvinotsanangurwa, kodhi yekutanga yekumhanya haina kubuda uye iyo huru () basa harina kumbosvikwa.
Ruzivo rusina kururama rwendangariro (XCS-1787) Kune avrxmega3 uye avrtiny zvishandiso, chirongwa cheavr-saizi chaitaura kuti kuverenga-chete data yaidya RAM panzvimbo yekuyeuka chirongwa.
Memory programme isiriyo yakaverengwa (XCS-1783) Mapurojekiti akaunganidzirwa zvishandiso zvine chirongwa chendangariro chakamisikidzwa munzvimbo yekero yedata uye zvinotsanangura zvinhu zvinoshandisa PROGMEM macro/hunhu zvinogona kunge zvakaverenga zvinhu izvi kubva kukero isiriyo.
Kukanganisa kwemukati nehunhu (XCS-1773) Iko kukanganisa kwemukati kwakaitika kana iwe wakatsanangura pointer zvinhu ne
_pa () kana hunhu () ma tokeni ari pakati pezita rekunongedza nerudzi rwakarembera, rwe ex.ample, char *
_pa ( 0x80015 0) cp; Nyevero yave kupihwa kana kodhi yakadaro yasangana.
Kutadza kuita chikuru (XCS-1780, XCS-1767, XCS-1754) Kushandisa EEPROM zvinosiyana kana kutsanangura mafizi uchishandisa config pragma zvingave zvakakonzera kutangwa kwedata kwakashata uye/kana kuvharira chirongwa chekuitwa mukodhi yekumhanyisa yekutanga, usati wasvika main () .
Fuse kukanganisa nemidziyo midiki (XCS-1778, XCS-1742) Iyo attiny4/5/9/10/20/40 midziyo yaive ine fuse isiriyo kureba yakatsanangurwa mumusoro wayo. files izvo zvinotungamira kukanganisa kwekubatanidza paunenge uchiedza kuvaka kodhi inotsanangura fuse.
Segmentation kukanganisa (XCS-1777) Chikanganiso chepakati chechikamu chakagadziriswa.
Assembler tsaona (XCS-1761) Iyo avr-assembler inogona kunge yakadonha apo compiler yakamhanyiswa pasi peUbuntu 18.
Zvinhu hazvina kucheneswa (XCS-1752) Uninitialized static storage duration zvinhu zvinogona kunge zvisina kucheneswa neruntime startup code.
Kunetsana kwechishandiso chakateererwa (XCS-1749) Iyo compiler yanga isiri kugadzira chikanganiso kana akawanda madhizaini sarudzo dzakashandiswa uye dzakaratidza michina yakasiyana.
Memory uori nemurwi (XCS-1748) Chiratidzo chemurwi_ chekutanga chainge chiri kuiswa zvisizvo, zvichikonzera mukana wekuti zvinosiyana-siyana zvikanganiswe nemurwi.
Linker kutamiswa kukanganisa (XCS-1739) Chikanganiso chekutamisa chinongedzo chinogona kunge chaburitswa kana kodhi yaive nerjmp kana rcall ine chinangwa chaicho 4k bytes kure.
Shanduro 2.00
Hapana.
Nyaya Dzinozivikanwa
Izvi zvinotevera zvinogumira mukushanda kwemuunganidzi. Izvi zvinogona kuve zvakajairwa kukodha zvirambidzo, kana
kutsauka kubva paruzivo rwuri mubhuku remushandisi. Iwo mabracket label(s) ari mumusoro ndiwo ziviso yenyaya mudura rekutsvaga. Izvi zvinogona kubatsira kana iwe uchida kubata rutsigiro. Izvo zvinhu izvo zvisina mavara zvipimo zvinotsanangura modhi operandi uye izvo zvinogona kuramba zvichishanda zvachose.
MPLAB X IDE Kubatanidzwa
MPLAB IDE kubatanidzwa Kana Compiler ichizoshandiswa kubva kuMPLAB IDE, saka unofanirwa kuisa MPLAB IDE usati waisa Compiler.
Code Generation
PA memory allocation kutadza (XCS-2881) Paunenge uchishandisa iyo procedural abstraction optimizers, chinongedzo chinogona kuudza zvikanganiso zvekugovera ndangariro kana saizi yekodhi iri padyo nehuwandu huripo hwechirongwa chendangariro pachishandiso, kunyangwe chirongwa ichi chichikwanisa kukwana nzvimbo iripo.
Haina kungwara kudaro Smart-IO (XCS-2872) Iyo compiler's smart-io ficha inoburitsa inoshanda asi sub-optimal kodhi yeiyo sprint basa kana yegungwa-data-in-proem ficha yakavharwa kana kana mudziyo uine flash yayo yese yakarongwa mundangariro yedata.
Kunyangwe kushoma Smart-IO (XCS-2869) Iyo compiler's smart-io ficha ichagadzira inoshanda asi suboptimal kodhi kana iyo -floe uye -fno-kuvaka tin sarudzo dzese dzashandiswa.
Suboptimal kuverenga-chete data kuiswa (XCS-2849) Iyo linker parizvino haizive nezve APPCODE uye APPDATA ndangariro zvikamu, kana iyo [Kwete-]Verenga-Uchiri-Nyora kupatsanura mumepu yekurangarira. Nekuda kweizvozvo, pane mukana mudiki wekuti chinongedzo chinogona kugovera kuverenga-chete data munzvimbo isina kukodzera yendangariro. Mukana wedata rakarasika unowedzera kana iyo yegungwa-data-in-pragma ficha yakagoneswa, kunyanya kana iyo yegungwa-data-in-config-mapped-proem ficha yakagoneswa zvakare. Zvinhu izvi zvinogona kudzimwa kana zvichidiwa.
Chinhu file hurongwa hwekugadzirisa (XCS-2863) Kurongeka kwezvipo files ichagadziriswa neanobatanidza inogona kusiyana zvichienderana nekushandiswa kwemaitiro abstraction optimizations (-mpa sarudzo). Izvi zvinongokanganisa kodhi inotsanangura zvisina kusimba mabasa mumamodule akawanda.
Linker kukanganisa ine absolute (XCS-2777) Kana chinhu chaitwa mhedziso pakero pakutanga kwe RAM uye zvinhu zvisina uninitialized zvakatsanangurwa zvakare, kukanganisa kwekubatanidza kunogona kukonzerwa.
MaID ekumuka mapfupi (XCS-2775) Pamidziyo yeATA5700/2, marejista ePHID0/1 anongotsanangurwa senge 16 bits yakafara, pane 32 bits yakafara.
Linker kuparara pakufona chiratidzo (XCS-2758) Iyo linker inogona kuparara kana iyo -merlad mutyairi sarudzo ikashandiswa kana sosi kodhi inodaidza chiratidzo chakatsanangurwa uchishandisa iyo -Wl, -defsym linker sarudzo.
Kutanga kusiri iko (XCS-2679) Pane mutsauko uripo pakati pepanopinzwa kukosha kwezvimwe zvepasi rose/static byte-saizi zvinhu zvakaiswa mundangariro yedata uye uko zvinochinjika zvichawanikwa panguva yekumhanya.
yakatanga zvisizvo seti isina chinhu (XCS-2652) Muzviitiko apo tambo yenyaya yekushandurwa nezvakataurwa () ine inoita seyayangarara-nhamba mu exponential fomati uye pane hunhu husingatarisirwe mushure memu e character, ipapo kero isina chinhu, kana yapihwa, inonongedzera kumunhu mushure. e uye kwete e pachayo. For example: yakataurwa ("hooey", isina chinhu); zvinozoguma nekunongedza kusina chinhu kune x character.
Yakashata isina kunanga basa inofona (XCS-2628) Mune zvimwe zviitiko, nhare dzebasa dzinoitwa kuburikidza neyebasa chinongedzo chakachengetwa sechikamu chechimiro chinogona kutadza.
strtof inodzorera zero yehexadecimal inoyangarara (XCS-2626) Iyo raibhurari inoshanda strtof () et al uye scanf () et al, inogara ichishandura hexadecimal inoyangarara-nzvimbo nhamba isingatsanangure exponent ku.
zero. For example: stator("Owl", & isina chinhu); ichadzosa kukosha 0, kwete 1.
Mameseji asina kunaka echipangamazano (XCS-2542, XCS-2541) Mune zvimwe zviitiko, yambiro yeanopa yambiro nezve kudzokorora kana indeterminate stack yakashandiswa (pamwe kuburikidza nekushandisa alloca()) haibudiswe.
Kutadza neduplicate kukanganisa kodhi (XCS-2421) Iko kunopfuura imwe yekukanganisa basa ine muviri mumwechete, compiler inogona kunge iine inobuda kune imwe yekukanganisa basa fonera imwe. Izvi zvinozoita kuti marejista e-call-clobbered achengetedzwe zvisina kufanira, uye zvipingamupinyi zvichagoneswa kunyangwe epilogue yeazvino anovhiringidza mubato isati yatanga, izvo zvinogona kutungamirira kukutadza kwekodhi.
Const zvinhu zvisiri muchirongwa chendangariro (XCS-2408) Kune avrxmega3 uye avertins mapurojekiti unidealized const zvinhu zvinoiswa mundangariro yedata, kunyangwe yambiro inoratidza kuti yakaiswa mundangariro yechirongwa. Izvi hazvizokanganisa zvishandiso zvisina chirongwa chendangariro chakamisikidzwa munzvimbo yekurangarira data, uye hazvizokanganisa chero chinhu chinotangwa.
Kubuda kwakashata nenzira isiriyo yeDFP (XCS-2376) Kana iyo compiler ikakumbirwa neiyo isiriyo DFP nzira uye 'spec' file chiripo chemudziyo wakasarudzwa, muunganidzi haasi kutaura chisipo chemhuri paki uye pachinzvimbo chekusarudza iyo 'spec' file, izvo zvinogona kuzotungamira kune zvisiri izvo. Iyo 'spec' files inogona kunge isiri kuenderana nemaDFP akagoverwa uye akaitirwa kushandiswa neyemukati compiler kuyedzwa chete.
Memory overlap isina kuonekwa (XCS-1966) Iyo compiler haisi kuona kupindirana kwendangariro kwezvinhu zvakaitwa mhedziso pakero (kuburikidza ne ()) uye zvimwe zvinhu zvinoshandisa chikamu () chinofananidzira uye icho chakabatana nekero imwe chete.
Kukundikana nemabasa eraibhurari uye _meme (XCS-1763) Inonzi limbic float inoshanda nekupokana mu _memo kero nzvimbo inogona kutadza. Ziva kuti raibhurari routines dzinodanwa kubva kune vamwe C vanoshanda, saka, kune example, iyo inotevera kodhi inobatwa: dzoka regFloatVar > memxFloatVar;
Yakaganhurirwa limbic kuita (AVRTC-731) Kune iyo ATTiny4/5/9/10/20/40 zvigadzirwa, yakajairwa C / Math raibhurari yekushandiswa mune limbic ishoma kana kuti haipo.
Chirongwa chekuyeuka zvisingakwanisi (AVRTC-732) Purogiramu yekuyeuka mifananidzo inopfuura 128 kb inotsigirwa nechoolchain; zvisinei, kune zviitiko zvinozivikanwa zve linker kubvisa pamuviri pasina kuzorora uye pasina anobatsira kukanganisa meseji pane kugadzira inodiwa basa stubs kana -relax sarudzo inoshandiswa.
Zita nzvimbo inogumira (AVRTC-733) Nzvimbo dzekero dzine mazita dzinotsigirwa neturusi, zvichienderana nezvinogumira zvinotaurwa muchikamu chegwaro remushandisi Special Type Qualifiers.
Nzvimbo dzenguva The mabasa eraibhurari anofungidzira GMT uye haatsigire nzvimbo dzenguva dzemuno, saka nguva yemuno () ichadzoka panguva imwe chete segummite (), kune ex.ample.
RUTSIGIRO rwevatengi
file///Applications/microehip/xc8/v 2 .40/docs/Read me_X C 8_ yeA VR. htm
Zvinyorwa / Zvishandiso
![]() |
MICROCHIP MPLAB XC8 C Compiler Software [pdf] Bhuku reMuridzi MPLAB XC8 C, MPLAB XC8 C Compiler Software, Compiler Software, Software |