MPLAB® XC8 C کمپیلر نسخه 2.41 د AVR® MCU لپاره د ریلیز یادښتونه
د مالک لارښود
MPLAB XC8 C کمپیلر پرمختیا سافټویر
دا سند د MPLAB XC8 C کمپیلر پورې اړوند مهم معلومات لري کله چې د مایکروچیپ AVR وسیلې په نښه کوي.
مهرباني وکړئ د دې سافټویر چلولو دمخه یې ولولئ. که تاسو د 8-bit PIC وسیلو لپاره کمپیلر کاروئ نو د عکس سند لپاره د MPLAB XC8 C کمپیلر ریلیز نوټونه وګورئ.
اوورview
1.1. پیژندنه
د مایکروچپ MPLAB® XC8 C کمپیلر دا خوشې کول ډیری نوي ځانګړتیاوې او بګ فکسونه لري.
1.2. د جوړیدو نیټه
د دې کمپیلر نسخې رسمي جوړیدو نیټه د 8 فبروري 2023 ده.
1.3. مخکینی نسخه
پخوانی MPLAB XC8 C کمپیلر نسخه 2.40 وه چې په 3 جولای 2022 کې جوړه شوې وه.
1.4. د فعالیت خوندیتوب لارښود
د MPLAB XC تالیف کونکو لپاره د فعالیت خوندیتوب لارښود د اسنادو کڅوړه کې شتون لري کله چې تاسو د فعال خوندیتوب جواز پیرود کوئ.
1.5. د اجزاو جوازونه او نسخې
د AVR MCUs وسیلو لپاره MPLAB XC8 C کمپیلر د GNU عمومي عامه جواز (GPL) لاندې لیکل شوي او توزیع شوي چې پدې معنی چې د دې سرچینې کوډ په وړیا توګه توزیع شوی او خلکو ته شتون لري.
د GNU GPL لاندې وسیلو لپاره د سرچینې کوډ ممکن د مایکروچپ څخه جلا ډاونلوډ شي webسایټ تاسو کولی شئ د GNU GPL په نوم فایل کې ولولئ چې ستاسو د انسټال جواز.txt avr/doc لارښود فرعي لارښود موقعیت لري. د GPL لاندې اصولو عمومي بحث ممکن دلته وموندل شي.
د سرلیک فایلونو، لینکر سکریپټونو، او د چلولو وخت کتابتونونو لپاره چمتو شوي مالتړ کوډ د ملکیت کوډ دی او د GPL لاندې نه پوښل کیږي.
دا کمپیلر د GCC نسخه 5.4.0، binutils نسخه 2.26 تطبیق دی، او د avr-libc نسخه 2.0.0 کاروي.
1.6. د سیسټم اړتیاوې
د MPLAB XC8 C کمپیلر او د جواز ورکولو سافټویر چې دا یې کاروي د مختلف عملیاتي سیسټمونو لپاره شتون لري، په شمول د لاندې 64-bit نسخې: د Microsoft® Windows® 10 مسلکي نسخې؛ Ubuntu® 18.04؛ او macOS® 10.15.5. د وینډوز لپاره بائنریز د کوډ لاسلیک شوي. د macOS لپاره بائنریز د کوډ لاسلیک شوي او نوټریز شوي دي. د MPLAB XC شبکې لایسنس سرور د مختلفو 64-bit عملیاتي سیسټمونو لپاره شتون لري، په شمول د مایکروسافټ وینډوز 10 او پورته؛ اوبنټو 18.04 او پورته؛ یا macOS 10.15 او پورته. سرور ممکن په نورو مختلف عملیاتي سیسټمونو کې هم وګرځي پشمول د وینډوز سرور ، لینکس توزیعونه ، لکه اوریکل® انټرپریس لینکس® او ریډ هیټ انټرپریس لینکس او همدارنګه د ملاتړ شوي عملیاتي سیسټمونو زاړه نسخې. په هرصورت، د MPLAB XC شبکې جواز سرور په دې عملیاتي سیسټمونو کې نه ازمول شوی. د MPLAB XC شبکې لایسنس سرور د شبکې جوازونو لپاره د مجازی ماشین جواز (SW006021-VM) په کارولو سره د ملاتړ شوي OS په مجازی ماشینونو کې پرمخ وړل کیدی شي. د MPLAB XC شبکې سرور ټولې 32-bit نسخې له 3.00 نسخې څخه پیل کیږي.
وسیلې ملاتړ شوې
دا کمپیلر د خوشې کیدو په وخت کې د ټولو موجود 8-bit AVR MCU وسیلو ملاتړ کوي. د ټولو ملاتړ شوي وسیلو لیست لپاره (د کمپیلر لارښود کې) وګورئ. دا فایلونه هم لیست کوي
avr_chipinfo.html د هر وسیلې لپاره د سند ترتیب بټ ترتیبات.
1.7. نسخې او د جواز لوړول
د MPLAB XC8 کمپیلر د جواز لرونکي (PRO) یا غیر جواز لرونکي (وړیا) محصول په توګه فعال کیدی شي. تاسو اړتیا لرئ د خپل کمپیلر جواز ورکولو لپاره د فعالولو کیلي واخلئ. جواز د وړیا محصول په پرتله د لوړې کچې اصلاح کولو ته اجازه ورکوي. یو غیر جواز لرونکی کمپیلر د جواز پرته په نامعلوم وخت کې چلیدلی شي. د MPLAB XC8 فعال خوندیتوب کمپیلر باید د مایکروچپ څخه پیرود شوي فعال خوندیتوب جواز سره فعال شي. کمپیلر به د دې جواز پرته کار ونکړي. یوځل چې فعال شو، تاسو کولی شئ د اصلاح کولو کچه وټاکئ او ټول تالیف کونکي ځانګړتیاوې وکاروئ. د MPLAB XC فنکشنل سیفټي کمپیلر دا خپریدل د شبکې سرور جواز ملاتړ کوي.
د جواز ډولونو او د جواز سره د کمپیلر نصبولو په اړه معلوماتو لپاره د MPLAB XC C Compilers (DS50002059) نصب او جواز ورکولو سند وګورئ.
1.8. نصب او فعالول
د دې کمپیلر سره د وروستي جواز مدیر په اړه مهم معلوماتو لپاره د مهاجرت مسلو او محدودیتونو برخې هم وګورئ.
که د MPLAB IDE کاروئ، ډاډ ترلاسه کړئ چې د دې وسیلې نصبولو دمخه د MPLAB X IDE وروستی نسخه 5.0 یا وروسته نصب کړئ. د کمپیلر نصبولو دمخه IDE پریږدئ. د (وینډوز)، (لینکس) یا (macOS) .exe .run .app کمپیلر انسټالر اپلیکیشن چل کړئ، د بیلګې په توګه او په سکرین کې لارښوونې تعقیب کړئ. XC8-1.00.11403-windows.exe د نصب کولو اصلي لارښود سپارښتنه کیږي. که تاسو لینکس کاروئ، نو تاسو باید د ټرمینل په کارولو او د روټ حساب څخه کمپیلر نصب کړئ. د مدیر امتیازاتو سره د macOS حساب په کارولو سره نصب کړئ.
فعالول اوس د نصبولو لپاره په جلا توګه ترسره کیږي. د نورو معلوماتو لپاره د MPLAB® XC C Compilers (DS52059) لپاره د جواز مدیر سند وګورئ.
که تاسو د ارزونې جواز لاندې تالیف کونکي چلول غوره کړئ ، نو تاسو به اوس د تالیف پرمهال خبرداری ترلاسه کړئ کله چې تاسو د خپلې ارزونې دورې پای ته رسیدو په 14 ورځو کې یاست. ورته خبرداری ورکول کیږي که تاسو د خپل HPA ګډون پای ته رسیدو 14 ورځو کې یاست.
د XC شبکې لایسنس سرور یو جلا انسټالر دی او د واحد کارونکي کمپیلر انسټالر کې شامل نه دی.
د XC جواز مدیر اوس د فلوټینګ شبکې جوازونو رومینګ ملاتړ کوي. د ګرځنده کاروونکو په هدف، دا خصوصیت د فلوټینګ جواز ته اجازه ورکوي چې د لنډې مودې لپاره له شبکې څخه لاړ شي. د دې خصوصیت په کارولو سره ، تاسو کولی شئ له شبکې څخه وصل شئ او لاهم خپل MPLAB XC کمپیلر وکاروئ. د دې خصوصیت په اړه د نورو لپاره د XCLM انسټالولو سند فولډر وګورئ.
MPLAB X IDE کې د لایسنس کړکۍ (وسیلې> جوازونه) شامل دي ترڅو په لید کې رومینګ اداره کړي.
1.8.1. د نصب کولو مسلو حل کول
که تاسو د وینډوز عملیاتي سیسټمونو لاندې د کمپیلر نصبولو کې ستونزې تجربه کوئ، لاندې وړاندیزونه هڅه وکړئ.
انسټالول د مدیر په توګه پرمخ وړئ.
د نصب کونکي غوښتنلیک اجازې 'بشپړ کنټرول' ته تنظیم کړئ. (په فایل کې ښي کلیک وکړئ، ملکیتونه غوره کړئ، امنیت ټب، کاروونکي غوره کړئ، سمون.)
د temp فولډر اجازه 'بشپړ کنټرول' ته تنظیم کړئ.
د temp فولډر موقعیت ټاکلو لپاره، د چلولو کمانډ کې %temp٪ ټایپ کړئ (د وینډوز لوګو کیلي + R).
دا به د فایل اکسپلورر ډیالوګ پرانیزي چې دا لارښود ښیې او تاسو ته به اجازه درکړي چې د دې فولډر لاره وټاکئ.
1.9 د کمپیلر اسناد
د تالیف کونکي کارونکي لارښودونه د HTML پاڼې څخه خلاص کیدی شي چې ستاسو په براوزر کې خلاصیږي کله چې په MPLAB X IDE ډشبورډ کې د نیلي مرستې تڼۍ کلیک وکړئ ، لکه څنګه چې په سکرین شاټ کې اشاره شوې.
که تاسو د 8-bit AVR اهدافو لپاره جوړوئ، د AVR® MCU لپاره د MPLAB® XC8 C کمپیلر کارونکي لارښود د هغه کمپیلر اختیارونو او ځانګړتیاو په اړه معلومات لري چې پدې جوړښت کې پلي کیږي.

