PIC18F4550 Kompilator C, który jest open source i działa na różnych platformach?


11

Jestem długoletnim użytkownikiem AVR. Naprawdę podoba mi się, że AVR-GCC działa na dwóch głównych systemach operacyjnych, których używam (Mac OS X i Linux), jest open source i jest obsługiwany przez Atmel. Chciałbym wrócić do programowania PIC (użyłem ich w latach 90.), ponieważ istnieje kilka całkiem dobrych PIC, takich jak układy klasy PIC18F4550.

Niestety, większość wszystkich kompilatorów PIC18 wydaje się być tylko dla systemu Windows i jest płatna. I prawie zawsze mają IDE, którego nie potrzebuję. Wolę kompilatory wiersza polecenia i pliki Makefiles, dzięki czemu mogę stwierdzić, patrząc na pojedynczy plik, w jaki sposób budowany jest kod. (i nie przedzieraj się przez kręty labirynt okien dialogowych)

I poked na SDCC , ale nie wydaje się, aby mieć wsparcie PIC18F4550, a nawet gdyby tak się stało, narzekania na make netto to brzmieć jak jej poparcie PIC18 jest słaby, lub w najlepszym razie bardzo mylące do użytku.

Jaki jest dobry międzyplatformowy kompilator C z obsługą wiersza poleceń i obsługą PIC18F4550?

W przeciwnym razie jaki jest najlepszy w swojej klasie kompilator C dla PIC18F4550 i jak można go używać z Makefiles?

Odpowiedzi:


6

SDCC działa dobrze dla 18F4550. Kod, który tworzy, może nie jest tak kompaktowy jak drogie kompilatory. Ale ostatnie wersje SDCC wydają się robić całkiem niezłą robotę.

Oto projekt, który zrobiłem z SDCC i 18f2550.


1
Dzięki, Mark, to idealny przykład tego, czego szukałem: projekt oparty na marce dla modelu 18fx550 z rzeczywistym kodem USB. (Znalazłem wiele prostych projektów z SDCC, ale żaden nie wykonuje niektórych bardziej ezoterycznych części układów. Dziękuję)
— todbot

Czy masz zaktualizowany link do projektu? Domena ta rozwiązuje się, ale wydaje mi się, że zawsze dostaję limit czasu połączenia.
— PeterJ
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.