Отговори на тема  [ 15 мнения ] 
Microchip XC16 XC32 Very Long Compiling Times 
Автор Съобщение
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Нед Фев 25, 2007 1:41 am
Мнения: 276
Местоположение: София
Мнение Microchip XC16 XC32 Very Long Compiling Times
Някой да има проблем с твърде бавно компилиране с XC16 или XC32 ? Четох и по форума на Microchip, реват нещо ама вяло и едни странни решения на проблема дават. При мен не работят.
В случая ползвам XC16 и проект (за PIC24F) с доста файлове, а компилатора на всеки файл цикли около три пъти по-дълго в сравнение ако го компилирам примерно на стария C18 (за PIC18F). Пробвах компилатора във Free mode и в Pro mode (кракнат) - разлика никаква, все е бавно, пълна компилация на проекта е между 2.50 мин и 3.00 мин. Така не става да се работи нормално... и после чакай програмирането.
Работата е зле :? :? :?


Ъпдейт
----------
Проблема се решава с активиране на "Use parallel make"
Tools>Options>Embedded>Project Options>Use parallel make

MPLAB® X IDE User’s Guide:
Код:
Use parallel make
(make -j 2n)

Note 1: For MPLAB XC16 or MPLAB C30, Procedural Abstraction needs to be turned off to use parallel make (File>Project Properties,
compiler category, “Optimizations” option category: uncheck “Unlimited procedural abstraction”).

Note 2: MPASMX cannot run under parallel make, either as a toolchain or part of an MPLAB C18 project. The parallel make option is
therefore ignored in projects using MPASMX toolchain or in projects using the C18 toolchain that contain at least one .asm file.


Последна промяна speedblue на Пет Юни 13, 2014 2:12 pm, променена общо 1 път



Пет Юни 06, 2014 12:14 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Съб Окт 30, 2004 11:19 pm
Мнения: 609
Мнение Re: Microchip XC16 XC32 Very Long Compiling Times
Kакво те отказа от CCSPICC?


Пет Юни 06, 2014 1:45 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Вто Окт 25, 2005 10:54 am
Мнения: 896
Мнение Re: Microchip XC16 XC32 Very Long Compiling Times
И аз го имам този проблем, всеки файл се компилира около 2 секунди, което при 30 файла идва минута и нещо... примирил съм се, иначе опитах да го изследвам проблема, стигнах до там че бавенето става в асемблера gcc-as, което е много странно, аз очаквах да е в компилатора... тъпаците някъде са сложили някакъв изкуствен дилей :)


Пет Юни 06, 2014 2:28 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Авг 23, 2005 12:02 pm
Мнения: 3070
Местоположение: София
Мнение Re: Microchip XC16 XC32 Very Long Compiling Times
Освен че се бави, при мен се кара с Kaspersky. Дава ми "access denied", и оставя процес "make.exe" заемащ 13% процесорно време. При всеки следващ опит - по още един процес. Трябва да изключа касперски, да убия тия процеси, и тогава да компилирам.

Отделно, средата като функционалност е супер, ама като изпълнение - пълен шит. С тая Java са се изсрали на метеното - за да пуснеш MCU-то в режим reset, 4 пъти търси PicKit-а и 4 пъти рестартира MCU-то, като цялото това продължава около 4-5 секунди.


Пет Юни 06, 2014 3:44 pm
Профил ICQ
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Нед Фев 25, 2007 1:41 am
Мнения: 276
Местоположение: София
Мнение Re: Microchip XC16 XC32 Very Long Compiling Times
Някой да се похвали, че XC16 му компилира бързо или нормално?

А насирането е тотално и ако не вземат някакви мерки близките месеци бая народ ще откажат от техните компилатори.
Иначе средата нистина е доста перспективна, само да оправят тъпизмите.

Ники написа:
Kакво те отказа от CCSPICC?

Нищо не ме е отказало. Екстра си е CCS, компилатора лети, но средата им е боза :) тоест нещо е прекомерна шаренията, пък полза особенна.... и го ползвам с MPLAB X.
В конкретния случай проекта се компилира с Microchip понеже основно работи с TCP/IP стека. А на CCS им е много зелен вградения стек и не рискувам за конкретния проект.
Преди време го тествах, но само като базова функционалност и си работеше.


