Tambarin MICROCHIPMPLAB® XC8 C Compiler Version 2.41 Bayanan Sakin Bayanan don AVR® MCU
Littafin Mai shi

MPLAB XC8 C Compiler Development Software

WANNAN TAKARDUN YA KUNSHI MUHIMMAN BAYANI GAME DA MASU CUTAR DA MPLAB XC8 C LOKACIN DA AKE NUFI DA NA'urorin MICROCHIP AVR.
KA KARANTA SHI KAFIN GUDANAR DA WANNAN SOFTWARE. DUBI BAYANIN SAKI NA MPLAB XC8 C DON TAKARDUN HOTO IDAN KANA AMFANI DA COMPRILER DON NA'urorin HOTO 8-BIT.

Ƙarsheview

1.1. Gabatarwa
Wannan sakin Microchip MPLAB® XC8 C mai tarawa ya ƙunshi sabbin abubuwa da yawa da gyaran kwaro.
1.2. Ranar Gina
Ranar ginin hukuma na wannan sigar mai tarawa ita ce 8 ga Fabrairu 2023.
1.3. Sigar Baya
Sigar mai tarawa ta MPLAB XC8 C da ta gabata ita ce 2.40 wanda aka gina akan 3 ga Yuli 2022.
1.4. Manual Tsaro na Aiki
Ana samun Jagorar Tsaro ta Aiki don masu tara MPLAB XC a cikin fakitin takaddun lokacin da ka sayi lasisin aminci na aiki.
1.5. Lasisi da Siffofin Abunda
Ana rubutawa da rarraba MPLAB XC8 C Compiler don kayan aikin AVR MCUs a ƙarƙashin GNU General Public License (GPL) wanda ke nufin cewa ana rarraba lambar tushe ta kyauta kuma tana samuwa ga jama'a.
Ana iya sauke lambar tushe don kayan aikin ƙarƙashin GNU GPL daban daga Microchip's website. Kuna iya karanta GNU GPL a cikin fayil mai suna wanda yake a cikin babban kundin adireshin shigarwar lasisin ku.txt avr/doc directory. Ana iya samun tattaunawa gabaɗaya na ƙa'idodin da ke ƙarƙashin GPL anan.
Lambar goyan baya da aka bayar don fayilolin kan kai, rubutun haɗin gwiwa, da dakunan karatu na lokaci-lokaci lambar ta mallaka ce kuma ba a rufe su a ƙarƙashin GPL.
Wannan mai tarawa aiwatar da sigar GCC 5.4.0, binutils version 2.26, kuma yana amfani da sigar avr-libc 2.0.0.
1.6. Tsarin Bukatun
Mai tarawa MPLAB XC8 C da software na lasisi da yake amfani da su suna samuwa don tsarin aiki iri-iri, gami da nau'ikan 64-bit na masu zuwa: ƙwararrun bugu na Microsoft® Windows® 10; Ubuntu® 18.04; da macOS® 10.15.5. Binaries don Windows an sanya hannu akan lamba. Binaries don macOS an sanya hannu a lamba kuma an ba da sanarwar. Ana samun Sabar lasisin hanyar sadarwa ta MPLAB XC don tsarin aiki iri-iri 64, gami da Microsoft Windows 10 da sama; Ubuntu 18.04 da sama; ko macOS 10.15 da sama. Hakanan uwar garken na iya aiki akan wasu tsarin aiki daban-daban ciki har da Windows Server, rarrabawar Linux, kamar Oracle® Enterprise Linux® da Red Hate Enterprise Linux da kuma tsofaffin nau'ikan tsarin aiki masu goyan baya. Koyaya, ba a gwada uwar garken lasisin hanyar sadarwa na MPLAB XC akan waɗannan tsarin aiki ba. Ana iya gudanar da Sabar Lasisin hanyar sadarwa ta MPLAB XC akan Injinan Virtual na OS mai goyan baya ta amfani da lasisin injin kama-da-wane don lasisin hanyar sadarwa (SW006021-VM). Duk nau'ikan 32-bit na MPLAB XC Network Server an daina farawa daga sigar 3.00.
Na'urorin da aka Tallafa
Wannan mai tarawa yana goyan bayan duk samammun na'urorin AVR MCU 8-bit a lokacin fitarwa. Duba (a cikin kundin adireshi) don jerin duk na'urori masu goyan baya. Waɗannan fayilolin kuma suna jeri
avr_chipinfo.html saitin saitin daidaitawar doc don kowace na'ura.

1.7. Bugawa da Haɓaka Lasisin
Ana iya kunna mai tarawa MPLAB XC8 azaman samfur mai lasisi (PRO) ko mara lasisi (Kyauta). Kuna buƙatar siyan maɓallin kunnawa don lasisin mai tarawa. Lasisi yana ba da damar haɓaka mafi girma idan aka kwatanta da Samfurin Kyauta. Ana iya sarrafa mai tarawa mara lasisi ba tare da lasisi ba. Dole ne a kunna mai tarawa na aikin MPLAB XC8 tare da lasisin aminci mai aiki da aka saya daga Microchip. Mai tarawa ba zai yi aiki ba tare da wannan lasisi ba. Da zarar kun kunna, zaku iya zaɓar kowane matakin ingantawa kuma yi amfani da duk fasalulluka masu tarawa. Wannan sakin na MPLAB XC Mai Haɗin Tsaro na Aiki yana goyan bayan lasisin Sabar hanyar sadarwa.
Dubi daftarin shigarwa da lasisi MPLAB XC C Compilers (DS50002059) don bayani kan nau'ikan lasisi da shigar da mai tarawa tare da lasisi.

1.8. Shigarwa da Kunnawa
Duba kuma Batutuwan ƙaura da sassan iyaka don mahimman bayanai game da sabon manajan lasisi wanda aka haɗa tare da wannan mai tarawa.
Idan kuna amfani da MPLAB IDE, tabbatar da shigar da sabuwar MPLAB X IDE 5.0 ko kuma daga baya kafin shigar da wannan kayan aikin. Bar IDE kafin shigar da mai tarawa. Gudanar da (Windows), (Linux) ko (macOS) .exe .run .app compiler installer aikace-aikacen, misali kuma bi kwatancen kan allo. XC8-1.00.11403-windows.exe Ana ba da shawarar kundin adireshi na tsoho. Idan kana amfani da Linux, dole ne ka shigar da mai tarawa ta amfani da tasha kuma daga tushen asusun. Shigar ta amfani da asusun macOS tare da gata mai gudanarwa.
Ana kunna kunnawa daban don shigarwa. Duba Manajan Lasisi na MPLAB® XC C Compilers (DS52059) don ƙarin bayani.
Idan kun zaɓi gudanar da mai tarawa a ƙarƙashin lasisin kimantawa, yanzu zaku sami gargaɗi yayin haɗawa lokacin da kuke cikin kwanaki 14 na ƙarshen lokacin ƙimar ku. Ana ba da wannan gargaɗin idan kun kasance cikin kwanaki 14 na ƙarshen biyan kuɗin ku na HPA.
Sabar lasisin hanyar sadarwa ta XC daban ce mai sakawa kuma ba a haɗa ta a cikin mai tara mai amfani guda ɗaya ba.
Manajan Lasisi na XC yanzu yana goyan bayan yawo na lasisin hanyar sadarwa mai yawo. An yi niyya ga masu amfani da wayar hannu, wannan fasalin yana ba da damar lasisin yawo don kashe hanyar sadarwa na ɗan gajeren lokaci. Amfani da wannan fasalin, zaku iya cire haɗin yanar gizon kuma har yanzu kuna amfani da mai tarawa na MPLAB XC. Duba babban fayil ɗin doc na shigar XCLM don ƙarin akan wannan fasalin.
MPLAB X IDE ya haɗa da taga lasisi (Kayan aiki> Lasisi) don sarrafa yawo na gani.

1.8.1. Magance Matsalolin Shigarwa
Idan kun fuskanci matsalolin shigar da mai tarawa a ƙarƙashin kowane tsarin aiki na Windows, gwada shawarwari masu zuwa.
Gudanar da shigarwa azaman mai gudanarwa.
Saita izinin aikace-aikacen mai sakawa zuwa 'Full control'. (Danna-dama fayil ɗin, zaɓi Properties, Tsaro shafin, zaɓi mai amfani, gyara.)
Saita izini na babban fayil ɗin temp zuwa 'Full Control'.
Don tantance wurin babban fayil ɗin temp, rubuta % temp% cikin umarnin Run (maɓallin tambarin Windows + R).
Wannan zai buɗe maganganun mai binciken fayil yana nuna waɗancan kundin adireshin kuma zai ba ka damar tantance hanyar wannan babban fayil ɗin.
1.9. Takardun Haɗa
Ana iya buɗe jagororin mai amfani da mai tarawa daga shafin HTML wanda ke buɗewa a cikin burauzar ku lokacin danna maɓallin taimako mai shuɗi a cikin dashboard MPLAB X IDE, kamar yadda aka nuna a hoton.