1.10. د پیرودونکي ملاتړ
مایکروچپ د دې کمپیلر نسخې په اړه د بګ راپورونو ، وړاندیزونو یا نظرونو هرکلی کوي. مهرباني وکړئ د ملاتړ سیسټم له لارې د بګ راپورونه یا فیچر غوښتنې مستقیم کړئ.
د اسنادو تازه معلومات
د MPLAB XC8 اسنادو آنلاین او تازه نسخو لپاره، مهرباني وکړئ د مایکروچپ آنلاین تخنیکي اسنادو څخه لیدنه وکړئ webسایټ په دې خپرونه کې نوي یا تازه شوي AVR اسناد:
- MPLAB® XC8 C کمپیلر د AVR® MCU لپاره د کارونکي لارښود (د بیاکتنې G)
- AVR® GNU Toolchain to MPLAB® XC8 د مهاجرت لارښود (د بیاکتنې A)
- د هیکسمیټ کارونکي لارښود (بی بیاکتنه)
د AVR® GNU Toolchain to MPLAB® XC8 مهاجرت لارښود د سرچینې کوډ کې بدلونونه تشریح کوي او هغه اختیارونه رامینځته کوي چې ممکن ورته اړتیا وي که تاسو پریکړه وکړئ چې د C-based پروژه د AVR 8-bit GNU Toolchain څخه Microchip MPLAB XC8 C کمپیلر ته واستوئ. د مایکروچپ متحد معیاري کتابتون حوالې لارښود د مایکروچپ متحد معیاري کتابتون لخوا تعریف شوي دندو لپاره چلند او انٹرفیس تشریح کوي ، په بیله بیا د کتابتون ډولونو او میکرو کارول. د دې ځینې معلومات پخوا د AVR® MCU لپاره د MPLAB® XC8 C کمپیلر کارونکي لارښود کې شامل وو. د وسیلې ځانګړي کتابتون معلومات لاهم پدې کمپیلر لارښود کې شتون لري.
که تاسو یوازې د 8-bit وسیلو او MPLAB XC8 C کمپیلر سره پیل کوئ، د ایمبیډ شوي انجینرانو لپاره د MPLAB® XC8 کارن لارښود - AVR® MCUs (DS50003108) په MPLAB X IDE کې د پروژو تنظیم کولو او ستاسو لپاره کوډ لیکلو په اړه معلومات لري. لومړۍ MPLAB XC8 C پروژه. دا لارښود اوس د کمپیلر سره توزیع شوی.
د Hexmate کارن لارښود د هغو کسانو لپاره دی چې Hexmate د یو واحد غوښتنلیک په توګه چلوي.
څه نوي دي
لاندې د AVR هدف نوي ځانګړتیاوې دي چې کمپیلر یې اوس ملاتړ کوي. په فرعي سرلیکونو کې د نسخې شمیره د لومړي تالیف کونکي نسخه ته اشاره کوي ترڅو د تعقیبي ځانګړتیاو ملاتړ وکړي.
3.1. نسخه 2.41
د بوټرو ملاتړ (XC8-3053) کمپیلر به د هرې برخې مینځپانګه په HEX فایل کې د بوټرو آدرس 0x860000 مخکینۍ سره ځای په ځای کړي. دا برخې د BOOTROW حافظې لپاره کارول کیږي، کوم چې د کیلي او نورو خوندي معلوماتو ذخیره کولو لپاره ډیزاین شوي چې یوازې بوټلوډر ته د لاسرسي وړ وي.
د بې ځایه راستنیدو له مینځه وړل (XC8-3048) تالیف کونکی به اوس د ریټ فنکشنونو کې بې ځایه لارښوونې د ټیل جمپ سره له مینځه ویسي کله چې د دودیز لینکر سکریپټونو کارول کیږي. دا هغه ته ورته اصلاح دی چې مخکې ترسره شوی و، مګر دا اوس په ټولو یتیم برخو کې ترسره کیږي، حتی که د دودیز لینکر سکریپټ کارول کیږي او د غوره تخصیص سکیم په لوبه کې نه وي. د وخت ډول بدلون (XC8-2982, 2932) د C99 معیاري کتابتون ډول، د time_t څخه یو ډول ته بدل شوی، کوم چې د ځینې وخت پورې اړوند اوږدې اوږدې دندې کې د کوډ اندازې ښه والی ورکوي، لکه. نه لاسلیک شوی اوږد mktime()
نوی nop (XC8-2946, 2945) میکرو ته اضافه شوی. دا میکرو یو no-NOP() داخلوي په محصول کې د nop عملیاتو لارښوونه.
XCLM (XC8-2944) ته تازه کول د تالیف کونکي سره کارول شوي جواز مدیر تازه شوی او اوس ډیر ځواب ویونکی دی کله چې د کمپیلر جواز توضیحات چیک کوي.
Trampاولین شوي زنګونه (XC8-2760) تالیف کونکی اوس کولی شي د اوږد فارم زنګ لارښوونو ځای په ځای کولو سره د لنډ نسبي تلیفونونو سره ترسره کړي کله چې د لارښوونو اړونده ډولونه معمولا د دوی د منزل حد څخه بهر وي. په دې حالت کې، کمپیلر به هڅه وکړي چې د لارښوونو سره ځای په ځای کړي ترڅو rcal ته لارښوونه وکړي چې 'tr.ampد اړتیا وړ پته ته د oline اجرا کول، د مثال لپارهample: jmp
rcal tramp_foo؛ foo ته زنګ وواهه
...
rcal tramp_فو
...
tramp_foo:
jmp foo
دا اصلاح کول، د ورته پروګرام جریان اصلاح کولو سره، د -mrelax اختیار لخوا کنټرول کیږي.
3.2. نسخه 2.40
د نوي وسیلې ملاتړ ملاتړ اوس د لاندې AVR برخو لپاره شتون لري: AT90PWM3, AVR16DD14, AVR16DD20, AVR16DD28, AVR16DD32, AVR32DD14, AVR32DD20, AVR32DD28,AVR32DD32,AVR64,AVR28,AVR64, 32، او AVR64EA48.
د طرزالعمل تجزیه ښه شوی د طرزالعمل خلاصون (PA) اصلاح کولو وسیله ښه شوې ترڅو کوډ چې د فنکشن کال لارښوونې (/) لري کارول کیدی شي. دا به یوازې د کال rcall ترسره شي که چیرې سټیک د فنکشن څخه د بیرته راستنیدو ارزښت ترلاسه کولو لپاره د دلیلونو تیرولو لپاره نه کارول کیږي. سټیک کارول کیږي کله چې د متغیر دلیل لیست سره فنکشن ته زنګ ووهئ یا کله چې داسې فنکشن ته زنګ ووهئ چې د دې هدف لپاره ټاکل شوي راجسترونو څخه ډیر دلیلونه اخلي. دا خصوصیت د اختیار په کارولو سره غیر فعال کیدی شي، یا طرزالعمل خلاصول په بشپړ ډول د یو اعتراض فایل یا فنکشن لپاره د - او په ترتیب سره، یا د ځانګړتیاو (ځانګړي) په کارولو سره د افعال سره په انتخاب سره غیر فعال کیدی شي.
mno-pa-outline-calls-mno-pa-on-file -mno-pa-on-function nopa Code coverage macro تالیف کونکی اوس میکرو تعریفوي که چیرې یو باوري اختیار __nopa __CODECOV -mcodecov مشخص شوی وي.
د حافظې ریزرویشن اختیار چلوونکی به اوس د xc8-cc -mreserve=space@start:end اختیار ومني کله چې د AVR اهدافو لپاره جوړیږي. دا اختیار د ډیټا یا برنامې حافظې ځای کې د حافظې مشخص حد خوندي کوي ، په دې سیمه کې د کوډ یا شیانو له راټولولو څخه لینکر مخه نیسي. هوښیار سمارټ IO د سمارټ IO فعالیتونو کې ډیری پرمختګونه شوي ، پشمول د چاپ کور کوډ ته عمومي ټیکونه ، د %n تبادلې مشخص کونکي سره د یو خپلواک ډول په توګه چلند کول ، د غوښتنې سره سم د ورارګ پاپ روټینونو کې لینک کول ، د لنډ ډیټا ډولونو کارول چیرې چې ممکنه وي اداره کول د IO فنکشن دلیلونه، او د ساحې په عرض او دقیق سمبالولو کې د عام کوډ فکتور کول. دا کولی شي د پام وړ کوډ او ډاټا سپمولو پایله ولري، او همدارنګه د IO اجرا کولو سرعت زیات کړي.
3.3. نسخه 2.39 (فعال خوندیتوب خوشې کول)
د شبکې سرور لایسنس د MPLAB XC8 فعالیت خوندیتوب کمپیلر دا خپریدل د شبکې سرور جواز ملاتړ کوي.
3.4. نسخه 2.36
هیڅ نه.
3.5. نسخه 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-progmem اختیار د دې لپاره کارول کیدی شي چې لینکر ټول د کانسټ وړ وړ ډیټا په یوه 32k برخه کې ځای په ځای کړي او په اتوماتيک ډول اړوند SFR راجستر پیل کړي ترڅو ډاډ ترلاسه شي چې دا ډاټا د ډیټا حافظې کې نقشه شوې. ځای، چیرته چې دا به په اغیزمنه توګه لاسرسی ومومي.
د مایکروچپ متحد معیاري کتابتونونه ټول MPLAB XC تالیف کونکي به د مایکروچپ متحد معیاري کتابتون شریک کړي ، کوم چې اوس د MPLAB XC8 د دې خوشې کیدو سره شتون لري. د AVO MCU لپاره د MPLA# XC8 C کمپیلر کارونکي لارښود نور د دې معیاري دندو لپاره اسناد نه لري. دا معلومات اوس د مایکروچپ متحد معیاري کتابتون حوالې لارښود کې موندل کیدی شي. په یاد ولرئ چې ځینې فعالیت چې مخکې د avr-libc لخوا تعریف شوي نور شتون نلري. (د لیلا فعالیت وګورئ.)
سمارټ I0 د نوي متحد کتابتونونو د یوې برخې په توګه، د چاپ او سکینف کورنیو کې د I0 دندې اوس په هر جوړښت کې دودیز تولید شوي، د دې پر بنسټ چې دا فعالیتونه څنګه په پروګرام کې کارول کیږي. دا کولی شي د برنامې لخوا کارول شوي سرچینې د پام وړ کم کړي.
د سمارټ ICI مرستې اختیار کله چې د سمارټ I0 فنکشنونو (لکه چاپ f () یا scanf () ته د تلیفونونو تحلیل کول، کمپیلر تل نشي کولی د فارمیټ سټینګ څخه وټاکي یا د هغه دلیلونو څخه اټکل وکړي چې د تبادلې مشخص کونکي د کال لخوا اړین دي. پخوا، کمپیلر به تل هیڅ انګیرنه نه کوي او ډاډ ترلاسه کوي چې په بشپړ ډول فعال 10 افعال د وروستي پروګرام عکس سره تړل شوي. یو نوی - msmart-io-format=fmt اختیار اضافه شوی ترڅو تالیف کونکي د دې پرځای د تبادلې مشخص کونکو لخوا د سمارټ I0 فنکشنونو لخوا کارول شوي د تبادلې مشخص کونکو لخوا خبر شي چې کارول یې مبهم دي ، د خورا اوږد 10 روټینونو د تړل کیدو مخه نیسي. (د نورو جزیاتو لپاره د smart-io-format اختیار وګورئ.)
د ګمرکي برخو ځای په ځای کول مخکې، د -W1، -section-start اختیار یوازې ټاکل شوې برخه په غوښتل شوي پته کې ځای پرځای کول کله چې لینکر سکریپټ د ورته نوم سره د محصول برخه تعریف کړه. کله چې دا قضیه نه وه، برخه په هغه پته کې کیښودل شوه چې د لینکر لخوا غوره شوی و او اختیار په اصل کې له پامه غورځول شوی و. اوس اختیار به د ټولو دودیزو برخو لپاره ویاړ شي، حتی که د لینکر سکریپټ برخه نه تعریفوي. په هرصورت، یادونه وکړئ چې د معیاري برخو لپاره، لکه . متن، . bss یا . ډاټا، غوره فټ تخصیص کونکی به لاهم د دوی ځای په ځای کولو بشپړ کنټرول ولري، او اختیار به هیڅ اغیزه ونلري. د -ton, -Tsection=addr اختیار وکاروئ، لکه څنګه چې د کارونکي لارښود کې تشریح شوي.
3.6. نسخه 2.32
د سټیک لارښود د PRO کمپیلر لایسنس سره شتون لري ، د تالیف کونکي سټیک لارښود ب featureه د برنامې لخوا کارول شوي هر سټیک اعظمي ژوروالي اټکل کولو لپاره کارول کیدی شي. دا د برنامه کال ګراف رامینځته کوي او تحلیل کوي ، د هر فنکشن سټیک کارول ټاکي ، او یو راپور تولیدوي ، له کوم څخه چې د برنامه لخوا کارول شوي سټیک ژورتیا اټکل کیدی شي. دا فیچر د -mchp-stack-usage کمانډ لاین اختیار له لارې فعال شوی. د سټیک کارولو لنډیز د اجرا کولو وروسته چاپ کیږي. په نقشه کې یو تفصیلي سټیک راپور شتون لري file، کوم چې په معمول ډول غوښتنه کیدی شي.
د نوي وسیلې ملاتړ ملاتړ د لاندې AVR برخو لپاره شتون لري: ATTINY427, ATTINY424, ATTINY426, ATTINY827, ATTINY824, ATTINY826, AVR32DB32, AVR64DB48, AVR64DB64, AVR64DBD, AVR28B, AVR32DB28, AVR64DB32 32، او AVR48DB16. د بیرته اخیستل شوي وسیلې ملاتړ ملاتړ نور د لاندې AVR برخو لپاره شتون نلري: AVR28DA16، AVR32DA16 او، AVR48DAXNUMX.
3.7. نسخه 2.31
هیڅ نه.
3.8. نسخه 2.30
د ډیټا پیل کولو مخنیوي لپاره نوی اختیار د -mno-data-init ډرایور نوی اختیار د ډیټا پیل کولو او د bss برخو پاکولو مخه نیسي. دا د do کاپي ډیټا محصول فشارولو او په مجلس کې د BSS سمبولونو روښانه کولو سره کار کوي files، چې په پایله کې به د لینکر لخوا د دې معمولونو شاملولو مخه ونیسي.
پرمختللې اصلاحونه د اصلاح کولو یو شمیر پرمختګونه رامینځته شوي ، پشمول د بې ځایه راستنیدو لارښوونو لرې کول ، د skip-if-bit-is لارښوونې وروسته د ځینې کودونو لرې کول ، او د طرزالعمل خلاصول او د دې پروسې تکرار کولو وړتیا. اضافي اختیارونه اوس د دې ځینې اصلاح کولو کنټرول لپاره شتون لري ، په ځانګړي توګه -f برخې - لنگرونه ، کوم چې د جامد شیانو لاسرسي ته اجازه ورکوي چې د یو سمبول په پرتله ترسره شي؛ -mpa-iterations=n، کوم چې د پروسیجري خلاصون تکرارونو شمیر ته اجازه ورکوي چې د 2 ډیفالټ څخه بدل شي؛ او، -mpa-callcost-shortcall، کوم چې ډیر تیریدونکي طرزالعمل خلاصول ترسره کوي، په دې هیله چې لینکر کولی شي اوږد تلیفونونه آرام کړي. دا وروستی اختیار کولی شي د کوډ اندازه زیاته کړي که چیرې اصلي انګیرنې درک نه شي.
د نوي وسیلې ملاتړ د لاندې AVR برخو لپاره شتون لري: AVR16DA28, AVR16DA32, AVR16DA48, AVR32DA28, AVR32DA32, AVR32DA48, AVR64DA28, AVR64DA32, AVR64DA48, AVR64DA64, AVR128DA28, AVR128DA32, 128DB48، AVR128DB64، او AVR5272DB5790. Retracted device Support Support is no longer available for the following AVR parts: ATA5790, ATA5791, ATA5795N, ATA6285, ATA6286, ATA6612, ATA6613, ATA6614C, ATA6616C, ATA6617Q, ATA664251C, ATAXNUMXC, and ATAXNUMX.
3.9. نسخه 2.29 (فعال خوندیتوب خوشې کول)
سرلیک file د کمپیلر جوړ شوي انزونو لپاره د دې لپاره چې ډاډ ترلاسه شي چې کمپیلر کولی شي د ژبې ځانګړتیاو سره مطابقت ولري لکه MISRA، سرلیک file، کوم چې په اتوماتيک ډول شامل دی ، تازه شوی دی. دا سرلیک د ټولو دننه جوړ شوي دندو لپاره پروټوټایپونه لري، لکه buildin_avr_nop ( ) او buildin avr delay_cycles () . ځینې جوړونه ممکن د MISRA مطابق نه وي؛ دا د کمپیلر کمانډ لاین ته د تعریف ایکسCSTRICT_MISRA په اضافه کولو سره پریښودل کیدی شي. جوړ شوي او د دوی اعالنونه د ثابت پلنوالی ډولونو کارولو لپاره نوي شوي.
3.10. نسخه 2.20
د نوي وسیلې ملاتړ ملاتړ د لاندې AVR برخو لپاره شتون لري: ATTINY1624، ATTINY1626، او ATTINY1627.
غوره غوره فټ تخصیص په کمپیلر کې غوره فټ تخصیص (BFA) ښه شوی ترڅو برخې په ترتیب سره تخصیص شي چې د غوره اصلاح کولو اجازه ورکوي. BFA اوس د نوم شوي پتې ځایونو ملاتړ کوي او د ډیټا پیل کولو غوره اداره کوي.
د طرزالعمل تجرید ښه شوی د طرزالعمل خلاصون اصلاح اوس په نورو کوډ ترتیبونو کې ترسره کیږي. مخکیني حالتونه چیرې چې دا اصلاح ممکن د کوډ اندازه زیاته کړې وي د اصلاح کولو کوډ د لینکر د کثافاتو راټولولو پروسې څخه خبرتیا په واسطه حل شوي.
د AVR اسسمبلر نشتوالی د AVR جمع کونکی نور په دې توزیع کې شامل نه دی.
3.11. نسخه 2.19 (فعال خوندیتوب خوشې کول)
هیڅ نه.
3.12. نسخه 2.10
د کوډ پوښښ پدې خپرونه کې د کوډ پوښښ ځانګړتیا شامله ده چې د پروژې د سرچینې کوډ تر کومې اندازې پورې د تحلیل لپاره اسانه کوي. د فعالولو لپاره -mcodecov=ram اختیار وکاروئ. ستاسو په هارډویر کې د برنامه اجرا کولو وروسته ، د کوډ پوښښ معلومات به په وسیله کې راټول شي ، او دا د MPLAB X IDE لخوا د کوډ پوښښ پلگ ان له لارې لیږدول کیدی شي او ښودل کیدی شي. د دې پلگ ان په اړه د معلوماتو ترلاسه کولو لپاره د IDE اسناد وګورئ. د #pragma nocodecov د پوښښ تحلیلونو څخه د راتلونکو دندو د ایستلو لپاره کارول کیدی شي. په مثالي توګه پراګما باید د پیل په پیل کې اضافه شي file دا ټول خارج کول file د پوښښ تحلیل څخه. په بدیل سره، _attribute_ ( (nocodecov) ) کیدای شي د پوښښ تحلیل څخه د ځانګړي فعالیت د ایستلو لپاره وکارول شي.
د وسیله توضیحات fileیو نوی وسیله file avr_chipinfo نومیږي. html د کمپیلر توزیع د اسنادو لارښود کې موقعیت لري. دا file ټول هغه وسایل لیست کوي چې د کمپیلر لخوا ملاتړ کیږي. د وسیلې په نوم کلیک وکړئ ، او دا به یوه پا pageه پرانیزي چې د دې وسیلې لپاره ټول د منلو وړ ترتیب بټ ترتیب / ارزښت درد ښیې ، د پخواني سرهamples. طرزالعمل خلاصون
د طرزالعمل خلاصون اصلاحونه، کوم چې د اسمبلۍ کوډ عام بلاکونه د دې بلاک استخراج شوي کاپي ته د زنګونو سره ځای په ځای کوي، په کمپیلر کې اضافه شوي. دا د یو جلا غوښتنلیک لخوا ترسره کیږي، کوم چې په اتوماتيک ډول د تالیف کونکي لخوا غوښتنه کیږي کله چې د کچې 2، 3 یا s اصلاح کول غوره کوي. دا اصلاح کول د کوډ اندازه کموي، مګر دوی ممکن د اجرا سرعت او د کوډ ډیبګیت کم کړي. د پروسیجر خلاصول د -mno-pa اختیار په کارولو سره د اصلاح کولو لوړې کچې کې غیر فعال کیدی شي ، یا د -mpa په کارولو سره په ټیټ اصلاح کچه (ستاسو د جواز تابع) کې فعال کیدی شي. دا د یو شی لپاره غیر فعال کیدی شي file د -mno-pa-on- په کارولو سرهfile=fileنوم، یا د -mno-pa-on-function=function په کارولو سره د فعالیت لپاره غیر فعال شوی. ستاسو د سرچینې کوډ دننه، طرزالعمل خلاصول د فنکشن تعریف سره د ځانګړتیا ( (nopa)) په کارولو سره، یا د nopa په کارولو سره د فنکشن لپاره غیر فعال کیدی شي، کوم چې خاصیت ته پراخیږي ((nopa، noinline)) او په دې توګه د فعالیت انلاین کولو مخه نیسي. او د انلاین کوډ خلاصول شتون لري.
په پراګما کې د لاک بټ ملاتړ د #pragma تشکیل اوس د AVR لاک بټونو او همدارنګه د نورو ترتیب کولو بټونو مشخص کولو لپاره کارول کیدی شي. avr_chipinfo وګورئ. html file (پورته ذکر شوی) د دې پراګما سره د کارولو لپاره ترتیب / ارزښت جوړه لپاره. د نوي وسیلې ملاتړ ملاتړ د لاندې برخو لپاره شتون لري: AVR28DAl28، AVR64DAl28، AVR32DA 128، او AVR48DA 128.
3.13. نسخه 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.
3.14. نسخه 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 او په دې توګه د کتابتون غوښتنه کولو وړاندیز شوی لاره ده. که د میراثي پروژو لپاره اړتیا وي، پخوانی کتابتون مستقیم د زاړه طرز انتخابونو په کارولو سره بلل کیدی شي چې دا په پخوانیو کمپیلر نسخو کې منل شوی.
د مهاجرت مسلې
لاندې هغه ځانګړتیاوې دي چې اوس د کمپیلر لخوا په مختلف ډول اداره کیږي. دا بدلونونه ممکن ستاسو د سرچینې کوډ کې تعدیل ته اړتیا ولري که چیرې دې کمپیلر نسخې ته کوډ پورټ کړئ. په فرعي سرلیکونو کې د نسخې شمیره د لومړي تالیف کونکي نسخه په ګوته کوي ترڅو د تعقیب شوي بدلونونو ملاتړ وکړي.
4.1. نسخه 2.41
ناسم fma افعال لرې کړل (XC8-2913) د C99 معیاري کتابتون fma 0 - د کورنۍ دندې ( ) په یو واحد ګردي کولو کې د لامحدود دقیقیت سره ضرب-اضافه محاسبه نه کړه، بلکه د هر عملیات سره د ګردي غلطیو راټولول. دا دندې د چمتو شوي کتابتون څخه لرې شوي دي.
4.2. نسخه 2.40
هیڅ نه.
4.3. نسخه 2.39 (فعال خوندیتوب خوشې کول)
هیڅ نه.
4.4. نسخه 2.36 هیڅ نه.
4.5. نسخه 2.35
د سټینګ څخه د اډو اداره کول (XC8-2420) د نورو XC کمپیلرونو سره د یووالي ډاډ ترلاسه کولو لپاره، د XC8 سټینګ-ټو افعال لکه strtol () وغيره، به نور هڅه ونکړي چې د ان پټ سټینګ بدل کړي که چیرې ټاکل شوې اساس له 36 څخه لوی وي او پرځای به یې EINVAL ته errno تنظیم کړي. د C معیار د دندو چلند نه مشخص کوي کله چې دا اساس ارزښت ډیر شي.
نامناسب سرعت اصلاح کول د طرزالعمل خلاصون اصلاح کول فعال شوي و کله چې د 3 کچه غوره کول (-03). دا اصلاح کول د کوډ سرعت په لګښت د کوډ اندازه کموي، نو باید ترسره شوي نه وي. هغه پروژې چې د دې اصلاح کولو کچه کاروي ممکن د کوډ اندازې او اجرا کولو سرعت کې توپیرونه وګوري کله چې د دې خوشې کیدو سره جوړ شي.
د کتابتون فعالیت د ډیری معیاري C کتابتون دندو لپاره کوډ اوس د مایکروچپ متحد معیاري کتابتون څخه راځي، کوم چې ممکن په ځینو شرایطو کې د پخواني avr-libc کتابتون لخوا چمتو شوي په پرتله مختلف چلند ښکاره کړي. د مثال لپارهampنو، دا نور اړین نه دی چې د 1printf flt کتابتون (-1printf_flt اختیار) کې لینک کړئ ترڅو فارمیټ فعال کړئ I0 د فلوټ فارمیټ مشخص کونکو لپاره ملاتړ. سمارټ I0 د مایکروچپ متحد معیاري کتابتون ځانګړتیاوې دا اختیار بې ځایه کوي. برسېره پردې، د تار او حافظې د کارونو لپاره د _P ضمیمه شوي معمولونو کارول (د مثال په توګه strcpy_P () او داسې نور. چې په فلش کې د کنسټ تارونو کار کوي نور اړین ندي. معیاري C معمولونه (د مثال په توګه strcpy) به د داسې ډیټا سره سم کار وکړي کله چې د کانسټ ډیټا-ان-پروګرام-میموري فیچر فعال شي.
4.6. نسخه 2.32
هیڅ نه.
4.7. نسخه 2.31
هیڅ نه.
4.8. نسخه 2.30
هیڅ نه.
4.1. نسخه 2.29 (فعال خوندیتوب خوشې کول)
هیڅ نه.
4.2. نسخه 2.20
د DFP ترتیب بدل شوی تالیف کونکی اوس یو مختلف ترتیب په غاړه اخلي چې د DFPs (د وسیلې کورنۍ کڅوړې) لخوا کارول کیږي. دا به پدې معنی وي چې یو زوړ DFP ممکن د دې خوشې کیدو سره کار ونکړي ، او زاړه تالیف کونکي به ونه شي کولی وروستي DFPs وکاروي.
4.3. نسخه 2.19 (فعال خوندیتوب خوشې کول)
هیڅ نه.
4.4. نسخه 2.10
هیڅ نه
4.5. نسخه 2.05
د پروګرام په حافظه کې Const څیزونه په یاد ولرئ چې د ډیفالټ له مخې، د کانسټ وړتیا لرونکي توکي به د پروګرام په حافظه کې ځای په ځای شي او لاسرسی ومومي (لکه څنګه چې بیان شوي رنګ). دا به ستاسو د پروژې اندازه او اجرا کولو سرعت اغیزه وکړي، مګر باید د RAM کارول کم کړي. دا فیچر غیر فعال کیدی شي، که اړتیا وي، د -mnoconst-data-in-progmem اختیار په کارولو سره.
4.6. نسخه 2.00
د کنفیګریشن فیوزونه د وسیلې کنفیګریشن فیوز اوس کولی شي د کنفیګریشن پراګما په کارولو سره پروګرام شي چې د فیوز حالت مشخص کولو لپاره د ترتیب ارزښت جوړه تعقیب کړي ، د مثال په توګه
#pragma config WDTON = SET
#pragma ترتیب BODLEVEL = BODLEVEL_4V3
مطلق شیان او افعال شیان او افعال اوس د CCI (پته) مشخص کونکي په کارولو سره په حافظه کې په ځانګړي پته کې ځای په ځای کیدی شي ، د مثال لپارهampLe:
#شامل
int foobar_at(0x800100);
char __at(0x250) getID(int offset) { … }
د دې مشخص کونکي دلیل باید وي یو ثابت چې د پته استازیتوب کوي په کوم کې چې لومړی بایټ یا لارښوونې به ځای په ځای شي. د RAM پتې د 0x800000 د آف سیٹ په کارولو سره ښودل شوي. د دې خصوصیت کارولو لپاره CCI فعال کړئ.
نوی مداخله فنکشن ترکیب تالیف کونکی اوس د CCI _interrupt (num) مشخص کوونکی مني ترڅو دا په ګوته کړي چې د C افعال مداخله کونکي دي. مشخص کونکی د مداخلې شمیره اخلي، د مثال لپارهampLe:
#شامل
باطل __مداخله(SPI_STC_vect_num) spi_Isr(باطل) { … }
ثابتې مسلې
لاندې اصالحات دي چې په کمپیلر کې شوي دي. دا ممکن په تولید شوي کوډ کې بګونه حل کړي یا د کمپیلر عملیات هغه ته بدل کړي کوم چې د کارونکي لارښود لخوا ټاکل شوي یا مشخص شوي. په فرعي سرلیکونو کې د نسخې شمیره د لومړي تالیف کونکي نسخه په ګوته کوي ترڅو د تعقیب مسلو لپاره اصلاحات ولري. په سرلیک کې بریکٹ شوي لیبلونه د تعقیب ډیټابیس کې د دې مسلې پیژندنه ده. دا ممکن ګټور وي که تاسو اړتیا لرئ د مرستې سره اړیکه ونیسئ.
په یاد ولرئ چې د وسیلې ځینې ځانګړي مسلې د وسیلې سره تړلي د وسیلې کورنۍ پیک (DFP) کې سم شوي. د DFPs کې د بدلونونو او وروستي کڅوړو ډاونلوډ کولو لپاره د معلوماتو لپاره د MPLAB پیک مدیر وګورئ.
5.1. نسخه 2.41
په Ventura (XC8-3088) Dongles د Dongle مسلې د تالیف کونکي جواز ورکولو لپاره کارول کیدی شي په macOS Ventura کوربه کې په سمه توګه نه وي لوستل شوي، د جواز ورکولو ناکامۍ پایله. د XCLM جواز مدیر کې بدلونونه دا مسله سمه کوي.
د حافظې تخصیص ناسمه اشاره (XC8-2925) د معیاري کتابتون د حافظې مدیریت افعال (malloc () et al) په کارولو سره د حافظې د SIZE_MAX بایټس (یا دې ته نږدې ارزښت) تخصیص کولو هڅه په غلطۍ سره بریالۍ شوه. دا په پام کې ندي نیول شوي چې د ساده متحرک حافظې تخصیص پلي کولو کارولو پرمهال غوښتل شوي بلاک سربیره اضافي بایټس ته اړتیا وه. یو NULL پوائنټر به اوس بیرته راستانه شي او په داسې حاالتو کې ENOMEM ته خطا ټاکل کیږي.
ناسم fma افعال لرې کړل (XC8-2913) د C99 معیاري کتابتون fma ( ) -د کورنۍ دندې ( ) په یو واحد ګردي کولو کې د لامحدود دقیقیت سره ضرب-اضافه محاسبه نه کړه، بلکه د هر عملیات سره د ګردي غلطیو راټولول. دا دندې د چمتو شوي کتابتون څخه لرې شوي دي.
د تار د تبادلې ناسم مدیریت (XC8-2921, XC8-2652) کله چې د strtod Cr لخوا د تبادلې لپاره د موضوع ترتیب کې هغه څه شامل وو چې د توقیف شوي شکل کې د فلوټینګ پوائنټ شمیره ښکاري او د e/E کرکټر څخه وروسته یو غیر متوقع کرکټر شتون درلود، نو چیرې چې endptr چمتو شوی و، دا پته ټاکل شوې وه چې دا د e/E وروسته کرکټر ته اشاره کړې وه، پداسې حال کې چې دا باید پخپله د e/E کرکټر ته اشاره کړې وای، ځکه چې دا بدل شوی نه و. د مثال لپارهample, strtod ("100exx", &ep) باید 100.00 بیرته راستانه کړي او ep د تار "exx" برخې ته په نښه کولو لپاره تنظیم کړي، پداسې حال کې چې فنکشن سم ارزښت بیرته راګرځوي مګر ep د تار د "xx" برخې ته اشاره کوي .
5.2. نسخه 2.40
ډیر آرام (XCS-2876) کله چې د -mrelax اختیار په کارولو سره، تالیف کونکي ځینې برخې یوځای نه کړي، په پایله کې د کم غوره کوډ اندازې. دا ممکن د کوډ سره پیښ شوي وي چې د نوي MUSL کتابتونونو یا ضعیف سمبولونو سره کارول شوي وي.
د نقشې کولو ځانګړتیا لکه څنګه چې په خبرتیا کې ویل شوي غیر فعال ندي (XC8-2875) د const-data-in-config-mappedprogmem فیچر د const-data-in-progmem فیچر په فعالولو تکیه کوي. که چیرې د const-data-inconfig-mapped-progmem فیچر په ښکاره ډول د اختیار په کارولو سره فعال شوی و او د const-data-inprogmem فیچر غیر فعال شوی و، د لینک ګام ناکام شو، سره له دې چې د خبرتیا پیغام په ګوته کوي چې د Const-data-in-config- د نقشه شوي پروګرام فیچر په اوتومات ډول غیر فعال شوی و، کوم چې په بشپړ ډول سم نه و. د Const-data-in-config-mapped-progmem ځانګړتیا اوس په دې حالت کې په بشپړه توګه غیر فعاله شوې ده.
DFP په سمه توګه NVMCTRL (XC8-2848) ته د لاسرسي لپاره بدلیږي د AVR64EA وسیلو لخوا کارول شوي د چلولو وخت پیل کولو کوډ په پام کې نه و نیول شوی چې د NVMCTRL راجستر د تنظیم کولو بدلون محافظت (CCP) لاندې و او د دې توان نه درلود چې I0 SFR هغه پاڼې ته تنظیم کړي چې د const-data-in-configmapped-progmem لخوا کارول کیږي. د کمپیلر ځانګړتیا. د AVR-Ex_DFP نسخه 2.2.55 کې شوي بدلونونه به د چلولو وخت پیل کولو کوډ ته اجازه ورکړي چې دې راجستر ته په سمه توګه ولیکي.
د مخنیوي لپاره د DFP بدلونونه د فلش میپینګ (XC8-2847) د فلش میپینګ وسیلې ځانګړتیا سره د ستونزې لپاره د کار شاوخوا کار په AVR128DA28/32/48/64 سیلیکون ایرراټا (D580000882) کې راپور شوی پلي شوی. د const-data-in-config-mapped-progmem کمپیلر فیچر به د اغیزمنو وسیلو لپاره د ډیفالټ لخوا نه پلي کیږي، او دا بدلون به په AVR-Dx_DFP نسخه 2.2.160 کې څرګند شي.
د sinhf یا coshf (XC8-2834) سره غلطی رامینځته کړئ د sinhf () یا coshf () د کتابتون د کارونو د کارولو هڅې د لینک تېروتنې په پایله کې، د یوې نا تعریف شوي حوالې تشریح کول. راجع شوی ورک شوی فعالیت اوس د کمپیلر توزیع کې شامل شوی.
د نوپا (XC,8-2833) سره غلطۍ رامینځته کړئ د nopa خاصیت د داسې فنکشن سره کارول چې د اسمبلر نوم یې د asm ( ) په کارولو سره مشخص کړی د راټولونکي څخه د خطا پیغامونه رامینځته کړي. دا ترکیب ممکن نه دی.
د پوائنټر دلیلونو سره د مختلف فعالیت ناکامي (XC8-2755, XC8-2731) د متغیر شمیر دلیلونو سره دندې تمه لري چې 24-bit (memx ډول) پوائنټرونه د متغیر دلیل لیست کې تیریږي کله چې د کانسټ ډیټا-ان-پروګم خصوصیت فعال شي. هغه دلیلونه چې د ډیټا حافظې ته اشاره کوي د 16-bit شیانو په توګه تیریدل ، د کوډ ناکامۍ لامل کیږي کله چې دوی په نهایت کې لوستل شوي. کله چې د constdata-in-progmem خصوصیت فعال شي، ټول 16-bit پوینټر دلیلونه اوس په 24-bit پوینټرونو بدل شوي.
د strtoxxx کتابتون فعالیت ناکامي (XC8-2620) کله چې د const-data-in-progmem ځانګړنه فعاله شوه، د strtoxxx کتابتون په دندو کې د endptr پیرامیټر په سمه توګه د سرچینې سټرینګ دلیلونو لپاره چې د پروګرام په حافظه کې ندي تازه شوي.
د ناسمو کاسټونو لپاره خبرتیاوې (XC8-2612) تالیف کونکی به اوس یوه تېروتنه خپره کړي که چیرې د کانسټ ان-پروګم خصوصیت فعال شوی وي او د سټینګ لیټریل پته په ښکاره ډول د ډیټا پته ځای ته اچول کیږي (د کانسټ کوالیفایر پریښودل) ، د مثال لپاره.ample، (uint 8_t *) "سلام نړۍ!". یو خبرتیا مسله ده که چیرې پته غلطه وي کله چې د کانسټ ډیټا پوائنټر په واضح ډول د ډیټا پته ځای ته کاسټ شي.
د غیر پیل شوي کانسټیټ شیانو ځای په ځای کول (XC8-2408) غیر پیل شوي کانسټ او کانسټ بې ثباته توکي د برنامه حافظې کې په وسیلو کې ندي ځای پرځای شوي چې د دوی د برنامې حافظې ټوله یا برخه د ډیټا پته ځای کې نقشه کوي. د دې وسیلو لپاره، دا ډول توکي اوس د پروګرام حافظه کې ځای پر ځای شوي، د دوی عملیات د نورو وسیلو سره مطابقت لري.
5.3. نسخه 2.39 (فعال خوندیتوب خوشې کول)
هیڅ نه.
5.4. نسخه 2.36
د ځنډولو په وخت کې تېروتنه (XC8-2774) په ډیفالټ وړیا حالت اصلاح کې کوچني بدلونونه د ځنډ جوړ شوي افعالاتو ته د عملیاتي بیانونو دوامداره فولډ کولو مخه نیسي ، چې په پایله کې یې د غیر ثابت په توګه چلند کیږي او خطا یې رامینځته کوي: د جوړیدو avr delay_cycles د تالیف وخت انټیجر ثابت تمه لري.
5.5. نسخه 2.35
د _at (XC8-2653) په کارولو سره پرله پسې تخصیص په یوه برخه کې د ورته نوم سره د څو شیانو ځای په ځای کول او د _at () کارول په سمه توګه کار نه کوي. د مثال لپارهampLe:
const char arr1[] __attribute__((section(“.mysec”))) __at (0x500) = {0xAB, 0xCD};
const char arr2[] __attribute__((section(“.mysec”))) = {0xEF, 0xFE};
باید arr2 سمدلاسه د arr1 وروسته ځای په ځای کړي.
د برخې د پیل پته مشخص کول (XC8-2650) The -W1، -section-start اختیار په خاموشۍ سره د نومول شوي پیل پته کې د برخو په ځای کولو کې پاتې راغلی. دا مسله د هر ډول دودیز نوم شوي برخې لپاره ټاکل شوې ده؛ په هرصورت، دا به د کوم معیاري برخو لپاره کار ونکړي، لکه . متن یا . bss، کوم چې باید د -W1، -T اختیار په کارولو سره ځای په ځای شي.
لینکر خرابیږي کله چې آرام وي (XC8-2647) کله چې د -mrelax اصلاح فعاله شوې وه او د کوډ یا ډیټا برخې شتون درلود چې په موجود حافظه کې مناسب نه و ، لینکر خراب شو. اوس ، په داسې حالت کې ، د غلطۍ پیغامونه پرځای خپاره شوي.
د نه غورځېدو-بېرته (XC8-2646) The - د nofallback اختیار په سمه توګه نه پلي شوی، او نه هم مستند شوی. دا اوس غوره کیدی شي ترڅو ډاډ ترلاسه شي چې کمپیلر به بیرته د ټیټ اصلاح کولو ترتیب ته نه راځي که چیرې کمپیلر غیر جواز ولري ، او پرځای به یې خطا صادره کړي.
نامناسب سرعت اصلاح کول (X03-2637) د طرزالعمل خلاصون اصلاح کول فعال شوي و کله چې د 3 کچه غوره کول (-03). دا اصلاح کول د کوډ سرعت په لګښت د کوډ اندازه کموي، نو باید ترسره شوي نه وي.
خراب EEPROM لاسرسی (XC8-2629) د eeprom_read_block روټین په Xmega وسیلو کې سم کار نه کاوه کله چې -mconst-data-in-progmem اختیار فعال شوی و (کوم چې ډیفالټ حالت دی) ، په پایله کې د EEPROM حافظه په سمه توګه نه لوستل کیږي.
د حافظې ناسم تخصیص (XC8-2593, XC8-2651) کله چې -Ttext یا -Tdata لینکر اختیار (د مثال لپارهample د -vl ډرایور اختیار په کارولو سره تیر شو) مشخص شوی ، د اړوند متن / ډیټا سیمه اصل تازه شوی؛ په هرصورت، د پای پته د دې مطابق نه وه تنظیم شوې، کوم چې کیدای شي سیمه د هدف آله د حافظې رینج څخه زیاته کړي.
د ډیر منسوب فعالیت سره حادثه (XC8-2580) کمپیلر خراب شو که چیرې یو فنکشن له یو څخه ډیرو مداخلو ، سیګنال یا nmi ځانګړتیاو په کارولو سره اعلان شي ، د مثال په توګه ، خاصیت (( سیګنال ، مداخلت) ).
ناسم ATtiny مداخله کوډ (XC8-2465) کله چې د ATtiny وسیلو لپاره جوړول او اصلاح کول غیر فعال شوي (-00) ، د مداخلې افعال ممکن د رینج راټولونکي پیغامونو څخه بهر عملیات پیل کړي.
اختیارونه نه تیریږي (XC8-2452) کله چې د ډیری، کوما سره جلا شوي لینکر اختیارونو سره اختیار وکاروئ، د لینکر ټول اختیارونه لینکر ته نه لیږدول شوي.
په غیر مستقیم ډول د برنامه حافظې لوستلو تېروتنه (X03-2450) په ځینو مواردو کې، تالیف کونکي داخلي تېروتنه (د نه پیژندلو وړ insn) رامینځته کړې کله چې د پوائنټر څخه د برنامې حافظې ته د دوه بایټ ارزښت لوستل.
5.6. نسخه 2.32
د دوهم لاسرسی کتابتون ناکام شو (XC8-2381) د xc8-ar وینډوز نسخه غوښتنه کول. د موجوده کتابتون آرشیف ته د لاسرسي لپاره د .exe کتابتون آرشیور دوهم ځل ممکن د غلطۍ پیغام نوم بدلولو کې پاتې راغلی وي.
5.7. نسخه 2.31
ناڅرګند تالیف کونکی ناکامۍ (XC8-2367) کله چې په وینډوز پلیټ فارمونو کې چلول چې د سیسټم لنډمهاله لارښود یې یوې لارې ته ټاکلی و چې پکې یو ټکی '.' کرکټر، کمپیلر ممکن په اجرا کولو کې پاتې راغلی وي.
5.8. نسخه 2.30
نړیوال لیبلونه د خاکه کولو وروسته غلط شوي (XC8-2299) د لاسي لیکل شوي اسمبلۍ کوډ چې نړیوال لیبلونه د مجلس په ترتیبونو کې ځای په ځای کوي چې د طرزالعمل خلاصون لخوا رامینځته شوي ممکن په سمه توګه ځای په ځای شوي نه وي.
یو آرامه حادثه (XC8-2287) د -mrelax اختیار کارول ممکن د لینکر د خرابیدو لامل شوي وي کله چې د tail جمپ آرامۍ اصلاح کولو هڅه کوله د ret لارښوونې لرې کړي چې د یوې برخې په پای کې نه وې.
کریش کله چې لیبلونه د ارزښتونو په توګه غوره کول (XC8-2282) کوډ د "ارزښتونو په توګه لیبلونه" کارول د GNU C ژبې توسیع ممکن د طرزالعمل خلاصون اصلاحونه د خرابیدو لامل شوي وي ، د VMA رینج سپان فکس اپ غلطی سره.
دومره نه ده (XC8-2271) د سټ rstr ( ) او نورو دندو لپاره پروټوټایپونه کله چې د -mconst-data-inprogmem خصوصیت غیر فعال وي نو بیرته راستانه شوي سټینګ پوائنټرونو کې غیر معیاري کانسټ کوالیفایر مه مشخص کوئ. په یاد ولرئ چې د avrxmega3 او avrtiny وسیلو سره، دا ځانګړتیا د تل لپاره فعاله شوې ده.
ورک شوي ابتدایونکي (XC8-2269) کله چې ډیر وي د ژباړې په واحد کې یو متغیر په یوه برخه کې ځای په ځای شوی و (د _section یا _attribute_ ( (برخه)) په کارولو سره، او لومړی دا ډول متغیر صفر ابتکار شوی و یا ابتکار نه درلود، د نورو متغیرونو لپاره ابتکار په ورته ژباړې واحد کې ځای پرځای شوي په همدې برخه کې ورک شول.
5.1. نسخه 2.29 (فعال خوندیتوب خوشې کول)
هیڅ نه.
5.2. نسخه 2.20
د اوږد حکمونو سره تېروتنه (XC8-1983) کله چې د AVR هدف وکاروئ ، کمپیلر ممکن د a سره ودریدلی وي file تېروتنه ونه موندل شوه، که د کمانډ لاین خورا لوی و او ځانګړي حروف ولري لکه نرخونه، بیک سلیشونه، او نور.
د روډاټا نه ټاکل شوې برخه (XC8-1920) د AVR لینکر د دودیز روډاټا برخو لپاره د حافظې په ټاکلو کې پاتې راغلی کله چې د avrxmega3 او avrtiny آرکیټیکچرونو لپاره رامینځته کول ، په احتمالي توګه د حافظې اوورلیپ غلطۍ تولیدوي
5.3. نسخه 2.19 (فعال خوندیتوب خوشې کول)
هیڅ نه.
5.4. نسخه 2.10
د لیږد ناکامي (XC8-1891) غوره مناسب تخصیص کونکی د لینکر آرامۍ وروسته د برخو په مینځ کې د حافظې 'سوري' پریږدي. د حافظې د ټوټې کیدو سربیره ، دې د کمپیوټر اړوند کودونو یا تلیفونونو له حد څخه بهر کیدو پورې اړوند د لینکر ځای په ځای کولو ناکامۍ احتمال ډیر کړی.
لارښوونې د استراحت (XC8-1889) لخوا نه بدلېدونکي د لینکر آرامۍ د کود یا زنګ لارښوونو لپاره ندي رامینځته شوي چې هدف ته د رسیدو وړ وي که چیرې آرام وي.
ورک شوی فعالیت (XC8E-388) څخه څو تعریفونه ، لکه clock_div_t او clock_prescale set () ، د وسیلو لپاره ندي تعریف شوي ، پشمول د ATmega324PB، ATmega328PB، ATtiny441، او ATtiny841.
ورک شوي میکرو د پری پروسیسر میکرو _XC8_MODE_، _XC8_VERS ION، _XC، او _XC8 په اوتومات ډول د تالیف کونکي لخوا ندي تعریف شوي. دا اوس شتون لري.
5.5. نسخه 2.05
د داخلي کمپیلر تېروتنه (XC8-1822) کله چې د وینډوز لاندې جوړیږي، د کوډ اصلاح کولو په وخت کې د داخلي کمپیلر تېروتنه ممکن تولید شوې وي.
د RAM اوور فلو ندی کشف شوی (XC8-1800, XC8-1796) هغه پروګرامونه چې د شته RAM څخه ډیر شوي په ځینو حاالتو کې د کمپیلر لخوا ندي کشف شوي، په پایله کې د چلولو کوډ ناکامي.
ورک شوی فلش حافظه (XC8-1792) د avrxmega3 او avrtiny وسیلو لپاره، د فلش حافظې برخې ممکن د MPLAB X لخوا غیر پروګرام شوي پاتې شوي وي IDE.
د اصلي اجرا کولو کې پاتې راتلل (XC8-1788) په ځینو حاالتو کې چیرې چې برنامه هیڅ نړیوال تغیرات ندي تعریف شوي ، د چلولو وخت پیل کولو کوډ نه و وتلی او اصلي () فنکشن ته هیڅکله نه و رسیدلی.
د حافظې ناسم معلومات (XC8-1787) د avrxmega3 او avrtiny وسیلو لپاره، د avr-size برنامه راپور ورکوي چې یوازې د لوستلو ډیټا د برنامې حافظې پرځای رام مصرفوي.
د پروګرام غلط حافظه لوستل (XC8-1783) هغه پروژې چې د برنامه حافظې سره د وسیلو لپاره ترکیب شوي د ډیټا پته ځای کې نقشه شوي او دا چې د PROGMEM میکرو/خصوصیت په کارولو سره شیان تعریفوي ممکن دا توکي له غلط ادرس څخه لوستل شوي وي.
د صفاتو سره داخلي تېروتنه (XC8-1773) داخلي تېروتنه رامنځ ته شوه که تاسو د پوائنټر څیزونه د سره تعریف کړئ
_at () یا attribute() ټوکن د پوائنټر نوم او بې ځایه شوي ډول تر منځ، د مثال لپارهampلی، چار*
_at (0x800150) cp; یو خبرداری اوس خپور شوی که چیرې داسې کوډ ورسره مخ شي.
د اصلي اجرا کولو کې پاتې راتلل (XC8-1780, XC8-1767, XC8-1754) د EEPROM متغیرونو کارول یا د کنفیګ پراګما په کارولو سره د فیوز تعریف کول ممکن د غلط معلوماتو پیل کولو او/یا د رن ټایم سټارټ اپ کوډ کې د برنامه اجرا کول بند کړي ، مخکې له دې چې اصلي () ته ورسي.
د وړو وسیلو سره د فیوز تېروتنه (XC8-1778، XC8-1742) attiny4/5/9/10/20/40 وسیلو د فیوز ناسم اوږدوالی درلود چې په سر کې مشخص شوی files چې د لینکر غلطیو لامل کیږي کله چې د کوډ جوړولو هڅه کوي چې فیوز تعریف کړي.
قطع کول غلطي (XC8-1777) د وقفې وقفې خطا سمه شوې.
د اسمبلر حادثه (XC8-1761) د avr-as جمع کونکی ممکن هغه وخت ټکر شوی وي کله چې کمپیلر د اوبنټو 18 لاندې چلول شوی و.
هغه شیان چې پاک شوي ندي (XC8-1752) غیر پیل شوي جامد ذخیره کولو مودې توکي ممکن د چلولو وخت پیل کولو کوډ لخوا پاک شوي نه وي.
د متضاد وسیلې مشخصات له پامه غورځول شوي (XC8-1749) تالیف کونکی غلطي نه رامینځته کوي کله چې د وسیلې ډیری توضیحي اختیارونه کارول شوي او مختلف وسیلې یې په ګوته کړي.
د حافظې فساد د هپ (XC8-1748) په واسطه د _heap_start سمبول په غلطه توګه ترتیب شوی و، چې په پایله کې د عادي متغیرونو احتمال د هپ لخوا فاسد شوی و.
د لینکر د ځای په ځای کولو تېروتنه (XC8-1739) د لینکر د ځای پرځای کولو تېروتنه ممکن هغه وخت راپورته شوې وي کله چې کوډ کې rjmp یا rcal د هدف سره دقیقا 4k بایټ لرې وي.
5.6. نسخه 2.00
هیڅ نه.
پیژندل شوي مسایل
لاندې د کمپیلر په عملیاتو کې محدودیتونه دي. دا ممکن د کوډ کولو عمومي محدودیتونه وي، یا د کارونکي لارښود کې موجود معلوماتو څخه انحراف وي. په سرلیک کې بریکٹ شوي لیبل د تعقیب ډیټابیس کې د مسلې پیژندنه ده. دا ممکن ګټور وي که تاسو اړتیا لرئ د مرستې سره اړیکه ونیسئ. هغه توکي چې لیبلونه نلري هغه محدودیتونه دي چې د مودي عملیات تشریح کوي او احتمال لري چې د تل لپاره اغیزمن پاتې شي.
6.1. MPLAB X IDE ادغام
د MPLAB IDE integration که کمپیلر باید د MPLAB IDE څخه وکارول شي ، نو تاسو باید د کمپیلر نصبولو دمخه MPLAB IDE نصب کړئ.
6.2. د کوډ تولید
سیګفالټ د برخې-انکرز اختیار (XC8-3045) برنامه سره چې د متغیر دلیل لیستونو سره دندې تعریفوي او دا چې د -fsection-anchors اختیار کاروي ممکن د داخلي کمپیلر تېروتنه رامینځته کړي: د قطع کولو غلطی.
ډیبګ معلومات له همغږي څخه بهر (XC8-2948) کله چې د لینکر آرامۍ اصلاح لارښوونې کموي (د مثال لپارهampد rcall لارښوونو ته د زنګ ووهئ)، د نقشې په نښه کولو لپاره د سرچینې لاین ممکن په همغږي کې پاتې نشي کله چې په یوه برخه کې له یو څخه ډیر کم شوي عملیات شتون ولري.
په لاندې مثال کېample، د foo لپاره دوه زنګونه شتون لري چې د خپلو اړوندو تلیفونونو لپاره آرامۍ پای ته رسوي.
د PA حافظې تخصیص ناکامي (XC8-2881) کله چې د طرزالعمل خلاصون اصلاح کونکي کاروئ ، لینکر ممکن د حافظې تخصیص غلطی راپور کړي کله چې د کوډ اندازه په وسیله کې د موجود برنامې حافظې مقدار ته نږدې وي ، پداسې حال کې چې برنامه باید د دې وړ وي چې شتون ولري.
دومره هوښیار ندی Smart-I0 (XC8-2872) د کمپیلر smart-io فیچر به د snprint f فنکشن لپاره معتبر مګر فرعي غوره کوډ رامینځته کړي که چیرې د کانسټ ډیټا-ان-پروګم خصوصیت غیر فعال شوی وي یا که وسیله خپل ټول فلش د ډیټا حافظې کې نقشه کړي وي.
حتی لږ سمارټ Smart-I0 (XC8-2869) د تالیف کونکي سمارټ-io ځانګړتیا به د اعتبار وړ مګر فرعي غوره کوډ رامینځته کړي کله چې -flto او -fno-builtin اختیارونه دواړه کارول کیږي.
د سبو غوره یوازې لوستلو ډاټا ځای په ځای کول (XC8-2849) لینکر اوس مهال د APPCODE او APPDATA حافظې برخو څخه خبر نه دی، او نه هم د حافظې په نقشه کې د لوستلو په وخت کې د لیکلو ویش. د پایلې په توګه، لږ چانس شتون لري چې لینکر ممکن د حافظې په نا مناسبه سیمه کې یوازې د لوستلو ډاټا تخصیص کړي. د غلط ځای پرځای شوي ډیټا چانس ډیریږي که چیرې د const-data-in-progmem ځانګړنه فعاله شي، په ځانګړې توګه که د const-data-in-config-mapped-progmem فیچر هم فعاله وي. دا ځانګړتیاوې د اړتیا په صورت کې غیر فعال کیدی شي.
اعتراض file د پروسس امر (XC8-2863) هغه ترتیب په کوم کې چې توکي files به د لینکر لخوا پروسس شي ممکن د طرزالعمل خلاصون اصلاح کولو (-mpa اختیار) کارولو پراساس توپیر ولري. دا به یوازې په کوډ اغیزه وکړي کوم چې په ډیری ماډلونو کې ضعیف افعال تعریفوي.
د مطلق سره د لینک کولو تېروتنه (XC8-2777) کله چې یو شی د RAM په پیل کې په یوه پته کې مطلق جوړ شوی وي او غیر پیل شوي توکي هم تعریف شوي وي، د لینکر تېروتنه ممکن پیل شي.
د لنډ بیدارۍ IDs (XC8-2775) د ATA5700/2 وسیلو لپاره، د PHIDO/1 راجسترونه یوازې د 16 بټ پراخه په توګه تعریف شوي، نه د 32 بټ پراخه.
د زنګ وهلو سمبول (XC8-2758) پر مهال د لینکر حادثه لینکر ممکن خراب شي که چیرې د -mrelax ډرایور اختیار وکارول شي کله چې د سرچینې کوډ یو سمبول ته زنګ ووهي چې د -cc., -de f sym لینکر اختیار په کارولو سره تعریف شوی.
غلط ابتکار (XC8-2679) هلته یو توپیر دی چیرې چې د ځینې نړیوال / جامد بایټ اندازې شیانو لپاره لومړني ارزښتونه د ډیټا حافظه کې ځای په ځای شوي او چیرې چې تغیرات به د چلولو په وخت کې لاسرسی ومومي.
خراب غیر مستقیم فعالیت زنګونه (XC8-2628) په ځینو مواردو کې، د فنکشن زنګونه د فنکشن پوائنټر له لارې رامینځته شوي چې د جوړښت برخې په توګه زیرمه شوي ممکن ناکام شي.
strtof د هیکساډیسیمل فلوټس لپاره صفر راګرځوي (XC8-2626) د کتابتون فعالیت strtof et al او scanf ( ) et al، به تل د هیکساډیسیمل فلوټینګ پوائنټ شمیره بدلوي چې صفر ته د اکسپوننټ مشخص نه کوي. د مثال لپارهampLe:
strtof ("Oxl"، &endptr) ;
د 0 ارزښت به بیرته راستانه کړي، نه I.
ناسم سټیک مشاور پیغام رسول (XC8-2542, XC8-2541) په ځینو مواردو کې، د استعمال شوي تکرار یا نامعلوم سټیک په اړه د سټیک مشاور خبرداری (احتمالا د alloca()) کارولو له لارې نه خپریږي.
د نقل مداخلې کوډ سره ناکامي (XC8-2421) چیرې چې له یو څخه ډیر مداخلې فعالیت ورته بدن لري ، کمپیلر ممکن د یو مداخلې فنکشن لپاره محصول ولري بل ته زنګ ووهي. دا به په پایله کې ټول د کال-کلوبر شوي راجسترونه په غیر ضروري توګه خوندي شي، او مداخلې به حتی مخکې له دې چې د اوسني مداخلې هینډلر ایپیلوګ پیل شي فعال شي، کوم چې د کوډ ناکامۍ لامل کیدی شي.
د ناسم DFP لارې سره خراب محصول (XC8-2376) که تالیف کونکی د غلط DFP لارې او یو 'شخص' سره وغوښتل شي file د ټاکل شوي وسیلې لپاره شتون لري ، تالیف کونکی د ورک شوي وسیلې کورنۍ کڅوړه راپور نه ورکوي او پرځای یې 'شخص' غوره کوي file، کوم چې بیا د ناسم محصول لامل کیدی شي. 'ځانګړنه' files ممکن د توزیع شوي DFPs سره تازه نه وي او یوازې د داخلي کمپیلر ازموینې سره د کارولو لپاره و.
د حافظې اوورلیپ نه موندل شوی (XC8-1966) تالیف کونکی د هغه شیانو د حافظې اوورلیپ نه کشف کوي چې په پته کې مطلق رامینځته شوي (د _at () له لارې او نور توکي د برخې ( ) مشخص کونکي په کارولو سره او د ورته پتې سره تړلي دي.
د کتابتون د دندو او _memx سره ناکامي (XC8-1763) د memx پته ځای کې د دلیل سره د libgcc فلوټ فنکشن ویل کیدی شي ناکام شي. په یاد ولرئ چې د کتابتون معمولونه د ځینې C آپریټرانو څخه ویل کیږي، نو د مثال لپارهample، لاندې کوډ اغیزمن شوی دی:
بیرته ستنیدنه regFloatVar > memxFloatVar؛
محدود libgcc تطبیق (AVRTC-731) د ATTiny4/5/9/10/20/40 محصولاتو لپاره، په libgcc کې د معیاري C / ریاضي کتابتون پلي کول خورا محدود یا شتون نلري.
د پروګرام د حافظې محدودیتونه (AVRTC-732) د 128 kb څخه هاخوا د برنامې حافظې عکسونه د اوزار چین لخوا ملاتړ کیږي؛ په هرصورت، د لینکر د بندیدو پیژندل شوي مثالونه شتون لري پرته له آرامۍ او پرته له کوم ګټور خطا پیغام پرته د اړتیا وړ فنکشن سټبس رامینځته کولو په ځای کله چې -mre lax اختیار کارول کیږي.
د نوم ځای محدودیتونه (AVRTC-733) نومول شوي پته ځایونه د وسیلې چین لخوا ملاتړ کیږي ، د کارونکي لارښود برخه کې د ځانګړي ډول کوالیفایرونو کې ذکر شوي محدودیتونو تابع دي.
د وخت زونونه د کتابتون فعالیتونه GMT فرض کوي او د محلي وخت زونونو ملاتړ نه کوي، په دې توګه ځایی وخت () به د gmtime () په څیر ورته وخت بیرته راستانه شي، د مثال لپارهample.
file:///Applications/microchip/xc8/v2.41/docs/Readme_XC8_for_AVR.htm
اسناد / سرچینې
![]() |
د مایکروچپ MPLAB XC8 C کمپیلر پرمختیا سافټویر [pdf] د مالک لارښود MPLAB XC8 C، MPLAB XC8 C کمپیلر پرمختیا سافټویر، د کمپیلر پرمختیا سافټویر، پرمختیا سافټویر، سافټویر |




