Stellaris Launchpad. Πρώτη επαφή.

Έφτασε πριν μερικές μέρες το Stellaris LaunchPad. Το πρώτο πράγμα που ήθελα να κάνω είναι να στήσω το περιβάλλον και να μπορέσω να τρέξω μερικά από τα παραδείγματα που είχα κατεβάσει. Γρήγορα έγινε αντιληπτό πως οι πληροφορίες για την συγκεκριμένη συσκευή είναι λίγο πολύ διάσπαρτες στο διαδίκτυο (ακόμη και το επίσημο site δεν είναι τόσο κατατοπιστικό όσο θα περίμενα). Είπα λοιπόν να κάτσω να γράψω δύο τρεις αράδες με τα βήματα που ακολούθησα.

CCS v5

Ο ποιο γρήγορος τρόπος για ξεκινήσει κάποιος είναι με το επίσημο IDE (περιβάλλον ανάπτυξης) που δίνει η Texas Instrument. Αυτό είναι το Code Composer Studio έκδοση 5 (CCS v5). Το CCS, που βασίζεται στο πολύ γνωστό IDE Eclipse, είναι δωρεάν και πλήρες για το Stellaris Launchpad (όσο η πλακέτα είναι συνδεδεμένη δεν θα έχουμε κάποιον περιορισμό). Το CCS για GNU/Linux μπορούμε να το κατεβάσουμε από ΕΔΩ. Απαιτείται να έχουμε λογαριασμό στην Texas Instrument (η δημιουργία λογαριασμού είναι δωρεάν και απλή). Το αρχείο ( CCS5.3.0.00090_linux.tar.gz) είναι είναι περίπου 1,5 Gbytes. Αποσυμπιέζουμε το αρχείο σε όποιον φάκελο θέλουμε. Για να ξεκινήσει η εγκατάσταση πρέπει να τρέξουμε το αρχείο ccs_setup_5.3.0.00090.bin με διακαιώματα root.

xhost +
sudo ./ccs_setup_5.3.0.00090.bin

Η εντολή xhost + πριν την εκτέλεση του ccs_setup_5.3.0.00090.bin χρειάζεται για να μπορέσει μία εφαρμογή που εκτελείτε από άλλον χρήστη (root) να “σηκώσει” γραφικά στην οθόνη μας. Η εγκατάσταση του CCS γίνεται μόνο μέσα από γραφικό περιβάλλον. Τα βήματα της εγκατάστασης είναι απλά. Το CCS θα εγκατασταθεί στο /opt/ti/. Λίγο προσοχή θέλει στην οθόνη Processor Support που επιλέγουμε για ποιο επεξεργαστή θέλουμε υποστήριξη. Αν θέλουμε μόνο για το Stellaris επιλέγουμε μόνο το Stellaris Cortex M MCUs. Η εγκατάσταση θα είναι γύρω στα 3~4 Gbytes.

Κανονικά στο τέλος της εγκατάσταση της πρέπει να δημιουργηθεί στην επιφάνεια εργασίας μία συντόμευση. Όσες φορές έκανα εγκατάσταση δεν δημιουργήθηκε. Μπορείτε να φτιάξετε μία μόνοι σας που θα δείχνει στο αρχείο /opt/ti/ccsv5/eclipse/ccstudio με working path το /opt/ti/ccsv5/eclipse.

Για να επικοινωνήσει το CCS με το Stellaris απαιτούνται κάποιοι οδηγοί από την FTDI. Συγκεκριμένα το πακέτο libftd2xx. Το πακέτο αυτό υπάρχει ΕΔΩ, είναι πολύ πιθανό όμως να υπάρχει και σαν πακέτο για την διανομή που χρησιμοποιούμε (για το Arch Linux για παράδειγμα υπάρχει στο AUR. yaourt -S libftd2xx για εγκατάσταση). Από το libftd2xx (κατάλογος release και release/build/i386 του libftd2xx1.1.12.tar.gz) χρειαζόμαστε τα αρχεία που βλέπουμε παρακάτω στις αντίστοιχες θέσεις.


/usr/include/WinTypes.h
/usr/include/ftd2xx.h
/usr/lib/libftd2xx.a
/usr/lib/libftd2xx.so
/usr/lib/libftd2xx.so.1.1.12