Idan kuna ginawa don maƙasudin AVR 8-bit, MPLAB® XC8 C Jagorar Mai Amfani don AVR® MCU ya ƙunshi bayani kan waɗannan zaɓuɓɓukan mai haɗawa da fasalulluka waɗanda suka dace da wannan gine-gine.

MICROCHIP MPLAB XC8 C Haɓakawa Software -

1.10.Taimakon Abokin ciniki
Microchip yana maraba da rahotannin kwaro, shawarwari ko sharhi game da wannan sigar mai tarawa. Da fatan za a jagoranci kowane rahoton kwaro ko buƙatun fasalin ta hanyar Tsarin Tallafi.

Sabunta Takardu

Don kan layi da na zamani na takaddun MPLAB XC8, da fatan za a ziyarci Takardun Fasaha na Kan layi na Microchip website. Sabbin ko sabunta takaddun AVR a cikin wannan sakin:

  • MPLAB® XC8 C Jagorar Mai Haɗawa don AVR® MCU (bita G)
  • AVR® GNU Toolchain zuwa MPLAB® XC8 Jagorar Hijira (bita A)
  • Jagorar Mai Amfani Hexmate (bita B)

AVR® GNU Toolchain zuwa MPLAB® XC8 Jagoran Hijira yana bayyana canje-canje zuwa lambar tushe da gina zaɓuɓɓukan da za a iya buƙata idan kun yanke shawarar ƙaura aikin tushen C daga AVR 8-bit GNU Toolchain zuwa Microchip MPLAB XC8 C Compiler. Jagoran Bayanin Laburaren Haɗin Kan Microchip yana bayyana ɗabi'a da mu'amala da ayyukan da Microchip Unified Standard Library ya ayyana, da kuma nufin amfani da nau'ikan ɗakin karatu da macro. Wasu daga cikin waɗannan bayanan an riga an ƙunshe su a cikin MPLAB® XC8 C Jagorar Mai Haɗawa don AVR® MCU. Ƙayyadaddun bayanan ɗakin karatu na na'ura har yanzu yana ƙunshe a cikin wannan jagorar mai tarawa.
Idan kawai kuna farawa da na'urori 8-bit da MPLAB XC8 C Compiler, MPLAB® XC8 Jagorar Mai Amfani don Injiniyoyi Haɗe-AVR® MCUs (DS50003108) yana da bayani kan saita ayyuka a cikin MPLAB X IDE da lambar rubutu don aikin MPLAB XC8 C na farko. Yanzu an rarraba wannan jagorar tare da mai tarawa.
Jagorar mai amfani na Hexmate an yi niyya ne ga waɗanda ke gudanar da Hexmate azaman aikace-aikacen tsayayye.

Me ke faruwa

Wadannan sabbin fasalolin AVR-manufa ne mai tarawa yanzu yana tallafawa. Lambar sigar a cikin ƙananan taken tana nuna sigar mai tarawa ta farko don tallafawa abubuwan da ke biyo baya.
3.1. Shafin 2.41
Taimakon Bootrow (XC8-3053) Mai tarawa zai sanya abun ciki na kowane sashe tare da prefix a.bootrow adireshin 0x860000 a cikin fayil HEX. Ana amfani da waɗannan sassan don ƙwaƙwalwar BOOTROW, wanda aka ƙera don ajiyar maɓalli da sauran amintattun bayanai waɗanda yakamata su kasance masu isa ga bootloader kawai.

Rashin sake dawowa (XC8-3048) Mai tarawa yanzu zai kawar da umarni masu yawa a cikin ayyukan ret tare da tsallen wutsiya lokacin da ake amfani da rubutun mahaɗan al'ada. Wannan kwatankwacin ingantawa ne da wanda aka yi a baya, amma yanzu ana yin shi akan duk sassan marayu, koda kuwa an yi amfani da rubutun mahaɗin da aka saba kuma ba a cikin wasa mafi kyawun tsarin rabo. Canjin nau'in lokaci (XC8-2982, 2932) Nau'in ma'auni na ɗakin karatu na C99, an canza shi daga lokaci_t zuwa nau'in, wanda ke ba da haɓaka girman lambar a wasu dogon ayyuka masu alaƙa da lokaci, kamar. dogon mktime ()
Sabuwar nop (XC8-2946, 2945) An ƙara macro zuwa. Wannan macro yana saka no-NOP() nop aiki umarnin cikin fitarwa.
Sabuntawa zuwa XCLM (XC8-2944) An sabunta manajan lasisin da aka yi amfani da shi tare da mai tarawa kuma yanzu ya fi mai da martani lokacin duba bayanan lasisin mai tarawa.
Trampkira mai kira (XC8-2760) Mai tarawa yanzu zai iya yin maye gurbin umarnin kira na dogon tsari tare da gajeriyar kiran dangi lokacin da dangin umarnin umarnin yawanci ba su wuce kewayon inda za su nufa ba. A wannan yanayin, mai tarawa zai yi ƙoƙarin maye gurbin tare da umarni don kiran kiran umarni wanda zai 'trampoline' kisa zuwa adireshin da ake buƙata, misaliampku: jmp
kira tramp_foo; an kira foo

kira tramp_fofo

tramp_fo:
jmp fo

Wannan haɓakawa, tare da ingantaccen haɓaka kwararar shirin, ana sarrafa shi ta zaɓin -mrelax.

3.2. Shafin 2.40
Sabon tallafin na'ura yana samuwa yanzu don sassan AVR masu zuwa: AT90PWM3, AVR16DD14, AVR16DD20, AVR16DD28, AVR16DD32, AVR32DD14, AVR32DD20, AVR32DD28, AVR32DD32, AVR64DD28, AVR64DD32, AVR64DD48, AVRXNUMXDDXNUMX, AVRXNUMXDDXNUMX, AVRXNUMXDDXNUMX, AVRXNUMXDDXNUMX, AVRXNUMXDDXNUMX, AVRXNUMXDDXNUMX, AVRXNUMXDDXNUMX, AVRXNUMXDDXNUMX, AVRXNUMXDDXNUMX, AVRXNUMXDDXNUMX, AVRXNUMXDDXNUMX, AVRXNUMXDDXNUMX, AVRXNUMXDDXNUMX, AVRXNUMXDDXNUMX, AVRXNUMX, da AVXNUMXEAVRXNUMXEAVRXNUMXEAVR, da AVRXNUMXDXNUMXE .
Ingantattun abstraction na tsari An inganta kayan aikin haɓakawa na tsari (PA) domin a iya amfani da lambar da ke ɗauke da umarnin kiran aiki (/). Wannan zai faru ne kawai idan ba a yi amfani da tari ba don ƙaddamar da mahawara don ko samun ƙimar dawowa daga aikin. Ana amfani da tari lokacin kiran aiki tare da lissafin mahawara mai ma'ana ko lokacin kiran aikin da ke ɗaukar ƙarin gardama fiye da rajistar da aka keɓance don wannan dalili. Ana iya kashe wannan fasalin ta amfani da zaɓi, ko za'a iya kashe ƙayyadaddun tsari gaba ɗaya don fayil ko aiki ta amfani da- da, bi da bi, ko ta amfani da sifa (na musamman) tare da ayyuka daban-daban.
mno-pa-outline-kira -mno-pa-on-file -mno-pa-on-function nopa Lambar ɗaukar hoto macro Mai tarawa yanzu yana bayyana macro idan ingantaccen zaɓi shine __nopa __CODECOV -mcodecov ƙayyadaddun.
Zaɓin ajiyar ƙwaƙwalwar ajiya Yanzu direba zai karɓi xc8-cc -mreserve=space@start: zaɓin ƙare lokacin ginawa don maƙasudin AVR. Wannan zaɓin yana tanadi takamaiman kewayon ƙwaƙwalwar ajiya a cikin ko dai bayanai ko sararin žwažwalwar ajiya na shirye-shirye, yana hana mai haɗin haɗin buɗa lamba ko abubuwa a wannan yanki. Smarter smart IO An sami haɓaka da dama ga ayyukan Smart IO, gami da tweaks gabaɗaya zuwa lambar asali na printf, kula da ƙayyadaddun fasalin %n a matsayin bambance-bambancen mai zaman kansa, haɗawa cikin al'amuran yau da kullun akan buƙatu, ta amfani da gajerun nau'ikan bayanai inda zai yiwu don sarrafa gardamar ayyukan IO, da ƙirƙira lambar gama gari a cikin faɗuwar hannu. Wannan na iya haifar da mahimman lambar da adana bayanai, da kuma ƙara saurin aiwatar da IO.

3.3. Shafin 2.39 (Sakin Tsaron Aiki)
Lasisin Sabar hanyar sadarwa Wannan sakin na MPLAB XC8 Mai Haɗin Tsaro na Aiki yana goyan bayan lasisin Sabar hanyar sadarwa.
3.4. Shafin 2.36
Babu.

