MICROCHIP MPLAB XC8 C Nivîsbariya Berhevkar
EV BELGEYÊN GIRÎNG AGAHIYÊN GIRÎNG LI SER KOMPILERÊ MPLAB XC8 C DE DENGÊN MICROCHIP AVR DIXWAZIN.
Ji kerema xwe BERÎ VÊ NERMEMERÊ BIDIN BIXWÎNE. JI BO BELGEYÊN PIC'ê HEKE KU TU KOMPILER JI BO CAMAZÊN PIC 8-BÎT BIKARANÎNIN NÎŞANÊN BERXWEDANÊN KOMPILERÊ MPLAB XC8 C BIBIN.
Serview
Pêşkêş
Ev berdana berhevkarê Microchip MPLAB® XC8 C gelek taybetmendiyên nû, rastkirinên xeletiyan, û piştgiriya cîhaza nû vedihewîne.
Dîroka Avakirinê
Dîroka avakirina fermî ya vê guhertoya berhevkerê 3 Tîrmeh 2022 ye.
Guhertoya Berê
Guhertoya berhevkarê MPLAB XC8 C ya berê 2.39 bû, berhevkarek ewlekariya fonksiyonel, ku di 27ê Çileyê 2022-an de hatî çêkirin. Berhevkarê standard ê berê guhertoya 2.36 bû, ku di 27-ê Rêbendana 2022-an de hatî çêkirin.
Manual Ewlekariya Fonksiyonel
Dema ku hûn destûrnameyek ewlehiya fonksiyonel bikirin, Manualek Ewlehiya Karkerî ya ji bo berhevkarên MPLAB XC di pakêta belgekirinê de heye.
Lîsans û Guhertoyên Component
MPLAB® XC8 C Compiler ji bo Amûrên AVR MCU di bin Lîsansa Giştî ya Giştî ya GNU (GPL) de têne nivîsandin û belav kirin, ku tê vê wateyê ku koda çavkaniya wê bi serbestî tê belavkirin û ji gel re peyda dibe. Koda çavkaniyê ji bo amûrên di bin GNU GPL de dibe ku ji Microchip-ê cuda were daxistin website. Hûn dikarin GNU GPL-ê di nav de bixwînin file bi navê pelrêça pelrêça weya sazkirinê ye. Gotûbêjek gelemperî ya prensîbên bingehîn ên GPL dikare li vir were dîtin. Koda piştevaniyê ji bo sernavê hatî peyda kirin files, nivîsarên girêdanê, û pirtûkxaneyên dema xebitandinê kodên xwedan in û di bin GPL-ê de nagirin.
Ev berhevkar pêkanîna GCC guhertoya 5.4.0, binutils guhertoya 2.26, û avr-libc guhertoya 2.0.0 bikar tîne.
Pêdiviyên Sîstemê
Berhevkarê MPLAB XC8 C û nermalava lîsansê ya ku ew bikar tîne ji bo cûrbecûr pergalên xebitandinê hene, di nav de guhertoyên 64-bit ên jêrîn: Weşanên pîşeyî yên Microsoft Windows 10; Ubuntu 18.04; û macOS 10.15.5. Binaryên ji bo Windows-ê hatine kodkirin. Binaryên ji bo mac OShave bi kod-îmza û noter hatine pejirandin.
Heke hûn serverek lîsansa torê dimeşînin, tenê komputerên bi pergalên xebitandinê yên ku ji hêla berhevkeran ve têne piştgirî kirin dikarin ji bo mêvandariya servera lîsansê werin bikar anîn. Ji guhertoya xclm 2.0, servera lîsansa torê dikare li ser platformek Microsoft Windows Server were saz kirin, lê servera lîsansê ne hewce ye ku li ser guhertoyek serverê ya pergala xebitandinê bixebite.
Amûrên Piştgirî
Ev berhevkar hemî amûrên AVR MCU yên 8-bit ku di dema berdanê de têne zanîn piştgirî dike. Ji bo navnîşek hemî amûrên piştgirî (di pelrêça belgeya berhevkerê de) binêre. Eva fileDi heman demê de ji bo her amûrekê mîhengên bitê yên veavakirinê jî navnîş dike.
Weşan û Upgrades License de
Berhevkarê MPLAB XC8 dikare wekî hilberek destûrdar (PRO) an bê destûr (Belaş) were çalak kirin. Pêdivî ye ku hûn mifteyek aktîfkirinê bikirin da ku destûrnameya berhevkarê xwe bidin. Lîsans li gorî hilbera Belaş rê dide astek çêtir çêtirbûnê. Berhevkarek bê destûr dikare bêyî destûrnameyek bêsînor were xebitandin.
Pêdivî ye ku berhevkarek Ewlehiya Karkerî ya MPLAB XC8 bi destûrnameyek ewlehiya fonksiyonel a ku ji Microchip hatî kirîn ve were çalak kirin. Berhevkar bêyî vê lîsansê naxebite. Piştî ku were çalak kirin, hûn dikarin asta xweşbîniyê hilbijêrin û hemî taybetmendiyên berhevkerê bikar bînin. Ev berdana Berhevkarê Ewlehiya Karkerî ya MPLAB XC Destûrnameya Pêşkêşkara Torgilokê piştgirî dike.
Ji bo agahdariya li ser celebên destûrnameyê û sazkirina berhevkarê bi destûrnameyê, li belgeya Sazkirin û Destûrdayîna Compilers MPLAB XC C (DS50002059) binêre.
Sazkirin û Çalakkirin
Ji bo agahdariya girîng di derbarê rêveberê lîsansê yê herî paşîn de ku bi vê berhevkarê re tê de, li beşên Pirsgirêkên Koçberiyê û Sînorkirinê jî binêre.
Ger MPLAB IDE bikar bînin, berî ku hûn vê amûrê saz bikin pê ewle bin ku hûn guhertoya herî dawî ya MPLAB X IDE ya 5.0 an nûtir saz bikin. Berî sazkirina berhevkerê IDE-yê biterikînin. Serlêdana sazkerê berhevkarê .exe (Windows), .run (Linux) an sepanê (macOS), mînak XC8-1.00.11403-windows.exe bixebitîne û rêwerzên li ser ekranê bişopîne.
Peldanka sazkirinê ya xwerû tê pêşniyar kirin. Heke hûn Linux bikar tînin, divê hûn berhevkarê bi karanîna termînalek û ji hesabek root saz bikin. Bi karanîna hesabek macOS-ê bi îmtiyazên rêveberê saz bikin.
Çalakkirin niha ji bo sazkirinê ji hev cuda tê kirin. Ji bo bêtir agahdarî li Gerînendeyê Lîsansê ya Belgeyê ji bo Berhevkarên MPLAB® XC C (DS52059) binêre.
Ger hûn hilbijêrin ku berhevkerê di bin lîsansa nirxandinê de bimeşînin, hûn ê naha di dema berhevkirinê de gava ku hûn di nav 14 rojan de ji dawiya serdema nirxandina xwe de bin, hişyariyek bistînin. Heman hişyarî tê dayîn heke hûn di nav 14 rojan de ji dawiya abonetiya xwe ya HPA re bin.
Pêşkêşkara Lîsansa Tora XC sazkerek cihêreng e û di sazkera berhevkerê yek-karker de tune ye.
Rêvebirê Lîsansa XC naha roaminga lîsansên torê yên herikîn piştgirî dike. Armanc ji bikarhênerên mobîl re, ev taybetmendî dihêle ku destûrnameyek herikîn ji bo demek kurt ji torê derkeve. Bi karanîna vê taybetmendiyê, hûn dikarin ji torê qut bibin û hîn jî berhevkarê xwe MPLAB XC bikar bînin. Ji bo bêtir li ser vê taybetmendiyê peldanka belgeya sazkirina XCLM-ê bibînin. MPLAB X IDE pencereyek Lîsansê vedihewîne (Amûr > Lîsans) da ku bi dîtbarî roamingê birêve bibe.
Çareserkirina Pirsgirêkên Sazkirinê
Heke hûn di sazkirina berhevkarê di bin yek ji pergalên xebitandinê yên Windows-ê de dijwariyan dibînin, pêşniyarên jêrîn biceribînin.
- Sazkirinê wekî rêveberê bimeşînin.
- Destûrên serîlêdana sazkerê wekî 'Kontrola tevahî' bicîh bikin. (Rast-klîk bike file, Taybetmendî, tabloya Ewlekariyê hilbijêrin, bikarhêner hilbijêrin, biguherînin.)
- Destûrên peldanka demsalê li ser "Kontrola tevahî!
Ji bo destnîşankirina cîhê peldanka demsalê, %temp% di fermana Run de binivîsin (bişkojka logoya Windows + R). Ev dê veke a file diyaloga explorer wê pelrêçê nîşan dide û dê bihêle ku hûn riya wê peldankê diyar bikin.
Belgekirina Berhevkar
Rêbernameyên bikarhêner ên berhevker dikare ji rûpela HTML-ê ya ku di geroka we de vedibe vebe dema ku bişkoja alîkariyê ya şîn a di tabloya MPLAB X IDE de bitikîne, wekî ku di dîmenê de hatî destnîşan kirin.
Ger hûn ji bo armancên AVR-ya 8-bit ava dikin, Rêbernameya Bikarhêner a Berhevkarê MPLAB® XC8 C ji bo AVR® MCU agahdariya li ser wan vebijarkên berhevkar û taybetmendiyên ku ji bo vê mîmariyê têne bicîh kirin vedihewîne.
Piştgiriya Mişterî
Microchip di derbarê vê guhertoya berhevkar de pêşwaziya rapor, pêşniyar an şîroveyên xeletiyê dike. Ji kerema xwe raporên xeletiyê an daxwazên taybetmendiyê bi Pergala Piştgiriyê verast bikin.
Nûvekirinên Belgekirinê
Ji bo guhertoyên serhêl û nûjen ên belgeyên MPLAB XC8, ji kerema xwe biçin Belgekirina Teknîkî ya Serhêl ya Microchip website.
Di vê serbestberdanê de belgeyên AVR-ya nû an nûvekirî:
- Daxuyaniya mafnasiyê ya MUSL
- Sazkirin û Lîsanskirina Berhevkarên MPLAB XC C (guhertoya M)
- Rêbernameya Bikarhêner!-ya MPLAB XC8 ji bo Endezyarên Embedded - AVR MCU (guhertoya A)
- Rêbernameya Bikarhêner!-ya Berhevkarê MPLAB XC8 C ji bo AVR MCU (guhertoya F)
- Rêbernameya Referansê ya Pirtûkxaneya Standard a Yekgirtî ya Microchip (guhertoya B)
Rêbernameya Referansê ya Pirtûkxaneya Standard a Yekgirtî ya Microchip tevger û pêwendiya bi fonksiyonên ku ji hêla Pirtûkxaneya Standard a Yekgirtî ya Microchip ve hatî destnîşan kirin, û her weha karanîna armanckirî ya celeb û makroyên pirtûkxaneyê diyar dike. Hin ji van agahdarî berê di Rêbernameya Bikarhêner!-a Berhevkarê MPLAB® XC8 C de ji bo AVR® MCU-yê hebû. Agahdariya pirtûkxaneya taybet a cîhazê hîn jî di vê rêberê berhevkar de heye.
Ger hûn nû dest bi cîhazên 8-bit û Berhevkarê MPLAB XC8 C dikin, Rêbernameya Bikarhêner MPLAB® XC8 ji bo Endezyarên Embedded - AVR® MCU (DS50003108) li ser sazkirina projeyan di MPLAB X IDE û koda nivîsandinê de agahdarî hene. ji bo projeya weya yekem MPLAB XC8 C. Ev rênîşander niha bi berhevkerê re tê belavkirin.
Rêbernameya Bikarhêner Hamate di vê serbestberdanê de di pelrêça belgeyan de cih girtiye. Ev rêber ji bo kesên ku Hamate wekî serîlêdanek serbixwe dimeşînin tê armanc kirin.
Çi Nû ye
Li jêr taybetmendiyên nû yên AVR-armanca ku berhevkar nuha piştgirî dike hene. Hejmara guhertoya di binsernavan de guhertoya yekem a berhevkerê destnîşan dike ku taybetmendiyên ku li pey têne piştgirî kirin.
Guhertoya 2.40
Piştgiriya cîhaza nû Piştgiriya niha ji bo beşên AVR-ê yên jêrîn heye: AT90PWM3, AVR16DD14, AVR16DD20, AVR16DD28, AVR16DD32, AVR32DD14, AVR32DD20, AVR32DD28, AVR32DD32, AVR64AVDEA 28EA64.
Raberkirina prosedurê çêtir kirin Amûra optîmîzekirinê ya abstrakasyona prosedurî (PA) hatîye çêtir kirin da ku koda ku rêwerzek bangewaziya fonksiyonê vedihewîne (bibîrxistina bangê)) were destnîşan kirin. Ev ê tenê pêk were ger stek ji bo derbaskirina argumanan neyê bikar anîn û ne jî nirxa vegerê ji fonksiyonê werdigire. Stack dema gazîkirina fonksiyonek bi navnîşek argumanek guhêrbar an jî dema gazîkirina fonksiyonek ku ji qeydên ku ji bo vê armancê hatine destnîşan kirin bêtir argumanan digire tê bikar anîn. Ev taybetmendî dikare bi karanîna vebijarka monk-pa-outline-calls were neçalak kirin, an jî abstraction prosedurî dikare ji bo tiştek bi tevahî were asteng kirin. file an jî bi karanîna -monk-pa-on- kar bikinfile û -mo.-pa-on-function bi rêzê ve, an jî bi karanîna taybetmendiya nipa (nîpa diyarker) bi bijartî digel fonksiyonan
Makroya vegirtina kodê Ger vebijarkek mcodecov ya derbasdar were destnîşan kirin berhevkar naha makro __CODECOV diyar dike.
Vebijarka veqetandina bîranînê Ajokarê xc8-cc wê naha dema ku ji bo armancên AVR ava dike vebijarka -mreserve=space@start: dawiya qebûl bike. Ev vebijêr rêza bîranînê ya diyarkirî di cîhê bîranîna daneyan an bernameyê de vedihewîne, nahêle ku lînker kod an tiştên li vê deverê bicivîne.
IO jîrtir Gelek çêtirkirin di fonksiyonên Smart IO de hatine çêkirin, di nav de guheztinên giştî yên koda bingehîn a printf, girtina %n diyarkerê veguheztinê wekî guhertoyek serbixwe, li ser daxwazê rûtînên vararg pop girêdide, li cîhê ku gengaz be ji bo birêvebirina argumanên fonksiyona IO cûreyên daneyên kurt bikar tînin. , û faktorkirina koda hevpar di firehiya zeviyê û hilgirtina rast de. Ev dikare bibe sedema hilanîna kod û daneya girîng, û her weha leza darvekirinê ya IO zêde bike.
Guhertoya 2.39 (Rapekirina Ewlehiya Karker)
Network Server License Ev berdana Berhevkara Ewlehiya Karkerî ya MPLAB XC8 Destûrnameya Pêşkêşkara Torgilokê piştgirî dike.
Guhertoya 2.36
Netû.
Guhertoya 2.35
Piştgiriya cîhaza nû Piştgirî ji bo beşên AVR yên jêrîn heye: ATTINY3224, ATTINY3226, ATTINY3227, AVR64DD14, AVR64DD20, AVR64DD28, û AVR64DD32.
Guhertina kontekstê ya çêtir Vebijarka nû -mcall-isr-prologues diguhezîne ka fonksiyonên navberê çawa tomaran di têketinê de tomar dikin û dema ku rûtîn qutbûnê bi dawî dibe ew tomar çawa têne nûve kirin. Ew bi rengek mîna vebijarka -mcall-prologues dixebite, lê tenê bandorê li fonksiyonên navberê (ISR) dike.
Veguheztina kontekstê hîn çêtirtir Vebijarka nû -mgas-isr-prologues, koda xuşînê ya ku ji bo rûtînên karûbarê qutkirina piçûk hatî hilberandin kontrol dike. Dema ku were çalak kirin, ev taybetmendî dê ji bo karanîna tomarê ISR-ê bişopîne û heke hewce be tenê van tomarên hatine bikar anîn hilîne.
Nexşeya flashê ya mîhengbar Hin cîhazên di malbata AVR DA û AVR DB de xwedî SFR (mînak FLMAP) ne ku diyar dike ku kîjan beşa 32k ya bîranîna bernameyê dê di bîra daneyê de were nexşandin. Vebijarka nû - mconst-data-in-config-mapped-proem dikare were bikar anîn da ku lînker hemî daneyên pêbawer di yek beşê 32k de bi cîh bike û bixweber qeyda SFR-ya têkildar bide destpêkirin da ku pê ewle bibe ku ev dane di cîhê bîranîna daneyê de nexşe ye. , ku ew ê bi bandortir bigihîje.
Pirtûkxaneyên Standard ên Yekgirtî yên Microchip Hemî berhevkarên MPLAB XC dê Pirtûkxaneya Standardek Yekgirtî ya Microchip parve bikin, ku naha bi vê serbestberdana MPLAB XC8 re peyda dibe. Rêbernameya Bikarhêner / an AVR® MCU Compiler MPLAB® XC8 C êdî belgeyên van fonksiyonên standard nagire. Naha ev agahdarî dikare di Rêbernameya Referansê ya Pirtûkxaneya Standard a Yekgirtî ya Microchip de were dîtin. Bala xwe bidinê ku hin fonksiyonên ku berê ji hêla avr-libc ve hatî destnîşan kirin êdî tune. (Binêre Pirtûkxane):'. fonksiyonel…)
Smart IO Wekî beşek ji pirtûkxaneyên nû yên yekbûyî, fonksiyonên IO-yê yên di malbatên çapkirin û şopandinê de naha li ser her avahîsaziyê têne çêkirin, li ser bingeha ka van fonksiyonan di bernameyê de çawa têne bikar anîn. Ev dikare çavkaniyên ku ji hêla bernameyê ve têne bikar anîn bi giranî kêm bike.
Vebijarka arîkariya Smart IO Dema ku bangên fonksiyonên IO-ya jîr (wek printf () an scanf () analîz dike, berhevkar her gav nikare ji rêzika formatê diyar bike an ji argumanan wan diyarkerên veguheztinê yên ku ji bangê re hewce dike derxe holê. Berê, berhevkar dê her gav texmînan neke û piştrast bike ku fonksiyonên IO-ya bi tevahî fonksiyonel bi wêneya bernameyê ya paşîn ve hatine girêdan. Vebijêrkek nû - msmart-io-format=fmt hate zêdekirin da ku berhevkar li şûna wê bikaribe ji hêla bikarhêner ve ji diyarkerên veguheztinê yên ku ji hêla fonksiyonên IO-ya jîr ve têne bikar anîn ku karanîna wan nezelal e, agahdar bike, rê li ber girêdana rûtînên IO-ya pir dirêj dirêj digire. (Ji bo bêtir agahdarî Vebijêrkek smart-io-format binêre.)
Cihkirina beşên xwerû Berê, vebijarka -Wl, –beş-destpêk tenê beşa diyarkirî li navnîşana daxwazkirî bi cîh kir dema ku skrîpta lînkerê beşek derketinê bi heman navî diyar kir. Dema ku ew ne wusa bû, beş li navnîşek ku ji hêla girêdanê ve hatî hilbijartin hate danîn û vebijark bi bingehîn hate paşguh kirin. Naha vebijark dê ji bo hemî beşên xwerû were rêz kirin, hetta ku skrîpta girêdanê beşê diyar neke. Lêbelê, bala xwe bidin ku ji bo beşên standard, yên weha. text,. bss an. daneyan, veqetankerê herî baş dê hîn jî li ser cîhkirina wan xwedan kontrolek bêkêmasî be, û vebijark dê bandorek nebe. Vebijarka -Wl, -Tsection=lê zêde bike, wekî ku di rêbernameya bikarhêner de hatî destnîşan kirin bikar bînin.
Guhertoya 2.32
Stack Guidance Bi lîsansek berhevkerê PRO-yê heye, taybetmendiya rêberiya stikê ya berhevker dikare were bikar anîn da ku kûrahiya herî zêde ya her stekek ku ji hêla bernameyê ve hatî bikar anîn texmîn bike. Ew grafika bangê ya bernameyekê çêdike û analîz dike, karanîna stackê ya her fonksiyonê destnîşan dike, û raporek çêdike, ku jê dikare kûrahiya stûnên ku ji hêla bernameyê ve têne bikar anîn were destnîşan kirin. Ev taybetmendî bi vebijarka rêzika fermanê -mchp-stack-usage ve tê çalak kirin. Kurteya karanîna stackê piştî darvekirinê tê çap kirin. Di nexşeyê de raporek stackê ya berfireh heye file, ku dikare bi awayê asayî were xwestin.
Piştgiriya cîhaza nû piştgirî dike ji bo beşên AVR yên jêrîn heye: ATTINY 427, ATTINY 424, ATTINY 426, ATTINY827, ATTINY824, ATTINY826, AVR32DB32, AVR64DB48, AVR64DB64, AVR64DB28, AVR32DB28, AVR64DB32, AVR32DB48, AVRXNUMX, AVRXNUMX, AVRXNUMX, AVRXNUMX, AVRXNUMX, AVRXNUMXBAVD RXNUMXDBXNUMX.
Piştgiriya amûrê vekişand êdî ji bo beşên AVR yên jêrîn peyda nabe: AVR16DA28, AVR16DA32 û, AVR16DA48.
Guhertoya 2.31
Netû.
Guhertoya 2.30
Vebijarka nû ji bo pêşîgirtina destpêkirina daneyan Vebijarka ajokerê ya nû -mno-data-ini t pêşî li destpêkirina daneyan û paqijkirina beşên bss digire. Ew bi tepisandina derketina daneya do_ copy_ û d o_ zelal_ bss sembolên di civînê de dixebite. files, ku dê di encamê de pêşî li tevlêbûna wan rûtînên ji hêla girêdanê ve bigire.
Optimîzasyonên pêşkeftî Hejmarek çêtirkirinên xweşbîniyê hatine çêkirin, di nav de rakirina rêwerzên vegerê yên zêde, rakirina hin bazdan li dû rêwerzek skip-eger-bit-is, û abstrakasyona pêvajoyê ya çêtir û şiyana dubarekirina vê pêvajoyê.
Vebijarkên pêvek naha hene ji bo kontrolkirina hin ji van xweşbîniyan, bi taybetî lengerên beşa -f, ku destûrê dide gihîştina tiştên statîk ku li gorî yek sembolê bêne kirin; -mpai derations=n, ku dihêle ku jimara dubareyên abstraksiyonê yên prosedurî ji 2-ya xwerû were guheztin; û, -mpa- lêçûna lêçûn- kurtajanî, ku abstraksyonek prosedurek tundtir pêk tîne, bi hêviya ku lîner dikare bangên dirêj rehet bike. Ev vebijarka paşîn dikare mezinahiya kodê zêde bike ger texmînên bingehîn neyên fêhm kirin.
Piştgiriya cîhaza nû Piştgirî ji bo beşên AVR yên jêrîn heye: AVR16DA28, AVR16DA32,
AVR16DA48, AVR32DA28, AVR32DA32, AVR32DA48, AVR64DA28, AVR64DA32, AVR64DA48, AVR64DA64, AVR128DB28, AVR128DB32, AVR128DB48, AVR128DB64, AVRXNUMXDAXNUMX, AVRXNUMXDAXNUMX,
Piştgiriya amûrê vekişand Piştgirî êdî ji bo beşên AVR yên jêrîn tune: ATA5272, ATA5790, ATA5790N, ATA5791, ATA5795, ATA6285, ATA6286, ATA6612C, ATA6613C, ATA6614Q, ATA6616C, ATA6617C, ATA664251, û
Guhertoya 2.29 (Rapekirina Ewlehiya Karker)
Header file ji bo berhevkerên çêkirî Ji bo ku bicîh bikin ku berhevkar dikare li gorî taybetmendiyên zimanî yên wekî MISRA tevbigere, header file, ku bixweber ji hêla , hatiye nûkirin. Di vê sernivîsê de prototîpên ji bo hemî fonksiyonên çêkirî hene, wek _buil tin _avrnop () û _buil tin_ avr delay_ cycles () . Dibe ku hin çêkirî li gorî MISRA nebin; ev dikarin bi zêdekirina pênase _Xe_ STRICT_ MISRA li rêzika fermanê ya berhevkerê werin derxistin. Avakirin û danezanên wan hatine nûve kirin da ku celebên firehiya sabît bikar bînin.
Guhertoya 2.20
Piştgiriya cîhaza nû Piştgirî ji bo beşên AVR yên jêrîn heye: ATTINY1624, ATTINY1626, û ATTINY1627.
Dabeşkirina çêtirîn çêtirîn çêtirîn Di berhevkerê de veqetandina herî baş (BFA) hate baştir kirin da ku beş bi rêzek ku destûrê dide xweşbîniyek çêtir were veqetandin. BFA naha cîhên navnîşan ên binavkirî piştgirî dike û çêtirîn destpêkirina daneyê digire.
Raberkirina prosedurê çêtir kirin Optimîzasyonên abstraksiyonê yên prosedurî naha li ser bêtir rêzikên kodê têne kirin. Rewşên berê yên ku dibe ku vê xweşbîniyê qebareya kodê zêde bikira, bi agahdarkirina koda xweşbîniyê ji pêvajoya berhevkirina çopê ya lînkerê hatî çareser kirin.
Nebûna Assembler AVR AVR Assembler êdî di nav vê belavkirinê de nemaye.
Guhertoya 2.19 (Rapekirina Ewlehiya Karker)
Netû.
Guhertoya 2.10
Vegirtina Kodê Ev vedan taybetmendiyek vegirtina kodê vedihewîne ku analîza asta ku koda çavkaniyê ya projeyek hatî darve kirin hêsan dike. Vebijarka -mcodecov=ram bikar bînin da ku wê çalak bikin. Piştî darvekirina bernameyê li ser hardware we, agahdariya vegirtina kodê dê di cîhazê de were berhev kirin, û ev dikare ji hêla MPLAB X IDE ve bi pêvekek pêvekêşana kodê ve were veguheztin û xuyang kirin. Ji bo agahdariya li ser vê pêvekê dikare were bidestxistin, belgeya IDE-ê bibînin. Dibe ku #pragma mcodecov were bikar anîn da ku fonksiyonên paşîn ji analîza vegirtinê dûr bixe. Bi îdeal divê pragma di destpêkê de were zêdekirin file ji bo ku ew tevahî derxînin file ji analîza vegirtinê. Wekî din, taybetmendî ((mcodecov)) dikare were bikar anîn da ku fonksiyonek taybetî ji analîza vegirtinê derxîne.
Danasîna cîhazê files Amûrek nû file navê avr chipinfo. html di pelrêça belgeyên belavkirina berhevkerê de cih digire. Ev file hemî amûrên ku ji hêla berhevkar ve têne piştgirî kirin navnîş dike. Li ser navek cîhazê bikirtînin, û ew ê rûpelek veke ku hemî mîhengên mîhengê / nirxê bit ên destûrkirî yên ji bo wê cîhazê, bi examples.
Abstraction prosedural Optimîzasyonên abstraksiyonê yên prosedurî, ku şûna blokên hevpar ên koda kombûnê bi bangên kopiyek jêkirî ya wê blokê digirin, li berhevkerê hatine zêdekirin. Vana ji hêla serîlêdanek veqetandî ve têne kirin, ku dema ku asta 2, 3 an xweşbîniyên hilbijartî bixweber ji hêla berhevkar ve tê gazî kirin. Van optimîzasyonan qebareya kodê kêm dikin, lê dibe ku ew leza darvekirinê û xeletiya kodê kêm bikin.
Abstrakasyona prosedurî dikare di astên xweşbîniya bilind de bi karanîna vebijarka -mno-pa were neçalak kirin, an jî bi karanîna -mpa dikare di astên optimîzasyona jêrîn de (li gorî lîsansa we) were çalak kirin. Ew dikare ji bo tiştek neçalak bibe file bikaranîna -mno-pa-on-file=filenav, an ji bo fonksiyonek bi karanîna -mno-pa li ser fonksiyonê = fonksiyonê neçalak kirin.
Di hundurê koda çavkaniya we de, abstrakasyona prosedurê dikare ji bo fonksiyonek bi karanîna _taybet_ ( (nopa)) bi pênaseya fonksiyonê, an jî bi karanîna _nopa, ku berbi taybetmendiyê ( (nopa, noinline)) ve berfireh dibe û bi vî rengî rê li ber cîbicîkirina fonksiyonê digire, were asteng kirin. û li wir abstrakasyona koda xêzkirî heye.
Piştgiriya bit di pragmayê de Lock Veavakirina #pragma naha dikare were bikar anîn da ku bitên kilîtkirina AVR û her weha bitên din ên veavakirinê diyar bike. Agahdariya çîpê avr kontrol bikin. html file (li jor behs kirin) ji bo cotên mîheng/nirx ku bi vê pragmayê re bikar bînin.
Piştgiriya cîhaza nû Piştgirî ji bo beşên jêrîn heye: AVR28DA128, AVR64DA128, AVR32DA128, û AVR48DA128.
Guhertoya 2.05
Ji bo dravê we bêtir bit Guhertoya macOS ya vê berhevkar û rêveberê lîsansê naha serîlêdanek 64-bit e. Ev ê piştrast bike ku berhevkar dê li ser guhertoyên dawî yên macOS-ê bêyî hişyariyê saz bike û bixebite.
Di bîranîna bernameyê de hêmanên bikêrhatî Berhevkar niha ji dêvla ku van di RAM-ê de bi cih bike, dikare tiştên ku bi kêrî const-kalîte di bîra Flash-ê ya bernameyê de bin bi cih bike. Berhevkar hate guheztin da ku daneyên gerdûnî yên qayîlkirî di bîra flash-a bernameyê de werin hilanîn û rasterast û nerasterast bi karanîna rêwerzên bername-bîra guncan ve werin gihîştin van daneyan. Ev taybetmendiya nû ji hêla xwerû ve hatî çalak kirin lê dikare bi karanîna vebijarka -mno-const-data-in-progmem were neçalak kirin. Ji bo mîmariya avrxmega3 û avrtiny, ev taybetmendî ne hewce ye û her gav neçalak e, ji ber ku bîranîna bernameyê di cîhê navnîşana daneya van cîhazan de tête nexşandin.
Standard belaş Guhertoyên bêdestûr (Belaş) ên vê berhevkarê naha destûrê didin optimîzasyonên heta asta 2 û di nav de. Ev dê destûrê bide derketinek bi heman rengî, her çend ne wekî hev be, ya ku berê bi karanîna destûrnameyek Standard gengaz bû.
Bi xêr hatî AVRASM2 Berhevkarê AVRASM2 ji bo cîhazên 8-bit naha di sazkerê berhevkarê XC8 de cih digire. Ev berhevkar ji hêla berhevkarê XC8 ve nayê bikar anîn, lê ji bo projeyên ku li ser çavkaniya kombûna destnivîskirî ye peyda dibe.
Piştgiriya cîhaza nû Piştgirî ji bo beşên jêrîn heye: ATMEGA1608, ATMEGA1609, ATMEGA808, û ATMEGA809.
Guhertoya 2.00
Driver-asta Top Ajokarek nû, bi navê xc8-cc, naha li jor ajokarê avr-gcc-ya berê û ajokarê xc8 rûniştiye, û ew dikare li ser bingeha hilbijartina cîhaza mebest gazî berhevkarê guncan bike. Ev ajokar vebijarkên şêwaza GCC-ê qebûl dike, yên ku ji bo berhevkarê hatî darve kirin têne wergerandin an jî derbas dibin. Ev ajoker dihêle ku komek vebijarkên bi heman rengî bi semantîkên wekhev re bi her armancek AVR an PIC re were bikar anîn û bi vî rengî awayê pêşniyarkirî ye ku meriv berhevkerê bang bike. Ger hewce be, ajokarê avr-gcc ê kevn dikare rasterast bi karanîna vebijarkên kevnar ên ku ew di guhertoyên berhevkar ên berê de qebûl kirine were gazî kirin.
Navbera C ya hevpar Ev berhevkar naha dikare bi navbeynkariya MPLAB Common C re tevbigere, ku dihêle koda çavkaniyê bi hêsanî li hemî berhevokên MPLAB XC were şandin. Vebijarka -mext=cci vê taybetmendiyê daxwaz dike, hevoksaziya alternatîf ji bo zêdekirina gelek zimanan çalak dike.
Ajokarê pirtûkxaneya nû Ajokerek pirtûkxaneyek nû li jor pirtûkxaneya PIC-a berê û pirtûkxaneya avr-ar a AVR-ê ye. Ev ajokar vebijarkên şêwaza GCC-archiver-ê qebûl dike, ku ji bo pirtûkxanevana hatî darvekirin an têne wergerandin an jî derbas dibin. Ajokara nû dihêle ku komek vebijarkên bi heman rengî yên bi semantîkên wekhev werin bikar anîn da ku pirtûkxaneyek PIC an AVR biafirînin an manîpule bikin. file û ji ber vê yekê awayê pêşniyarkirî ye ku meriv pirtûkxanevan vedixwîne. Ger ji bo projeyên mîras hewce bike, pirtûkxanevana berê dikare rasterast bi karanîna vebijarkên kevnar ên ku di guhertoyên berhevkar ên berê de qebûl kirine were gazî kirin.
Pirsgirêkên Koçberiyê
Li jêr taybetmendî hene ku naha ji hêla berhevkar ve bi rengek cûda têne rêve kirin. Heke kodê ji vê guhertoya berhevkerê re were veguheztin, dibe ku ev guhertin hewceyê guheztina koda çavkaniya we bin. Hejmara guhertoya di binsernavan de guhertoya yekem a berhevkerê destnîşan dike ku piştgirî dide guheztinên ku li pey têne kirin.
Guhertoya 2.40
Netû.
Guhertoya 2.39 (Rapekirina Ewlehiya Karker)
Netû.
Guhertoya 2.36
Netû.
Guhertoya 2.35
Rakirina bingehên string-to (XCS-2420) Ji bo ku bi berhevkerên din ên XC re hevgirtî bin, fonksiyonên XC8 string-to, mîna strtol () hwd., dê êdî hewil nedin ku rêzika têketinê biguhezînin ger bingeha ku hatî destnîşan kirin ji 36-an mezintir be û li şûna wê xeletiyê li EINVAL-ê saz bike. Dema ku ev nirxa bingehîn derbas dibe standarda C tevgera fonksiyonan diyar nake.
Optimîzasyonên bilez ên neguncayî Dema ku xweşbîniyên asta 3 (-03) hildibijêrin xweşbîniyên abstraksiyonê yên prosedurî hatin çalak kirin. Van optimîzasyonan li gorî leza kodê mezinahiya kodê kêm dikin, ji ber vê yekê divê nehata kirin. Projeyên ku vê asta xweşbîniyê bikar tînin dema ku bi vê serbestberdanê re têne çêkirin dibe ku cûdahiyên di mezinahiya kodê û leza darvekirinê de bibînin.
Fonksiyona pirtûkxaneyê Koda gelek fonksiyonên pirtûkxaneya standard C naha ji Pirtûkxaneya Standard a Yekgirtî ya Microchip tê, ku dibe ku di hin rewşan de tevgerek cûda nîşan bide li gorî ya ku ji hêla pirtûkxaneya avr-libc berê ve hatî peyda kirin. Ji bo exampLe, êdî ne hewce ye ku meriv di pirtûkxaneya lprintf_flt (vebijarka -print _flt) de were girêdan da ku piştgirîya IO-ya formatkirî ji bo diyarkerên float-format veke. Taybetmendiyên IO-ya jîr ên Pirtûkxaneya Standard a Yekgirtî ya Microchip vê vebijarkê zêde dike. Wekî din, bikaranîna rûtînên paşgira _p ji bo string û fonksiyonên bîranînê (mînak strcpy_P () hwd.. ) ku li ser rêzikên konstê yên di flashê de dixebitin êdî ne hewce ne. Dema ku taybetmendiya const-data-di-program-memory were çalak kirin, rûtînên standard C (mînak strcpy ()) dê bi daneyên weha re rast bixebitin.
Guhertoya 2.32
Netû.
Guhertoya 2.31
Netû.
Guhertoya 2.30
Netû.
Guhertoya 2.29 (Rapekirina Ewlehiya Karker)
Netû.
Guhertoya 2.20
Plansaziya DFP-ê guhert Berhevkar naha sêwiranek cûda dihesibîne ku ji hêla DFP-yan (Pakêtên Malbata Amûrê) ve hatî bikar anîn. Ev tê vê wateyê ku DFP-ya kevntir dibe ku bi vê berdanê re nexebite, û berhevkarên kevn dê nikaribin DFP-ên herî dawî bikar bînin.
Guhertoya 2.19 (Rapekirina Ewlehiya Karker)
Netû.
Guhertoya 2.10
Netû
Guhertoya 2.05
Di bîranîna bernameyê de hêmanên xwe bicîh bikin Bala xwe bidinê ku ji hêla xwerû, hêmanên qayîlkirî dê di bîranîna bernameyê de bêne danîn û bigihîjin (wekî ku li vir hatî destnîşan kirin). Ev ê bandorê li mezinahî û leza pêkanîna projeya we bike, lê divê karanîna RAM kêm bike. Ger hewce be, ev taybetmendî dikare bi vebijarka -mnoconst- da ta-in-progmem were neçalak kirin.
Guhertoya 2.00
sîgorteyên veavakirinê Sîgorteyên veavakirina cîhazê naha dikarin bi karanîna pragmayek mîhengê û dûv re jî cotên mîheng-nirxê bername bikin da ku rewşa sîgorteyê diyar bikin, mînak.
#pragma config WDT0N = SET
#pragma config B0DLEVEL = B0DLEVEL_4V3
Tişt û fonksiyonên mutleq Tişt û fonksiyon naha dikarin li navnîşana taybetî ya bîranînê bi karanîna diyarkera CCI _at (navnîşan) werin danîn, ji bo berêample: #tevlî int foobar at(Ox800100); char at(Ox250) get ID(int offset) { … } Argumana vê diyarkerê divê domdar be ku navnîşana ku dê bit an talîmata yekem tê de were danîn nîşan bide. Navnîşanên RAM-ê bi karanîna 0x800000 ve têne destnîşan kirin. CCI çalak bike ku vê taybetmendiyê bikar bîne.
Hevoksaziya fonksiyona qutbûnê ya nû Berhevkar naha diyarkera navbirê ya CCI (hejmar) qebûl dike da ku destnîşan bike ku fonksiyonên C-yê hilgirên navberê ne. Vebijêrk jimareyek navberê digire, ji bo nimûneample: #tevlî qutkirina betal (SPI STC_ vect _num) spi Isr(vala) {…}
Pirsgirêkên Fixed
Li jêr serrastkirinên ku li berhevkerê hatine kirin hene. Dibe ku ev di koda hatî çêkirin de xeletiyan rast bikin an jî xebata berhevkerê bi ya ku ji hêla rêberê bikarhêner ve hatî armanc kirin an diyar kirin biguhezînin. Hejmara guhertoya di binsernavan de guhertoya yekem a berhevkerê destnîşan dike ku ji bo pirsgirêkên ku li pey têne rastkirin hene. Etîket(yên) bendkirî yên di sernavê de nasnameya wê pirsgirêkê ye di databasa şopandinê de. Heke hûn hewce ne ku bi piştevaniyê re têkilî daynin ev dikarin kêrhatî bin.
Bala xwe bidinê ku hin pirsgirêkên taybetî yên cîhazê di Pakêta Malbata Amûrê (DFP) ya ku bi cîhazê ve girêdayî ye têne rast kirin. Ji bo agahdariya li ser guhertinên li DFP-an hatine çêkirin û dakêşandina pakêtên herî dawî li Gerînendeyê Pakê MPLAB binêre.
Guhertoya 2.40
Pir rehet (XCS-2876) Dema ku vebijarka -mrelax bikar anî, berhevkar hin beşan bi hev re veneqetand, di encamê de pîvanên kodê yên kêmtir çêtirîn. Dibe ku ev bi koda ku pirtûkxaneyên MUSL-ê yên nû bikar aniye an bi sembolên qels re çêbûye.
Taybetmendiya nexşeyê wekî ku di hişyariyê de hatî destnîşan kirin neçalak nabe (XCS-2875) Taybetmendiya lêçûn-dan-di-config-mappedprogmem-ê girêdayî taybetmendiya lêçûn-dan-di-proem-ê ya ku tê çalak kirin ve girêdayî ye. Ger taybetmendiya lêçûn-data-ipconfig- mapped-proem bi karanîna vebijarkê bi eşkere hate çalak kirin û taybetmendiya lêçûn-data-inprogmem hate neçalak kirin, pêngava girêdanê têk çû, tevî peyamek hişyariyê ku diyar dike ku daneya nebaş-di-config-mapped- taybetmendiya proem bixweber hate asteng kirin, ku bi tevahî ne rast bû. Taybetmendiya const-data-in-config-mapped-proem naha di vê rewşê de bi tevahî neçalak e.
DFP diguhere da ku rast bigihîje NVMCTRL (XCS-2848) Koda destpêkirina dema xebitandinê ya ku ji hêla cîhazên AVR64EA ve hatî bikar anîn hesab nekir ku qeyda NVMCTRL di bin Parastina Guherîna Vesazkirinê (CCP) de ye û nekare IO SFR-ê li ser rûpela ku ji hêla berhevkara cont-data-in configmapped-proem ve hatî bikar anîn bicîh bike. taybetî. Guhertinên ku di AVR-Ex_DFP guhertoya 2.2.55 de hatine çêkirin dê bihêle ku koda destpêkirina dema xebitandinê rast li vê qeydê binivîse.
DFP diguhere da ku ji nexşeya flashê dûr bixe (XCS-2847) Xebatek ji bo pirsgirêkek bi taybetmendiya cîhaza nexşeya flashê ya ku di AVR128DA28/32/48/64 Silicon Errata (DS80000882) de hatî ragihandin, hate bicîh kirin. Taybetmendiya berhevkarê const-data-in-config-mapped-proem dê ji hêla xwerû ve ji bo cîhazên bandorkirî neyê sepandin, û ev guhertin dê di guhertoya AVR-Ex_DFP 2.2.160 de xuya bibe.
Çewtiyek bi sinhf an coshf ava bike (XCS-2834) Hewldanên ji bo karanîna fonksiyonên pirtûkxaneya sinhf () an coshf () di xeletiyek girêdanê de, ku referansek nediyar diyar dike, encam da. Fonksîyona winda ya ku hatî referans niha di belavkirina berhevkerê de cih girtiye.
Çewtiyên bi nopa (XCS-2833) ava bikin Bikaranîna taybetmendiya nopa bi fonksiyonek ku navê wê yê komkerê wekî () hatî destnîşan kirin, peyamên xeletiyê ji berhevkerê derxist. Ev tevlihevî ne pêkan e.
Têkçûna fonksiyona guherbar a bi argumanên nîşangir (XCS-2755, XCS-2731) Fonksiyonên bi hejmarek argumanên guhêrbar hêvî dikin ku nîşankerên 24-bit (cûreya _memo) di navnîşa argumanên guhêrbar de werin derbas kirin dema ku taybetmendiya lêçûn-dan-di-proem were çalak kirin. Argumanên ku nîşana bîra daneyê bûn wekî tiştên 16-bit dihatin derbas kirin, dema ku ew di dawiyê de hatin xwendin dibe sedema têkçûna kodê. Dema ku taybetmendiya nebaş a data-in-proem were çalak kirin, hemî argumanên nîşangirên 16-bit naha vediguhezînin nîşangirên 24-bit. Fonksiyonên pirtûkxaneya strtoxxx têk diçin (XCS-2620) Dema ku taybetmendiya const-data-in-proem hate çalak kirin, parametreya têketinê di fonksiyonên pirtûkxaneya strtoxxx de ji bo argumanên rêzika çavkaniyê ne di bîra bernameyê de bi rêkûpêk hate nûve kirin.
Hişyariyên ji bo kastên nederbasdar (XCS-2612) Berhevkar dê nuha xeletiyek derxîne heke taybetmendiya lêçûn-di-proem were aktîfkirin û navnîşana rêzek biwêj bi eşkereyî li cîhê navnîşana daneyê were avêtin (hilweşîna pîvana konstê), ji bo berêample, (uint8 t *) "Silav Dinya!". Dema ku nîşankerek daneya domdar bi eşkere li cîhê navnîşana daneyê were avêtin hişyariyek pirsgirêk e heke navnîşan nederbasdar be.
Bicihkirina tiştên konstê yên nedestpêkkirî (XCS-2408) Li ser cîhazên ku hemî an beşek ji bîranîna bernameya xwe di cîhê navnîşana daneyê de nexşe dikin, tiştên nedestpêkkirî yên binavkirî û konst v di bîra bernameyê de nehatin danîn. Ji bo van amûran, tiştên weha naha di bîranîna bernameyê de têne danîn, ku xebata wan bi cîhazên din re hevaheng dike.
Guhertoya 2.39 (Rapekirina Ewlehiya Karker)
Netû.
Guhertoya 2.36
Di dema derengkirinê de xeletî (XCS-2774) Guhertinên piçûk di optimîzasyona moda belaş a xwerû de rê li ber daxistina domdar îfadeyên operandê li fonksiyonên çêkirî yên derengxistinê girt, di encamê de ew wekî ne-têkilî têne hesibandin û xeletiyê derdixe holê: _ cycles tin avr delay_ cycles ac ompile hêvî dike. dema jimare sabît.
Guhertoya 2.35
Veqetandina domdar bi karanîna _at (XCS-2653) Veqetandina domdar a gelek tiştan cihan di beşa bi heman navî de û karanîna li () rast nexebitî. Ji bo example: constchararrl [ ] at tri butte ((sect on(.misses”))) at (Ox50 0 ) = {Oxo , Ox CD} ; mesrefa char arr2[ ] at tri butte ((section(.my s eke”))) = {Oxen, Ox FE }; divê arr2 tavilê piştî arîlê danîba.
Diyarkirina navnîşanên destpêka beşê (XCS-2650) Vebijarka -Wal, -section-start bi bêdengî nedikarî beşan li navnîşana destpêkê ya destnîşankirî bi cîh bike. Ev pirsgirêk ji bo her beşên bi navê xwerû hatî rast kirin; lebê, ew ê ji bo tu beşên standard kar ne, wek. text an. bss, ku divê bi karanîna vebijarkek -Wl, -T were danîn.
Linker dema ku rihet dibe têk diçe (XCS-2647) Dema ku optimîzasyona -relaks hate çalak kirin û kod an beşên daneyê yên ku di bîra berdest de cîh nagirin hebûn, girêdan têk çû. Naha, di rewşek weha de, li şûna wan peyamên xeletiyê têne derxistin.
Gihîştina xirab a EEPROM (XCS-2629) Dema ku vebijarka -monist-data-in-proem hate çalak kirin (ku rewşa xwerû ye) rûtîn bloka leproma _read_ li ser cîhazên Mega rast nexebitî, di encamê de bîra EEPROM rast nehat xwendin.
Veqetandina bîra nederbasdar (XCS-2593, XCS-2651) Dema ku vebijarka girêdana -Text an -Tata (mînakampBi karanîna vebijarkek ajokar -Wl) hatî derbas kirin, hatî destnîşan kirin, eslê herêma metnê/dane ya têkildar hate nûve kirin; lêbelê, navnîşana paşîn li gorî vê yekê nehate sererast kirin, ku dikaribû bibe sedem ku herêm ji rêza bîranîna amûrê armanc derbas bibe.
Koda navberê ya ATtiny nederbasdar (XCS-2465) Dema ku ji bo cîhazên Tatin têne çêkirin û xweşbîn kirin (-00), dibe ku fonksiyonên qutbûnê peyamên komkerê operandê yên ji rêzê derxistine.
Vebijêrk nayên derbas kirin (XCS-2452) Dema ku vebijarka -Wl bi vebijarkên girêdanê yên pirjimar, bi komma veqetandî ve tê bikar anîn, ne hemî vebijarkên girêdanê ji lînkerê re derbas nedibûn.
Di xwendina bîranîna bernameyê de çewtiyek nerasterast (XCS-2450) Di hin rewşan de, berhevkar xeletiyek hundurîn çêkir (insn nayê naskirin) dema ku nirxek du byte ji nîşanek berbi bîranîna bernameyê dixwîne.
Guhertoya 2.32
Gihîştina duyemîn a pirtûkxaneyê têk çû (XCS-2381) Veguheztina guhertoya Windows-ê ya xc8-ar. Arşîva pirtûkxaneya exe cara duyemîn ku gihîştina arşîva pirtûkxaneyê ya heyî dibe ku ji ber ku nekare navê peyama xeletiyê biguhezîne têk çûbe.
Guhertoya 2.31
Têkçûnên berhevkar ên neravekirî (XCS-2367) Dema ku li ser platformên Windows-ê dixebitin ku pelrêça demkî ya pergalê li ser rêyek ku xalek tê de tê veqetandin hatî danîn.' karakter, dibe ku berhevkar bi ser neketibe.
Guhertoya 2.30
Etîketên gerdûnî yên ku piştî xêzkirinê xelet hatine cîh kirin (XCS-2299) Koda meclîsê ya bi destan hatî nivîsandin ku etîketên gerdûnî di nav rêzikên civînê de ku ji hêla abstraksyona prosedurê ve têne destnîşan kirin bi cîh dike, dibe ku rast nehatibe veguheztin.
Qezayek aram (XCS-2287) Bikaranîna vebijarka -merlad dibe ku bibe sedema têkçûna lînkerê dema ku xweşbîniyên rihetkirina bazdana dûvikê hewl didin ku rêwerzên ret ên ku ne li dawiya beşê bûn rakin.
Dema xweşbînkirina etîketan wekî nirxan têk diçe (XCS-2282) Koda ku "Etîket wekî nirx" bikar tîne dirêjkirina zimanê GNU C dibe ku bibe sedem ku xweşbîniyên abstraksiyonê yên prosedurê têk bibin, bi xeletiyek rastkirina rêzika VMA ya Outlined.
Ne ew qas domdar (XCS-2271) Prototîpên destpêkê () û fonksiyonên din ji Dema ku taybetmendiya -monist-data inprogmem neçalak be, êdî li ser nîşangirên rêza vegerî nirxa lêçûnê ya ne-standard diyar neke. Bala xwe bidinê ku bi cîhazên avrxmega3 û avertin re, ev taybetmendî bi domdarî çalak e.
Destpêkkerên winda (XCS-2269) Dema ku di yekîneyeke wergerê de ji yekî zêdetir guhêrbar di beşê de hat danîn (bikaranîna beş an taybetmendiyê ((beş))), û guhêrbara yekem a bi vî rengî sifir bû an jî destpêkerek tune bû, ji bo guhêrbarên din di heman yekîneya wergerê de destpêkker yên ku di heman beşê de hatibûn bicihkirin winda bûn.
Guhertoya 2.29 (Rapekirina Ewlehiya Karker)
Netû.
Guhertoya 2.20
Di fermanên dirêj de çewtî (XCS-1983) Dema ku armancek AVR bikar tîne, dibe ku berhevkar bi a rawestiyaye file çewtiyek nehat dîtin, heke rêzika fermanê pir mezin bû û karakterên taybetî yên wekî quote, paşvekêşan, hwd.
Beşa rodata nenaskirî (XCS-1920) Girêdana AVR-ê dema ku ji bo mîmarên avrxmega3 û avrtiny ava dike, nekariye bîra ji bo beşên rodata xwerû veqetîne, ku potansiyel xeletiyên hevgirtina bîranînê çêdike.
Guhertoya 2.19 (Rapekirina Ewlehiya Karker)
Netû.
Guhertoya 2.10
Têkçûnên veguheztinê (XCS-1891) Berhevkarê herî baş hiştina 'kunên' bîranînê di navbera beşan de piştî rehetkirina girêdanê. Ji xeynî bîranîna perçebûnê, vê yekê îhtîmala ku têkçûnên veguheztina girêdanê yên têkildarî bazdanên pc-ê an jî bangên ku ji rêzê derkevin zêde kir.
Talîmatên ku ji hêla rihetbûnê ve nehatine veguheztin (XCS-1889) Rehetbûna lînkerê ji bo rêwerzên bazdan an gazîkirinê çênebû ku ger rehet bibin armancên wan bigihîjin.
Wenda fonksiyonel (XCSE-388) Çend pênaseyên ji , wek clock_ div_ t û clock_prescale_set (), ji bo cîhazan nehatin diyarkirin, di nav de ATmega324PB, ATmega328PB, ATtiny441, û ATtiny841.
Makroyên winda ne Makroyên pêşîn_ xcs _MODE_, _xcs VERSION, _xc, û xcs bixweber ji hêla berhevkar ve nehatin diyarkirin. Ev niha hene.
Guhertoya 2.05
Çewtiya berhevkarê navxweyî (XCS-1822) Dema ku di bin Windows-ê de çêdibe, dibe ku xeletiyek berhevkarê navxweyî dema ku kodê xweşbîn çêbibe.
Zêdebûna RAM-ê nehat dîtin (XCS-1800, XCS-1796) Bernameyên ku ji RAM-a berdest derbas bûn di hin rewşan de ji hêla berhevkar ve nehatin tespît kirin, di encamê de kodek dema xebitandinê têk çû.
Bîra flashê ya derçû (XCS-1792) Ji bo cîhazên avrxmega3 û avrtiny, dibe ku beşên bîra flash ji hêla MPLAB X IDE ve ne-bername hatine hiştin.
Nexebitîna pêkanîna sereke (XCS-1788) Di hin rewşan de ku bernameyê guhêrbarên gerdûnî nehatibû diyarkirin, koda destpêkirina dema xebitandinê derneket û fonksiyona () ya sereke qet negihişt.
Agahdariya bîra çewt (XCS-1787) Ji bo cîhazên avrxmega3 û avrtiny, bernameya avr-size rapor dikir ku daneya tenê-xwendin li şûna bîranîna bernameyê RAM dixwe.
Bîra bernameyê ya xelet xwendin (XCS-1783) Projeyên ku ji bo cîhazên bi bîranîna bernameyê hatine berhev kirin li cîhê navnîşana daneyê hatine berhev kirin û tiştên ku bi karanîna makro/taybetmendiya PROGMEM bikar tînin diyar dikin dibe ku van tiştan ji navnîşana xelet bixwînin.
Çewtiya navxweyî ya bi taybetmendiyan (XCS-1773) Ger we tiştên nîşanker bi pêvekê diyar bikin xeletiyek navxweyî derket
Nîşaneyên _at () an taybetmendî() di navbera navê nîşanker û celebê dereferanskirî de, wek mînakample, char *
_at ( 0x80015 0) cp; Heke kodek weha were dîtin nuha hişyariyek tê dayîn.
Nexebitîna pêkanîna sereke (XCS-1780, XCS-1767, XCS-1754) Bikaranîna guhêrbarên EEPROM an danasîna sîgorteyan bi karanîna pragmaya mîhengê dibe ku bibe sedema destpêkirina daneya çewt û/an girtina bernameyê di koda destpêkirina dema xebitandinê de, berî ku bigihîje serekî () .
Çewtiya sîgorteyê bi cîhazên piçûk (XCS-1778, XCS-1742) Amûrên attiny4/5/9/10/20/40 di sernavê wan de dirêjahiya sîgorteya nerast hatî destnîşan kirin files yên ku dema ku hewl didin ku koda ku sîgorteyan diyarkirî ava bikin, dibin sedema xeletiyên girêdanê.
Xeletiya dabeşkirinê (XCS-1777) Xeletiyek dabeşkirina navber hate rast kirin.
Qezaya Assembler (XCS-1761) Dema ku berhevkar di bin Ubuntu 18-ê de hate xebitandin dibe ku berhevkarê avr-as têk biçe.
Tiştên nehatine paqijkirin (XCS-1752) Dibe ku tiştên dirêjkirina hilanîna statîk a nedestpêkî ji hêla koda destpêkirina dema xebitandinê ve nehatibin paqij kirin.
Taybetmendiya cîhaza nakok hate paşguh kirin (XCS-1749) Dema ku gelek vebijarkên taybetmendiya cîhazê hatin bikar anîn û amûrên cihêreng destnîşan kir berhevkar xeletiyek çênekir.
Xerabbûna bîrê ji hêla girikê ve (XCS-1748) Sembola destpêka heap_ bi xeletî hate danîn, di encamê de îhtîmala ku guhêrbarên asayî ji hêla girikê ve werin xirab kirin.
Çewtiya veguheztina girêdanê (XCS-1739) Gava ku kodek rjmp an rcallek bi armancek tam 4k bytes dûr ve dihewîne dibe ku xeletiyek veguheztina girêdanê were derxistin.
Guhertoya 2.00
Netû.
Pirsgirêkên naskirî
Li jêr di xebata berhevkar de sînorkirin hene. Dibe ku ev sînorkirinên kodkirinê yên gelemperî bin, an
dûrketin ji agahdariya ku di manuala bikarhêner de heye. Etîket(yên) bendkirî yên di sernavê de nasnameya wê pirsgirêkê ye di databasa şopandinê de. Heke hûn hewce ne ku bi piştgirîyê re têkilî daynin ev dibe ku sûdmend be. Ew tiştên ku etîketên wan tune ne tixûbên ku moda operandi rave dikin û îhtîmal e ku bi domdarî di bandorê de bimînin.
Integration MPLAB X IDE
Yekbûna MPLAB IDE Ger Compiler ji MPLAB IDE were bikar anîn, wê hingê divê hûn berî sazkirina Compiler MPLAB IDE saz bikin.
Generation Code
Têkçûna veqetandina bîra PA (XCS-2881) Dema ku optimîzatorên abstraksiyonê yên prosedurê bikar tînin, dibe ku lînker xeletiyên veqetandina bîranînê ragihîne dema ku mezinahiya kodê nêzî mêjera bîra bernameyê ya berdest a li ser cîhazê be, her çend bername karibe cîhê berdest bi cih bike.
Ne ewqas jîr Smart-IO (XCS-2872) Heke taybetmendiya coast-data-in-proem were neçalak kirin an heke amûrê tevaya flasha xwe di bîra daneyê de nexşekirî be, taybetmendiya smart-io ya berhevkerê dê kodek derbasdar lê bin-optimal ji bo fonksiyona sprint çêbike.
Smart-IO hîn kêmtir jîr (XCS-2869) Dema ku vebijarkên -floe û -fno-buil her du jî werin bikar anîn taybetmendiya smart-io ya berhevkar dê kodek derbasdar lê nebaş çêbike.
Bicîhkirina daneya tenê-xwendewarî ya nebaş (XCS-2849) Agahdariya girêdanker niha ji beşên bîra APPCODE û APPDATA, ne jî ji dabeşên [No-] Read-While-Write di nexşeya bîranînê de nizane. Wekî encamek, şansek piçûk heye ku lînker dikare daneyên tenê xwendinê li deverek neguncav a bîranînê veqetîne. Ger taybetmendiya coast-data-in-pragma were çalak kirin şansê daneya xelet zêde dibe, nemaze heke taybetmendiya coast-data-in-config-mapped-proem jî were çalak kirin. Ger hewce be ev taybetmendî dikarin bêne asteng kirin.
Tişt file fermana pêvajoyê (XCS-2863) Rêza ku nesne files dê ji hêla lînkerê ve were pêvajo kirin dibe ku li ser bingeha karanîna xweşbîniyên abstraksiyonê yên prosedurî (vebijarka -mpa) cûda bibe. Ev ê tenê li ser koda ku fonksiyonên qels di nav pir modulan de diyar dike bandor bike.
Çewtiya girêdana bi mutleq (XCS-2777) Dema ku di destpêka RAM-ê de tiştek li navnîşanek bêkêmasî hate çêkirin û tiştên nedestpêkkirî jî hatin destnîşankirin, dibe ku xeletiyek girêdanê çêbibe.
Nasnameyên hişyarbûna kurt (XCS-2775) Ji bo cîhazên ATA5700/2, qeydên PHID0/1 tenê wekî 16 bit fireh têne destnîşan kirin, ji bilî 32 bit.
Dema ku sembola bang dike têkçûna girêdanê (XCS-2758) Gava ku koda çavkaniyê nîşanek ku bi karanîna vebijarka girêdana -Wl, –defsym hatî destnîşankirin vedixwîne, vebijarka ajokerê -merlad were bikar anîn, dibe ku girêdan têk bibe.
Destpêkirina çewt (XCS-2679) Di navbera cihê ku nirxên destpêkê yên ji bo hin tiştên gerdûnî/statîk ên mezinahiya byte-yê di bîra daneyê de têne danîn û cihê ku guhêrbar dê di dema xebitandinê de werin gihîştin de cûdahî heye.
bi xeletî dest pê kir, vala destnîşan dike (XCS-2652) Di rewşên ku rêzika mijarê ya ji bo veguheztinê bi diyarkirî () dihewîne ya ku xuya dike ku jimareyek niqteya herikînê ye di forma xêzkirinê de û li dû karakterek e karakterek neçaverêkirî heye, wê hingê navnîşana vala, heke were peyda kirin, dê nîşan bide karaktera piştî e û ne e bi xwe. Ji bo example: diyar kirin ("hooey", vala); dê bibe sedema nîşankirina vala ya karaktera x.
Bangên fonksiyona nerasterast xirab (XCS-2628) Di hin rewşan de, dibe ku bangên fonksiyonê yên ku bi rêgezek fonksiyonê ve hatî hilanîn wekî beşek avahiyek têne çêkirin têk biçin.
strtof ji bo floatên hexadecimal sifir vedigerîne (XCS-2626) Fonksiyonên pirtûkxaneyê strtof () et al û scanf () et al, dê her gav jimareyek xala herikandinê ya hexadecimal ku nîşanek diyar nake veguhezîne.
sifir. Ji bo example: stator("Owl", &vala); dê nirxa 0 vegerîne, ne 1.
Peyamên şêwirmendê stikê nerast (XCS-2542, XCS-2541) Di hin rewşan de, hişyariya şêwirmendê stackê di derbarê paşveçûn an stûna nediyar de tê bikar anîn (dibe ku bi karanîna alloca()) ve neyê şandin.
Têkçû bi koda navberê ya ducarî (XCS-2421) Li cihê ku bêtir ji yek fonksiyona navberê xwedî heman laş be, dibe ku berhevkar ji bo yek fonksiyona navberê ya din derbikeve. Ev ê bibe sedem ku hemî qeydên gazî-klobberkirî bêhewce werin hilanîn, û qutkirin dê hê berî ku epîloga rêvebirê navberê ya heyî biqede, ku dibe sedema têkçûna kodê were çalak kirin.
Tiştên ku ne di bîra bernameyê de ne (XCS-2408) Ji bo projeyên avrxmega3 û avertins tiştên konstê yên ne îdeal di bîra daneyê de têne danîn, her çend hişyariyek destnîşan dike ku ew di bîra bernameyê de hatine danîn. Ev ê bandorê li ser cîhazên ku bîranîna bernameyê ne di cîhê bîranîna daneyê de nexşandî ne, û ne jî ew ê bandorê li tiştek ku hatî destpêkirin bike.
Derketina xirab a bi riya DFP ya nederbasdar (XCS-2376) Ger berhevkar bi rêgezek DFP-ya nederbasdar û 'taybetmendiyek' ve were vexwendin file ji bo cîhaza hilbijartî heye, berhevkar pakêta malbata cîhaza winda rapor nake û li şûna wê 'specê' hildibijêre file, ku wê hingê dibe ku bibe encamek nederbasdar. 'Specîf' fileDibe ku s bi DFP-yên belavkirî re ne nûve bin û tenê ji bo ceribandina berhevkarê hundurîn hatine bikar anîn.
Lihevhatina bîranînê nehat dîtin (XCS-1966) Berhevkar hevbendiya bîrê ya tiştên ku li navnîşanek (bi rêya ()) mutleq hatine çêkirin û tiştên din ên ku bi karanîna diyarkera beşê () ve têne girêdan û bi heman navnîşanê ve têne girêdan, nabîne.
Bi fonksiyonên pirtûkxaneyê û _meme re têkçûn (XCS-1763) Dibe ku fonksiyonên limbic float bi argumanek di cîhê navnîşana _memo de têk biçin. Têbînî ku rûtînên pirtûkxaneyê ji hin operatorên C-yê têne gazî kirin, ji ber vê yekê, mînakîamplê, koda jêrîn bandor dibe: vegere regFloatVar > memxFloatVar;
Pêkanîna lîmbîk a tixûbdar (AVRTC-731) Ji bo hilberên ATTiny4/5/9/10/20/40, pêkanîna pirtûkxaneya standard C / Math di lîmbîkê de pir kêm e an tune ye.
Sînorên bîranîna bernameyê (AVRTC-732) Wêneyên bîranîna bernameyê ji 128 kb wêdetir ji hêla toolchain ve têne piştgirî kirin; lêbelê, mînakên tê zanîn hene ku girêdana girêdanê bêyî rihetbûn û bê peyamek xeletiyek arîkar ji hilberandina stûyên fonksiyonê yên pêwîst dema ku vebijarka -relax tê bikar anîn hene.
Sînorkirinên cihê navan (AVRTC-733) Cihên navnîşan ên binavkirî ji hêla zincîra amûran ve têne piştgirî kirin, digel sînorên ku di beşa rêbernameya bikarhêner de têne destnîşan kirin Qualifiers Type Special.
Herêmên demê Ew Fonksiyonên pirtûkxaneyê GMT-ê dihesibînin û deverên demjimêrên herêmî piştgirî nakin, ji ber vê yekê dema herêmî () dê heman wextê wekî gummite (), ji bo berê vegere.ample.
PIŞTGIRIYA MIŞERT
file:///Serlêdan/microehip/xc8/v 2 .40/docs/Read me_X C 8_ bo A VR. htm
Belge / Çavkanî
![]() |
MICROCHIP MPLAB XC8 C Nivîsbariya Berhevkar [pdf] Pirtûka Destûra Xwediyê MPLAB XC8 C, MPLAB XC8 C Nermalava Berhevkar, Nermalava Berhevkar, Nermalava |