CodeWarrior na Eclipse
Historycznie środowisko programistyczne CodeWarrior zostało stworzone przez firmę MetroWerks, która opracowała je z myślą o układach z serii Motorola 68000. W roku 1999 produkt ten został przejęty przez Motorolę na skutek fuzji obu tych firm. Począwszy od roku 2003 CodeWarrior jest rozwijany przez firmę Freescale, która powstała po wydzieleniu z Motoroli działu zajmującego się technologią półprzewodnikową…
Na wartość rynkową każdej rodziny mikrokontrolerów składa się wiele czynników. Do tych najistotniejszych należą właściwości samych układów, które określone są głównie poprzez ich parametry elektryczne oraz ilość i typ posiadanych zasobów wewnętrznych. Inną, często niedocenianą cechą mającą niebagatelny wpływ na fakt osiągnięcia bądź nie sukcesu komercyjnego przez daną rodzinę mikrokontrolerów jest jakość oferowanego przez producenta środowiska programistycznego służącego do tworzenia kodu dla tychże układów. Środowisko programistyczne jest niejako interfejsem łączącym programistę z mikrokontrolerem, dlatego od jego klasy, a więc łatwości użycia, funkcjonalności i niezawodności zależy kluczowa dla każdego projektu wykorzystującego mikrokontroler cecha, jaką jest czas wykonania oprogramowania. Świadomość wagi tego elementu ma firma Freescale, której pakiet o nazwie CodeWarrior znany jest programistom mikrokontrolerów od wielu lat.
Historycznie środowisko programistyczne CodeWarrior zostało stworzone przez firmę MetroWerks, która opracowała je z myślą o układach z serii Motorola 68000. W roku 1999 produkt ten został przejęty przez Motorolę na skutek fuzji obu tych firm. Począwszy od roku 2003 CodeWarrior jest rozwijany przez firmę Freescale, która powstała po wydzieleniu z Motoroli działu zajmującego się technologią półprzewodnikową.
Wieloletni rozwój pakietu CodeWarrior zaowocował powstaniem kompletnego, pełnowartościowego narzędzia zapewniającego wsparcie dla etapu tworzenia, modyfikacji oraz testowania oprogramowania. Jest to obecnie środowisko programistyczne typu IDE, które bazuje na platformie Eclipse. Model ten polegający na integracji uniwersalnej i otwartej architektury programistycznej jaką jest Eclipse z systemem wtyczek i dodatków umożliwia stworzenie wydajnego i skalowalnego produktu dopasowanego do potrzeb danego klienta.
Do podstawowych elementów środowiska CodeWarrior należą:
- kompilatory C/C++/Embedded C++/Assembler oraz linker,
- symulator,
- debugger umożliwiający przeglądanie programu w postaci kodu źródłowego oraz zdeasemblowanego kodu wynikowego, analizę kodu poprzez pracę krokową i wykorzystanie pułapek, widok aktualnej wartości komórek pamięci, rejestrów i zmiennych,
- rozbudowany system zarządzania projektami z obsługą standardu XML oraz wielu profili konfiguracyjnych plików, kompilatora i linkera,
- zaawansowany edytor z funkcją formatowania i podświetlania tekstu umożliwiający między innymi obsługę wielu formatów tekstowych, porównywanie plików z różnych podfolderów oraz pracę w trybie wielu okien,
- narzędzia pozwalające na komunikację z mikrokontrolerem.
Oprócz wymienionych komponentów pakiet CodeWarrior może zostać wyposażony w wiele dodatkowych funkcji. Jedną z tych, na które warto zwrócić uwagę jest narzędzie ProcessorExpert, które na podstawie predefiniowanych przez programistę opcji potrafi wygenerować odpowiadający ustawieniom gotowy kod źródłowy.
Środowisko CodeWarrior współpracuje z szeroką gamą rodzin mikrokontrolerów będących w ofercie firmy Freescale. Zapewnia wsparcie dla układów o architekturze 8-bitowej (HC08, HCS08, RS08), 16-bitowej (HCS12), 32-bitowej (Coldfire) oraz innych wyspecjalizowanych produktów. Obecnie trwają prace nad uzupełnieniem tej grupy o układy rodziny Kinetis – mikrokontrolerów opartych na rdzeniu ARM Cortex-M4.
Producent udostępnia środowisko CodeWarrior w kilku wariantach: Basic Suite, Standard Suite, Proffesional Suite, Special Suite, Evaluation Suite. Zostały one zróżnicowane między sobą pod względem funkcjonalnym. Pierwsze trzy wersje mają zastosowanie komercyjne różniąc się od siebie ilością obsługiwanych rodzin mikrokontrolerów oraz rodzajem posiadanych rozszerzeń. Na szczególną uwagę zasługują dwie kolejne odmiany, których funkcjonalność nie jest wprawdzie pełna (ograniczenie dopuszczalnej ilości kodu lub czasu użytkowania), jednak niewątpliwą ich zaletą jest darmowa licencja.