مایکروچپ MPLAB XC8 C کمپیلر سافټویر 

مایکروچپ MPLAB XC8 C کمپیلر سافټویر

دا سند د MPLAB XC8 C کمپیلر پورې اړوند مهم معلومات لري کله چې د مایکروچیپ AVR وسیلې په نښه کوي.
مهرباني وکړئ د دې سافټویر چلولو دمخه یې ولولئ. که تاسو د 8-bit PIC وسیلو لپاره کمپیلر کاروئ نو د عکس سند لپاره د MPLAB XC8 C کمپیلر ریلیز نوټونه وګورئ.

منځپانګې پټول

اوورview

پیژندنه

د مایکروچپ MPLAB® XC8 C کمپیلر دا خوشې کول ډیری نوي ب featuresې ، بګ فکسونه ، او د نوي وسیلې ملاتړ لري.

د جوړولو نیټه

د دې کمپیلر نسخې رسمي جوړیدو نیټه د 3 جولای 2022 ده.

مخکنی نسخه

پخوانۍ MPLAB XC8 C کمپیلر نسخه 2.39 وه، یو فعال خوندیتوب کمپیلر، چې په 27 جنوري 2022 کې جوړ شوی و. پخوانی معیاري کمپیلر نسخه 2.36 وه، چې د 27 جنوري 2022 کې جوړه شوې وه.

کاري خوندیتوب لارښود

د MPLAB XC تالیف کونکو لپاره د فعالیت خوندیتوب لارښود د اسنادو کڅوړه کې شتون لري کله چې تاسو د فعال خوندیتوب جواز پیرود کوئ.

د اجزاو جوازونه او نسخې

د AVR MCUs وسیلو لپاره MPLAB® XC8 C کمپیلر د GNU عمومي عامه جواز (GPL) لاندې لیکل شوي او توزیع شوي چې پدې معنی چې د دې سرچینې کوډ په وړیا توګه توزیع شوی او خلکو ته شتون لري. د GNU GPL لاندې وسیلو لپاره د سرچینې کوډ ممکن د مایکروچپ څخه جلا ډاونلوډ شي webسایټ تاسو کولی شئ د GNU GPL په کې ولولئ file نومول شوی ستاسو د نصب لارښود فرعي لارښود موقعیت لري. د GPL لاندې اصولو عمومي بحث ممکن دلته وموندل شي. د سرلیک لپاره د ملاتړ کوډ چمتو شوی files، لینکر سکریپټونه، او د چلولو وخت کتابتونونه د ملکیت کوډ دي او د GPL لاندې نه پوښل شوي.

دا کمپیلر د GCC نسخه 5.4.0، binutils نسخه 2.26 تطبیق دی، او د avr-libc نسخه 2.0.0 کاروي.

د سیسټم اړتیاوې

د MPLAB XC8 C کمپیلر او د جواز ورکولو سافټویر چې دا یې کاروي د مختلف عملیاتي سیسټمونو لپاره شتون لري ، پشمول د لاندې 64-bit نسخې: د مایکروسافټ وینډوز 10 مسلکي نسخې؛ اوبنټو 18.04؛ او macOS 10.15.5. د وینډوز لپاره بائنریز د کوډ لاسلیک شوي. د ماک OS لپاره بائنریز د کوډ لاسلیک شوي او نوټر شوي دي.

که تاسو د شبکې جواز سرور پرمخ وړئ، یوازې هغه کمپیوټرونه چې عملیاتي سیسټمونه یې د کمپیلرونو لخوا ملاتړ کیږي د جواز سرور کوربه کولو لپاره کارول کیدی شي. د xclm نسخه 2.0 پورې، د شبکې جواز سرور د مایکروسافټ وینډوز سرور پلیټ فارم کې نصب کیدی شي، مګر د جواز سرور اړتیا نلري چې د عملیاتي سیسټم سرور نسخه پرمخ بوځي.

وسیلې ملاتړ شوې

دا کمپیلر د ټولو 8-bit AVR MCU وسیلو ملاتړ کوي چې د خوشې کیدو په وخت کې پیژندل شوي. د ټولو ملاتړ شوي وسیلو لیست لپاره (د کمپیلر ډاک لارښود کې) وګورئ. دا files د هرې وسیلې لپاره د ترتیب بټ تنظیمات هم لیست کوي.

نسخې او د جواز لوړول

د MPLAB XC8 کمپیلر د جواز لرونکي (PRO) یا غیر جواز لرونکي (وړیا) محصول په توګه فعال کیدی شي. تاسو اړتیا لرئ د خپل کمپیلر جواز ورکولو لپاره د فعالولو کیلي واخلئ. جواز د وړیا محصول په پرتله د لوړې کچې اصلاح کولو ته اجازه ورکوي. یو غیر جواز لرونکی کمپیلر د جواز پرته په غیر مستقیم ډول پرمخ وړل کیدی شي.

د MPLAB XC8 فعال خوندیتوب کمپیلر باید د مایکروچپ څخه پیرود شوي فعال خوندیتوب جواز سره فعال شي. کمپیلر به د دې جواز پرته کار ونکړي. یوځل چې فعال شو، تاسو کولی شئ د اصلاح کولو کچه وټاکئ او ټول تالیف کونکي ځانګړتیاوې وکاروئ. د MPLAB XC فنکشنل سیفټي کمپیلر دا خپریدل د شبکې سرور جواز ملاتړ کوي.
د جواز ډولونو او د جواز سره د کمپیلر نصبولو په اړه معلوماتو لپاره د MPLAB XC C Compilers (DS50002059) نصب او جواز ورکولو سند وګورئ.

نصب او د فعالولو

د دې کمپیلر سره د وروستي جواز مدیر په اړه مهم معلوماتو لپاره د مهاجرت مسلو او محدودیتونو برخې هم وګورئ.
که د MPLAB IDE کاروئ، ډاډ ترلاسه کړئ چې د دې وسیلې نصبولو دمخه د MPLAB X IDE وروستی نسخه 5.0 یا وروسته نصب کړئ. د کمپیلر نصبولو دمخه IDE پریږدئ. .exe (Windows)، .run (Linux) یا app (macOS) کمپیلر انسټالر اپلیکیشن چل کړئ، د بیلګې په توګه XC8-1.00.11403-windows.exe او په سکرین کې لارښوونې تعقیب کړئ.
د ډیفالټ نصبولو لارښود سپارښتنه کیږي. که تاسو لینکس کاروئ، نو تاسو باید د ټرمینل په کارولو او د روټ حساب څخه کمپیلر نصب کړئ. د مدیر امتیازاتو سره د macOS حساب په کارولو سره نصب کړئ.

فعالول اوس د نصبولو لپاره په جلا توګه ترسره کیږي. د نورو معلوماتو لپاره د MPLAB® XC C Compilers (DS52059) لپاره د جواز مدیر سند وګورئ.

که تاسو د ارزونې جواز لاندې تالیف کونکي چلول غوره کړئ ، نو تاسو به اوس د تالیف پرمهال خبرداری ترلاسه کړئ کله چې تاسو د خپلې ارزونې دورې پای ته رسیدو په 14 ورځو کې یاست. ورته خبرداری ورکول کیږي که تاسو د خپل HPA ګډون پای ته رسیدو 14 ورځو کې یاست.

د XC شبکې لایسنس سرور یو جلا انسټالر دی او د واحد کارونکي کمپیلر انسټالر کې شامل نه دی.

د XC جواز مدیر اوس د فلوټینګ شبکې جوازونو رومینګ ملاتړ کوي. د ګرځنده کاروونکو په هدف، دا خصوصیت یو فلوټینګ جواز ته اجازه ورکوي چې د لنډې مودې لپاره له شبکې څخه لاړ شي. د دې خصوصیت په کارولو سره ، تاسو کولی شئ له شبکې څخه وصل شئ او لاهم خپل MPLAB XC کمپیلر وکاروئ. د دې خصوصیت په اړه د نورو لپاره د XCLM انسټالولو سند فولډر وګورئ. MPLAB X IDE کې د لایسنس کړکۍ (وسیلې> جوازونه) شامل دي ترڅو په لید کې رومینګ اداره کړي.

د نصب کولو مسلو حل کول

که تاسو د وینډوز عملیاتي سیسټمونو لاندې د کمپیلر نصبولو کې ستونزې تجربه کوئ، لاندې وړاندیزونه هڅه وکړئ.

  • انسټالول د مدیر په توګه پرمخ وړئ.
  • د نصب کونکي غوښتنلیک اجازې 'بشپړ کنټرول' ته تنظیم کړئ. (په ښي کلیک وکړئ file، ملکیتونه غوره کړئ ، امنیت ټب ، کارن غوره کړئ ، ترمیم کړئ.)
  • د temp فولډر اجازه "بشپړ کنټرول ته تنظیم کړئ!

د temp فولډر موقعیت ټاکلو لپاره، د چلولو کمانډ کې %temp٪ ټایپ کړئ (د وینډوز لوګو کیلي + R). دا به خلاص شي file د اکسپلورر ډیالوګ دا لارښود ښیې او تاسو ته به اجازه درکړي چې د دې فولډر لاره وټاکئ.