3.5. Shafin 2.35
Sabon tallafin na'urar yana samuwa don sassan AVR masu zuwa: ATTINY3224, ATTINY3226, ATTINY3227, AVR64DD14, AVR64DD20, AVR64DD28, da AVR64DD32.
Inganta canjin mahallin Sabon zaɓin -mcall-isr-prologues yana canza yadda ayyukan katsewa ke adana rajista akan shigarwa da kuma yadda ake dawo da waɗancan rijistar lokacin da katsewar ta ƙare. Yana aiki a irin wannan hanya zuwa zaɓi na -mcall-prologues, amma kawai yana rinjayar ayyukan katsewa (ISRs).
Ko da ƙarin ingantattun musanya mahallin Sabon -mgas-isr-prologues zaɓi yana sarrafa lambar sauya mahallin da aka samar don ƙananan ayyukan sabis na katsewa. Lokacin da aka kunna, wannan fasalin zai sa mai haɗawa ya duba ISR don amfani da rajista kuma ya adana waɗannan rajistar da aka yi amfani da su kawai idan an buƙata.
Taswirar walƙiya mai daidaitawa Wasu na'urori a cikin AVR DA da dangin AVR DB suna da SFR (misali FLMAP) waɗanda ke ƙayyadad da ɓangaren 32k na ƙwaƙwalwar ajiyar shirin za a yi taswira a cikin ƙwaƙwalwar ajiyar bayanai. Za a iya amfani da sabon zaɓin zaɓi na mconst-data-in-config-mapped-progmem don samun mahaɗin sanya duk bayanan da suka cancanta a cikin sashin 32k guda ɗaya kuma ta atomatik fara rajistar SFR mai dacewa don tabbatar da cewa an tsara wannan bayanan a cikin sararin ƙwaƙwalwar ajiyar bayanai, inda za a iya samun damar yin amfani da shi sosai.
Matsakaicin Madaidaitan Laburaren Microchip Duk masu tara MPLAB XC za su raba Madaidaitan Laburaren Ma'auni na Microchip, wanda yake yanzu tare da wannan sakin MPLAB XC8. MPLA# XC8 C Jagorar Mai Amfani na AVO MCU baya haɗa da takaddun waɗannan daidaitattun ayyuka. Ana iya samun wannan bayanin yanzu a cikin Jagorar Maganar Labura ta Haɗin Kan Microchip. Lura cewa wasu ayyuka da avr-libc suka bayyana a baya baya samuwa. (Duba aikin Lila.)
Smart I0 A matsayin wani ɓangare na sabbin ɗakunan karatu masu haɗin kai, ayyukan I0 a cikin iyalai na bugawa da scanf yanzu an ƙirƙira su na musamman akan kowane gini, dangane da yadda ake amfani da waɗannan ayyukan a cikin shirin. Wannan zai iya rage yawan albarkatun da shirin ke amfani da shi.
Zaɓin taimako na Smart ICI Lokacin da ake nazarin kira zuwa ayyuka na I0 masu wayo (kamar buga f () ko scanf ()), mai tarawa ba zai iya tantancewa koyaushe daga sigar tsarin ba ko tarar daga mahawara waɗancan na'urorin juyawa da kiran ke buƙata. A baya can, mai tarawa koyaushe ba zai yi zato ba kuma ya tabbatar da cewa an haɗa cikakken ayyuka guda 10 cikin hoton shirin ƙarshe. An ƙara sabon zaɓi - msmart-io-format=fmt don mai amfani zai iya sanar da mai tarawa maimakon mai amfani da ƙayyadaddun ƙayyadaddun juzu'in da ayyuka na I0 masu wayo ke amfani da su waɗanda amfaninsu ba su da tabbas, yana hana haɗin kai tsawon lokaci 10. (Dubi zaɓin smart-io-format don ƙarin cikakkun bayanai.)
Ajiye sassan al'ada A baya can, zaɓi -W1, -section-farawa zaɓi kawai sanya ƙayyadadden sashe a adireshin da ake buƙata lokacin da rubutun mahaɗin ya ayyana ɓangaren fitarwa mai suna iri ɗaya. Lokacin da ba haka lamarin yake ba, an sanya sashin a adireshin da mahaɗin ya zaɓa kuma zaɓin da gaske ya yi watsi da shi. Yanzu za a girmama zaɓin don duk sassan al'ada, koda kuwa rubutun mahaɗin bai bayyana sashin ba. Lura, duk da haka, don daidaitattun sassan, irin waɗannan . rubutu,. bss ko. bayanai, mafi kyawun abin da ya dace zai kasance har yanzu yana da cikakken iko akan sanya su, kuma zaɓin ba zai yi tasiri ba. Yi amfani da zaɓin -ton, -Tsection=addr, kamar yadda aka bayyana a cikin jagorar mai amfani.
3.6. Shafin 2.32
Tarin Jagora Akwai tare da lasisin mai tarawa na PRO, ana iya amfani da fasalin jagorar tari don kimanta iyakar zurfin kowane tari da shirin ke amfani da shi. Yana ginawa da kuma nazarin jadawali kira na shirin, yana ƙayyadadden yawan amfani da kowane aiki, da kuma samar da rahoto, wanda daga ciki za a iya tantance zurfin tarin da shirin ke amfani da shi. An kunna wannan fasalin ta hanyar zaɓin layin umarni -mchp-stack-usage. Ana buga taƙaitaccen amfani da tari bayan aiwatarwa. Ana samun cikakken rahoton tattara bayanai a taswirar file, wanda za'a iya nema ta hanyar da aka saba.
Sabon tallafin na'urar yana samuwa don sassan AVR masu zuwa: ATTINY427, ATTINY424, ATTINY426, ATTINY827, ATTINY824, ATTINY826, AVR32DB32, AVR64DB48, AVR64DB64, AVR64DB28, AVR32DB28, AVR64DB32, AVR32DB48 da Farashin DB16. Tallafin na'urar da aka ja baya baya samuwa ga sassan AVR masu zuwa: AVR28DA16, AVR32DA16 da, AVR48DAXNUMX.
3.7. Shafin 2.31
Babu.
3.8. Shafin 2.30
Sabon zaɓi don hana farawar bayanai Sabon zaɓin direba -mno-data-init yana hana farawar bayanai da share sassan bss. Yana aiki ta hanyar danne fitarwa na do kwafin bayanai kuma yana yin bayyanannun alamun bss a cikin taro files, wanda hakan zai hana haɗa waɗannan abubuwan yau da kullun ta hanyar haɗin gwiwa.
Ingantattun haɓakawa An sami haɓaka haɓakawa da yawa, gami da kau da umarni na dawowa, cire wasu tsalle-tsalle da ke bin koyarwa-if-bit-shi ne, da ingantattun ƙayyadaddun tsari da ikon maimaita wannan tsari. Akwai ƙarin zaɓuɓɓukan yanzu don sarrafa wasu daga cikin waɗannan abubuwan ingantawa, musamman -f sashe-angaren, wanda ke ba da damar yin amfani da abubuwan da suke tsaye dangane da alama ɗaya; -mpa-iterations=n, wanda ke ba da damar canza adadin abubuwan abstraction na tsari daga tsoho na 2; da, -mpa-callcost-shortcall, wanda ke yin ƙarin ɓarna tsarin aiki, a cikin bege cewa mai haɗawa zai iya shakata da dogon kira. Wannan zaɓi na ƙarshe zai iya ƙara girman lambar idan ba a gane ainihin zato ba.
Sabon tallafin na'ura yana samuwa don sassan AVR masu zuwa: AVR16DA28, AVR16DA32, AVR16DA48, AVR32DA28, AVR32DA32, AVR32DA48, AVR64DA28, AVR64DA32, AVR64DA48, AVR64DA64, AVR128DA28 128, AVR32DB128, da AVR48DB128. Retracted device Support Support is no longer available for the following AVR parts: ATA64, ATA5272, ATA5790N, ATA5790, ATA5791, ATA5795, ATA6285, ATA6286C, ATA6612C, ATA6613Q, ATA6614C, ATA6616C, and ATA6617.
3.9. Shafin 2.29 (Sakin Tsaron Aiki)
Kai file don ginannen mahaɗa Don tabbatar da cewa mai haɗawa zai iya dacewa da ƙayyadaddun harshe kamar MISRA, da kai file, wanda aka haɗa ta atomatik ta , an sabunta. Wannan taken yana ƙunshe da samfura don duk ayyukan da aka gina a ciki, kamar buildin_avr_nop ( ) da kuma avr delay_cycles () . Wasu ginanniyar ƙila ba za su dace da MISRA ba; Ana iya barin waɗannan ta ƙara ma'anarXCSTRICT_MISRA zuwa layin umarni mai tarawa. An sabunta abubuwan da aka gina da kuma bayanansu don amfani da ƙayyadaddun nau'ikan faɗin.
3.10. Shafin 2.20
Sabon tallafin na'urar yana samuwa don sassan AVR masu zuwa: ATTINY1624, ATTINY1626, da ATTINY1627.
Ingantacciyar Rarraba mafi kyawun dacewa Mafi kyawun mai rarrabawa (BFA) a cikin mai tarawa an inganta shi ta yadda za'a kasafta sassan cikin tsari da zai ba da damar ingantawa. BFA yanzu tana goyan bayan wuraren adireshi mai suna kuma mafi kyawun sarrafa fara bayanai.
Ingantattun abstraction na tsari Yanzu ana yin ingantattun ƙayyadaddun ƙayyadaddun tsari akan ƙarin jerin lambobi. Abubuwan da suka gabata inda wannan haɓakawa na iya ƙara girman lambar an magance su ta hanyar sanya lambar ingantawa sane da tsarin tattara shara na mahaɗa.
Rashin Mai Taro AVR Ba a haɗa Mai Taro AVR tare da wannan rarrabawa.
3.11. Shafin 2.19 (Sakin Tsaron Aiki)
Babu.
3.12. Shafin 2.10
Rufe Lamba Wannan sakin ya haɗa da fasalin ɗaukar hoto wanda ke sauƙaƙe nazarin gwargwadon yadda aka aiwatar da lambar tushe na aikin. Yi amfani da zaɓi -mcodecov=ram don kunna shi. Bayan aiwatar da shirin akan kayan aikin ku, za a tattara bayanan ɗaukar hoto a cikin na'urar, kuma ana iya canza wannan zuwa kuma nuna shi ta MPLAB X IDE ta hanyar plugin ɗin ɗaukar hoto. Dubi takaddun IDE don bayani akan wannan plugin ɗin ana iya samu. Ana iya amfani da #pragma nocodecov don keɓe ayyuka masu zuwa daga nazarin ɗaukar hoto. Da kyau yakamata a ƙara pragma a farkon file don ware wannan duka file daga nazarin ɗaukar hoto. A madadin, ana iya amfani da _attribute_ (nocodecov)) don ware takamaiman aiki daga nazarin ɗaukar hoto.
Bayanin na'urar files Sabuwar na'ura file mai suna avr_chipinfo . html yana cikin kundin adireshi na rarrabawar mai tarawa. Wannan file ya lissafa duk na'urorin da mai tarawa ke tallafawa. Danna sunan na'ura, kuma zai buɗe shafi yana nuna duk saitin bit ɗin da aka yarda da shi / ƙimar ƙimar waccan na'urar, tare da tsohonamples. Abstraction na tsari
Haɓaka haɓakawa na ƙayyadaddun tsari, waɗanda ke maye gurbin tubalan gama gari na lambar taro tare da kira zuwa kwafin wannan katafaren, an ƙara zuwa mai tarawa. Ana yin waɗannan ta hanyar keɓantaccen aikace-aikacen, wanda mai tarawa ke kira ta atomatik lokacin zaɓin haɓaka matakin 2, 3 ko s. Waɗannan haɓakawa suna rage girman lambar, amma suna iya rage saurin aiwatarwa da kuma lalata lambar. Za a iya kashe ƙayyadaddun tsari a matakan ingantawa mafi girma ta amfani da zaɓi -mno-pa, ko za a iya kunna su a ƙananan matakan ingantawa (batun da lasisin ku) ta amfani da -mpa. Ana iya kashe shi don abu file amfani da -mno-pa-on-file=filesuna, ko an kashe don aiki ta amfani da -mno-pa-on-function=aiki. A cikin lambar tushen ku, za a iya kashe abstraction na tsari don aiki ta amfani da sifa (nopa)) tare da ma'anar aikin, ko ta amfani da nopa, wanda ke faɗaɗa sifa ((nopa, noinline)) kuma don haka yana hana aikin inlining daga faruwa kuma akwai abstraction na lambar da aka haɗa.
Kulle bit support a pragma Za a iya amfani da saitin #pragma yanzu don ƙididdige raƙuman makullin AVR da sauran raƙuman sanyi. Duba avr_chipinfo . html file (wanda aka ambata a sama) don saitin/darajar nau'i-nau'i don amfani da wannan aikin. Sabbin tallafin na'ura yana samuwa don sassa masu zuwa: AVR28DAl28, AVR64DAl28, AVR32DA 128, da AVR48DA 128.
3.13. Shafin 2.05
Ƙarin ragowa don kuɗin ku Tsarin macOS na wannan mai tarawa da manajan lasisi yanzu aikace-aikacen 64-bit ne. Wannan zai tabbatar da cewa mai tarawa zai girka kuma yana aiki ba tare da gargaɗi ba akan sigar macOS na kwanan nan.
Const abubuwa a cikin memorin shirin Mai tarawa yanzu zai iya sanya abubuwan da suka cancanta a cikin shirin Flash memory, maimakon samun waɗannan a cikin RAM. An gyaggyara mai tarawa ta yadda za a adana bayanan t-cancantar bayanan duniya a cikin ma'adanar filasha ta shirin kuma ana iya samun wannan bayanan kai tsaye da kai tsaye ta amfani da umarnin da ya dace na ƙwaƙwalwar ajiya. An kunna wannan sabon fasalin ta tsohuwa amma ana iya kashe shi ta amfani da zaɓin -mno-const-data-in-progmem. Don avrxmega3 da avrtiny architectures, ba a buƙatar wannan fasalin kuma koyaushe ana kashe shi, tunda an tsara ƙwaƙwalwar shirin cikin sararin adireshin bayanan waɗannan na'urori.
Daidaitaccen nau'ikan wannan mai tarawa kyauta (Kyauta) na kyauta yanzu yana ba da damar haɓakawa har zuwa haɗawa da matakin 2. Wannan zai ba da izini makamancin haka, ko da yake ba iri ɗaya ba, fitarwa zuwa abin da zai yiwu a baya ta amfani da Standard lasisi.
Barka da AVRASM2 Mai tarawa AVRASM2 don na'urori 8-bit yanzu an haɗa shi a cikin mai sakawa mai tarawa na XC8. Wannan mai tarawa ba mai tarawa na XC8 ne ke amfani da shi ba, amma ana samunsa don ayyuka dangane da tushen taron da aka rubuta da hannu.
Sabbin tallafin na'ura yana samuwa don sassa masu zuwa: ATMEGA1608, ATMEGA1609, ATMEGA808, da ATMEGA809.

