Bathar-bog cruinneachaidh MICROCHIP MPLAB XC8 C 

Bathar-bog cruinneachaidh MICROCHIP MPLAB XC8 C

THA FIOSRACHADH CUDROMACH ANN AN SGRÙDADH SEO A BHITH A' buntainn ris an MPLAB XC8 C COMPILER NUAIR A THA A' CUR AIRSON FIOSRACHADH MICROCHIP AVR.
Feuch an leugh thu e mus ruith thu am bathar-bog seo. Faic an MPLAB XC8 C COMPILER RELEASE NOTAICHEAN AIRSON SGRÙDADH PIC Ma THA A' CLEACHDADH AN T-SOISGEIL AIRSON innealan 8-BIT PIC.

Clàr-innse seiche

Thairisview

Ro-ràdh

Anns an fhoillseachadh seo den inneal-cruinneachaidh Microchip MPLAB® XC8 C tha grunn fheartan ùra, rèiteachadh bug, agus taic inneal ùr.

Ceann-latha togail

Is e an ceann-latha togail oifigeil den dreach cruinneachaidh seo an 3 Iuchar 2022.

Tionndadh roimhe

B’ e an dreach cruinneachaidh MPLAB XC8 C a bh’ ann roimhe 2.39, inneal-cruinneachaidh sàbhailteachd gnìomh, a chaidh a thogail air 27 Faoilleach 2022. B’ e dreach 2.36 an dreach àbhaisteach roimhe, a chaidh a thogail air 27 Faoilleach 2022.

Leabhar-làimhe sàbhailteachd gnìomh

Tha Leabhar-làimhe Sàbhailteachd Gnìomh airson luchd-cruinneachaidh MPLAB XC ri fhaighinn sa phasgan sgrìobhainnean nuair a cheannaicheas tu cead sàbhailteachd gnìomh.

Ceadan Co-phàirteach agus Tionndaidhean

Tha an MPLAB® XC8 C Compiler airson innealan AVR MCUs air an sgrìobhadh agus air an sgaoileadh fo Chead Poblach Coitcheann GNU (GPL) a tha a’ ciallachadh gu bheil a chòd stòr air a chuairteachadh gu saor agus ri fhaighinn don phoball. Faodar an còd tùsail airson innealan fon GNU GPL a luchdachadh sìos air leth bho Microchip's weblàrach. Faodaidh tu an GNU GPL a leughadh anns an fhaidhle file ainmichte suidhichte fo-eòlaire an eòlaire stàlaidh agad. Gheibhear deasbad coitcheann air na prionnsapalan a tha mar bhunait don GPL an seo. Còd taic air a thoirt seachad airson a’ chinn-cinn files, sgriobtaichean ceangail, agus leabharlannan runtime mar chòd seilbhe agus chan eil iad còmhdaichte fon GPL.

Tha an compiler seo na bhuileachadh de GCC dreach 5.4.0, dreach binutils 2.26, agus a’ cleachdadh dreach avr-libc 2.0.0.

Riatanasan an t-siostaim

Tha an compiler MPLAB XC8 C agus am bathar-bog ceadachd a bhios e a’ cleachdadh rim faighinn airson grunn shiostaman obrachaidh, a’ toirt a-steach dreachan 64-bit de na leanas: Deasachaidhean proifeasanta de Microsoft Windows 10; Ubuntu 18.04; agus macOS 10.15.5. Chaidh binaries airson Windows a shoidhnigeadh le còd. Chaidh binaries airson mac OS a shoidhnigeadh le còd agus notarized.

Ma tha thu a’ ruith frithealaiche cead lìonraidh, chan fhaod ach coimpiutairean le siostaman obrachaidh le taic bhon luchd-cruinneachaidh a bhith air an cleachdadh gus aoigheachd a thoirt do fhrithealaiche a’ cheadachais. Mar xclm dreach 2.0, faodar am frithealaiche cead lìonra a chuir a-steach air àrd-ùrlar Microsoft Windows Server, ach chan fheum frithealaiche a’ cheadachais ruith air dreach frithealaiche den t-siostam obrachaidh.

Innealan le taic

Bidh an inneal-cruinneachaidh seo a’ toirt taic do na h-innealan 8-bit AVR MCU a tha aithnichte aig àm an sgaoilidh. Faic (ann an eòlaire doc an neach-cruinneachaidh) airson liosta de na h-innealan le taic. Tha iad seo files cuideachd liosta de shuidheachaidhean bit rèiteachaidh airson gach inneal.

Deasachaidhean agus ùrachadh ceadan

Faodar an compiler MPLAB XC8 a chuir an gnìomh mar thoradh le cead (PRO) no gun chead (An-asgaidh). Feumaidh tu iuchair gnìomhachaidh a cheannach gus cead a thoirt don neach-cruinneachaidh agad. Tha cead a 'ceadachadh ìre nas àirde de optimization an coimeas ris an toradh an-asgaidh. Faodar inneal-cruinneachaidh gun chead obrachadh gun chrìoch gun chead.

Feumar inneal-cruinneachaidh Sàbhailteachd Gnìomh MPLAB XC8 a chuir an gnìomh le cead sàbhailteachd gnìomh a chaidh a cheannach bho Microchip. Chan obraich an neach-cruinneachaidh às aonais a’ cheadachais seo. Aon uair ‘s gu bheil thu air a ghnìomhachadh, faodaidh tu ìre optimization sam bith a thaghadh agus na feartan cruinneachaidh gu lèir a chleachdadh. Tha an sgaoileadh seo den MPLAB XC Functional Safety Compiler a’ toirt taic do Chead Freiceadan Lìonra.
Faic an sgrìobhainn Stàladh agus Ceadachadh MPLAB XC C Compilers (DS50002059) airson fiosrachadh mu sheòrsan cead agus stàladh an inneal-cruinneachaidh le cead.

Stàladh agus cur thuige

Faic cuideachd na h-earrannan Cùisean Imrich agus Cuingealachaidhean airson fiosrachadh cudromach mun mhanaidsear cead as ùire a tha air a ghabhail a-steach leis a’ cho-chruinneachadh seo.
Ma tha thu a’ cleachdadh MPLAB IDE, dèan cinnteach gun stàlaich thu an tionndadh 5.0 MPLAB X IDE as ùire no nas fhaide air adhart mus stàlaich thu an inneal seo. Fàg an IDE mus stàlaich thu an compiler. Ruith an .exe (Windows), .run (Linux) no app (macOS) compiler installer application, me XC8-1.00.11403-windows.exe agus lean an stiùireadh air an sgrion.
Tha am pasgan stàlaidh bunaiteach air a mholadh. Ma tha thu a’ cleachdadh Linux, feumaidh tu an compiler a stàladh a’ cleachdadh inneal-crìochnachaidh agus bho chunntas freumh. Stàlaich a’ cleachdadh cunntas macOS le sochairean rianadair.

Tha gnìomhachadh a-nis air a dhèanamh air leth bhon stàladh. Faic an sgrìobhainn Manaidsear Cead airson MPLAB® XC C Compilers (DS52059) airson tuilleadh fiosrachaidh.

Ma roghnaicheas tu an inneal-cruinneachaidh a ruith fon chead measaidh, gheibh thu a-nis rabhadh aig àm cruinneachaidh nuair a tha thu taobh a-staigh 14 latha bho dheireadh na h-ùine measaidh agad. Thèid an aon rabhadh a thoirt seachad ma tha thu taobh a-staigh 14 latha bho dheireadh an fho-sgrìobhaidh HPA agad.

Tha an XC Network License Server na stàlaichear air leth agus chan eil e air a ghabhail a-steach san stàlaichear cruinneachaidh aon-chleachdaiche.

Tha am Manaidsear Cead XC a-nis a’ toirt taic do ghluasad ceadan lìonra fleòdraidh. Ag amas air luchd-cleachdaidh gluasadach, leigidh am feart seo le cead fleòdraidh a dhol far lìonra airson ùine ghoirid. A’ cleachdadh am feart seo, faodaidh tu dì-cheangal bhon lìonra agus an compiler MPLAB XC agad a chleachdadh fhathast. Faic am pasgan doc den stàladh XCLM airson barrachd mun fheart seo. Tha MPLAB X IDE a’ toirt a-steach uinneag Ceadan (Innealan> Ceadan) gus gluasad a riaghladh gu fradharcach.

Fuasgladh Cùisean Stàladh

Ma tha duilgheadas agad le bhith a’ stàladh a’ chruinneachaidh fo gin de na siostaman-obrachaidh Windows, feuch na molaidhean a leanas.

  • Ruith an stàladh mar rianadair.
  • Suidhich ceadan an aplacaid stàlaichear gu 'Smachd slàn'. (Dèan briogadh deas air an file, tagh Properties, tab tèarainteachd, tagh cleachdaiche, deasaich.)
  • Suidhich ceadan a’ phasgan temp gu “Smachd Làn!

Gus faighinn a-mach càite a bheil am pasgan temp, dèan seòrsa % temp% a-steach don àithne Run (iuchrach suaicheantas Windows + R). Fosglaidh seo a file còmhradh rannsachair a’ sealltainn an eòlaire sin agus leigidh e leat slighe a’ phasgan sin a dhearbhadh.