د کمپیلر اسناد

د تالیف کونکي کارونکي لارښودونه د HTML پاڼې څخه خلاص کیدی شي چې ستاسو په براوزر کې خلاصیږي کله چې په MPLAB X IDE ډشبورډ کې د نیلي مرستې تڼۍ کلیک وکړئ ، لکه څنګه چې په سکرین شاټ کې اشاره شوې.

د کمپیلر اسناد
که تاسو د 8-bit AVR اهدافو لپاره جوړوئ، د AVR® MCU لپاره د MPLAB® XC8 C کمپیلر کارونکي لارښود د هغه کمپیلر اختیارونو او ځانګړتیاو په اړه معلومات لري چې پدې جوړښت کې پلي کیږي.

د پیرودونکي ملاتړ

مایکروچپ د دې کمپیلر نسخې په اړه د بګ راپورونو ، وړاندیزونو یا نظرونو هرکلی کوي. مهرباني وکړئ د ملاتړ سیسټم له لارې د بګ راپورونه یا فیچر غوښتنې مستقیم کړئ.

د اسنادو تازه معلومات

د MPLAB XC8 اسنادو آنلاین او تازه نسخو لپاره، مهرباني وکړئ د مایکروچپ آنلاین تخنیکي اسنادو څخه لیدنه وکړئ webسایټ

په دې خپرونه کې نوي یا تازه شوي AVR اسناد:

  • د MUSL د چاپ حق خبرتیا
  • د MPLAB XC C کمپیلرونو نصب او جواز ورکول (د بیاکتنې M)
  • د ایمبیډ شوي انجینرانو لپاره د MPLAB XC8 کارونکي لارښود - AVR MCUs (بیاکتنه A)
  • د AVR MCU لپاره د MPLAB XC8 C کمپیلر کارونکي لارښود (د بیاکتنې F)
  • د مایکروچپ متحد معیاري کتابتون حوالې لارښود (بی بیاکتنه)

د مایکروچپ متحد معیاري کتابتون حوالې لارښود د مایکروچپ متحد معیاري کتابتون لخوا تعریف شوي دندو سره چلند او انٹرفیس تشریح کوي ، او همدارنګه د کتابتون ډولونو او میکرو مطلوب کارول. د دې معلوماتو څخه ځینې دمخه د AVR® MCU لپاره د MPLAB® XC8 C کمپیلر کارونکي لارښود کې موجود و. د وسیلې ځانګړي کتابتون معلومات لاهم پدې کمپیلر لارښود کې شتون لري.

که تاسو یوازې د 8-bit وسیلو او MPLAB XC8 C کمپیلر سره پیل کوئ، د ایمبیډ شوي انجینرانو لپاره د MPLAB® XC8 کارن لارښود - AVR® MCUs (DS50003108) په MPLAB X IDE کې د پروژو تنظیم کولو او کوډ لیکلو په اړه معلومات لري. ستاسو د لومړي MPLAB XC8 C پروژې لپاره. دا لارښود اوس د کمپیلر سره توزیع شوی.

د هامیټ کارن لارښود په دې خپرونه کې د اسنادو لارښود کې شامل شوی. دا لارښود د هغو کسانو لپاره دی چې هامیټ د یو واحد غوښتنلیک په توګه پرمخ وړي.

څه نوي دي

لاندې د AVR هدف نوي ځانګړتیاوې دي چې کمپیلر یې اوس ملاتړ کوي. په فرعي سرلیکونو کې د نسخې شمیره د لومړي تالیف کونکي نسخه په ګوته کوي ترڅو د هغه ځانګړتیاو ملاتړ وکړي چې تعقیبوي.

نسخه 2.40

د نوي وسیله ملاتړ ملاتړ اوس د لاندې AVR برخو لپاره شتون لري: AT90PWM3, AVR16DD14, AVR16DD20, AVR16DD28, AVR16DD32, AVR32DD14, AVR32DD20, AVR32DD28, AVR32DD32, AVR64, AVR28, AVR64, AVR32 AVR64EA48.
د طرزالعمل خلاصول ښه شوی د طرزالعمل خلاصون (PA) د اصلاح کولو وسیله ښه شوې ترڅو کوډ چې د فنکشن کال لارښوونې لري (د کال یادول) تشریح کیدی شي. دا به یوازې هغه وخت ترسره شي که چیرې سټیک د فنکشن څخه د بیرته ستنیدو ارزښت ترلاسه کولو لپاره د دلیلونو تیرولو لپاره نه کارول کیږي. سټیک کارول کیږي کله چې د متغیر دلیل لیست سره فنکشن ته زنګ ووهئ یا کله چې داسې فنکشن ته زنګ ووهئ چې د دې هدف لپاره ټاکل شوي راجسترونو څخه ډیر دلیلونه اخلي. دا خصوصیت د مونک-پا-آؤټ لائن-کالونو اختیار په کارولو سره غیر فعال کیدی شي ، یا د طرزالعمل خلاصول په بشپړ ډول د یو څیز لپاره غیر فعال کیدی شي file یا د -monk-pa-on- په کارولو سره فعالیت کويfile او -mo.-pa-on-function په ترتیب سره، یا د nipa خاصیت (nipa specifier) ​​په کارولو سره په غوره توګه د دندو سره

د کوډ پوښښ میکرو تالیف کونکی اوس میکرو __CODECOV تعریفوي که چیرې د اعتبار وړ mcodecov اختیار مشخص شوی وي.

د حافظې ذخیره کولو اختیار د xc8-cc ډرایور به اوس ومني -mreserve=space@start: د پای اختیار کله چې د AVR اهدافو لپاره جوړیږي. دا اختیار د ډیټا یا برنامه حافظې ځای کې ټاکل شوې حافظه رینج خوندي کوي ، چې لینکر پدې سیمه کې د کوډ یا شیانو له ډکولو څخه مخنیوی کوي.

هوښیار سمارټ IO د سمارټ IO دندو کې ډیری پرمختګونه شوي دي، په شمول د Printf کور کوډ ته عمومي ټیکونه، د %n تبادلې مشخص کونکي سره د یو خپلواک ډول په توګه چلند کول، د غوښتنې سره سم د ویرارګ پاپ معمولونو کې لینک کول، د IO فنکشن دلیلونو اداره کولو لپاره د ممکنه لنډ ډیټا ډولونو کارول. ، او د ساحې په عرض او دقیق سمبالولو کې د عام کوډ فکتور کول. دا کولی شي د پام وړ کوډ او ډیټا سپمولو پایله ولري ، په بیله بیا د IO اجرا کولو سرعت ډیر کړي.

نسخه 2.39 (فعال خوندیتوب خوشې کول)

د شبکې سرور جواز د MPLAB XC8 فعالیت خوندیتوب کمپیلر دا خپریدل د شبکې سرور جواز ملاتړ کوي.

نسخه 2.36

هیڅ نه.

نسخه 2.35

د نوي وسیله ملاتړ د لاندې AVR برخو لپاره ملاتړ شتون لري: ATTINY3224، ATTINY3226، ATTINY3227، AVR64DD14، AVR64DD20، AVR64DD28، او AVR64DD32.

د شرایطو بدلول ښه شوي د نوي -mcall-isr-prologues اختیار بدلوي چې څنګه د مداخلې فعالیت په ننوتلو کې راجسترونه خوندي کوي او دا څنګه راجستر کیږي کله چې د مداخلې معمول پای ته ورسیږي. دا د -mcall-prologues اختیار ته ورته کار کوي، مګر یوازې د مداخلې افعال (ISRs) اغیزه کوي.

حتی ډیر ښه شوی د شرایطو بدلول د نوي -mgas-isr-prologues اختیار د وړو مداخلو خدماتو معمولونو لپاره رامینځته شوي د شرایطو خارش کوډ کنټرولوي. کله چې فعال شي، دا فیچر به د راجستر کارونې لپاره ISR سکین کړي او یوازې د اړتیا په صورت کې دا کارول شوي راجسترونه خوندي کړي.

د ترتیب وړ فلش نقشه کول د AVR DA او AVR DB کورنۍ کې ځینې وسیلې SFR (د بیلګې په توګه FLMAP) لري چې دا مشخص کوي چې د برنامې حافظې کومه 32k برخه به د ډیټا حافظې کې نقشه شي. نوی - mconst-data-in-config-mapped-proem اختیار کارول کیدی شي چې لینکر د ټولو موافقو وړ ډیټا په یوه 32k برخه کې ځای په ځای کړي او په اتوماتيک ډول اړوند SFR راجستر پیل کړي ترڅو ډاډ ترلاسه شي چې دا ډاټا د ډیټا حافظې ځای کې نقشه شوې. , چیرې چې دا به په اغیزمنه توګه لاسرسی ومومي.