3.14. Shafin 2.00
Babban Direba Sabon direba, mai suna xc8-cc, yanzu yana zaune sama da direban avr-gcc da ya gabata da direban xc8, kuma yana iya kiran mai haɗawa da ya dace dangane da zaɓin na'urar da aka yi niyya. Wannan direban yana karɓar zaɓuɓɓukan irin na GCC, waɗanda ko dai an fassara su ko aka wuce su zuwa ga mai tarawa da ake kashewa. Wannan direban yana ba da damar nau'ikan zaɓuɓɓuka masu kama da nau'ikan tarukan yin amfani da su tare da kowane maƙasudin AVR ko PIC kuma don haka shine shawarar da aka ba da shawarar don kiran mai tarawa. Idan an buƙata, ana iya kiran tsohon direban avr-gcc kai tsaye ta amfani da zaɓin tsohon salo wanda aka karɓa a cikin juzu'in tarawa na baya.
Interface C na gama gari Wannan mai tarawa yanzu zai iya daidaitawa da MPLAB Common C Interface, yana barin lambar tushe ta zama mafi sauƙi a iya aikawa a cikin duk masu tara MPLAB XC. Zaɓin -mext = cci yana buƙatar wannan fasalin, yana ba da damar madadin daidaitawa don haɓaka harshe da yawa.
Sabon direban ɗakin karatu Wani sabon direban ɗakin karatu yana matsayi sama da ma'aikacin ɗakin karatu na PIC na baya da kuma ma'aikacin ɗakin karatu na AVR avr-ar. Wannan direban yana karɓar zaɓuɓɓukan salon GCC-archiver, waɗanda ko dai an fassara su don ko a wuce su ga ma'aikacin ɗakin karatu da ake kashewa. Sabon direban yana ba da damar zaɓi iri ɗaya tare da nau'ikan ilimin tauhidi don amfani da su don ƙirƙira ko sarrafa kowane ɗakin karatu na PIC ko AVR. file don haka ita ce hanyar da aka ba da shawarar don kiran ma'aikacin ɗakin karatu. Idan an buƙata don ayyukan gado, ana iya kiran ma'aikacin ɗakin karatu na baya kai tsaye ta amfani da zaɓin tsohon salon da ya karɓa a cikin sigar mai tarawa a baya.

Batun Hijira

Wadannan siffofi ne waɗanda yanzu ake sarrafa su daban ta wurin mai tarawa. Waɗannan canje-canjen na iya buƙatar gyara zuwa lambar tushe idan aika lambar zuwa wannan sigar mai tarawa. Lambar sigar a cikin ƙananan taken tana nuna sigar mai tarawa ta farko don tallafawa canje-canjen da ke biyo baya.

