МИЦРОЦХИП МПЛАБ КСЦ8 Ц компајлерски софтвер 

МИЦРОЦХИП МПЛАБ КСЦ8 Ц компајлерски софтвер

ОВАЈ ДОКУМЕНТ САДРЖИ ВАЖНЕ ИНФОРМАЦИЈЕ КОЈЕ СЕ ОДНОСЕ НА МПЛАБ КСЦ8 Ц КОМПИЛАТОР КАДА ЦИЉАТЕ МИЦРОЦХИП АВР УРЕЂАЈЕ.
МОЛИМ ВАС ПРОЧИТАЈТЕ ГА ПРИЈЕ ПОКРЕТАЊА ОВАЈ СОФТВЕР. ПОГЛЕДАЈТЕ НАПОМЕНЕ О ИЗДАВАЊУ МПЛАБ КСЦ8 Ц КОМПИЛАТОРА ЗА ПИЦ ДОКУМЕНТ АКО КОРИСТИТЕ КОМПИЛЕР ЗА 8-БИТНЕ ПИЦ УРЕЂАЈЕ.

Садржај сакрити

Готовоview

Увод

Ово издање Мицроцхип МПЛАБ® КСЦ8 Ц компајлера садржи неколико нових функција, исправке грешака и подршку за нове уређаје.

Датум израде

Званични датум израде ове верзије компајлера је 3. јул 2022.

Претходна верзија

Претходна верзија МПЛАБ КСЦ8 Ц компајлера била је 2.39, компајлер функционалне безбедности, направљен 27. јануара 2022. Претходни стандардни компајлер је била верзија 2.36, направљена 27. јануара 2022. године.

Приручник за функционалну безбедност

Приручник за функционалну безбедност за компајлере МПЛАБ КСЦ доступан је у пакету документације када купите лиценцу за функционалну безбедност.

Лиценце и верзије компоненти

МПЛАБ® КСЦ8 Ц компајлер за АВР МЦУ алате је написан и дистрибуиран под ГНУ општом јавном лиценцом (ГПЛ) што значи да се његов изворни код слободно дистрибуира и доступан јавности. Изворни код за алате под ГНУ ГПЛ може се преузети одвојено од Мицроцхип-а webсајту. Можете прочитати ГНУ ГПЛ у file намед налази поддиректоријум вашег инсталационог директоријума. Општа дискусија о принципима на којима се заснива ГПЛ може се наћи овде. Код подршке обезбеђен за заглавље fileс, линкер скрипте и рунтиме библиотеке су власнички код и нису покривени ГПЛ-ом.

Овај компајлер је имплементација ГЦЦ верзије 5.4.0, бинутилс верзије 2.26 и користи авр-либц верзију 2.0.0.

Системски захтеви

МПЛАБ КСЦ8 Ц компајлер и софтвер за лиценцирање који користи доступни су за различите оперативне системе, укључујући 64-битне верзије следећег: Професионална издања Мицрософт Виндовс 10; Убунту 18.04; и мацОС 10.15.5. Бинарне датотеке за Виндовс су потписане кодом. Бинарне датотеке за мац ОС су потписане кодом и оверене код нотара.

Ако користите мрежни сервер лиценци, само рачунари са оперативним системима које подржавају компајлери могу се користити за хостовање сервера лиценци. Од кцлм верзије 2.0, сервер мрежних лиценци може да се инсталира на Мицрософт Виндовс Сервер платформи, али сервер лиценци не мора да ради на серверској верзији оперативног система.

Подржани уређаји

Овај компајлер подржава све 8-битне АВР МЦУ уређаје познате у време издавања. Погледајте (у доц директоријуму компајлера) листу свих подржаних уређаја. Ове fileс такође наводи подешавања битова конфигурације за сваки уређај.

Издања и надоградње лиценце

МПЛАБ КСЦ8 компајлер се може активирати као лиценцирани (ПРО) или нелиценцирани (бесплатни) производ. Морате да купите кључ за активацију да бисте лиценцирали свој компајлер. Лиценца омогућава виши ниво оптимизације у поређењу са бесплатним производом. Нелиценцирани компајлер може радити неограничено без лиценце.

Компајлер за функционалну безбедност МПЛАБ КСЦ8 мора бити активиран уз лиценцу за функционалну безбедност купљену од Мицроцхипа. Компајлер неће радити без ове лиценце. Када се активира, можете одабрати било који ниво оптимизације и користити све функције компајлера. Ово издање МПЛАБ КСЦ компајлера функционалне безбедности подржава лиценцу мрежног сервера.
Погледајте документ Инсталирање и лиценцирање МПЛАБ КСЦ Ц компајлера (ДС50002059) за информације о типовима лиценци и инсталацији компајлера са лиценцом.

Инсталација и активација

Такође погледајте одељке Проблеми и ограничења миграције за важне информације о најновијем менаџеру лиценци укљученом у овај компајлер.
Ако користите МПЛАБ ИДЕ, обавезно инсталирајте најновију МПЛАБ Кс ИДЕ верзију 5.0 или новију пре инсталирања овог алата. Затворите ИДЕ пре инсталирања компајлера. Покрените апликацију за инсталацију компајлера .еке (Виндовс), .рун (Линук) или апп (мацОС), нпр. КСЦ8-1.00.11403-виндовс.еке и пратите упутства на екрану.
Препоручује се подразумевани директоријум за инсталацију. Ако користите Линук, морате да инсталирате компајлер користећи терминал и са роот налога. Инсталирајте помоћу мацОС налога са администраторским привилегијама.

Активација се сада врши одвојено од инсталације. Погледајте документ Лиценсе Манагер за МПЛАБ® КСЦ Ц компајлере (ДС52059) за више информација.

Ако одлучите да покренете компајлер под лиценцом за процену, сада ћете добити упозорење током компилације када будете у року од 14 дана од краја периода евалуације. Исто упозорење се издаје ако сте у року од 14 дана од краја ваше ХПА претплате.

КСЦ Нетворк Лиценсе Сервер је засебан инсталатер и није укључен у инсталациони програм компајлера за једног корисника.

КСЦ Лиценсе Манагер сада подржава роминг мрежних лиценци. Намењена корисницима мобилних уређаја, ова функција омогућава да се плутајућа лиценца на кратко искључи са мреже. Користећи ову функцију, можете прекинути везу са мрежом и даље користити свој МПЛАБ КСЦ компајлер. Више о овој функцији потражите у фасцикли доц КСЦЛМ инсталације. МПЛАБ Кс ИДЕ укључује прозор Лиценце (Алатке > Лиценце) за визуелно управљање ромингом.

