Autor: Dexter
Redakcja: Dondu
Witajcie, w tym krótkim poradniku pokażę jak po raz pierwszy uruchomić zestaw Stellaris Launchpad EK-LM4F120XL na przykładzie wbudowanej diody RGB.
Jest to zestaw wypuszczony prze firmę Texas Instruments, w którym mamy do dyspozycji całkiem sporo podzespołów m.in.:
-
Szybki procesor ARM LM4F120H5QR
-
Maksymalna prędkość do 80MHz
-
architektura układu: 32-bit ARM Cortex-M4F
-
256KB Flash - 32KB SRAM - 2KB EEPROM
-
12x 32-bit & 12x 16-bit Timers
-
11 kanałów ADC w tym 2x12-bitowe ADC (1Msps)
-
2x Komparatory analogowe
-
czujnik temperatury
-
RTC
-
UART, I2C, SPI, CAN, USB
-
1 LED RGB
-
2x mikro switch
W zestawie jest dołączony przewód USB:
1. Oprogramowanie
Pierwszą rzeczą jaką musimy zrobić jest pobranie wymaganego oprogramowania. Z informacji na stronie producenta sugerowane oprogramowanie znajduje się pod tym linkiem LM4F120 LaunchPad Evaluation Board Software jest to pakiet EK-LM4F120XL-CCS. Przyda nam się też pakiet SW-LM3S-9453 który znajdziesz tutaj: StellarisWare® Complete (all boards, all components).
Mamy już potrzebny pakiet, teraz trzeba go wypakować do dowolnego folderu. Otwieramy rozpakowany folder EK-LM4F120XL-CCS-733\Software\CCS i odpalamy instalację.
Następnie akceptujemy warunki umowy - po ówczesnym przeczytaniu ;-) - i przechodzimy dalej. Pojawi się okno ścieżki instalacji, ja zostawiłem domyślną. Następnie pojawia się okno wyboru rodzaju instalacji, wybieramy CUSTOM.
W kolejnym oknie zaznaczamy które architektury mają być obsługiwane przez program. Dla naszego zestawu zaznaczamy Stellaris Cortex M MCUs oraz MSP430 Low Power MCUs i klikamy dalej. W kolejnym oknie nic nie zmieniamy, klikamy dalej.
W następnym oknie odznaczamy Blackhawk Emulators i Spectrum Digital emulators (zostawiamy jeśli ktoś planuje tego używać) Klikamy dalej i czekamy aż program się zainstaluje. W ostatnim oknie odznaczamy uruchomienie i klikamy zakończ. Kolejny krok to instalacja pakietu z drugiego linku w domyślnej lokalizacji.
2. Podłączenie
Po zainstalowaniu oprogramowania podłączamy przewód USB do gniazda i zmieniamy ustawienie przełącznika na DEBUG (w prawo), ponieważ na płytce są dwa gniazda USB przewód wpinamy do zaznaczonego poniżej.Zaznaczone gniazdo |
Następnie wpinamy drugi koniec przewodu do komputera. Zestaw powinien się włączyć co sygnalizuje dioda zasilania i dioda RGB ponieważ domyślnie wgrany jest program DEMO. Dalej system zakomunikuje że nie może zainstalować urządzenia, więc wchodzimy w menadżer urządzeń. Powinno być widoczne 3 nowe urządzenia z błędem.
Klikamy prawym przyciskiem na pierwsze od góry i wybieramy aktualizuj oprogramowanie. Dalej wybieramy przeglądaj komputer i podajemy ścieżkę do folderu który rozpakowaliśmy na początku. W przypadku pojawienia sie komunikatu o weryfikacji sterowników klikamy "zainstaluj mimo to".
Po zainstalowaniu klikamy zamknij i powtarzamy czynność dla dwóch pozostałych urządzeń. Mamy zainstalowane sterowniki.
3. Przykładowy program
Uruchamiamy CODE COMPOSER STUDIO, które zainstalowaliśmy w punkcie 1, pojawi się okno wyboru miejsca pracy klikamy ok. Jeśli wyskoczy okno licencji wybieramy EVALUATE (licencja pełna na 90 dni).Klikamy PROJECT, dalej IMPORT EXITING CCS ECLIPSE PROJECT. W prawym rogu klikamy browse i podajemy ścieżkę C:\StellarisWare\boards\ek-lm4f120xl\project0, zatwierdzamy i klikamy FINISH.
W programie pojawił się pierwszy projekt, aby go uruchomić klikamy na plik "project0.c" z menu po lewej.
Następnie klikamy ikonę DEBUG, po poprawnie wykonanej operacji pojawi się kilka okien, a zestaw przestanie działać na programie demo. Teraz wystarczy kliknąć ikonę RESUME w oknie "Debug" pierwszym od góry i program zacznie działać na płytce.
W oknie "project0.c" możemy edytować kod np. zmieniając kolor diody w linii 95 na
GPIOPinWrite(GPIO_PORTF_BASE, RED_LED|BLUE_LED|GREEN_LED, GREEN_LED);
Poniżej przykładowy program:
//***************************************************************************** // // project0.c - Example to demonstrate minimal StellarisWare setup // // Copyright (c) 2012 Texas Instruments Incorporated. All rights reserved. // Software License Agreement // // Texas Instruments (TI) is supplying this software for use solely and // exclusively on TI's microcontroller products. The software is owned by // TI and/or its suppliers, and is protected under applicable copyright // laws. You may not combine this software with "viral" open-source // software in order to form a larger program. // // THIS SOFTWARE IS PROVIDED "AS IS" AND WITH ALL FAULTS. // NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT // NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. TI SHALL NOT, UNDER ANY // CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL // DAMAGES, FOR ANY REASON WHATSOEVER. // // This is part of revision 9453 of the EK-LM4F120XL Firmware Package. // //***************************************************************************** #include "inc/hw_types.h" #include "inc/hw_memmap.h" #include "driverlib/sysctl.h" #include "driverlib/gpio.h" //***************************************************************************** // // Define pin to LED color mapping. // //***************************************************************************** #define RED_LED GPIO_PIN_1 #define BLUE_LED GPIO_PIN_2 #define GREEN_LED GPIO_PIN_3 //***************************************************************************** // //! \addtogroup example_list //! <h1>Project Zero (project0)</h1> //! //! This example demonstrates the use of StellarisWare to setup the clocks //! and toggle GPIO pins to make the LED's blink. This is a good place to //! start understanding your launchpad and the tools that can be used to //! program it. See http://www.ti.com/stellaris-launchpad/project0 for more //! information and tutorial videos. //! // //***************************************************************************** //***************************************************************************** // // Main 'C' Language entry point. Toggle an LED using StellarisWare. // See www.ti.com/stellaris-launchpad/project0 for more information and // tutorial videos. // //***************************************************************************** int main(void) { // // Setup the system clock to run at 50 Mhz from PLL with crystal reference // SysCtlClockSet(SYSCTL_SYSDIV_4|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHZ| SYSCTL_OSC_MAIN); // // Enable and configure the GPIO port for the LED operation. // SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF); GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, RED_LED|BLUE_LED|GREEN_LED); // // Loop Forever // while(1) { // // Turn on the LED // GPIOPinWrite(GPIO_PORTF_BASE, RED_LED|BLUE_LED|GREEN_LED, BLUE_LED); // // Delay for a bit // SysCtlDelay(2000000); // // Turn on the LED // GPIOPinWrite(GPIO_PORTF_BASE, RED_LED|BLUE_LED|GREEN_LED, RED_LED); // // Delay for a bit // SysCtlDelay(2000000); } }
Następnie ponownie klikamy DEBUG i RESUME. Dzięki temu zacznie migać dioda zielona zamiast niebieskiej. Program możemy modyfikować jak tylko chcemy.
W pobranych plikach które instalowaliśmy są przykładowe lekcje, można je przerobić i trochę wdrożyć się w temat.
Źródła:
- Stellaris® LM4F120 LaunchPad Evaluation Kit
- Getting Started with the Stellaris EK-LM4F120XL LaunchPad Workshop
- Tiva TM4C123G LaunchPad Blink the RGB
- Student Guide and Lab Manual (kopia)
Brak komentarzy:
Prześlij komentarz