Sgrìobhainnean Compiler

Faodar stiùireadh an neach-cruinneachaidh fhosgladh bhon duilleag HTML a tha a’ fosgladh sa bhrobhsair agad nuair a phutas tu air a’ phutan cuideachaidh gorm ann an deas-bhòrd MPLAB X IDE, mar a chithear san dealbh-sgrìn.

Sgrìobhainnean Compiler
Ma tha thu a’ togail airson targaidean AVR 8-bit, tha fiosrachadh ann an Iùl Cleachdaiche Compiler MPLAB® XC8 C airson AVR® MCU mu na roghainnean cruinneachaidh agus na feartan a tha iomchaidh don ailtireachd seo.

Taic Luchd-cleachdaidh

Tha microchip a’ cur fàilte air aithisgean bug, molaidhean no beachdan a thaobh an dreach cruinneachaidh seo. Feuch an stiùir thu aithisgean buga no iarrtasan feart sam bith tron ​​​​t-siostam taic.

Ùrachadh sgrìobhainnean

Airson dreachan air-loidhne agus as ùire de sgrìobhainnean MPLAB XC8, tadhal air Sgrìobhainnean Teicnigeach Air-loidhne Microchip weblàrach.

Sgrìobhainnean AVR ùra no ùraichte san fhoillseachadh seo:

  • Sanas dlighe-sgrìobhaidh MUSL
  • A’ stàladh agus a’ ceadachadh Compilers MPLAB XC C (ath-sgrùdadh M)
  • Stiùireadh Cleachdaiche MPLAB XC8 airson Einnseanairean Leabaichte - AVR MCUn (mùthadh A)
  • Stiùireadh Cleachdaiche Compiler MPLAB XC8 C airson AVR MCU (mùthadh F)
  • Leabhar-iùil Fiosrachaidh Leabharlann Coitcheann Aonaichte Microchip (mùthadh B)

Tha Leabhar-iùil Iomraidh Leabharlann Coitcheann Microchip a’ toirt cunntas air giùlan agus eadar-aghaidh nan gnìomhan a tha air am mìneachadh leis an Leabharlann Coitcheann Microchip Unified, a bharrachd air an cleachdadh a thathar an dùil a dhèanamh de sheòrsan leabharlainn agus macros. Bha cuid den fhiosrachadh seo roimhe seo ann an Leabhar-iùil Cleachdaiche Compiler MPLAB® XC8 C airson AVR® MCU. Tha fiosrachadh leabharlainn a tha sònraichte don inneal fhathast anns an stiùireadh cruinneachaidh seo.

Ma tha thu dìreach a’ tòiseachadh le innealan 8-bit agus an MPLAB XC8 C Compiler, tha fiosrachadh aig MPLAB® XC8 User!s Guide for Embedded Engineers - AVR® MCUs (DS50003108) mu bhith a’ stèidheachadh phròiseactan anns an MPLAB X IDE agus a’ sgrìobhadh còd airson a’ chiad phròiseact MPLAB XC8 C agad. Tha an stiùireadh seo a-nis air a sgaoileadh leis an neach-cruinneachaidh.

Tha Iùl Cleachdaiche Hamate air a thoirt a-steach don eòlaire docs san fhoillseachadh seo. Tha an iùl seo airson an fheadhainn a tha a’ ruith Hamate mar thagradh leotha fhèin.

Dè tha ùr

Tha na leanas nam feartan targaid AVR ùra a tha an neach-cruinneachaidh a-nis a’ toirt taic. Tha àireamh an tionndaidh anns na fo-chinn a’ comharrachadh a’ chiad dreach cruinneachaidh gus taic a thoirt do na feartan a leanas.

Tionndadh 2.40

Taic inneal ùr Tha taic a-nis ri fhaighinn airson na pàirtean AVR a leanas: AT90PWM3, AVR16DD14, AVR16DD20, AVR16DD28, AVR16DD32, AVR32DD14, AVR32DD20, AVR32DD28, AVR32DD32, AVR64EA28, AVR64EA32, agus AVR64EA48
Cur às do mhodhan-obrach nas fheàrr Chaidh an inneal optimization toirt air falbh modhan-obrach (PA) a leasachadh gus an tèid còd anns a bheil stiùireadh gairm gnìomh (gairm air ais)) a mhìneachadh. Cha tachair seo ach mura tèid an stac a chleachdadh gus argamaidean a thoirt seachad no luach tilleadh bhon ghnìomh. Bithear a’ cleachdadh a’ chruach nuair a thathar a’ gairm gnìomh le liosta argamaid caochlaideach no nuair a thathar a’ gairm gnìomh a ghabhas barrachd argamaidean na tha clàran air an comharrachadh airson an adhbhair seo. Faodar am feart seo a chuir à comas le bhith a’ cleachdadh an roghainn gairm manach-pa-outline-calls, no faodar toirt air falbh modhan-obrach a chuir à comas gu tur airson nì file no gnìomh le bhith a’ cleachdadh am -monk-pa-on-file agus -mo.-pa-on-function fa leth, no le bhith a’ cleachdadh am feart nipa (sònraiche nipa) gu roghnach le gnìomhan

Mac còmhdach còd Tha an t-inneal-cruinneachaidh a-nis a’ mìneachadh am macro __CODECOV ma tha roghainn mcodecov dligheach air a shònrachadh.

Roghainn glèidhidh cuimhne Gabhaidh an draibhear xc8-cc a-nis ris an roghainn -mreserve = space@start: deireadh nuair a bhios tu a’ togail airson targaidean AVR. Bidh an roghainn seo a’ glèidheadh ​​an raon cuimhne ainmichte ann an àite cuimhne an dàta no a’ phrògraim, a’ cur casg air a’ cheangal bho bhith a’ cleachdadh còd no nithean san raon seo.

IO nas glice Chaidh grunn leasachaidhean a dhèanamh air gnìomhan Smart IO, a’ gabhail a-steach tweaks coitcheann don chòd bunaiteach printf, a’ làimhseachadh an sònrachadh tionndaidh %n mar chaochladair neo-eisimeileach, a’ ceangal ann an cleachdaidhean vararg pop a rèir iarrtas, a’ cleachdadh seòrsaichean dàta nas giorra far a bheil sin comasach airson argamaidean gnìomh IO a làimhseachadh. , agus factar còd cumanta ann an leud achaidh agus làimhseachadh mionaideach. Faodaidh seo leantainn gu sàbhalaidhean còd is dàta cudromach, a bharrachd air àrdachadh astar cur gu bàs IO.

Tionndadh 2.39 (Foillseachadh Sàbhailteachd Gnìomhach)

Cead frithealaiche lìonra Tha an sgaoileadh seo de Compiler Sàbhailteachd Gnìomh MPLAB XC8 a’ toirt taic don Chead Freiceadan Lìonra.

Tionndadh 2.36

Chan eil gin.

Tionndadh 2.35

Taic inneal ùr Tha taic ri fhaighinn airson na pàirtean AVR a leanas: ATTINY3224, ATTINY3226, ATTINY3227, AVR64DD14, AVR64DD20, AVR64DD28, agus AVR64DD32.

Atharrachadh co-theacsa nas fheàrr Bidh an roghainn ùr -mcall-isr-prologues ag atharrachadh mar a bhios gnìomhan brisidh a’ sàbhaladh chlàran nuair a thig iad a-steach agus mar a thèid na clàran sin ath-nuadhachadh nuair a thig an cleachdadh brisidh gu crìch. Bidh e ag obair san aon dòigh ris an roghainn -mcall-prologues, ach chan eil e a’ toirt buaidh ach air gnìomhan brisidh (ISRn).

Atharrachadh co-theacsa eadhon nas fheàrr Bidh an roghainn ùr -mgas-isr-prologues a’ cumail smachd air a’ chòd itch co-theacsan a chaidh a chruthachadh airson cleachdaidhean seirbheis brisidh beaga. Nuair a bhios e comasach, bidh an neach-cruinneachaidh a’ sganadh an ISR airson cleachdadh a’ chlàir agus na sàbhail na clàran cleachdte sin a-mhàin ma bhios feum air.

Mapadh flash a ghabhas rèiteachadh Tha SFR (me FLMAP) aig cuid de dh’ innealan anns an teaghlach AVR DA agus AVR DB a shònraicheas dè an earrann 32k de chuimhne prògram a thèid a mhapadh a-steach don chuimhne dàta. Faodar an roghainn ùr - mconst-data-in-config-mapped-proem a chleachdadh gus am bi an neach-ceangail a ’cur a h-uile dàta barrantaichte ann an aon roinn 32k agus a’ tòiseachadh gu fèin-ghluasadach air a ’chlàr SFR iomchaidh gus dèanamh cinnteach gu bheil an dàta seo air a mhapadh a-steach don àite cuimhne dàta , far am faighear cothrom air nas èifeachdaiche.