Решавање проблема са инсталацијом

Ако наиђете на потешкоће при инсталацији компајлера под било којим од Виндовс оперативних система, покушајте са следећим сугестијама.

  • Покрените инсталацију као администратор.
  • Подесите дозволе апликације за инсталацију на „Пуна контрола“. (Кликните десним тастером миша на file, изаберите Својства, картицу Безбедност, изаберите корисника, измените.)
  • Поставите дозволе привремене фасцикле на „Пуна контрола!

Да бисте одредили локацију привремене фасцикле, откуцајте %темп% у команду Покрени (тастер са логотипом Виндовс + Р). Ово ће отворити а file дијалог истраживача који приказује тај директоријум и омогућиће вам да одредите путању до тог директоријума.

Документација компајлера

Кориснички водичи компајлера могу се отворити са ХТМЛ странице која се отвара у вашем претраживачу када кликнете на плаво дугме помоћи на МПЛАБ Кс ИДЕ контролној табли, као што је приказано на снимку екрана.

Документација компајлера
Ако градите за 8-битне АВР циљеве, Упутство за употребу компајлера МПЛАБ® КСЦ8 Ц за АВР® МЦУ садржи информације о оним опцијама и карактеристикама компајлера које су применљиве на ову архитектуру.

Корисничка подршка

Мицроцхип поздравља извештаје о грешкама, сугестије или коментаре у вези са овом верзијом компајлера. Молимо вас да све извештаје о грешкама или захтеве за функције упутите преко система подршке.

Ажурирања документације

За онлајн и ажурне верзије МПЛАБ КСЦ8 документације, посетите Мицроцхипову онлајн техничку документацију webсајту.

Нова или ажурирана АВР документација у овом издању:

  • Обавештење о ауторским правима МУСЛ-а
  • Инсталирање и лиценцирање МПЛАБ КСЦ Ц компајлера (ревизија М)
  • МПЛАБ КСЦ8 Кориснички водич за уграђене инжењере – АВР МЦУ (ревизија А)
  • Упутство за коришћење МПЛАБ КСЦ8 Ц компајлера за АВР МЦУ (ревизија Ф)
  • Референтни водич за обједињену стандардну библиотеку Мицроцхип (ревизија Б)

Референтни водич за обједињену стандардну библиотеку Мицроцхип описује понашање и интерфејс за функције дефинисане Мицроцхип Унифиед Стандард Либрари, као и намеравану употребу типова библиотека и макроа. Неке од ових информација су раније биле садржане у корисничком водичу за МПЛАБ® КСЦ8 Ц компајлер за АВР® МЦУ. Информације о библиотеци специфичне за уређај су и даље садржане у овом водичу за компајлер.

Ако тек почињете са 8-битним уређајима и МПЛАБ КСЦ8 Ц компајлером, МПЛАБ® КСЦ8 Кориснички водич за уграђене инжењере – АВР® МЦУ (ДС50003108) садржи информације о постављању пројеката у МПЛАБ Кс ИДЕ и писању кода за ваш први МПЛАБ КСЦ8 Ц пројекат. Овај водич је сада дистрибуиран са компајлером.

Хамате кориснички водич је укључен у директоријум докумената у овом издању. Овај водич је намењен онима који користе Хамате као самосталну апликацију.

Шта је ново

Следе нове функције АВР циља које компајлер сада подржава. Број верзије у поднасловима означава прву верзију компајлера која подржава функције које следе.

Верзија 2.40

Подршка за нови уређај Подршка је сада доступна за следеће АВР делове: АТ90ПВМ3, АВР16ДД14, АВР16ДД20, АВР16ДД28, АВР16ДД32, АВР32ДД14, АВР32ДД20, АВР32ДД28, АВР32ДД32, АВР64ЕА28, АВР64ЕА32, АВР64ЕА48 и АВРXNUMXЕАXNUMX.
Побољшана процедурална апстракција Алат за оптимизацију процедуралне апстракције (ПА) је побољшан тако да код који садржи инструкцију за позивање функције ( цалл рецалл ) може да се оцрта. Ово ће се догодити само ако се стек не користи за прослеђивање аргумената нити за добијање повратне вредности из функције. Стек се користи када се позива функција са листом променљивих аргумената или када се позива функција која узима више аргумената него што има регистара одређених за ову сврху. Ова функција се може онемогућити помоћу опције монк-па-оутлине-цаллс, или се процедурална апстракција може у потпуности онемогућити за објекат file или функционишу коришћењем -монк-па-он-file и -мо.-па-он-фунцтион, респективно, или коришћењем атрибута нипа (нипа специфицер) селективно са функцијама

Макро за покривање кода Компајлер сада дефинише макро __ЦОДЕЦОВ ако је наведена важећа опција мцодецов.

Опција резервисања меморије кц8-цц драјвер ће сада прихватити опцију -мресерве=спаце@старт: енд приликом изградње за АВР циљеве. Ова опција резервише наведени опсег меморије у меморијском простору података или програма, спречавајући повезивач да попуни код или објекте у овој области.

Паметнији паметни ИО Неколико побољшања је направљено у Смарт ИО функцијама, укључујући општа подешавања кода принтф језгра, третирање спецификације конверзије %н као независне варијанте, повезивање у рутинама варарг поп на захтев, коришћење краћих типова података где је то могуће за руковање аргументима ИО функције , и факторисање заједничког кода у ширини поља и прецизном руковању. Ово може резултирати значајним уштедама кода и података, као и повећањем брзине извршавања ИО-а.

Верзија 2.39 (издање функционалне безбедности)

Лиценца мрежног сервера Ово издање МПЛАБ КСЦ8 компајлера функционалне безбедности подржава лиценцу мрежног сервера.

Верзија 2.36

Ниједан.

Верзија 2.35

Подршка за нови уређај Подршка је доступна за следеће АВР делове: АТТИНИ3224, АТТИНИ3226, АТТИНИ3227, АВР64ДД14, АВР64ДД20, АВР64ДД28 и АВР64ДД32.

Побољшано пребацивање контекста Нова опција -мцалл-иср-прологуес мења начин на који функције прекида чувају регистре при уласку и како се ти регистри враћају када се рутина прекида заврши. Ради на сличан начин као опција -мцалл-прологуес, али утиче само на функције прекида (ИСР).

Још више побољшана промена контекста Нова опција -мгас-иср-прологуес контролише контекстни итцх код генерисан за мале сервисне рутине прекида. Када је омогућена, ова функција ће натерати асемблер да скенира ИСР за коришћење регистра и да сачува ове коришћене регистре само ако је потребно.