د مایکروچپ متحد معیاري کتابتونونه ټول MPLAB XC تالیف کونکي به د مایکروچپ متحد معیاري کتابتون شریک کړي ، کوم چې اوس د MPLAB XC8 د دې خوشې کیدو سره شتون لري. د MPLAB® XC8 C کمپیلر کارونکي لارښود/یا AVR® MCU نور د دې معیاري دندو لپاره اسناد نه لري. دا معلومات اوس د مایکروچپ متحد معیاري کتابتون حوالې لارښود کې موندل کیدی شي. په یاد ولرئ چې ځینې فعالیت چې مخکې د avr-libc لخوا تعریف شوي نور شتون نلري. (لائبرر وګورئ):'. فعالیت…)

سمارټ IO د نوي متحد کتابتونونو د یوې برخې په توګه، په چاپ او سکین کورنیو کې د IO فنکشنونه اوس په هر جوړښت کې دودیز تولید شوي، د دې پر بنسټ چې دا فعالیتونه څنګه په پروګرام کې کارول کیږي. دا کولی شي د برنامې لخوا کارول شوي سرچینې د پام وړ کم کړي.
د سمارټ IO مرستې اختیار کله چې د سمارټ IO افعال (لکه printf () یا scanf ()) ته د زنګونو تحلیل کول ، کمپیلر تل نشي کولی د فارمیټ سټرینګ څخه وټاکي یا د هغه دلیلونو څخه اټکل وکړي چې د تبادلې مشخص کونکي د کال لخوا اړین دي. مخکې، تالیف کونکی به تل هیڅ انګیرنه نه کوي او ډاډ ترلاسه کوي چې په بشپړ ډول فعال IO افعال د وروستي پروګرام عکس سره تړل شوي. یو نوی - msmart-io-format=fmt اختیار اضافه شوی ترڅو تالیف کونکي د دې پرځای د تبادلې مشخص کونکو لخوا د سمارټ IO فنکشنونو لخوا کارول شوي د کارونکي لخوا خبر شي چې کارول یې مبهم دي ، د ډیر اوږد IO روټینونو د تړل کیدو مخه نیسي. (د نورو جزیاتو لپاره د smart-io-format اختیار وګورئ.)

د دودیزو برخو ځای په ځای کول پخوا، د -Wl، -section-start اختیار یوازې ټاکل شوې برخه په غوښتل شوي پته کې ځای پرځای کول کله چې لینکر سکریپټ د ورته نوم سره د محصول برخه تعریف کړه. کله چې دا قضیه نه وه، برخه په هغه پته کې کیښودل شوه چې د لینکر لخوا غوره شوی و او اختیار په اصل کې له پامه غورځول شوی و. اوس اختیار به د ټولو دودیزو برخو لپاره ویاړ شي، حتی که د لینکر سکریپټ برخه نه تعریفوي. په هرصورت، یادونه وکړئ چې د معیاري برخو لپاره، لکه . متن، . bss یا . ډاټا، غوره فټ تخصیص کونکی به لاهم د دوی ځای په ځای کولو بشپړ کنټرول ولري، او اختیار به هیڅ اغیزه ونلري. د -Wl، -Tsection=add اختیار وکاروئ، لکه څنګه چې د کارونکي لارښود کې تشریح شوي.

نسخه 2.32

د سټیک لارښود د PRO کمپیلر لایسنس سره شتون لري ، د تالیف کونکي سټیک لارښود ب featureه د برنامې لخوا کارول شوي هر سټیک اعظمي ژوروالي اټکل کولو لپاره کارول کیدی شي. دا د برنامه کال ګراف رامینځته کوي او تحلیل کوي ، د هر فنکشن سټیک کارول ټاکي ، او یو راپور رامینځته کوي ، له کوم څخه چې د برنامې لخوا کارول شوي سټیک ژورتیا اټکل کیدی شي. دا فیچر د -mchp-stack-usage کمانډ لاین اختیار له لارې فعال شوی. د سټیک کارولو لنډیز د اجرا کولو وروسته چاپ کیږي. په نقشه کې یو تفصیلي سټیک راپور شتون لري file، کوم چې په معمول ډول غوښتنه کیدی شي.

د نوي وسیلې ملاتړ ملاتړ د لاندې AVR برخو لپاره شتون لري: ATTINY 427, ATTINY 424, ATTINY 426, ATTINY827, ATTINY824, ATTINY826, AVR32DB32, AVR64DB48, AVR64DB64, AVR64DB28, AVR32DB, AVR28D,64, AVR32, AVR32, AVR48DBXNUMX.

بیرته اخیستل شوي وسیله ملاتړ ملاتړ نور د لاندې AVR برخو لپاره شتون نلري: AVR16DA28، AVR16DA32 او، AVR16DA48.

نسخه 2.31

هیڅ نه.

نسخه 2.30

د ډیټا ابتکار مخنیوي لپاره نوی اختیار د نوي -mno-data-ini t ډرایور اختیار د ډیټا پیل کولو او د bss برخو پاکولو مخه نیسي. دا په مجلس کې د do_ کاپي_ ډیټا او d o_ clear_ bss سمبولونو د محصول په فشارولو سره کار کوي files، چې په پایله کې به د لینکر لخوا د دې معمولونو شاملولو مخه ونیسي.

پرمختللي اصلاحونه د اصلاح کولو یو شمیر پرمختګونه رامینځته شوي ، پشمول د بې ځایه راستنیدو لارښوونو لرې کول ، د skip-if-bit-is لارښوونې وروسته د ځینې کودونو لرې کول ، او د طرزالعمل خلاصول او د دې پروسې تکرار کولو وړتیا.

اضافي اختیارونه اوس د دې ځینې اصلاح کولو کنټرول لپاره شتون لري ، په ځانګړي توګه د -f برخې لنگرونه ، کوم چې د جامد شیانو لاسرسي ته اجازه ورکوي چې د یو سمبول په پرتله ترسره شي؛ -mpai derations=n، کوم چې د پروسیجري خلاصون تکرارونو شمیر ته اجازه ورکوي چې د 2 ډیفالټ څخه بدل شي؛ او، -mpa- کال لګښت- لنډ کال، کوم چې ډیر تیریدونکي طرزالعمل خلاصول ترسره کوي، په دې هیله چې لینک کوونکی کولی شي اوږد تلیفونونه آرام کړي. دا وروستی اختیار کولی شي د کوډ اندازه زیاته کړي که چیرې اصلي انګیرنې درک نه شي.

د نوي وسیله ملاتړ د لاندې AVR برخو لپاره ملاتړ شتون لري: AVR16DA28، AVR16DA32،
AVR16DA48، AVR32DA28، AVR32DA32، AVR32DA48، AVR64DA28، AVR64DA32، AVR64DA48، AVR64DA64، AVR128DB28، AVR128DB32، AVR128DB48، AVR128DB64، AVRXNUMXDBXNUMX، AVRXNUMXDAXNUMX.

بیرته اخیستل شوي وسیله ملاتړ ملاتړ نور د لاندې AVR برخو لپاره شتون نلري: ATA5272, ATA5790, ATA5790N,ATA5791,ATA5795,ATA6285,ATA6286,ATA6612C,ATA6613C,ATA6614Q,ATA6616C,ATA6617C,ATA664251C,ATAXNUMXQ.

نسخه 2.29 (فعال خوندیتوب خوشې کول)

سرلیک file د کمپیلر جوړ شوي انزونو لپاره د دې لپاره چې ډاډ ترلاسه شي چې کمپیلر کولی شي د ژبې ځانګړتیاو سره مطابقت ولري لکه MISRA، سرلیک file، کوم چې په اتوماتيک ډول شامل دی ، تازه شوی دی. دا سرلیک د ټولو دننه جوړ شوي دندو لپاره پروټوټایپونه لري، لکه _buil tin _avrnop () او _buil tin_ avr delay_ cycles () . ځینې ​​جوړونه ممکن د MISRA مطابق نه وي؛ دا د کمپیلر کمانډ لاین ته د تعریف _Xe_ STRICT_ MISRA په اضافه کولو سره پریښودل کیدی شي. جوړ شوي او د دوی اعالنونه د ثابت چوکۍ ډولونو کارولو لپاره نوي شوي.

نسخه 2.20

د نوي وسیله ملاتړ د لاندې AVR برخو لپاره ملاتړ شتون لري: ATTINY1624، ATTINY1626، او ATTINY1627.

غوره غوره فټ تخصیص په کمپیلر کې غوره فټ تخصیص کونکی (BFA) ښه شوی ترڅو برخې په ترتیب سره تخصیص شي چې د غوره اصلاح کولو اجازه ورکوي. BFA اوس د نوم شوي پتې ځایونو ملاتړ کوي او د ډیټا پیل کولو غوره اداره کوي.

د طرزالعمل خلاصول ښه شوی د طرزالعمل خلاصون اصلاح اوس په نورو کوډ ترتیبونو کې ترسره کیږي. مخکیني حالتونه چیرې چې دا اصلاح ممکن د کوډ اندازه زیاته کړې وي د اصلاح کولو کوډ د لینکر د کثافاتو راټولولو پروسې څخه خبرتیا په واسطه حل شوي.

