PIC vs AVR

Dzięki. S.

Reply to
Sylwester Łazar
Loading thread data ...

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.

Reply to
Marek

Chyba tak właśnie jest i to jest właśnie niedobre.

Wyobrażam to sobie tak:

  1. Firma Hitech robiła dość dobre kompilatory, mam z nimi (kompilatorami na PICe) kontakt od 1996.
  2. Microchip ich wykupił, może oszukał.
  3. Ludzie sobie poszli/obrazili się a Microchip posadził czterech programistów i nakazał przejęcie i rozwijanie kompilatorów, i jest jak jest.
  4. Może tak nie było ale przy przejęciach taki scenariusz jest prawdopodobny.

jp

Reply to
jacek pozniak

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.

Reply to
Sylwester Łazar

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

Reply to
jacek pozniak

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

Reply to
jacek pozniak

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

Reply to
jacek pozniak

Mogłeś zaprojektować w DIP28. Wtedy łatwiej na przejściówce umieścić 4 szt. PIC32 :-). S.

Reply to
Sylwester Łazar

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.

Reply to
Mario

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).

Reply to
Marek

Jakie kompilatory generowały Ci zły kod?

Reply to
Marek

Przecież pic32 jest w dip28...

Reply to
Marek

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

Reply to
jacek pozniak

Wszystko do do PIC18F jp

Reply to
jacek pozniak

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 27

No, 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.

Reply to
Sylwester Łazar

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.

formatting link

Reply to
Zbych

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?

Reply to
Marek

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.

Reply to
Sylwester Łazar

To był kompilator HiTech oraz XC8, który chyba też raczej wywodzi się z HiTech.

jp

Reply to
jacek pozniak

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

Reply to
jacek pozniak

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.