Конфигурабилно флеш мапирање Неки уређаји у породици АВР ДА и АВР ДБ имају СФР (нпр. ФЛМАП) који одређује који одељак од 32к програмске меморије ће бити мапиран у меморију података. Нова опција – мцонст-дата-ин-цонфиг-маппед-проем може да се користи да би повезивач ставио све квалификоване податке у један одељак од 32к и аутоматски иницијализовао релевантни СФР регистар како би се осигурало да су ови подаци мапирани у меморијски простор података , где ће му се ефикасније приступати.

Мицроцхип Унифиед Стандард Либрариес Сви МПЛАБ КСЦ компајлери ће делити Мицроцхип Унифиед Стандард Либрари, која је сада доступна са овим издањем МПЛАБ КСЦ8. Упутство за коришћење компајлера МПЛАБ® КСЦ8 Ц/или АВР® МЦУ више не укључује документацију за ове стандардне функције. Ове информације се сада могу наћи у Референтном водичу за обједињену стандардну библиотеку Мицроцхип-а. Имајте на уму да неке функције које је претходно дефинисао авр-либц више нису доступне. (Види Библиотеку):'. функционалност...)

Смарт ИО Као део нових обједињених библиотека, ИО функције у породицама за штампање и скенирање се сада генеришу по мери за сваку верзију, на основу начина на који се ове функције користе у програму. Ово може значајно смањити ресурсе које користи програм.
Опција паметне ИО помоћи Када анализира позиве паметним ИО функцијама (као што су принтф () или сцанф () ), преводилац не може увек да одреди из стринга формата или да закључи из аргумената оне спецификације конверзије које захтева позив. Раније, компајлер увек не би правио претпоставке и обезбедио да су потпуно функционалне ИО функције повезане у коначну слику програма. Додата је нова опција – мсмарт-ио-формат=фмт тако да компајлер уместо тога може да буде обавештен од стране корисника о спецификацијама конверзије које користе паметне ИО функције чија је употреба двосмислена, спречавајући повезивање претерано дугих ИО рутина. (Погледајте опцију смарт-ио-формат за више детаља.)

Постављање прилагођених секција Раније је опција -Вл, –сецтион-старт само постављала наведени одељак на тражену адресу када је скрипта повезивача дефинисала излазни одељак са истим именом. Када то није био случај, одељак је постављен на адресу коју је изабрао линкер и опција је у суштини занемарена. Сада ће опција бити поштована за све прилагођене одељке, чак и ако скрипта повезивача не дефинише одељак. Имајте на уму, међутим, да за стандардне одељке, као што је . текст, . бсс или . података, најбољи алокатор ће и даље имати потпуну контролу над њиховим постављањем, а опција неће имати ефекта. Користите опцију -Вл, -Тсецтион=адд, као што је описано у корисничком водичу.

Верзија 2.32

Стацк Гуиданце Доступна са ПРО лиценцом за компајлер, функција навођења стека компајлера може се користити за процену максималне дубине било ког стека који програм користи. Он конструише и анализира граф позива програма, одређује употребу стека за сваку функцију и производи извештај из којег се може закључити дубина стекова које програм користи. Ова функција је омогућена преко опције командне линије -мцхп-стацк-усаге. Резиме употребе стека се штампа након извршења. Детаљан извештај о групи је доступан на мапи file, који се може затражити на уобичајен начин.

Подршка за нове уређаје је доступан за следеће АВР делове: АТТИНИ 427, АТТИНИ 424, АТТИНИ 426, АТТИНИ827, АТТИНИ824, АТТИНИ826, АВР32ДБ32, АВР64ДБ48, АВР64ДБ64, АВР64ДБ28, АВР32ДБ28, АВР64ДБ32 и АВР32ДБ48.

Подршка за увучене уређаје више није доступан за следеће АВР делове: АВР16ДА28, АВР16ДА32 и, АВР16ДА48.

Верзија 2.31

Ниједан.

Верзија 2.30

Нова опција за спречавање иницијализације података Нова опција драјвера -мно-дата-инит спречава иницијализацију података и брисање бсс секција. Ради тако што потискује излаз до_ цопи_ дата и д о_ цлеар_ бсс симбола у асемблеру fileс, што ће заузврат спречити укључивање тих рутина од стране повезивача.

Побољшане оптимизације Направљено је више побољшања оптимизације, укључујући уклањање сувишних инструкција за враћање, уклањање неких скокова након инструкције прескочи-ако-бит-је, и побољшану процедурална апстракција и могућност понављања овог процеса.

Додатне опције су сада доступне за контролу неких од ових оптимизација, посебно -ф сидра одељка, што омогућава приступ статичним објектима који се обављају у односу на један симбол; -мпаи дератионс=н, што дозвољава да се број итерација процедуралне апстракције промени са подразумеваног од 2; и -мпа- цалл цост- схортцалл, који изводи агресивнију процедуру апстракције, у нади да линкер може опустити дуге позиве. Ова последња опција може повећати величину кода ако се основне претпоставке не реализују.

Подршка за нови уређај Подршка је доступна за следеће АВР делове: АВР16ДА28, АВР16ДА32,
АВР16ДА48, АВР32ДА28, АВР32ДА32, АВР32ДА48, АВР64ДА28, АВР64ДА32, АВР64ДА48, АВР64ДА64, АВР128ДБ28, АВР128ДБ32, АВР128ДБ48 и АВР128ДБ

Подршка за увучени уређај Подршка више није доступна за следеће АВР делове: АТА5272, АТА5790, АТА5790Н, АТА5791, АТА5795, АТА6285, АТА6286, АТА6612Ц, АТА6613Ц, АТА6614К, АТА6616Ц, АТА6617Ц, и АТА664251ЦXNUMX.

Верзија 2.29 (издање функционалне безбедности)

Хеадер file за уграђене компоненте компајлера Да би се обезбедило да компајлер може да буде у складу са језичким спецификацијама као што је МИСРА, заглавље file, који је аутоматски укључен од , је ажуриран. Ово заглавље садржи прототипове за све уграђене функције, као што су _буил тин _аврноп () и _буил тин_ авр делаи_цицлес () . Неки уграђени модули можда нису компатибилни са МИСРА; они се могу изоставити додавањем дефиниције _Ксе_ СТРИЦТ_ МИСРА у командну линију компајлера. Уграђени елементи и њихове декларације су ажурирани да користе типове фиксне ширине.