د AVR جمع کونکي نشتوالی د AVR جمع کونکی نور پدې توزیع کې شامل ندي.

نسخه 2.19 (فعال خوندیتوب خوشې کول)

هیڅ نه.

نسخه 2.10

د کوډ پوښښ پدې خپرونه کې د کوډ پوښښ ځانګړتیا شامله ده چې د پروژې د سرچینې کوډ تر کومې اندازې پورې د تحلیل لپاره اسانه کوي. د فعالولو لپاره -mcodecov=ram اختیار وکاروئ. ستاسو په هارډویر کې د برنامه اجرا کولو وروسته ، د کوډ پوښښ معلومات به په وسیله کې راټول شي ، او دا د MPLAB X IDE لخوا د کوډ پوښښ پلگ ان له لارې لیږدول کیدی شي او ښودل کیدی شي. د دې پلگ ان په اړه د معلوماتو ترلاسه کولو لپاره د IDE اسناد وګورئ. د #pragma mcodecov کیدای شي د پوښښ تحلیل څخه د راتلونکو دندو د ایستلو لپاره وکارول شي. په مثالي توګه پراګما باید د پیل په پیل کې اضافه شي file دا ټول خارج کول file د پوښښ تحلیل څخه. په بدیل سره، خاصیت ( (mcodecov) ) کیدای شي د پوښښ تحلیل څخه د ځانګړي فعالیت د ایستلو لپاره وکارول شي.

د وسیله توضیحات files یو نوی وسیله file د avr chipinfo په نوم یادیږي. html د کمپیلر توزیع د اسنادو لارښود کې موقعیت لري. دا file ټول هغه وسایل لیست کوي چې د کمپیلر لخوا ملاتړ کیږي. د وسیلې په نوم کلیک وکړئ ، او دا به یوه پا pageه پرانیزي چې د دې وسیلې لپاره ټول د منلو وړ ترتیب بټ ترتیب / ارزښت جوړه ښیې ، د پخواني سرهamples.

طرزالعمل خلاصون د طرزالعمل خلاصون اصلاحونه، کوم چې د اسمبلۍ کوډ عام بلاکونه د دې بلاک استخراج شوي کاپي ته د زنګونو سره ځای په ځای کوي، په کمپیلر کې اضافه شوي. دا د یو جلا غوښتنلیک لخوا ترسره کیږي، کوم چې په اتوماتيک ډول د تالیف کونکي لخوا غوښتنه کیږي کله چې د 2، 3 یا اصلاح کولو کچه غوره کوي. دا اصلاح کول د کوډ اندازه کموي، مګر دوی ممکن د اجرا سرعت او د کوډ ډیبګ وړتیا کم کړي.
د پروسیجر خلاصول د -mno-pa اختیار په کارولو سره د اصلاح کولو لوړې کچې کې غیر فعال کیدی شي ، یا د -mpa په کارولو سره په ټیټ اصلاح کچه (ستاسو د جواز تابع) کې فعال کیدی شي. دا د یو شی لپاره غیر فعال کیدی شي file د -mno-pa-on- په کارولو سرهfile=fileنوم، یا د فنکشن = فنکشن کې -mno-pa په کارولو سره د فعالیت لپاره غیر فعال شوی.
ستاسو د سرچینې کوډ دننه، طرزالعمل خلاصول د فنکشن تعریف سره د _attribute_ ( (nopa)) په کارولو سره، یا د _nopa په کارولو سره د فنکشن لپاره غیر فعال کیدی شي، کوم چې خاصیت ته پراختیا ورکوي ((nopa، noinline)) او پدې توګه د فعالیت انلاین کولو مخه نیسي. او د انلاین کوډ خلاصول شتون لري.
په پراګما کې د بټ ملاتړ لاک کړئ د #pragma ترتیب اوس د AVR لاک بټونو او همدارنګه د نورو ترتیب کولو بټونو مشخص کولو لپاره کارول کیدی شي. د avr چپ معلومات چیک کړئ. html file (پورته ذکر شوی) د دې پراګما سره د کارولو لپاره ترتیب / ارزښت جوړه لپاره.
د نوي وسیله ملاتړ ملاتړ د لاندې برخو لپاره شتون لري: AVR28DA128، AVR64DA128، AVR32DA128، او AVR48DA128.

نسخه 2.05

ستاسو د پیسو لپاره نور بټونه د دې کمپیلر او لایسنس مدیر macOS نسخه اوس د 64-bit غوښتنلیک دی. دا به ډاډ ترلاسه کړي چې کمپیلر به د macOS وروستي نسخو کې د خبرتیا پرته نصب او پرمخ وړي.
د پروګرام په حافظه کې Const څیزونه کمپیلر اوس کولی شي د پروګرام په فلش حافظه کې د کانسټ وړ شیان ځای په ځای کړي، د دې پرځای چې دا په RAM کې موقعیت ولري. تالیف کونکی بدل شوی ترڅو د ثابت وړ نړیوال ډیټا په برنامه فلش حافظه کې زیرمه شي او دا ډیټا په مستقیم او غیر مستقیم ډول د مناسب برنامې - حافظې لارښوونو په کارولو سره لاسرسی کیدی شي. دا نوې خصوصیت په ډیفالټ فعال شوی مګر د -mno-const-data-in-progmem اختیار په کارولو سره غیر فعال کیدی شي. د avrxmega3 او avrtiny جوړښتونو لپاره، دا فیچر ته اړتیا نشته او تل غیر فعال وي، ځکه چې د پروګرام حافظه د دې وسیلو لپاره د معلوماتو پته ځای کې نقشه شوې ده.
معیاري وړیا د دې کمپیلر غیر جواز لرونکي (وړیا) نسخې اوس د 2 درجې پورې او په شمول د اصلاح کولو اجازه ورکوي. دا به ورته ورته اجازه ورکړي، که څه هم ورته نه وي، هغه څه ته چې پخوا د معیاري جواز په کارولو سره ممکنه وه.
AVRASM2 ته ښه راغلاست د 2-bit وسیلو لپاره AVRASM8 جمع کونکی اوس د XC8 کمپیلر انسټالر کې شامل شوی. دا جمع کونکی د XC8 تالیف کونکي لخوا نه کارول کیږي ، مګر د لاسي لیکل شوي مجلس سرچینې پراساس د پروژو لپاره شتون لري.
د نوي وسیله ملاتړ ملاتړ د لاندې برخو لپاره شتون لري: ATMEGA1608، ATMEGA1609، ATMEGA808، او ATMEGA809.

نسخه 2.00

د لوړې کچې ډرایور یو نوی ډرایور چې د xc8-cc په نوم یادیږي، اوس د پخواني avr-gcc ډرایور او xc8 ډرایور څخه پورته ناست دی، او دا کولی شي د هدف وسیلې د انتخاب پراساس مناسب کمپیلر ته زنګ ووهي. دا ډرایور د GCC سټایل اختیارونه مني، کوم چې یا هم ژباړل شوي یا د اجرا شوي کمپیلر ته لیږدول کیږي. دا ډرایور د ورته سیمانټیکونو سره ورته ورته انتخابونو ته اجازه ورکوي چې د هر AVR یا PIC هدف سره وکارول شي او پدې توګه د کمپیلر غوښتنه کولو وړاندیز شوې لار ده. که اړتیا وي، زاړه avr-gcc ډرایور په مستقیم ډول د زاړه سټایل اختیارونو په کارولو سره ویل کیدی شي چې دا په پخوانیو کمپیلر نسخو کې منل شوي.

عام C انٹرفیس دا کمپیلر اوس کولی شي د MPLAB کامن C انٹرفیس سره مطابقت ولري ، د سرچینې کوډ ته اجازه ورکوي چې په ټولو MPLAB XC کمپیلرونو کې په اسانۍ سره پورټ شي. د -mext=cci اختیار د دې ځانګړتیا غوښتنه کوي، د ډیرو ژبو توسیعونو لپاره بدیل ترکیب فعالوي.

نوی کتابتون چلوونکی یو نوی کتابتون چلوونکی د پخوانی PIC کتابتون کتابتون او د AVR avr-ar کتابتون څخه پورته موقعیت لري. دا ډرایور د GCC-archiver-style اختیارونه مني، کوم چې یا یې ژباړل شوي یا کتابتون ته لیږدول کیږي چې اجرا کیږي. نوی ډرایور د ورته سیمانټیکونو سره ورته ورته انتخابونو ته اجازه ورکوي چې د PIC یا AVR کتابتون جوړولو یا سمبالولو لپاره وکارول شي. file او په دې توګه د کتابتون غوښتنه کولو وړاندیز شوی لاره ده. که د میراثي پروژو لپاره اړتیا وي، پخوانی کتابتون مستقیم د زاړه طرز انتخابونو په کارولو سره بلل کیدی شي چې دا په پخوانیو کمپیلر نسخو کې منل شوی.

د مهاجرت مسلې