Leabharlannan Coitcheann Aonaichte Microchip Bidh a h-uile neach-cruinneachaidh MPLAB XC a’ roinn Leabharlann Coitcheann Microchip Unified, a tha a-nis ri fhaighinn leis an fhoillseachadh seo de MPLAB XC8. Chan eil an Stiùireadh Cleachdaiche Compiler MPLAB® XC8 C / no AVR® MCU a’ toirt a-steach na sgrìobhainnean airson na gnìomhan àbhaisteach sin tuilleadh. Gheibhear am fiosrachadh seo a-nis anns an Microchip Unified Standard Library Guide. Thoir an aire nach eil cuid de ghnìomhachd a chaidh a mhìneachadh roimhe le avr-libc ri fhaighinn tuilleadh. (Faic an Leabharlannaiche):'. comas-gnìomh…)

IO glic Mar phàirt de na leabharlannan aonaichte ùra, tha gnìomhan IO anns na teaghlaichean clò-bhualaidh is scan a-nis air an cruthachadh air gach togail, stèidhichte air mar a tha na gnìomhan sin air an cleachdadh sa phrògram. Faodaidh seo lùghdachadh mòr a thoirt air na goireasan a chleachdas prògram.
Roghainn taic Smart IO Nuair a bhios e a’ dèanamh anailis air gairmean gu gnìomhan smart IO (leithid printf () no scanf () ), chan urrainn don neach-cruinneachaidh an-còmhnaidh dearbhadh bhon t-sreang cruth no co-dhùnadh bho na h-argamaidean na sònrachaidhean tionndaidh sin a dh’ fheumas a’ ghairm. Roimhe sin, cha bhiodh an neach-cruinneachaidh an-còmhnaidh a’ dèanamh barailean sam bith agus a’ dèanamh cinnteach gum biodh gnìomhan IO làn-ghnìomhach ceangailte ri ìomhaigh a’ phrògram mu dheireadh. Chaidh roghainn ùr - msmart-io-format = fmt a chur ris gus am faigh an neach-cruinneachaidh fios don neach-cleachdaidh mu na sònrachaidhean tionndaidh a bhios gnìomhan IO snasail a’ cleachdadh aig a bheil cleachdadh teagmhach, a’ cur casg air cleachdaidhean IO ro fhada bho bhith ceangailte. (Faic roghainn smart-io-format airson tuilleadh fiosrachaidh.)

A 'cur earrannan gnàthaichte Roimhe sin, cha do chuir an roghainn -Wl, -section-start ach an earrann ainmichte aig an t-seòladh a chaidh iarraidh nuair a mhìnich an sgriobt ceangail earrann toraidh leis an aon ainm. Nuair nach robh sin fìor, chaidh an earrann a chuir aig seòladh a thagh an neach-ceangail agus cha deach an roghainn a thoirt seachad gu ìre mhòr. A-nis thèid urram a thoirt don roghainn airson a h-uile roinn àbhaisteach, eadhon ged nach eil an sgriobt ceangail a’ mìneachadh na h-earrainn. Thoir an aire, ge-tà, airson earrannan àbhaisteach, leithid . teacs, . bs no . dàta, bidh smachd iomlan fhathast aig an riarachadh as freagarraiche air an àite aca, agus cha bhi buaidh sam bith aig an roghainn. Cleachd an roghainn -Wl, -Tsection = cuir ris, mar a chaidh a mhìneachadh ann an stiùireadh an neach-cleachdaidh.

Tionndadh 2.32

Stiùir Stack Ri fhaighinn le cead cruinneachaidh PRO, faodar feart stiùiridh stac an neach-cruinneachaidh a chleachdadh gus tuairmse a dhèanamh air an doimhneachd as àirde de chruach sam bith a bhios prògram a’ cleachdadh. Bidh e a’ togail agus a’ mion-sgrùdadh graf gairm prògram, a’ dearbhadh cleachdadh stac gach gnìomh, agus a’ dèanamh aithisg, às an urrainnear doimhneachd cruachan a bhios am prògram a’ cleachdadh a dhearbhadh. Tha am feart seo air a chomasachadh tron ​​​​roghainn loidhne-àithne -mchp-stack-usage. Tha geàrr-chunntas de chleachdadh stac air a chlò-bhualadh às deidh a chuir gu bàs. Tha aithisg stac mionaideach ri fhaighinn air a’ mhapa file, a dh'fhaodar iarraidh san dòigh àbhaisteach.

Taic taic inneal ùr ri fhaighinn airson na pàirtean AVR a leanas: ATTINY 427, ATTINY 424, ATTINY 426, ATTINY827, ATTINY824, ATTINY826, AVR32DB32, AVR64DB48, AVR64DB64, AVR64DB28, AVR32DBVR28, AVR64.

Taic taic inneal air a tharraing air ais chan eil e ri fhaighinn tuilleadh airson na pàirtean AVR a leanas: AVR16DA28, AVR16DA32 agus, AVR16DA48.

Tionndadh 2.31

Chan eil gin.

Tionndadh 2.30

Roghainn ùr gus casg a chuir air dàta a thòiseachadh Tha roghainn draibhear -mno-data-ini t ùr a’ cur casg air dàta a thòiseachadh agus earrannan bss a ghlanadh. Bidh e ag obair le bhith a’ cuir stad air toradh an dàta do_ copy_ agus d o_ clear_ bss ann an co-chruinneachadh files, a chuireas casg air a bhith a’ toirt a-steach na cleachdaidhean sin leis a’ cheangal.

Optimizations leasaichte Chaidh grunn leasachaidhean optimization a dhèanamh, a’ toirt a-steach toirt air falbh stiùiridhean tilleadh nach eil feum, toirt air falbh cuid de leuman às deidh stiùireadh skip-if-bit-is, agus toirt air falbh modhan-obrach nas fheàrr agus an comas am pròiseas seo ath-aithris.

Tha roghainnean a bharrachd rim faighinn a-nis gus smachd a chumail air cuid de na optimizations sin, gu sònraichte -f acraichean earrannan, a leigeas le ruigsinneachd air nithean statach a bhith air an coileanadh an coimeas ri aon samhla; -mpai derations = n, a leigeas leis an àireamh de tionndaidhean tarraing às modhan-obrach atharrachadh bhon àbhaist de 2; agus, -mpa- call cost- shortcall, a bhios a 'dèanamh barrachd ionnsaigheach air toirt air falbh modhan-obrach, an dòchas gun urrainn don neach-ceangail fiosan fada a shocrachadh. Faodaidh an roghainn mu dheireadh seo meud còd àrdachadh mura tèid na barailean bunaiteach a thoirt gu buil.

Taic inneal ùr Tha taic ri fhaighinn airson na pàirtean AVR a leanas: AVR16DA28, AVR16DA32,
AVR16DA48, AVR32DA28, AVR32DA32, AVR32DA48, AVR64DA28, AVR64DA32, AVR64DA48, AVR64DA64, AVR128DB28, AVR128DB32, AVR128DB48, agus AVR128DB.

Taic inneal air a tharraing air ais Chan eil taic ri fhaighinn tuilleadh airson na pàirtean AVR a leanas: ATA5272, ATA5790, ATA5790N, ATA5791, ATA5795, ATA6285, ATA6286, ATA6612C, ATA6613C, ATA6614Q, ATA6616C, ATA6617C, agus 664251.

Tionndadh 2.29 (Foillseachadh Sàbhailteachd Gnìomhach)

Ceann-cinnidh file airson inneal-tionail cruinneachaidh Gus dèanamh cinnteach gun urrainn don neach-cruinneachaidh cumail ri mion-chomharrachadh cànain leithid MISRA, tha an ceann-cinnidh file, a tha air a ghabhail a-steach gu fèin-ghluasadach le , air ùrachadh. Anns a’ bhann-cinn seo tha na prototypes airson a h-uile gnìomh in-thogail, leithid _buil tin _avrnop () agus _buil tin_ avr delay_ cycles (). Is dòcha nach bi cuid de thogalaichean a-staigh a’ gèilleadh ri MISRA; faodar iad sin fhàgail air falbh le bhith a’ cur am mìneachadh _Xe_ STRICT_ MISRA ris an loidhne-àithne cruinneachaidh. Chaidh na togalaichean togte agus na dearbhaidhean aca ùrachadh gus seòrsachan leud stèidhichte a chleachdadh.

Tionndadh 2.20

Taic inneal ùr Tha taic ri fhaighinn airson na pàirtean AVR a leanas: ATTINY1624, ATTINY1626, agus ATTINY1627.

Riarachadh iomchaidh nas fheàrr Chaidh an riarachadh iomchaidh as fheàrr (BFA) anns an inneal-cruinneachaidh a leasachadh gus am bi earrannan air an riarachadh ann an òrdugh a cheadaicheas optimization nas fheàrr. Tha am BFA a-nis a’ toirt taic do dh’ àiteachan seòlaidh ainmichte agus a’ làimhseachadh tòiseachadh dàta nas fheàrr.

Cur às do mhodhan-obrach nas fheàrr Tha na optimizations toirt air falbh modhan-obrach a-nis air an coileanadh air barrachd shreathan còd. Chaidh dèiligeadh ri suidheachaidhean roimhe seo far am faodadh an optimization seo meud còd àrdachadh le bhith a’ toirt a’ chòd optimization mothachail air pròiseas cruinneachadh sgudal an neach-ceangail.