Верзија 2.20

Подршка за нови уређај Подршка је доступна за следеће АВР делове: АТТИНИ1624, АТТИНИ1626 и АТТИНИ1627.

Боља најбоља алокација Алокатор најбољег уклапања (БФА) у компајлеру је побољшан тако да се секције додељују у редоследу који омогућава бољу оптимизацију. БФА сада подржава именоване адресне просторе и боље рукује иницијализацијом података.

Побољшана процедурална апстракција Оптимизације процедуралне апстракције се сада изводе на више секвенци кода. Претходне ситуације у којима је ова оптимизација могла повећати величину кода решаване су тако што је код за оптимизацију био свестан процеса сакупљања смећа повезивача.

Одсуство АВР асемблера АВР асемблер више није укључен у ову дистрибуцију.

Верзија 2.19 (издање функционалне безбедности)

Ниједан.

Верзија 2.10

Покривеност кода Ово издање укључује функцију покривености кода која олакшава анализу обима до које је изворни код пројекта извршен. Користите опцију -мцодецов=рам да бисте је омогућили. Након извршавања програма на вашем хардверу, информације о покривености кода ће бити поређане у уређају, а МПЛАБ Кс ИДЕ их може пренети и приказати преко додатка за покривеност кода. Погледајте ИДЕ документацију за информације о овом додатку које можете добити. #прагма мцодецов се може користити за изузимање накнадних функција из анализе покривености. Идеално би било да се прагма дода на почетак file да се то у целини искључи file из анализе обухвата. Алтернативно, атрибут ( (мцодецов) ) се може користити да искључи одређену функцију из анализе покривености.

Опис уређаја files Нови уређај file под називом авр цхипинфо. хтмл се налази у директоријуму докумената дистрибуције компајлера. Ово file наводи све уређаје које подржава компајлер. Кликните на име уређаја и отвориће се страница која приказује све дозвољене парове подешавања битова/вредности конфигурације за тај уређај, са нпр.ampлес.

Процедурална апстракција Процедуралне оптимизације апстракције, које замењују уобичајене блокове асемблерског кода позивима екстраховане копије тог блока, додате су компајлеру. Они се обављају од стране посебне апликације, коју аутоматски позива компајлер када бира ниво 2, 3 или оптимизације. Ове оптимизације смањују величину кода, али могу смањити брзину извршавања и отклањање грешака кода.
Процедурална апстракција се може онемогућити на вишим нивоима оптимизације помоћу опције -мно-па, или се може омогућити на нижим нивоима оптимизације (у зависности од ваше лиценце) коришћењем -мпа. Може се онемогућити за објекат file користећи -мно-па-он-file=fileиме, или онемогућено за функцију коришћењем -мно-па он фунцтион= фунцтион.
Унутар вашег изворног кода, процедурална апстракција се може онемогућити за функцију коришћењем _аттрибуте_ ( (нопа)) са дефиницијом функције, или коришћењем _нопа, који се проширује на атрибут ( (нопа, ноинлине)) и на тај начин спречава уметање функције и постоји апстракција уметнутог кода.
Закључај подршку за битове у прагма Конфигурација #прагма сада може да се користи за одређивање битова за закључавање АВР-а као и других конфигурационих битова. Проверите информације о авр чипу. хтмл file (горе поменуто) за парове подешавања/вредност који ће се користити са овом прагмом.
Подршка за нови уређај Подршка је доступна за следеће делове: АВР28ДА128, АВР64ДА128, АВР32ДА128 и АВР48ДА128.

Верзија 2.05

Више за ваш новац МацОС верзија овог компајлера и менаџера лиценци је сада 64-битна апликација. Ово ће осигурати да ће се компајлер инсталирати и покренути без упозорења на најновијим верзијама мацОС-а.
Цонст објекти у програмској меморији Компајлер сада може да смешта објекте квалификоване за конст у флеш меморију програма, уместо да их има у РАМ-у. Компајлер је модификован тако да се глобални подаци квалификовани за цонст чувају у флеш меморији програма и овим подацима се може директно и индиректно приступити коришћењем одговарајућих инструкција програмске меморије. Ова нова функција је подразумевано омогућена, али се може онемогућити помоћу опције -мно-цонст-дата-ин-прогмем. За авркмега3 и авртини архитектуре, ова функција није потребна и увек је онемогућена, пошто је програмска меморија мапирана у адресни простор података за ове уређаје.
Стандардно бесплатно Нелиценциране (бесплатне) верзије овог компајлера сада дозвољавају оптимизације до и укључујући ниво 2. Ово ће омогућити сличан, иако не идентичан, излаз ономе што је раније било могуће коришћењем стандардне лиценце.
Добродошли АВРАСМ2 АВРАСМ2 асемблер за 8-битне уређаје је сада укључен у инсталатер компајлера КСЦ8. Овај асемблер не користи компајлер КСЦ8, али је доступан за пројекте засноване на ручно писаном асемблерском извору.
Подршка за нови уређај Подршка је доступна за следеће делове: АТМЕГА1608, АТМЕГА1609, АТМЕГА808 и АТМЕГА809.

Верзија 2.00

Дривер највишег нивоа Нови драјвер, назван кц8-цц, сада се налази изнад претходног драјвера авр-гцц и кц8 драјвера и може позвати одговарајући компајлер на основу избора циљног уређаја. Овај драјвер прихвата опције у ГЦЦ стилу, које се или преводе за или прослеђују компајлеру који се извршава. Овај драјвер омогућава да се сличан скуп опција са сличном семантиком користи са било којим АВР или ПИЦ циљем и стога је препоручени начин за позивање компајлера. Ако је потребно, стари авр-гцц драјвер се може позвати директно користећи опције старог стила које је прихватао у ранијим верзијама компајлера.

Заједнички Ц интерфејс Овај компајлер сада може да се прилагоди МПЛАБ Цоммон Ц интерфејсу, омогућавајући лакши пренос изворног кода на све МПЛАБ КСЦ компајлере. Опција -мект=цци захтева ову функцију, омогућавајући алтернативну синтаксу за многе језичке екстензије.

Нови возач библиотекара Нови драјвер библиотекара је позициониран изнад претходног ПИЦ библиотекара библиотекара и АВР авр-ар библиотекара. Овај драјвер прихвата опције у стилу ГЦЦ-архивера, које се или преводе или прослеђују библиотекару који се извршава. Нови драјвер омогућава сличан скуп опција са сличном семантиком да се користи за креирање или манипулисање било којом ПИЦ или АВР библиотеком file и стога је препоручени начин за позивање библиотекара. Ако је потребно за застареле пројекте, претходни библиотекар се може позвати директно користећи опције старог стила које је прихватао у ранијим верзијама компајлера.