4.1. Shafin 2.41
An cire ayyukan fma da ba daidai ba (XC8-2913) Babban ɗakin karatu na C99 fma 0 -ayyukan iyali ( ) bai lissafta yawan-ƙara tare da madaidaicin madaidaici zuwa zagaye ɗaya ba, amma a maimakon haka ya tara kurakurai tare da kowane aiki. An cire waɗannan ayyuka daga ɗakin karatu da aka kawo.
4.2. Shafin 2.40
Babu.
4.3. Shafin 2.39 (Sakin Tsaron Aiki)
Babu.
4.4. Shafin 2.36 Babu.
4.5. Shafin 2.35
Gudanar da kirtani-zuwa tushe (XC8-2420) Don tabbatar da daidaito tare da sauran masu tara XC, kirtani na XC8-zuwa ayyuka, kamar strtol () da sauransu, ba za su ƙara yin ƙoƙarin canza kirtan shigarwa ba idan tushen da aka ƙayyade ya fi 36 girma kuma a maimakon haka zai saita errno zuwa EINVAL. Ma'aunin C baya ƙayyadaddun halayen ayyukan lokacin da wannan ƙimar tushe ta wuce.
Haɓaka saurin da bai dace ba Ana kunna haɓakawa na ƙayyadaddun tsari lokacin zaɓin haɓaka matakin 3 (-03). Waɗannan haɓakawa suna rage girman lambar a ƙimar saurin lambar, don haka bai kamata a yi ba. Ayyukan da ke amfani da wannan matakin ingantawa na iya ganin bambance-bambance a girman lambar da saurin aiwatarwa lokacin da aka gina su tare da wannan sakin.
Ayyukan ɗakin karatu Lambar don yawancin daidaitattun ayyukan ɗakin karatu na C yanzu sun fito ne daga Microchip's Unified Standard Library, wanda zai iya nuna halaye daban-daban a wasu yanayi idan aka kwatanta da wanda tsohon ɗakin karatu na avr-libc ya bayar. Don misaliampHar ila yau, ba lallai ba ne don haɗawa a cikin ɗakin karatu na 1printf flt (-1printf_flt zaɓi) don kunna tsararru I0 goyan baya ga ƙayyadaddun ƙayyadaddun tsarin iyo. Mai hankali I0 fasalulluka na Microchip Unified Standard Library yana sa wannan zaɓi ya zama marar amfani. Bugu da ƙari, yin amfani da _P suffixed routines don kirtani da ayyukan ƙwaƙwalwar ajiya (misali strcpy_P ( ) da sauransu..) waɗanda ke aiki akan igiyoyi masu walƙiya ba su da mahimmanci. Daidaitaccen tsarin yau da kullun na C (misali strcpy) zai yi aiki daidai tare da irin waɗannan bayanan lokacin da fasalin ƙwaƙwalwar ajiyar bayanan-in-program ya kunna.

