XMega + USB - kompilacja w MPLAB X

Kiedy korzystałem z Windowsa, do pisania programów pod AVR-y używałem Atmel Studio. Potem jednak, niemal równocześnie z zakończeniem migracji na Linuksa przeniosłem się na układy PIC24/PIC32 i środowisko MPLAB X, które ma swoją linuksową wersję. Gdy musiałem napisać coś na AVR, korzystałem po prostu z Makefile. Potem jednak Microchip przejął Atmela i obsługa AVR-ów została dodana do nowszych wersji środowiska i kompilatora xc8. Tworzenie nowych projektów nie stanowi najmniejszego problemu, udało mi się także zaimportować kilka starych z AS, dzięki czemu po dłuższej przerwie wróciłem do rozwijania starego projektu na AtXmeha128A3U.

Niestety, problem pojawił się, gdy chciałem dodać obsługę funkcji USB CDC. Na dysku znalazłem jakiś stary przykład od Atmela:

formatting link
Projekt w Atmel Studio 6.1 nie chciał się zaimportować bezpośrednio w MPLAB X - najpierw musiałem go przekonwertować do wersji AS7, korzystając z Windowsa odpalonego na maszynie wirtualnej. Na Windowsie, pod AS7 projekt skompilował się bez problemu. Import do MPLAB X zakończył się co prawda powodzeniem, ale już nie dało się go skompilować. Wygląda na to, że brakuje niektórych plików.

Widzę dwie możliwości:

  1. Projekt korzysta z jakichś bibliotek, które były dołączone do kompilatora AVR-GCC, instalowanego z AS, ale brakuje ich w XC8.
  2. Program nie importuje się dokładnie i nie widzi niektórych plików.

Struktura katalogów w tym projekcie to istna masakra, mnóstwo plików źródłowych i nagłówkowych rozrzuconych po wzajemnie zagnieżdżonych katalogach...

Zależałoby mi na informacji, czy:

  1. Pliki źródłowe umieszczone w tym projekcie to wszystko czego potrzeba do uruchomienia USB CDC, czy też potrzebne są jeszcze jakieś dodatkowe biblioteki, które były instalowane z kompilatorem?
  2. Ktoś może przerobił ten cały chaos plików i katalogów na prostą bibliotekę, którą po prostu mógłbym wrzucić do jednego katalogu w swoim projekcie?
Reply to
Atlantis
Loading thread data ...

A jak to konkretnie jest zrobione? Domyślam się że to tylko frontend do avr-gcc? Bo xc8 to kupiony (i zmodyfikowany?) kompilator hitech (mchp porzucil rozwój swojego mplabc dla pic18f), nie sądzę, żeby próbowali wymyślać coś w zamian avr-gcc....

Reply to
Marek

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.