لاندې هغه ځانګړتیاوې دي چې اوس د کمپیلر لخوا په مختلف ډول اداره کیږي. دا بدلونونه ممکن ستاسو د سرچینې کوډ کې تعدیل ته اړتیا ولري که چیرې دې کمپیلر نسخې ته کوډ پورټینګ کړي. په فرعي سرلیکونو کې د نسخې شمیره د لومړي تالیف کونکي نسخه په ګوته کوي ترڅو د تعقیب شوي بدلونونو ملاتړ وکړي.

نسخه 2.40

هیڅ نه.

نسخه 2.39 (فعال خوندیتوب خوشې کول)

هیڅ نه.

نسخه 2.36

هیڅ نه.

نسخه 2.35

د تار څخه د اډو اداره کول (XCS-2420) د نورو XC تالیف کونکو سره د دوام ډاډ ترلاسه کولو لپاره ، د XC8 سټرینګ ته فنکشنونه لکه strtol () etc. به نور هڅه ونکړي چې د ان پټ سټینګ بدل کړي که چیرې ټاکل شوې اساس له 36 څخه لوی وي او پرځای به یې EINVAL ته غلطی تنظیم کړي. د C معیار د دندو چلند نه مشخص کوي کله چې دا اساس ارزښت ډیر شي.

نامناسب سرعت اصلاح کول د طرزالعمل خلاصون اصلاح کول فعال شوي و کله چې د 3 کچه غوره کول (-03). دا اصلاح کول د کوډ سرعت په لګښت د کوډ اندازه کموي، نو باید ترسره شوي نه وي. هغه پروژې چې د دې اصلاح کولو کچه کاروي ممکن د کوډ اندازې او اجرا کولو سرعت کې توپیرونه وګوري کله چې د دې خوشې کیدو سره جوړ شي.