Às-làthaireachd AVR Assembler Chan eil an AVR Assembler air a ghabhail a-steach leis an sgaoileadh seo tuilleadh.

Tionndadh 2.19 (Foillseachadh Sàbhailteachd Gnìomhach)

Chan eil gin.

Tionndadh 2.10

Còmhdach Còd Tha feart còmhdach còd anns an fhoillseachadh seo a bhios a’ comasachadh mion-sgrùdadh air an ìre gu bheil còd stòr pròiseict air a chuir gu bàs. Cleachd an roghainn -mcodecov=ram gus a chomasachadh. Às deidh dhut am prògram a chuir an gnìomh air a’ bhathar-cruaidh agad, thèid fiosrachadh còmhdach còd a chruinneachadh san inneal, agus faodar seo a ghluasad chun MPLAB X IDE agus a thaisbeanadh tro plugan còmhdach còd. Faic na sgrìobhainnean IDE airson fiosrachadh mun plugan seo fhaighinn. Faodar an #pragma mcodecov a chleachdadh gus gnìomhan às deidh sin a thoirmeasg bhon sgrùdadh còmhdaich. Gu h-iomchaidh bu chòir am pragma a chur ris aig toiseach an file gus sin uile a thoirmeasg file bhon anailis còmhdaich. Air an làimh eile, faodar am feart ((mcodecov) ) a chleachdadh gus gnìomh sònraichte a thoirmeasg bhon sgrùdadh còmhdaich.

Tuairisgeul inneal files Inneal ùr file ris an canar avr chipinfo. html suidhichte ann an eòlaire docs an t-sgaoilidh compiler. Seo file a 'liostadh a h-uile inneal a tha a' faighinn taic bhon inneal-cruinneachaidh. Cliog air ainm inneal, agus fosglaidh e duilleag a sheallas a h-uile suidheachadh bit rèiteachaidh ceadaichte / paidhrichean luach airson an inneal sin, le examples.

Cur às do mhodhan-obrach Chaidh optimizations toirt air falbh modhan-obrach, a thèid an àite bhlocaichean cumanta de chòd cruinneachaidh le fiosan gu leth-bhreac a chaidh a thoirt a-mach às a’ bhloc sin, a chuir ris an inneal-cruinneachaidh. Bidh iad sin gan coileanadh le tagradh air leth, a thèid a chuir a-steach gu fèin-ghluasadach leis an neach-cruinneachaidh nuair a bhios e a’ taghadh ìre 2, 3 no optimizations. Bidh na optimizations sin a’ lughdachadh meud còd, ach dh’ fhaodadh iad astar cur gu bàs agus dì-bhugachadh còd a lughdachadh.
Faodar toirt air falbh modhan-obrach a chuir à comas aig ìrean optimization nas àirde a ’cleachdadh an roghainn -mno-pa, no faodar a chomasachadh aig ìrean optimization nas ìsle (le ùmhlachd do chead) le bhith a’ cleachdadh -mpa. Faodar a chur à comas airson nì file a' cleachdadh -mno-pa-on-file=fileainm, no ciorramach airson gnìomh le bhith a’ cleachdadh -mno-pa air function = gnìomh.
Taobh a-staigh do chòd stòr, faodar toirt air falbh modhan-obrach a chuir à comas airson gnìomh le bhith a’ cleachdadh _attribute_ ((nopa)) le mìneachadh a’ ghnìomh, no le bhith a’ cleachdadh _nopa, a leudaicheas gu buadhan ((nopa, noinline)) agus mar sin a chuireas casg air inlining gnìomh bho bhith a’ tachairt agus ann a bhith toirt air falbh còd inline.
Glasadh taic bit ann am pragma Faodar an config #pragma a chleachdadh a-nis gus na pìosan glasaidh AVR a shònrachadh a bharrachd air na pìosan rèiteachaidh eile. Thoir sùil air fiosrachadh avr chip. html file (air ainmeachadh gu h-àrd) airson na paidhrichean suidheachadh/luach a chleachdadh leis a’ phragma seo.
Taic inneal ùr Tha taic ri fhaighinn airson na pàirtean a leanas: AVR28DA128, AVR64DA128, AVR32DA128, agus AVR48DA128.

Tionndadh 2.05

Barrachd pìosan airson do bhoc Tha an dreach macOS den inneal cruinneachaidh agus manaidsear ceadachd seo a-nis na thagradh 64-bit. Nì seo cinnteach gun stàlaich agus gun ruith an compiler gun rabhaidhean air dreachan o chionn ghoirid de macOS.
Faodaidh an t-inneal-cruinneachaidh a-nis nithean le teisteanas const a chuir ann an cuimhne Flash a’ phrògraim, seach a bhith gan cur ann an RAM. Chaidh an compiler atharrachadh gus am bi dàta cruinne le teisteanas const air a stòradh ann an cuimhne flash prògram agus faodar faighinn chun dàta seo gu dìreach agus gu neo-dhìreach a’ cleachdadh an stiùireadh cuimhne prògram iomchaidh. Tha am feart ùr seo air a chomasachadh gu bunaiteach ach faodar a chiorramachadh leis an roghainn -mno-const-data-in-progmem. Airson ailtireachd avrxmega3 agus avrtiny, chan eil feum air am feart seo agus tha e an-còmhnaidh ciorramach, leis gu bheil cuimhne prògram air a mhapadh a-steach don àite seòlaidh dàta airson na h-innealan sin.
Inbhe an-asgaidh Tha dreachan gun chead (an-asgaidh) den chruinneadair seo a-nis a’ ceadachadh optimizations suas gu agus a’ toirt a-steach ìre 2. Leigidh seo le toradh coltach, ged nach eil e co-ionann, ris na bha comasach roimhe le bhith a’ cleachdadh cead àbhaisteach.
Fàilte AVRSM2 Tha an inneal-cruinneachaidh AAVRASM2 airson innealan 8-bit a-nis air a ghabhail a-steach don stàlaichear cruinneachaidh XC8. Chan eil an inneal-cruinneachaidh seo air a chleachdadh leis an inneal-cruinneachaidh XC8, ach tha e ri fhaighinn airson pròiseactan stèidhichte air stòr cruinneachaidh làmh-sgrìobhte.
Taic inneal ùr Tha taic ri fhaighinn airson na pàirtean a leanas: ATMEGA1608, ATMEGA1609, ATMEGA808, agus ATMEGA809.

Tionndadh 2.00

Driver àrd-ìre Tha draibhear ùr, ris an canar xc8-cc, a-nis na shuidhe os cionn an draibhear avr-gcc a bh ’ann roimhe agus an draibhear xc8, agus faodaidh e an inneal-cruinneachaidh iomchaidh a ghairm stèidhichte air taghadh an inneal targaid. Gabhaidh an draibhear seo ri roghainnean stoidhle GCC, a tha an dàrna cuid air an eadar-theangachadh airson no air an toirt seachad chun neach-cruinneachaidh a thathar a’ cur gu bàs. Tha an draibhear seo a’ ceadachadh seata roghainnean co-chosmhail le semantics co-chosmhail a bhith air an cleachdadh le targaid AVR no PIC sam bith agus mar sin is e an dòigh a thathar a’ moladh airson an compiler a chuir a-steach. Ma tha feum air, faodar an seann dhràibhear avr-gcc a ghairm gu dìreach a’ cleachdadh nan roghainnean seann-stoidhle ris an do ghabh e ann an dreachan cruinneachaidh na bu thràithe.

Eadar-aghaidh cumanta C Faodaidh an inneal-cruinneachaidh seo a-nis cumail ri Eadar-aghaidh Coitcheann C MPLAB, a’ leigeil le còd stòr a bhith air a ghiùlan nas fhasa thairis air a h-uile inneal-cruinneachaidh MPLAB XC. Tha an roghainn -mext=cci ag iarraidh am feart seo, a' comasachadh co-chòrdadh eile airson iomadh leudachadh cànain.

Driver ùr leabharlannaiche Tha draibhear leabharlainn ùr air a shuidheachadh os cionn an leabharlannaiche PIC a bh’ ann roimhe agus an leabharlannaiche AVR avr-ar. Gabhaidh an draibhear seo ri roghainnean stoidhle GCC-tasglann, a tha an dàrna cuid air an eadar-theangachadh airson no air an toirt don leabharlannaiche a thathar a’ cur gu bàs. Leigidh an draibhear ùr le seata roghainnean coltach ris le semantics coltach ris a chleachdadh gus leabharlann PIC no AVR sam bith a chruthachadh no a làimhseachadh. file agus mar sin is e an dòigh a thathar a’ moladh an leabharlannaiche a ghairm. Ma tha feum air airson pròiseactan dìleab, faodar an leabharlannaiche a bh’ ann roimhe a ghairm gu dìreach a’ cleachdadh nan roghainnean seann-nòsach ris an do ghabh e ann an dreachan cruinneachaidh na bu thràithe.

Cùisean Imrich

Tha na leanas nam feartan a tha a-nis air an làimhseachadh ann an dòigh eadar-dhealaichte leis an neach-cruinneachaidh. Dh’fhaoidte gum bi feum aig na h-atharraichean seo air a’ chòd thùsail agad atharrachadh ma tha thu a’ giùlain còd dhan tionndadh cruinneachaidh seo. Tha àireamh an tionndaidh anns na fo-chinn a’ comharrachadh a’ chiad dreach cruinneachaidh gus taic a thoirt dha na h-atharrachaidhean a leanas.

Tionndadh 2.40

Chan eil gin.

Tionndadh 2.39 (Foillseachadh Sàbhailteachd Gnìomhach)

Chan eil gin.

Tionndadh 2.36

Chan eil gin.

Tionndadh 2.35

Làimhseachadh bunaitean sreang-gu-(XCS-2420) Gus dèanamh cinnteach à cunbhalachd le luchd-cruinneachaidh XC eile, cha bhith na gnìomhan sreang XC8, leithid strtol () msaa, a’ feuchainn tuilleadh ri sreang cuir a-steach a thionndadh ma tha am bonn a chaidh a shònrachadh nas motha na 36 agus an àite sin cuiridh e errno gu EINVAL. Chan eil an inbhe C a’ sònrachadh giùlan nan gnìomhan nuair a thèid an luach bunasach seo thairis air.

Optimizations astar neo-iomchaidh Bhathar a’ comasachadh optimizations toirt air falbh modhan-obrach nuair a bhathas a’ taghadh optimizations ìre 3 (-03). Bidh na optimizations sin a’ lughdachadh meud còd aig cosgais astar còd, agus mar sin cha bu chòir a bhith air a choileanadh. Is dòcha gum faic pròiseactan a tha a’ cleachdadh na h-ìre optimization seo eadar-dhealachaidhean ann am meud còd agus astar cur an gnìomh nuair a thèid an togail leis an naidheachd seo.

Gnìomh leabharlainn Tha an còd airson mòran de na gnìomhan leabharlainn C àbhaisteach a-nis a’ tighinn bho Leabharlann Coitcheann Aonaichte Microchip, a dh’ fhaodadh giùlan eadar-dhealaichte a nochdadh ann an cuid de shuidheachaidhean an taca ris an fhear a thug an leabharlann avr-libc roimhe. Airson example, chan eil e riatanach tuilleadh ceangal a dhèanamh anns an leabharlann lprintf_flt (-print _flt roghainn) gus taic IO cruth a thionndadh airson sònrachaidhean cruth-fleòdraidh. Tha feartan snasail IO Leabharlann Coitcheann Microchip a’ fàgail feum air an roghainn seo. A bharrachd air an sin, chan eil feum tuilleadh air cleachdaidhean iar-leasachain _p airson gnìomhan sreang is cuimhne (me strcpy_P () msaa ..) a bhios ag obair air sreangan const ann am flash. Obraichidh na cleachdaidhean àbhaisteach C (me strcpy ()) gu ceart leis an dàta sin nuair a tha am feart const-data-in-program-memory air a chomasachadh.

Tionndadh 2.32

Chan eil gin.

Tionndadh 2.31

Chan eil gin.

Tionndadh 2.30

Chan eil gin.

Tionndadh 2.29 (Foillseachadh Sàbhailteachd Gnìomhach)

Chan eil gin.

Tionndadh 2.20

Dh'atharraich cruth DFP Tha an neach-cruinneachaidh a-nis a’ gabhail ri cruth eadar-dhealaichte a bhios DFPn (Pasgan Teaghlaich Innealan). Bidh seo a’ ciallachadh gur dòcha nach obraich DFP nas sine leis an naidheachd seo, agus nach bi e comasach dha seann luchd-cruinneachaidh na DFPn as ùire a chleachdadh.

Tionndadh 2.19 (Foillseachadh Sàbhailteachd Gnìomhach)

Chan eil gin.

Tionndadh 2.10

Chan eil gin

Tionndadh 2.05

Luchdaich a-nuas am prògram cuimhne nithean Thoir an aire gum bi na stuthan le teisteanas cunbhalach air an cur agus air an ruigsinn ann an cuimhne prògram (mar a tha air a mhìneachadh an seo). Bheir seo buaidh air meud agus astar cur an gnìomh a’ phròiseict agad, ach bu chòir dha cleachdadh RAM a lughdachadh. Faodar am feart seo a chuir à comas, ma tha feum air, a’ cleachdadh an roghainn -mnoconst- da ta-in-progmem.

Tionndadh 2.00

Fuses rèiteachaidh Faodar fuses rèiteachaidh an uidheim a phrògramadh a-nis le bhith a’ cleachdadh pragma config agus an uairsin a’ suidheachadh paidhrichean luach gus an staid fiùs a shònrachadh, m.e.
#pragma config WDT0N = SET
#pragma config B0DLEVEL = B0DLEVEL_4V3
Feartan agus gnìomhan iomlan Faodar nithean agus gnìomhan a-nis a chuir aig seòladh sònraichte mar chuimhneachan a’ cleachdadh an sònrachadh CCI _at (seòladh), airson example: # gabhail a-steach int foobar aig (Ox800100); char at (Ox250) faigh ID(int offset) { … } Feumaidh an argamaid don t-sònrachadh seo a bhith seasmhach a tha a’ riochdachadh an t-seòlaidh aig an tèid a’ chiad byte no stiùireadh a chur. Tha seòlaidhean RAM air an comharrachadh le bhith a’ cleachdadh co-chothromachadh de 0x800000. Dèan comas don CCI am feart seo a chleachdadh.
Co-chòrdadh gnìomh brisidh ùr Tha an neach-cruinneachaidh a-nis a’ gabhail ri sònrachadh brisidh CCI (àireamh) gus sealltainn gu bheil gnìomhan C nan luchd-làimhseachaidh brisidh. Bidh an sònraiche a’ gabhail àireamh brisidh, airson example: # gabhail a-steach briseadh falamh (SPI STC_ vect _num) spi Isr (falamh) { … }

Cùisean Stèidhichte

Tha na leanas nan ceartachaidhean a chaidh a dhèanamh don neach-cruinneachaidh. Dh’ fhaodadh iad sin bugaichean a chàradh sa chòd a chaidh a chruthachadh no obrachadh a’ cho-chruinneachaidh atharrachadh chun na bhathas an dùil no a chaidh a shònrachadh le stiùireadh an neach-cleachdaidh. Tha àireamh an tionndaidh anns na fo-chinn a’ comharrachadh a’ chiad dreach cruinneachaidh anns am bi fuasglaidhean airson nan cùisean a leanas. Is e an leubail(ean) camagan san tiotal comharrachadh na cùise sin anns an stòr-dàta tracadh. Dh’ fhaodadh iad seo a bhith feumail ma tha feum agad air fios a chuir gu neach-taic.

Thoir an aire gu bheil cuid de chùisean inneal sònraichte air an ceartachadh ann am Pasgan Teaghlaich an inneal (DFP) co-cheangailte ris an inneal. Faic Manaidsear Pasgan MPLAB airson fiosrachadh mu atharrachaidhean a chaidh a dhèanamh air DFPn agus gus na pacaidean as ùire a luchdachadh sìos.

Tionndadh 2.40

Ro shocair (XCS-2876) Nuair a bha e a’ cleachdadh an roghainn -mrelax, cha robh an compiler a’ riarachadh cuid de earrannan còmhla, a’ ciallachadh nach robh meudan còd cho math. Is dòcha gun do thachair seo le còd a chleachd na leabharlannan MUSL ùra no le samhlaidhean lag.
Feart mapaidh gun chiorram mar a chaidh a ràdh san rabhadh (XCS-2875) Tha am feart mappedprogmem cosgais-data-in-config an urra ris an fheart cosgais-data-in-proem a bhith air a chomasachadh. Ma bha am feart cosgais-data-ipconfig-mapped-proem air a chomasachadh gu soilleir le bhith a’ cleachdadh an roghainn agus am feart cosgais-data-inprogmem air a chiorramachadh, dh’ fhàillig an ceum ceangail, a dh’ aindeoin teachdaireachd rabhaidh ag innse gun robh na cons data-in-config-mapped- chaidh feart proem a chuir à comas gu fèin-ghluasadach, rud nach robh gu tur ceart. Tha am feart const-data-in-config-mapped-proem a-nis làn chiorramach san t-suidheachadh seo.
Atharraichean DFP gus faighinn gu NVMCTRL gu ceart (XCS-2848) Cha tug an còd tòiseachaidh runtime a chleachd innealan AVR64EA aire gu robh an clàr NVMCTRL fo Dìon Atharrachadh Rèiteachaidh (CCP) agus cha robh e comasach dha an IO SFR a shuidheachadh chun duilleag a chleachd an const-data-in configmapped- proem compiler feart. Leigidh atharrachaidhean a chaidh a dhèanamh ann an dreach AVR-Ex_DFP 2.2.55 leis a’ chòd tòiseachaidh runtime sgrìobhadh gu ceart chun chlàr seo.
Atharraichean DFP gus mapadh flash a sheachnadh (XCS-2847) Chaidh obair timcheall airson duilgheadas leis an fheart inneal mapaidh flash a chaidh aithris anns an AVR128DA28/32/48/64 Silicon Errata (DS80000882) a chuir an gnìomh. Cha tèid am feart compiler const-data-in-config-mapped-proem a chuir an sàs gu bunaiteach airson innealan air a bheil buaidh, agus nochdaidh an t-atharrachadh seo ann an dreach AVR-Ex_DFP 2.2.160.
Mearachd togail le sinhf no coshf (XCS-2834) Mar thoradh air oidhirpean gus gnìomhan leabharlann sinhf () no coshf () a chleachdadh thàinig mearachd ceangail, a’ toirt cunntas air iomradh neo-mhìnichte. Tha an gnìomh a tha a dhìth air a bheil iomradh a-nis air a ghabhail a-steach ann an cuairteachadh an cruinneachaidh.
Tog mearachdan le nopa (XCS-2833) Le bhith a’ cleachdadh a’ ghnè nopa le gnìomh air an deach an t-ainm cruinneachaidh a shònrachadh le bhith a’ cleachdadh mar () teachdaireachdan mearachd a bhrosnaich an neach-cruinneachaidh. Chan eil am measgachadh seo comasach.
Fàilligeadh gnìomh caochlaideach le argamaidean puing (XCS-2755, XCS-2731) Tha gnìomhan le àireamh caochlaideach argamaidean an dùil gun tèid comharran 24-bit (seòrsa _memo) a thoirt seachad anns an liosta argamaid caochlaideach nuair a bhios am feart cosgais-data-in-proem air a chomasachadh. Bha argamaidean a bha a’ comharrachadh cuimhne dàta gan toirt seachad mar nithean 16-bit, ag adhbhrachadh fàilligeadh còd nuair a chaidh an leughadh mu dheireadh. Nuair a tha am feart cons data-in-proem air a chomasachadh, tha a h-uile argamaid comharran 16-bit a-nis air an atharrachadh gu comharran 24-bit. gnìomhan leabharlann strtoxxx a’ fàiligeadh (XCS-2620) Nuair a chaidh feart const-data-in-proem a chomasachadh, cha deach am paramadair cuir a-steach ann an gnìomhan leabharlann strtoxxx ùrachadh gu ceart airson argamaidean sreang stòr nach eil ann an cuimhne a’ phrògraim.
Rabhaidhean airson casaidean mì-dhligheach (XCS-2612) Cuiridh an neach-cruinneachaidh a-mach mearachd a-nis ma tha feart cosgais-ann-proem air a chomasachadh agus gu bheil seòladh litireil sreang air a thilgeil gu soilleir gu àite seòladh dàta (a’ leigeil às an teisteanas const), airson example, (uint8 t*) "Hello World!". Tha rabhadh na chùis ma dh’ fhaodadh an seòladh a bhith neo-dhligheach nuair a thèid inneal dàta const a thilgeil gu soilleir gu àite seòladh dàta.
Suidheachadh stuthan const neo-aithnichte (XCS-2408) Cha robhar a’ cur stuthan const agus const v olach neo-aithnichte ann an cuimhne prògram air innealan a tha a’ mapadh cuimhne a’ phrògraim gu lèir no pàirt dheth a-steach don àite seòlaidh dàta. Airson na h-innealan sin, tha na stuthan sin a-nis air an cur ann an cuimhne prògram, a ’dèanamh an obrachadh co-chòrdail ri innealan eile.

Tionndadh 2.39 (Foillseachadh Sàbhailteachd Gnìomhach)

Chan eil gin.

Tionndadh 2.36

Mearachd nuair a thathar a’ cur dàil (XCS-2774) Mion-atharraichean anns a’ mhodh àbhaisteach Chuir optimizations modh an-asgaidh casg air pasgadh seasmhach abairtean operand gu na gnìomhan dàil a chaidh a thogail a-steach, agus mar thoradh air an sin chaidh an làimhseachadh mar neo-chonaltraidhean agus a bhrosnaicheas a’ mhearachd: _buil tin avr delay_ cycles an dùil ac ompile seasmhach ùine iomlan.

Tionndadh 2.35