Миграциона питања

Следе карактеристике којима компајлер сада рукује другачије. Ове промене могу захтевати модификацију вашег изворног кода ако се код преноси на ову верзију компајлера. Број верзије у поднасловима означава прву верзију компајлера која подржава промене које следе.

Верзија 2.40

Ниједан.

Верзија 2.39 (издање функционалне безбедности)

Ниједан.

Верзија 2.36

Ниједан.

Верзија 2.35

Руковање базама стринг-то (КСЦС-2420) Да би се обезбедила конзистентност са другим КСЦ компајлерима, функције КСЦ8 стринг-то, попут стртол () итд., више неће покушавати да конвертују улазни низ ако је наведена база већа од 36 и уместо тога ће поставити еррно на ЕИНВАЛ. Ц стандард не специфицира понашање функција када је ова основна вредност прекорачена.

Неприкладне оптимизације брзине Оптимизације процедуралне апстракције су биле омогућене приликом избора оптимизације нивоа 3 (-03). Ове оптимизације смањују величину кода на рачун брзине кода, тако да их није требало изводити. Пројекти који користе овај ниво оптимизације могу да виде разлике у величини кода и брзини извршавања када су направљени са овим издањем.

Функционалност библиотеке Код за многе функције стандардне Ц библиотеке сада долази из Мицроцхип-ове Унифиед Стандард Либрари, која би у неким околностима могла да покаже другачије понашање у поређењу са оним које је пружала бивша библиотека авр-либц. Фор екampВише није потребно повезивати се у библиотеци лпринтф_флт (опција -принт _флт) да бисте укључили форматирану ИО подршку за спецификације флоат формата. Паметне ИО карактеристике Мицроцхип Унифиед Стандард Либрари чине ову опцију сувишном. Додатно, употреба рутина са суфиксом _п за стрингове и меморијске функције (нпр. стрцпи_П () итд.. ) које раде на конст стринговима у фласх-у више није неопходна. Стандардне Ц рутине (нпр. стрцпи ()) ће исправно радити са таквим подацима када је омогућена функција цонст-дата-ин-програм-мемори.

Верзија 2.32

Ниједан.

Верзија 2.31

Ниједан.

Верзија 2.30

Ниједан.

Верзија 2.29 (издање функционалне безбедности)

Ниједан.

Верзија 2.20

Промењен ДФП изглед Компајлер сада претпоставља другачији изглед који користе ДФП-ови (Пакети породице уређаја). То ће значити да старији ДФП можда неће радити са овим издањем, а старији преводиоци неће моћи да користе најновије ДФП-ове.

Верзија 2.19 (издање функционалне безбедности)

Ниједан.

Верзија 2.10

Ниједан

Верзија 2.05

Константни објекти у програмској меморији Имајте на уму да ће подразумевано бити постављени објекти квалификовани за конст и приступити им у програмској меморији (као што је овде описано). Ово ће утицати на величину и брзину извршавања вашег пројекта, али би требало да смањи употребу РАМ-а. Ова функција се може онемогућити, ако је потребно, помоћу опције -мноцонст-да та-ин-прогмем.

Верзија 2.00

Конфигурациони осигурачи Осигурачи за конфигурацију уређаја сада се могу програмирати коришћењем конфигурационе прагме праћене паровима вредности за подешавање да би се одредило стање осигурача, нпр.
#прагма цонфиг ВДТ0Н = СЕТ
#прагма цонфиг Б0ДЛЕВЕЛ = Б0ДЛЕВЕЛ_4В3
Апсолутни објекти и функције Објекти и функције сада могу бити постављени на одређену адресу у меморији користећи ЦЦИ _ат (аддресс) спецификацију, нпр.ampле: #инцлуде инт фообар ат(Ок800100); цхар ат(Ок250) гет ИД(инт оффсет) { … } Аргумент овог спецификација мора бити константа која представља адресу на којој ће бити постављен први бајт или инструкција. РАМ адресе су означене коришћењем офсета од 0к800000. Омогућите ЦЦИ да користи ову функцију.
Нова синтакса функције прекида Компајлер сада прихвата спецификацију ЦЦИ прекида (нум) да назначи да су Ц функције руковаоци прекида. Спецификатор узима број прекида, нпрampле: #инцлуде воид прекид(СПИ СТЦ_ вецт _нум) спи Иср(воид) { … }

Поправљени проблеми

Следе исправке које су унете у компајлер. Ово би могло да поправи грешке у генерисаном коду или да промени рад компајлера на оно што је предвиђено или специфицирано у корисничком водичу. Број верзије у поднасловима означава прву верзију компајлера која садржи исправке за проблеме који следе. Ознаке у заградама у наслову представљају идентификацију тог проблема у бази података за праћење. Ово може бити корисно ако треба да контактирате подршку.

Имајте на уму да су неки проблеми специфични за уређај исправљени у пакету породице уређаја (ДФП) који је повезан са уређајем. Погледајте МПЛАБ менаџер пакета за информације о променама учињеним у ДФП-овима и за преузимање најновијих пакета.

Верзија 2.40

