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