Ẹya Akopọ MPLAB® XC8 C 2.41 Awọn akọsilẹ itusilẹ fun AVR® MCU
Afowoyi eni
MPLAB XC8 C Compiler Development Software
IWE YI NI ALAYE PATAKI NIPA TIPAPA MPLAB XC8 C COMPILER NIGBATI IFỌRỌWỌRỌ ẸRỌ MICROCHIP AVR.
E JOWO KAA KI O TO SIN SOFTWARE YI. Wo Awọn akọsilẹ itusilẹ MPLAB XC8 C COMPILER FUN DOCUMENT PIC TI O BA NLO AṢỌRỌ FUN ẸRỌ Aworan 8-Bit.
Pariview
1.1. Ifihan
Itusilẹ ti Microchip MPLAB® XC8 C alakojo ni ọpọlọpọ awọn ẹya tuntun ati awọn atunṣe kokoro ni.
1.2. Kọ Ọjọ
Ọjọ iṣẹ ṣiṣe ti ẹya alakojo yii jẹ ọjọ 8 Kínní 2023.
1.3. Ẹya ti tẹlẹ
Ẹya alakojo MPLAB XC8 C ti tẹlẹ jẹ 2.40 ti a ṣe lori 3 Oṣu Keje 2022.
1.4. Afowoyi Aabo Iṣẹ
Ilana Aabo Iṣẹ-ṣiṣe fun MPLAB XC alakojo wa ninu package iwe nigbati o ra iwe-aṣẹ aabo iṣẹ-ṣiṣe.
1.5. Awọn iwe-aṣẹ paati ati Awọn ẹya
Olupilẹṣẹ MPLAB XC8 C fun awọn irinṣẹ AVR MCUs jẹ kikọ ati pinpin labẹ Iwe-aṣẹ Gbogbogbo GNU (GPL) eyiti o tumọ si pe koodu orisun rẹ ti pin ni ọfẹ ati wa si ita.
Koodu orisun fun awọn irinṣẹ labẹ GNU GPL le ṣe igbasilẹ lọtọ lati Microchip's webojula. O le ka GNU GPL ninu faili ti a npè ni ti o wa ni abẹ-ipamọ ti iwe-aṣẹ fifi sori ẹrọ rẹ.txt avr/doc directory. Ifọrọwọrọ gbogbogbo ti awọn ipilẹ ti o wa labẹ GPL ni a le rii nibi.
Koodu atilẹyin ti a pese fun awọn faili akọsori, awọn iwe afọwọkọ ọna asopọ, ati awọn ile-ikawe asiko asiko jẹ koodu ohun-ini ati pe ko ni aabo labẹ GPL.
Olupilẹṣẹ yii jẹ imuse ti ẹya GCC 5.4.0, ẹya binutils 2.26, o si nlo ẹya avr-libc 2.0.0.
1.6. System Awọn ibeere
Olupilẹṣẹ MPLAB XC8 C ati sọfitiwia iwe-aṣẹ ti o nlo wa fun ọpọlọpọ awọn ọna ṣiṣe, pẹlu awọn ẹya 64-bit ti atẹle: Awọn atẹjade ọjọgbọn ti Microsoft® Windows® 10; Ubuntu® 18.04; ati macOS® 10.15.5. Awọn alakomeji fun Windows ti jẹ ami koodu. Awọn alakomeji fun macOS ti jẹ ami-fọwọsi koodu ati notarized. Olupin Iwe-aṣẹ Nẹtiwọọki MPLAB XC wa fun ọpọlọpọ awọn ọna ṣiṣe 64-bit, pẹlu Microsoft Windows 10 ati loke; Ubuntu 18.04 ati loke; tabi macOS 10.15 ati loke. Olupin naa le tun ṣiṣẹ lori ọpọlọpọ awọn ọna ṣiṣe miiran pẹlu Windows Server, awọn pinpin Lainos, gẹgẹbi Oracle® Enterprise Linux® ati Red Hate Enterprise Linux ati awọn ẹya agbalagba ti awọn ọna ṣiṣe atilẹyin. Sibẹsibẹ, Olupin Iwe-aṣẹ Nẹtiwọọki MPLAB XC ko ni idanwo lori awọn ọna ṣiṣe wọnyi. Olupin Iwe-aṣẹ Nẹtiwọọki MPLAB XC le ṣiṣẹ lori Awọn ẹrọ Foju ti OS ti o ni atilẹyin nipa lilo iwe-aṣẹ ẹrọ foju kan fun awọn iwe-aṣẹ nẹtiwọọki (SW006021-VM). Gbogbo awọn ẹya 32-bit ti Olupin Nẹtiwọọki MPLAB XC ti dawọ duro lati ẹya 3.00.
Awọn ẹrọ atilẹyin
Olupilẹṣẹ yii ṣe atilẹyin gbogbo awọn ẹrọ 8-bit AVR MCU ti o wa ni akoko idasilẹ. Wo (ninu iwe ilana alakojọ) fun atokọ ti gbogbo awọn ẹrọ atilẹyin. Awọn faili wọnyi tun ṣe atokọ
avr_chipinfo.html awọn eto bit atunto doc fun ẹrọ kọọkan.
1.7. Awọn ẹda ati awọn iṣagbega iwe-aṣẹ
Olupilẹṣẹ MPLAB XC8 le muu ṣiṣẹ bi ọja ti o ni iwe-aṣẹ (PRO) tabi ọja ti ko ni iwe-aṣẹ (Ọfẹ). O nilo lati ra bọtini imuṣiṣẹ lati ṣe iwe-aṣẹ alakojo rẹ. Iwe-aṣẹ ngbanilaaye fun ipele ti o ga julọ ti iṣapeye ni akawe si Ọfẹ ọja. Olupilẹṣẹ ti ko ni iwe-aṣẹ le ṣiṣẹ ni ailopin laisi iwe-aṣẹ. Olukojọpọ Aabo Iṣiṣẹ MPLAB XC8 gbọdọ wa ni muuṣiṣẹ pẹlu iwe-aṣẹ aabo iṣẹ ṣiṣe ti o ra lati Microchip. Olupilẹṣẹ kii yoo ṣiṣẹ laisi iwe-aṣẹ yii. Ni kete ti o ti mu ṣiṣẹ, o le yan eyikeyi ipele iṣapeye ati lo gbogbo awọn ẹya alakojọ. Itusilẹ ti MPLAB XC Olupilẹṣẹ Aabo Iṣẹ-ṣiṣe ṣe atilẹyin Iwe-aṣẹ olupin Nẹtiwọọki.
Wo iwe fifi sori ati Gbigba iwe-aṣẹ MPLAB XC C Compilers (DS50002059) fun alaye lori awọn iru iwe-aṣẹ ati fifi sori ẹrọ alakojo pẹlu iwe-aṣẹ kan.
1.8. Fifi sori ẹrọ ati Muu ṣiṣẹ
Wo tun Awọn ọran Iṣilọ ati awọn apakan Awọn idiwọn fun alaye pataki nipa oluṣakoso iwe-aṣẹ tuntun ti o wa pẹlu alakojọ yii.
Ti o ba nlo MPLAB IDE, rii daju lati fi ẹya MPLAB X IDE tuntun sii 5.0 tabi nigbamii ṣaaju fifi sori ẹrọ yii. Pa IDE kuro ṣaaju fifi sori ẹrọ alakojo. Ṣiṣe awọn (Windows), (Linux) tabi (macOS) .exe .run .app compiler insitola ohun elo, fun apẹẹrẹ ki o si tẹle awọn itọnisọna loju iboju. XC8-1.00.11403-windows.exe Ilana fifi sori ẹrọ aiyipada ni iṣeduro. Ti o ba nlo Lainos, o gbọdọ fi sori ẹrọ alakojo nipa lilo ebute kan ati lati akọọlẹ root kan. Fi sori ẹrọ ni lilo akọọlẹ macOS pẹlu awọn anfani alabojuto.
Ṣiṣẹ ni bayi ti gbe jade lọtọ si fifi sori ẹrọ. Wo Oluṣakoso Iwe-aṣẹ iwe-aṣẹ fun MPLAB® XC C Compilers (DS52059) fun alaye diẹ sii.
Ti o ba yan lati ṣiṣe alakojo labẹ iwe-aṣẹ igbelewọn, iwọ yoo gba ikilọ ni bayi lakoko iṣakojọpọ nigbati o ba wa laarin awọn ọjọ 14 ti opin akoko igbelewọn rẹ. Ikilọ kanna ni a fun ni ti o ba wa laarin awọn ọjọ 14 ti ipari ṣiṣe alabapin HPA rẹ.
Olupin Iwe-aṣẹ Nẹtiwọọki XC jẹ insitola lọtọ ati pe ko si ninu insitola oluṣeto olumulo ẹyọkan.
Oluṣakoso Iwe-aṣẹ XC ni bayi ṣe atilẹyin lilọ kiri ti awọn iwe-aṣẹ nẹtiwọọki lilefoofo. Ni ifọkansi si awọn olumulo alagbeka, ẹya yii ngbanilaaye iwe-aṣẹ lilefoofo lati lọ kuro ni nẹtiwọọki fun igba diẹ. Lilo ẹya ara ẹrọ yi, o le ge asopọ lati netiwọki ati ki o tun lo MPLAB XC alakojo rẹ. Wo folda doc ti fifi sori ẹrọ XCLM fun diẹ sii lori ẹya yii.
MPLAB X IDE pẹlu ferese Awọn iwe-aṣẹ (Awọn irin-iṣẹ> Awọn iwe-aṣẹ) lati ṣakoso wiwo ni wiwo.
1.8.1. Ipinnu Awọn oran fifi sori ẹrọ
Ti o ba ni iriri awọn iṣoro fifi sori ẹrọ alakojọ labẹ eyikeyi awọn ọna ṣiṣe Windows, gbiyanju awọn aba wọnyi.
Ṣiṣe fifi sori ẹrọ bi oluṣakoso.
Ṣeto awọn igbanilaaye ti ohun elo insitola si 'Iṣakoso ni kikun'. (Tẹ-ọtun faili naa, yan Awọn ohun-ini, taabu Aabo, yan olumulo, ṣatunkọ.)
Ṣeto awọn igbanilaaye ti folda otutu si 'Iṣakoso ni kikun'.
Lati mọ ipo ti folda otutu, tẹ% temp% sinu aṣẹ Ṣiṣe (bọtini logo Windows + R).
Eyi yoo ṣii ifọrọwerọ aṣawakiri faili kan ti n fihan itọsọna yẹn yoo gba ọ laaye lati pinnu ọna ti folda yẹn.
1.9. Iwe akopo
Awọn itọsọna olumulo alakojọ le ṣii lati oju-iwe HTML ti o ṣii ni ẹrọ aṣawakiri rẹ nigbati o ba tẹ bọtini iranlọwọ buluu ninu dasibodu MPLAB X IDE, bi a ti tọka si sikirinifoto naa.
Ti o ba n kọ fun awọn ibi-afẹde AVR 8-bit, MPLAB® XC8 C Itọsọna Olumulo Olumulo fun AVR® MCU ni alaye ninu awọn aṣayan akojọpọ ati awọn ẹya ti o wulo fun faaji yii.
1.10.Onibara Support
Microchip ṣe itẹwọgba awọn ijabọ kokoro, awọn aba tabi awọn asọye nipa ẹya alakojọ yii. Jọwọ ṣe itọsọna eyikeyi awọn ijabọ kokoro tabi awọn ibeere ẹya nipasẹ Eto Atilẹyin.
Awọn imudojuiwọn iwe
Fun ori ayelujara ati awọn ẹya imudojuiwọn ti iwe MPLAB XC8, jọwọ ṣabẹwo Iwe Imọ-ẹrọ Ayelujara ti Microchip webojula. Tuntun tabi imudojuiwọn iwe AVR ninu itusilẹ yii:
- MPLAB® XC8 C Itọsọna Olumulo Olumulo fun AVR® MCU (atunyẹwo G)
- AVR® GNU Toolchain si MPLAB® XC8 Itọsọna Iṣilọ (atunyẹwo A)
- Itọsọna olumulo Hexmate (atunyẹwo B)
AVR® GNU Toolchain si MPLAB® XC8 Itọsọna Iṣilọ ṣe apejuwe awọn iyipada si koodu orisun ati kọ awọn aṣayan ti o le nilo ti o ba pinnu lati jade kuro ni iṣẹ akanṣe orisun C lati AVR 8-bit GNU Toolchain si Microchip MPLAB XC8 C Compiler. Itọkasi Itọkasi Iṣọkan Standard Library Microchip ṣapejuwe ihuwasi ati wiwo si awọn iṣẹ ṣiṣe asọye nipasẹ Ile-ikawe Iṣọkan Iṣọkan Microchip, ati lilo ipinnu ti awọn iru ikawe ati awọn Makiro. Diẹ ninu alaye yii wa tẹlẹ ninu MPLAB® XC8 C Itọsọna Olumulo Olumulo fun AVR® MCU. Alaye ile-ikawe ẹrọ kan si tun wa ninu itọsọna alakojọ yii.
Ti o ba n bẹrẹ pẹlu awọn ẹrọ 8-bit ati MPLAB XC8 C Compiler, MPLAB® XC8 Itọsọna Olumulo fun Awọn Onimọ-ẹrọ Iṣipopada – AVR® MCUs (DS50003108) ni alaye lori ṣeto awọn iṣẹ akanṣe ni MPLAB X IDE ati koodu kikọ fun tirẹ. akọkọ MPLAB XC8 C ise agbese. Itọsọna yii ti pin bayi pẹlu alakojọ.
Itọsọna Olumulo Hexmate jẹ ipinnu fun awọn ti nṣiṣẹ Hexmate bi ohun elo imurasilẹ-nikan.
Kini Tuntun
Awọn atẹle jẹ awọn ẹya tuntun AVR-afojusun ti alakojo n ṣe atilẹyin. Nọmba ikede ti o wa ninu awọn akọle kekere tọkasi ẹya alakojọ akọkọ lati ṣe atilẹyin awọn ẹya ti o tẹle.
3.1. Ẹya 2.41
Atilẹyin Bootrow (XC8-3053) Olupilẹṣẹ yoo gbe akoonu ti awọn apakan eyikeyi pẹlu ìpele ni.bootrow adirẹsi 0x860000 ninu faili HEX. Awọn apakan wọnyi ni a lo fun iranti BOOTROW, eyiti o jẹ apẹrẹ fun ibi ipamọ awọn bọtini ati alaye aabo miiran ti o yẹ ki o wa ni iwọle si bootloader nikan.
Imukuro ipadabọ aiṣedeede (XC8-3048) Olupilẹṣẹ yoo ṣe imukuro awọn ilana laiṣe bayi ni awọn iṣẹ ret pẹlu fo iru nigbati awọn iwe afọwọkọ aṣa asopọ aṣa lo. Eyi jẹ iṣapeye ti o jọra si iyẹn ti a ṣe tẹlẹ, ṣugbọn o ti ṣe ni bayi lori gbogbo awọn apakan alainibaba, paapaa ti o ba jẹ pe a lo iwe afọwọkọ ọna asopọ aṣa ati pe ero ipin fit ti o dara julọ ko si ni ere. Iru akoko ayipada (XC8-2982, 2932) C99 boṣewa ìkàwé iru, ti a ti yi pada lati a time_t si ohun iru, eyi ti yoo fun koodu-iwọn awọn ilọsiwaju ni diẹ ninu awọn akoko-jẹmọ gun gun awọn iṣẹ, gẹgẹ bi awọn. ti ko fowo si igba pipẹ ()
New nop (XC8-2946, 2945) Makiro ti wa ni afikun si. Makiro yii fi sii-NOP() kan sii nop isẹ ilana sinu o wu.
Imudojuiwọn si XCLM (XC8-2944) Oluṣakoso iwe-aṣẹ ti a lo pẹlu alakojọ ti ni imudojuiwọn ati pe o ni idahun diẹ sii nigbati o n ṣayẹwo awọn alaye iwe-aṣẹ alakojo.
TrampAwọn ipe olined (XC8-2760) Olupilẹṣẹ le ni bayi ṣe rirọpo awọn ilana ipe gigun-gun pẹlu awọn ipe ibatan kukuru nigbati awọn fọọmu ibatan ti ilana naa yoo jẹ deede ni ibiti o ti nlo wọn. Ni ipo yii, olupilẹṣẹ yoo gbiyanju lati rọpo pẹlu awọn itọnisọna lati pe ipe itọnisọna kan ti yoo 'trampoline' ipaniyan si awọn ti a beere adirẹsi, fun example: jmp
ipe tramp_foo; a pe foo
…
ipe tramp_foo
…
tramp_fo:
jmp foo
Imudara yii, pẹlu awọn iṣapeye ṣiṣan eto ti o jọra, ni iṣakoso nipasẹ aṣayan -mrelax.
3.2. Ẹya 2.40
Atilẹyin ohun elo tuntun wa bayi fun awọn ẹya AVR wọnyi: AT90PWM3, AVR16DD14, AVR16DD20, AVR16DD28, AVR16DD32, AVR32DD14, AVR32DD20, AVR32DD28, AVR32DD32, AVR64DD28, AVR64DD32, AVR64DD48, AVXNUMX
Imudara abstraction ilana Ohun elo imudara ilana (PA) ti ni ilọsiwaju ki koodu ti o ni itọnisọna ipe iṣẹ kan ninu (/) le ṣee lo. Eyi yoo waye nikan ti ipe ko ba lo akopọ lati kọja awọn ariyanjiyan si tabi gba iye ipadabọ lati iṣẹ naa. A lo akopọ naa nigba pipe iṣẹ kan pẹlu atokọ ariyanjiyan oniyipada tabi nigba pipe iṣẹ kan ti o gba awọn ariyanjiyan diẹ sii ju awọn iforukọsilẹ ti o yan fun idi eyi. Ẹya yii le jẹ alaabo nipa lilo aṣayan, tabi abstraction ilana le jẹ alaabo patapata fun faili ohun tabi iṣẹ nipa lilo – ati, lẹsẹsẹ, tabi nipa lilo abuda (pato) yiyan pẹlu awọn iṣẹ.
mno-pa-ìla-ipe-mno-pa-on-file -mno-pa-on-function nopa koodu agbegbe macro Olupilẹṣẹ ni bayi n ṣalaye Makiro ti aṣayan to wulo ba jẹ __nopa __CODECOV -mcodecov ni pato.
Aṣayan ifiṣura iranti Awakọ yoo gba bayi xc8-cc -mreserve=space@start:opin aṣayan nigba ti o ba kọ fun awọn ibi-afẹde AVR. Aṣayan yii ṣe ifipamọ ibiti iranti ti o ni pato ninu boya data tabi aaye iranti eto, idilọwọ olusona lati gbe koodu tabi awọn nkan ni agbegbe yii. Smarter smart IO Ọpọlọpọ awọn ilọsiwaju ni a ti ṣe si awọn iṣẹ Smart IO, pẹlu awọn tweaks gbogbogbo si koodu mojuto titẹjade, ṣiṣe itọju pato iyipada%n gẹgẹbi iyatọ ominira, sisopọ ni awọn ilana agbejade vararg lori ibeere, ni lilo awọn iru data kukuru nibiti o ti ṣee ṣe fun mimu. Awọn ariyanjiyan iṣẹ IO, ati ṣiṣatunṣe koodu ti o wọpọ ni iwọn aaye ati mimu deede. Eyi le ja si ni koodu pataki ati awọn ifowopamọ data, bakanna bi alekun iyara ipaniyan ti IO.
3.3. Ẹya 2.39 (Itusilẹ Aabo Iṣiṣẹ)
Iwe-aṣẹ olupin Nẹtiwọọki Itusilẹ ti MPLAB XC8 Olupilẹṣẹ Aabo Iṣẹ-ṣiṣe ṣe atilẹyin Iwe-aṣẹ olupin Nẹtiwọọki.
3.4. Ẹya 2.36
Ko si.
3.5. Ẹya 2.35
Atilẹyin ohun elo tuntun wa fun awọn ẹya AVR wọnyi: ATTINY3224, ATTINY3226, ATTINY3227, AVR64DD14, AVR64DD20, AVR64DD28, ati AVR64DD32.
Imudara ipo-ọrọ ti o ni ilọsiwaju Aṣayan -mcall-isr-prologues tuntun yipada bawo ni awọn iṣẹ idalọwọduro ṣe fipamọ awọn iforukọsilẹ lori titẹsi ati bii awọn iforukọsilẹ wọnyẹn ṣe tun pada nigbati iṣẹ ṣiṣe idalọwọduro ba pari. O ṣiṣẹ ni ọna kanna si aṣayan -mcall-prologues, ṣugbọn nikan ni ipa lori awọn iṣẹ idalọwọduro (ISRs).
Paapaa iyipada ọrọ-ọrọ ti o ni ilọsiwaju diẹ sii Aṣayan -mgas-isr-prologues tuntun n ṣakoso koodu iyipada ipo ti ipilẹṣẹ fun awọn ilana iṣẹ idalọwọduro kekere. Nigbati o ba mu ṣiṣẹ, ẹya ara ẹrọ yii yoo ni apejọ ọlọjẹ ISR fun lilo iforukọsilẹ ati fi awọn iforukọsilẹ ti a lo wọnyi pamọ ti o ba nilo.
Iṣaworan agbaye filasi atunto Diẹ ninu awọn ẹrọ inu AVR DA ati idile AVR DB ni SFR (fun apẹẹrẹ FLMAP) ti o ṣalaye iru apakan 32k ti iranti eto yoo ya aworan sinu iranti data. Aṣayan tuntun-mconst-data-in-config-mapped-progmem ni a le lo lati ni asopọ ti o gbe gbogbo data ti o ni oye const ni apakan 32k kan ati ki o ṣe ifilọlẹ iforukọsilẹ SFR ti o yẹ laifọwọyi lati rii daju pe a ti ya data yii sinu iranti data. aaye, nibiti yoo ti wọle si daradara siwaju sii.
Awọn ile-ikawe Iṣọkan Microchip Gbogbo awọn olupilẹṣẹ MPLAB XC yoo pin Microchip Iṣọkan Standard Library, eyiti o wa ni bayi pẹlu itusilẹ ti MPLAB XC8. MPLA# XC8 C Itọsọna Olumulo Olumulo fun AVO MCU ko pẹlu awọn iwe-ipamọ fun awọn iṣẹ boṣewa wọnyi. Alaye yii ni a le rii ni bayi ninu Itọsọna Itọkasi Iṣọkan Standard Library Microchip. Ṣe akiyesi pe diẹ ninu awọn iṣẹ ṣiṣe asọye tẹlẹ nipasẹ avr-libc ko si mọ. (Wo iṣẹ ṣiṣe Lila.)
Smart I0 Gẹgẹbi apakan ti awọn ile-ikawe isokan tuntun, awọn iṣẹ I0 ni titẹ ati awọn idile scanf ti wa ni ipilẹṣẹ aṣa ni bayi lori kikọ kọọkan, da lori bii a ṣe lo awọn iṣẹ wọnyi ninu eto naa. Eyi le dinku awọn orisun ti eto kan lo.
Aṣayan iranlọwọ Smart ICI Nigbati o ba n ṣatupalẹ awọn ipe si awọn iṣẹ I0 ti o gbọn (gẹgẹbi titẹ f () tabi scanf ()), alakojo ko le pinnu nigbagbogbo lati okun ọna kika tabi infer lati awọn ariyanjiyan awọn asọye iyipada ti o nilo nipasẹ ipe naa. Ni iṣaaju, olupilẹṣẹ yoo ma ṣe awọn arosinu nigbagbogbo ati rii daju pe awọn iṣẹ 10 ti o ṣiṣẹ ni kikun ti sopọ mọ aworan eto ikẹhin. Tuntun kan – msmart-io-format=fmt aṣayan ti jẹ afikun ki olupilẹṣẹ le dipo jẹ alaye nipasẹ olumulo ti awọn asọye iyipada ti o lo nipasẹ awọn iṣẹ I0 ọlọgbọn ti lilo rẹ jẹ aibikita, idilọwọ awọn ilana ṣiṣe 10 gigun pupọ lati sopọ. (Wo Smart-io-format Aṣayan fun awọn alaye diẹ sii.)
Gbigbe awọn abala aṣa Ni iṣaaju, aṣayan -W1, -apakan-ibẹrẹ nikan ni a gbe apakan ti a ti sọ tẹlẹ si adirẹsi ti o beere nigbati iwe afọwọkọ ọna asopọ ṣe asọye apakan abajade pẹlu orukọ kanna. Nigba ti kii ṣe ọran naa, a gbe apakan naa si adirẹsi ti o yan nipasẹ ọna asopọ ati pe aṣayan naa jẹ aibikita ni pataki. Bayi aṣayan naa yoo ni ọlá fun gbogbo awọn apakan aṣa, paapaa ti iwe afọwọkọ linker ko ṣe alaye apakan naa. Ṣe akiyesi, sibẹsibẹ, pe fun awọn apakan boṣewa, iru . ọrọ,. bss tabi. data, ti o dara ju fit allocator yoo si tun ni pipe Iṣakoso lori wọn placement, ati awọn aṣayan yoo ni ko si ipa. Lo aṣayan -ton, -Tsection=adr, gẹgẹbi a ti ṣalaye ninu itọsọna olumulo.
3.6. Ẹya 2.32
Itọsọna Iṣakojọpọ Wa pẹlu iwe-aṣẹ olupilẹṣẹ PRO, ẹya itọsọna akopọ akopọ le ṣee lo lati ṣe iṣiro ijinle ti o pọ julọ ti akopọ eyikeyi ti eto kan lo. O ṣe agbekalẹ ati ṣe itupalẹ awọn aworan ipe ti eto kan, pinnu lilo akopọ ti iṣẹ kọọkan, o si ṣe agbejade ijabọ kan, lati eyiti ijinle awọn akopọ ti eto naa lo le ṣe akiyesi. Ẹya yii ti ṣiṣẹ nipasẹ aṣayan laini aṣẹ -mchp-stack-usage. Akopọ ti lilo akopọ ti wa ni titẹ lẹhin ipaniyan. Iroyin akopọ alaye wa ninu maapu naa file, eyiti o le beere ni ọna deede.
Atilẹyin ohun elo tuntun wa fun awọn ẹya AVR wọnyi: ATTINY427, ATTINY424, ATTINY426, ATTINY827, ATTINY824, ATTINY826, AVR32DB32, AVR64DB48, AVR64DB64, AVR64DB28DB32 28. Atilẹyin ohun elo ti a fa pada ko si fun awọn ẹya AVR wọnyi: AVR64DA32, AVR32DA48 ati, AVR16DA28.
3.7. Ẹya 2.31
Ko si.
3.8. Ẹya 2.30
Aṣayan titun lati ṣe idiwọ ipilẹṣẹ data Aṣayan awakọ tuntun -mno-data-init ṣe idilọwọ ipilẹṣẹ data ati imukuro awọn apakan bss. O ṣiṣẹ nipa titẹkuro abajade ti data daakọ ati ṣe awọn aami bss ko o ni apejọ files, eyi ti yoo ṣe idiwọ ifisi ti awọn ilana ṣiṣe nipasẹ ọna asopọ.
Awọn iṣapeye ti o ni ilọsiwaju Nọmba awọn ilọsiwaju iṣapeye ni a ti ṣe, pẹlu yiyọkuro ti awọn ilana ipadabọ laiṣe, yiyọkuro diẹ ninu awọn fo ni atẹle ilana foo-if-bit-jẹ, ati ilọsiwaju abstraction ilana ati agbara lati ṣe atunwo ilana yii. Awọn aṣayan afikun wa ni bayi lati ṣakoso diẹ ninu awọn iṣapeye wọnyi, ni pataki -f apakan-awọn ìdákọró, eyiti o fun laaye iraye si awọn nkan aimi lati ṣe ni ibatan si aami kan; -mpa-iterations=n, eyi ti o ngbanilaaye nọmba awọn itọsẹ abstraction ilana lati yipada lati aiyipada ti 2; ati, -mpa-callcost-shortcall, eyi ti o ṣe diẹ sii ibinu ilana abstraction, ni ireti wipe awọn linker le sinmi awọn ipe gun. Aṣayan ikẹhin yii le mu iwọn koodu pọ si ti awọn igbero ti o wa ni ipilẹ ko ba ni imuse.
Atilẹyin ohun elo tuntun wa fun awọn ẹya AVR wọnyi: AVR16DA28, AVR16DA32, AVR16DA48, AVR32DA28, AVR32DA32, AVR32DA48, AVR64DA28, AVR64DA32, AVR64DA48, AVR64DA64, AVR128DA28 AVR128DB32, ati AVR128DB48. Atilẹyin atilẹyin ẹrọ ti o pada ko si fun awọn ẹya avr atẹle: ATA128, ATA64, ATA5272C, ATA5790C, ATA5790C, ati Ata5791C, ati Ata5795C, ati Ata6285C.
3.9. Ẹya 2.29 (Itusilẹ Aabo Iṣiṣẹ)
Akọsori file fun awọn akojọpọ ti a ṣe akojọpọ Lati rii daju pe olupilẹṣẹ le ni ibamu si awọn pato ede gẹgẹbi MISRA, awọn akọsori file, eyi ti o ti wa ni laifọwọyi pẹlu , ti ni imudojuiwọn. Akọsori yii ni awọn apẹrẹ fun gbogbo awọn iṣẹ ti a ṣe sinu, gẹgẹbi builtin_avr_nop () ati awọn avr delay_cycles ti a ṣe sinu () . Diẹ ninu awọn ti a ṣe sinu le ma jẹ ifaramọ MISRA; awọn wọnyi le wa ni ti own nipa fifi definitionXCSTRICT_MISRA to alakojo ila pipaṣẹ. Awọn ti a ṣe sinu ati awọn ikede wọn ti ni imudojuiwọn lati lo awọn iru iwọn ti o wa titi.
3.10. Ẹya 2.20
Atilẹyin ohun elo tuntun wa fun awọn ẹya AVR wọnyi: ATTINY1624, ATTINY1626, ati ATTINY1627.
Ipinpin fit ti o dara julọ ti o dara julọ Allocator fit fit ti o dara julọ (BFA) ti ni ilọsiwaju ti ni ilọsiwaju ki awọn apakan ti wa ni ipin ni aṣẹ ti o fun laaye iṣapeye dara julọ. BFA ni bayi ṣe atilẹyin awọn aaye adirẹsi ti a darukọ ati pe o dara julọ mu ibẹrẹ data.
Imudara abstraction ilana Awọn iṣapeye abstraction ilana ti wa ni ṣiṣe ni bayi lori awọn ilana koodu diẹ sii. Awọn ipo iṣaaju nibiti iṣapejuwe yii le ti pọ si iwọn koodu ti ni idojukọ nipasẹ ṣiṣe koodu iṣapeye mọ ilana ikojọpọ idoti ọna asopọ.
Àìsí AVR Asembler The AVR Assembler ko si ohun to wa pẹlu yi pinpin.
3.11. Ẹya 2.19 (Itusilẹ Aabo Iṣiṣẹ)
Ko si.
3.12. Ẹya 2.10
Ibori koodu Itusilẹ yii pẹlu ẹya-ara agbegbe koodu kan ti o ṣe imudara itupalẹ iwọn ti koodu orisun ti iṣẹ akanṣe kan ti ṣiṣẹ. Lo aṣayan -mcodecov=ram lati mu ṣiṣẹ. Lẹhin ṣiṣe ti eto naa lori ohun elo rẹ, alaye agbegbe koodu yoo ṣajọpọ ninu ẹrọ naa, ati pe eyi le gbe lọ si ati ṣafihan nipasẹ MPLAB X IDE nipasẹ ohun itanna aabo koodu. Wo iwe IDE fun alaye lori ohun itanna yii le ṣee gba. #pragma nocodecov le ṣee lo lati yọkuro awọn iṣẹ atẹle lati inu itupalẹ agbegbe. Apere pragma yẹ ki o fi kun ni ibẹrẹ ti awọn file lati ifesi wipe gbogbo file lati itupalẹ agbegbe. Ni omiiran, _attribute_ ((nocodecov)) le ṣee lo lati yọ iṣẹ kan pato kuro ninu itupalẹ agbegbe.
Apejuwe ẹrọ files A titun ẹrọ file ti a npe ni avr_chipinfo. html wa ninu iwe ilana ti pinpin alakojo. Eyi file ṣe akojọ gbogbo awọn ẹrọ ti o ni atilẹyin nipasẹ alakojo. Tẹ orukọ ẹrọ kan, ati pe yoo ṣii oju-iwe kan ti o nfihan gbogbo eto atunto atunto idasilẹ / irora iye fun ẹrọ yẹn, pẹlu examples. Isalẹ ilana
Awọn iṣapeye abstraction ilana, eyiti o rọpo awọn bulọọki ti o wọpọ ti koodu apejọ pẹlu awọn ipe si ẹda ti a fa jade ti idina naa, ti ṣafikun si alakojọ. Awọn wọnyi ni a ṣe nipasẹ ohun elo lọtọ, eyiti o jẹ ipe laifọwọyi nipasẹ alakojo nigba yiyan ipele 2, 3 tabi awọn iṣapeye s. Awọn iṣapeye wọnyi dinku iwọn koodu, ṣugbọn wọn le dinku iyara ipaniyan ati yokokoro koodu. Abstraction ti ilana le jẹ alaabo ni awọn ipele iṣapeye ti o ga julọ nipa lilo aṣayan -mno-pa, tabi o le mu ṣiṣẹ ni awọn ipele iṣapeye kekere (koko-ọrọ si iwe-aṣẹ rẹ) nipa lilo -mpa. O le jẹ alaabo fun ohun kan file lilo -mno-pa-on-file=fileorukọ, tabi alaabo fun iṣẹ kan nipa lilo -mno-pa-on-function=iṣẹ. Ninu koodu orisun rẹ, abstraction ilana le jẹ alaabo fun iṣẹ kan nipa lilo abuda ((nopa)) pẹlu itumọ iṣẹ naa, tabi nipa lilo nopa, eyiti o gbooro si ikalara ((nopa, noinline)) ati nitorinaa ṣe idilọwọ iṣẹ inlining lati waye. ati pe o wa abstraction ti koodu inlined.
Atilẹyin bit titiipa ni pragma Iṣeto #pragma le ṣee lo ni bayi lati ṣe pato awọn die-die titiipa AVR bakanna bi awọn iwọn atunto miiran. Ṣayẹwo avr_chipinfo. html file (ti a darukọ loke) fun eto/awọn orisii iye lati lo pẹlu pragma yii. Atilẹyin ohun elo tuntun wa fun awọn ẹya wọnyi: AVR28DAl28, AVR64DAl28, AVR32DA 128, ati AVR48DA 128.
3.13. Ẹya 2.05
Diẹ ẹ sii fun owo rẹ Ẹya macOS ti alakojọ ati oluṣakoso iwe-aṣẹ jẹ ohun elo 64-bit ni bayi. Eyi yoo rii daju pe olupilẹṣẹ yoo fi sori ẹrọ ati ṣiṣẹ laisi awọn ikilọ lori awọn ẹya aipẹ ti macOS.
Const ohun ni iranti eto Olupilẹṣẹ le bayi gbe const-oye ohun ninu awọn eto Flash iranti, dipo ju nini awọn wọnyi wa ni Ramu. A ti ṣe atunṣe olupilẹṣẹ naa ki awọn konsi t-olupe data agbaye ti wa ni ipamọ sinu iranti filasi eto ati pe data yii le wa ni taara ati ni aiṣe-taara nipa lilo awọn ilana iranti eto ti o yẹ. Ẹya tuntun yii ṣiṣẹ nipasẹ aiyipada ṣugbọn o le jẹ alaabo nipa lilo aṣayan -mno-const-data-in-progmem. Fun avrxmega3 ati avrtiny architectures, ẹya ara ẹrọ yii ko nilo ati pe o jẹ alaabo nigbagbogbo, nitori iranti eto ti ya aworan sinu aaye adirẹsi data fun awọn ẹrọ wọnyi.
Standard fun ọfẹ Awọn ẹya ti ko ni iwe-aṣẹ (Ọfẹ) ti alakojo yii gba awọn iṣapeye laaye si ati pẹlu ipele 2. Eyi yoo gba laaye iru, botilẹjẹpe kii ṣe aami, ti o jade si ohun ti o ṣee ṣe tẹlẹ nipa lilo iwe-aṣẹ Standard.
Kaabo AVRASM2 Apejọ AVRASM2 fun awọn ohun elo 8-bit ti wa ni bayi pẹlu insitola olupilẹṣẹ XC8. Apejọ yii kii ṣe lilo nipasẹ olupilẹṣẹ XC8, ṣugbọn o wa fun awọn iṣẹ akanṣe ti o da lori orisun apejọ ti a kọ ni ọwọ.
Atilẹyin ohun elo titun wa fun awọn ẹya wọnyi: ATMEGA1608, ATMEGA1609, ATMEGA808, ati ATMEGA809.
3.14. Ẹya 2.00
Awakọ oke-ipele Awakọ tuntun kan, ti a pe ni xc8-cc, bayi joko loke awakọ avr-gcc ti tẹlẹ ati awakọ xc8, ati pe o le pe olupilẹṣẹ ti o yẹ ti o da lori yiyan ẹrọ ibi-afẹde. Awakọ yii gba awọn aṣayan ara-GCC, eyiti o jẹ itumọ boya fun tabi kọja si alakojọ ti n ṣiṣẹ. Awakọ yii ngbanilaaye iru awọn aṣayan ti o jọra pẹlu imọ-itumọ ti o jọra lati ṣee lo pẹlu eyikeyi AVR tabi ibi-afẹde PIC ati pe nitorinaa ni ọna ti a ṣeduro lati pe olupilẹṣẹ naa. Ti o ba nilo, awakọ avr-gcc atijọ ni a le pe taara ni lilo awọn aṣayan aṣa atijọ ti o gba ni awọn ẹya iṣakojọ iṣaaju.
Ni wiwo C ti o wọpọ Akopọ yii le ni ibamu si MPLAB Interface C ti o wọpọ, gbigba koodu orisun laaye lati gbe ni irọrun diẹ sii kọja gbogbo awọn alakojọ MPLAB XC. Aṣayan -mext=cci n beere ẹya ara ẹrọ yii, ti o mu ki awọn amugbooro ede miiran ṣiṣẹ.
Awakọ ile ikawe tuntun Awakọ ile ikawe tuntun wa ni ipo loke oṣiṣẹ ile ikawe PIC ti tẹlẹ ati AVR avr-ar ikawe. Awakọ yii gba awọn aṣayan ara-ara GCC-archiver, eyiti o jẹ itumọ boya fun tabi ti kọja lọ si oṣiṣẹ ile-ikawe ti n ṣiṣẹ. Awakọ tuntun naa ngbanilaaye iru awọn aṣayan ti o jọra pẹlu awọn atunmọ iru lati ṣee lo lati ṣẹda tabi ṣe afọwọyi eyikeyi PIC tabi ile-ikawe AVR file ati pe bayi ni ọna ti a ṣeduro lati pe olukọ ile-ikawe naa. Ti o ba nilo fun awọn iṣẹ akanṣe, oṣiṣẹ ile-ikawe iṣaaju le pe taara ni lilo awọn aṣayan aṣa atijọ ti o gba ni awọn ẹya iṣakojọ iṣaaju.
Awọn ọrọ Iṣilọ
Awọn atẹle jẹ awọn ẹya ti o ti wa ni ọwọ otooto nipasẹ alakojo. Awọn ayipada wọnyi le nilo iyipada si koodu orisun rẹ ti koodu gbigbe si ẹya alakojọ yii. Nọmba ikede ti o wa ninu awọn akọle-kekere tọkasi ẹya alakojọ akọkọ lati ṣe atilẹyin awọn iyipada ti o tẹle.
4.1. Ẹya 2.41
Awọn iṣẹ fma aipe kuro (XC8-2913) Ile-ikawe boṣewa C99 fma 0 -awọn iṣẹ idile ( ) ko ṣe iṣiro isodipupo-afikun pẹlu konge ailopin si iyipo kan, ṣugbọn dipo awọn aṣiṣe ikojọpọ pẹlu iṣẹ kọọkan. Awọn iṣẹ wọnyi ti yọkuro lati ile-ikawe ti a pese.
4.2. Ẹya 2.40
Ko si.
4.3. Ẹya 2.39 (Itusilẹ Aabo Iṣiṣẹ)
Ko si.
4.4. Ẹya 2.36 Ko si.
4.5. Ẹya 2.35
Mimu ti okun-si awọn ipilẹ (XC8-2420) Lati rii daju ibamu pẹlu awọn olupilẹṣẹ XC miiran, okun XC8-si awọn iṣẹ, bii strtol () ati bẹbẹ lọ, kii yoo tun gbiyanju lati yi okun titẹ sii pada ti ipilẹ ti a sọ tẹlẹ ba tobi ju 36 lọ. ati pe yoo dipo ṣeto errno si EINVAL. Iwọn C ko ṣe pato ihuwasi ti awọn iṣẹ nigbati iye ipilẹ yii ti kọja.
Awọn iṣapeye iyara ti ko yẹ Awọn iṣapeye abstraction ilana ni a mu ṣiṣẹ nigba yiyan awọn iṣapeye ipele 3 (-03). Awọn iṣapeye wọnyi dinku iwọn koodu laibikita iyara koodu, nitorinaa ko yẹ ki o ṣe. Awọn iṣẹ akanṣe ti nlo ipele iṣapeye yii le rii awọn iyatọ ninu iwọn koodu ati iyara ipaniyan nigbati a kọ pẹlu itusilẹ yii.
Library iṣẹ Awọn koodu fun ọpọlọpọ awọn iṣẹ ikawe C boṣewa ni bayi wa lati Microchip's Unified Standard Library, eyiti o le ṣafihan ihuwasi oriṣiriṣi ni awọn ayidayida kan ni akawe si eyiti o pese nipasẹ ile-ikawe avr-libc tẹlẹ. Fun example, ko ṣe pataki mọ lati sopọ mọ ni ile-ikawe 1printf flt (aṣayan-1printf_flt) lati tan ọna kika I0 atilẹyin fun leefofo-kika specifiers. Awọn ọlọgbọn I0 Awọn ẹya ara ẹrọ ti Microchip Iṣọkan Standard Library jẹ ki aṣayan yi laiṣe. Ni afikun, lilo awọn ilana isunmọ _P fun okun ati awọn iṣẹ iranti (fun apẹẹrẹ strcpy_P () ati bẹbẹ lọ..) ti o ṣiṣẹ lori awọn okun const ni filasi ko ṣe pataki mọ. Awọn ọna ṣiṣe C boṣewa (fun apẹẹrẹ strcpy) yoo ṣiṣẹ ni deede pẹlu iru data nigbati ẹya-ara iranti const-data-in-program ti ṣiṣẹ.
4.6. Ẹya 2.32
Ko si.
4.7. Ẹya 2.31
Ko si.
4.8. Ẹya 2.30
Ko si.
4.1. Ẹya 2.29 (Itusilẹ Aabo Iṣiṣẹ)
Ko si.
4.2. Ẹya 2.20
Iyipada DFP Olupilẹṣẹ ni bayi dawọle ipilẹ ti o yatọ ti awọn DFPs (Awọn akopọ Ẹbi Ẹrọ) lo. Eyi yoo tumọ si pe DFP agbalagba le ma ṣiṣẹ pẹlu itusilẹ yii, ati pe awọn olupilẹṣẹ agbalagba kii yoo ni anfani lati lo awọn DFP tuntun.
4.3. Ẹya 2.19 (Itusilẹ Aabo Iṣiṣẹ)
Ko si.
4.4. Ẹya 2.10
Ko si
4.5. Ẹya 2.05
Const ohun ni iranti eto Akiyesi pe nipa aiyipada, const-qualfiied ohun yoo wa ni gbe ati wọle si ni iranti eto (bi a ti sapejuwe hue). Eyi yoo ni ipa lori iwọn ati iyara ipaniyan ti iṣẹ akanṣe rẹ, ṣugbọn o yẹ ki o dinku lilo Ramu. Ẹya yii le jẹ alaabo, ti o ba nilo, ni lilo aṣayan -mnoconst-data-in-progmem.
4.6. Ẹya 2.00
Iṣeto ni fuses Awọn fiusi iṣeto ni ẹrọ le ṣe eto ni bayi nipa lilo pragma atunto kan ti o tẹle pẹlu eto-iye orisii lati pato ipo fiusi, fun apẹẹrẹ.
#pragma atunto WDTON = SET
#pragma atunto BODLEVEL = BODLEVEL_4V3
Awọn nkan pipe ati awọn iṣẹ Awọn nkan ati awọn iṣẹ le wa ni bayi gbe si adirẹsi kan pato ni iranti nipa lilo asọye CCI (adirẹsi), fun ex.ample:
#pẹlu
int foobar_at (0x800100);
char __at (0x250) getID (aiṣedeede int) { … }
Awọn ariyanjiyan si yi specifier gbọdọ jẹ ibakan ti o duro fun adirẹsi ni eyi ti akọkọ baiti tabi ilana yoo wa ni gbe. Awọn adirẹsi Ramu jẹ itọkasi nipa lilo aiṣedeede ti 0x800000. Mu CCI ṣiṣẹ lati lo ẹya yii.
Sintasi iṣẹ idalọwọduro titun Olupilẹṣẹ ni bayi gba asọye CCI _interrupt (nom) lati fihan pe awọn iṣẹ C jẹ awọn oluṣakoso idalọwọduro. Specifier gba nọmba idalọwọduro, fun example:
#pẹlu
ofo __interrupt(SPI_STC_vect_num) spi_Isr(ofo) { … }
Awọn ọrọ ti o wa titi
Awọn atẹle jẹ awọn atunṣe ti a ti ṣe si alakojo. Iwọnyi le ṣatunṣe awọn idun ninu koodu ti ipilẹṣẹ tabi paarọ iṣiṣẹ ti alakojo si eyiti a pinnu tabi pato nipasẹ itọsọna olumulo. Nọmba ti ikede ti o wa ninu awọn akọle-kekere tọkasi ẹya akopo akọkọ lati ni awọn atunṣe fun awọn ọran ti o tẹle. Awọn aami akọmọ ti o wa ninu akọle naa jẹ idanimọ ọrọ naa ni ibi ipamọ data ipasẹ. Iwọnyi le wulo ti o ba nilo lati kan si atilẹyin.
Ṣe akiyesi pe diẹ ninu awọn ọran-ẹrọ kan jẹ atunṣe ni Apo Ẹbi Ẹrọ (DFP) ti o ni nkan ṣe pẹlu ẹrọ naa. Wo Oluṣakoso Pack MPLAB fun alaye lori awọn ayipada ti a ṣe si awọn DFPs ati lati ṣe igbasilẹ awọn akopọ tuntun.
5.1. Ẹya 2.41
Dongle oran lori Ventura (XC8-3088) Dongles ti a lo lati ṣe iwe-aṣẹ alakojo le ma ti ka ni deede lori awọn ogun macOS Ventura, ti o fa awọn ikuna iwe-aṣẹ. Awọn iyipada si oluṣakoso iwe-aṣẹ XCLM ṣe atunṣe ọran yii.
Atọka ti ko tọ ti ipin iranti iranti (XC8-2925) Igbiyanju lati pin SIZE_MAX awọn baiti (tabi iye to sunmọ eyi) ti iranti nipa lilo awọn iṣẹ iṣakoso iranti ile-ikawe boṣewa (malloc () et al) ṣaṣeyọri ti ko tọ. Ko ṣe akiyesi pe a nilo awọn baiti afikun ni afikun si bulọki ti o beere nigba lilo imuse ipin iranti ti o rọrun ti o rọrun. Atọka NULL kan yoo pada ni bayi ati errno ṣeto si ENOMEM ni iru awọn ipo bẹẹ.
Awọn iṣẹ fma aipe kuro (XC8-2913) Ile-ikawe boṣewa C99 fma () -awọn iṣẹ idile ( ) ko ṣe iṣiro isodipupo-afikun pẹlu konge ailopin si iyipo kan, ṣugbọn dipo awọn aṣiṣe ikojọpọ pẹlu iṣẹ kọọkan. Awọn iṣẹ wọnyi ti yọkuro lati ile-ikawe ti a pese.
Mimu ti ko dara ti iyipada okun (XC8-2921, XC8-2652) Nigbati 'tẹle koko-ọrọ' kan fun iyipada nipasẹ strtod Cr ni ohun ti o han bi nọmba oju omi lilefoofo ni ọna kika ati pe ohun kikọ airotẹlẹ wa lẹhin ihuwasi e/E, lẹhinna nibiti a ti pese endptr, o ti yan adirẹsi kan ti ni o tọka si ohun kikọ lẹhin e/E, lakoko ti o yẹ ki o tọka si e/E tikararẹ, nitori iyẹn ko ti yipada. Fun example, strtod (“100exx”, & ep) yẹ ki o pada 100.00 ki o ṣeto ep lati tọka si apakan “exx” ti okun naa, lakoko ti iṣẹ naa n pada iye ti o pe ṣugbọn ṣeto ep lati tọka si apakan “xx” ti okun naa. .
5.2. Ẹya 2.40
Ni ihuwasi pupọ (XCS-2876) Nigbati o ba nlo aṣayan -mrelax, olupilẹṣẹ ko pin diẹ ninu awọn apakan papọ, ti o mu ki awọn iwọn koodu to dara julọ kere si. Eyi le ṣẹlẹ pẹlu koodu ti o lo awọn ile-ikawe MUSL tuntun tabi pẹlu awọn aami alailagbara.
Ẹya aworan aworan ko jẹ alaabo bi a ti sọ ni ikilọ (XC8-2875) Ẹya const-data-in-konfigi-mappedprogmem jẹ igbẹkẹle lori ẹya-ara const-data-in-progmem ti n ṣiṣẹ. Ti ẹya-ara const-data-inconfig-mapped-progmem ti ṣiṣẹ ni gbangba nipa lilo aṣayan ati pe ẹya const-data-inprogmem jẹ alaabo, igbesẹ ọna asopọ kuna, laibikita ifiranṣẹ ikilọ kan ti o sọ pe const-data-in-con fig- Ẹya ti a ya aworan-eto ti jẹ alaabo laifọwọyi, eyiti ko ṣe deede. Awọn const-data-in-config-mapped-progmem ẹya ara ẹrọ ti wa ni alaabo ni kikun ni ipo yii.
DFP yipada lati wọle si NVMCTRL ni deede (XC8-2848) Koodu ibẹrẹ akoko asiko ti a lo nipasẹ awọn ẹrọ AVR64EA ko ṣe akiyesi pe iforukọsilẹ NVMCTRL wa labẹ Idaabobo Iyipada Iṣeto ni (CCP) ati pe ko ni anfani lati ṣeto I0 SFR si oju-iwe ti const-data-in-configmapped-progmem lo. alakojo ẹya-ara. Awọn iyipada ti a ṣe ni ẹya AVR-Ex_DFP 2.2.55 yoo gba koodu ibẹrẹ akoko asiko lati kọ ni deede si iforukọsilẹ yii.
DFP yipada lati yago fun filasi aworan agbaye (XC8-2847) Iṣẹ-ni ayika fun iṣoro pẹlu ẹya ẹrọ maapu filasi ti a royin ninu AVR128DA28/32/48/64 Silicon Errata (D580000882) ti ni imuse. Ẹya alakojo const-data-in-config-mapped-progmem ko ni lo nipasẹ aiyipada fun awọn ẹrọ ti o kan, iyipada yii yoo han ni ẹya AVR-Dx_DFP 2.2.160.
Kọ aṣiṣe pẹlu sinhf tabi coshf (XC8-2834) Awọn igbiyanju lati lo sinhf () tabi coshf () awọn iṣẹ ile-ikawe yorisi aṣiṣe ọna asopọ kan, ti n ṣapejuwe itọkasi aisọye. Iṣẹ ti o padanu ti tọka si ti wa ni bayi ninu pinpin akojọpọ.
Kọ awọn aṣiṣe pẹlu nopa (XC,8-2833) Lilo ẹya nopa pẹlu iṣẹ kan ti o ti ni orukọ apejọ ti a sọ ni pato nipa lilo asm () ti fa awọn ifiranṣẹ aṣiṣe lati ọdọ alapejọ. Ijọpọ yii ko ṣee ṣe.
Ikuna iṣẹ iyatọ pẹlu awọn ariyanjiyan itọka (XC8-2755, XC8-2731) Awọn iṣẹ pẹlu nọmba oniyipada ti awọn ariyanjiyan n reti awọn itọka 24-bit (iru memx) lati kọja ni atokọ ariyanjiyan iyipada nigbati ẹya-ara const-data-in-progmem ti ṣiṣẹ. Awọn ariyanjiyan ti o jẹ awọn itọka si iranti data ni a kọja bi awọn nkan 16-bit, nfa ikuna koodu nigba ti wọn ka nikẹhin. Nigbati ẹya-ara constdata-in-progmem ti ṣiṣẹ, gbogbo awọn ariyanjiyan awọn itọka 16-bit ti yipada si awọn itọka 24-bit.
Awọn iṣẹ ikawe strtoxxx kuna (XC8-2620) Nigbati ẹya-ara const-data-in-progmem ti ṣiṣẹ, paramita endptr ninu awọn iṣẹ ikawe strtoxxx ko ni imudojuiwọn daradara fun awọn ariyanjiyan okun orisun ko si ninu iranti eto.
Awọn itaniji fun awọn simẹnti ti ko tọ (XC8-2612) Olupilẹṣẹ yoo fun aṣiṣe ni bayi ti ẹya-ara const-in-progmem ti ṣiṣẹ ati adiresi okun gangan ti sọ ni gbangba si aaye adirẹsi data (jusilẹ iyege const), fun ex.ample, (uint 8_t *) "Hello World!". Ikilọ kan jẹ ti adirẹsi naa le jẹ alaiṣe nigbati itọka data const kan ti sọ ni gbangba si aaye adirẹsi data.
Gbigbe awọn nkan const ti ko ni ibẹrẹ (XC8-2408) Const ti ko ni ipilẹṣẹ ati awọn nkan iyipada ko ni gbe sinu iranti eto lori awọn ẹrọ ti o ya gbogbo tabi apakan ti iranti eto wọn sinu aaye adirẹsi data. Fun awọn ẹrọ wọnyi, iru awọn nkan bayi ni a gbe sinu iranti eto, ṣiṣe ṣiṣe wọn ni ibamu pẹlu awọn ẹrọ miiran.
5.3. Ẹya 2.39 (Itusilẹ Aabo Iṣiṣẹ)
Ko si.
5.4. Ẹya 2.36
Aṣiṣe nigba idaduro (XC8-2774) Awọn ayipada kekere ninu aiyipada Awọn iṣapeye ipo Ọfẹ ṣe idiwọ kika igbagbogbo ti awọn ikosile operand si awọn iṣẹ ti a ṣe sinu idaduro, ti o mu ki wọn ṣe itọju bi awọn aiṣedeede ati ti nfa aṣiṣe: avr delay_cycles ti a ṣe sinu rẹ nireti pe igbagbogbo odidi akoko akopọ.
5.5. Ẹya 2.35
Pipin ti o tẹsiwaju ni lilo _at (XC8-2653) Pipin ti o tẹsiwaju ti awọn aaye lọpọlọpọ ti awọn aaye ni apakan pẹlu orukọ kanna ati lilo _at () ko ṣiṣẹ ni deede. Fun example:
const char arr1 [] __ eroja__ ((apakan (".mysec"))) __at (0x500) = {0xAB, 0xCD};
const char arr2[] __attribute__ ((apakan (“.mysec”))) = {0xEF, 0xFE};
yẹ ki o ti gbe arr2 lẹsẹkẹsẹ lẹhin arr1.
Pato apakan ibere adirẹsi (XC8-2650) The -W1, –aṣayan-ibẹrẹ apakan ti kuna ni ipalọlọ lati gbe awọn apakan si adirẹsi ibẹrẹ ti a yan. Ọrọ yii ti ṣe atunṣe fun eyikeyi awọn apakan ti a npè ni aṣa; sibẹsibẹ, kii yoo ṣiṣẹ fun eyikeyi awọn apakan boṣewa, bii . ọrọ tabi . bss, eyiti o gbọdọ gbe ni lilo aṣayan -W1, -T.
Linker ipadanu nigbati ranpe (XC8-2647) Nigba ti -mrelax ti o dara ju ti a sise ati ki o wà koodu tabi data apakan ti ko ba wo dada sinu awọn wa iranti, awọn linker kọlu. Ni bayi, ni iru ipo bẹẹ, awọn ifiranṣẹ aṣiṣe ni a gbejade dipo.
Ko si-ja bo-pada (XC8-2646) Awọn Aṣayan-nofallback ko ni imuse ni deede, tabi ṣe akọsilẹ. Eyi le yan ni bayi lati rii daju pe olupilẹṣẹ ko ni ṣubu pada si eto iṣapeye kekere ti olupilẹṣẹ ko ba ni iwe-aṣẹ, ati pe dipo yoo fun aṣiṣe kan jade.
Awọn iṣapeye iyara ti ko yẹ (X03-2637) Awọn iṣapeye abstraction ilana ni a mu ṣiṣẹ nigba yiyan awọn iṣapeye ipele 3 (-03). Awọn iṣapeye wọnyi dinku iwọn koodu laibikita iyara koodu, nitorinaa ko yẹ ki o ṣe.
EEPROM buburu wiwọle (XC8-2629) Awọn Ilana eeprom_read_block ko ṣiṣẹ ni deede lori awọn ẹrọ Xmega nigbati aṣayan -mconst-data-in-progmem ṣiṣẹ (eyiti o jẹ ipo aiyipada), ti o mu ki iranti EEPROM ko ni ka ni deede.
Ipin iranti ti ko tọ (XC8-2593, XC8-2651) Nigba ti -Ttext tabi -Tdata ọna asopọ aṣayan (fun example kọja nipasẹ lilo aṣayan awakọ -vl) ti wa ni pato, ti imudojuiwọn ọrọ ti o baamu / orisun agbegbe data; sibẹsibẹ, awọn opin adirẹsi ti a ko ni titunse ni ibamu, eyi ti o le ti yori si awọn ekun koja awọn afojusun ẹrọ ká iranti ibiti.
Ijamba pẹlu iṣẹ ti a da lori (XC8-2580) Akopọ kọlu ti iṣẹ kan ba ti kede ni lilo diẹ ẹ sii ju ọkan ninu idalọwọduro, ifihan agbara tabi awọn abuda nmi, fun apẹẹrẹ, abuda ( ( ifihan agbara, idalọwọduro ) ).
Koodu idalọwọduro ATtiny ti ko tọ (XC8-2465) Nigbati o ba n kọ fun awọn ẹrọ ATtiny ati awọn iṣapeye ti jẹ alaabo (-00), awọn iṣẹ idalọwọduro le ti fa operand jade ni ibiti awọn ifiranṣẹ alapejọ.
Awọn aṣayan ko kọja nipasẹ (XC8-2452) Nigbati o ba nlo aṣayan pẹlu ọpọ, awọn aṣayan asopọ ti o ya sọtọ komama, kii ṣe gbogbo awọn aṣayan ọna asopọ ni a kọja si ọna asopọ.
Aṣiṣe ni aiṣe-taara kika iranti eto (X03-2450) Ni awọn igba miiran, olupilẹṣẹ ṣe agbejade aṣiṣe inu kan (insn ti ko ṣe idanimọ) nigba kika iye baiti meji lati itọka si iranti eto.
5.6. Ẹya 2.32
Keji wiwọle ti ile ikawe kuna (XC8-2381) Npe awọn Windows version of xc8-ar. .exe pamosi ikawe ni akoko keji lati wọle si ibi ipamọ ile-ikawe ti o wa tẹlẹ le ti kuna pẹlu ailagbara lati tunrukọ ifiranṣẹ aṣiṣe.
5.7. Ẹya 2.31
Akojopo ti ko ni alaye awọn ikuna (XC8-2367) Nigbati o nṣiṣẹ lori awọn iru ẹrọ Windows ti o ni eto ilana igba diẹ ti a ṣeto si ọna ti o pẹlu aami kan '.' kikọ, alakojo le ti kuna lati ṣiṣẹ.
5.8. Ẹya 2.30
Awọn akole agbaye ti ko tọ si lẹhin itọka (XC8-2299) Koodu apejọ ti a kọ ni ọwọ ti o fi awọn aami agbaye si awọn ilana apejọ ti o jẹ ifọkansi nipasẹ abstraction ilana le ma ti tun gbe ni deede.
jamba isinmi kan (XC8-2287) Lilo aṣayan -mrelax le ti jẹ ki olusopọ naa ṣubu nigbati awọn iṣapeye isinmi ti fo iru gbiyanju lati yọ awọn itọnisọna ret kuro ti ko si ni opin apakan kan.
Jamba nigbati o nmu awọn aami silẹ bi awọn iye (XC8-2282) Koodu lilo “Awọn aami bi awọn iye” itẹsiwaju ede GNU C le ti fa awọn iṣapeye abstraction ilana lati jamba, pẹlu iwọn ila VMA ti a ṣe ilana ntan aṣiṣe atunṣe.
Kii ṣe bẹ const (XC8-2271) Awọn apẹrẹ fun st rstr () ati awọn iṣẹ miiran lati ko to gun pato awọn ti kii-bošewa const iyege lori pada okun ijuboluwole nigbati -mconst-data-inprogmem ẹya-ara ti wa ni alaabo. Ṣe akiyesi pe pẹlu avrxmega3 ati awọn ẹrọ avrtiny, ẹya yii ti ṣiṣẹ patapata.
Ti sọnu initializers (XC8-2269) Nigbati diẹ ẹ sii ju oniyipada kan ninu ẹyọ itumọ kan ni a gbe si apakan kan (lilo _section tabi _attribute_ ((apakan))), ati pe iru oniyipada akọkọ jẹ ipilẹṣẹ odo tabi ko ni ipilẹṣẹ, awọn olupilẹṣẹ fun awọn oniyipada miiran ni ẹyọ itumọ kanna ti a gbe. ni apakan kanna ti sọnu.
5.1. Ẹya 2.29 (Itusilẹ Aabo Iṣiṣẹ)
Ko si.
5.2. Ẹya 2.20
Aṣiṣe pẹlu awọn aṣẹ pipẹ (XC8-1983) Nigbati o ba nlo ibi-afẹde AVR, olupilẹṣẹ le ti duro pẹlu a file ko ri aṣiṣe, ti o ba ti pipaṣẹ laini wà lalailopinpin tobi ati ki o ni pataki ohun kikọ ninu iru a avvon, backslashes, ati be be lo.
Abala rodata ti a ko sọtọ (XC8-1920) Asopọmọra AVR kuna lati fi iranti fun awọn apakan rodata ti aṣa nigbati o ba kọ fun avrxmega3 ati awọn faaji avrtiny, ti o le ṣe agbejade awọn aṣiṣe agbekọja iranti.
5.3. Ẹya 2.19 (Itusilẹ Aabo Iṣẹ-ṣiṣe)
Ko si.
5.4. Ẹya 2.10
Awọn ikuna gbigbe (XC8-1891) Allocator fit ti o dara julọ ni fifi awọn iho iranti silẹ laarin awọn apakan lẹhin isinmi asopọ. Yato si iranti pipin, eyi pọ si iṣeeṣe ti awọn ikuna iṣipopada linker ti o jọmọ awọn fo ibatan pc tabi awọn ipe di aibikita.
Awọn ilana ti ko yipada nipasẹ isinmi (XC8-1889) Isinmi Linker ko waye fun fo tabi awọn itọnisọna ipe ti awọn ibi-afẹde rẹ le de ọdọ ti o ba ni ihuwasi.
Sonu iṣẹ-ṣiṣe (XC8E-388) Orisirisi awọn itumo lati , gẹgẹbi clock_div_t ati clock_prescale ṣeto () , ko ṣe alaye fun awọn ẹrọ, pẹlu ATmega324PB, ATmega328PB, ATtiny441, ati ATtiny841.
Awọn Makiro ti o padanu Awọn macros preprocessor _XC8_MODE_, _XC8_VERS ION, _XC, ati _XC8 ni a ko ṣe alaye ni aifọwọyi nipasẹ alakojọ. Iwọnyi wa bayi.
5.5. Ẹya 2.05
Aṣiṣe akojọpọ inu (XC8-1822) Nigbati o ba n kọ labẹ Windows, aṣiṣe akojọpọ inu le ti ṣejade nigbati o ba n ṣatunṣe koodu.
A ko rii iṣan omi Ramu (XC8-1800, XC8-1796) Awọn eto ti o kọja Ramu ti o wa ni a ko rii nipasẹ olupilẹṣẹ ni awọn ipo kan, ti o fa ikuna koodu asiko-akoko kan.
Iranti filasi ti a fi silẹ (XC8-1792) Fun avrxmega3 ati awọn ẹrọ avrtiny, awọn apakan ti iranti filasi le ti jẹ ti a ko ṣe eto nipasẹ MPLAB X IDE.
Ikuna lati ṣiṣẹ akọkọ (XC8-1788) Ni awọn ipo kan nibiti eto naa ko ti ni asọye awọn oniyipada agbaye, koodu ibẹrẹ akoko asiko ko jade ati pe iṣẹ akọkọ () ko de rara.
Alaye iranti ti ko tọ (XC8-1787) Fun avrxmega3 ati awọn ẹrọ avrtiny, eto iwọn avr n ṣe ijabọ pe data kika-nikan n gba Ramu dipo iranti eto.
Ka iranti eto ti ko tọ (XC8-1783) Awọn iṣẹ akanṣe fun awọn ẹrọ pẹlu iranti eto ti a ya aworan sinu aaye adirẹsi data ati pe o ṣalaye awọn nkan nipa lilo Makiro/ eroja PROGMEM le ti ka awọn nkan wọnyi lati adirẹsi ti ko tọ.
Aṣiṣe inu pẹlu awọn abuda (XC8-1773) Aṣiṣe inu kan waye ti o ba ṣalaye awọn nkan itọka pẹlu awọn
_at () tabi abuda() awọn ami-ami laarin orukọ itọka ati iru ti a kọ silẹ, fun example, char*
_ati (0x800150) cp; Ikilọ ti wa ni bayi ti iru koodu ba pade.
Ikuna lati ṣiṣẹ akọkọ (XC8-1780, XC8-1767, XC8-1754) Lilo awọn oniyipada EEPROM tabi asọye awọn fiusi nipa lilo atunto pragma le ti fa ipilẹṣẹ data ti ko tọ ati/tabi tiipa ipaniyan eto ni koodu ibẹrẹ akoko, ṣaaju ki o to de akọkọ ().
Aṣiṣe fiusi pẹlu awọn ẹrọ kekere (XC8-1778, XC8-1742) Awọn ohun elo attiny4/5/9/10/20/40 ni ipari fiusi ti ko tọ pato ninu akọsori wọn files ti o ja si awọn aṣiṣe asopọ nigba igbiyanju lati kọ koodu ti o ṣalaye awọn fiusi.
Pipin asise (XC8-1777) A ti ṣatunṣe aṣiṣe ipin ti o wa lagbedemeji.
jamba Apejọ (XC8-1761) Apejọ avr-as le ti kọlu nigbati akopọ naa ti ṣiṣẹ labẹ Ubuntu 18.
Awọn nkan ko ti parẹ (XC8-1752) Awọn nkan ti iye akoko ibi ipamọ aimi aimi le ma ti parẹ nipasẹ koodu ibẹrẹ akoko asiko.
Ti kọju sipesifikesonu ẹrọ ikọlu (XC8-1749) Olupilẹṣẹ ko ṣe ipilẹṣẹ aṣiṣe nigbati ọpọlọpọ awọn aṣayan sipesifikesonu ẹrọ ni a lo ati tọka awọn ẹrọ oriṣiriṣi.
Memory ibaje nipa òkiti (XC8-1748) The _heap_start aami ti wa ni ti ko tọ ṣeto, Abajade ni seese ti lasan oniyipada ni ibaje nipa òkiti.
Aṣiṣe iṣipopada Linker (XC8-1739) Aṣiṣe iṣipopada ọna asopọ le ti jade nigbati koodu wa ninu rjmp tabi ipe pẹlu ibi-afẹde kan pato awọn baiti 4k kuro.
5.6. Ẹya 2.00
Ko si.
Awọn ọrọ ti a mọ
Awọn atẹle jẹ awọn idiwọn ninu iṣẹ alakojọ. Iwọnyi le jẹ awọn ihamọ ifaminsi gbogbogbo, tabi awọn iyapa lati alaye ti o wa ninu afọwọṣe olumulo. Awọn aami akọmọ (s) ti o wa ninu akọle jẹ idanimọ ọrọ naa ni ibi ipamọ data ipasẹ. Eyi le jẹ anfani ti o ba nilo lati kan si atilẹyin. Awọn nkan wọnyẹn ti ko ni awọn aami jẹ awọn aropin ti o ṣapejuwe modi operandi ati eyiti o ṣee ṣe lati wa ni ipa titilai.
6.1. MPLAB X IDE Ijọpọ
MPLAB IDE Integration Ti o ba fẹ lo Olupilẹṣẹ lati MPLAB IDE, lẹhinna o gbọdọ fi MPLAB IDE sori ẹrọ ṣaaju fifi sori ẹrọ Compiler.
6.2. Code Generation
Segfault pẹlu aṣayan awọn ìdákọró apakan (XC8-3045) Eto ti o ṣalaye awọn iṣẹ pẹlu awọn atokọ ariyanjiyan oniyipada ati pe o lo aṣayan -fsection-anchors le ti fa aṣiṣe alakojọ inu kan: Aṣiṣe ipin.
Alaye yokokoro kuro ni amuṣiṣẹpọ (XC8-2948) Nigbati awọn iṣapeye isinmi asopọ asopọ dinku awọn ilana (fun exampIpe si awọn ilana ipe), laini orisun lati koju awọn maapu le ma wa ni amuṣiṣẹpọ nigbati iṣẹ idinku ju ọkan lọ ba waye ni apakan kan.
Ni isalẹ exampLe, nibẹ ni o wa meji awọn ipe si foo ti o mu soke ni ihuwasi to ojulumo awọn ipe.
Ikuna ipin iranti iranti PA (XC8-2881) Nigbati o ba nlo awọn iṣapeye abstraction ilana, ọna asopọ le jabo awọn aṣiṣe ipin iranti nigbati iwọn koodu ba sunmọ iye iranti eto ti o wa lori ẹrọ naa, botilẹjẹpe eto naa yẹ ki o ni anfani lati baamu aaye to wa.
Kii ṣe ọlọgbọn Smart-I0 (XC8-2872) Ẹya smart-io olupilẹṣẹ naa yoo ṣe agbejade iwulo ṣugbọn koodu-ipe ti o dara julọ fun iṣẹ snprint f ti ẹya-ara const-data-in-progmem ba ti jẹ alaabo tabi ti ẹrọ naa ba ti ya gbogbo filasi rẹ sinu iranti data.
Paapaa o kere si Smart-I0 (XC8-2869) Ẹya smart-io olupilẹṣẹ yoo ṣe ipilẹṣẹ wulo ṣugbọn koodu suboptimal nigbati awọn aṣayan -flto ati -fno-builtin mejeeji lo.
Gbigbe data kika-nikan ti o dara julọ (XC8-2849) Asopọmọra lọwọlọwọ ko mọ awọn apakan iranti APPCODE ati APPDATA, tabi awọn ipin [Ko-Ka-Nigba-Kọ ninu maapu iranti. Bi abajade, aye kekere kan wa ti ọna asopọ le pin data kika-nikan ni agbegbe ti ko yẹ fun iranti. Anfani ti data ti ko tọ pọ si ti ẹya-ara const-data-in-progmem ti ṣiṣẹ, ni pataki ti ẹya eto eto const-data-in-config-mapped-progmem tun ṣiṣẹ. Awọn ẹya wọnyi le jẹ alaabo ti o ba nilo.
Nkankan file Ilana sisẹ (XC8-2863) Awọn ibere ninu eyi ti ohun files yoo ṣe ilana nipasẹ ọna asopọ le yatọ si da lori lilo awọn iṣapeye abstraction ilana (aṣayan-mpa). Eyi yoo kan koodu nikan eyiti o ṣalaye awọn iṣẹ alailagbara kọja awọn modulu lọpọlọpọ.
Aṣiṣe Linker pẹlu pipe (XC8-2777) Nigbati ohun kan ba ti jẹ pipe ni adirẹsi ni ibẹrẹ Ramu ati pe awọn nkan ti ko ni ipilẹṣẹ tun ti ni asọye, aṣiṣe ọna asopọ le fa.
Awọn ID ji kukuru (XC8-2775) Fun awọn ẹrọ ATA5700/2, awọn iforukọsilẹ PHIDO/1 nikan ni asọye bi jijẹ awọn bit 16 fife, ju 32 bit fife.
Ọna asopọ jamba nigbati aami pipe (XC8-2758) Asopọmọra le jamba ti aṣayan iwakọ -mrelax ba lo nigbati koodu orisun n pe aami kan ti o ti ni asọye nipa lilo aṣayan -cc., -de f sym linker.
Bibẹrẹ ti ko tọ (XC8-2679) Nibẹ jẹ aibikita laarin ibiti awọn iye akọkọ fun diẹ ninu awọn nkan iwọn baiti agbaye / aimi ni a gbe sinu iranti data ati nibiti awọn oniyipada yoo wọle si ni asiko asiko.
Awọn ipe iṣẹ aiṣe-taara buburu (XC8-2628) Ni awọn igba miiran, awọn ipe iṣẹ ti a ṣe nipasẹ itọka iṣẹ ti o fipamọ gẹgẹbi apakan eto le kuna.
strtof da odo pada fun awọn leefofo hexadecimal (XC8-2626) Awọn iṣẹ ile-ikawe strtof et al ati scanf () et al, yoo ma yi iyipada nọmba ojuami hexadecimal lilefoofo loju omi ti ko ṣe pato olutayo si odo. Fun example:
strtof ("Oxl", & endptr);
yoo da iye 0 pada, kii ṣe I.
Ifiranṣẹ oludamọran akopọ aipe (XC8-2542, XC8-2541) Ni awọn igba miiran, ikilọ oludamoran akopọ nipa isọdọtun tabi akopọ ailopin ti a lo (o ṣee ṣe nipasẹ lilo alloca()) ko jade.
Ikuna pẹlu koodu idalọwọduro pidánpidán (XC8-2421) Nibiti iṣẹ idalọwọduro diẹ sii ju ọkan lọ ni ara kanna, alakojọ le ni abajade fun iṣẹ idalọwọduro kan pe ekeji. Eyi yoo mu ki gbogbo awọn iforukọsilẹ ipe-clobbered ti wa ni fipamọ lainidi, ati awọn idilọwọ yoo ṣiṣẹ paapaa ṣaaju ki apọju ti oluṣakoso idalọwọduro lọwọlọwọ ti ṣiṣẹ, eyiti o le ja si ikuna koodu.
Ijade buburu pẹlu ọna DFP ti ko tọ (XC8-2376) Ti o ba pe alakojo pẹlu ọna DFP ti ko tọ ati 'spec' kan file wa fun ẹrọ ti o yan, olupilẹṣẹ ko ṣe ijabọ idii ẹbi ẹrọ ti o padanu ati dipo yiyan 'spec' file, eyi ti o le lẹhinna ja si abajade ti ko tọ. 'Spec' naa files le ma wa ni imudojuiwọn pẹlu awọn DFP ti a pin ati pe a pinnu fun lilo pẹlu idanwo alakojo inu nikan.
Ni lqkan iranti ti a ko rii (XC8-1966) Olupilẹṣẹ naa kii ṣe iwari idawọle iranti ti awọn nkan ti o ṣe pipe ni adirẹsi kan (nipasẹ _at ()) ati awọn nkan miiran nipa lilo abala () pato ati awọn ti o sopọ mọ adirẹsi kanna.
Ikuna pẹlu awọn iṣẹ ile-ikawe ati _memx (XC8-1763) Ti a npe ni awọn iṣẹ leefofo libgcc pẹlu ariyanjiyan ni aaye adirẹsi memx le kuna. Ṣe akiyesi pe awọn ilana ile-ikawe ni a pe lati diẹ ninu awọn oniṣẹ C, nitorinaa, fun exampLe, koodu atẹle naa ni ipa:
pada regFloatVar> memxFloatVar;
Imuse libgcc lopin (AVRTC-731) Fun awọn ọja ATTiny4/5/9/10/20/40, imuse ile-ikawe C / Math boṣewa ni libgcc jẹ opin pupọ tabi ko wa.
Awọn idiwọn iranti eto (AVRTC-732) Awọn aworan iranti eto ti o kọja 128 kb ni atilẹyin nipasẹ ọpa irinṣẹ; sibẹsibẹ, nibẹ ni o wa mọ instances ti linker aborts lai isinmi ati laisi a iranlọwọ aṣiṣe ifiranṣẹ dipo ju ti o npese awọn ti a beere stubs iṣẹ nigba ti -mre lax aṣayan ti lo.
Awọn idiwọn aaye orukọ (AVRTC-733) Awọn aaye adirẹsi ti a fun lorukọ jẹ atilẹyin nipasẹ ọpa irinṣẹ, labẹ awọn idiwọn ti a mẹnuba ninu apakan itọsọna olumulo Awọn Qualifiers Iru Pataki.
Awọn agbegbe aago The Awọn iṣẹ ile-ikawe gba GMT ati pe ko ṣe atilẹyin awọn agbegbe agbegbe, nitorinaa akoko agbegbe () yoo pada ni akoko kanna bi gmtime (), fun ex.ample.
file:///Applications/microchip/xc8/v2.41/docs/Readme_XC8_for_AVR.htm
Awọn iwe aṣẹ / Awọn orisun
![]() |
MICROCHIP MPLAB XC8 C Alakojo Software Development [pdf] Afọwọkọ eni MPLAB XC8 C, MPLAB XC8 C sọfitiwia Idagbasoke Alakojọ, Sọfitiwia Idagbasoke Alakojọ, Sọfitiwia Idagbasoke, Software |