Превише опуштено (КСЦС-2876) Када је користио опцију -мрелак, компајлер није додељивао неке секције заједно, што је резултирало мање оптималним величинама кода. Ово се могло догодити са кодом који је користио нове МУСЛ библиотеке или са слабим симболима.
Функција мапирања није онемогућена као што је наведено у упозорењу (КСЦС-2875) Функција мапиранихпрогмем података о трошковима у конфигурацији се ослања на омогућену функцију података о трошковима у програму. Ако је функција цост-дата-ипцонфиг-маппед-проем експлицитно омогућена коришћењем опције и функција цост-дата-инпрогмем онемогућена, корак повезивања није успео, упркос поруци упозорења у којој се наводи да су подаци о недостацима у конфигурацији мапирани- функција проем је била аутоматски онемогућена, што није било сасвим тачно. Функција цонст-дата-ин-цонфиг-маппед-проем је сада потпуно онемогућена у овој ситуацији.
ДФП промене за исправан приступ НВМЦТРЛ (КСЦС-2848) Код покретања током извршавања који користе АВР64ЕА уређаји није узео у обзир да је НВМЦТРЛ регистар био под заштитом од промене конфигурације (ЦЦП) и није могао да постави ИО СФР на страницу коју користи цонст-дата-ин цонфигмаппед-проем компајлер одлика. Промене направљене у АВР-Ек_ДФП верзији 2.2.55 омогућиће коду за покретање да исправно упише у овај регистар.
ДФП промене да би се избегло флеш мапирање (КСЦС-2847) Примењено је решење за проблем са функцијом уређаја за флеш мапирање пријављен у АВР128ДА28/32/48/64 Силицон Еррата (ДС80000882). Функција компајлера цонст-дата-ин-цонфиг-маппед-проем неће се подразумевано примењивати за погођене уређаје, а ова промена ће се појавити у АВР-Ек_ДФП верзији 2.2.160.
Грешка при изради са синхф или цосхф (КСЦС-2834) Покушаји коришћења библиотечких функција синхф () или цосхф () довели су до грешке везе, која описује недефинисану референцу. Функција која недостаје сада је укључена у дистрибуцију компајлера.
Грешке у изради са нопа (КСЦС-2833) Коришћење атрибута нопа са функцијом којој је име асемблера наведено помоћу ас () покренуло је поруке о грешци од асемблера. Ова комбинација није могућа.
Променљива грешка функције са аргументима показивача (КСЦС-2755, КСЦС-2731) Функције са променљивим бројем аргумената очекују да 24-битни (тип _мемо) показивачи буду прослеђени у листу променљивих аргумената када је омогућена функција података о трошковима у програму. Аргументи који су били показивачи на меморију података прослеђивани су као 16-битни објекти, узрокујући неуспех кода када су на крају прочитани. Када је омогућена функција цонс дата-ин-проем, сви аргументи 16-битних показивача се сада конвертују у 24-битне показиваче. Неисправне функције библиотеке стртоккк (КСЦС-2620) Када је функција цонст-дата-ин-проем била омогућена, параметар ентер у функцијама библиотеке стртоккк није правилно ажуриран за аргументе изворног стринга који нису у меморији програма.
Упозорења за неважеће ливење (КСЦС-2612) Компајлер ће сада издати грешку ако је омогућена функција цене у програму и адреса стринговог литерала је експлицитно пребачена у адресни простор података (испуштајући квалификатор цонст), нпр.ampле, (уинт8 т *) „Здраво Свете!“. Упозорење је проблем ако адреса може бити неважећа када се показивач података конст експлицитно пребацује на адресни простор података.
Постављање неиницијализованих цонст објеката (КСЦС-2408) Неиницијализовани цонст и цонст волатиле објекти нису били смештени у програмску меморију на уређајима који мапирају целу или део своје програмске меморије у адресни простор података. За ове уређаје, такви објекти су сада смештени у програмску меморију, чинећи њихов рад у складу са другим уређајима.

Верзија 2.39 (издање функционалне безбедности)

Ниједан.

Верзија 2.36

Грешка при одлагању (КСЦС-2774) Мање промене у подразумеваним оптимизацијама слободног режима спречиле су константно савијање израза операнда у уграђене функције кашњења, што доводи до тога да се они третирају као неконтакти и доведе до грешке: _буил тин авр делаи_цицлес очекује ац омпиле временска целобројна константа.

Верзија 2.35

Континуална алокација помоћу _ат (КСЦС-2653) Континуална додела места више објеката у одељку са истим именом и коришћење ат () није функционисала исправно. Фор екampле: цонстцхараррл [ ] на три бутте ((сецт он(.миссес”))) ат (Ок50 0 ) = {Око , Ок ЦД} ; цост цхар арр2[ ] ат три бутте ((сецтион(.ми с еке”))) = {Волов, Ок ФЕ }; требало је поставити арр2 одмах после арил.
Одређивање почетних адреса одељка (КСЦС-2650) Опција -Вал, –сецтион-старт је тихо пропустила да постави секције на номиновану почетну адресу. Овај проблем је решен за све одељке са прилагођеним називима; међутим, неће радити ни за једну стандардну секцију, као што је . текст или . бсс, који се мора поставити помоћу опције -Вл, -Т.
Линкер се руши када се опушта (КСЦС-2647) Када је омогућена оптимизација -релак и постоје делови кода или података који се не уклапају у доступну меморију, линкер се срушио. Сада, у таквим околностима, уместо тога се издају поруке о грешци.
Лош ЕЕПРОМ приступ (КСЦС-2629) Блок рутина лепрома _реад_ није функционисала исправно на Мега уређајима када је била омогућена опција -монист-дата-ин-проем (што је подразумевано стање), што је довело до тога да ЕЕПРОМ меморија није исправно прочитана.
Неважећа додела меморије (КСЦС-2593, КСЦС-2651) Када је опција -Тект или -Тата линкер (нпрampје наведен кроз опцију -Вл драјвера), одговарајуће порекло региона текста/података је ажурирано; међутим, крајња адреса није прилагођена у складу са тим, што је могло довести до тога да регион премашује опсег меморије циљног уређаја.
Неважећи АТтини код прекида (КСЦС-2465) Када је прављење за Татин уређаје и оптимизације су онемогућене (-00), функције прекида су можда покренуле поруке асемблера који је ван опсега.
Опције се не пролазе кроз (КСЦС-2452) Када користите опцију -Вл са вишеструким опцијама повезивача раздвојеним зарезима, нису све опције повезивача прослеђене повезивачу.
Грешка при индиректном читању програмске меморије (КСЦС-2450) У неким случајевима, компајлер је произвео интерну грешку (непрепознатљив инсн) приликом читања вредности од два бајта из показивача у меморију програма

Верзија 2.32

Други приступ библиотеци није успео (КСЦС-2381) Позивање Виндовс верзије кц8-ар. еке архивер библиотеке други пут да приступи постојећој архиви библиотеке можда није успео са поруком о грешци да се не може преименовати.

Верзија 2.31

Необјашњиве грешке компајлера (КСЦС-2367) Када се покреће на Виндовс платформама које имају системски привремени директоријум постављен на путању која укључује тачку.' карактера, компајлер можда није успео да изврши.

Верзија 2.30