د کتابتون فعالیت د ډیری معیاري C کتابتون دندو لپاره کوډ اوس د مایکروچپ متحد معیاري کتابتون څخه راځي، کوم چې ممکن په ځینو شرایطو کې د پخواني avr-libc کتابتون لخوا چمتو شوي په پرتله مختلف چلند ښکاره کړي. د مثال لپارهampل، دا نور اړین ندي چې د lprintf_flt کتابتون (-print _flt اختیار) کې لینک کړئ ترڅو د فلوټ فارمیټ مشخص کونکو لپاره فارمیټ شوي IO ملاتړ فعال کړئ. د مایکروچپ متحد معیاري کتابتون سمارټ IO ځانګړتیاوې دا اختیار بې ځایه کوي. برسېره پردې، د تار او حافظې د کارونو لپاره د _p ضمیمه شوي معمولونو کارول (لکه strcpy_P () etc.. معیاري C معمولونه (د مثال په توګه strcpy ()) به د داسې ډیټا سره سم کار وکړي کله چې د کانسټ ډیټا-ان-پروګرام-میموري فیچر فعال شي.

نسخه 2.32

هیڅ نه.

نسخه 2.31

هیڅ نه.

نسخه 2.30

هیڅ نه.

نسخه 2.29 (فعال خوندیتوب خوشې کول)

هیڅ نه.

نسخه 2.20

د DFP ترتیب بدل شوی تالیف کونکی اوس یو مختلف ترتیب په غاړه اخلي چې د DFPs (د وسیلې کورنۍ کڅوړې) لخوا کارول کیږي. دا به پدې معنی وي چې یو زوړ DFP ممکن د دې خوشې کیدو سره کار ونکړي ، او زاړه تالیف کونکي به ونه شي کولی وروستي DFPs وکاروي.

نسخه 2.19 (فعال خوندیتوب خوشې کول)

هیڅ نه.

نسخه 2.10

هیڅ نه

نسخه 2.05

د پروګرام په حافظه کې Const توکي په یاد ولرئ چې د ډیفالټ لخوا، د کنسټ-کفایت لرونکي توکي به د پروګرام په حافظه کې ځای پر ځای شي او لاسرسی ومومي (لکه څنګه چې دلته تشریح شوي). دا به ستاسو د پروژې اندازه او اجرا کولو سرعت اغیزه وکړي، مګر باید د RAM کارول کم کړي. دا فیچر غیر فعال کیدی شي، که اړتیا وي، د -mnoconst-da-ta-in-progmem اختیار په کارولو سره.

نسخه 2.00

ترتیب فیوزونه د وسیلې کنفیګریشن فیوز اوس کولی شي د کنفیګ پراګما په کارولو سره برنامه شي او د فیوز حالت مشخص کولو لپاره د ترتیب ارزښت جوړه تعقیب کړي ، د مثال په توګه
#pragma ترتیب WDT0N = SET
#pragma ترتیب B0DLEVEL = B0DLEVEL_4V3
مطلق شیان او افعال شیان او افعال اوس د CCI _at (address) مشخص کونکي په کارولو سره په حافظه کې په ځانګړي پته کې کیښودل کیدی شي ، د مثال لپارهample: #شامل int foobar at(Ox800100); char at(Ox250) get ID(int offset) { … } د دې مشخص کونکي دلیل باید یو ثابت وي چې د پتې استازیتوب کوي په کوم کې چې لومړی بایټ یا لارښوونې به ځای په ځای شي. د RAM پتې د 0x800000 د آف سیٹ په کارولو سره ښودل شوي. د دې خصوصیت کارولو لپاره CCI فعال کړئ.
نوی مداخله فنکشن ترکیب تالیف کونکی اوس د CCI مداخله (num) مشخص کوونکی مني ترڅو دا په ګوته کړي چې د C افعال مداخله کونکي دي. مشخص کونکی د مداخلې شمیره اخلي، د مثال لپارهample: #شامل باطل مداخله(SPI STC_ vect _num) spi Isr(void) { … }

ثابتې مسلې

لاندې اصالحات دي چې په کمپیلر کې شوي دي. دا ممکن په تولید شوي کوډ کې بګونه حل کړي یا د کمپیلر عملیات هغه ته بدل کړي کوم چې د کارونکي لارښود لخوا ټاکل شوي یا مشخص شوي. په فرعي سرلیکونو کې د نسخې شمیره د لومړي تالیف کونکي نسخه په ګوته کوي ترڅو د تعقیب مسلو لپاره اصلاحات ولري. په سرلیک کې بریکٹ شوي لیبل د تعقیب ډیټابیس کې د مسلې پیژندنه ده. دا ممکن ګټور وي که تاسو اړتیا لرئ د مرستې سره اړیکه ونیسئ.

په یاد ولرئ چې د وسیلې ځینې ځانګړي مسلې د وسیلې سره تړلي د وسیلې کورنۍ پیک (DFP) کې سم شوي. د DFPs کې د بدلونونو او وروستي کڅوړو ډاونلوډ کولو لپاره د معلوماتو لپاره د MPLAB پیک مدیر وګورئ.

نسخه 2.40

ډیر آرام (XCS-2876) کله چې د -mrelax اختیار په کارولو سره، تالیف کونکي ځینې برخې یوځای نه کړي، په پایله کې د کم غوره کوډ اندازې. دا ممکن د کوډ سره پیښ شوي وي چې د نوي MUSL کتابتونونو یا ضعیف سمبولونو سره کارول شوي وي.
د نقشې کولو ځانګړتیا لکه څنګه چې په خبرتیا کې ویل شوي غیر فعال ندي (XCS-2875) د لګښت-ډاټا-ان-کنففنګ نقشه شوي پروګم خصوصیت د لګښت-ډاټا-ان-پروم خصوصیت فعال کیدو پورې اړه لري. که چیرې د لګښت-ډاټا-ipconfig-mapped-proem خصوصیت په واضح ډول د اختیار په کارولو سره فعال شوی و او د لګښت-ډاټا-انپروګم خصوصیت غیر فعال شوی و ، د لینک مرحله ناکامه شوه ، سره له دې چې د خبرتیا پیغام په ګوته کوي چې د ډیټا-in-config-mapped- د proem فیچر په اوتومات ډول غیر فعال شوی و، کوم چې په بشپړ ډول سم نه و. د const-data-in-config-mapped-proem فیچر اوس په دې حالت کې په بشپړه توګه غیر فعال شوی دی.
د NVMCTRL (XCS-2848) په سمه توګه لاسرسي لپاره DFP بدلونونه د AVR64EA وسیلو لخوا کارول شوي د چلولو وخت پیل کولو کوډ په پام کې نه و نیولی چې د NVMCTRL راجستر د تنظیم کولو بدلون محافظت (CCP) لاندې و او د دې توان نه درلود چې IO SFR هغه پاڼې ته تنظیم کړي چې د Const-data-in configmapped-proem کمپیلر لخوا کارول کیږي. ځانګړتیا. د AVR-Ex_DFP نسخه 2.2.55 کې شوي بدلونونه به د چلولو وخت پیل کولو کوډ ته اجازه ورکړي چې دې راجستر ته په سمه توګه ولیکي.
د فلش نقشه کولو څخه مخنیوي لپاره DFP بدلونونه (XCS-2847) په AVR128DA28/32/48/64 سیلیکون ایرراټا (DS80000882) کې راپور شوي د فلش نقشې کولو وسیلې ځانګړتیا سره د ستونزې لپاره د کار شاوخوا کار پلي شوی. د Const-data-in-config-mapped-proem کمپیلر ځانګړتیا به د اغیزمنو وسیلو لپاره د ډیفالټ لخوا نه پلي کیږي، او دا بدلون به په AVR-Ex_DFP نسخه 2.2.160 کې څرګند شي.
د sinhf یا coshf (XCS-2834) سره غلطي رامینځته کړئ د sinhf () یا coshf () د کتابتون د کارونو د کارولو هڅې د لینک تېروتنې په پایله کې، د یوې نا تعریف شوي حوالې تشریح کول. راجع شوی ورک شوی فعالیت اوس د کمپیلر توزیع کې شامل شوی.
د نوپا (XCS-2833) سره د غلطیو جوړول د nopa خاصیت د داسې فنکشن سره کارول چې د دې راټولونکي نوم یې د () په کارولو سره مشخص کړی د راټولونکي څخه د خطا پیغامونه رامینځته کړي. دا ترکیب ممکن نه دی.
د پوائنټر دلیلونو سره د مختلف فعالیت ناکامي (XCS-2755, XCS-2731) د متغیر شمیر دلیلونو سره دندې تمه لري چې د 24-bit (_memo ډول) پوائنټرونه د متغیر دلیل لیست کې تیر شي کله چې د لګښت ډیټا-ان-پرویم فیچر فعال شي. هغه دلیلونه چې د ډیټا حافظې ته اشاره کوي د 16-bit شیانو په توګه تیریدل ، د کوډ ناکامۍ لامل کیږي کله چې دوی په نهایت کې لوستل شوي. کله چې د Cons data-in-proem فیچر فعال شي، ټول 16-bit پوینټر دلیلونه اوس په 24-bit پوینټرونو بدل شوي. د strtoxxx کتابتون فعالیت ناکامي (XCS-2620) کله چې د const-data-in-proem فیچر فعال شو، د strtoxxx کتابتون افعال کې د ننوتلو پیرامیټر په سمه توګه نه و تازه شوی د سرچینې تار دلیلونو لپاره چې د پروګرام په حافظه کې ندي.
د ناسمو کاسټونو لپاره خبرتیاوې (XCS-2612) تالیف کونکی به اوس یوه تېروتنه خپره کړي که چیرې د لګښت-ان-پرویم فیچر فعال شوی وي او د سټینګ لیک پته په ښکاره ډول د ډیټا پته ځای ته اچول کیږي (د کانسټ کوالیفایر پریښودل) ، د مثال لپارهample، (uint8 t *) "سلام نړۍ!". یو خبرتیا مسله ده که چیرې پته غلطه وي کله چې د کانسټ ډیټا پوائنټر په واضح ډول د ډیټا پته ځای ته کاسټ شي.
د غیر پیل شوي کانسټیټ څیزونو ځای په ځای کول (XCS-2408) غیر پیل شوي کانسټ او کانسټ v اولاټیل توکي د برنامه حافظې کې په وسیلو کې ندي ځای پرځای شوي چې د دوی د برنامې حافظې ټولې یا د ډیټا پته ځای کې نقشه کوي. د دې وسایلو لپاره، دا ډول توکي اوس د پروګرام په حافظه کې ځای پر ځای شوي، د دوی عملیات د نورو وسیلو سره مطابقت لري.

نسخه 2.39 (فعال خوندیتوب خوشې کول)

هیڅ نه.

نسخه 2.36

د ځنډولو په وخت کې تېروتنه (XCS-2774) په ډیفالټ وړیا موډ اصلاح کې کوچني بدلونونه د ځنډ رامینځته شوي فنکشنونو ته د عملیاتي بیانونو دوامداره فولډ کولو مخه نیسي ، چې په پایله کې یې د غیر تماس په توګه چلند کیږي او د غلطۍ لامل کیږي: _buil tin avr delay_ cycles تمه لري ac oppile د وخت عدد ثابت.

نسخه 2.35

د _at (XCS-2653) په کارولو سره پرله پسې تخصیص په یوه برخه کې د ورته نوم سره د څو شیانو ځای پرځای کول او د () په کارولو سره سم کار نه کوي. د مثال لپارهample: constchararrl [ ] at tri Butte ((sect on(".misses"))) په (Ox50 0 ) = {Oxo , Ox CD} ; لګښت char arr2[ ] at tri Butte ((برخه(".my s eke"))) = {Oxen, Ox FE}; باید arr2 سمدلاسه د aril وروسته ځای په ځای کړي.
د برخې د پیل پته مشخص کول (XCS-2650) د -Wal، -section-start اختیار په خاموشۍ سره د نومول شوي پیل پته کې د برخو په ځای کولو کې پاتې راغلی. دا مسله د هر ډول دودیز نوم شوي برخې لپاره ټاکل شوې ده؛ په هرصورت، دا به د کوم معیاري برخو لپاره کار ونکړي، لکه . متن یا . bss، کوم چې باید د -Wl، -T اختیار په کارولو سره ځای په ځای شي.
لینکر ټکر کوي کله چې آرام کوي (XCS-2647) کله چې د آرامۍ اصلاح فعاله شوه او د کوډ یا ډیټا برخې شتون درلود چې په موجود حافظه کې مناسب نه و ، لینکر خراب شو. اوس ، په داسې حالت کې ، د غلطۍ پیغامونه پرځای خپاره شوي.
خراب EEPROM لاسرسی (XCS-2629) د لیپروما _read_ بلاک روټین په میګا وسیلو کې سم کار نه کاوه کله چې د -monist-data-in-proem اختیار فعال شوی و (کوم چې ډیفالټ حالت دی) ، په پایله کې د EEPROM حافظه په سمه توګه نه لوستل کیږي.
د حافظې ناسم تخصیص (XCS-2593, XCS-2651) کله چې -Text یا -Tata لینکر اختیار (د مثال لپارهample د -Wl ډرایور اختیار په کارولو سره تیر شوی) مشخص شوی ، د اړوند متن / ډیټا سیمه اصل تازه شوی؛ په هرصورت، د پای پته د دې مطابق نه وه تنظیم شوې، کوم چې کیدای شي سیمه د هدف آله د حافظې رینج څخه زیاته کړي.
ناسم ATtiny مداخله کوډ (XCS-2465) کله چې د تاټین وسیلو لپاره جوړول او اصلاح کول غیر فعال شوي (-00) ، د مداخلې افعال ممکن د رینج راټولونکي پیغامونو څخه بهر عملیات پیل کړي.
اختیارونه نه تیریږي (XCS-2452) کله چې د -Wl انتخاب د ډیری، کوما سره جلا شوي لینکر اختیارونو سره کاروئ، د لینکر ټول اختیارونه لینکر ته نه لیږدول شوي.
په غیر مستقیم ډول د پروګرام حافظه لوستلو تېروتنه (XCS-2450) په ځینو مواردو کې، تالیف کونکي داخلي تېروتنه (د نه پیژندلو وړ insn) رامینځته کړې کله چې د پوائنټر څخه د برنامې حافظې ته د دوه بایټ ارزښت لوستل.

نسخه 2.32

د کتابتون دوهم لاسرسی ناکام شو (XCS-2381) د xc8-ar وینډوز نسخه غوښتنه کول. د موجوده کتابتون آرشیف ته د لاسرسي لپاره د exe کتابتون آرشیور دوهم ځل ممکن د غلطۍ پیغام نوم بدلولو کې پاتې راغلی وي.

نسخه 2.31

د نه تشریح شوي کمپیلر ناکامي (XCS-2367) کله چې په وینډوز پلیټ فارمونو کې چلول چې د سیسټم لنډمهاله لارښود یې یوې لارې ته ټاکلی و چې په کې یوه نقطه شامله وه.' کرکټر، کمپیلر ممکن په اجرا کولو کې پاتې راغلی وي.

نسخه 2.30

نړیوال لیبلونه د خاکه کولو وروسته غلط شوي (XCS-2299) د لاسي لیکل شوي اسمبلۍ کوډ چې نړیوال لیبلونه د مجلس په ترتیبونو کې ځای په ځای کوي چې د طرزالعمل خلاصون لخوا رامینځته شوي ممکن په سمه توګه ځای په ځای شوي نه وي.
یو آرامه حادثه (XCS-2287) د -merlad اختیار کارول ممکن د لینکر د خرابیدو لامل شوي وي کله چې د tail جمپ آرامۍ اصلاح کولو هڅه کوله د ret لارښوونې لرې کړي چې د یوې برخې په پای کې نه وې.
حادثه کله چې لیبل د ارزښتونو په توګه غوره کول (XCS-2282) کوډ د "ارزښتونو په توګه لیبلونه" کارول د GNU C ژبې توسیع ممکن د طرزالعمل خلاصون اصلاحونه د خرابیدو لامل شوي وي ، د VMA رینج سپان فکس اپ غلطی سره.
دومره نه ده (XCS-2271) د پیل لپاره پروټوټایپونه () او د نورو دندو څخه کله چې د -monist-data inprogmem خصوصیت غیر فعال شوی وي بیرته راستانه شوي سټینګ پوائنټرونو کې نور غیر معیاري لګښت کوالیفایر نه مشخص کړئ. په یاد ولرئ چې د avrxmega3 او avertin وسیلو سره، دا ځانګړتیا د تل لپاره فعاله ده.
ورک شوي ابتکارونه (XCS-2269) کله چې د ژباړې په واحد کې له یو څخه ډیر متغیرونه په یوه برخه کې ځای په ځای شوي وي (د برخې یا خاصیت ((برخه)) په کارولو سره)، او لومړی دا ډول متغیر صفر ابتکار شوی و یا ابتکار نه درلود ، د ورته ژباړې واحد کې د نورو متغیرونو لپاره ابتکار کونکي هغه چې په ورته برخه کې ځای پرځای شوي وو ورک شوي.

نسخه 2.29 (فعال خوندیتوب خوشې کول)

هیڅ نه.

نسخه 2.20

د اوږد حکمونو سره تېروتنه (XCS-1983) کله چې د AVR هدف وکاروئ ، کمپیلر ممکن د a سره بند شوی وي file تېروتنه ونه موندل شوه، که د کمانډ لاین خورا لوی و او ځانګړي حروف ولري لکه نرخونه، بیک سلیشونه، او نور.
د روډاټا نه ټاکل شوې برخه (XCS-1920) د AVR لینکر د دودیز روډاټا برخو لپاره د حافظې په ټاکلو کې پاتې راغلی کله چې د avrxmega3 او avrtiny آرکیټیکچرونو لپاره رامینځته کول ، په احتمالي توګه د حافظې اوورلیپ غلطۍ تولیدوي

نسخه 2.19 (فعال خوندیتوب خوشې کول)

هیڅ نه.

نسخه 2.10

د ځای په ځای کولو ناکامي (XCS-1891) غوره فټ تخصیص کونکی د لینکر آرامۍ وروسته د برخو په مینځ کې د حافظې 'سوري' پریږدي. د حافظې د ټوټې کیدو سربیره ، دې د کمپیوټر اړوند کودونو یا تلیفونونو له حد څخه بهر کیدو پورې اړوند د لینکر ځای په ځای کولو ناکامۍ احتمال ډیر کړی.
لارښوونې د آرامۍ په واسطه نه بدلیږي (XCS-1889) د لینکر آرامۍ د کود یا زنګ لارښوونو لپاره ندي رامینځته شوي چې هدفونه یې د لاسرسي په صورت کې د آرامۍ وړ وي.
ورک شوی فعالیت (XCSE-388) څخه څو تعریفونه ، لکه clock_ div_t او clock_prescale_set () د وسیلو لپاره ندي تعریف شوي ، پشمول د ATmega324PB، ATmega328PB، ATtiny441، او ATtiny841.
ورک شوي میکرو د پری پروسیسر میکروس_ xcs _MODE_، _xcs VERSION، _xc، او xcs د کمپیلر لخوا په اوتومات ډول ندي تعریف شوي. دا اوس شتون لري.

نسخه 2.05

داخلي تالیف کونکي تېروتنه (XCS-1822) کله چې د وینډوز لاندې جوړیږي، د کوډ اصلاح کولو په وخت کې د داخلي کمپیلر تېروتنه ممکن تولید شوې وي.
د RAM اوور فلو ندی کشف شوی (XCS-1800, XCS-1796) هغه پروګرامونه چې د شته RAM څخه ډیر شوي په ځینو حاالتو کې د کمپیلر لخوا ندي موندل شوي، چې په پایله کې یې د چلولو کوډ ناکامي رامنځته کیږي.
ورک شوی فلش حافظه (XCS-1792) د avrxmega3 او avrtiny وسیلو لپاره، د فلش حافظې برخې ممکن د MPLAB X IDE لخوا غیر پروګرام شوي پاتې شوي وي.
د اصلي اجرا کولو کې پاتې راتلل (XCS-1788) په ځینو حاالتو کې چیرې چې برنامه هیڅ نړیوال تغیرات ندي تعریف شوي ، د چلولو وخت پیل کولو کوډ نه و وتلی او اصلي () فنکشن ته هیڅکله نه و رسیدلی.
د حافظې ناسم معلومات (XCS-1787) د avrxmega3 او avrtiny وسیلو لپاره، د avr-size برنامه راپور ورکوي چې یوازې د لوستلو ډیټا د برنامې حافظې پرځای رام مصرفوي.
د پروګرام غلط حافظه لوستل (XCS-1783) هغه پروژې چې د برنامه حافظې سره د وسیلو لپاره ترکیب شوي د ډیټا پته ځای کې نقشه شوي او دا چې د PROGMEM میکرو/خصوصیت په کارولو سره شیان تعریفوي ممکن دا توکي له غلط ادرس څخه لوستل شوي وي.
د صفاتو سره داخلي تېروتنه (XCS-1773) داخلي تېروتنه رامنځ ته شوه که تاسو د پوائنټر څیزونه د سره تعریف کړئ
_at () یا attribute() ټوکن د پوائنټر نوم او بې ځایه شوي ډول تر منځ، د مثال لپارهampلی، چار*
_at ( 0x80015 0) cp; یو خبرداری اوس خپور شوی که چیرې داسې کوډ ورسره مخ شي.
د اصلي اجرا کولو کې پاتې راتلل (XCS-1780, XCS-1767, XCS-1754) د EEPROM متغیرونو کارول یا د کنفنګ پراګما په کارولو سره د فیوز تعریف کول ممکن د غلط معلوماتو پیل کولو او/یا د رن ټایم سټارټ اپ کوډ کې د برنامه اجرا کول بند کړي ، مخکې له دې چې اصلي () ته ورسیږي.
د وړو وسیلو سره د فیوز تېروتنه (XCS-1778, XCS-1742) attiny4/5/9/10/20/40 وسیلو د فیوز ناسم اوږدوالی درلود چې په سر کې مشخص شوی files چې د لینکر غلطیو لامل کیږي کله چې د کوډ جوړولو هڅه کوي چې فیوز تعریف کړي.
د قطع کولو غلطی (XCS-1777) د وقفې وقفې تېروتنه سمه شوې ده.
د اسمبلر حادثه (XCS-1761) د avr-as جمع کونکی ممکن هغه وخت ټکر شوی وي کله چې کمپیلر د اوبنټو 18 لاندې چلول شوی و.
توکي نه دي پاک شوي (XCS-1752) غیر پیل شوي جامد ذخیره کولو مودې توکي ممکن د چلولو وخت پیل کولو کوډ لخوا پاک شوي نه وي.
د متضاد وسیلې مشخصات له پامه غورځول شوي (XCS-1749) تالیف کونکی غلطي نه رامینځته کوي کله چې د وسیلې ډیری توضیحي اختیارونه کارول شوي او مختلف وسیلې یې په ګوته کړي.
د حافظې فساد (XCS-1748) د هپ_ پیل سمبول په غلط ډول ترتیب شوی و، چې په پایله کې د عام متغیرونو احتمال د هپ لخوا فاسد شوی و.
د لینکر د ځای په ځای کولو تېروتنه (XCS-1739) د لینکر د ځای پرځای کولو تېروتنه ممکن هغه وخت راپورته شوې وي کله چې کوډ کې rjmp یا rcal د هدف سره دقیقا 4k بایټ لرې وي.

نسخه 2.00

هیڅ نه.

پیژندل شوي مسایل

لاندې د کمپیلر په عملیاتو کې محدودیتونه دي. دا ممکن د کوډ کولو عمومي محدودیتونه وي، یا
د کارونکي لارښود کې موجود معلوماتو څخه انحراف. په سرلیک کې بریکٹ شوي لیبل د تعقیب ډیټابیس کې د مسلې پیژندنه ده. دا ممکن ګټور وي که تاسو اړتیا لرئ د مرستې سره اړیکه ونیسئ. هغه توکي چې لیبلونه نلري محدودیتونه دي چې د موډ عملیاتي تشریح کوي او احتمال لري چې د تل لپاره اغیزمن پاتې شي.

د MPLAB X IDE ادغام

د MPLAB IDE ادغام که کمپیلر د MPLAB IDE څخه وکارول شي ، نو تاسو باید د کمپیلر نصبولو دمخه MPLAB IDE نصب کړئ.

د کوډ تولید

د PA حافظې تخصیص ناکامي (XCS-2881) کله چې د طرزالعمل خلاصون اصلاح کونکي کاروئ ، لینکر ممکن د حافظې تخصیص غلطی راپور کړي کله چې د کوډ اندازه په وسیله کې د موجود برنامې حافظې مقدار ته نږدې وي ، پداسې حال کې چې برنامه باید د دې وړ وي چې شتون ولري.
دومره هوښیار ندی Smart-IO (XCS-2872) د کمپیلر سمارټ-io فیچر به د سپرینټ فنکشن لپاره معتبر مګر فرعي غوره کوډ رامینځته کړي که چیرې د ساحل ډیټا ان پرویم فیچر غیر فعال شوی وي یا که وسیله خپل ټول فلش د ډیټا حافظې کې نقشه کړي وي.
حتی لږ سمارټ Smart-IO (XCS-2869) د کمپیلر د سمارټ-io ځانګړتیا به د اعتبار وړ مګر suboptimal کوډ رامینځته کړي کله چې -floe او -fno-buil tin اختیارونه دواړه کارول کیږي.
د سبو غوره یوازې لوستلو ډاټا ځای په ځای کول (XCS-2849) لینکر اوس مهال د APPCODE او APPDATA حافظې برخو څخه خبر نه دی، او نه هم د حافظې په نقشه کې د [نه-]د لوستلو په وخت کې د لیکلو ویش. د پایلې په توګه، لږ چانس شتون لري چې لینکر ممکن د حافظې په نا مناسبه سیمه کې یوازې د لوستلو ډاټا تخصیص کړي. د غلط ځای پرځای شوي ډیټا چانس ډیریږي که چیرې د ساحل - ډیټا - ان - پراګما فیچر فعال شي ، په ځانګړي توګه که د ساحل - ډیټا - ان - نقشه شوي - پرویم فیچر هم فعال شوی وي. دا ځانګړتیاوې د اړتیا په صورت کې غیر فعال کیدی شي.
اعتراض file د پروسس امر (XCS-2863) هغه ترتیب په کوم کې چې توکي files به د لینکر لخوا پروسس شي ممکن د طرزالعمل خلاصون اصلاح کولو (-mpa اختیار) کارولو پراساس توپیر ولري. دا به یوازې په کوډ اغیزه وکړي کوم چې په ډیری ماډلونو کې ضعیف افعال تعریفوي.
د مطلق (XCS-2777) سره د لینک کولو تېروتنه کله چې یو شی د RAM په پیل کې په یوه پته کې مطلق جوړ شوی وي او غیر پیل شوي توکي هم تعریف شوي وي، د لینکر تېروتنه ممکن پیل شي.
د لنډ بیدارۍ IDs (XCS-2775) د ATA5700/2 وسیلو لپاره، د PHID0/1 راجسترونه یوازې د 16 بټ پراخه په توګه تعریف شوي، نه د 32 بټ پراخه.
د زنګ وهلو سمبول (XCS-2758) پر مهال د لینکر حادثه لینکر ممکن خراب شي که چیرې د -merlad ډرایور اختیار وکارول شي کله چې د سرچینې کوډ یو سمبول ته زنګ ووهي چې د -Wl، -defsym لینکر اختیار په کارولو سره تعریف شوی.
ناسم ابتکار (XCS-2679) دلته توپیر شتون لري چیرې چې د ځینې نړیوال / جامد بایټ اندازې شیانو لپاره لومړني ارزښتونه د ډیټا حافظه کې ځای په ځای شوي او چیرې چې تغیرات به د چلولو په وخت کې لاسرسی ومومي.
په غلط ډول پیل شوی خالي سیټونه (XCS-2652) په داسې مثالونو کې چې د بیان شوي () لخوا د تبادلې لپاره د موضوع سټرینګ کې هغه څه شامل دي چې د توزیع شوي ب formatه کې د تیر ټکي شمیره ښکاري او د e کرکټر وروسته غیر متوقع کرکټر شتون لري ، نو خالي پته ، که چمتو شي ، وروسته به کرکټر ته اشاره وکړي. e او نه e پخپله. د مثال لپارهample: بیان شوی ("hooey"، خالي)؛ په پایله کې به د x کرکټر ته د خالي اشاره وکړي.
خراب غیر مستقیم فعالیت زنګونه (XCS-2628) په ځینو مواردو کې، د فنکشن زنګونه د فنکشن پوائنټر له لارې رامینځته شوي چې د جوړښت برخې په توګه زیرمه شوي ممکن ناکام شي.
strtof د هیکساډیسیمل فلوټس لپاره صفر راګرځوي (XCS-2626) د کتابتون افعال strtof () et al او scanf () et al، به تل د هیکساډیسیمل فلوټینګ پوائنټ شمیره بدلوي چې د دې لپاره یو exponent نه مشخص کوي
صفر. د مثال لپارهample: stator ("الو"، & خالي)؛ ارزښت به 0 بیرته راولي، نه 1.
ناسم سټیک مشاور پیغام رسول (XCS-2542, XCS-2541) په ځینو مواردو کې، د استعمال شوي تکرار یا نامعلوم سټیک په اړه د سټیک مشاور خبرداری (احتمالا د alloca()) کارولو له لارې نه خپریږي.
د نقل مداخلې کوډ سره ناکامي (XCS-2421) چیرې چې له یو څخه ډیر مداخلې فعالیت ورته بدن لري ، کمپیلر ممکن د یو مداخلې فنکشن لپاره محصول ولري بل ته زنګ ووهي. دا به په پایله کې ټول د کال-کلوبر شوي راجسترونه په غیر ضروري توګه خوندي شي، او مداخلې به حتی مخکې له دې چې د اوسني مداخلې هینډلر ایپیلوګ پیل شي فعال شي، کوم چې د کوډ ناکامۍ لامل کیدی شي.
Const څیزونه چې د پروګرام په حافظه کې ندي (XCS-2408) د avrxmega3 او avertins پروژو لپاره غیر ارادي شوي کانسټ توکي د ډیټا حافظې کې ځای په ځای شوي ، که څه هم یو خبرداری وړاندیز کوي چې دوی د برنامې حافظه کې ځای په ځای شوي. دا به په هغه وسایلو اغیزه ونکړي چې د ډیټا حافظې ځای کې د برنامه حافظه نقشه نلري ، او نه به دا په کوم شی اغیزه وکړي چې پیل شوی وي.
د ناسم DFP لارې سره خراب محصول (XCS-2376) که تالیف کونکی د غلط DFP لارې او یو 'شخص' سره وغوښتل شي file د ټاکل شوي وسیلې لپاره شتون لري ، تالیف کونکی د ورک شوي وسیلې کورنۍ کڅوړه راپور نه ورکوي او پرځای یې 'شخص' غوره کوي file، کوم چې بیا د ناسم محصول لامل کیدی شي. 'ځانګړنه' files ممکن د توزیع شوي DFPs سره تازه نه وي او یوازې د داخلي کمپیلر ازموینې سره د کارولو لپاره و.
د حافظې اوورلیپ نه موندل شوی (XCS-1966) تالیف کونکی د هغه شیانو د حافظې اوورلیپ نه کشف کوي چې په پته کې مطلق رامینځته شوي (د () له لارې) او نور توکي د برخې () مشخص کونکي په کارولو سره او دا په ورته پته پورې تړلي دي.
د کتابتون د کارونو او _meme (XCS-1763) سره ناکامي د _memo پته ځای کې د دلیل سره د لیمبیک فلوټ فنکشن ویل کیدی شي ناکام شي. په یاد ولرئ چې د کتابتون معمولونه د ځینې C آپریټرانو څخه ویل کیږي، نو د مثال لپارهample، لاندې کوډ اغیزمن شوی دی: بیرته راګرځئ regFloatVar > memxFloatVar؛
د محدود لیمبیک تطبیق (AVRTC-731) د ATTiny4/5/9/10/20/40 محصولاتو لپاره، په لیمبیک کې د معیاري C / ریاضي کتابتون پلي کول خورا محدود یا شتون نلري.
د پروګرام د حافظې محدودیتونه (AVRTC-732) د 128 kb څخه هاخوا د برنامې حافظې عکسونه د اوزار چین لخوا ملاتړ کیږي؛ په هرصورت، د لینکر د بندیدو پیژندل شوي مثالونه شتون لري پرته له آرامۍ او پرته له کوم ګټور خطا پیغام پرته د اړتیا وړ فنکشن سټبونو رامینځته کولو پرځای کله چې د -relax اختیار کارول کیږي.
د نوم ځای محدودیتونه (AVRTC-733) نومول شوي پته ځایونه د وسیلې چین لخوا ملاتړ کیږي ، د کارونکي لارښود برخه کې د ځانګړي ډول کوالیفایرونو کې ذکر شوي محدودیتونو تابع دي.
د وخت زونونه د د کتابتون فعالیتونه GMT فرض کوي او د ځایی وخت زونونو ملاتړ نه کوي، په دې توګه محلي وخت () به د ګومیټ () په څیر ورته وخت بیرته راشيample.

د پیرودونکي ملاتړ

file:///Applications/microehip/xc8/v 2 .40/docs/Read me_X C 8_ د A VR لپاره. htm

اسناد / سرچینې

مایکروچپ MPLAB XC8 C کمپیلر سافټویر [pdf] د مالک لارښود
MPLAB XC8 C، MPLAB XC8 C کمپیلر سافټویر، کمپیلر سافټویر، سافټویر

حوالې

یو نظر پریږدئ

ستاسو بریښنالیک پته به خپره نشي. اړین ساحې په نښه شوي *