Пет Юни 06, 2014 4:42 pm
Профил
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Нед Фев 25, 2007 1:41 am
Мнения: 276
Местоположение: София
Мнение Re: Microchip XC16 XC32 Very Long Compiling Times
Развитие по темата.

На лаптоп на който никога не е имало MPLAB инсталирах MPLAB X IDE + XC16 free mode
Лаптопа е със следните параметри:
i7 2.2GHz
8 GB RAM
254 GB SSD
64 bit Windows 8

Същия проект който дава ядове на другите машини - те са Win7 32 bit. Ядовете са единствено бавно компилиране.

Проекта се компилира за невероятните 53 сек. като избирам Clean & Build, което е около 3 пъти по-бързо спрямо досегашните ми наблюдения. Частичното компилиране е още по-бързо.
Като ми остане време ще експериментирам с Win7 32bit дали може да тръгне нормално. Все пак е добра новина като цяло, въпроса е да се намери кое му пречи или просто е много чувствителен компилатора.


Сря Юни 11, 2014 2:03 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Авг 23, 2005 12:02 pm
Мнения: 3070
Местоположение: София
Мнение Re: Microchip XC16 XC32 Very Long Compiling Times
Пречи му.... средата. Както и по-горе споменах - като функционалност е екстра, като изпълнение - пълен шит.


Сря Юни 11, 2014 10:10 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 1:01 pm
Мнения: 2251
Мнение Re: Microchip XC16 XC32 Very Long Compiling Times
Не знам какво точно ще правиш със стека, но аз до сега проблеми не съм имал със CCS-кия. Единствения кусур, който ми е известен, е свързан с това, че mdd стека им не работи! Използват краден от XC и е несъвместим с TCP/IP. Опитах на няколко пъти да ги осъвместя, но след като набуташ файла, който превежда mdd-то, става мазало. Дори да се коригират грешките не работи и работата е много дебела...
Поздрави!

_________________
www.elkran.com


Сря Юни 11, 2014 9:05 pm
Профил
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Нед Фев 25, 2007 1:41 am
Мнения: 276
Местоположение: София
Мнение Re: Microchip XC16 XC32 Very Long Compiling Times
stoyanoff написа:
Не знам какво точно ще правиш със стека, но аз до сега проблеми не съм имал със CCS-кия.
.... Използват краден от XC и е несъвместим с TCP/IP.


Горе долу това са основните услуги които са пуснати. Отделно в самия стек е бърникано и са добавяни разни работи които не ги е можел.
Незнам колко от това работи при CCS, но ако покриват тези неща ще се замисля да го тествам по-сериозно.
А имат ли Bootloader който търкаля TCP/IP стек? Microchip имат такъв но само за PIC18F и преточват през TFTP, 8К от програмната памет струва.

Код:
#define STACK_USE_UART2TCP_BRIDGE      // UART to TCP Bridge application example
#define STACK_USE_ICMP_SERVER         // Ping query and response capability
#define STACK_USE_ICMP_CLIENT         // Ping transmission capability
#define STACK_USE_HTTP2_SERVER         // New HTTP server with POST, Cookies, Authentication, etc.
#define STACK_USE_SSL_SERVER         // 8% SSL server socket support (Requires SW300052)
#define STACK_USE_SSL_CLIENT         // 1% SSL client socket support (Requires SW300052)
#define STACK_USE_DHCP_CLIENT         // Dynamic Host Configuration Protocol client for obtaining IP address and other parameters
#define STACK_USE_SNMP_SERVER         // 8% Simple Network Management Protocol v2C Community Agent
#define STACK_USE_SNMPV3_SERVER      // ?% [SSL] Simple Network Management Protocol v3 Agent
#define STACK_USE_GENERIC_TCP_CLIENT_EXAMPLE   // HTTP Client example in GenericTCPClient.c
#define STACK_USE_GENERIC_TCP_SERVER_EXAMPLE   // ToUpper server example in GenericTCPServer.c
#define STACK_USE_ANNOUNCE         // Microchip Embedded Ethernet Device Discoverer server/client
#define STACK_USE_DNS            // 0% Domain Name Service Client for resolving hostname strings to IP addresses
#define STACK_USE_REBOOT_SERVER      // 1% Module for resetting this PIC remotely.  Primarily useful for a Bootloader.
#define STACK_USE_SNTP_CLIENT         // 1% Simple Network Time Protocol for obtaining current date/time from Internet
#define STACK_USE_DYNAMICDNS_CLIENT      // Dynamic DNS client updater module