Глобалне налепнице заметнуте након описа (КСЦС-2299) Ручно писани асемблерски код који поставља глобалне ознаке унутар низова склопова који су раздвојени процедуралним апстракцијама можда није правилно репозициониран.
Опуштајући судар (КСЦС-2287) Коришћење опције -мерлад је можда довело до пада линкера када су оптимизације опуштања скока репа покушале да уклоне рет инструкције које нису биле на крају одељка.
Пад приликом оптимизације ознака као вредности (КСЦС-2282) Код који користи проширење језика ГНУ Ц „Ознаке као вредности“ је можда проузроковао пад оптимизације процедуралне апстракције, са грешком поправљања обриса опсега ВМА опсега.
Није тако константно (КСЦС-2271) Прототипови за стартс () и друге функције из више не наводи квалификатор нестандардне цене на враћеним стринговима када је функција -монист-дата инпрогмем онемогућена. Имајте на уму да је код уређаја авркмега3 и авертин ова функција трајно омогућена.
Изгубљени иницијализатори (КСЦС-2269) Када је више од једне променљиве у јединици превода стављено у одељак (користећи секцију или атрибут ((сецтион))), а прва таква променљива је била иницијализована нула или није имала иницијализатор, иницијализатори за друге променљиве у истој јединици превођења који су били смештени у истом делу су изгубљени.

Верзија 2.29 (издање функционалне безбедности)

Ниједан.

Верзија 2.20

Грешка са дугим командама (КСЦС-1983) Када се користи АВР циљ, компајлер је можда стао са а file грешка није пронађена, ако је командна линија била изузетно велика и садржала посебне знакове као што су наводници, обрнуте косе црте итд.
Недодијељени одељак родата (КСЦС-1920) АВР линкер није успео да додели меморију за прилагођене родата секције приликом изградње за авркмега3 и авртини архитектуре, потенцијално стварајући грешке преклапања меморије

Верзија 2.19 (издање функционалне безбедности)

Ниједан.

Верзија 2.10

Грешке при премештању (КСЦС-1891) Алокатор који најбоље одговара био је остављајући меморијске 'рупе' између секција након опуштања линкера. Осим фрагментације меморије, ово је повећало могућност да дође до грешака при премештању линкера у вези са скоковима у односу на рачунар или позивима који су изван домета.
Упутства нису трансформисана опуштањем (КСЦС-1889) Опуштање линкера није дошло за инструкције за скок или позивање чији циљеви постају доступни ако су опуштени.
Недостаје функционалност (КСЦСЕ-388) Неколико дефиниција из , као што су цлоцк_ див_ т и цлоцк_пресцале_сет (), нису дефинисани за уређаје, укључујући АТмега324ПБ, АТмега328ПБ, АТтини441 и АТтини841.
Недостају макрои Макрои претпроцесора_ кцс _МОДЕ_, _кцс ВЕРСИОН, _кц и кцс нису аутоматски дефинисани од стране компајлера. Ови су сада доступни.

Верзија 2.05

Интерна грешка компајлера (КСЦС-1822) Приликом израде под Виндовс-ом, можда је настала интерна грешка компајлера приликом оптимизације кода.
Преливање РАМ-а није откривено (КСЦС-1800, КСЦС-1796) Програме који су премашили ту доступну РАМ меморију компајлер није открио у неким ситуацијама, што је резултирало неуспехом кода током извршавања.
Изостављена флеш меморија (КСЦС-1792) За авркмега3 и авртини уређаје, делови флеш меморије су можда остали непрограмирани од стране МПЛАБ Кс ИДЕ.
Неуспешно извршавање главног (КСЦС-1788) У неким ситуацијама у којима програм није имао дефинисане глобалне променљиве, код за покретање током извршавања није изашао и функција маин () никада није била достигнута.
Нетачне информације о меморији (КСЦС-1787) За уређаје авркмега3 и авртини, програм величине авр је извештавао да подаци само за читање троше РАМ уместо програмске меморије.
Нетачно очитавање програмске меморије (КСЦС-1783) Пројекти компајлирани за уређаје са програмском меморијом мапираном у адресни простор података и који дефинишу објекте користећи ПРОГМЕМ макро/атрибут можда су прочитали ове објекте са погрешне адресе.
Интерна грешка са атрибутима (КСЦС-1773) Дошло је до интерне грешке ако сте дефинисали објекте показивача са
_ат () или аттрибуте() токени између имена показивача и дереференцираног типа, нпрampле, цхар *
_ат (0к80015 0) цп; Сада се издаје упозорење ако се наиђе на такав код.
Неуспешно извршавање главног (КСЦС-1780, КСЦС-1767, КСЦС-1754) Коришћење ЕЕПРОМ променљивих или дефинисање осигурача помоћу конфигурационе прагме је могло да изазове нетачну иницијализацију података и/или закључано извршавање програма у коду за покретање током извршавања, пре него што дође до маин ().
Грешка осигурача са сићушним уређајима (КСЦС-1778, КСЦС-1742) Аттини4/5/9/10/20/40 уређаји су имали нетачну дужину осигурача наведену у заглављу fileкоји доводе до грешака повезивача када покушавате да направите код који дефинише осигураче.
Грешка сегментације (КСЦС-1777) Исправљена је повремена грешка сегментације.
Пад асемблера (КСЦС-1761) Авр-ас асемблер се можда срушио када је компајлер покренут под Убунту 18.
Објекти нису очишћени (КСЦС-1752) Неиницијализовани статички објекти трајања складиштења можда нису били обрисани кодом за покретање времена извршавања.
Игнорисана је конфликтна спецификација уређаја (КСЦС-1749) Компајлер није генерисао грешку када је коришћено више опција спецификације уређаја и назначио је различите уређаје.
Оштећење меморије услед гомиле (КСЦС-1748) Симбол за почетак гомиле је био погрешно постављен, што је резултирало могућношћу да обичне променљиве буду оштећене од стране гомиле.
Грешка при премештању линкера (КСЦС-1739) Грешка при премештању линкера је можда била емитована када је код садржао рјмп или рцалл са циљем удаљеном тачно 4к бајта.

Верзија 2.00

Ниједан.

Познати проблеми

Следе ограничења у раду компајлера. То могу бити општа ограничења кодирања, или
одступања од информација садржаних у упутству за употребу. Ознаке у заградама у наслову представљају идентификацију тог проблема у бази података за праћење. Ово може бити од користи ако треба да контактирате подршку. Оне ставке које немају ознаке су ограничења која описују начин рада и која ће вероватно остати на снази трајно.

МПЛАБ Кс ИДЕ интеграција

МПЛАБ ИДЕ интеграција Ако компајлер треба да се користи из МПЛАБ ИДЕ, онда морате да инсталирате МПЛАБ ИДЕ пре инсталирања Цомпилер-а.

Генерисање кода