Αν όλα έχουν γίνει σωστά το CCS θα μπορεί να επικοινωνήσει με το Stellaris.

Για να μπορούμε να μεταγλωττίσουμε προγράμματα θα χρειαστούμε και τις βιβλιοθήκες για το Stellaris (StellarisWare) που υπάρχουν ΕΔΩ. Αυτό που θα κατεβάσουμε είναι ένα exe αρχείο (SW-EK-LM4F120XL-9453.EXE) για Windows. Το μετατρέπουμε σε zip αλλάζοντας την επέκταση από .exe σε .zip. Αποσυμπιέζουμε το αρχείο σε κάποιον κατάλογο (π.χ. ~/ti/StellarisWare/). Στον κατάλογο StellarisWare υπάρχει πλέον ό,τι χρειάζεται το CCS.

Η Texas Instruments έχει μία σειρά από βοηθήματα σε βίντεο που βοηθάνε πολύ στο ξεκίνημα. Υπάρχουν ΕΔΩ. Όλα τα αρχεία που χρησιμοποιούνται στα βοηθήματα υπάρχουν για κατέβασμα αλλά είναι συμπιεσμένα σε μορφή που αναγνωρίζεται μόνο από Windows. Τα έχω συμπιέσει σε μορφή zip και υπάρχουν ΕΔΩ. Το αρχείο αυτό περιέχει καταλόγους Lab2 έως Lab10 και τους οποίους εξάγουμε στον κατάλογο ~/ti/StellarisWare/boards/ek-lm4f120xl/ από το προηγούμενο βήμα.

Μπορείτε να ξεκινήσετε πλέον με τα βίντεο από την Texas Instruments.

Άλλα χρήσιμα αρχεία:
Workbook.
Τεκμηρίωση της Βιβλιοθήκης GPIO.
Τεκμηρίωση του lm4f120h5qr.
Εγχειρίδιο του Stellaris (σχέδιο κυκλώματος κ.τ.λ.).

Το CCS όπως είναι δεν παράγει αρχεία που μπορούμε να φορτώσουμε στο Stellaris με κάποιον τρίτο προγραμματιστή. Η διαδικασία για την παραγωγή τέτοιον αρχείων (.bin) περιγράφετε στο Workbook αλλά είναι εσφαλμένη (αναφέρεται στο MSP430). Για να προσθέσουμε την δυνατότητα αυτή πάμε Project->Properties, επιλέγουμε Build από την λίστα αριστερά πάμε στην πινακίδα Steps και στο πλαίσιο Post-build steps βάζουμε στο Command: το εξής.

"${CCE_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin" "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin" "${CG_TOOL_ROOT}/bin/armofd" "${CG_TOOL_ROOT}/bin/armhex" "${CCE_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin"

post-build

Με την αλλαγή αυτή θα δημιουργείτε στον φάκελο Debug ή Release (ανάλογα με το που κάναμε την αλλαγή) ένα αρχείο με κατάληξη bin (πχ. Lab3.bin). Μπορούμε να το φορτώσουμε στο Stellaris με το πρόγραμμα lm4flash και lmicdiusb από το πακέτο lm4tools. Αφού εγκαταστήσουμε το lm4flash και lmicdiusb (σε Arch Linux yaourt -S lm4flash-git lmicdiusb-git) δημιουργούμε ένα αρχείο με όνομα 99-stellaris-launchpad.rules και μέσα βάζουμε τα ακόλουθα.

ATTRS{idVendor}=="1cbe", ATTRS{idProduct}=="00fd", GROUP="users", MODE="0660"

Αυτό το κάνουμε για να μπορούμε να χρησιμοποιούμε το lm4flash σαν απλοί χρήστες. Για να φορτώσουμε το αρχείο bin στο Stellaris πάμε στον φάκελο που βρίσκετε και δίνουμε την εντολή lm4flash onoma.bin.

lm4flash qs-rgb.bin
Found ICDI device with serial: 0E102B2B
ICDI version: 9270

Αυτά. Το επόμενο που θέλω να κάνω είναι να στήσω ένα IDE (μάλλον το Code:Blocks) με τον ARM-GCC και το OpenOCD για debugging.

Advertisements
This entry was posted in Electronics and tagged , , , , , , , , , , , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s