4.6. Shafin 2.32
Babu.
4.7. Shafin 2.31
Babu.
4.8. Shafin 2.30
Babu.
4.1. Shafin 2.29 (Sakin Tsaron Aiki)
Babu.
4.2. Shafin 2.20
Canza shimfidar DFP Mai tarawa yanzu yana ɗaukar tsari na daban wanda DFPs (Fakitin Iyali na Na'ura) ke amfani dashi. Wannan yana nufin cewa tsofaffin DFP bazai aiki tare da wannan sakin ba, kuma tsofaffin masu tarawa ba za su iya amfani da sabbin DFPs ba.
4.3. Shafin 2.19 (Sakin Tsaron Aiki)
Babu.
4.4. Shafin 2.10
Babu
4.5. Shafin 2.05
Const abubuwa a cikin žwažwalwar ajiya na shirin Lura cewa ta tsohuwa, abubuwan da suka cancanta za a sanya su da samun dama ga žwažwalwar ajiyar shirin (kamar yadda aka bayyana hue). Wannan zai shafi girma da saurin aiwatar da aikin ku, amma yakamata a rage amfani da RAM. Ana iya kashe wannan fasalin, idan an buƙata, ta amfani da zaɓin -mnoconst-data-in-progmem.
4.6. Shafin 2.00
Kanfigareshan fuses A halin yanzu ana iya tsara fuses na na'urar ta amfani da config pragma wanda ke biye da saitin-darajar nau'i-nau'i don tantance yanayin fiusi, misali.
#pragma config WDTON = SET
#pragma saita BODLEVEL = BODLEVEL_4V3
Cikakken abubuwa da ayyuka Ana iya sanya abubuwa da ayyuka a takamaiman adireshi a ƙwaƙwalwar ajiya ta amfani da ƙayyadaddun CCI (adireshin), don ex.ampda:
#hada da
int foobar_at (0x800100);
char __at (0x250) getID (int offset) {… }
Hujja ga wannan ma'anar dole ne ta kasance akai-akai wanda ke wakiltar adireshin da za a sanya byte ko umarni na farko. Ana nuna adiresoshin RAM ta amfani da 0x800000. Kunna CCI don amfani da wannan fasalin.
Sabuwar aikin katse aiki Mai tarawa yanzu yana karɓar ma'anar CCI _interrupt (num) don nuna cewa ayyukan C masu katsewa ne. Mai ƙayyadewa yana ɗaukar lambar katsewa, misaliampda:
#hada da
banza __katse(SPI_STC_vect_num) spi_Isr(void) { …

Kafaffen batutuwa

Wadannan su ne gyare-gyaren da aka yi wa mai tarawa. Waɗannan na iya gyara kurakurai a cikin lambar da aka ƙirƙira ko canza aikin mai tarawa zuwa abin da aka yi niyya ko ƙayyadadden jagorar mai amfani. Lambar sigar da ke cikin ƙananan kanun labarai tana nuna sigar mai tarawa ta farko don ƙunsar gyare-gyare ga al'amurran da suka biyo baya. Alamar maƙallan da ke cikin take ita ce gano batun a cikin bayanan sa ido. Waɗannan na iya zama masu amfani idan kuna buƙatar tuntuɓar tallafi.
Lura cewa ana gyara wasu batutuwa na musamman na na'ura a cikin Fakitin Iyali na Na'ura (DFP) masu alaƙa da na'urar. Duba Manajan Fakitin MPLAB don bayani kan canje-canjen da aka yi ga DFPs da kuma zazzage sabbin fakitin.

5.1. Shafin 2.41
Matsalar Dongle akan Ventura (XC8-3088) Dongles da aka yi amfani da shi don yin lasisin mai tarawa ƙila ba a karanta shi da kyau akan rundunonin macOS Ventura ba, wanda ya haifar da gazawar lasisi. Canje-canje ga manajan lasisi na XCLM ya gyara wannan batun.
Alamar da ba daidai ba na rarraba ƙwaƙwalwar ajiya (XC8-2925) Ƙoƙarin ware SIZE_MAX bytes (ko ƙimar kusa da wannan) na ƙwaƙwalwar ajiya ta amfani da daidaitattun ayyukan sarrafa ƙwaƙwalwar ajiyar ɗakin karatu (malloc () et al) yayi nasara kuskure. Ba a yi la'akari da cewa ana buƙatar ƙarin bytes ban da toshe da aka nema lokacin amfani da aiwatar da rarraba ƙwaƙwalwar ajiya mai ƙarfi mai sauƙi. Yanzu za a dawo da alamar NULL kuma a saita kuskure zuwa ENOMEM a irin waɗannan yanayi.
An cire ayyukan FM mara kyau (XC8-2913) Babban ɗakin karatu na C99 fma ( ) -aikin iyali ( ) bai lissafta yawan-ƙara tare da madaidaicin madaidaici zuwa zagaye ɗaya ba, amma a maimakon haka ya tara kurakurai tare da kowane aiki. An cire waɗannan ayyuka daga ɗakin karatu da aka kawo.
Mummunar mu'amalar musanya kirtani (XC8-2921, XC8-2652) Lokacin da 'jerin jigo' don jujjuyawa ta strtod Cr ya ƙunshi abin da ya bayyana a matsayin lamba mai iyo a cikin tsari mai ma'ana kuma akwai yanayin da ba a zata ba bayan halayen e/E, sannan inda aka ba da endptr, an sanya adireshin da ke nuna alamar bayan e/E, alhali ya kamata ya kasance yana nuni ga e/E ɗin da kansa, tunda ba a canza shi ba. Domin misaliample, strtod ("100exx", & ep) yakamata ya dawo 100.00 kuma saita ep don nuna sashin "exx" na kirtani, yayin da aikin yana dawo da ƙimar daidai amma saita ep don nunawa zuwa sashin "xx" na kirtani.

5.2. Shafin 2.40
An saki jiki sosai (XCS-2876) Lokacin amfani da zaɓi na -mrelax, mai tarawa baya keɓance wasu sassan tare, yana haifar da ƙarancin ƙima mara kyau. Wannan na iya faruwa tare da lambar da ta yi amfani da sabbin ɗakunan karatu na MUSL ko tare da alamun rauni.
Ba a kashe fasalin taswira kamar yadda aka faɗa a cikin gargaɗi (XC8-2875) Siffar const-data-in-config-mappedprogmem ta dogara ne akan fasalin const-data-in-progmem da ake kunna. Idan an kunna fasalin const-data-inconfig-mapped-progmem ta hanyar amfani da zaɓin kuma an kashe fasalin const-data-inprogmem, matakin haɗin ya gaza, duk da saƙon faɗakarwa da ke nuna cewa fasalin const-data-in-con fig-mapped-progmem ɗin an kashe shi ta atomatik, wanda bai yi daidai ba. Siffar shirin-const-data-in-config-mapped-progmem yanzu an kashe shi gabaɗaya a wannan yanayin.
DFP ya canza don samun dama ga NVMCTRL daidai (XC8-2848) Lambar farawa lokacin aiki da na'urorin AVR64EA ke amfani da ita ba ta yi la'akari da cewa rijistar NVMCTRL tana ƙarƙashin Kariyar Canjin Kanfigareshan (CCP) kuma ba ta sami damar saita I0 SFR zuwa shafin da fasalin const-data-in-configmapped-progmem compiler ke amfani da shi. Canje-canjen da aka yi a cikin nau'in AVR-Ex_DFP 2.2.55 zai ba da damar lambar farawa ta lokacin aiki ta rubuta daidai ga wannan rijistar.
DFP yana canzawa don gujewa taswirar walƙiya (XC8-2847) An aiwatar da wani aiki-kusa don matsala tare da fasalin na'urar taswira mai walƙiya da aka ruwaito a cikin AVR128DA28/32/48/64 Silicon Errata (D580000882). Ba za a yi amfani da fasalin mai haɗa bayanai-in-config-mapped-progmem ta tsohuwa don na'urorin da abin ya shafa ba, kuma wannan canjin zai bayyana a sigar AVR-Dx_DFP 2.2.160.
Gina kuskure tare da sinhf ko coshf (XC8-2834) Ƙoƙarin yin amfani da sinhf () ko coshf () ayyukan ɗakin karatu ya haifar da kuskuren hanyar haɗin gwiwa, yana kwatanta bayanin da ba a bayyana ba. Bacewar aikin da aka ambata yanzu an haɗa shi a cikin rarrabawar mai tarawa.
Gina kurakurai tare da nopa (XC,8-2833) Yin amfani da sifa na nopa tare da aikin da aka ƙayyade sunan mai haɗa shi ta amfani da asm ( ) ya jawo saƙon kuskure daga mai tarawa. Wannan haɗin ba zai yiwu ba.
Rashin aiki iri-iri tare da mahawara mai nuni (XC8-2755, XC8-2731) Ayyuka tare da madaidaicin adadin mahawara suna tsammanin za a wuce masu nunin 24-bit (nau'in memx) a cikin jerin mahawara mai ma'ana lokacin da aka kunna fasalin const-data-in-progmem. An ba da hujjar da suka kasance masu nuni ga ƙwaƙwalwar ajiyar bayanai azaman abubuwa 16-bit, suna haifar da gazawar lambar lokacin da aka karanta su a ƙarshe. Lokacin da aka kunna fasalin constdata-in-progmem, duk gardamar masu nuni 16-bit yanzu an canza su zuwa masu nuni 24-bit.
Ayyukan ɗakin karatu na strtoxxx sun gaza (XC8-2620) Lokacin da aka kunna fasalin const-data-in-progmem, ba a sabunta ma'aunin endptr a cikin ayyukan laburare na strtoxxx yadda ya kamata don muhawarar kirtani na tushe ba cikin ƙwaƙwalwar shirin ba.
Faɗakarwa don simintin gyaran kafa mara inganci (XC8-2612) Mai tarawa yanzu zai fitar da kuskure idan an kunna fasalin const-in-progmem kuma an jefa adreshin kirtani na zahiri a sarari zuwa sararin adireshi na bayanai (watsar da qualifier), don tsohonample, (uint 8_t *) "Hello Duniya!". Gargadi yana da matsala idan adireshi na iya zama mara inganci lokacin da aka jefar da mai nuni a sarari zuwa sarari adreshin bayanai.
Sanya abubuwan da ba a sani ba (XC8-2408) Abubuwan da ba a san su ba da maɓalli masu canzawa ba a sanya su cikin ƙwaƙwalwar shirye-shiryen akan na'urorin da ke taswirar gaba ɗaya ko ɓangaren ƙwaƙwalwar shirin su zuwa sararin adireshi na bayanai. Don waɗannan na'urori, irin waɗannan abubuwa yanzu ana sanya su cikin ƙwaƙwalwar shirin, suna yin aikin su daidai da sauran na'urori.

5.3. Shafin 2.39 (Sakin Tsaron Aiki)
Babu.
5.4. Shafin 2.36
Kuskure lokacin jinkirta (XC8-2774) Ƙananan canje-canje a cikin tsoho na haɓaka yanayin kyauta ya hana naɗe-kaɗe na operand akai-akai zuwa ayyukan ginannun jinkiri, wanda ya sa ana kula da su a matsayin waɗanda ba na yau da kullun ba kuma suna haifar da kuskure: avr delay_cycles na ginawa yana tsammanin za a tattara adadin lokaci akai-akai.
5.5. Shafin 2.35
Rarraba ci gaba ta amfani da _at (XC8-2653) Rarraba wurare da yawa na abubuwa da yawa a cikin sashe mai suna iri ɗaya da amfani da _at ( ) bai yi aiki daidai ba. Domin misaliampda:
const char arr1[] __siffar__((sashe (“.mysec”))) __at (0x500) = {0xAB, 0xCD};
const char arr2[] __siffar__((sashe (“.mysec”))) = {0xEF, 0xFE};
yakamata a sanya arr2 nan da nan bayan arr1.
Ƙayyadaddun adiresoshin fara sashe (XC8-2650) The -W1, -sashe-fara zaɓin shiru ya kasa sanya sassan a adireshin farawa da aka zaɓa. An gyara wannan batu don kowane yanki mai suna; duk da haka, ba zai yi aiki ga kowane daidaitattun sassan ba, kamar . rubutu ko . bss, wanda dole ne a sanya shi ta amfani da zaɓi -W1, -T.
Linker yana faɗuwa lokacin shakatawa (XC8-2647) Lokacin da aka kunna haɓakawa -mrelax kuma akwai lambar ko sassan bayanai waɗanda basu dace da ƙwaƙwalwar ajiyar da ke akwai ba, mahaɗin ya fado. Yanzu, a irin wannan yanayin, ana ba da saƙonnin kuskure maimakon.

Babu fadowa-baya (XC8-2646) The – ba a aiwatar da zaɓin nofallback daidai ba, ko kuma an rubuta shi. Ana iya zaɓar wannan yanzu don tabbatar da cewa mai tarawa ba zai koma baya zuwa mafi ƙarancin haɓakawa ba idan mai tarawa ba shi da lasisi, kuma a maimakon haka zai ba da kuskure.

Haɓaka saurin da bai dace ba (X03-2637) Ana kunna haɓakawa na ƙayyadaddun tsari lokacin zaɓin haɓaka matakin 3 (-03). Waɗannan haɓakawa suna rage girman lambar a ƙimar saurin lambar, don haka bai kamata a yi ba.
Mummunan EEPROM shiga (XC8-2629). Eeprom_read_block na yau da kullun bai yi aiki daidai akan na'urorin Xmega ba lokacin da zaɓin -mconst-data-in-progmem ya kunna (wanda shine tsohuwar yanayin), yana haifar da ƙwaƙwalwar EEPROM ba a karanta daidai ba.
Rarraba ƙwaƙwalwar ajiya mara inganci (XC8-2593, XC8-2651) Lokacin da -Ttext ko -Tdata zaɓi zaɓi (na misaliample wucewa ta hanyar amfani da zaɓi na direba -vl) an ƙayyade, an sabunta rubutun / asalin yankin daidai; duk da haka, ba a daidaita adireshin ƙarshen daidai ba, wanda zai iya haifar da yankin ya wuce iyakar ƙwaƙwalwar ajiyar na'urar.
Crash tare da aikin da ya wuce gona da iri (XC8-2580) Mai tarawa ya fado idan an ayyana aiki ta amfani da fiye da ɗaya daga cikin katsewa, sigina ko nmi halayen, misali, sifa ( ( sigina , katsewa ) ).
Lambar katsewar ATtiny mara inganci (XC8-2465) Lokacin ginawa don na'urorin ATtiny kuma an kashe haɓakawa (-00), ƙila ayyukan katsewa sun jawo opera da saƙon mai haɗawa da kewayo.
Zaɓuɓɓukan da ba a wucewa ta (XC8-2452) Lokacin amfani da zaɓin tare da mahara, zaɓuɓɓukan mahaɗa masu waƙafi, ba duk zaɓukan mahaɗin da aka wuce zuwa mahaɗin ba.
Kuskure a kaikaice karanta ƙwaƙwalwar ajiyar shirin (X03-2450) A wasu lokuta, mai tarawa ya haifar da kuskuren ciki (insn wanda ba a iya gane shi ba) lokacin karanta ƙimar byte biyu daga mai nuni zuwa ƙwaƙwalwar shirin.
5.6. Shafin 2.32
Hanya na biyu na Laburare ta kasa (XC8-2381) Kiran sigar Windows na xc8-ar. .exe ma'ajiyar ajiyar laburare a karo na biyu don samun damar rumbun ajiyar laburare mai yuwuwa ta gaza tare da kasa sake suna saƙon kuskure.
5.7. Shafin 2.31
Mai tarawa mara bayani gazawa (XC8-2367) Lokacin gudana akan dandamali na Windows waɗanda ke da tsarin tsarin wucin gadi da aka saita zuwa hanyar da ta haɗa da digo '.' hali, mai tarawa ƙila ya kasa aiwatarwa.
5.8. Shafin 2.30
Alamun duniya ba daidai ba ne bayan fayyace (XC8-2299) Lambar taro da aka rubuta da hannu wanda ke sanya alamun duniya a cikin jerin abubuwan taro waɗanda aka fitar ta hanyar abstraction na ƙila ba a sake mayar da su daidai ba.
Hadari mai annashuwa (XC8-2287) Yin amfani da zaɓin -mrelax na iya haifar da mai haɗin haɗin gwiwa ya faɗi lokacin da inganta yanayin shakatawa na wutsiya ya yi ƙoƙarin cire umarnin ja da baya waɗanda ba a ƙarshen sashe ba.
Crashi lokacin inganta tambura azaman ƙima (XC8-2282) Lambar ta yin amfani da "Lakabi a matsayin dabi'u" tsawo na harshe na GNU C na iya haifar da ingantawar tsarin aiki don yin karo, tare da kewayon VMA da aka Ƙayyadad da shi ya wuce kuskuren gyarawa.
Ba haka ba (XC8-2271) Samfura don st rstr () da sauran ayyuka daga ba a ƙara ƙididdige ƙa'idodin cancantar ƙaƙƙarfan ƙididdiga ba akan masu nunin kirtani da aka dawo lokacin da fasalin -mconst-data-inprogmem ya ƙare. Lura cewa tare da avrxmega3 da avrtiny na'urorin, ana kunna wannan fasalin har abada.
Batattu masu farawa (XC8-2269) Lokacin fiye da an sanya maɓalli ɗaya a cikin sashin fassarar a cikin sashe (ta yin amfani da _section ko _attribute_ ((bangare))), kuma farkon irin wannan canjin ya kasance sifili wanda aka ƙaddamar da shi ko bashi da mai farawa, masu farawa don wasu masu canji a cikin rukunin fassarar guda ɗaya waɗanda aka sanya a cikin sashe ɗaya sun ɓace.
5.1. Shafin 2.29 (Sakin Tsaron Aiki)
Babu.
5.2. Shafin 2.20
Kuskure tare da dogayen umarni (XC8-1983) Lokacin amfani da maƙasudin AVR, mai tarawa ƙila ya tsaya tare da a file ba a sami kuskure ba, idan layin umarni yana da girma sosai kuma yana ƙunshe da haruffa na musamman irin wannan ƙididdiga, ja da baya, da sauransu.
Sashin rodata da ba a sanya shi ba (XC8-1920) Mai haɗin AVR ya kasa sanya ƙwaƙwalwar ajiya don sassan rodata na al'ada lokacin ginawa don avrxmega3 da gine-ginen avrtiny, mai yuwuwar haifar da kurakuran haɗewar ƙwaƙwalwar ajiya.
5.3. Shafin 2.19 (Sakin Tsaro na Aiki)
Babu.
5.4. Shafin 2.10
Rashin sakewa (XC8-1891) Mafi kyawun mai rarrabawa yana barin 'ramukan' ƙwaƙwalwar ajiya a tsakanin sassan bayan annashuwa mai haɗawa. Baya ga ɓangarorin ƙwaƙwalwar ajiya, wannan yana ƙara yuwuwar samun gazawar mahaɗar mahaɗan da ke da alaƙa da tsalle-tsalle na pc ko kiran zama daga kewayo.
Umarnin da ba a canza su ta hanyar annashuwa ba (XC8-1889) shakatawa na Linker bai faru ba don tsalle ko umarnin kira wanda maƙasudinsa ya zama abin da za a iya kaiwa idan an natsu.
Bace ayyuka (XC8E-388) Ma'anoni da yawa daga , kamar clock_div_t da clock_prescale set () , ba a bayyana su don na'urori ba, gami da ATmega324PB, ATmega328PB, ATtiny441, da ATtiny841.
Bace macros Masu tarawa ba su bayyana macrosssor _XC8_MODE_, _XC8_VERS ION, _XC, da _XC8 ta atomatik. Waɗannan suna nan yanzu.
5.5. Shafin 2.05
Kuskuren mai tarawa na ciki (XC8-1822) Lokacin gini a ƙarƙashin Windows, ƙila an ƙirƙiri kuskuren mai tarawa na ciki lokacin inganta lamba.
Ba a gano kwararar RAM ba (XC8-1800, XC8-1796) Shirye-shiryen da suka wuce adadin RAM ɗin mai tarawa bai gano shi ba a wasu yanayi, yana haifar da gazawar lambar runtime.
Ƙwaƙwalwar ƙwaƙwalwar ajiya da aka cire (XC8-1792) Don avrxmega3 da avrtiny na'urorin, mai yiwuwa ɓangarorin žwažwalwar ajiyar filasha sun kasance ba a tsara su ta hanyar MPLAB X ba. IDE.
Rashin aiwatar da babban (XC8-1788) A wasu yanayi inda shirin ba shi da ma'anar ma'auni na duniya, lambar lokacin farawa ba ta fita ba kuma babban aikin ( ) bai taɓa isa ba.
Bayanan ƙwaƙwalwar ajiya mara daidai (XC8-1787) Don na'urorin avrxmega3 da avrtiny, shirin avr-size yana ba da rahoton cewa bayanan karanta-kawai suna cin RAM maimakon ƙwaƙwalwar ajiyar shirin.
Ƙwaƙwalwar ajiyar shirin ba daidai ba (XC8-1783) Ayyukan da aka haɗa don na'urori masu ƙwaƙwalwar ajiyar shirin da aka tsara a cikin sararin adireshi na bayanai kuma waɗanda ke ayyana abubuwa ta amfani da macro/siffar PROGMEM na iya karanta waɗannan abubuwan daga adireshin da ba daidai ba.
Kuskuren ciki tare da halaye (XC8-1773) An sami kuskuren ciki idan kun ayyana abubuwa masu nuni tare da
_at () ko sifa() alamomi tsakanin sunan mai nuni da nau'in da aka soke, don ex.ample, char*
_at (0x800150) cp; Ana ba da gargaɗi yanzu idan an ci karo da irin wannan lambar.
Rashin aiwatar da babban (XC8-1780, XC8-1767, XC8-1754) Yin amfani da masu canji na EEPROM ko ayyana fiusi ta amfani da config pragma na iya haifar da farawar bayanan da ba daidai ba da/ko kulle aiwatar da shirin a cikin lambar farawa na lokaci, kafin isa ga babba ().
Kuskuren Fuse tare da ƙananan na'urori (XC8-1778, XC8-1742) Na'urorin attiny4/5/9/10/20/40 suna da tsayin fius mara daidai da aka ƙayyade a cikin taken su. files wanda ke haifar da kurakuran mahaɗan lokacin ƙoƙarin gina lambar da ta ayyana fuses.
Rabewa Laifi (XC8-1777) An gyara kuskuren rabuwar lokaci.
Hadarin mai tarawa (XC8-1761) Mai yiwuwa mai haɗawa avr-as ya faɗo lokacin da aka gudanar da mai tarawa a ƙarƙashin Ubuntu 18.
Abubuwan da ba a share su ba (XC8-1752) Ƙilawa ba a share abubuwa na tsawon lokaci na ma'ajiya ba ta hanyar lambar farawa ta lokacin aiki.
An yi watsi da ƙayyadaddun na'urori masu rikici (XC8-1749) Mai tarawa baya haifar da kuskure lokacin da aka yi amfani da zaɓuɓɓukan ƙayyadaddun na'urori da yawa da kuma nuna na'urori daban-daban.
Lalacewar ƙwaƙwalwar ajiya ta tudu (XC8-1748) The An saita alamar _heap_start ba daidai ba, wanda ya haifar da yuwuwar gurɓata wasu masu canji ta hanyar tulin.
Kuskuren canja wurin mahaɗin (XC8-1739) Mai yiwuwa an fitar da kuskuren canja wurin mahaɗa lokacin da lambar ta ƙunshi rjmp ko kira tare da manufa daidai 4k bytes nesa.
5.6. Shafin 2.00
Babu.

Abubuwan da aka sani

Wadannan su ne iyakoki a cikin aikin mai tarawa. Waɗannan na iya zama ƙuntatawa na ƙididdigewa gabaɗaya, ko karkacewa daga bayanan da ke ƙunshe a cikin littafin jagorar mai amfani. Alamar maƙallan da ke cikin take ita ce gano wannan batu a cikin bayanan sa ido. Wannan na iya zama fa'ida idan kuna buƙatar tuntuɓar tallafi. Waɗancan abubuwan waɗanda ba su da takalmi iyakoki ne waɗanda ke bayyana modi operandi kuma waɗanda wataƙila za su ci gaba da aiki na dindindin.
6.1. MPLAB X IDE Haɗin kai
MPLAB IDE Haɗin kai Idan za a yi amfani da Compiler daga MPLAB IDE, to dole ne ka shigar da MPLAB IDE kafin shigar da Compiler.
6.2. Code Generation
Segfault tare da zaɓin sashe-anga (XC8-3045) Shirin wanda ya ayyana ayyuka tare da jerin mahawara mai ma'ana kuma waɗanda ke amfani da zaɓin -fsection-anchors na iya haifar da kuskuren mai tarawa na ciki: Laifin rarraba.
Bayanin gyara kuskure bai daidaita ba (XC8-2948) Lokacin haɓaka haɓakawar haɗin gwiwa yana raguwa umarni (misaliampdon kiran umarnin kira), layin tushe don magance taswirorin ƙila ba za su ci gaba da aiki tare ba lokacin da akwai ayyukan raguwa fiye da ɗaya da ke faruwa a cikin sashe.
A cikin tsohonample, akwai kira guda biyu zuwa foo waɗanda suka ƙare cikin annashuwa zuwa kiran dangi.
Rashin rarraba ƙwaƙwalwar ajiya na PA (XC8-2881) Lokacin amfani da na'urori masu haɓakawa na tsari, mahaɗin zai iya ba da rahoton kurakuran rarraba ƙwaƙwalwar ajiya lokacin da girman lambar ya kusa da adadin ƙwaƙwalwar ajiyar shirin akan na'urar, kodayake shirin ya kamata ya dace da sararin samaniya.
Ba haka ba Smart-I0 (XC8-2872) Siffar smart-io mai tarawa zai samar da inganci amma mafi kyawun lambar don aikin snprint f idan fasalin const-data-in-progmem ya kasance nakasa ko kuma idan na'urar tana da dukkan taswirar filasha a cikin ƙwaƙwalwar bayanai.
Ko da ƙasa da Smart-I0 (XC8-2869) Siffar smart-io mai tarawa zai samar da ingantacciyar lamba amma mafi kyawun lamba lokacin da zaɓin -flto da -fno-builtin ana amfani da su duka.
Ƙirƙirar bayanai na karantawa kawai (XC8-2849) Mai haɗawa a halin yanzu bai san sassan ƙwaƙwalwar ajiya na APPCODE da APPDATA ba, haka kuma [Ba-Karanta-Yayin-Rubuta rarrabuwa a cikin taswirar ƙwaƙwalwar ajiya. Sakamakon haka, akwai ƙaramin dama cewa mahaɗin zai iya ware bayanan karantawa kawai a cikin yankin da bai dace da ƙwaƙwalwar ajiya ba. Damar kuskuren bayanan yana ƙaruwa idan an kunna fasalin const-data-in-progmem, musamman idan fasalin shirin-const-data-in-config-mapped-progmem shima yana kunna. Ana iya kashe waɗannan fasalulluka idan an buƙata.
Abu file tsari (XC8-2863) Oda a cikin abin da abubuwa files za a sarrafa ta hanyar mahaɗin zai iya bambanta dangane da amfani da ingantaccen haɓakawa (zaɓin-mpa). Wannan zai shafi lamba kawai wanda ke ayyana ayyuka masu rauni a cikin nau'ikan kayayyaki da yawa.
Kuskuren mahaɗin tare da cikakkiyar (XC8-2777) Lokacin da wani abu ya kasance cikakke a adireshin farkon RAM kuma an bayyana abubuwan da ba a fara ba, za a iya haifar da kuskuren mahaɗan.
Gajerun ID na farkawa (XC8-2775) Don na'urorin ATA5700/2, rajistar PHIDO/1 an bayyana shi kawai a matsayin faɗin 16-bit, maimakon faɗin 32.
Hadarin haɗin haɗin gwiwa lokacin kiran alamar (XC8-2758) Mai haɗin haɗin zai iya faɗuwa idan aka yi amfani da zaɓin direban -mrelax lokacin da lambar tushe ta kira alamar da aka ayyana ta amfani da zaɓin -cc., -de f sym linker.
Farawa mara daidai (XC8-2679) Akwai sabani ne tsakanin inda ake sanya ƙimar farko na wasu abubuwa masu girman girman byte na duniya a cikin ƙwaƙwalwar bayanai da kuma inda za'a sami dama ga masu canji a lokacin aiki.
Mummunan kiran aikin kai tsaye (XC8-2628) A wasu lokuta, kiran aikin da aka yi ta hanyar ma'anar aiki da aka adana azaman ɓangaren tsari na iya gazawa.
strtof ya dawo da sifili don hexadecimal floats (XC8-2626) Ayyukan laburare strtof et al da scanf ( ) et al, koyaushe za su canza lambar madaidaicin madaidaicin hexadecimal wanda baya ƙayyadad da mai magana zuwa sifili. Domin misaliampda:
strtof ("Oxl", & endptr);
zai dawo da darajar 0, ba I.
Saƙon mai ba da shawara mara inganci (XC8-2542, XC8-2541) A wasu lokuta, ba a fitar da gargaɗin mai ba da shawara game da maimaitawa ko tari mara iyaka da aka yi amfani da shi (wataƙila ta hanyar amfani da alloca()).
Rashin gazawa tare da kwafin katse code (XC8-2421) Inda aikin katse fiye da ɗaya ke da jiki iri ɗaya, mai tarawa zai iya samun fitarwa don aikin katse ɗaya kira ɗayan. Wannan zai haifar da adana duk rajistar da aka rufe da kira ba dole ba, kuma za a kunna katsewa tun kafin bayyanar mai sarrafa katsewar yanzu ta gudana, wanda zai iya haifar da gazawar lambar.
Fitarwa mara kyau tare da hanyar DFP mara inganci (XC8-2376) Idan an kira mai tarawa tare da ingantacciyar hanyar DFP da 'takaice'. file akwai don na'urar da aka zaɓa, mai tarawa baya ba da rahoton fakitin dangin na'urar da ya ɓace a maimakon haka yana zaɓar 'spec' file, wanda zai iya haifar da fitarwa mara inganci. 'Spec' files maiyuwa bazai kasance na zamani tare da DFPs da aka rarraba ba kuma an yi nufin amfani da su tare da gwajin tarawa na ciki kawai.
Ƙwaƙwalwar ajiya ba a gano ba (XC8-1966) Mai tarawa baya gano ma'aunin žwažwalwar ajiya na abubuwan da aka yi cikakku a adireshi (ta _at ( )) da sauran abubuwa ta amfani da ma'anar sashe ( ) da ke da alaƙa da adireshin iri ɗaya.
Rashin gazawa tare da ayyukan ɗakin karatu da _memx (XC8-1763) Da ake kira libgcc ayyukan iyo tare da hujja a cikin sararin adireshin memx na iya gazawa. Lura cewa ana kiran ayyukan labura daga wasu ma'aikatan C, don haka, ga misaliample, lambar mai zuwa ta shafi:
dawo regFloatVar> memxFloatVar;
Ƙarfin aiwatar da libgcc (AVRTC-731) Don samfuran ATTiny4/5/9/10/20/40, daidaitaccen aikin ɗakin karatu na C / Math a cikin libgcc yana da iyaka sosai ko babu.
Ƙayyadaddun ƙwaƙwalwar ajiyar shirin (AVRTC-732) Hotunan ƙwaƙwalwar ajiyar shirin fiye da 128 kb ana tallafawa ta hanyar kayan aiki; duk da haka, akwai sanannun lokuttan haɗin gwiwa na zubar da ciki ba tare da annashuwa ba kuma ba tare da saƙon kuskure mai taimako ba maimakon samar da kayan aikin da ake buƙata lokacin amfani da zaɓin -mre lax.
Iyakokin sarari suna (AVRTC-733) Wuraren adireshi masu suna suna samun goyan bayan sarkar kayan aiki, dangane da iyakoki da aka ambata a cikin sashin jagorar mai amfani Masu cancanta Nau'in Musamman.
Yankunan lokaci The Ayyukan laburare suna ɗaukar GMT kuma basa goyan bayan yankunan lokaci na gida, don haka lokacin gida ( ) zai dawo daidai lokacin gmtime (), don ex.ample.

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

Takardu / Albarkatu

MICROCHIP MPLAB XC8 C Compiler Development Software [pdf] Littafin Mai shi
MPLAB XC8 C, MPLAB XC8 C Software Development Compiler, Compiler Development Software, Software Development, Software

Magana

Bar sharhi

Ba za a buga adireshin imel ɗin ku ba. Ana yiwa filayen da ake buƙata alama *