Грешка при алокацији меморије ПА (КСЦС-2881) Када се користе оптимизатори процедуралне апстракције, линкер може пријавити грешке у алокацији меморије када је величина кода близу количини доступне програмске меморије на уређају, иако би програм требао бити у стању да стане у расположиви простор.
Не тако паметан Смарт-ИО (КСЦС-2872) Функција смарт-ио компајлера ће генерисати валидан, али субоптималан код за функцију спринта ако је функција Цоаст-дата-ин-проем онемогућена или ако уређај има сав свој флеш мапиран у меморији података.
Још мање паметан Смарт-ИО (КСЦС-2869) Функција смарт-ио компајлера ће генерисати валидан, али субоптималан код када се користе опције -флое и -фно-буил тин.
Неоптимално постављање података само за читање (КСЦС-2849) Линкер тренутно не зна за меморијске одељке АППЦОДЕ и АППДАТА, нити за поделе [Не-]Реад-Вхиле-Врите у меморијској мапи. Као резултат тога, постоји мала шанса да ће линкер доделити податке само за читање у неприкладну област меморије. Шанса за погрешно постављене податке се повећава ако је омогућена функција обала-подаци-у-прагми, посебно ако је омогућена и функција цоаст-дата-ин-цонфиг-маппед-проем. Ове функције се могу онемогућити ако је потребно.
Објекат file обрада налога (КСЦС-2863) Редослед којим се објекти fileс које ће обрадити линкер може се разликовати на основу употребе оптимизације процедуралне апстракције (опција -мпа). Ово би утицало само на код који дефинише слабе функције у више модула.
Грешка повезивача са апсолутним (КСЦС-2777) Када је објекат апсолутизован на адреси на почетку РАМ-а и неиницијализовани објекти су такође дефинисани, може се покренути грешка повезивача.
Кратки ИД-ови за буђење (КСЦС-2775) За АТА5700/2 уређаје, регистри ПХИД0/1 су дефинисани само као широки 16 бита, а не 32 бита.
Пад линкера при позивању симбола (КСЦС-2758) Линкер би могао да се сруши ако се опција драјвера -мерлад користи када изворни код позива симбол који је дефинисан помоћу опције повезивача -Вл, –дефсим.
Нетачна иницијализација (КСЦС-2679) Постоји неслагање између тога где су почетне вредности за неке глобалне/статичке објекте величине бајта смештене у меморију података и где ће се променљивама приступати током извршавања.
започето погрешно поставља празно (КСЦС-2652) У случајевима у којима стринг предмета за конверзију помоћу наведеног () садржи оно што изгледа као број са покретним зарезом у експоненцијалном формату и постоји неочекивани знак после знака е, онда ће празна адреса, ако је наведена, указивати на знак после е а не само е. Фор екampле: наведено(“хооеи”, празно); ће резултирати празним показивачем на знак к.
Лоши индиректни позиви функција (КСЦС-2628) У неким случајевима, позиви функција упућени преко показивача функције који је ускладиштен као део структуре могу да не успеју.
стртоф враћа нулу за хексадецималне флоат (КСЦС-2626) Библиотечке функције стртоф () ет ал и сцанф () ет ал, увек ће конвертовати хексадецимални број са покретним зарезом који не наводи експонент у
нула. Фор екampле: статор(“Сова”, &празно); вратиће вредност 0, а не 1.
Нетачне поруке саветника за стек (КСЦС-2542, КСЦС-2541) У неким случајевима, упозорење саветника за стек у вези са рекурзијом или неодређеним стеком који се користи (могуће коришћењем аллоца()) се не емитује.
Грешка са дуплираним кодом прекида (КСЦС-2421) Тамо где више од једне функције прекида има исто тело, компајлер може имати излаз за једну функцију прекида позива другу. Ово ће довести до непотребног чувања свих регистра који су блокирани позивима, а прекиди ће бити омогућени чак и пре него што се покрене епилог тренутног руковаоца прекида, што може довести до неуспеха кода.
Константни објекти који нису у програмској меморији (КСЦС-2408) За пројекте авркмега3 и авертинс неидеализовани цонст објекти се смештају у меморију података, иако упозорење сугерише да су смештени у меморију програма. Ово неће утицати на уређаје који немају програмску меморију мапирану у простор меморије података, нити ће утицати на било који објекат који је иницијализован.
Лош излаз са неважећом ДФП путањом (КСЦС-2376) Ако је компајлер позван са неважећом ДФП путањом и 'спецификацијом' file постоји за изабрани уређај, компајлер не пријављује фамилијарни пакет уређаја који недостаје и уместо тога бира „спецификације“ file, што онда може довести до неисправног излаза. 'спецификација' fileс можда нису ажурирани са дистрибуираним ДФП-овима и били су намењени само за употребу са интерним тестирањем компајлера.
Преклапање меморије није откривено (КСЦС-1966) Компајлер не открива преклапање меморије објеката који су постали апсолутни на адреси (преко ат ()) и других објеката који користе спецификацију секције () и који су повезани са истом адресом.
Грешка са библиотечким функцијама и _мемом (КСЦС-1763) Позване лимбичке флоат функције са аргументом у адресном простору _мемо можда неће успети. Имајте на уму да се библиотечке рутине позивају из неких Ц оператора, па нпрampле, утиче на следећи код: ретурн регФлоатВар > мемкФлоатВар;
Ограничена лимбичка имплементација (АВРТЦ-731) За АТТини4/5/9/10/20/40 производе, имплементација стандардне Ц / Матх библиотеке у лимбику је веома ограничена или није присутна.
Ограничења меморије програма (АВРТЦ-732) Ланац алата подржава слике програмске меморије веће од 128 кб; међутим, постоје познати случајеви прекида везе повезивача без опуштања и без корисне поруке о грешци уместо генерисања потребних заглавља функције када се користи опција -релак.
Ограничења простора за име (АВРТЦ-733) Именовани адресни простори су подржани од стране ланца алата, подложни ограничењима поменутим у одељку водича за кориснике Посебни квалификатори типа.
Временске зоне Тхе функције библиотеке претпостављају ГМТ и не подржавају локалне временске зоне, тако да ће локално време () вратити исто време као и гуммит (), нпр.ampле.

ЦУСТОМЕР СУППОРТ

file:///Апплицатионс/мицроехип/кц8/в 2 .40/доцс/Прочитај ме_Кс Ц 8_ за А ВР. хтм

Документи / Ресурси

МИЦРОЦХИП МПЛАБ КСЦ8 Ц компајлерски софтвер [пдф] Упутство за употребу
МПЛАБ КСЦ8 Ц, МПЛАБ КСЦ8 Ц компајлерски софтвер, софтвер за компајлер, софтвер

Референце

Оставите коментар

Ваша емаил адреса неће бити објављена. Обавезна поља су означена *