Dzięki. S.
Dzięki. S.
C18 (stary) lub XC8 (nowy). To dwa różne kompilatory.
MPLAB to całe środowisko (starsze, już nie rozwijane) które uruchamia m.in. kompilator C18, C18 jest kompilatorem działającym z linii komend. C18 to "starszy" i dedykowany do 18F. W tej chwili chyba już został oficjalnie zastąpiony przez XC8, który jest częścią nowego środowiska mplab X.
Chyba tak właśnie jest i to jest właśnie niedobre.
Wyobrażam to sobie tak:
jp
Nie ma i nigdy nie będzie idealnego kompilatora, dlatego, że każdy ma swój sposób pisania kodu i swoje preferencje. Mi to nawet assembler nie chce robić tego co ja chcę :-)
Jak Ci Zbych napisał: My nie znamy Twojego kodu.
Ale Ty go znasz, więc możesz: a) zainstalować sobie środowisko dla AVRx;y;z; MPLAB x;y;z; Freescale, ST, ARM 0..13 itp., b) spróbować skompilować swój kod, c) wybrać ten, który generuje najmniej problemów dla Ciebie, najbardziej go polubiłeś, dobrze Ci się z nim pracuje, rozumie Cię, a Ty jego.
Jak tak wybrałem żonę. I jestem zadowolony z jej kompilatora :-)
S.
No właśnie. Wydaje mi się, że avr-gcc jest bliższy poprawnie działającemy softowi. Nigdy wcześniej go nie używałem (tak jak procesorów AVR zresztą) aż razu pewnego postanowiłem skompilować dość złożony program i jakież było moje zdziwienie; zadziałał praktycznie od razu (na Atmega32). Ten sam kod kompilowany na PIC działał źle, i w zależności od wersji kompilatora, różnie się w swojej wadliwej pracy zachowywał; pewne fragmenty działały a pewne nie. Dodam, że program, wg zapewnień autora, był pisany z dużym naciskiem na przenośność, czyli zgodnie ze standardami.
Sam nie wiem co o tym myśleć.
jp
To nie takie proste. Kiedyś zainwestowałem z PICe, teraz m.in. z tego żyję. A przestawienie się kosztuje.
Do tej pory było tak, że sprawdzony sprzęt, np. oparty o PICa, w obudowie so28, rozwijam dodając procesor z większą pamięcią ale w takiej samej obudowie, zaszywając w nim większą funkcjonalność.
No i bronię się rękami i nogami przed istotnymi zmianami sprzętu. Jak się nie da to trudno.
I stąd ten założony przeze mnie wątek.
jp
No chyba, że pojawia się nowy chip, który chcesz zastosować a nie masz czasu/możliwości na grzebanie w plikach opisujących hardware(kiedyś, dla PIC16F... tak czyniłem, nie wiem czy nadal to możliwe).
jp
Mogłeś zaprojektować w DIP28. Wtedy łatwiej na przejściówce umieścić 4 szt. PIC32 :-). S.
W dniu 2014-04-04 10:34, Michał Lankosz pisze:
Kupujesz Zestaw uruchomieniowy LPCXpresso za 90 zł i masz z nim połączony programator/debuger. Programator możesz odłamać i wykorzystać do swoich płytek. A w ramach licencji masz całkiem porządny eclipsowy toolchain z ograniczeniem bodajże do 256K.
No ja robię identycznie, z tym, że nie daje się wciągnąć w ewolucję kompilatora. I nie zmienię kompilatora, aż do zakończenia życia okresu produkcji mcu, które obsługuje (lub własnego).
Jakie kompilatory generowały Ci zły kod?
Przecież pic32 jest w dip28...
Moje obserwacje opieram na: HiTech 9.63 i XC8 (nowszych od 9.63, przed XC8 1.30 nie sprawdzałem)
Wcześniejsze miały swoje homory ale generalnie nie miałem zastrzeżeń bo nie stosowałem Microhipa w bardziej złożonych sprawach.
jp
Wszystko do do PIC18F jp
W zasadzie tak, ale już pinowo to średnio kompatybilne :-(
32mx210 vs. 18F2320 VDD pin 13 vs. 20 PORTA2 pin 9 vs.4 PORTB,0 pin 4 vs. 21 PGED1,2,3 pin 4,21,2 vs. PGD 28 PGCEC1,2,3 pin 5,22,3 vs. PGC 27No, ale ważne, że się opamiętali i są dostępne też i w DIP. Swoją drogą wyszła dodatkowa zaleta DIPów, że można potem łatwo dorobić przejściówkę do starych projektów. Najważniejsze jest chyba zasilanie i kabel programatora. Jednak jak nawet ten sam producent zamienia piny, no to już musi być nowa płytka. S.
W dniu 04.04.2014 14:09, jacek pozniak pisze:
Jeśli testowałeś to na C18 microchipa, to pamiętaj że nie jest on do końca zgodny a ANSI (przynajmniej na domyślnych ustawieniach). Domyślnie nie jest włączona promocja do inta, wyłączone jest zerowanie zmiennych globalnych (trzeba podłączyć odpowiednią wersję biblioteki startowej, żeby włączyć inicjalizację) i pewniej znajdzie się jeszcze parę różnic.
Mnie natomiast ciekawi dlaczego pic32 w dipie ma obniżona częstotliwość z 80 MHz do max 50MHz, czyżby obudowa dip28 nie nadaje do wyższej f?
Pamiętasz może Paralaxa? SX-52AC-100Mhz Jakoś się dało wiele lat temu. Potem obnizyli sztucznie do 75MHz To są właśnie ustalenia o których nic nie wiemy :-( S.
To był kompilator HiTech oraz XC8, który chyba też raczej wywodzi się z HiTech.
jp
Mi chodzi o sam kompilator i kompilację z linii poleceń.
Co do wszelkich "studio" to mogą mieć właczone/wyłaczone jakieś dyrektywy błędy w plikach make, itp.
jp
Have something to add? Share your thoughts — no account required.
Ask the community — no account required