Riarachadh faisg air làimh a’ cleachdadh _at (XCS-2653) Cha do dh’obraich riarachadh faisg air làimh de dh’iomadh àite ann an earrann leis an aon ainm agus cleachdadh aig () gu ceart. Airson example: constchararrl [ ] aig tri butte ((sect on (“.misses”))) aig (Ox50 0 ) = {Oxo , Ox CD} ; cosgais char arr2[ ] aig trì butte ((roinn (“.my s eke”)) = {Damh, Ox FE }; bu chòir a bhith air arr2 a chuir dìreach às deidh aril.
A’ sònrachadh seòlaidhean tòiseachaidh na h-earrainn (XCS-2650) Bha an roghainn -Wal, -section-start gu sàmhach a’ fàiligeadh earrannan a chuir aig an t-seòladh tòiseachaidh ainmichte. Chaidh a' chùis seo a rèiteachadh airson roinnean ainmichte sam bith; ge-tà, chan obraich e airson earrannan àbhaisteach sam bith, leithid . teacsa no . bss, a dh'fheumar a chur a 'cleachdadh roghainn -Wl, -T.
Tubaist Linker nuair a bhios e fois (XCS-2647) Nuair a chaidh an optimization -relax a chomasachadh agus bha earrannan còd no dàta ann nach robh a ’freagairt ris a’ chuimhne a bha ri fhaighinn, thuit an ceangal. A-nis, ann an leithid de shuidheachadh, thèid teachdaireachdan mearachd a chuir a-mach nan àite.
Droch ruigsinneachd EEPROM (XCS-2629) Cha do dh’obraich an cleachdadh bloc leproma _read_ gu ceart air innealan Mega nuair a chaidh an roghainn -monist-data-in-proem a chomasachadh (is e sin an staid bunaiteach), agus mar thoradh air sin cha deach cuimhne EEPROM a leughadh gu ceart.
Riaradh cuimhne neo-dhligheach (XCS-2593, XCS-2651) Nuair a bhios an roghainn ceangail -Text no -Tata (airson example bhith a’ cleachdadh roghainn draibhear -Wl) air a shònrachadh, chaidh tùs an teacsa / roinn dàta co-fhreagarrach ùrachadh; ge-tà, cha deach an seòladh deireannach atharrachadh a rèir sin, a dh'fhaodadh a bhith air leantainn gu robh an roinn nas àirde na raon cuimhne an inneal targaid.
Còd brisidh ATtiny neo-dhligheach (XCS-2465) Nuair a bhathas a’ togail airson innealan Tatin agus na h-àrdachadh air a chiorramachadh (-00), dh’ fhaodadh gum biodh gnìomhan brisidh air teachdaireachdan co-chruinneachaidh obrachadh a-mach à raon a bhrosnachadh.
Roghainnean gun a bhith a’ dol troimhe (XCS-2452) Nuair a bhios tu a’ cleachdadh an roghainn -Wl le ioma-roghainnean ceangail le cromag, cha robh a h-uile roghainn ceangail gan toirt don neach-ceangail.
Mearachd a’ leughadh cuimhne prògram gu neo-dhìreach (XCS-2450) Ann an cuid de shuidheachaidhean, rinn an neach-cruinneachaidh mearachd a-staigh (insn neo-aithnichte) nuair a bha e a’ leughadh luach dà byte bho phuing gu cuimhne prògram

Tionndadh 2.32

Dh'fhàillig an dàrna cothrom air an leabharlann (XCS-2381) A 'toirt a-steach an tionndadh Windows den xc8-ar. exe is dòcha gu bheil tasglann leabharlainn an dàrna turas gus faighinn gu tasglann leabharlainn a tha ann mu thràth air fàiligeadh leis cha b’ urrainn dhuinn teachdaireachd mearachd ath-ainmeachadh.

Tionndadh 2.31

Fàilligidhean cruinneachaidh gun mhìneachadh (XCS-2367) Nuair a bha e a' ruith air àrd-ùrlaran Windows aig an robh eòlaire sealach an t-siostaim air a chur gu slighe anns an robh dot'.' caractar, dh'fhaoidte nach do shoirbhich leis an tiomsaiche a chur an gnìomh.

Tionndadh 2.30

Bileagan cruinne air an cur ceàrr às deidh dhaibh mìneachadh (XCS-2299) Is dòcha nach deach còd cruinneachaidh làmh-sgrìobhte a chuireas bileagan cruinne taobh a-staigh sreathan cruinneachaidh a tha air an comharrachadh le toirt air falbh modhan-obrach ath-shuidheachadh ceart.
Tubaist shocair (XCS-2287) Le bhith a’ cleachdadh an roghainn -merlad dh’ fhaodadh gun do dh’ adhbhraich an inneal-ceangail tuiteam nuair a dh’ fheuch optimizations fois leum earbaill ri stiùireadh ret nach robh aig deireadh earrann a thoirt air falbh.
Tubaist nuair a thathar a’ dèanamh an fheum as fheàrr de bhileagan mar luachan (XCS-2282) Còd a’ cleachdadh na “Labels as values” Is dòcha gun tug leudachadh cànain GNU C air na optimizations toirt air falbh modhan-obrach tuiteam, le mearachd rèitichte raon VMA air a mhìneachadh.
Chan eil e cho seasmhach (XCS-2271) Na prototypes airson tòiseachadh () agus gnìomhan eile bho na sònraich tuilleadh an teisteanas cosgais neo-àbhaisteach air comharran sreang a thill nuair a tha am feart -monist-data inprogmem à comas. Thoir an aire, le innealan avrxmega3 agus avertin, gu bheil am feart seo air a chomasachadh gu maireannach.
Luchd-tòiseachaidh air chall (XCS-2269) Nuair a chaidh barrachd air aon chaochladair ann an aonad eadar-theangachaidh a chur ann an earrann (a’ cleachdadh earrann no buadhan ((earrann))) agus chaidh a’ chiad chaochladair mar sin a thòiseachadh neoni no cha robh tùs-thoiseach ann, tùsairean airson caochladairean eile san aon aonad eadar-theangachaidh. a bha air an cur anns an aon earrann air an call.

Tionndadh 2.29 (Foillseachadh Sàbhailteachd Gnìomhach)

Chan eil gin.

Tionndadh 2.20

Mearachd le òrdughan fada (XCS-1983) Nuair a bhios tu a’ cleachdadh targaid AVR, is dòcha gu bheil an neach-cruinneachaidh air stad le a file cha deach mearachd a lorg, ma bha an loidhne-àithne gu math mòr agus gun robh caractaran sònraichte ann leithid luachan, cùl-taic, msaa.
Earrann rodata neo-ainmichte (XCS-1920) Cha do shoirbhich leis an neach-ceangail AVR cuimhne a shònrachadh airson earrannan rodata àbhaisteach nuair a bha e a’ togail airson ailtireachd avrxmega3 agus avrtiny, a dh’ fhaodadh mearachdan thar-tharraing cuimhne a thoirt gu buil.

Tionndadh 2.19 (Foillseachadh Sàbhailteachd Gnìomhach)

Chan eil gin.

Tionndadh 2.10

Fàilligidhean imrich (XCS-1891) B’ e an roinneadh as freagarraiche a bhith a’ fàgail ‘tuill’ cuimhne eadar earrannan às deidh fois ceangail. A bharrachd air a bhith a’ briseadh cuimhne, mheudaich seo an comas gum biodh fàilligidhean gluasad ceangail ann co-cheangailte ri geansaidhean co-cheangailte ri pc no fiosan a’ fàs a-mach à raon.
Stiùireadh nach eil air atharrachadh le fois (XCS-1889) Cha do thachair fois ceangail airson stiùireadh leum no gairm far am biodh na targaidean ruigsinneach ma tha iad socair.
A dhìth comas-gnìomh (XCSE-388) Tha grunn mhìneachaidhean bho , leithid clock_ div_ t agus clock_prescale_set (), cha deach am mìneachadh airson innealan, a’ toirt a-steach an ATmega324PB, ATmega328PB, ATtiny441, agus ATtiny841.
Macros a dhìth Cha deach an ro-phròiseasaiche macros_ xcs _MODE_, _xcs VERSION, _xc, agus xcs a mhìneachadh gu fèin-obrachail leis a’ cho-chruinniche. Tha iad seo rim faighinn a-nis.

Tionndadh 2.05

Mearachd cruinneachaidh a-staigh (XCS-1822) Nuair a bhios tu a’ togail fo Windows, is dòcha gun deach mearachd cruinneachaidh a-staigh a thoirt gu buil nuair a bha an còd as fheàrr.
RAM thar-shruth gun lorg (XCS-1800, XCS-1796) Cha do lorg an neach-cruinneachaidh prògraman a chaidh thairis air an RAM a bha ri fhaighinn ann an cuid de shuidheachaidhean, agus mar thoradh air sin dh'fhàillig còd runtime.
Cuimhne flash air fhàgail (XCS-1792) Airson innealan avrxmega3 agus avrtiny, is dòcha gun deach pàirtean den chuimhne flash fhàgail gun phrògram leis an MPLAB X IDE.
Gun a bhith a’ cur an gnìomh a’ phrìomh (XCS-1788) Ann an cuid de shuidheachaidhean far nach robh caochladairean cruinne air am mìneachadh sa phrògram, cha do dh’ fhalbh an còd tòiseachaidh runtime agus cha deach am prìomh ghnìomh () a ruighinn a-riamh.
Fiosrachadh cuimhne ceàrr (XCS-1787) Airson innealan avrxmega3 agus avrtiny, bha am prògram meud avr ag aithris gu robh dàta leughaidh a-mhàin a’ caitheamh RAM an àite cuimhne prògram.
Leughadh cuimhne prògram ceàrr (XCS-1783) Is dòcha gu bheil pròiseactan a chaidh an cur ri chèile airson innealan le cuimhne prògraim air am mapadh a-steach don àite seòlaidh dàta agus a tha a’ mìneachadh nithean a’ cleachdadh macro / feart PROGMEM air na nithean sin a leughadh bhon t-seòladh ceàrr.
Mearachd a-staigh le buadhan (XCS-1773) Thachair mearachd a-staigh ma mhìnich thu nithean puing leis an fhaidhle
_at () no buadhan () comharran eadar ainm a’ phuing agus an seòrsa air an deach iomradh a thoirt, airson example, char*
_aig (0x80015 0) cp; Tha rabhadh ga thoirt a-mach a-nis ma thachras an leithid de chòd.
Gun a bhith a’ cur an gnìomh a’ phrìomh (XCS-1780, XCS-1767, XCS-1754) Le bhith a’ cleachdadh caochladairean EEPROM no a’ mìneachadh fiùsaichean le bhith a’ cleachdadh a’ phragma config dh’ fhaodadh gun do dh’ adhbhraich e tòiseachadh dàta ceàrr agus/no gun do chuir e an gnìomh prògram glaiste ann an còd tòiseachaidh runtime, mus ruigeadh e prìomh ().
Mearachd fiùs le innealan beaga bìodach (XCS-1778, XCS-1742) Bha fad fiùs ceàrr air na h-innealan attiny4/5/9/10/20/40 air a shònrachadh anns a’ cheann-cinn aca files a dh’ adhbhraicheas mearachdan ceangail nuair a thathar a’ feuchainn ri còd a thogail a bha a’ mìneachadh fuses.
Sgàineadh sgaraidh (XCS-1777) Tha locht sgaraidh eadar-amail air a cheartachadh.
Tubaist assembler (XCS-1761) Is dòcha gun do thuit an avr-as assembler nuair a chaidh an compiler a ruith fo Ubuntu 18.
Rudan nach deach fhuadach (XCS-1752) Is dòcha nach deach nithean fad stòraidh statach neo-aithnichte a ghlanadh leis a’ chòd tòiseachaidh runtime.
Chaidh aire a thoirt do shònrachadh inneal connspaideach (XCS-1749) Cha robh an neach-cruinneachaidh a’ gineadh mearachd nuair a chaidh grunn roghainnean sònrachadh inneal a chleachdadh agus a’ comharrachadh diofar innealan.
Truailleadh cuimhne le tiùrr (XCS-1748) Bha an samhla heap_ start ga shuidheachadh gu ceàrr, agus mar thoradh air an sin dh’ fhaodadh caochladairean àbhaisteach a bhith air an truailleadh leis a’ chàrn.
Mearachd gluasad ceangail (XCS-1739) Is dòcha gun deach mearachd ath-shuidheachadh ceangail a chuir a-mach nuair a bha rjmp no rcall anns a’ chòd le targaid dìreach 4k bytes air falbh.

Tionndadh 2.00

Chan eil gin.

Cùisean aithnichte

Tha na leanas nan crìochan ann an obrachadh an neach-cruinneachaidh. Faodaidh iad seo a bhith nan cuingealachaidhean còdaidh coitcheann, no
gluasadan bhon fhiosrachadh a tha ann an leabhar-làimhe an neach-cleachdaidh. Is e an leubail(ean) camagan san tiotal comharrachadh na cùise sin anns an stòr-dàta tracadh. Dh’fhaodadh seo a bhith na bhuannachd ma dh’fheumas sibh fios a chur gu neach-taic. Tha na nithean sin aig nach eil bileagan nan crìochan a tha a’ toirt cunntas air modh operandi agus a tha dualtach fuireach ann an èifeachd gu maireannach.

Amalachadh MPLAB X IDE

Amalachadh IDE MPLAB Ma tha Compiler gu bhith air a chleachdadh bho MPLAB IDE, feumaidh tu MPLAB IDE a stàladh mus stàlaich thu Compiler.

Gineadh còd

Fàilligeadh riarachadh cuimhne PA (XCS-2881) Nuair a bhios tu a’ cleachdadh na optimizers toirt air falbh modhan-obrach, dh’ fhaodadh an neach-ceangail cunntas a thoirt air mearachdan riarachadh cuimhne nuair a tha meud còd faisg air an ìre de chuimhne prògram a tha ri fhaighinn air an inneal, eadhon ged a bu chòir don phrògram a bhith comasach air an àite a tha ri fhaighinn a shuidheachadh.
Chan eil e cho snasail Smart-IO (XCS-2872) Ginidh feart smart-io an neach-cruinneachaidh còd dligheach ach fo-optimal airson a’ ghnìomh sprint ma chaidh feart data-in-proem oirthir a chiorramachadh no ma tha a flash gu lèir aig an inneal air a mhapadh gu cuimhne dàta.
Eadhon nas lugha de Smart-IO (XCS-2869) Cruthaichidh feart smart-io an neach-cruinneachaidh còd dligheach ach suboptimal nuair a thèid na roghainnean staoin -floe agus -fno-buil a chleachdadh.
Suidheachadh dàta leughaidh a-mhàin suboptimal (XCS-2849) Chan eil an neach-ceangail an-dràsta mothachail air na h-earrannan cuimhne APPCODE agus APPDATA, no na roinnean [No-]Leugh-While-Write air a’ mhapa cuimhne. Mar thoradh air an sin, tha teansa beag ann gum faodadh an neach-ceangail dàta leughaidh a-mhàin a riarachadh ann an raon cuimhne nach eil iomchaidh. Bidh an cothrom gun tèid dàta ceàrr a mheudachadh ma tha am feart cost-data-in-pragma air a chomasachadh, gu sònraichte ma tha feart coast-data-in-config-mapped-proem air a chomasachadh cuideachd. Faodar na feartan sin a chuir à comas ma bhios feum orra.
Rud file òrdugh giollachd (XCS-2863) An òrdugh anns am bi nithean files a phròiseasadh leis a’ cheangal a dh’ fhaodadh a bhith eadar-dhealaichte stèidhichte air cleachdadh optimizations toirt air falbh modhan-obrach (-mpa roghainn). Cha toireadh seo buaidh ach air còd a tha a’ mìneachadh gnìomhan lag thar ioma-mhodalan.
Mearachd ceangail le iomlan (XCS-2777) Nuair a tha nì air a dhèanamh iomlan aig seòladh aig toiseach RAM agus nithean neo-aithnichte air am mìneachadh cuideachd, dh’ fhaodadh mearachd ceangail a bhith air a phiobrachadh.
IDan dùsgadh goirid (XCS-2775) Airson innealan ATA5700/2, chan eil na clàran PHID0/1 air am mìneachadh ach mar 16 pìosan de leud, seach 32 pìosan de leud.
Tubaist ceangail nuair a bhios tu a’ gairm samhla (XCS-2758) Dh’ fhaodadh an ceanglaiche tuiteam ma thèid an roghainn draibhear -merlad a chleachdadh nuair a dh’ ainmicheas an còd stòr samhla a chaidh a mhìneachadh leis an roghainn ceangail -Wl, -defsym.
Tòiseachadh ceàrr (XCS-2679) Tha eadar-dhealachadh ann eadar far a bheil na luachan tùsail airson cuid de nithean cruinne / statach meud byte air an cur ann an cuimhne dàta agus far am faighear cothrom air na caochladairean aig àm ruith.
air tòiseachadh gu ceàrr a’ suidheachadh falamh (XCS-2652) Ann an suidheachaidhean far a bheil sreang cuspair airson tionndadh le ainmichte () a’ toirt a-steach àireamh a tha coltach ri puing-fleòdraidh ann an cruth eas-chruthach agus gu bheil caractar ris nach robh dùil às deidh caractar e, cuiridh an seòladh falamh, ma tha e air a thoirt seachad, an caractar às deidh sin. an e agus chan e an e fhèin. Airson example: said ("hooey", falamh); mar thoradh air sin bidh puing falamh air a’ charactar x.
Gairmean droch ghnìomh neo-dhìreach (XCS-2628) Ann an cuid de shuidheachaidhean, dh’ fhaodadh fiosan gnìomh a thèid a dhèanamh tro phuing gnìomh a tha air a stòradh mar phàirt de structar fàiligeadh.
Bidh strtof a’ tilleadh neoni airson flotaichean hexadecimal (XCS-2626) Bidh gnìomhan an leabharlainn strtof () et al agus scanf () et al, an-còmhnaidh ag atharrachadh àireamh puing-fleòdraidh hexadecimal nach eil a’ sònrachadh neach-labhairt gu
neoni. Airson example: stator ("Owl", & falamh); tillidh e an luach 0, chan e 1.
Teachdaireachdan comhairliche stac mearachdach (XCS-2542, XCS-2541) Ann an cuid de shuidheachaidhean, chan eil an comhairliche stac a’ toirt rabhadh a thaobh ath-chuairteachadh no stac neo-chinnteach a thathar a’ cleachdadh (is dòcha tro bhith a’ cleachdadh alloca()).
Fàilligeadh le còd brisidh dùblaichte (XCS-2421) Far a bheil an aon bhuidheann aig barrachd air aon ghnìomh brisidh, is dòcha gum bi an toradh aig an neach-cruinneachaidh airson aon ghnìomh brisidh cuir fios chun fhear eile. Mar thoradh air an seo thèid a h-uile clàr le glaodhadh a shàbhaladh gun fheum, agus thèid na brisidhean a chuir an gnìomh eadhon mus ruith epilogue an neach-làimhseachaidh brisidh gnàthach, a dh’ fhaodadh leantainn gu fàilligeadh còd.
Cùm nithean nach eil ann an cuimhne a’ phrògraim (XCS-2408) Airson pròiseactan avrxmega3 agus avertins tha stuthan const neo-leasaichte air an cur ann an cuimhne dàta, eadhon ged a tha rabhadh a’ nochdadh gun deach an cur ann an cuimhne prògram. Cha toir seo buaidh air innealan aig nach eil cuimhne prògram air a mhapadh a-steach don àite cuimhne dàta, agus cha toir e buaidh air nì sam bith a thèid a thòiseachadh.
Droch toradh le slighe DFP neo-dhligheach (XCS-2376) Ma thèid an inneal-cruinneachaidh a chleachdadh le slighe DFP neo-dhligheach agus 'spec' file ann airson an inneal taghte, chan eil an neach-cruinneachaidh ag aithris air pasgan teaghlaich an uidheim a tha a dhìth agus an àite sin a’ taghadh an ‘spec’ file, a dh’ fhaodadh an uairsin leantainn gu toradh neo-dhligheach. An 'spec' fileIs dòcha nach robh iad ùraichte leis na DFPan a chaidh a sgaoileadh agus bhathas an dùil an cleachdadh le deuchainn cruinneachaidh a-staigh a-mhàin.
Tar-lùbadh cuimhne gun aithneachadh (XCS-1966) Chan eil an neach-cruinneachaidh a’ lorg ath-tharraing cuimhne nithean a chaidh a dhèanamh iomlan aig seòladh (tro aig ()) agus nithean eile a’ cleachdadh sònraiche earrann () agus a tha ceangailte ris an aon sheòladh.
Fàilligeadh le gnìomhan leabharlainn agus _meme (XCS-1763) Dh’ fhaodadh fàiligeadh ris an canar gnìomhan fleòdraidh limbic le argamaid san àite seòlaidh _memo. Thoir an aire gu bheil cleachdaidhean leabharlainn air an gairm bho chuid de ghnìomhaichean C, mar sin, airson example, tha buaidh air a’ chòd a leanas: tilleadh regFloatVar > memxFloatVar;
Gnìomhachadh limbic cuibhrichte (AVRTC-731) Airson toraidhean ATTiny4/5/9/10/20/40, tha buileachadh àbhaisteach leabharlann C / Math ann an limbic glè chuingealaichte no chan eil e an làthair.
Cuingeachaidhean cuimhne prògram (AVRTC-732) Tha ìomhaighean cuimhne prògram nas fhaide na 128 kb a’ faighinn taic bhon inneal-inneal; ge-tà, tha suidheachaidhean aithnichte ann de ghluasadan ceangail às aonais fois agus às aonais teachdaireachd-mearachd cuideachail seach a bhith a’ gineadh na stocan gnìomh a tha a dhìth nuair a thèid an roghainn -relax a chleachdadh.
Ainm crìochan àite (AVRTC-733) Tha an t-slabhraidh innealan a’ toirt taic do na h-àiteachan seòlaidh ainmichte, le ùmhlachd do na cuingeadan a tha air an ainmeachadh ann an roinn treòrachaidh an neach-cleachdaidh Teisteanasan Seòrsa Sònraichte.
Sònaichean ùine Tha an bidh gnìomhan leabharlainn a’ gabhail ri GMT agus chan eil iad a’ toirt taic do shònaichean ùine ionadail, mar sin tillidh ùine ionadail () an aon ùine ri gummite (), airson example.

TAIC CHEUDNA

file//Applications/microehip/xc8/v 2 .40/docs/Leugh mi_X C 8_ airson A VR. htm

Sgrìobhainnean/Goireasan

Bathar-bog cruinneachaidh MICROCHIP MPLAB XC8 C [pdfLeabhar-làimhe an t-Sealbhadair
MPLAB XC8 C, Bathar-bog Compiler MPLAB XC8 C, Bathar-bog Compiler, Bathar-bog

Iomraidhean

Fàg beachd

Cha tèid do sheòladh puist-d fhoillseachadh. Tha raointean riatanach air an comharrachadh *