Чет Юни 12, 2014 12:27 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 1:01 pm
Мнения: 2251
Мнение Re: Microchip XC16 XC32 Very Long Compiling Times
Ами повечето неща ги има 100%. За другите не съм сигурен понеже не ми се е налагало да ги ползвам никога. За bootloader не съм сигурен - виждал съм из форумите да се обсъждат, но аз не съм използвал за сега, не ми е трябвало.
Поздрави!

_________________
www.elkran.com


Чет Юни 12, 2014 12:27 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение Re: Microchip XC16 XC32 Very Long Compiling Times
Нямам проблеми, стари и нови компилатори работят еднакво бързо ( статистика от 4-5 машини ). Сравнявам ги например с GCC компилация за ARM, няма разлика. Най-бързо се компилира под Linux, за мен е изненада, че debug с MPLAB X под Linux пердаши без грешка, докато под Windows от 10 опита за debug поне един се скапва, а от време на време се налага рестарт на MPLAB, понякога и на Windows.

Нищо не казахте, дали сте маркирали в MPLAB X да се използват всичките ядра при компилация ? Ако не е маркирана чавката тогава компилацията е значително по-бавна. А какво се получава ако използвате директно Makefile от командния ред ?

sparkybg написа:
Отделно, средата като функционалност е супер, ама като изпълнение - пълен шит. С тая Java са се изсрали на метеното - за да пуснеш MCU-то в режим reset, 4 пъти търси PicKit-а и 4 пъти рестартира MCU-то, като цялото това продължава около 4-5 секунди.

Не е причината Java-та, примерно Eclipse е също 100% Java но там няма такива работи. Най-вероятно кодът е писан от някой разбирач, дето ползва готови библиотечки... Между другото ако използваш PIC32 можеш да изпробваш Segger J-Link, пише че поддържа PIC32, ама от коя среда и как нямам представа. Тук има описание как да се използва Eclipse, GDB и PICKit2/PICKit3 за PIC32. Предполагам, че по подобен начин ще са настройките и с J-Link, само че с неговия си GDB сървър.

_________________
Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....


Пет Юни 13, 2014 2:54 am
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Авг 23, 2005 12:02 pm
Мнения: 3070
Местоположение: София
Мнение Re: Microchip XC16 XC32 Very Long Compiling Times
¶ написа:
Нищо не казахте, дали сте маркирали в MPLAB X да се използват всичките ядра при компилация ?


Къде е въпросната чавка?

ПП: Въх! Таман го включих. Верно нищо общо. Тенкю.

Сега остана само да преборя да не се кара с Касперски. Интересното е че в работата си работи. Само вкъщи не ще.

Tools->Options->Embedded->Project Options->Use Parallel Make.


Пет Юни 13, 2014 11:14 am
Профил ICQ
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Нед Фев 25, 2007 1:41 am
Мнения: 276
Местоположение: София
Мнение Re: Microchip XC16 XC32 Very Long Compiling Times
¶ написа:
Нищо не казахте, дали сте маркирали в MPLAB X да се използват всичките ядра при компилация ?


Това е! Ефекта е супер! :D
10х


Пет Юни 13, 2014 1:57 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Вто Окт 25, 2005 10:54 am
Мнения: 896
Мнение Re: Microchip XC16 XC32 Very Long Compiling Times
speedblue написа:
¶ написа:
Нищо не казахте, дали сте маркирали в MPLAB X да се използват всичките ядра при компилация ?


Това е! Ефекта е супер! :D
10х

+1 8O
При мен билд тайма от 1 мин стана 15сек, след като взе да използва 4те ядра. Въпреки че си мисли че са 8 и пуска 16 процеса -j16 :)


Пет Юни 13, 2014 4:31 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Окт 11, 2011 11:53 pm
Мнения: 4582
Местоположение: Brussels / Пловдив
Мнение Re: Microchip XC16 XC32 Very Long Compiling Times
По добре пускайте GCC с -j без номер - компилатора сам си познава колко нишки има смисъл да ползва ... иначе всеки балък ще бичи -j99 и ще щрака с пръсти :)

_________________
Мразя да мразя ...


Пет Юни 13, 2014 8:07 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 15 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: Google [Bot] и 3 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни