MICROCHIP XC8 C ማጠናከሪያ ስሪት 2.45 የመልቀቂያ ማስታወሻዎች ለAVR MCU
የምርት መረጃ
MPLAB XC8 C Compiler የማይክሮ ቺፕ ኤቪአር መሳሪያዎችን ለማነጣጠር የሚያገለግል የሶፍትዌር መሳሪያ ነው። የ C ኮድን ለማጠናቀር እና ተፈፃሚ ለማድረግ የተነደፈ ነው። fileለእነዚህ መሳሪያዎች s. በዚህ የተጠቃሚ መመሪያ ውስጥ እየተጠቀሰው ያለው የማጠናከሪያ ስሪት 2.45 ነው፣ ይፋዊ የግንባታ ቀን ኦገስት 18፣ 2023 ነው። ያለፈው እትም 2.41 ነበር፣ የተሰራው በየካቲት 8፣ 2023 ነው። አቀናባሪው ከተግባራዊ ደህንነት መመሪያ ጋር ነው የሚመጣው፣ ይህም ተጨማሪ መረጃ ይሰጣል። እና የMPLAB XC ማቀናበሪያዎችን ከተግባራዊ የደህንነት መተግበሪያዎች ጋር ሲጠቀሙ መመሪያዎች። ተግባራዊ የደህንነት ፍቃድ ሲገዙ ይህ ማኑዋል በሰነድ ፓኬጅ ውስጥ ተካትቷል። የMPLAB XC8 C Compiler በሚለቀቅበት ጊዜ ያሉትን ሁሉንም ባለ 8-ቢት AVR MCU መሳሪያዎች ይደግፋል። avr_chipinfo.htmlን መመልከት ይችላሉ። file ለሁሉም የሚደገፉ መሳሪያዎች ዝርዝር እና የአወቃቀራቸው ቢት ቅንጅቶች በአቀናባሪው ሰነድ ማውጫ ውስጥ። የMPLAB XC8 ማቀናበሪያ የተለያዩ እትሞች አሉ። ፍቃድ ያለው (PRO) እትም ከነጻው እትም ጋር ሲነፃፀር ከፍተኛ የማመቻቸት ደረጃን ይሰጣል። ማቀናበሪያውን እንደ ፈቃድ ያለው ምርት ለማግበር የማግበር ቁልፍ መግዛት ያስፈልግዎታል። ነገር ግን, ያለፈቃዱ ስሪት ያለፍቃድ ላልተወሰነ ጊዜ ጥቅም ላይ ሊውል ይችላል. ለተግባራዊ ደህንነት አፕሊኬሽኖች፣ MPLAB XC8 Functional Safety Compiler አለ። ለማግበር ከማይክሮ ቺፕ የተገዛ ተግባራዊ የደህንነት ፍቃድ ያስፈልገዋል። አንዴ ከነቃ ሁሉም የማመቻቸት ደረጃዎች እና የማጠናከሪያ ባህሪያት ጥቅም ላይ ሊውሉ ይችላሉ. የMPLAB XC ተግባራዊ ደህንነት ማጠናከሪያ የአውታረ መረብ አገልጋይ ፍቃድንም ይደግፋል። ስለ መጫን፣ ማግበር፣ የፍቃድ አይነቶች እና የስደት ጉዳዮች ዝርዝር መረጃ በMPLAB XC C Compilers (DS50002059) ሰነድ ውስጥ ይገኛል።
የምርት አጠቃቀም መመሪያዎች
- የMPLAB XC8 C Compiler ሶፍትዌርን ከማሄድዎ በፊት የማይክሮ ቺፕ ኤቪአር መሳሪያዎችን ለማነጣጠር ጠቃሚ መረጃ እና መመሪያዎችን ለማግኘት የተጠቃሚውን መመሪያ ያንብቡ።
- ማጠናከሪያውን ለ 8-ቢት ፒአይሲ መሳሪያዎች እየተጠቀሙ ከሆነ ለPIC ሰነድ የMPLAB XC8 C Compiler Release Notes ይመልከቱ።
- የእርስዎ ስርዓተ ክወና ማጠናከሪያውን ለማሄድ የስርዓት መስፈርቶችን ማሟላቱን ያረጋግጡ። የMacOS ሁለትዮሽዎች በኮድ የተፈረሙ እና ኖተሪ ተደርገዋል። የMPLAB XC አውታረ መረብ ፍቃድ አገልጋይ ለማይክሮሶፍት ዊንዶውስ 10 እና ከዚያ በላይ ፣ ኡቡንቱ 18.04 እና ከዚያ በላይ ፣ እና macOS 10.15 እና ከዚያ በላይ ይገኛል። የMPLAB XC አውታረ መረብ ፍቃድ አገልጋዩ በእነዚህ ኦፕሬቲንግ ሲስተሞች ላይ እንደማይሞከር ልብ ይበሉ።
- የMPLAB XC አውታረ መረብ ፍቃድ አገልጋይ በቨርቹዋል ማሽኖች በሚደገፈው ስርዓተ ክወና ለኔትወርክ ፍቃዶች (SW006021-VM) በመጠቀም ሊሰራ ይችላል። ሁሉም የMPLAB XC አውታረ መረብ አገልጋይ 32-ቢት ስሪቶች ከስሪት 3.00 ጀምሮ ይቋረጣሉ።
- MPLAB XC8 C Compiler እንደ ፍቃድ ያለው (PRO) ምርት ለማግበር የማግበር ቁልፍ ይግዙ። ይህ ከነፃው ስሪት ጋር ሲነፃፀር ከፍተኛ የማመቻቸት ደረጃን ይሰጣል። ነገር ግን, ያለፈቃድ ማጠናከሪያው ያለፍቃድ ላልተወሰነ ጊዜ ሊሠራ ይችላል.
- MPLAB XC8 Functional Safety Compiler ለተግባራዊ ደህንነት አፕሊኬሽኖች እየተጠቀሙ ከሆነ ከማይክሮቺፕ በተገዛ ተግባራዊ የደህንነት ፍቃድ መንቃት አለበት። አቀናባሪው ያለዚህ ፍቃድ አይሰራም። አንዴ ከነቃ በኋላ ማንኛውንም የማመቻቸት ደረጃ መምረጥ እና ሁሉንም የማጠናከሪያ ባህሪያትን መጠቀም ይችላሉ። የአውታረ መረብ አገልጋይ ፍቃድ በዚህ የMPLAB XC ተግባራዊ ደህንነት ማጠናከሪያ ልቀት የተደገፈ ነው።
- ስለ MPLAB XC8 C Compiler መጫን፣ ማግበር እና ፍቃድ መስጠትን በተመለከተ ዝርዝር መመሪያዎችን ለማግኘት የMPLAB XC C Compilers (DS50002059) ሰነድ መጫን እና ፍቃድን ይመልከቱ።
- አጠናቃሪውን በግምገማ ፈቃዱ እያስኬዱ ከሆነ፣ የግምገማ ጊዜዎ ካለቀ በ14 ቀናት ውስጥ ሲሆኑ፣ በማጠናቀር ጊዜ ማስጠንቀቂያ ይደርስዎታል። የ HPA ምዝገባዎ ካለቀ በ14 ቀናት ውስጥ ከሆነ ተመሳሳይ ማስጠንቀቂያ ይሰጣል።
አልቋልview
መግቢያ
ይህ የማይክሮቺፕ MPLAB® XC8 C ማጠናከሪያ ልቀት በርካታ አዳዲስ ባህሪያትን፣ የሳንካ ጥገናዎችን እና ለአዳዲስ መሣሪያዎች ድጋፍን ይዟል።
የግንባታ ቀን
የዚህ የአቀናባሪ ስሪት ይፋዊ የግንባታ ቀን ነሐሴ 18 ቀን 2023 ነው።
ያለፈው ስሪት
የቀድሞው የMPLAB XC8 C ማጠናከሪያ ስሪት 2.41 ነበር፣ በየካቲት 8፣ 2023 የተሰራ።
ተግባራዊ የደህንነት መመሪያ
ተግባራዊ የደህንነት ፍቃድ ሲገዙ ለMPLAB XC ማቀናበሪያ የሚሆን የተግባር ደህንነት መመሪያ በሰነድ ፓኬጅ ውስጥ ይገኛል።
የአካል ክፍሎች ፍቃዶች እና ስሪቶች
የMPLAB XC8 C Compiler ለAVR MCUs መሳሪያዎች በጂኤንዩ አጠቃላይ የህዝብ ፍቃድ (ጂ.ፒ.ኤል.ኤል) ስር ተጽፈው ይሰራጫሉ ይህም ማለት የምንጭ ኮድ በነጻ የሚሰራጭ እና ለህዝብ የሚገኝ ነው። በጂኤንዩ ጂፒኤል ስር ያሉ የመሳሪያዎች ምንጭ ኮድ ከማይክሮ ቺፕስ ተለይቶ ሊወርድ ይችላል። webጣቢያ. በ ውስጥ GNU GPL ን ማንበብ ይችላሉ። file የመጫኛ ማውጫዎ ንዑስ ማውጫ ውስጥ ተሰይሟል። ለጂፒኤልኤል መሰረታዊ መርሆዎች አጠቃላይ ውይይት እዚህ ሊገኝ ይችላል። ለርዕሱ የድጋፍ ኮድ ቀርቧል files፣ linker ስክሪፕቶች እና የሩጫ ጊዜ ቤተ-መጻሕፍት የባለቤትነት ኮድ ናቸው እና በጂፒኤል አይሸፈኑም። ይህ አቀናባሪ የጂሲሲ ስሪት 5.4.0፣ binutils ስሪት 2.26፣ እና avr-libc ስሪት 2.0.0ን ይጠቀማል።
የስርዓት መስፈርቶች
የMPLAB XC8 C አቀናባሪ እና የሚጠቀመው የፈቃድ ሶፍትዌር ለተለያዩ ስርዓተ ክወናዎች ይገኛሉ፣የሚከተሉትን ባለ 64-ቢት ስሪቶች ጨምሮ፡የማይክሮሶፍት ዊንዶውስ® 10፣ ኡቡንቱ® 18.04፣ macOS® 13.2 (Ventura) እና ፕሮፌሽናል እትሞች። Fedora 34. ለዊንዶውስ ሁለትዮሽ በኮድ ተፈርሟል። የMacOS ሁለትዮሽዎች በኮድ የተፈረሙ እና ኖተሪ ተደርገዋል። የMPLAB XC አውታረ መረብ ፍቃድ አገልጋይ ማይክሮሶፍት ዊንዶውስ 64 እና ከዚያ በላይን ጨምሮ ለተለያዩ 10-ቢት ኦፕሬቲንግ ሲስተሞች ይገኛል። ኡቡንቱ 18.04 እና ከዚያ በላይ; ወይም macOS 10.15 እና ከዚያ በላይ። አገልጋዩ እንደ ዊንዶውስ አገልጋይ፣ ሊኑክስ ስርጭቶች፣ እንደ Oracle® Enterprise Linux® እና Red Hat® Enterprise Linux እና እንዲሁም የቆዩ የስርዓተ ክወና ስሪቶችን ጨምሮ በተለያዩ ኦፕሬቲንግ ሲስተሞች ሊሄድ ይችላል። ሆኖም የMPLAB XC አውታረ መረብ ፍቃድ አገልጋይ በእነዚህ ኦፕሬቲንግ ሲስተሞች ላይ አልተሞከረም። የMPLAB XC አውታረ መረብ ፍቃድ አገልጋዩ በሚደገፈው ስርዓተ ክወና ቨርቹዋል ማሽኖች ላይ ለአውታረ መረብ ፍቃዶች (SW006021-VM) በመጠቀም ሊሰራ ይችላል። ሁሉም የMPLAB XC አውታረ መረብ አገልጋይ 32-ቢት ስሪቶች ከስሪት 3.00 ጀምሮ ይቋረጣሉ።
መሣሪያዎች ይደገፋሉ
ይህ አቀናባሪ በሚለቀቅበት ጊዜ ያሉትን ሁሉንም ባለ 8-ቢት AVR MCU መሳሪያዎች ይደግፋል። ለሁሉም የሚደገፉ መሳሪያዎች ዝርዝር avr_chipinfo.html (በአቀናባሪው ሰነድ ማውጫ ውስጥ) ይመልከቱ። እነዚህ ፋይሎች ለእያንዳንዱ መሳሪያ የውቅር ቢት ቅንብሮችን ይዘረዝራሉ።
እትሞች እና የፍቃድ ማሻሻያዎች
የMPLAB XC8 አቀናባሪ እንደ ፈቃድ (PRO) ወይም ያለፈቃድ (ነጻ) ምርት ሆኖ ሊነቃ ይችላል። ለአቀናባሪዎ ፈቃድ ለመስጠት የማግበር ቁልፍ መግዛት ያስፈልግዎታል። ፍቃድ ከፍሪ ምርቱ ጋር ሲነፃፀር ከፍተኛ የማመቻቸት ደረጃን ይፈቅዳል። ያለፈቃድ አቀናባሪ ያለፍቃድ ላልተወሰነ ጊዜ ሊሠራ ይችላል። የMPLAB XC8 ተግባራዊ ደህንነት ማጠናከሪያ ከማይክሮ ቺፕ በተገዛ ተግባራዊ የደህንነት ፍቃድ መንቃት አለበት። አቀናባሪው ያለዚህ ፍቃድ አይሰራም። አንዴ ከነቃ በኋላ ማንኛውንም የማመቻቸት ደረጃ መምረጥ እና ሁሉንም የማጠናከሪያ ባህሪያትን መጠቀም ይችላሉ። ይህ የMPLAB XC የተግባር ደህንነት ማጠናከሪያ ልቀት የአውታረ መረብ አገልጋይ ፍቃድን ይደግፋል። የመጫኛ እና ፍቃድ የMPLAB XC C Compilers (DS50002059) ሰነዱን ይመልከቱ የፍቃድ አይነቶች እና የአቀናባሪውን ከፈቃድ ጋር ስለመጫን።
መጫን እና ማግበር
ከዚህ ማጠናከሪያ ጋር ስለተካተቱት የቅርብ ጊዜ የፍቃድ ስራ አስኪያጅ ጠቃሚ መረጃ ለማግኘት የስደት ጉዳዮችን እና ገደቦችን ክፍል ይመልከቱ። MPLAB IDE የሚጠቀሙ ከሆነ ይህን መሳሪያ ከመጫንዎ በፊት የቅርብ ጊዜውን የMPLAB X IDE ስሪት 5.0 ወይም ከዚያ በኋላ መጫንዎን ያረጋግጡ። ማቀናበሪያውን ከመጫንዎ በፊት አይዲኢውን ያቁሙ። .run (Linux) ወይም .app (macOS) compiler installer መተግበሪያን ያሂዱ፣ ለምሳሌ XC8-1.00.11403-windows.exe እና በስክሪኑ ላይ ያሉትን መመሪያዎች ይከተሉ። ነባሪው የመጫኛ ማውጫ ይመከራል። ሊኑክስን እየተጠቀሙ ከሆነ ማጠናከሪያውን ተርሚናል በመጠቀም እና ከስር አካውንት መጫን አለብዎት። ከአስተዳዳሪ መብቶች ጋር የ macOS መለያን በመጠቀም ጫን። ማግበር አሁን ለመጫን በተናጠል ይከናወናል. ለተጨማሪ መረጃ የ MPLAB® XC C Compilers (DS52059) የፍቃድ አስተዳዳሪን ይመልከቱ። አጠናቃሪውን በግምገማ ፍቃድ ለማስኬድ ከመረጡ፣ የግምገማ ጊዜዎ ካለቀ በ14 ቀናት ውስጥ ሲሆኑ አሁን በማጠናቀር ጊዜ ማስጠንቀቂያ ይደርስዎታል። የ HPA ምዝገባዎ ካለቀ በ14 ቀናት ውስጥ ከሆነ ተመሳሳይ ማስጠንቀቂያ ይሰጣል። የኤክስሲ ኔትወርክ ፍቃድ አገልጋዩ የተለየ ጫኝ ነው እና በአንድ ተጠቃሚ ኮምፕሌር ጫኚ ውስጥ አልተካተተም። የኤክስሲ ፍቃድ አስተዳዳሪ አሁን ተንሳፋፊ የአውታረ መረብ ፈቃዶችን መንቀሳቀስ ይደግፋል። በሞባይል ተጠቃሚዎች ላይ ያተኮረ ይህ ባህሪ ተንሳፋፊ ፍቃድ ለአጭር ጊዜ ከአውታረ መረብ እንዲጠፋ ይፈቅዳል። ይህንን ባህሪ በመጠቀም ከአውታረ መረቡ ጋር ያለውን ግንኙነት ማቋረጥ እና አሁንም የእርስዎን MPLAB XC ማጠናከሪያ መጠቀም ይችላሉ። በዚህ ባህሪ ላይ ለበለጠ መረጃ የ XCLM ጭነት የሰነድ ማህደርን ይመልከቱ። MPLAB X IDE ዝውውርን በእይታ ለማስተዳደር የፍቃዶች መስኮት (መሳሪያዎች > ፍቃዶች) ያካትታል።
የመጫኛ ችግሮችን መፍታት
በማናቸውም የዊንዶውስ ኦፐሬቲንግ ሲስተሞች ስር ማቀናበሪያውን መጫን ላይ ችግሮች ካጋጠሙዎት የሚከተሉትን ምክሮች ይሞክሩ።
- መጫኑን እንደ አስተዳዳሪ ያሂዱ።
- የመጫኛውን መተግበሪያ ፈቃዶች ወደ 'ሙሉ ቁጥጥር' ያዘጋጁ። (ፋይሉን በቀኝ ጠቅ ያድርጉ ፣ ባሕሪያት ፣ ሴኪዩሪቲ ትርን ይምረጡ ፣ ተጠቃሚን ይምረጡ ፣ ያርትዑ።)
- የTemp አቃፊ ፍቃዶችን ወደ 'ሙሉ ቁጥጥር' ያቀናብሩ።
የቴምፕ ማህደሩን ቦታ ለማወቅ % temp% ን ወደ Run ትዕዛዝ (የዊንዶውስ አርማ ቁልፍ + R) ያስገቡ። ይሄ ያንን ማውጫ የሚያሳይ የፋይል አሳሽ ንግግር ይከፍታል እና የአቃፊውን ዱካ እንዲወስኑ ያስችልዎታል።
የማጠናከሪያ ሰነድ
በቅጽበታዊ ገጽ እይታው ላይ እንደሚታየው በMPLAB X IDE ዳሽቦርድ ውስጥ ሰማያዊውን የእርዳታ ቁልፍ ሲጫኑ የአቀናባሪው ተጠቃሚ መመሪያዎች በአሳሽዎ ውስጥ ከሚከፈተው የኤችቲኤምኤል ገጽ ሊከፈቱ ይችላሉ።
ለ 8-ቢት AVR ኢላማዎች እየገነቡ ከሆነ፣ የMPLAB® XC8 C የማጠናከሪያ የተጠቃሚ መመሪያ ለ AVR® MCU በእነዚያ የማጠናከሪያ አማራጮች እና በዚህ አርክቴክቸር ላይ ተፈፃሚነት ያላቸውን ባህሪያት መረጃ ይዟል።
የደንበኛ ድጋፍ
በXC8 ፎረም ውስጥ የዚህን ምርት ተጠቃሚዎች ሌሎች ጥያቄዎችን መጠየቅ ይችላሉ። ማይክሮቺፕ ይህን የአቀናባሪ ስሪት በተመለከተ የሳንካ ሪፖርቶችን፣ ጥቆማዎችን ወይም አስተያየቶችን ይቀበላል። እባክዎ ማንኛውንም የሳንካ ሪፖርቶችን ወይም የባህሪ ጥያቄዎችን በድጋፍ ሰጪ ስርዓቱ በኩል ይምሩ።
የሰነድ ዝማኔዎች
በመስመር ላይ እና ወቅታዊ ለሆኑ የMPLAB XC8 ሰነዶች፣ እባክዎን የማይክሮቺፕን የመስመር ላይ ቴክኒካል ዶክመንቴሽን ይጎብኙ። webጣቢያ.
በዚህ ልቀት ውስጥ አዲስ ወይም የዘመነ የኤቪአር ሰነድ፡-
ምንም
- የAVR® GNU Toolchain ወደ MPLAB® XC8 የፍልሰት መመሪያ በምንጭ ኮድ ላይ የተደረጉ ለውጦችን ይገልፃል እና በC ላይ የተመሰረተ ፕሮጀክትን ከAVR 8-bit GNU Toolchain ወደ ማይክሮቺፕ MPLAB XC8 C Compiler ለማዛወር ከወሰኑ ሊያስፈልጉ የሚችሉ አማራጮችን ይገልፃል።
- የማይክሮ ቺፕ የተዋሃደ መደበኛ ቤተ መፃህፍት ማመሳከሪያ መመሪያ በማይክሮ ቺፕ የተዋሃደ ስታንዳርድ ቤተ መፃህፍት የተገለጹትን ተግባራት ባህሪ እና በይነገጽ እንዲሁም የቤተ-መጻህፍት አይነቶችን እና ማክሮዎችን መጠቀምን ያብራራል። ከእነዚህ መረጃዎች ውስጥ ጥቂቶቹ ቀደም ሲል በMPLAB® XC8 C የማጠናከሪያ የተጠቃሚ መመሪያ ለAVR® MCU ውስጥ ይገኙ ነበር። መሳሪያ-ተኮር የቤተ-መጽሐፍት መረጃ አሁንም በዚህ የማጠናከሪያ መመሪያ ውስጥ አለ።
- ገና በ8-ቢት መሳሪያዎች እና በMPLAB XC8 C Compiler እየጀመርክ ከሆነ የMPLAB® XC8 ተጠቃሚ
- የተከተተ መሐንዲሶች መመሪያ - AVR® MCUs (DS50003108) በMPLAB X IDE ውስጥ ፕሮጀክቶችን ስለማዋቀር እና ለመጀመሪያው የMPLAB XC8 C ፕሮጀክትዎ ኮድ ስለመጻፍ መረጃ አለው። ይህ መመሪያ አሁን ከአቀነባባሪው ጋር ተሰራጭቷል።
- የHexmate ተጠቃሚ መመሪያ Hexmate ን እንደ ራሱን የቻለ መተግበሪያ ላሉ ሰዎች የታሰበ ነው።
ምን አዲስ ነገር አለ
የሚከተሉት አቀናባሪው አሁን የሚደግፋቸው አዲስ የኤቪአር-ዒላማ ባህሪያት ናቸው። በንዑስ አርዕስቶች ውስጥ ያለው የስሪት ቁጥር የሚከተሉትን ባህሪያት ለመደገፍ የመጀመሪያውን የአቀናባሪ ስሪት ያሳያል።
ስሪት 2.45
ሁለንተናዊ የፈቃድ ሥራ አስኪያጅ (XC8-3175፣ XCLM-224) የፈቃድ ሥራ አስኪያጅ የማክሮስ ሥሪት አሁን ዓለም አቀፋዊ ነው፣ ለሁለቱም ኢንቴል እና ኤም 1-ተኮር ማሽኖች ቤተኛ ድጋፍ ይሰጣል። የፍቃዱ አስተዳዳሪ የሊኑክስ ስሪት አሁን ቢያንስ 2.25 የglibc ስሪት ይፈልጋል። ማክ ሁለንተናዊ ሁለትዮሾች (XC8-3168፣ XC8-2951) የማክኦኤስ ማጠናከሪያ ሁለትዮሽ ፋይሎች አሁን ሁለንተናዊ ናቸው፣ ለሁለቱም ኢንቴል እና ኤም 1 ላይ ለተመሰረቱ ማሽኖች ቤተኛ ድጋፍ ይሰጣሉ። የተቀነሰ ተንሳፋፊ ነጥብ ላይብረሪ መጠኖች (XC8-3112፣ XC8-3071) ተንሳፋፊ ነጥብ ላይብረሪ ተግባራት ላይ ማሻሻያዎች ተደርገዋል፣ sinf() pow()፣ sqrt()፣ expf()፣ log1fp() እና nextafterf()ን ጨምሮ ለእነዚህ ልማዶች የኮድ መጠን መቀነስን የሚመለከት። አዲስ የመሳሪያ ድጋፍ ለሚከተሉት የኤቪአር ክፍሎች አሁን ይገኛል፡ AVR16EA28፣ AVR16EA32፣ AVR16EA48፣ AVR32EA28፣ AVR32EA32፣ AVR32EA48፣ AVR16EB14፣ AVR16EB20፣ AVR16VREB28EB እና AVR16EB32
ስሪት 2.41
- የቡትሮው ድጋፍ (XC8-3053) አቀናባሪው የማንኛውንም ክፍል ይዘት ከ.bootrow ቅድመ ቅጥያ ጋር በአድራሻ 0x860000 በHEX ፋይል ያስቀምጣል። እነዚህ ክፍሎች ለቡት ጫኚ ብቻ ተደራሽ መሆን ያለባቸው ቁልፎችን እና ሌሎች አስተማማኝ መረጃዎችን ለማከማቸት የተቀየሱት ለ BOOTROW ማህደረ ትውስታ ያገለግላሉ።
- ተደጋጋሚ መመለሻ ማጥፋት (XC8-3048) ብጁ አገናኝ ስክሪፕቶች ጥቅም ላይ በሚውሉበት ጊዜ አቀናባሪው አሁን ከጅራት ዝላይ ጋር በተግባሩ ውስጥ ተደጋጋሚ ret መመሪያዎችን ያስወግዳል። ይህ ከዚህ ቀደም ከተሰራው ጋር ተመሳሳይ የሆነ ማመቻቸት ነው፣ ነገር ግን አሁን በሁሉም ወላጅ አልባ ክፍሎች ላይ ነው የሚሰራው፣ ምንም እንኳን ብጁ አገናኝ ስክሪፕት ጥቅም ላይ ቢውል እና በጣም ጥሩው የሚመጥን ምደባ እቅድ በጨዋታው ላይ ባይሆንም።
- የጊዜ አይነት ለውጥ (XC8-2982፣ 2932) የC99 መደበኛ ቤተ መፃህፍት አይነት፣ time_t ከረዥም ረጅም ጊዜ ወደ ያልተፈረመ ረጅም አይነት ተለውጧል፣ ይህም እንደ mktime() ካሉ አንዳንድ ጊዜ ጋር በተያያዙ ተግባራት ላይ የኮድ መጠን ማሻሻያዎችን ይሰጣል።
- አዲስ ኖፕ (XC8-2946፣ 2945) ማክሮ NOP() ወደ ላይ ተጨምሯል። . ይህ ማክሮ ምንም የማይሰራ መመሪያን በውጤቱ ውስጥ ያስገባል።
- ወደ XCLM (XC8-2944) አዘምን ከአቀናባሪው ጋር ጥቅም ላይ የዋለው የፍቃድ አስተዳዳሪ ተዘምኗል እና አሁን የአቀናባሪውን የፍቃድ ዝርዝሮች ሲፈተሽ የበለጠ ምላሽ ይሰጣል።
- Trampኦሊንድ ጥሪዎች (XC8-2760) የመመሪያዎቹ አንጻራዊ ቅርጾች በመደበኛነት ከመድረሻ ክልላቸው ውጭ ሲሆኑ አቀናባሪው የረጅም ጊዜ የጥሪ መመሪያዎችን በአጭር አንጻራዊ ጥሪዎች መተካት ይችላል። በዚህ ሁኔታ አቀናባሪው በጥሪ መመሪያ ወደ jmp ጥሪ መመሪያ ለመተካት ይሞክራልampየ oline' አፈፃፀም ወደሚፈለገው አድራሻ፣ ለምሳሌampላይ:
ስሪት 2.40
- አዲስ የመሳሪያ ድጋፍ ለሚከተሉት የኤቪአር ክፍሎች አሁን ይገኛል፡ AT90PWM3፣ AVR16DD14፣ AVR16DD20፣ AVR16DD28፣ AVR16DD32፣ AVR32DD14፣ AVR32DD20፣ AVR32DD28፣ AVR32DD32፣ AVR64DD28፣ AVR64DD32፣ AVR64DD48፣XNUMXEAVR
- የተሻሻለ የሥርዓት ማጠቃለያ የሥርዓት ማጠቃለያ (PA) ማበልጸጊያ መሣሪያ ተሻሽሏል ስለዚህም የተግባር የጥሪ መመሪያ (ጥሪ/ጥሪ) የያዘ ኮድ እንዲገለጽ። ይህ የሚሆነው ቁልል ክርክሮችን ለማለፍ ወይም ከተግባሩ የመመለሻ ዋጋ ለማግኘት ካልተጠቀመ ብቻ ነው። ቁልል ጥቅም ላይ የሚውለው ከተለዋዋጭ የመከራከሪያ ነጥብ ጋር አንድ ተግባር ሲጠራ ወይም ለዚህ ዓላማ ከተመደቡ መመዝገቢያዎች የበለጠ ክርክሮችን የሚወስድ ተግባር ሲደውሉ ነው። ይህ ባህሪ የ-mno-pa-outline-calls አማራጭን በመጠቀም ሊሰናከል ይችላል፣ ወይም የሥርዓት ማጠቃለያ ሙሉ ለሙሉ ለአንድ ነገር ፋይል እና ተግባር -mno-pa-on-ን በመጠቀም ሊሰናከል ይችላል።file -mno-pa-on-function፣ እንደቅደም ተከተላቸው፣ ወይም የ nopa ባህሪን (__nopa specifier) ከተግባራት ጋር በመምረጥ።
- የኮድ ሽፋን ማክሮ አቀናባሪው ትክክለኛ -mcodecov አማራጭ ከተገለጸ ማክሮ __CODECOVን ይገልፃል።
- የማህደረ ትውስታ ማስያዣ አማራጭ የ xc8-cc ነጂ አሁን -mreserve=space@start:end አማራጭን ለAVR ዒላማዎች ሲገነባ ይቀበላል። ይህ አማራጭ በመረጃው ወይም በፕሮግራሙ የማህደረ ትውስታ ቦታ ላይ የተወሰነውን የማህደረ ትውስታ ወሰን ያስቀምጣል፣ ይህም አገናኙን በዚህ አካባቢ ያሉትን ኮድ ወይም ነገሮች እንዳይሞላ ይከላከላል።
- ብልጥ ብልጥ IO በ Smart IO ተግባራት ላይ በርካታ ማሻሻያዎች ተደርገዋል፣ በ printf ኮር ኮድ ላይ አጠቃላይ ማስተካከያዎችን፣ የ%n ልወጣን ልዩ እንደ ገለልተኛ ተለዋጭ በመመልከት፣ በፍላጎት የቫራርግ ፖፕ ልማዶችን በማገናኘት፣ ለአያያዝ አጫጭር የመረጃ አይነቶችን በመጠቀም የ IO ተግባር ነጋሪ እሴቶች፣ እና የጋራ ኮድ በመስክ ስፋት እና በትክክለኛ አያያዝ። ይህ ወሳኝ ኮድ እና የውሂብ ቁጠባን ሊያስከትል ይችላል, እንዲሁም የ IO አፈፃፀም ፍጥነት ይጨምራል.
ስሪት 2.39 (ተግባራዊ የደህንነት መለቀቅ)
የአውታረ መረብ አገልጋይ ፍቃድ ይህ የMPLAB XC8 ተግባራዊ ደህንነት ማጠናከሪያ የአውታረ መረብ አገልጋይ ፍቃድን ይደግፋል።
ስሪት 2.36
ምንም።
ስሪት 2.35
- አዲስ የመሳሪያ ድጋፍ ለሚከተሉት የኤቪአር ክፍሎች: ATTINY3224, ATTINY3226, ATTINY3227, AVR64DD14, AVR64DD20, AVR64DD28 እና AVR64DD32 ይገኛል.
- የተሻሻለ አውድ መቀየር አዲሱ -mcall-isr-prologues አማራጭ የማቋረጥ ተግባራት በመግቢያው ላይ መዝገቦችን እንዴት እንደሚያስቀምጡ እና የማቋረጥ መደበኛ ስራው ሲያልቅ እነዚያ መዝገቦች እንዴት እንደሚመለሱ ይለውጣል። ከ -mcall-prologues አማራጭ ጋር ተመሳሳይ በሆነ መንገድ ይሰራል፣ ነገር ግን የማቋረጫ ተግባራትን (ISRs) ብቻ ነው የሚነካው።
- ይበልጥ የተሻሻለ አውድ መቀየር አዲሱ -mgas-isr-prologues አማራጭ ለአነስተኛ የአቋራጭ አገልግሎት ልማዶች የሚፈጠረውን የአውድ መቀየሪያ ኮድ ይቆጣጠራል። ይህ ባህሪ ሲነቃ ተሰብሳቢው ለመመዝገቢያ አገልግሎት ISR ን እንዲቃኝ እና አስፈላጊ ከሆነ እነዚህን ያገለገሉ መዝገቦችን ብቻ ያስቀምጣል።
- ሊዋቀር የሚችል የፍላሽ ካርታ ስራ በAVR DA እና AVR DB ቤተሰብ ውስጥ ያሉ አንዳንድ መሳሪያዎች ኤስኤፍአር (ለምሳሌ FLMAP) ያላቸው ሲሆን ይህም የትኛው 32k የፕሮግራም ማህደረ ትውስታ በመረጃ ማህደረ ትውስታ ውስጥ እንደሚካተት ይገልጻል። አዲሱ - mconst-data-in-config-mapped-progmem አማራጭ አገናኙን ሁሉንም ብቁ የሆኑ መረጃዎችን በአንድ 32k ክፍል ውስጥ እንዲያስቀምጥ እና ይህ መረጃ በመረጃ ማህደረ ትውስታ ቦታ ላይ መያዙን ለማረጋገጥ አስፈላጊውን የ SFR ምዝገባን በራስ-ሰር ማስጀመር ይቻላል , ይበልጥ ውጤታማ በሆነ መንገድ የሚደረስበት.
- የማይክሮ ቺፕ የተዋሃዱ መደበኛ ቤተ-መጻሕፍት ሁሉም MPLAB XC አቀናባሪዎች የማይክሮ ቺፕ የተዋሃደ መደበኛ ቤተ-መጽሐፍት ይጋራሉ፣ ይህም አሁን በዚህ የMPLAB XC8 ልቀት ይገኛል። የMPLAB® XC8 C Compiler User's Guide for AVR® MCU ከአሁን በኋላ ለእነዚህ መደበኛ ተግባራት ሰነዶችን አያካትትም። ይህ መረጃ አሁን በማይክሮ ቺፕ የተዋሃደ መደበኛ ቤተ መፃህፍት ማመሳከሪያ መመሪያ ውስጥ ይገኛል። ከዚህ ቀደም በ avr-libc የተገለጹ አንዳንድ ተግባራት ከአሁን በኋላ እንደማይገኙ ልብ ይበሉ። (የላይብረሪውን ተግባራዊነት ይመልከቱ።)
- Smart IO እንደ አዲሱ የተዋሃዱ ቤተ-መጻሕፍት አካል፣ IO ተግባራት በሕትመት እና ስካንፍ ቤተሰቦች ውስጥ አሁን በእያንዳንዱ ግንባታ ላይ የተበጁ ናቸው፣ እነዚህ ተግባራት በፕሮግራሙ ውስጥ እንዴት ጥቅም ላይ እንደሚውሉ ላይ በመመስረት። ይህ በፕሮግራሙ ጥቅም ላይ የሚውሉትን ሀብቶች በከፍተኛ ሁኔታ ሊቀንስ ይችላል።
- የስማርት IO እገዛ አማራጭ ወደ ብልጥ IO ተግባራት (እንደ printf() ወይም scanf() ያሉ ጥሪዎችን ሲተነትን ኮምፕሌተሩ ሁል ጊዜ ከቅርጸቱ ሕብረቁምፊ ሊወስን አይችልም ወይም በጥሪው የሚፈለጉትን የልወጣ ስፔሻሊስቶች ከመከራከሪያ ነጥቦች መረዳት አይችልም። ምንም ግምቶች የሉም እና ሙሉ በሙሉ የሚሰሩ የ IO ተግባራት ከመጨረሻው የፕሮግራም ምስል ጋር መገናኘታቸውን ያረጋግጡ ። አዲስ -msmart-io-format=fmt አማራጭ ተጨምሯል ስለዚህ አቀናባሪው በስማርት IO ጥቅም ላይ የሚውለውን የልወጣ ስፔሻሊስቶች በተጠቃሚው እንዲያውቅ። አጠቃቀማቸው አሻሚ የሆኑ ተግባራት፣ ከመጠን በላይ ረጅም የ IO ልማዶች እንዳይገናኙ ይከለክላሉ። (ለበለጠ ዝርዝር የስማርት-io-ቅርጸት አማራጭን ይመልከቱ።)
- ብጁ ክፍሎችን ማስቀመጥ ከዚህ በፊት -Wl,-ክፍል-ጅምር አማራጭ የተገለጸውን ክፍል በተጠየቀው አድራሻ ላይ ያስቀመጠው አገናኝ ስክሪፕት ተመሳሳይ ስም ያለው የውጤት ክፍል ሲገልጽ ብቻ ነው። ይህ በማይሆንበት ጊዜ ክፍሉ በአገናኝ በተመረጠው አድራሻ ላይ ተቀምጧል እና ምርጫው በመሠረቱ ችላ ተብሏል. ምንም እንኳን የአገናኝ ስክሪፕቱ ክፍሉን ባይገልጽም አሁን አማራጩ ለሁሉም ብጁ ክፍሎች ይከበራል። ይሁን እንጂ ለመደበኛ ክፍሎች እንደ .text, .bss ወይም .data, በጣም ጥሩው የተመጣጣኝ አመዳደብ አሁንም በአቀማመጥ ላይ ሙሉ ቁጥጥር እንደሚኖረው እና አማራጩ ምንም ተጽእኖ እንደማይኖረው ልብ ይበሉ. በተጠቃሚው መመሪያ ላይ እንደተገለጸው -Wl,-Tsection=addr አማራጭን ይጠቀሙ።
ስሪት 2.32
- የቁልል መመሪያ ከPRO ማጠናከሪያ ፈቃድ ጋር ይገኛል፣ የአቀናባሪው ቁልል መመሪያ ባህሪ በፕሮግራሙ ጥቅም ላይ የሚውለውን የቁልል ጥልቀት ለመገመት ሊያገለግል ይችላል። የፕሮግራሙን የጥሪ ግራፍ ይገነባል እና ይመረምራል፣ የእያንዳንዱን ተግባር የቁልል አጠቃቀም ይወስናል እና ሪፖርት ያዘጋጃል ይህም በፕሮግራሙ ጥቅም ላይ የዋለውን የቁልል ጥልቀት መገመት ይቻላል። ይህ ባህሪ በ -mchp-stack-usage ትዕዛዝ-መስመር አማራጭ በኩል ነቅቷል። የቁልል አጠቃቀም ማጠቃለያ ከአፈፃፀም በኋላ ታትሟል። ዝርዝር የቁልል ዘገባ በካርታው ፋይል ውስጥ ይገኛል፣ እሱም በተለመደው መንገድ ሊጠየቅ ይችላል።
- አዲስ የመሳሪያ ድጋፍ ለሚከተሉት የኤቪአር ክፍሎች ይገኛል፡ ATTINY427፣ ATTINY424፣ ATTINY426፣ ATTINY827፣ ATTINY824፣ ATTINY826፣ AVR32DB32፣ AVR64DB48፣ AVR64DB64፣ AVR64DB28 እና 32DB ዲቢ28
- የተመለሰ መሳሪያ ድጋፍ ለሚከተሉት AVR ክፍሎች ድጋፍ አይገኝም፡ AVR16DA28፣ AVR16DA32 እና፣ AVR16DA48።
ስሪት 2.31
ምንም።
ስሪት 2.30
- የውሂብ ማስጀመርን ለመከላከል አዲስ አማራጭ አዲስ -mno-data-init ሾፌር አማራጭ የውሂብ መጀመርን እና የ BS ክፍሎችን ማጽዳት ይከላከላል. በመገጣጠሚያ ፋይሎች ውስጥ የdo_clear_bss ምልክቶችን ውፅዓት በመጨፍለቅ ይሰራል፣ይህም በተራው እነዚያን ልማዶች በአገናኝ ውስጥ ማካተትን ይከላከላል።
- የተሻሻሉ ማሻሻያዎች በርካታ የማሻሻያ ማሻሻያዎች ተደርገዋል፣ ይህም በተደጋጋሚ የመመለሻ መመሪያዎችን ማስወገድ፣ አንዳንድ መዝለሎችን ስኪፕ-ቢ-ቢት-ነውን መመሪያን ተከትሎ መወገድ እና የተሻሻለ የሥርዓት ማጠቃለያ እና ይህንን ሂደት የመድገም ችሎታ።
ከእነዚህ ማመቻቸቶች መካከል አንዳንዶቹን ለመቆጣጠር ተጨማሪ አማራጮች አሁን ይገኛሉ፣በተለይ -ክፍል-መልሕቆች፣ይህም የማይንቀሳቀሱ ነገሮች ከአንድ ምልክት አንፃር እንዲከናወኑ ያስችላል። -mpa-iterations=n፣ ይህም የሥርዓት ረቂቅ ድግግሞሾችን ቁጥር ከ 2 ነባሪነት ለመለወጥ ያስችላል። እና -mpa-callcost-shortcall፣ይህም የበለጠ ኃይለኛ የሂደት ረቂቅን የሚያከናውን ፣አገናኙ ረጅም ጥሪዎችን ለማዝናናት ተስፋ በማድረግ። መሰረታዊ ግምቶች ካልተፈጸሙ ይህ የመጨረሻው አማራጭ የኮድ መጠን ሊጨምር ይችላል. - አዲስ መሣሪያ ድጋፍ ለሚከተሉት የኤቪአር ክፍሎች ይገኛል፡ AVR16DA28፣ AVR16DA32፣ AVR16DA48፣ AVR32DA28፣ AVR32DA32፣ AVR32DA48፣ AVR64DA28፣ AVR64DA32፣ AVR64DA48፣ AVR64DA64፣ AVR128DVR28 128፣ AVR32DB128፣ እና AVR48DB128።
- የተመለሰ መሳሪያ ድጋፍ ለሚከተሉት የኤቪአር ክፍሎች ATA5272 ፣ ATA5790 ፣ ATA5790N ፣ ATA5791 ፣ ATA5795 ፣ ATA6285 ፣ ATA6286 ፣ ATA6612C ፣ ATA6613C ፣ ATA6614Q ፣ ATA6616 ATA6617
ስሪት 2.29 (ተግባራዊ የደህንነት መለቀቅ)
- ለአቀነባባሪ አብሮገነብ የራስጌ ፋይል አቀናባሪው እንደ MISRA ካሉ የቋንቋ ዝርዝሮች ጋር መጣጣሙን ለማረጋገጥ፣ ፣ ተዘምኗል። ይህ ራስጌ እንደ __builtin_avr_nop() እና __builtin_avr_delay_cycles() ላሉ ሁሉም አብሮ የተሰሩ ተግባራት ፕሮቶታይፕን ይዟል። አንዳንድ አብሮ የተሰሩ የMISRA ታዛዥ ላይሆኑ ይችላሉ። እነዚህን __XC_STRICT_MISRA ወደ ማቀናበሪያ ትዕዛዝ መስመር በማከል ሊቀር ይችላል። አብሮ የተሰሩት እና መግለጫዎቻቸው ቋሚ ስፋት ያላቸውን አይነቶች ለመጠቀም ተዘምነዋል።
ስሪት 2.20
- አዲስ የመሳሪያ ድጋፍ ለሚከተሉት የኤቪአር ክፍሎች ድጋፍ አለ፡ ATTINY1624፣ ATTINY1626 እና ATTINY1627።
- የተሻለ የተስተካከለ ድልድል በአቀነባባሪው ውስጥ ያለው ምርጥ የአካል ብቃት እንቅስቃሴ (ቢኤፍኤ) ተሻሽሏል ስለዚህም ክፍሎቹ የተሻለ ማመቻቸትን በሚፈቅድ ቅደም ተከተል እንዲመደቡ ተደርጓል። BFA አሁን የተሰየሙ የአድራሻ ቦታዎችን ይደግፋል እና የውሂብ ጅምርን በተሻለ ሁኔታ ይቆጣጠራል።
- የተሻሻለ የሥርዓት ማጠቃለያ የሥርዓት ረቂቅ ማሻሻያዎች አሁን በበርካታ የኮድ ቅደም ተከተሎች ላይ ይከናወናሉ። ይህ ማመቻቸት የኮድ መጠን ሊጨምር የሚችልባቸው ቀደምት ሁኔታዎች የማመቻቸት ኮድ የአገናኝን የቆሻሻ አሰባሰብ ሂደት እንዲያውቅ በማድረግ መፍትሄ ተሰጥቷል።
- የኤቪአር ሰብሳቢ አለመኖር የAVR ሰብሳቢው ከአሁን በኋላ ከዚህ ስርጭት ጋር አልተካተተም።
ስሪት 2.19 (ተግባራዊ የደህንነት መለቀቅ)
ምንም።
ስሪት 2.10
- የኮድ ሽፋን ይህ ልቀት የፕሮጀክት ምንጭ ኮድ ምን ያህል እንደተፈፀመ ለመተንተን የሚያመች የኮድ ሽፋን ባህሪን ያካትታል። እሱን ለማንቃት -mcodecov=ram የሚለውን ተጠቀም። ፕሮግራሙ በሃርድዌርዎ ላይ ከተፈጸመ በኋላ የኮድ ሽፋን መረጃ በመሳሪያው ውስጥ ይሰበሰባል፣ እና ይህ በMPLAB X IDE በኮድ ሽፋን ፕለጊን ሊተላለፍ እና ሊታይ ይችላል። በዚህ ፕለጊን ላይ መረጃ ለማግኘት የ IDE ሰነድን ይመልከቱ።
ቀጣይ ተግባራትን ከሽፋን ትንታኔ ለማግለል #ፕራግማ ኖኮድኮቭ ጥቅም ላይ ሊውል ይችላል። በሐሳብ ደረጃ ያንን ሙሉ ፋይል ከሽፋን ትንታኔ ለማስቀረት ፕራግማ በፋይሉ መጀመሪያ ላይ መታከል አለበት። በአማራጭ፣ __attribute__(nocodecov)) አንድን የተወሰነ ተግባር ከሽፋን ትንታኔ ለማስቀረት ጥቅም ላይ ሊውል ይችላል። - የመሣሪያ መግለጫ ፋይሎች avr_chipinfo.html የሚባል አዲስ የመሳሪያ ፋይል በማቀናበሪያ ስርጭቱ የሰነዶች ማውጫ ውስጥ ይገኛል። ይህ ፋይል በአቀናባሪው የሚደገፉ ሁሉንም መሳሪያዎች ይዘረዝራል። የመሳሪያውን ስም ጠቅ ያድርጉ እና ለዚያ መሳሪያ ሁሉንም የሚፈቀዱ የውቅር ቢት ቅንብር/የእሴት ጥንዶች የሚያሳይ ገጽ ይከፍታል፣ampሌስ.
- የሥርዓት ማጠቃለያ የሥርዓት አብስትራክት ማሻሻያዎች፣የጋራ ኮዶችን ብሎኮች ወደዚያ ብሎክ ወደተቀዳ ቅጂ በመደወል የሚተኩ፣ወደ ማጠናከሪያው ተጨምረዋል። እነዚህ የሚከናወኑት በተለየ አፕሊኬሽን ነው፣ እሱም ደረጃ 2፣ 3 ወይም s ማትባቶችን በሚመርጡበት ጊዜ በአቀናባሪው በራስ-ሰር ይጠራል። እነዚህ ማሻሻያዎች የኮድ መጠንን ይቀንሳሉ፣ ነገር ግን የማስፈጸሚያ ፍጥነት እና የኮድ ማረም ሊቀንስ ይችላል። የሥርዓት ማጠቃለያ አማራጭ -mno-paን በመጠቀም በከፍተኛ የማመቻቸት ደረጃዎች ሊሰናከል ይችላል ወይም ዝቅተኛ የማመቻቸት ደረጃዎች (ፈቃድዎ የሚወሰን) -mpa በመጠቀም ሊነቃ ይችላል። ለነገር ፋይል -mno-pa-on-ን በመጠቀም ሊሰናከል ይችላልfile=fileስም፣ ወይም ለአንድ ተግባር ተሰናክሏል -mno-pa-on-function = ተግባርን በመጠቀም። በምንጭ ኮድዎ ውስጥ የሥርዓት ማጠቃለያ ለአንድ ተግባር ሊሰናከል የሚችለው __ባህሪ__((nopa)) ከተግባሩ ፍቺ ጋር በመጠቀም ወይም __nopaን በመጠቀም ወደ __ባህሪ__((ኖፓ፣ኖይንላይን)) በማስፋፋት ተግባር እንዳይከሰት ይከላከላል። እና የተሰለፈ ኮድ ረቂቅ አለ።
- በፕራግማ ውስጥ የቢት ድጋፍን ቆልፍ የ#pragma ውቅር አሁን የኤቪአር መቆለፊያ ቢትን እና ሌሎች የውቅረት ቢትዎችን ለመለየት ጥቅም ላይ ሊውል ይችላል። ከዚህ pragma ጋር ለመጠቀም የቅንብር/ዋጋ ጥንዶችን ለማግኘት የ avr_chipinfo.html ፋይል (ከላይ የተጠቀሰውን) ይመልከቱ።
- አዲስ የመሳሪያ ድጋፍ ድጋፍ ለሚከተሉት ክፍሎች ይገኛል፡ AVR28DA128፣ AVR64DA128፣ AVR32DA128 እና AVR48DA128።
ስሪት 2.05
- ለባክህ ተጨማሪ ቢት የዚህ አቀናባሪ እና የፍቃድ አስተዳዳሪ የማክኦኤስ ስሪት አሁን ባለ 64-ቢት መተግበሪያ ነው። ይህ አቀናባሪው ያለ ማስጠንቀቂያ መጫኑን እና በቅርብ ጊዜ የ macOS ስሪቶች ላይ መስራቱን ያረጋግጣል።
- በፕሮግራም ሜሞሪ ውስጥ ያሉ ዕቃዎችን ማቀናበር አሁን በ RAM ውስጥ ከመቀመጥ ይልቅ ለኮንስት-ብቃት ያላቸውን ነገሮች በፕሮግራሙ ፍላሽ ማህደረ ትውስታ ውስጥ ማስቀመጥ ይችላል። አቀናባሪው ተስተካክሏል ስለዚህም const-qualified global data በፕሮግራም ፍላሽ ማህደረ ትውስታ ውስጥ እንዲከማች እና ይህ መረጃ ተገቢውን የፕሮግራም-ማስታወሻ መመሪያዎችን በመጠቀም በቀጥታ እና በተዘዋዋሪ ሊደረስበት ይችላል። ይህ አዲስ ባህሪ በነባሪነት ነቅቷል ነገር ግን -mno-const-data-in-progmem አማራጭን በመጠቀም ሊሰናከል ይችላል። ለ avrxmega3 እና avrtiny architectures ይህ ባህሪ አያስፈልግም እና ሁልጊዜም ይሰናከላል፣ ምክንያቱም የፕሮግራም ማህደረ ትውስታ ለእነዚህ መሳሪያዎች በመረጃ አድራሻ ቦታ ላይ ተቀርጿል።
- መደበኛ የነጻ ፍቃድ የሌላቸው (ነጻ) የዚህ ማጠናቀሪያ ስሪቶች አሁን እስከ ደረጃ 2 ድረስ ማመቻቸትን ይፈቅዳሉ እና XNUMX ን ጨምሮ። ይህ ምንም እንኳን ተመሳሳይ ባይሆንም መደበኛ ፍቃድን በመጠቀም ከዚህ በፊት ወደነበረው ውፅዓት ይፈቅዳል።
- እንኳን በደህና መጡ AVRASM2 ባለ 2-ቢት መሳሪያዎች AVRASM8 ሰብሳቢ አሁን በXC8 ኮምፕሌተር ጫኚ ውስጥ ተካትቷል። ይህ ሰብሳቢ በXC8 አቀናባሪ ጥቅም ላይ አይውልም፣ ነገር ግን በእጅ በተጻፈ የመሰብሰቢያ ምንጭ ላይ ለተመሠረቱ ፕሮጀክቶች ይገኛል።
- አዲስ የመሣሪያ ድጋፍ ለሚከተሉት ክፍሎች ATMEGA1608፣ ATMEGA1609፣ ATMEGA808 እና ATMEGA809 ይገኛል።
ስሪት 2.00
- ከፍተኛ ደረጃ ሹፌር አዲስ አሽከርካሪ xc8-cc ተብሎ የሚጠራው አሁን ከቀድሞው avr-gcc ሾፌር እና ከ xc8 ሾፌር በላይ ተቀምጧል እና በታለመው መሳሪያ ምርጫ መሰረት ተገቢውን አጠናቃሪ መደወል ይችላል። ይህ አሽከርካሪ የGCC አይነት አማራጮችን ይቀበላል፣ እነሱም ተተርጉመዋል ወይም እየተሰራ ላለው አጠናቃሪ ይተላለፋሉ። ይህ ሾፌር ተመሳሳይ የትርጉም አማራጮችን ከማንኛውም የAVR ወይም PIC ኢላማ ጋር ለመጠቀም ያስችላል እና ስለዚህ አቀናባሪውን ለመጥራት ይመከራል። ካስፈለገ፣ የድሮው avr-gcc ነጂ በቀደሙት የአቀናባሪ ስሪቶች የተቀበለውን የድሮ ቅጥ አማራጮችን በመጠቀም በቀጥታ ሊጠራ ይችላል።
- የጋራ ሲ በይነገጽ ይህ አቀናባሪ አሁን ከMPLAB Common C በይነገጽ ጋር መጣጣም ይችላል፣ይህም የምንጭ ኮድ በሁሉም የMPLAB XC አቀናባሪዎች ላይ በቀላሉ እንዲተላለፍ ያስችለዋል። የ -mext=cci አማራጭ ለብዙ ቋንቋ ቅጥያዎች ተለዋጭ አገባብ በማንቃት ይህንን ባህሪ ይጠይቃል።
- አዲስ የቤተ-መጻህፍት ሹፌር አዲስ የቤተ-መጻህፍት ሹፌር ከቀድሞው የPIC ቤተመፃህፍት ባለሙያ እና ከ AVR avr-ar ቤተ-መጻህፍት በላይ ተቀምጧል። ይህ ሹፌር የGCC-archiver-style አማራጮችን ይቀበላል፣ እነሱም ተተርጉመዋል ወይም እየተፈፀመ ላለው የቤተ-መጻህፍት ባለሙያ ይተላለፋሉ። አዲሱ አሽከርካሪ ማንኛውንም የPIC ወይም AVR ቤተመፃህፍት ፋይል ለመፍጠር ወይም ለማቀናበር ከተመሳሳይ የትርጓሜ ትምህርት ጋር ተመሳሳይ አማራጮችን ይፈቅዳል እና የቤተመጽሐፍት ባለሙያውን ለመጥራት የሚመከር መንገድ ነው። ለቆዩ ፕሮጄክቶች አስፈላጊ ከሆነ፣ የቀደመው የቤተ-መጻህፍት ባለሙያ በቀደሙት የአቀናባሪ ስሪቶች ውስጥ የተቀበለውን የድሮ-ቅጥ አማራጮችን በመጠቀም በቀጥታ ሊጠራ ይችላል።
የስደት ጉዳዮች
የሚከተሉት ባህሪያት አሁን በተለየ ሁኔታ በአቀናባሪው የተያዙ ናቸው። ኮድ ወደዚህ ማቀናበሪያ ስሪት ካስተላለፉ እነዚህ ለውጦች ወደ ምንጭ ኮድዎ ማሻሻያ ሊፈልጉ ይችላሉ። በንዑስ ርዕሶች ውስጥ ያለው የስሪት ቁጥር የሚከተሉትን ለውጦች ለመደገፍ የመጀመሪያውን የአቀናባሪውን ስሪት ያሳያል።
ስሪት 2.45
ምንም።
ስሪት 2.41
ትክክል ያልሆኑ የfma ተግባራት ተወግደዋል (XC8-2913) የC99 መደበኛ ቤተ-መጽሐፍት ( ) ማባዛት-መደመር ወሰን በሌለው ትክክለኛነት ወደ አንድ ዙር አላሰላም፣ ይልቁንም በእያንዳንዱ ኦፕሬሽን የማጠጋጋት ስህተቶችን አከማችቷል። እነዚህ ተግባራት ከቀረበው ቤተ-መጽሐፍት ተወግደዋል።
ስሪት 2.40
ምንም።
ስሪት 2.39 (ተግባራዊ የደህንነት መለቀቅ)
ምንም።
ስሪት 2.36
ምንም።
ስሪት 2.35
- ከሕብረቁምፊ ወደ ቤዝ (XC8-2420) አያያዝ ከሌሎች የXC አቀናባሪዎች ጋር መጣጣምን ለማረጋገጥ እንደ strtol() ወዘተ ያሉ የXC8 string-ወደ ተግባራት፣ የተገለጸው መሰረት ከ36 በላይ ከሆነ የግቤት ሕብረቁምፊን ለመቀየር አይሞክርም። እና በምትኩ ያስቀምጣል። ይህ የመሠረት እሴት ሲያልፍ የC ደረጃው የተግባሮቹን ባህሪ አይገልጽም።
- አግባብነት የሌላቸው የፍጥነት ማሻሻያዎች ደረጃ 3 ማሻሻያዎችን (-O3) ሲመርጡ የሥርዓት አብስትራክት ማትባቶች እየነቁ ነበር። እነዚህ ማሻሻያዎች በኮድ ፍጥነት ወጪ የኮድ መጠንን ይቀንሳሉ፣ ስለዚህ መከናወን አልነበረበትም። ይህንን የማመቻቸት ደረጃ የሚጠቀሙ ፕሮጀክቶች በዚህ ልቀት ሲገነቡ የኮድ መጠን እና የአፈፃፀም ፍጥነት ልዩነቶችን ሊያዩ ይችላሉ።
- የቤተ መፃህፍት ተግባራዊነት የብዙዎቹ መደበኛ ሲ ቤተ መፃህፍት ተግባራት ኮድ የመጣው ከማይክሮ ቺፕ ዩኒፋይድ ስታንዳርድ ቤተ መፃህፍት ነው፣ ይህም በአንዳንድ ሁኔታዎች በቀድሞው avr-libc ላይብረሪ ከቀረበው ጋር ሲነጻጸር የተለየ ባህሪ ሊያሳይ ይችላል። ለ exampለFloat-format ስፔሻሊስቶች ቅርጸት የተሰራውን የIO ድጋፍን ለማብራት ከአሁን በኋላ በlprintf_FLt ላይብረሪ ውስጥ ማገናኘት አስፈላጊ አይሆንም (-lprintf_flt አማራጭ)። የማይክሮ ቺፕ የተዋሃደ ስታንዳርድ ቤተ መፃህፍት ብልጥ IO ባህሪያት ይህንን አማራጭ ከመደበኛ በላይ ያደርገዋል። በተጨማሪም፣ ለሕብረቁምፊ እና የማስታወሻ ተግባራት (ለምሳሌ strcpy_P() ወዘተ..) በብልጭታ ውስጥ ባሉ const strings ላይ የሚሰሩ የ_P suffixed የዕለት ተዕለት ተግባራትን መጠቀም አያስፈልግም። የኮንስት-ውሂብ-ውስጥ-ፕሮግራም-ማህደረ ትውስታ ባህሪ ሲነቃ የመደበኛ C ልማዶች (ለምሳሌ strcpy() ከእንደዚህ አይነት ውሂብ ጋር በትክክል ይሰራሉ።
ስሪት 2.32
ምንም።
ስሪት 2.31
ምንም።
ስሪት 2.30
ምንም።
ስሪት 2.29 (ተግባራዊ የደህንነት መለቀቅ)
ምንም።
ስሪት 2.2
የተቀየረ የDFP አቀማመጥ አቀናባሪው አሁን በDFPs (የመሣሪያ ቤተሰብ ፓኮች) ጥቅም ላይ የሚውል የተለየ አቀማመጥ ይወስዳል። ይህ ማለት አንድ የቆየ DFP ከዚህ ልቀት ጋር ላይሰራ ይችላል፣ እና የቆዩ አቀናባሪዎች የቅርብ ጊዜዎቹን DFPs መጠቀም አይችሉም ማለት ነው።
ስሪት 2.19 (ተግባራዊ የደህንነት መለቀቅ)
ምንም።
ስሪት 2.10
ምንም
ስሪት 2.05
በፕሮግራም ማህደረ ትውስታ ውስጥ ያሉ ዕቃዎችን ያስተውሉ በነባሪ ፣ ብቃት ያላቸው ዕቃዎች በፕሮግራም ማህደረ ትውስታ ውስጥ ይቀመጣሉ (እዚህ እንደተገለጸው)። ይህ የፕሮጀክትዎን መጠን እና የአፈፃፀም ፍጥነት ይነካል፣ ነገር ግን የ RAM አጠቃቀምን መቀነስ አለበት። ይህ ባህሪ አስፈላጊ ከሆነ -mno-const-data-in-progmem የሚለውን አማራጭ በመጠቀም ሊሰናከል ይችላል።
ስሪት 2.00
- የማዋቀር ፊውዝ የመሳሪያው ማዋቀር ፊውዝ አሁን config pragma በመጠቀም ፕሮግራም ሊደረግ ይችላል በመቀጠል ሴቲንግ-ቫልዩ ጥንዶች የፊውሱን ሁኔታ ለመለየት ለምሳሌ #pragma config WDTON = SET #pragma config BODLEVEL = BODLEVEL_4V3
- ፍፁም ነገሮች እና ተግባራት ነገሮች እና ተግባራት አሁን በ CCI __at(አድራሻ) ስፔሻላይተር በመጠቀም በማህደረ ትውስታ ውስጥ በልዩ አድራሻ ሊቀመጡ ይችላሉ፣ ለምሳሌampላይ:
- #ያካትቱ
int foobar __at (0x800100);
ቻር__አት(0x250) getID(int offset) { … }
የዚህ ገላጭ ክርክር የመጀመሪያው ባይት ወይም መመሪያ የሚቀመጥበትን አድራሻ የሚወክል ቋሚ መሆን አለበት። የ RAM አድራሻዎች 0x800000 ማካካሻ በመጠቀም ይጠቁማሉ። ይህንን ባህሪ ለመጠቀም CCI ን ያንቁ።
- #ያካትቱ
- አዲስ የማቋረጫ ተግባር አገባብ አቀናባሪው አሁን የC ተግባራት ማቋረጥ ተቆጣጣሪዎች መሆናቸውን ለማመልከት የ CCI __interrupt(num) መለያን ይቀበላል። ገላጭው የማቋረጫ ቁጥር ይወስዳል፣ ለምሳሌample: #ያካትቱ ባዶ __ማቋረጥ(SPI_STC_vect_num) spi_Isr( ባዶ) { … }
ቋሚ ጉዳዮች
የሚከተሉት በአቀነባባሪው ላይ የተደረጉ እርማቶች ናቸው። እነዚህ በተፈጠረው ኮድ ውስጥ ያሉ ስህተቶችን ሊያስተካክሉ ወይም የአቀናባሪውን አሠራር በተጠቃሚው መመሪያ ወደታሰበው ወይም ወደተገለጸው ሊለውጡ ይችላሉ። በንዑስ አርዕስቶች ውስጥ ያለው የስሪት ቁጥር ለቀጣዮቹ ጉዳዮች ማስተካከያዎችን የያዘውን የመጀመሪያውን አጠናቃሪ ስሪት ያሳያል። በርዕሱ ውስጥ ያሉት በቅንፍ የተቀመጡ መለያዎች በክትትል ዳታቤዝ ውስጥ የችግሩ መታወቂያ ናቸው። ድጋፍን ማግኘት ከፈለጉ እነዚህ ጠቃሚ ሊሆኑ ይችላሉ።
አንዳንድ መሣሪያ-ተኮር ችግሮች ከመሣሪያው ጋር በተገናኘው በመሣሪያ ቤተሰብ ጥቅል (DFP) ውስጥ እንደተስተካከሉ ልብ ይበሉ። በDFPs ላይ የተደረጉ ለውጦችን መረጃ ለማግኘት እና የቅርብ ጊዜዎቹን ጥቅሎች ለማውረድ የMPLAB ጥቅል አስተዳዳሪን ይመልከቱ።
ስሪት 2.45
- የሮሚንግ ፍቃድ አለመሳካት (XCLM-235) የዝውውር ፍቃዶች ከ2.28 በኋላ የglibc ስሪቶችን በመጠቀም በሊኑክስ መድረኮች ላይ በትክክል መስራት አልቻሉም።
- የውስጥ ስህተት ከመዋቅር ድርድር ጋር (XC8-3069) ባለብዙ-ልኬት ድርድር አባላት ሲሰሩ የአድራሻ ቦታ ብቃቱ በትክክል ወደ ድርድር አልተስፋፋም። ይህ የአድራሻ ቦታ ብቁ መረጃ አለመመጣጠን እና የውስጥ ማጠናከሪያ ስህተት አስከትሏል። ይህ ሁኔታ ተስተካክሏል.
- መጥፎ ወደ ላልታወቁ ዥረቶች ይጽፋል (ML-353፣ XC8-3100) መደበኛ የውጤት/የስህተት ዥረቶች FDEV_SETUP_STREAM ወይም _init_stdout/_init_stderrን በመጠቀም በግልጽ ካልተዋቀሩ ለእነሱ ለመጻፍ መሞከር ያልተገለጸ ባህሪ አስከትሏል። ይህ ከ stdlib ተግባራት እንደ ፐሮር () ካሉ ጽሁፎች ላይም ተጽዕኖ አሳድሯል። ወደ እነዚህ ዥረቶች ከመጀመራቸው በፊት የሚጽፋቸው ማናቸውም ነገሮች አሁን ችላ ይባላሉ።
- የማይደገፍ ማሻሻያ (XC8-2505) የ avr-libc ቤተ-መጽሐፍት * ማሻሻያውን በሕትመት ዓይነት ልወጣ መግለጫዎችን አልደገፈም ፣ ለምሳሌample "% * f". ይህ አሁን በማይክሮ ቺፕ የተዋሃደ መደበኛ ቤተ መፃህፍት መግቢያ ይደገፋል።
- በርካታ ያልታወቁ ማስጠንቀቂያዎች (XC8-2409) አቀናባሪው ያልተጀመረ የኮንስት ድርድር ሲያጋጥመው ብዙ ተመሳሳይ የማስጠንቀቂያ መልዕክቶችን እያወጣ ነበር። መልእክቱ አንድ ጊዜ ብቻ መሰጠት ነበረበት፣ ይህ ሁኔታ ሲከሰት አሁን ያለው ነው።
ስሪት 2.41
- የDongle ጉዳዮች በVentura (XC8-3088) ዶንግልስ ለአቀናባሪ ፈቃድ ለመስጠት ያገለገሉት በማክሮስ ቬንቱራ አስተናጋጆች ላይ በትክክል አልተነበበም ነበር፣ ይህም የፍቃድ አሰጣጥ ውድቀቶችን አስከትሏል። በXCLM ፍቃድ አስተዳዳሪ ላይ የተደረጉ ለውጦች ይህንን ችግር ያስተካክላሉ።
- የማህደረ ትውስታ ድልድል ትክክል ያልሆነ ምልክት (XC8-2925) ቀላል ተለዋዋጭ የማህደረ ትውስታ ድልድል አተገባበርን ሲጠቀሙ የተጠየቁትን መደበኛ የቤተ-መፃህፍት ማህደረ ትውስታ አስተዳደር ተግባራትን (malloc () et al) በመጠቀም SIZE_MAX ባይት (ወይም ከዚህ ጋር የሚቀራረብ እሴት) ለመመደብ መሞከር። NULL ጠቋሚ አሁን ይመለሳል እና ስህተት ወደ ENOMEM እንደዚህ ባሉ ሁኔታዎች ይቀናበራል።
- ትክክል ያልሆኑ የfma ተግባራት ተወግደዋል (XC8-2913) የC99 መደበኛ ቤተ-መጽሐፍት fma() -የቤተሰብ ተግባራት ( ) ማባዛት-መደመር ወሰን በሌለው ትክክለኛነት ወደ አንድ ዙር አላሰላም፣ ይልቁንም በእያንዳንዱ ኦፕሬሽን የማጠጋጋት ስህተቶችን አከማችቷል። እነዚህ ተግባራት ከቀረበው ቤተ-መጽሐፍት ተወግደዋል።
- የሕብረቁምፊ ልወጣን መጥፎ አያያዝ (XC8-2921፣ XC8-2652) በ strtod () ለመለወጥ 'ርዕሰ ጉዳይ ቅደም ተከተል' በገለፃ ቅርጸት ተንሳፋፊ ነጥብ ቁጥር ሲይዝ እና ከኢ/ኢ በኋላ ያልተጠበቀ ቁምፊ ነበረ። ቁምፊ፣ ከዚያም endptr በቀረበበት ቦታ፣ ከ በኋላ ወደ ገፀ ባህሪው የሚያመለክት አድራሻ ተሰጠው፣ እሱ ግን ወደ ኢ// ኢ ባህሪው ራሱ መጠቆም ነበረበት፣ ያ ስላልተለወጠ። ለ example, strtod ("100exx", &ep) 100.00 መመለስ እና ep ወደ የሕብረቁምፊው "exx" ክፍል ማቀናበር አለበት, ነገር ግን ተግባሩ ትክክለኛውን እሴት እየመለሰ ነበር ነገር ግን የሕብረቁምፊውን ክፍል "xx" ማቀናበር ነበር.
ስሪት 2.40
- በጣም ዘና ያለ (XC8-2876) -mrelax አማራጩን በሚጠቀሙበት ጊዜ አቀናባሪው አንዳንድ ክፍሎችን በአንድ ላይ አልመደበም ነበር፣ ይህም በጣም ጥሩ የሆኑ የኮድ መጠኖችን ያስከትላል። ይህ ምናልባት አዲሱን የ MUSL ቤተ-መጻሕፍት በሚጠቀም ኮድ ወይም ደካማ ምልክቶችን በመጠቀም ሊሆን ይችላል።
- በማስጠንቀቂያ (XC8-2875) ላይ እንደተገለጸው የካርታ ስራው አልተሰናከለም የኮንስት-ውሂብ-ውስጥ-ካርታ-ፕሮግራም ባህሪው በሚነቃው የ const-data-in-progmem ባህሪ ላይ የተመሰረተ ነው። const-data-in-config-mapped-progmem ባህሪው አማራጩን በመጠቀም በግልፅ ከነቃ እና የኮንስት-ውሂብ-ውስጥ-ፕሮግራም ባህሪው ከተሰናከለ፣የኮንስት-ውሂብ-ውስጥ-ውስጥ-መግባት የሚገልጽ የማስጠንቀቂያ መልእክት ቢኖርም የማገናኛ እርምጃው አልተሳካም። -Config-mapped-progmem ባህሪ በራስ-ሰር ተሰናክሏል፣ ይህም ሙሉ በሙሉ ትክክል አልነበረም። የኮንስት-ውሂብ-ውስጥ-ኮንፊግ-ካርታ-ፕሮግራም ባህሪ አሁን በዚህ ሁኔታ ሙሉ በሙሉ ተሰናክሏል።
- DFP ለውጦች NVMCTRL (XC8-2848) በትክክል ለመድረስ በAVR64EA መሳሪያዎች ጥቅም ላይ የዋለው የአሂድ ማስጀመሪያ ኮድ የNVMCTRL መመዝገቢያ በውቅረት ለውጥ ጥበቃ (ሲሲፒ) ስር መሆኑን እና IO SFR ወደ ተጠቀመበት ገጽ ማቀናበር አልቻለም። በ const-data-in-config-mapped-progmem compiler ባህሪ። በAVR-Ex_DFP ስሪት 2.2.55 ላይ የተደረጉ ለውጦች የአሂድ ማስጀመሪያ ኮድ በዚህ መዝገብ ላይ በትክክል እንዲጽፍ ያስችለዋል።
- የፍላሽ ካርታ ስራን (XC8-2847) ለማስወገድ ዲኤፍፒ ይቀየራል በAVR128DA28/32/48/64 Silicon Errata (DS80000882) ላይ በተዘገበው የፍላሽ ካርታ መሳሪያ ባህሪ ላይ ለችግሩ መፍትሄ የሚሆን ስራ ተተግብሯል። Const-data-in-config-mapped-progmem compiler ባህሪ ለተጎዱ መሳሪያዎች በነባሪነት አይተገበርም፣ እና ይህ ለውጥ በAVR-Dx_DFP ስሪት 2.2.160 ላይ ይታያል።
- በግንባታ ስህተት በ sinhf ወይም coshf (XC8-2834) የ sinhf() ወይም coshf() ላይብረሪ ተግባራትን ለመጠቀም የተደረገው ሙከራ የአገናኝ ስህተት አስከትሏል ይህም ያልተገለጸ ማጣቀሻን ይገልፃል። የተጠቀሰው የጎደለ ተግባር አሁን በአቀነባባሪ ስርጭት ውስጥ ተካቷል።
- ስህተቶችን በ nopa ይገንቡ (XC8-2833) የ nopa አይነታን በመጠቀም __asm__()ን ተጠቅመው የመሰብሰቢያ ስም ከተገለጸው ተግባር ጋር የስህተት መልዕክቶችን አስነስቷል። ይህ ጥምረት የማይቻል ነው.
- የተለዋዋጭ ተግባር አለመሳካት በጠቋሚ ነጋሪ እሴቶች (XC8-2755፣ XC8-2731) ከተለዋዋጭ ነጋሪ እሴት ጋር የሚሰሩ ተግባራት 24-ቢት (__memx አይነት) ጠቋሚዎች በተለዋዋጭ ነጋሪ እሴት ዝርዝር ውስጥ የ const-data-in-progmem ባህሪው ሲያልፍ ይጠብቃሉ። ነቅቷል. የመረጃ ማህደረ ትውስታ ጠቋሚ የሆኑ ክርክሮች እንደ ባለ 16-ቢት ነገሮች እየተላለፉ ነበር, ይህም በመጨረሻ ሲነበብ የኮድ ውድቀት ፈጥሯል. የconst-data-in-progmem ባህሪው ሲነቃ ሁሉም ባለ 16-ቢት ጠቋሚ ነጋሪ እሴቶች አሁን ወደ 24-ቢት ጠቋሚዎች ተለውጠዋል።
- strtoxxx ላይብረሪ ተግባራት እየተሳኩ (XC8-2620) const-data-in-progmem ባህሪ ሲነቃ በ strtoxxx ላይብረሪ ተግባራት ውስጥ ያለው የendptr መለኪያ በፕሮግራም ማህደረ ትውስታ ውስጥ ላልሆኑ የምንጭ ሕብረቁምፊ ክርክሮች በትክክል አልተዘመነም።
- ልክ ላልሆኑ ቀረጻዎች ማንቂያዎች (XC8-2612) ኮንስት-ውስጥ-ፕሮግራም ባህሪ ከነቃ እና የሕብረቁምፊው አድራሻ በቀጥታ ወደ የውሂብ አድራሻ ቦታ (የኮንስት ብቃቱን መጣል) ከተጣለ አቀናባሪው አሁን ስህተት ይፈጥራል።ample, (uint8_t *) "ሰላም አለም!" . የኮንስት ዳታ ጠቋሚ ወደ ዳታ አድራሻ ቦታ በግልጽ ሲጣል አድራሻው የማይሰራ ከሆነ ማስጠንቀቂያ ሊሰጥ ይችላል።
- ያልታወቁ የኮንስት ዕቃዎች አቀማመጥ (XC8-2408) ያልተፈጠሩ እና የማይለዋወጡ ነገሮች const
ሁሉንም የፕሮግራማቸውን ማህደረ ትውስታ በከፊል ወይም ሙሉ በሙሉ ወደ የውሂብ አድራሻ ቦታ በሚያሳዩ መሳሪያዎች ላይ በፕሮግራም ማህደረ ትውስታ ውስጥ አልተቀመጡም. ለእነዚህ መሳሪያዎች, እንደነዚህ ያሉ ነገሮች አሁን በፕሮግራም ማህደረ ትውስታ ውስጥ ተቀምጠዋል, ይህም አሠራራቸው ከሌሎች መሳሪያዎች ጋር የሚጣጣም ነው.
ስሪት 2.39 (ተግባራዊ የደህንነት መለቀቅ)
ምንም።
ስሪት 2.36
በሚዘገይበት ጊዜ ስህተት (XC8-2774) በነባሪው ላይ ትንሽ ለውጦች ነፃ ሁነታ ማመቻቸት የኦፔራ አገላለጾችን በቋሚነት ወደ አብሮገነብ ተግባራት መዘግየቱ እንዳይታጠፍ ይከላከላል ፣ በዚህም ምክንያት እንደ ቋሚ ያልሆኑ ተደርገው ይወሰዳሉ እና ስህተቱን ያስነሳሉ፡__builtin_avr_delay_cycles የተጠናከረ የጊዜ ኢንቲጀር ይጠብቃል የማያቋርጥ.
ስሪት 2.35
- ቀጣይነት ያለው ድልድል __at (XC8-2653) ተመሳሳይ ስም ባለው ክፍል ውስጥ የበርካታ ነገሮች ቦታዎች ምደባ እና __at ()ን በመጠቀም በትክክል አልሰራም። ለ exampላይ:
const ቻር arr1 [] __ባህሪ__((ክፍል (“.mysec”))) __at (0x500) = {0xAB, 0xCD}; const ቻር arr2 [] __ባህሪ__((ክፍል (“.mysec”))) = {0xEF፣ 0xFE}; ከ arr2 በኋላ ወዲያውኑ arr1 ማስቀመጥ ነበረበት - የክፍል መጀመሪያ አድራሻዎችን (XC8-2650) በመግለጽ -Wl፣–ክፍል-ጀምር አማራጭ በተመረጠው አድራሻ ላይ ክፍሎችን ማስቀመጥ በጸጥታ አልቻለም። ይህ ጉዳይ ለማንኛውም ብጁ-ስም ለተሰየሙ ክፍሎች ተስተካክሏል፤ ሆኖም ግን, ለማንኛውም መደበኛ ክፍሎች አይሰራም, ለምሳሌ .text ወይም .bss, ይህም -Wl,-T አማራጭን በመጠቀም መቀመጥ አለበት. ዘና ባለበት ጊዜ ሊንከር ይበላሻል (XC8-2647) -mrelax ማመቻቸት ሲነቃ እና ባለው ማህደረ ትውስታ ውስጥ የማይገቡ ኮድ ወይም ዳታ ክፍሎች ሲኖሩ፣ ማገናኛው ተበላሽቷል። አሁን፣ እንደዚህ ባለ ሁኔታ፣ በምትኩ የስህተት መልእክቶች ይወጣሉ።
- ምንም የማይወድቅ-ኋላ (XC8-2646) -nofallback አማራጭ በትክክል አልተተገበረም ወይም አልተመዘገበም። ይህ አሁን ሊመረጥ የሚችለው ማቀናበሪያው ያለፈቃድ ከሆነ ወደ ዝቅተኛ የማመቻቸት መቼት እንደማይወድቅ እና በምትኩ ስህተት እንደሚፈጥር ለማረጋገጥ ነው።
- የደረጃ 8 ማትባቶችን (-O2637) በሚመርጡበት ጊዜ ተገቢ ያልሆኑ የፍጥነት ማሻሻያዎች (XC3-3) የሥርዓት ረቂቅ ማሻሻያዎች እየነቁ ነበር። እነዚህ ማሻሻያዎች በኮድ ፍጥነት ወጪ የኮድ መጠንን ይቀንሳሉ፣ ስለዚህ መከናወን አልነበረበትም።
- መጥፎ የEEPROM መዳረሻ (XC8-2629) የEEPROM ማህደረ ትውስታ በትክክል እንዳይነበብ ምክንያት የሆነው - mconst-data-in-progmem አማራጭ ሲነቃ የ eeprom_read_block እለታዊ በXmega መሳሪያዎች ላይ በትክክል አልሰራም።
- ልክ ያልሆነ የማህደረ ትውስታ ድልድል (XC8-2593፣ XC8-2651) የ -Ttext ወይም -Tdata ማገናኛ አማራጭ ሲሆን (ለምሳሌampየ-Wl ነጂ አማራጭን በመጠቀም ማለፍ) ተለይቷል፣ ተዛማጁ የጽሑፍ/የመረጃ ክልል ምንጭ ተዘምኗል። ነገር ግን የመጨረሻው አድራሻ በዚህ መሰረት አልተስተካከለም, ይህም ክልሉ ከታለመው መሳሪያ ማህደረ ትውስታ መጠን በላይ እንዲያልፍ ሊያደርግ ይችላል.
- ብልሽት ከመጠን በላይ በተሰጠው ተግባር (XC8-2580) አንድ ተግባር ከአንድ በላይ ማቋረጡን፣ ሲግናል ወይም nmi ባህሪያትን ተጠቅሞ ከተገለጸ አቀናባሪው ተበላሽቷል፣ ለምሳሌ__ባህሪ__((__signal__፣ __interrupt__))።
- ልክ ያልሆነ ATtiny የማቋረጫ ኮድ (XC8-2465) ለአቲኒ መሳሪያዎች ሲገነቡ እና ማመቻቸት ተሰናክሏል (-O0) ፣ የማቋረጥ ተግባራት ኦፔራ እና ከክልል ውጭ ቀስቅሰው ሊሆን ይችላል
- ያልተላለፉ አማራጮች (XC8-2452) የ-Wl አማራጭን በበርካታ በነጠላ ሰረዝ የተከፋፈሉ ማገናኛ አማራጮችን ሲጠቀሙ ሁሉም የአገናኝ አማራጮች ወደ ማገናኛው አልተላለፉም።
- የፕሮግራም ማህደረ ትውስታን (XC8-2450) በተዘዋዋሪ የማንበብ ስህተት በአንዳንድ አጋጣሚዎች አቀናባሪው ከጠቋሚ ወደ ፕሮግራም ማህደረ ትውስታ ሁለት ባይት እሴት ሲያነብ የውስጥ ስህተት (የማይታወቅ insn) ፈጥሯል።
ስሪት 2.32
ሁለተኛ የላይብረሪ መዳረሻ አልተሳካም (XC8-2381) የ xc8-ar.exe ቤተ መፃህፍት መዝገብ ቤትን ለሁለተኛ ጊዜ በመጥራት የስህተት መልእክትን እንደገና መሰየም ባለመቻሉ ሊሳካ አልቻለም።
ስሪት 2.31
ያልተገለጹ የአቀናባሪ አለመሳካቶች (XC8-2367) ሲስተሙ ጊዜያዊ ዳይሬክተሩ በዊንዶውስ ፕላትፎርሞች ላይ ሲሰሩ ነጥብ 'ን ወደሚያጠቃልለው መንገድ ተቀናብሯል። ቁምፊ፣ አቀናባሪው መፈፀም አቅቶት ሊሆን ይችላል።
ስሪት 2.30
- ዓለም አቀፋዊ መለያዎች (XC8-2299) ከተዘረዘሩ በኋላ የተሳሳቱ የተቀመጡት በእጅ የተጻፈ የመሰብሰቢያ ኮድ በአለምአቀፍ መለያዎች ውስጥ በስብሰባ ቅደም ተከተሎች ውስጥ የሚያስቀምጠው በሂደት ረቂቅ የተገለጡት በትክክል አልተቀመጡም።
- ዘና የሚያደርግ ብልሽት (XC8-2287) -mrelax አማራጭን በመጠቀም የጅራት ዝላይ የመዝናኛ ማመቻቸት በአንድ ክፍል መጨረሻ ላይ ያልነበሩትን የሬት መመሪያዎችን ለማስወገድ ሲሞከር ማገናኛው እንዲሰበር ምክንያት ሊሆን ይችላል።
- መለያዎችን እንደ እሴት (XC8-2282) ሲያሻሽሉ ብልሽት የ‹‹Labels as values› ጂኤንዩ ሲ ቋንቋ ቅጥያ በመጠቀም የሥርዓት አብስትራክት ማሻሻያዎች እንዲበላሹ አድርጐ ሊሆን ይችላል፣ ይህም ከክልል የመጠገን ስህተት ጋር።
- እንዲህ አይደለም const (XC8-2271) የ strstr () እና ሌሎች ተግባራት ምሳሌዎች ከ የ const -mconst-data-in-progmem ባህሪው ሲሰናከል በተመለሱ የሕብረቁምፊ ጠቋሚዎች ላይ መደበኛ ያልሆነውን ብቃት አይግለጽ። በ avrxmega3 እና avrtiny መሳሪያዎች ይህ ባህሪ በቋሚነት የነቃ መሆኑን ልብ ይበሉ።
- የጠፉ ጀማሪዎች (XC8-2269) በትርጉም አሃድ ውስጥ ከአንድ በላይ ተለዋዋጭ በአንድ ክፍል ውስጥ ሲቀመጡ (__ክፍል ወይም __ባህሪ__((ክፍል)) በመጠቀም) እና የመጀመሪያው እንደዚህ ያለ ተለዋዋጭ ዜሮ ተጀምሯል ወይም ማስጀመሪያ አልነበረውም ፣ ማስጀመሪያ ለ በተመሳሳይ ክፍል ውስጥ የተቀመጡት በተመሳሳይ የትርጉም ክፍል ውስጥ ያሉ ሌሎች ተለዋዋጮች ጠፍተዋል።
ስሪት 2.29 (ተግባራዊ የደህንነት መለቀቅ)
ምንም።
ስሪት 2.20
- ከረጅም ትዕዛዞች ጋር ስህተት (XC8-1983) የኤቪአር ኢላማን ሲጠቀሙ ማቀናበሪያው በፋይል ባልተገኘ ስህተት ቆሞ ሊሆን ይችላል ፣የትእዛዝ መስመሩ በጣም ትልቅ ከሆነ እና ልዩ ቁምፊዎችን እንደ ጥቅሶች ፣ የኋላ ሸርተቴዎች ፣ ወዘተ ከያዘ።
- ያልተመደበ የሮዳታ ክፍል (XC8-1920) የኤቪአር ማያያዣው ለ avrxmega3 እና avrtiny architectures ሲገነባ ብጁ የሮዳታ ክፍሎች ማህደረ ትውስታን መመደብ አልቻለም፣ ይህም የማህደረ ትውስታ መደራረብ ስህተቶችን ሊያስከትል ይችላል።
ስሪት 2.19 (ተግባራዊ የደህንነት መለቀቅ)
ምንም።
ስሪት 2.10
- የማዛወር አለመሳካቶች (XC8-1891) በጣም ጥሩው ተስማሚ አመዳደብ ከአገናኝ ዘና በኋላ በክፍሎች መካከል ያለውን የማስታወሻ 'ቀዳዳዎች' ትቶ ነበር። ከማህደረ ትውስታ መሰባበር ባሻገር፣ ከፒሲ አንጻራዊ መዝለሎች ወይም ጥሪዎች ከክልል ውጪ የሚሆኑ ጥሪዎችን በሚመለከት የአገናኝ ማዛወር ውድቀቶችን የመኖር እድልን ጨምሯል።
- በመዝናኛ ያልተለወጡ መመሪያዎች (XC8-1889) ሊንከር ዘና ማለት ዘና ከተባለ ኢላማው ሊደረስበት የሚችል ለመዝለል ወይም የጥሪ መመሪያዎች አልተፈጠረም።
- የጠፋ ተግባራዊነት (XC8E-388) በርካታ ፍቺዎች ከ እንደ clock_div_t እና clock_prescale_set() ያሉ፣ ATmega324PB፣ ATmega328PB፣ ATtiny441 እና ATtiny841 ን ጨምሮ ለመሳሪያዎች አልተገለጹም።
- የጠፉ ማክሮዎች ቅድመ ፕሮሰሰር ማክሮዎች _XC8_MODE_፣ __XC8_VERSION፣ __XC እና __XC8 በአቀነባባሪው በራስ-ሰር ይገለፃሉ። እነዚህ አሁን ይገኛሉ።
ስሪት 2.05
- የውስጥ ማጠናቀሪያ ስህተት (XC8-1822) በዊንዶውስ ውስጥ በሚገነባበት ጊዜ ኮድን ሲያሻሽሉ የውስጥ ማጠናከሪያ ስህተት ተሠርቶ ሊሆን ይችላል።
- የራም ፍሰቱ አልተገኘም (XC8-1800፣ XC8-1796) ካለው ራም በላይ የሆኑ ፕሮግራሞች በአንዳንድ ሁኔታዎች በአቀናባሪው አልተገኙም፣ ይህም የሩጫ ጊዜ ኮድ ውድቀት አስከትሏል።
- የተተወ ፍላሽ ሜሞሪ (XC8-1792) ለ avrxmega3 እና avrtiny መሳሪያዎች፣ የፍላሽ ማህደረ ትውስታ ክፍሎች በMPLAB X IDE ፕሮግራም ሳይዘጋጁ ቀርተው ሊሆን ይችላል።
- ዋናውን (XC8-1788) ማስፈጸም አለመቻል በአንዳንድ ሁኔታዎች ፕሮግራሙ ምንም ዓይነት ዓለም አቀፋዊ ተለዋዋጮች በሌሉትባቸው ሁኔታዎች፣ የአሂድ ጊዜ ማስጀመሪያ ኮድ አልወጣም እና ዋናው() ተግባሩ በጭራሽ አልደረሰም።
- ትክክል ያልሆነ የማህደረ ትውስታ መረጃ (XC8-1787) ለ avrxmega3 እና avrtiny መሳሪያዎች፣ avr-size ፕሮግራም ተነባቢ-ብቻ ዳታ ከፕሮግራም ማህደረ ትውስታ ይልቅ RAM እየበላ መሆኑን ሪፖርት እያደረገ ነበር።
- የተሳሳተ የፕሮግራም ማህደረ ትውስታ ንባብ (XC8-1783) በመረጃ አድራሻ ቦታ ላይ የፕሮግራም ማህደረ ትውስታ ለተሰየመባቸው መሳሪያዎች እና የፕሮጀክት ማክሮ/ባህሪያትን በመጠቀም ዕቃዎችን የሚወስኑ ፕሮጄክቶች እነዚህን ነገሮች ከተሳሳተ አድራሻ አንብበው ሊሆን ይችላል።
- የውስጥ ስህተት በባህሪያት (XC8-1773) የጠቋሚ ዕቃዎችን በጠቋሚ ስም እና በተጠቀሰው አይነት መካከል ያለውን __at() ወይም አይነታ() ምልክቶችን ከገለፁ የውስጥ ስህተት ተከስቷልample, ቻር * __at (0x800150) cp; እንደዚህ አይነት ኮድ ካጋጠመ አሁን ማስጠንቀቂያ ተሰጥቷል።
- ዋና (XC8-1780፣ XC8-1767፣ XC8-1754) ዋናን (XCXNUMX-XNUMX፣ XCXNUMX-XNUMX፣ XCXNUMX-XNUMX) መተግበር አለመቻል (EEPROM) ተለዋዋጮችን መጠቀም ወይም የ config pragmaን በመጠቀም ፊውዝ መግለፅ የተሳሳተ የውሂብ አጀማመር እና/ወይም የፕሮግራም አፈፃፀምን በሂደት ማስጀመሪያ ኮድ ውስጥ እንዲቆለፍ አድርጎ ሊሆን ይችላል፣ ).
- ፊውዝ ስህተት በትናንሽ መሳሪያዎች (XC8-1778፣ XC8-1742) የ attiny4/5/9/10/20/40 መሳሪያዎቹ ፊውዝ የሚገልጽ ኮድ ለመስራት በሚሞክሩበት ጊዜ ወደ አያያዥ ስህተቶች የሚያመራው በርዕስ ፋይሎቻቸው ውስጥ የተገለፀው የተሳሳተ የፊውዝ ርዝመት ነበራቸው። .
- የመከፋፈሉ ስህተት (XC8-1777) የሚቆራረጥ ክፍልፍል ስህተት ተስተካክሏል።
- አሰባሳቢ ብልሽት (XC8-1761) የ avr-asssembler አቀናባሪው በኡቡንቱ 18 ስር ሲሰራ ተበላሽቶ ሊሆን ይችላል።
- ያልተጸዱ ነገሮች (XC8-1752) ያልታወቁ የማይንቀሳቀሱ የማከማቻ ጊዜ የሚቆዩ ነገሮች በአሂድ ማስጀመሪያ ኮድ ያልተጸዱ ሊሆኑ ይችላሉ።
- የሚጋጩ የመሣሪያ ዝርዝር ሁኔታ ችላ ተብሏል (XC8-1749) ብዙ የመሣሪያ ዝርዝር አማራጮች ጥቅም ላይ ሲውሉ እና የተለያዩ መሣሪያዎችን ሲጠቁሙ አቀናባሪው ስህተት እየፈጠረ አልነበረም።
- የማህደረ ትውስታ መበላሸት በክምር (XC8-1748) የ__ክምር_ጅምር ምልክት በተሳሳተ መንገድ እየተዘጋጀ ነበር፣ይህም ምክንያት ተራ ተለዋዋጮች በክምር ሊበላሹ ይችላሉ።
- የሊንከር ማዛወር ስህተት (XC8-1739) የአገናኝ ማዛወር ስህተት የወጣው ኮድ rjmp ሲይዝ ወይም ጥሪ የተደረገለት ኢላማ በትክክል 4k ባይት ሲቀር ነው።
ስሪት 2.00
ምንም።
የታወቁ ጉዳዮች
የሚከተሉት በአቀነባባሪው አሠራር ውስጥ ያሉ ገደቦች ናቸው. እነዚህ አጠቃላይ የኮድ ገደቦች ወይም በተጠቃሚው መመሪያ ውስጥ ካለው መረጃ መዛባት ሊሆኑ ይችላሉ። በርዕሱ ውስጥ ያሉት በቅንፍ የተቀመጡ መለያዎች በክትትል ዳታቤዝ ውስጥ የችግሩ መታወቂያ ናቸው። ድጋፍን ማነጋገር ከፈለጉ ይህ ጠቃሚ ሊሆን ይችላል። እነዚያ መለያዎች የሌላቸው እቃዎች ሞዲ ኦፔራንዲን የሚገልጹ እና በቋሚነት በስራ ላይ ሊቆዩ የሚችሉ ገደቦች ናቸው።
MPLAB X አይዲኢ ውህደት
- MPLAB IDE integration Compiler ከMPLAB IDE ጥቅም ላይ የሚውል ከሆነ ኮምፕሌተርን ከመጫንዎ በፊት MPLAB IDE መጫን አለብዎት።
- የድርድር ማረም መረጃ (XC8-3157) በአቀነባባሪው የተሰራው የማረም መረጃ በ__memx አድራሻ ቦታ ላይ ያለውን የነገር አይነት በትክክል አያስተላልፍም። ይህ በ IDE ውስጥ ያለውን ነገር እንዳይታይ ይከላከላል።
ኮድ ማመንጨት
- Segfault ከሴክሽን-መልህቆች አማራጭ (XC8-3045) ጋር ተግባራትን ከተለዋዋጭ ነጋሪ እሴት ዝርዝሮች ጋር የሚገልጽ እና -fsection-anchors አማራጭን የሚጠቀም ፕሮግራም የውስጥ ማጠናከሪያ ስህተት አስነስቶ ሊሆን ይችላል፡ የመከፋፈል ስህተት
- የአርም መረጃ አልተመሳሰልም (XC8-2948) የአገናኝ ዘና ማመቻቻዎች መመሪያዎችን ይቀንሳል (ለቀድሞampመመሪያን ለመጥራት ጥሪ) በአንድ ክፍል ውስጥ ከአንድ በላይ የመቀነስ ክዋኔ ሲኖር የካርታ ስራዎችን ለመጥራት የምንጭ መስመር ሳይመሳሰል ላይቆይ ይችላል። ከታች ባለው example፣ ለአንፃራዊ ጥሪዎች ዘና ብለው የሚጨርሱ ሁለት ጥሪዎች ወደ foo አሉ።
- PA የማህደረ ትውስታ ድልድል አለመሳካት (XC8-2881) የሂደት አብስትራክሽን አመቻቾችን ሲጠቀሙ፣ ምንም እንኳን ፕሮግራሙ የሚገኘውን ማሟላት ቢችልም የኮድ መጠን በመሳሪያው ላይ ካለው የፕሮግራም ማህደረ ትውስታ መጠን ጋር ሲቀራረብ ማገናኛው የማህደረ ትውስታ ድልድል ስህተቶችን ሪፖርት ሊያደርግ ይችላል። ክፍተት.
- በጣም ብልጥ አይደለም Smart-IO (XC8-2872) የኮንስት-ውሂብ-ውስጥ-ፕሮግራም ባህሪው ከተሰናከለ ወይም መሣሪያው ሙሉ በሙሉ ካለው የአቀናባሪው ስማርት-io ባህሪ ለ snprintf ተግባር የሚሰራ ግን ንዑስ-ምርጥ ኮድ ይፈጥራል። ፍላሽ ወደ ዳታ ማህደረ ትውስታ ተቀርጿል።
- ያነሰ ስማርት-አይኦ (XC8-2869) የአቀናባሪው ስማርት-io ባህሪ የሚሰራው ግን -flto እና -fno-builtin አማራጮች ሁለቱም ጥቅም ላይ በሚውሉበት ጊዜ ንኡስ ጥሩ ኮድ ይፈጥራል።
- የላቀ ተነባቢ-ብቻ ውሂብ አቀማመጥ (XC8-2849) አገናኙ በአሁኑ ጊዜ ስለ APPCODE እና APPDATA ማህደረ ትውስታ ክፍሎች እንዲሁም በማስታወሻ ካርታው ውስጥ ያለውን [አይ] ማንበብ-ሲጻፍ ጻፍ ክፍሎችን አያውቅም። በውጤቱም፣ ማገናኛው ተነባቢ-ብቻ ውሂብን በማይመች የማህደረ ትውስታ ቦታ ላይ የመመደብ እድሉ ትንሽ ነው። የconst-data-in-progmem ባህሪው ከነቃ፣በተለይም የኮንስት-ውሂብ-በማዘጋጀት-ካርታ-ፕሮግራም ባህሪው ከነቃ፣የተሳሳተ ውሂብ የማግኘት እድሉ ይጨምራል። አስፈላጊ ከሆነ እነዚህ ባህሪያት ሊሰናከሉ ይችላሉ.
- የነገር ፋይል ማቀናበሪያ ትእዛዝ (XC8-2863) የነገሮች ፋይሎች በአያያዥው የሚከናወኑበት ቅደም ተከተል በሂደት የአብስትራክት ማሻሻያዎችን (-mpa አማራጭ) በመጠቀም ሊለያይ ይችላል። ይህ በበርካታ ሞጁሎች ውስጥ ያሉ ደካማ ተግባራትን የሚገልጽ ኮድ ብቻ ነው የሚነካው።
- የሊንከር ስህተት ከፍፁም (XC8-2777) ጋር አንድ ነገር ራም ሲጀምር በአድራሻ ፍፁም ሆኖ ሲገኝ እና ያልታወቁ ነገሮችም ሲገለጹ የአገናኝ ስህተት ሊነሳ ይችላል።
- አጭር የማንቂያ መታወቂያዎች (XC8-2775) ለ ATA5700/2 መሳሪያዎች የPHID0/1 መዝገቦች ከ16 ቢት ስፋት ይልቅ በ32 ቢት ስፋት ብቻ ይገለፃሉ።
- የሊንከር ምልክት ሲደወል (XC8-2758) የ -mrelax ሹፌር አማራጭ ጥቅም ላይ ከዋለ ማገናኛው ሊበላሽ ይችላል።
- ትክክል ያልሆነ አጀማመር (XC8-2679) ለአንዳንድ ግሎባል/ስታቲክ ባይት መጠን ያላቸው ነገሮች የመጀመሪያ ዋጋዎች በመረጃ ማህደረ ትውስታ ውስጥ የሚቀመጡበት እና ተለዋዋጮቹ በሂደት ላይ በሚደርሱበት መካከል ልዩነት አለ።
- መጥፎ ቀጥተኛ ያልሆኑ የተግባር ጥሪዎች (XC8-2628) በአንዳንድ አጋጣሚዎች፣ እንደ መዋቅር አካል በተከማቸ የተግባር ጠቋሚ በኩል የተደረጉ የተግባር ጥሪዎች ሊሳኩ ይችላሉ።
- strtof ዜሮን ለሄክሳዴሲማል ፍሎት ይመልሳል (XC8-2626) የቤተ መፃህፍቱ ተግባራት strtof() et al እና scanf() et al፣ ምንጊዜም አንድ ገላጭ ወደ ዜሮ የማይገልጽ ሄክሳዴሲማል ተንሳፋፊ ነጥብ ቁጥርን ይቀይራል። ለ example: strtof ("0x1", & endptr); እሴቱን 0 እንጂ 1 አይመልስም።
- ትክክል ያልሆነ ቁልል አማካሪ መልእክት (XC8-2542፣ XC8-2541) በአንዳንድ አጋጣሚዎች፣ ጥቅም ላይ የዋለው ድግግሞሽ ወይም ያልተገደበ ቁልል (ምናልባትም በአሎካ()) አጠቃቀም ላይ የቁልል አማካሪ ማስጠንቀቂያ አይወጣም።
- የተባዛ የማቋረጥ ኮድ (XC8-2421) አለመሳካት ከአንድ በላይ የማቋረጫ ተግባር አንድ አይነት አካል ካላቸው ኮምፕሌተሩ ለአንድ ማቋረጫ ተግባር ሌላውን ይደውሉ። ይህ ሁሉንም በጥሪ የተዘጉ መዝገቦችን ሳያስፈልግ እንዲቆጥቡ ያደርጋል፣ እና ማቋረጦች የሚነቁት የአሁኑ ማቋረጥ ተቆጣጣሪው ገለጻ ከመጀመሩ በፊት ነው፣ ይህም ወደ ኮድ ውድቀት ሊያመራ ይችላል።
- የተሳሳተ የዲኤፍፒ መንገድ (XC8-2376) አጣማሪው ልክ ባልሆነ የዲኤፍፒ መንገድ ከተጠራ እና ለተመረጠው መሣሪያ 'spec' ፋይል ካለ፣ አቀናባሪው የጎደለውን የመሣሪያ ቤተሰብ ጥቅል ሪፖርት አያደርግም እና ይልቁንም 'spec'ን እየመረጠ አይደለም። ፋይል፣ ይህም ወደ ልክ ያልሆነ ውፅዓት ሊያመራ ይችላል። የ'spec' ፋይሎቹ ከተከፋፈሉት DFPs ጋር ወቅታዊ ላይሆኑ ይችላሉ እና ለውስጣዊ የአቀናባሪ ሙከራ ብቻ ጥቅም ላይ እንዲውሉ የታሰቡ ናቸው።
- የማህደረ ትውስታ መደራረብ አልተገኘም (XC8-1966) አቀናባሪው በአድራሻ (በ__at() በኩል) እና ሌሎች የ __ክፍል () ስፔሲፋይርን በመጠቀም እና ከተመሳሳዩ አድራሻ ጋር የተገናኙትን ነገሮች የማህደረ ትውስታ መደራረብ እያጣራ አይደለም።
- በቤተመፃህፍት ተግባራት እና __memx (XC8-1763) የተጠራ libgcc float ተግባራት በ__memx አድራሻ ቦታ ላይ ካለው ክርክር ጋር አለመሳካት ሊሳካ ይችላል። የቤተ መፃህፍቱ ልማዶች ከአንዳንድ የC ኦፕሬተሮች እንደሚጠሩ ልብ ይበሉ፣ ስለዚህ፣ ለምሳሌample, የሚከተለው ኮድ ተጎድቷል: regFloatVar መመለስ> memxFloatVar;
- የተገደበ የlibgcc ትግበራ (AVRTC-731) ለATTiny4/5/9/10/20/40 ምርቶች፣ በlibgcc ውስጥ ያለው መደበኛ C/Math ላይብረሪ ትግበራ በጣም የተገደበ ነው ወይም የለም።
- የፕሮግራም የማስታወስ ገደቦች (AVRTC-732) ከ 128 ኪ.ባ በላይ የፕሮግራም ማህደረ ትውስታ ምስሎች በመሳሪያ ሰንሰለት ይደገፋሉ; ነገር ግን የ-mrelax አማራጭ ጥቅም ላይ በሚውልበት ጊዜ የሚፈለጉትን የተግባር ፍንጮችን ከማመንጨት ይልቅ ያለ መዝናናት እና አጋዥ የሆነ የስህተት መልእክት ሳይኖር የ linker ውርጃ የታወቁ አጋጣሚዎች አሉ።
- የስም ቦታ ገደቦች (AVRTC-733) የተሰየሙ የአድራሻ ቦታዎች በመሳሪያ ሰንሰለት የተደገፉ ናቸው፣ በተጠቃሚው መመሪያ ክፍል ውስጥ በተጠቀሱት ገደቦች ተጠብቆ የልዩ ዓይነት ብቃቶች።
- የሰዓት ዞኖች The የቤተ መፃህፍት ተግባራት GMT ን ይወስዳሉ እና የአካባቢ የሰዓት ሰቆችን አይደግፉም ፣ ስለሆነም የአካባቢ ሰዓት () ከ gmtime() ጋር በተመሳሳይ ጊዜ ይመለሳል ፣ ለምሳሌampለ.
ሰነዶች / መርጃዎች
![]() |
MICROCHIP XC8 C ማጠናከሪያ ስሪት 2.45 የመልቀቂያ ማስታወሻዎች ለAVR MCU [pdf] መመሪያ AVR MCU፣ XC8 C፣ XC8 C Compiler Version 2.45 የመልቀቂያ ማስታወሻዎች ለ AVR MCU፣ የማጠናቀቂያ ሥሪት 2.45 የመልቀቂያ ማስታወሻዎች ለ AVR MCU፣ ሥሪት 2.45 የተለቀቀው ማስታወሻ ለ AVR MCU፣ የተለቀቀ ማስታወሻዎች ለ AVR MCU፣ ማስታወሻዎች ለ AVR MCU፣ AVR MCU፣ AVR MCU፣ AVR MCU፣ AVR MCU፣ AVR MCU |