MICROCHIP XC8 C Berhevkar Guhertoya 2.45 Ji bo AVR MCU Nîşaneyên Weşandinê
Agahiya hilberê
MPLAB XC8 C Compiler amûrek nermalavê ye ku ji bo hedefgirtina cîhazên Microchip AVR tê bikar anîn. Ew ji bo berhevkirina koda C û hilberandina darvekirinê hatî çêkirin files ji bo van cîhazên. Guhertoya berhevkerê ya ku di vê manuala bikarhêner de tê behs kirin 2.45 e, bi tarîxa avakirina fermî 18ê Tebaxa 2023an. Guhertoya berê 2.41 bû, di 8ê Sibata 2023-an de hatî çêkirin. û rêbernameyên dema ku berhevokên MPLAB XC bi sepanên ewlehiya fonksiyonel bikar tînin bikar tînin. Dema ku hûn destûrnameyek ewlehiya fonksiyonel bikirin, ev destan di pakêta belgekirinê de cih digire. Compiler MPLAB XC8 C di dema berdanê de hemî amûrên AVR MCU yên 8-bit ên berdest piştgirî dike. Hûn dikarin serî li avr_chipinfo.html bidin file di pelrêça belgeya berhevkerê de ji bo navnîşek hemî cîhazên piştgirî û mîhengên bitê yên veavakirina wan. Weşanên cihêreng ên berhevkarê MPLAB XC8 hene. Weşana lîsanskirî (PRO) li gorî çapa belaş astek çêtir çêtirîn peyda dike. Ji bo çalakkirina berhevkerê wekî hilberek lîsanskirî, hûn hewce ne ku mifteyek çalakkirinê bikirin. Lêbelê, guhertoya bê destûr dikare bêyî destûrnameyek bêsînor were bikar anîn. Ji bo serîlêdanên ewlehiya fonksiyonel, berhevkarek Ewlehiya Fonksiyonel MPLAB XC8 heye. Ji bo çalakkirinê destûrnameyek ewlehiya fonksiyonel a ku ji Microchip hatî kirîn hewce dike. Dema ku were çalak kirin, hemî astên xweşbîniyê û taybetmendiyên berhevkar dikarin werin bikar anîn. Berhevkara Ewlehiya Karkerî ya MPLAB XC di heman demê de lîsansa Pêşkêşkara Torê piştgirî dike. Agahiyên berfireh di derbarê sazkirinê, çalakkirin, celebên destûrnameyê û pirsgirêkên koçberiyê de dikarin di belgeya Sazkirin û Destûrdana MPLAB XC C Compilers (DS50002059) de werin dîtin.
Talîmatên Bikaranîna Product
- Berî ku nermalava MPLAB XC8 C Compiler-ê bixebitînin, ji bo agahdarî û rêwerzên girîng ên ku ji bo armanckirina cîhazên Microchip AVR-ê taybetî ne, manuala bikarhêner bixwînin.
- Heke hûn berhevkarê ji bo cîhazên PIC-ê yên 8-bit bikar tînin, ji bo belgeya PIC-ê li MPLAB XC8 C Têbînîyên Ragihandinê yên Berhevkarê binihêrin.
- Piştrast bikin ku pergala xebitandina we hewcedariyên pergalê ji bo xebitandina berhevkerê pêk tîne. Binaryên ji bo macOS-ê hatine kod-îmzakirin û noterîzekirin. Pêşkêşkara Lîsansa Tora MPLAB XC ji bo Microsoft Windows 10 û jor, Ubuntu 18.04 û jorîn, û macOS 10.15 û jorîn heye. Bala xwe bidinê ku Pêşkêşkara Lîsansa Tora MPLAB XC li ser van pergalên xebitandinê nayê ceribandin.
- Pêşkêşkara Lîsansa Tora MPLAB XC dikare li ser Makîneyên Virtual ên OS-ya piştgirîkirî bi karanîna destûrnameyek makîneya virtual ji bo destûrnameyên torê (SW006021-VM) were xebitandin. Hemî guhertoyên 32-bit ên Pêşkêşkara Torgiloka MPLAB XC ji guhertoya 3.00-ê dest pê dikin têne sekinandin.
- Ji bo çalakkirina MPLAB XC8 C Berhevkarê wekî hilberek lîsanskirî (PRO), mifteyek çalakkirinê bikirin. Ev ê li gorî guhertoya belaş astek çêtirîn çêtirîn peyda bike. Lêbelê, berhevkarê bê destûr dikare bêyî destûrnameyek bêsînor were xebitandin.
- Ger hûn Berhevkara Ewlehiya Karkerî ya MPLAB XC8 ji bo serîlêdanên ewlehiya fonksiyonel bikar tînin, divê ew 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. Lîsansa Pêşkêşkara Torgilokê ji hêla vê berdana Berhevkara Ewlehiya Karkerî ya MPLAB XC ve tê piştgirî kirin.
- Ji bo rêwerzên hûrgulî yên li ser sazkirin, aktîvkirin, û lîsansa Berhevkarê MPLAB XC8 C, serî li belgeya Sazkirin û Destûrdayîna MPLAB XC C Compilers (DS50002059) bidin.
- Ger hûn berhevkerê di bin lîsansa nirxandinê de dimeşînin, hûn ê di dema berhevkirinê de hişyariyek bistînin dema ku hûn di nav 14 rojan de ji dawiya dema nirxandina xwe ne. Heman hişyarî tê dayîn heke hûn di nav 14 rojan de ji dawiya abonetiya xwe ya HPA re bin.
Serview
Pêşkêş
Ev serbestberdana berhevkarê Microchip MPLAB® XC8 C gelek taybetmendiyên nû, rastkirinên xeletiyan, û piştgirî ji bo amûrên nû vedihewîne.
Dîroka Avakirinê
Dîroka avakirina fermî ya vê guhertoya berhevkar 18 Tebax 2023 ye.
Guhertoya Berê
Guhertoya berhevkarê berê ya MPLAB XC8 C 2.41 bû, di 8ê Sibata, 2023-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
Berhevkarê MPLAB XC8 C 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 profesyonel ên Microsoft® Windows® 10, Ubuntu® 18.04, macOS® 13.2 (Ventura), û Fedora 34. Binaryên ji bo Windows-ê hatine kodkirin. Binaryên ji bo macOS-ê hatine kod-îmzakirin û noterîzekirin. MPLAB XC Network License Server ji bo cûrbecûr pergalên xebitandinê yên 64-bit, di nav de Microsoft Windows 10 û jorîn, heye; Ubuntu 18.04 û jorîn; an macOS 10.15 û jor. Dibe ku server li ser pergalên xebitandinê yên cihêreng, di nav de Windows Server, belavkirinên Linux, wek Oracle® Enterprise Linux® û Red Hat® Enterprise Linux û her weha guhertoyên kevntir ên pergalên xebitandinê yên piştgirîkirî, bixebite. Lê belê, MPLAB XC Network License Server li ser van pergalên xebitandinê nayê ceribandin. Pêşkêşkara Lîsansa Tora MPLAB XC dikare li ser Makîneyên Virtual ên OS-ya piştgirîkirî bi karanîna destûrnameyek makîneya virtual ji bo destûrnameyên torê (SW006021-VM) were xebitandin. Hemî guhertoyên 32-bit ên Pêşkêşkara Torgiloka MPLAB XC ji guhertoya 3.00-ê dest pê dikin têne sekinandin.
Amûrên Piştgirî
Ev berhevkar di dema berdanê de hemî amûrên AVR MCU yên 8-bit ên berdest piştgirî dike. Li avr_chipinfo.html (di pelrêça belgeya berhevkerê de) ji bo navnîşek hemî amûrên piştgirî binihêrin. Van pelan ji bo her cîhazê mîhengên bit ên veavakirinê jî navnîş dikin.
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ûra 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 li ser rêveberê lîsansê yê herî paşîn ku bi vê berhevkerê 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ê .run (Linux) an .app (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 HPA-ya xwe ne. Pêşkêşkara Lîsansa Tora XC sazkerek cihêreng e û di sazkera berhevkerê yek-karker de tune ye. Rêvebirê Lîsansê 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î rêveçûna roamingê birêve bibe.
Çareserkirina Pirsgirêkên Sazkirinê
Heke hûn di sazkirina berhevkerê de 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. (Pelê rast-klîk bikin, Taybetmendî, tabloya Ewlekariyê hilbijêrin, bikarhêner hilbijêrin, biguherînin.)
- Destûrên peldanka demdemê li ser 'Kontrola Temam' bicîh bikin.
Ji bo destnîşankirina cîhê peldanka demsalê, %temp% di fermana Run de binivîsin (bişkojka logoya Windows + R). Ev ê diyalogek geroka pelê veke ku 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î
Hûn dikarin di Foruma XC8 de pirsên bikarhênerên din ên vê hilberê bipirsin. 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î:
Netû
- AVR® GNU Toolchain bo MPLAB® XC8 Rêbernameya Koçkirinê guherandinên koda çavkaniyê û vebijarkên çêkirinê yên ku dibe ku hewce bibin diyar dike ger hûn biryar bidin ku projeyek-based C-ê ji Zincîra Amûra AVR-ê ya 8-bit berbi Berhevkarê Microchip MPLAB XC8 C veguhezînin.
- Rêbernameya Referansê ya Pirtûkxaneya Standard a Yekgirtî ya Microchip, tevger û navbeynkariya fonksiyonên ku ji hêla Pirtûkxaneya Standard a Yekgirtî ya Microchip ve hatî destnîşan kirin, û her weha armanca karanîna 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 hebûn. Agahdariya pirtûkxaneya taybet a cîhazê hîn jî di vê rêberê berhevkerê de heye.
- Ger hûn nû dest bi cîhazên 8-bit û Berhevkarê MPLAB XC8 C dikin, bikarhênerê MPLAB® XC8
- Rêbernameya ji bo Endezyarên Embedded - AVR® MCU (DS50003108) agahdarî li ser sazkirina projeyan di MPLAB X IDE de û nivîsandina kodê ji bo projeya weya yekem MPLAB XC8 C heye. Ev rênîşander niha bi berhevkerê re tê belavkirin.
- Rêbernameya Bikarhêner Hexmate ji bo kesên ku Hexmate 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 yekem guhertoya berhevkerê destnîşan dike ku taybetmendiyên ku li pey têne piştgirî kirin.
Guhertoya 2.45
Rêvebirê lîsansa gerdûnî (XC8-3175, XCLM-224) Guhertoya macOS ya rêvebirê lîsansê ku bi berhevkerê re tê bikar anîn niha gerdûnî ye, hem ji bo makîneyên bingehîn ên Intel û hem jî ji M1-ê piştgirîya xwemalî pêşkêşî dike. Guhertoya Linux ya rêveberê lîsansê naha bi kêmî ve guhertoya 2.25 ya glibc hewce dike. Binarên gerdûnî yên Mac (XC8-3168, XC8-2951) Pelên binary ên berhevkar ên ji bo macOS naha gerdûnî ne, hem ji bo makîneyên bingehîn ên Intel û hem jî ji M1 re piştgirîya xwemalî pêşkêş dikin. Mezinahiyên pirtûkxaneya xala herikînê ya kêmkirî (XC8-3112, XC8-3071) Pêşketin li fonksiyonên pirtûkxaneya xala herikîn hatine çêkirin, di nav de sinf() pow(), sqrt(), expf(), log1fp(), û nextafterf() , ku ji bo van rûtîn kêmkirina mezinahiya kodê dibînin. Piştgiriya cîhaza nû naha ji bo beşên AVR-ê yên jêrîn peyda dibe: AVR16EA28, AVR16EA32, AVR16EA48, AVR32EA28, AVR32EA32, AVR32EA48, AVR16EB14, AVR16EB20, AVR16, û ABR28EA16.
Guhertoya 2.41
- Piştgiriya Bootrow (XC8-3053) Berhevkar dê naveroka her beşan bi pêşgirek .bootrow li navnîşana 0x860000 di pelê HEX de bi cîh bike. Van beşan ji bo bîranîna BOOTROW, ku ji bo hilanîna kilîtan û agahdariyên din ên ewledar ên ku divê tenê ji bootloaderek bigihîjin hatine çêkirin, têne bikar anîn.
- Rakirina vegerê ya zêde (XC8-3048) Dema ku nivîsarên girêdana xwerû têne bikar anîn dê berhevkar naha talîmatên ret ên zêde di fonksiyonan de bi bazdanek dûvik ji holê rake. Ev optîmîzekirinek mîna ya ku berê dihat kirin e, lê ew naha li ser hemî beşên sêwî tête kirin, hetta heke skrîptek girêdanek xwerû were bikar anîn û nexşeya dabeşkirina guncan a çêtirîn di lîstikê de nebe.
- Guhertina tîpa demê (XC8-2982, 2932) Tîpa pirtûkxaneya standard a C99, time_t ji tîpek dirêj berbi celebek dirêj a bênîşan hatiye guheztin, ku di hin fonksiyonên têkildar de, wek mktime() mezinahiya kodê çêtir dike.
- Nopa nû (XC8-2946, 2945) Makro NOP() li ser hat zêdekirin . Ev makro rêwerzek nop-ne-xebatê dixe nav derketinê.
- Nûvekirina XCLM (XC8-2944) Rêvebirê lîsansê ku bi berhevkerê re hatî bikar anîn hate nûve kirin û naha dema hûrguliyên lîsansa berhevkerê kontrol dike bêtir bersivdar e.
- Trampbangên olînkirî (XC8-2760) Berhevkar naha dikare guheztina rêwerzên bangewaziya dirêj-dirêj bi bangên xizmekî kurttir pêk bîne dema ku formên têkildar ên rêwerzan bi gelemperî ji cihê cihê xwe ne. Di vê rewşê de, berhevkar dê hewl bide ku bi rêwerzên rcall re rêwerzek banga jmp ku dê 'trampoline' darvekirina navnîşana pêwîst, ji bo nimûneample:
Guhertoya 2.40
- Piştgiriya cîhaza nû naha ji bo beşên AVR yên jêrîn heye: AT90PWM3, AVR16DD14, AVR16DD20, AVR16DD28, AVR16DD32, AVR32DD14, AVR32DD20, AVR32DD28, AVR32DD32, AVR64DD28, AVR64DD32, AVR64DD48, AVRXNUMXDDXNUMX, AVRXNUMXDDXNUMX, AVRXNUMXDDXNUMX, AVRXNUMXDDXNUMX, AVRXNUMXDDXNUMX, AVRXNUMXDDXNUMX. AVRXNUMXEAXNUMX.
- Veguhastina pêvajoyî ya pêşkeftî Amûra xweşbîniyê ya abstrakasyona prosedural (PA) hatîye baştir kirin da ku koda ku rêwerzek bangewaziya fonksiyonê (bang / bang) vedihewîne were diyar 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 - mno-pa-outline-calls were neçalak kirin, an jî abstraksyonek prosedurî dikare bi tevahî ji bo pelek tiştek û an fonksiyonek bi karanîna -mno-pa-on- were asteng kirin.file -mno-pa-on-function, bi rêzê, an bi karanîna taybetmendiya nopa (taybetmendê __nopa) bi bijartî digel fonksiyonan.
- Makroya vegirtina kodê Ger vebijarkek derbasdar -mcodecov were destnîşan kirin berhevkar nuha 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:end 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-ya biaqiltir Çend çêtirkirin di fonksiyonên Smart IO de hatine çêkirin, di nav de guheztinên gelemperî yên koda bingehîn a printf-ê, diyarkerê veguheztinê %n wekî guhertoyek serbixwe tê hesibandin, li ser daxwazê rûtînên vararg pop girêdidin, li ku derê gengaz be ji bo hilgirtinê celebên daneya kurttir bikar tînin. Argumanên fonksiyona IO, û faktorkirina koda hevpar di firehiya zeviyê û hilgirtina rast de. Ev dikare bibe sedema tomarkirina kod û daneyê ya girîng, û her weha leza darvekirinê ya IO zêde bike.
Guhertoya 2.39 (Rapekirina Ewlehiya Karker)
Lîsansa Pêşkêşkara Torê Ev berdana Berhevkara Ewlehiya Karkerî ya MPLAB XC8 lîsansa Pêşkêşkara Torê piştgirî dike.
Guhertoya 2.36
Netû.
Guhertoya 2.35
- Piştgiriya cîhaza nû 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 sererast kirin. Ew bi rengek mîna vebijarka -mcall-prologues dixebite, lê tenê bandorê li fonksiyonên navberê (ISR) dike.
- Veguheztina çarçovê ya hîn çêtir Vebijarka nû -mgas-isr-prologues koda veguheztina kontekstê ya ku ji bo rûtînên karûbarê qutbûna piçûk hatî çêkirin 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 felqê ya mîhengkirî Hin cîhazên di malbata AVR DA û AVR DB de xwedî SFR (mînak FLMAP) ne ku diyar dike ku kîjan beşê 32k bîra bernameyê dê di bîra daneyê de were nexşandin. Vebijarka nû - mconst-data-in-config-mapped-progmem dikare were bikar anîn da ku lînker hemî daneyên qayîlkirî 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 têne nexşandin. , ku ew ê bi bandortir bigihîje.
- Pirtûkxaneyên Standard ên Yekbûyî yên Mîkroçîpê Hemî berhevkarên MPLAB XC dê Pirtûkxaneya Standard a Yekgirtî ya Microchip parve bikin, ku nuha bi vê serbestberdana MPLAB XC8 re peyda dibe. Rêbernameya Bikarhêner Compiler MPLAB® XC8 C ji bo AVR® MCU ê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î nemane. (Binêre fonksiyona pirtûkxaneyê.)
- Smart IO Wekî beşek ji pirtûkxaneyên nû yên yekbûyî, fonksiyonên IO yên di malbatên printf û scanf de naha li ser her avahîsaziyê têne çêkirin, li gorî 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 analîzkirina bangên fonksiyonên IO-ya jîr (wek printf() an scanf() berhevkar her gav nikare ji rêzika formatê diyar bike an jî ji argumanan wan taybetmendiyên veguheztinê yên ku ji bangê re hewce dike derxe holê. Berê, berhevkar her gav çêdike. bê guman û piştrast bikin ku fonksiyonên IO-yê bi tevahî fonksiyonel bi wêneya bernameyê ya dawîn ve hatine girêdan Vebijarkek nû -msmart-io-format=fmt hatîye zêdekirin da ku li şûna wê berhevkar ji hêla bikarhêner ve ji diyarkerên veguheztinê yên ku ji hêla IO-ya jîr ve têne bikar anîn agahdar bike. fonksiyonên ku karanîna wan nezelal e, rê li ber girêdana rûtînên pir dirêj ên IO-yê digire (Ji bo bêtir agahdarî li Vebijarka smart-io-format binêre.)
- Bicîhkirina beşên xwerû Berê, vebijarka -Wl,–section-start tenê dema ku skrîpta lînker beşek encamek bi heman navî diyar kir beşa diyarkirî li navnîşana daxwazkirî datîne. 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, her çend skrîpta girêdanê beşê diyar neke. Lêbelê, bala xwe bidin ku ji bo beşên standard, yên wekî .text, .bss an .data, veqetandeka herî baş dê hîna li ser cîhê wan kontrolek tam hebe, û vebijark dê bê bandor be. Vebijarka -Wl,-Tsection=addr, wekî ku di rêbernameya bikarhêner de hatî destnîşan kirin bikar bînin.
Guhertoya 2.32
- Rêbernameya Stack Bi destûrnameyek berhevkarê PRO-yê heye, taybetmendiya rêbernameya stêkê 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 pelê nexşeyê de raporek stûnê ya berfireh heye, ku dikare bi awayê gelemperî were xwestin.
- Piştgiriya cîhaza nû ji bo beşên jêrîn ên AVR-ê heye: ATTINY427, ATTINY424, ATTINY426, ATTINY827, ATTINY824, ATTINY826, AVR32DB32, AVR64DB48, AVR64DB64, AVR64DBD28, AVR32, AVR28, AVR64, AVR32, AVR32, AVR48, AVRXNUMX, AVRXNUMX, AVRXNUMX, AVRXNUMX, AVRXNUMX, AVRXNUMX, AVRXNUMX, AVRXNUMX, AVRXNUMX, AVRXNUMX, AVRXNUMX, AVRXNUMX, XNUMX, ATTINYXNUMX AVRXNUMXDBXNUMX.
- Piştgiriya cîhaza vekêşandî Piştgiriya ji bo beşên AVR-ê yên jêrîn nema peyda dibe: AVR16DA28, AVR16DA32 û, AVR16DA48.
Guhertoya 2.31
Netû.
Guhertoya 2.30
- Vebijarka nû ji bo pêşîgirtina destpêkirina daneyan Vebijarka ajokera nû -mno-data-init pêşî li destpêkirina daneyan û paqijkirina beşên bss digire. Ew bi tepisandina derketina sembolên do_clear_bss di pelên kombûnê de kar dike, ku dê di encamê de rê li ber tevlêbûna wan rûtîn ji hêla girêdanker 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 -fsection-, ku destûrê dide gihîştina tiştên statîk ku li gorî yek sembolê bêne kirin; -mpa- iterations=n , ku dihêle ku hejmara dubareyên abstraksiyonê yên prosedurî ji 2-ya xwerû were guheztin; û, -mpa-callcost-kurtcall, ku abstraksiyonek prosedurek tundtir pêk tîne, bi hêviya ku girêdankar bikaribe bangên dirêj rehet bike. Vê 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û ji bo beşên AVR-ê yên jêrîn heye: AVR16DA28, AVR16DA32, AVR16DA48, AVR32DA28, AVR32DA32, AVR32DA48, AVR64DA28, AVR64DA32, AVR64DA48, AVR64DA64, AVR128DA28, AVR128DA32 128, AVR48DB128, û AVR64DBXNUMX.
- Piştgiriya Piştgiriya cîhaza paşvekêşî êdî ji bo beşên AVR yên jêrîn nayê peyda kirin: ATA5272, ATA5790, ATA5790N, ATA5791, ATA5795, ATA6285, ATA6286, ATA6612C, ATA6613C, ATA6614Q, ATAC6616TA
Guhertoya 2.29 (Rapekirina Ewlehiya Karker)
- Dosya sernavê ji bo berhevkerên çêkirî Ji bo ku pê ewle bibe ku berhevkar dikare li gorî taybetmendiyên zimanî yên wekî MISRA, , hatiye nûkirin. Di vê sernavê de prototîpên hemî fonksiyonên çêkirî hene, wek __builtin_avr_nop() û __builtin_avr_delay_cycles() . Dibe ku hin çêkirî li gorî MISRA nebin; ev dikarin bi zêdekirina pênase __XC_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û ji bo beşên AVR yên jêrîn heye: ATTINY1624, ATTINY1626, û ATTINY1627.
- Dabeşkirina herî baş a baştirîn veqetandek çêtir (BFA) di berhevkerê de çêtir bûye 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ê ya çêtir Optimîzasyonên abstrakasyonê yên prosedurî nuha 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.
- Tunebûna AVR Assembler 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îzkirina asta ku koda çavkaniyê ya projeyekê hatiye darvekirin 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 nocodecov were bikar anîn da ku fonksiyonên paşîn ji analîzên vegirtinê derxîne. Bi îdeal divê pragma di destpêka pelê de were zêdekirin da ku wê pelê tevahî ji analîzên vegirtinê derxîne. Wekî din, __attribute__((nocodecov)) dikare were bikar anîn da ku fonksiyonek taybetî ji analîzên vegirtinê derxîne. - Pelên danasîna cîhazê Dosyaya cîhaza nû ya bi navê avr_chipinfo.html di pelrêça belgeyên belavkirina berhevkerê de ye. Ev pel hemî amûrên ku ji hêla berhevkar ve têne piştgirî kirin navnîş dike. Li ser navek amûrekê bikirtînin, û ew ê rûpelek veke ku hemî cotên mîhengê/nirxa bitê yên destûr ji bo wê cîhazê nîşan dide, bi examples.
- Abstraction Procedural Optimîzasyonên abstractionê 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 xweşbîniyên asta 2, 3 an s hildibijêrin 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 pelek tiştek bi karanîna -mno-pa-on- were asteng kirin.file=filenav, an ji bo fonksiyonek bi karanîna -mno-pa-on- function=function neçalak kirin. Di hundurê koda çavkaniya we de, abstrakasyona prosedurê dikare ji bo fonksiyonek bi karanîna __attribute__((nopa)) bi pênaseya fonksiyonê, an jî bi karanîna __nopa, ku berbi __attribute__((nopa, noinline)) berfereh dibe û bi vî rengî rê li ber cîbicîkirina fonksiyonê digire. û abstrakasyona koda xêzkirî heye.
- Piştgiriya bit kilîtkirinê di pragmayê de Veavakirina #pragma niha dikare ji bo diyarkirina bitên kilîtkirina AVR û hem jî bitên din ên veavakirinê were bikar anîn. Dosya avr_chipinfo.html (li jor hatî behs kirin) ji bo cotên mîheng/nirx ku bi vê pragmayê re bikar bînin kontrol bikin.
- Piştgiriya cîhaza nû ji bo beşên jêrîn heye: AVR28DA128, AVR64DA128, AVR32DA128, û AVR48DA128.
Guhertoya 2.05
- Zêdetir bit ji bo dravê we 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î bijartî ne di bîra Flash-ê ya bernameyê de bi cih bike. Berhevkar hate guheztin da ku daneyên gerdûnî yên qayîlkirî di bîra flash-ê ya bernameyê de werin hilanîn û ev dane rasterast û nerasterast bi karanîna rêwerzên bername-bîra minasib têne peyda kirin. 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 ji bo belaş Guhertoyên Bêdestûr (Belaş) ên vê berhevkerê naha destûrê dide optimîzasyonên heya asta 2 û di nav de. Ev ê destûrê bide ku encamek bi heman rengî, her çend ne wekî hev be, bi ya ku berê bi karanîna destûrnameyek Standard gengaz bû.
- Bi xêr hatî AVRASM2 Komkera AVRASM2 ya ji bo cîhazên 8-bit naha di sazkarê 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ûnê ya bi destan hatî nivîsandin heye.
- Piştgiriya cîhaza nû ji bo beşên jêrîn heye: ATMEGA1608, ATMEGA1609, ATMEGA808, û ATMEGA809.
Guhertoya 2.00
- Ajokara asta jorîn Ajokerek nû, bi navê xc8-cc, naha li jor ajokara 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 Hevbeş Ev berhevkar naha dikare li gorî Navbera C-ya Hevbeş MPLAB-ê tevbigere, ku dihêle ku koda çavkaniyê bi hêsanî li hemî berhevkarê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ûkxanevana nû Ajokarek pirtûkxanevanek nû li jorê pirtûkxaneya pirtûkxaneya PIC ya 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 pelê pirtûkxaneya PIC an AVR biafirînin an manîpule bikin û ji ber vê yekê awayê pêşniyarkirî ye ku ji pirtûkxaneger re tê xwestin. 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. Ger kodê ji vê guhertoya berhevkerê re were veguheztin, dibe ku ev guhertin hewceyê guheztina koda çavkaniya we be. Hejmara guhertoya di binsernavan de yekem guhertoya berhevkerê ku piştgirî dide guheztinên ku li pey têne destnîşan dike.
Guhertoya 2.45
Netû.
Guhertoya 2.41
Fonksiyonên fma yên nerast hatin rakirin (XC8-2913) Pirtûkxaneya standard C99 ( ) ji yek dorvegerekê re pir-zêdebûnek bi rastiyek bêsînor hesab nekir, lê di şûna wê de bi her operasyonê re xeletiyên dorpêçkirinê berhev kirin. Van fonksiyonan ji pirtûkxaneya peydakirî hatine rakirin.
Guhertoya 2.40
Netû.
Guhertoya 2.39 (Rapekirina Ewlehiya Karker)
Netû.
Guhertoya 2.36
Netû.
Guhertoya 2.35
- Rakirina bingehên string-to (XC8-2420) Ji bo ku bi berhevkerên din ên XC-ê re hevaheng bin, fonksiyonên string-to XC8, mîna strtol() hwd., dê êdî hewil nedin ku rêzek têketinê biguhezînin heke bingeha hatî destnîşan kirin ji 36-an mezintir be. û dê li şûna wê 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 (-O3) hildibijêrin Optimîzasyonên abstraksiyonê yên prosedurî dihatin ç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.
- Karbidestiya 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 exampJi ber vê yekê, êdî ne hewce ye ku di pirtûkxaneya lprintf_flt (vebijarka -lprintf_flt) de were girêdan da ku piştgirîya IO-ya formatkirî ji bo diyarkerên oat-format vebike. Taybetmendiyên IO-ya jîr ên Pirtûkxaneya Standard a Microchip Unied vê vebijarkê zêde dike. Wekî din, bikaranîna rûtînên paşgira _P ji bo rêzik û fonksiyonên bîranînê (mînak strcpy_P() hwd..) yên 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.2
Plansaziya DFP-ê hate guheztin 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 domdar Bala xwe bidinê ku ji hêla xwerû, hêmanên binavkirî dê di bîranîna bernameyê de werin danîn û bigihîjin wan (wekî ku li vir tê diyar 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 -mno-const-data-in-progmem were asteng kirin.
Guhertoya 2.00
- Sîgorteyên veavakirinê Sîgorteyên vesazkirina cîhazê niha dikarin bi karanîna pragmayek mîhengê bername bikin û dûv re cotên mîheng-nirxê ji bo diyarkirina rewşa sîgorteyê, mînak #pragma config WDTON = SET #pragma config BODLEVEL = BODLEVEL_4V3
- Tişt û fonksiyonên mutleq Naha tişt û fonksiyon dikarin li navnîşana taybetî ya di bîranînê de bi karanîna diyarkera CCI __at(navnîşan) werin danîn, ji bo nimûne.ample:
- #linavxistin
int foobar __at(0x800100);
char __at(0x250) getID(int offset) {…}
Argumana vê diyarkerê divê domdar be ku navnîşana ku dê bit an talîmata yekem tê de were danîn destnîşan dike. Navnîşanên RAM-ê bi karanîna 0x800000 ve têne destnîşan kirin. CCI çalak bike ku vê taybetmendiyê bikar bîne.
- #linavxistin
- Hevoksaziya fonksiyona qutbûnê ya nû Berhevkar nuha diyarkera CCI __interrupt(hejmar) qebûl dike da ku destnîşan bike ku fonksiyonên C-yê hilgirên navbirê ne. Vebijêrk jimareyek navberê digire, ji bo nimûneample: #tevlî void __interrupt(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ê li gorî ya ku ji hêla rêberê bikarhêner ve hatî armanc kirin an destnîşankirî biguhezînin. Hejmara guhertoya di binsernivîsan de guhertoya berhevkerê ya yekem 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 cîhaz-taybetî 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.45
- Têkçûna lîsansa roamingê (XCLM-235) Lîsansên roamed bi rêkûpêk li ser platformên Linux-ê ku guhertoyên glibc yên ji 2.28-an derengtir bikar tînin ne xebitîn.
- Çewtiya navxweyî ya bi rêzikên avahîsaziyê (XC8-3069) Dema ku endamên rêza pir-alî yên avahîsaziyekê hatin pêvajo kirin, qalibê cîhê navnîşan bi rêkûpêk li rêzê nehat belav kirin. Ev bû sedema neliheviyek di agahdariya qalîteya cîhê navnîşan de û xeletiyek berhevkarê hundurîn. Ev rewş hatiye rastkirin.
- Xerab dinivîse ji herikên nedestpêkkirî re (ML-353, XC8-3100) Ger stûnên standart/xeletî bi karanîna FDEV_SETUP_STREAM an _init_stdout/_init_stderr bi eşkere nehatibin saz kirin, hewildana nivîsandina ji wan re dibe sedema tevgerek nediyar. Vê yekê jî bandor li nivîsên ji fonksiyonên stdlib, wek xelet() kir. Tiştek ku ji van çeman re were nivîsandin berî ku ew werin destpêkirin dê naha were paşguh kirin.
- Guherkerê ku nayê destekkirin (XC8-2505) Pirtûkxaneya avr-libc di diyarkerên veguherandina şêweya printf de, ji bo nimûne, guhêrbar * piştgirî nekir.ample "%.*f". Ev niha bi danasîna Pirtûkxaneya Standard a Yekgirtî ya Microchip tê piştgirî kirin.
- Gelek hişyariyên nedestpêkkirî (XC8-2409) Berhevkar dema ku rûbirûyî komek domdar a ku nehatibû destpêkirin, gelek peyamên hişyariyê yên yeksan diweşand. Diviyabû tenê carekê peyam bihata dayîn, ku niha ev rewş diqewime.
Guhertoya 2.41
- Pirsgirêkên Dongle yên li ser Ventura (XC8-3088) Dongleyên ku ji bo lîsansa berhevkerê têne bikar anîn dibe ku li ser mêvandarên macOS Ventura bi rêkûpêk nehatibin xwendin, di encamê de lîsans têkçûn. Guhertinên rêveberê lîsansa XCLM vê pirsgirêkê rast dikin.
- Nîşana nerast a veqetandina bîrê (XC8-2925) Hewl dide ku SIZE_MAX byte (an nirxek nêzîkê vê) bîranînê bi karanîna fonksiyonên rêveberiya bîra pirtûkxaneyê ya standard (malloc() et al) veqetîne ku dema pêkanîna veqetandina bîranîna dînamîkî ya hêsan bikar tîne. Naha dê nîşanek NULL were vegerandin û di rewşên weha de li ENOMEM-ê neyê danîn.
- Fonksiyonên fma yên nerast hatin rakirin (XC8-2913) Pirtûkxaneya standard a C99 fma() -fonksiyonên malbatê ( ) ji yek dorvegerekê re pir-zêdebûnek bi rastiyek bêsînor hesab nekir, lê di şûna wê de bi her operasyonê re xeletiyên dorpêçkirinê berhev kirin. Van fonksiyonan ji pirtûkxaneya peydakirî hatine rakirin.
- Rêbaza xirab a veguhertina rêzikê (XC8-2921, XC8-2652) Dema ku 'rêla mijarê' ji bo veguhertina ji hêla strtod() ve tê de tiştê ku di şeklê nîşankirî de jimareyek xala herikînê ye û piştî e/E-yê karakterek nediyar hebû. karekter, paşê li cihê ku endptr hatibû peyda kirin, navnîşanek jê re hate destnîşankirin ku ew nîşana karaktera piştî , diviyabû ku ew bi xwe nîşan bide karaktera e//E, ji ber ku ew nehatibû veguheztin. Ji bo example, strtod("100exx", &ep) divê 100.00 vegere û ep destnîşan bike ku beşa "exx" ya rêzê nîşan bide, lê fonksiyon nirxa rast vedigerîne lê beşa "xx" ya rêzikê destnîşan dike.
Guhertoya 2.40
- Pir rehet (XC8-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 çêdikir. Dibe ku ev bi koda ku pirtûkxaneyên nû yên MUSL bikar aniye an jî bi sembolên qels re çêbûye.
- Taybetmendiya nexşeyê wekî ku di hişyariyê de hatî destnîşan kirin (XC8-2875) neçalak bûye Ger taybetmendiya const-data-in-cong-mapped-progmem bi eşkere bi karanîna vebijarkê hate çalak kirin û taybetmendiya const-data-di-progmem hate neçalak kirin, gavê girêdan têk çû, tevî peyamek hişyariyê ku diyar dike ku daneya konst Taybetmendiya -cong-mapped-progmem bixweber hate neçalak kirin, ku bi tevahî ne rast bû. Taybetmendiya const-data-in-config-mapped-progmem niha di vê rewşê de bi tevahî neçalak e.
- DFP diguhere da ku bi rast xwe bigihîne NVMCTRL (XC8-2848) Koda destpêkirina dema xebitandinê ya ku ji hêla cîhazên AVR64EA ve hatî bikar anîn hesab nekiriye ku qeyda NVMCTRL di bin Parastina Guhertina Vesazkirinê (CCP) de ye û nekariye IO SFR li rûpela hatî bikar anîn bicîh bike. ji hêla taybetmendiya berhevkarê const-data-in-cong-mapped-progmem ve. 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.
- Guhertinên DFP-ê ji bo ku ji nexşeya flash-ê dûr bikevin (XC8-2847) Xebatek ji bo pirsgirêkek taybetmendiya cîhaza nexşeya flash-ê ya ku di AVR128DA28/32/48/64 Silicon Errata (DS80000882) de hatî ragihandin, hate bicîh kirin. Taybetmendiya berhevkerê const-data-in-cong-mapped-progmem dê ji hêla xwerû ve ji bo cîhazên bandorkirî neyê sepandin, û ev guhertin dê di AVR-Dx_DFP guhertoya 2.2.160 de xuya bibe.
- Çewtiya avakirina bi sinhf an coshf (XC8-2834) Hewldanên ji bo karanîna fonksiyonên pirtûkxaneya sinhf() an coshf() di xeletiyek girêdanê de encam da, ku referansek nediyar diyar dike. Fonksîyona wenda ya ku hatî referans niha di belavkirina berhevkerê de cih girtiye.
- Çewtiyên bi nopa (XC8-2833) ava bikin. Ev tevlihevî ne pêkan e.
- Têkçûna fonksiyona guherbar a bi argumanên nîşankerê (XC8-2755, XC8-2731) Fonksiyonên bi hejmarek argumanên guhêrbar hêvî dikin ku nîşangirên 24-bit (cûreya __memx) di navnîşa argumanên guhêrbar de werin derbas kirin dema ku taybetmendiya konst-data-di-progmemê be enabled. 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 const-data-di-progmem-ê were çalak kirin, hemî argumanên nîşangirên 16-bit nuha vediguhezînin nîşangirên 24-bit.
- Fonksiyonên pirtûkxaneya strtoxxx têk diçin (XC8-2620) Dema ku taybetmendiya const-data-in-progmem hate çalak kirin, parametreya endptr 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 kavilên nederbasdar (XC8-2612) Heke taybetmendiya konst-di-progmemê were çalak kirin û navnîşana rêzikek bi awayekî eşkere li cîhê navnîşana daneyê were avêtin (hilweşandina qaîdeya const) ji bo nimûne, berhevkar dê nuha xeletiyek derxe.ample, (uint8_t *) "Silav Cîhan!" . 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î (XC8-2408) Tiştên nedestpêkkirî û yên bêserûber pêk tên
li ser cîhazên ku hemî an beşek ji bîra bernameya xwe di cîhê navnîşana daneyê de nexşe dikin di bîra bernameyê de nehatin danîn. Ji bo van amûran, tiştên weha naha di bîra bernameyê de têne danîn, ku xebata wan bi amûrên din re hevaheng dike.
Guhertoya 2.39 (Rapekirina Ewlehiya Karker)
Netû.
Guhertoya 2.36
Çewtiya di derengkirinê de (XC8-2774) Guhertinên piçûk di xweşbîniyên moda belaş ên xwerû de rê li ber daxistina domdar îfadeyên operandê li fonksiyonên çêkirî yên derengiyê girtin, di encamê de ew wekî ne-domdar têne hesibandin û xeletiyê derdixin: __builtin_avr_delay_cycles jimareyek dema berhevkirinê hêvî dike. çikyayî.
Guhertoya 2.35
- Veqetandina hevdeng bi bikaranîna __at (XC8-2653) Veqetandina hevdeng a gelek tiştan di beşa bi heman navî de û bi karanîna __at() rast nexebitî. Ji bo example:
const char arr1[] __attribute__((beş(.mysec”))) __at (0x500) = {0xAB, 0xCD}; const char arr2[] __attribute__((beş(.mysec”))) = {0xEF, 0xFE}; divê arr2 tavilê piştî arr1 bi cih bike - Diyarkirina navnîşanên destpêka beşê (XC8-2650) Vebijarka -Wl,–beş-destpêk 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îye rast kirin; lebê, ew ê ji bo tu beşên standard nexebite, wek .text an .bss, ku divê bi bikaranîna vebijêrk -Wl,-T danîn. Girêdan dema ku rihet dibe têk diçe (XC8-2647) Dema ku optimîzasyona -mrelax hate çalak kirin û kod an beşên daneyê yên ku di bîra berdest de cih negirtin hebûn, girêdan têk çû. Naha, di rewşek weha de, li şûna wan peyamên xeletiyê têne derxistin.
- No-paşveçûn tune (XC8-2646) Vebijarka –nofallback ne rast hate bicîh kirin, ne jî belgekirî bû. Naha ev dikare were hilbijartin da ku pê ewle bibe ku berhevkar dê venegere mîhengek xweşbîniya jêrîn heke berhevkar bê destûr be, û li şûna wê xeletiyek derxîne.
- Optimîzasyonên leza neguncaw (XC8-2637) Dema ku xweşbîniyên asta 3 (-O3) hildibijêrin, xweşbîniyên abstraksiyonê yên prosedurî dihatin çalak kirin. Van optimîzasyonan li gorî leza kodê mezinahiya kodê kêm dikin, ji ber vê yekê divê nehata kirin.
- Gihîştina xirab a EEPROM (XC8-2629) Dema ku vebijarka - mconst-data-in-progmem hate çalak kirin (ku rewşa xwerû ye) rûtîn eeprom_read_block li ser cîhazên Xmega rast nexebitî.
- Veqetandina bîra nederbasdar (XC8-2593, XC8-2651) Dema ku vebijarka girêdana -Ttext an -Tdata (ji bo berêampBi karanîna vebijarkek ajokar -Wl) hatî derbas kirin, hatî destnîşan kirin, eslê herêma daneyê/nivîsa 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.
- Xeza bi fonksiyona zêde-vekirî (XC8-2580) Berhevkar têk çû ger fonksiyonek ji yek ji wan taybetmendîyên navbirî, sînyala an nmi-yê zêdetir bi kar bîne, mînakî, __taybet__((__signal__, __interrupt__) hate ragihandin.
- Koda qutbûnê ya ATtiny nederbasdar (XC8-2465) Dema ku ji bo cîhazên ATtiny têne çêkirin û xweşbîn kirin (-O0), dibe ku fonksiyonên qutbûnê operandek ji rêzê derxistibe.
- Vebijêrkên ku di nav de derbas nabin (XC8-2452) Dema ku vebijarka -Wl bi gelek vebijarkên girêdanê yên ji hev veqetandî veqetandî tê bikar anîn, ne hemî vebijarkên girêdanê derbasî lînkerê bûn.
- Çewtiya nerasterast di xwendina bîra bernameyê de (XC8-2450) Di hin mînakan de, berhevkar xeletiyek hundurîn çêkir (insn nenaskirî) dema ku nirxek du baytê ji nîşanek ber bi bîra bernameyê dixwîne.
Guhertoya 2.32
Gihîştina duyemîn a pirtûkxaneyê têk çû (XC8-2381) Banga guhertoya Windows-ê ya arşîva pirtûkxaneya xc8-ar.exe carek din ji bo gihîştina arşîva pirtûkxaneyê ya heyî dibe ku bi peyama xeletiya ku nekare navê xwe biguherîne têk çûbe.
Guhertoya 2.31
Têkçûnên berhevkar ên neravekirî (XC8-2367) Dema ku li ser platformên Windows-ê yên ku pelrêça demkî ya pergalê li ser rêyek ku xalek tê de heye '. karakter, dibe ku berhevkar bi ser neketibe.
Guhertoya 2.30
- Etîketên gerdûnî yên ku piştî xêzkirina (XC8-2299) xelet hatine cîh kirin koda kombûnê ya bi destan a ku etîketên gerdûnî di nav rêzikên civînê de ku ji hêla abstrakasyona prosedurê ve têne derxistin de cîh dike, dibe ku bi rengek rast nehatiba veguheztin.
- Qezayek aram (XC8-2287) Bikaranîna vebijarka -mrelax dibe ku bibe sedem ku lînker têk bibe dema ku xweşbîniyên rihetkirina bazdana dûvikê hewl didin ku rêwerzên ret ên ku di dawiya beşê de ne ji holê rakin.
- Di dema xweşbînkirina etîketan wekî nirxan de têkçûn (XC8-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, digel xeletiyek rastkirina rêzê.
- Ne ew qas konst (XC8-2271) Prototîpên strstr() û fonksiyonên din ên ji Dema ku taybetmendiya const -mconst-data-in-progmem neçalak be, êdî li ser nîşangirên rêza vegerî qalibê ne-standard diyar neke. Bala xwe bidinê ku bi cîhazên avrxmega3 û avrtiny re, ev taybetmendî bi domdarî çalak e.
- Destpêkirvanên windakirî (XC8-2269) Gava ku di yekîneyek wergerê de ji yekî zêdetir guhêrbar di beşê de hate danîn (bikaranîna __beşê an __attribute__((beş)) ), û guherbara yekem sifir destpêkir an jî ne xwedî destpêkek bû, destpêker ji bo guherbarên din ên di heman yekîneya wergerê de ku di heman beşê de hatibûn bicihkirin winda bûn.
Guhertoya 2.29 (Rapekirina Ewlehiya Karker)
Netû.
Guhertoya 2.20
- Çewtiya di fermanên dirêj de (XC8-1983) Dema ku armancek AVR bikar tîne, dibe ku berhevkar bi xeletiyek pelê nehatiye dîtin rawestiyabe, heke rêzika fermanê pir mezin bû û karakterên taybetî yên wekî quote, paşverû, hwd.
- Beşa rodata nenaskirî (XC8-1920) Girêdana AVR-ê dema ku ji bo mîmariyên avrxmega3 û avrtiny ava dike, nekariye bîra ji bo beşên rodata xwerû veqetîne, bi potansiyel xeletiyên lihevhatina bîranînê çêdike.
Guhertoya 2.19 (Rapekirina Ewlehiya Karker)
Netû.
Guhertoya 2.10
- Têkçûnên veguheztinê (XC8-1891) Berhevkarê herî baş ê guncan ew bû ku piştî rehetkirina girêdanê di navbera beşan de 'kunên' bîranînê hiştin. 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 rehetbûnê ve nehatine guheztin (XC8-1889) Rehetbûna girêdanê ji bo rêwerzên bazdanê an gazîkirinê yên ku ger rihet bibin bigihîjin armancên wan pêk nehat.
- Wenda fonksiyonel (XC8E-388) Çend pênas ji , wek clock_div_t û clock_prescale_set() , ji bo cîhazan nehatin diyarkirin, di nav de ATmega324PB, ATmega328PB, ATtiny441, û ATtiny841.
- Makroyên winda Makroyên pêşprocessor _XC8_MODE_, __XC8_VERSION, __XC, û __XC8 bixweber ji hêla berhevkar ve têne destnîşankirin. Ev niha hene.
Guhertoya 2.05
- Çewtiya berhevkarê hundurîn (XC8-1822) Dema ku di bin Windows-ê de çêdibe, dibe ku xeletiyek berhevkarê hundurîn dema xweşbînkirina kodê çêbibe.
- Zêdebûna RAM-ê nehat tespît kirin (XC8-1800, XC8-1796) Bernameyên ku ji RAM-a berdest derbastir 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çû (XC8-1792) Ji bo cîhazên avrxmega3 û avrtiny, dibe ku beşên bîra flashê ji hêla MPLAB X IDE ve bêbername hatine hiştin.
- Di hin rewşan de ku bernameyê guhêrbarên gerdûnî nehatine diyarkirin, koda destpêkirina dema xebitandinê derneket û fonksiyona sereke () qet negihişt.
- Agahdariya bîrê ya çewt (XC8-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.
- Xwendina hafizeya bernameyê ya nerast (XC8-1783) Projeyên ku ji bo cîhazên bi bîranîna bernameyê di nav cîhê navnîşana daneyê de hatine berhev kirin û tiştên ku makro/taybetmendiya PROGMEM bikar tînin diyar dikin dibe ku van tiştan ji navnîşana xelet xwendine.
- Çewtiya navxweyî ya bi taybetmendiyan (XC8-1773) Çewtiyek hundurîn çêdibe heke we tiştên nîşanker bi nîşana __at() an taybetmendî() di navbera navê nîşanker û celebê jêderkkirî de destnîşan bikin, wek mînak.ample, char * __at(0x800150) cp; Heke kodek weha were dîtin nuha hişyariyek tê dayîn.
- Nexebitandina sereke (XC8-1780, XC8-1767, XC8-1754) Bikaranîna guhêrbarên EEPROM an diyarkirina sîgorteyan bi karanîna pragmaya vesazkirinê dibe ku bibe sedema destpêkirina daneya nerast û/an girtina bernameyê di koda destpêkê ya dema xebitandinê de, berî ku bigihîje ).
- Xeletiya sîgorteyê bi cîhazên piçûk re (XC8-1778, XC8-1742) Amûrên attiny4/5/9/10/20/40 di pelên serê wan de dirêjahiya sîgorteyê ne rast hatî destnîşan kirin ku dema ku hewl didin koda ku fuşen diyar dike ava bikin dibe sedema xeletiyên girêdanê. .
- Xeletiya dabeşkirinê (XC8-1777) Xeletiyek dabeşkirina navberê hate rast kirin.
- Qezaya Assembler (XC8-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 (XC8-1752) Dibe ku hêmanên maweya hilanîna statîk a nedestpêkkirî ji hêla koda destpêkirina dema xebitandinê ve nehatibin paqij kirin.
- Taybetmendiya cîhaza nakok hate paşguh kirin (XC8-1749) Dema ku gelek vebijarkên taybetmendiya cîhazê dihatin bikar anîn û amûrên cihêreng destnîşan dikirin, berhevkar xeletiyek çênekir.
- Xerabbûna bîrê ji hêla girikê ve (XC8-1748) Nîşana __heap_start 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 lînkerê (XC8-1739) Dibe ku xeletiyek veguheztina lînkerê derketibe dema ku kod rjmp an rcallek bi armancek tam 4k bytes dûr ve dihewîne.
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 jî ji agahdariya ku di manuala bikarhêner de hene veqetiyan. 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 dikare sûdmend be. Ew tiştên ku etîketên wan tune ne tixûbên ku modi operandi rave dikin û îhtîmal e ku bi domdarî di bandorê de bimînin.
Integration MPLAB X IDE
- Yekbûna MPLAB IDE Heke Compiler ji MPLAB IDE were bikar anîn, wê hingê divê hûn berî sazkirina Compiler-ê MPLAB IDE saz bikin.
- Agahdariya çewtiyê ya array (XC8-3157) Agahdariya çewtiyê ya ku ji hêla berhevkar ve hatî hilberandin bi duristî celebê nesnê ji bo rêzikên di cîhê navnîşana __memx de nagihîne. Ev ê pêşî li çavdêriya tiştê di IDE de bigire.
Generation Code
- Segfault with section-anchors vebijarka (XC8-3045) Bernameya ku fonksiyonên bi lîsteyên argumanên guhêrbar diyar dike û vebijarka -fsection-anchors bikar tîne dibe ku xeletiyek berhevkarê navxweyî derxe holê: Xeletiya dabeşkirinê
- Agahdariya çewtiyê ji hevdemkirinê derdixe (XC8-2948) Gava ku xweşbîniyên rihetkirina girêdanê talîmatan piçûk dike (bo mînakampLe gazî rêwerzên rcallê), xêza çavkaniyê ji bo nexşeyên navnîşanan dibe ku di hevdengiyê de nemîne dema ku di beşê de ji yekê zêdetir operasyona piçûkkirinê hebe. Di jêrîn de exampLe, du bangên ku ji bo bangên xizmekî rehet diqedin hene.
- Têkçûna veqetandina bîra PA (XC8-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 ya berdest bi cih bike. dem.
- Ne ewqas jîr Smart-IO (XC8-2872) Taybetmendiya smart-io ya berhevkar dê ji bo fonksiyona snprintf kodek derbasdar lê ne-optimal çêbike ger taybetmendiya const-data-di-progmem-ê hatibe neçalak kirin an heke cîhaz hemî taybetmendiyên xwe hebe. flash di nav bîra daneyê de hate kişandin.
- Smart-IO-ya hindiktir jîr (XC8-2869) Dema ku vebijarkên -flto û -fno-çêkirî her du jî werin bikar anîn, taybetmendiya smart-io ya berhevkar dê kodek derbasdar lê ne-optimal çêbike.
- Bicîhkirina daneya tenê-xwendewarî ya nebaş (XC8-2849) Girêdêr niha haya xwe ji beşên bîra APPCODE û APPDATA, ne jî ji dabeşên [No-]Read-While-Write di nexşeya bîranînê de nîne. 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 const-data-di-progmem-ê were çalak kirin şansê daneya xelet zêde dibe, nemaze heke taybetmendiya const-data-in-cong-mapped-progmem jî çalak be. Ger hewce be ev taybetmendî dikarin bêne asteng kirin.
- Fermana pêvajoya pelê nesneyan (XC8-2863) Rêza ku pelên nesneyan dê ji hêla girêdanker ve werin hilberandin dibe ku li ser bingeha karanîna xweşbîniyên abstraksiyonê yên prosedurî (vebijarka -mpa) cûda bibe. Ev ê tenê bandorê li koda ku fonksiyonên qels di nav gelek modulan de diyar dike bandor bike.
- Çewtiya girêdanê ya bi mutleq (XC8-2777) Dema ku di destpêka RAM-ê de li navnîşanek mutleq hatibe kirin û tiştên nedestpêkkirî jî werin diyarkirin, dibe ku xeletiyek girêdanê çêbibe.
- Nasnameyên şiyarbûnê yên kurt (XC8-2775) Ji bo cîhazên ATA5700/2, qeydên PHID0/1 tenê wekî 16 bit fireh in, li şûna 32 bit, têne destnîşankirin.
- Di dema bangkirina sembolê (XC8-2758) de girêdana girêdanê têk diçe heke vebijarka ajokerê -mrelax were bikar anîn dema ku koda çavkaniyê sembolek ku bi karanîna vebijarka - Wl,-defsym vebijarka hatî destnîşankirin bang dike.
- Destpêkirina çewt (XC8-2679) Di navbera cihê ku nirxên destpêkê yên hin tiştên gerdûnî/statîk bi mezinahiya baytê di bîra daneyê de têne danîn û cihê ku guhêrbar dê di dema xebitandinê de werin gihîştin de cûdabûnek heye.
- Bangên fonksiyonên nerasterast ên xirab (XC8-2628) Di hin rewşan de, dibe ku bangên fonksiyonê yên ku bi riya nîşanek fonksiyonê ku wekî beşek avahiyek hatî hilanîn têne kirin têk biçin.
- strtof sifirê vedigerîne ji bo pêlên heksadesîmal (XC8-2626) Fonksiyonên pirtûkxaneyê strtof() et al û scanf() et al, dê her gav jimareyek xala hekzadecîmal a heksadesîmal a ku nîşanderek ji bo sifirê diyar nake veguherîne. Ji bo example: strtof("0x1", &endptr); dê nirxa 0 vegerîne, ne 1.
- Peyamên nerast ên şêwirmendê stikê (XC8-2542, XC8-2541) Di hin rewşan de, hişyariya şêwirmendê stikê di derbarê paşveçûn an stûna nedîyar ku tê bikar anîn (dibe ku bi karanîna alloca()) ve neyê şandin.
- Di koda qutbûnê ya ducarî de têkçûn (XC8-2421) Li cihê ku ji yek fonksiyona qutbûnê xwedî heman laş be, dibe ku berhevkar ji bo fonksiyonek qutbûnê ya din derkeve holê. 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.
- Hilberîna xirab a bi riya DFP-ya nederbasdar (XC8-2376) Ger berhevkar bi rêyek DFP-ya nederbasdar were vexwendin û ji bo cîhaza hilbijartî pelek 'spec' hebe, berhevkar pakêta malbata cîhaza wenda rapor nake û li şûna wê 'specê' hildibijêre. pelê, ku wê hingê dibe ku bibe encamek nederbasdar. Dibe ku pelên 'spec' bi DFP-yên belavbûyî re ne nûve bin û tenê ji bo ceribandina berhevkarê hundurîn hatine bikar anîn.
- Hevbendiya bîranînê nehate tesbîtkirin (XC8-1966) Berhevkar hevbendiya bîranînê ya tiştên ku li navnîşanek (bi rêya __at()) mutleq hatine çêkirin û tiştên din ên ku diyarkera __section() bikar tînin û bi heman navnîşanê ve girêdayî ne, nas nake.
- Dibe ku têkçûna fonksiyonên pirtûkxaneyê û __memx (XC8-1763) ku jê re libgcc oat fonksiyonên bi arguman di cîhê navnîşana __memx de tê gotin 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 libgcc ya tixûbdar (AVRTC-731) Ji bo hilberên ATTiny4/5/9/10/20/40, pêkanîna pirtûkxaneya standard C / Math di libgcc de pir kêm e an tune ye.
- Sînorkirinên bîra bernameyê (AVRTC-732) Wêneyên bîra bernameyê ji 128 kb wêdetir ji hêla zincîra amûran 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êyî peyamek xeletiyek arîkar ji hilberandina stûyên fonksiyonê yên pêwîst dema ku vebijarka -mrelax 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, li gorî sînorên ku di beşa rêbernameya bikarhêner de hatine destnîşan kirin Tîpa Taybetmendiyên Taybet.
- Herêmên demjimêr The fonksiyonên pirtûkxaneyê GMT-ê digirin û deverên demjimêrên herêmî piştgirî nakin, ji ber vê yekê localtime() dê heman wextê wekî gmtime() vegere, ji bo berêample.
Belge / Çavkanî
![]() |
MICROCHIP XC8 C Berhevkar Guhertoya 2.45 Ji bo AVR MCU Nîşaneyên Weşandinê [pdf] Rênîşander AVR MCU, XC8 C, XC8 C Berhevkar Guhertoya 2.45 Têbînîyên Serbestberdanê ji bo AVR MCU, Guhertoya Berhevkarê 2.45 Nîşeyên Serbestberdanê ji bo AVR MCU, Guhertoya 2.45 Nîşaneyên Serbestberdanê ji bo AVR MCU, Têbînîyên Serbestberdanê ji bo AVR MCU, Têbînî ji bo AVRCU |