Stellaris Launchpad & CodeBlocks.

Σε συνέχεια από το προηγούμενο post που αφορούσε το Stellaris Launchpad, θα δούμε πως μπορούμε να το χρησιμοποιήσουμε με το περιβάλλον ανάπτυξης (IDE) Code::Blocks σε συνδυασμό με τον GCC (GNU C Compiler). Βασικά, είχα μερικά θεματάκια με το CCS…

Για να έχουμε ένα λειτουργικό περιβάλλον θα χρειαστούμε τα εξής πακέτα. Το Code::Blocks, μία έκδοση του GCC για ARM επεξεργαστές (εγώ χρησιμοποίησα αυτή που βρήκα ΕΔΩ. Νομίζω πως η συγκεκριμένη έκδοση έχει και τις ευλογίες της ARM), το πακέτο StellarisWare (απαιτείτε λογαριασμός my.TI που μπορείτε να δημιουργήσετε δωρεάν), το πακέτο OpenOCD, το πακέτο LM4Tools και το πακέτο libftdi.

Η διαδικασία της εγκατάστασης κάθε πακέτου διαφέρει από διανομή σε διανομή. Λογικά κάποια από τα πακέτα αυτά θα υπάρχουν και στα αποθετήρια. Όσοι χρησιμοποιείτε ArchLinux για τον ARM GCC μπορείτε να χρησιμοποιήσετε το PKGBUILD αρχείο που ανέβασα ΕΔΩ. To StellarisWare που θα κατεβάσουμε είναι ένα exe αρχείο (SW-EK-LM4F120XL-9453.EXE) για Windows. Το μετατρέπουμε σε zip αλλάζοντας την επέκταση από .exe σε .zip. Αποσυμπιέζουμε το αρχείο σε κάποιον κατάλογο (π.χ. ~/ti/StellarisWare/). Η υποστήριξη του Stellaris Launchpad είναι σχετικά πρόσφατη στο openOCD. Οπότε πρέπει να κάνουμε την παρακάτω διαδικασία (χρειαζόμαστε το πρόγραμμα git).

mkdir openocd
1) git clone git://openocd.git.sourceforge.net/gitroot/openocd/openocd
2) cd openocd
3) git fetch http://openocd.zylin.com/openocd refs/changes/22/922/14
4) git checkout FETCH_HEAD
5) ./bootstrap
6) ./configure –disable-werror –prefix=/usr –enable-maintainer-mode –enable-parport –enable-amtjtagaccel –enable-ep93xx –enable-at91rm9200 –enable-gw16012 –enable-presto_libftdi –enable-usbprog –enable-oocd_trace –enable-jlink –enable-vsllink –enable-rlink –enable-stlink –enable-arm-jtag-ew –enable-buspirate –enable-ti-icdi –enable-osbdm
7) make
8) sudo make install

Η τελευταία εντολή sudo make install δεν είναι απαραίτητη. Μπορείτε να αντιγράψετε τα απαραίτητα αρχεία σε οποιονδήποτε φάκελο και να εκτελείτε το OpenOCD από εκεί. Στον κατάλογο που βρήσκεται ο κατάλογος openocd (εντολή 2) εκτελούμε τις παρακάτω εντολές.

1) mkdir openocd-bin
2) cp -r openocd/tcl/* openocd-bin
3) cp openocd/src/openocd openocd-bin

Τον κατάλογο openocd-bin μπορούμε να τον τοποθετήσουμε όπου θέλουμε για παράδειγμα στο home. Οι χρήστες ArchLinux μπορούν να κατεβάσουν το PKGBUILD αρχείο από ΕΔΩ. Τα lm4tools και libftdi λογικά θα υπάρχουν στα αποθετήρια της κάθε διανομής (σε ArchLinux, yaourt -S libftdi lm4flash-git lmicdiusb-git).

Αφού έχουμε κάνει τα παραπάνω εγκαθιστούμε και το CodeBlocks (σε ArchLinux, yaourt -S codeblocks). Στην συνέχεια πρέπει να περάσουμε τα αρχεία για τον Wizard. Κατεβάζουμε το αρχείο stellaris.zip από ΕΔΩ . Τον φάκελο stellaris που υπάρχει στο zip πρέπει να τον τοποθετήσουμε στο ΗΟΜΕ/.codeblocks/share/codeblocks/templates/wizard/. Ο Wizard αυτός υποθέτει πως τα αρχεία StellarisWare βρίσκονται στο HOME/ti/StellarisWare. Αν τα έχετε κάπου αλλού πρέπει να αλλάξετε το αρχείο wizard.script.
Συγκεκριμένα την γραμμή project.SetVar(_T(“STELLARIS_DIR”), _T(“${HOME}/ti/StellarisWare”), false);.
Στην συνέχεια ανοίγουμε το αρχείο config.script (θέλει διακαιώματα root) που συνήθως βρήσκεται στο /usr/share/codeblocks/templates/wizard/. Στο αρχείο αυτό προσθέτουμε και την παρακάτω γραμμή (εκεί που θα δούμε και τα υπόλοιπα _T(“Embedded Systems”)).

RegisterWizard(wizProject, _T(“stellaris”), _T(“Stellaris Launchpad”), _T(“Embedded Systems”));

Ανοίγουμε το CodeBlocks. Από το μενού επιλέγουμε Settings > Debugger…. Πάμε στο GDB debugger και επιλέγουμε Create Config. Σαν όνομα δίνουμε ARM. Στο Executable path βάζουμε την διαδρομή που υπάρχει το arm-none-eabi-gdb του GCC (συνήθως στο /usr/bin/). Επιλέγουμε το Evaluate expression under cursor και πατάμε ΟΚ.

debugger_1 debugger_2 debugger_3 debuger_4

Από το μενού επιλέγουμε Settings > Compiler…. Από την λίστα επιλέγουμε GNU ARM GCC Compiler. Πάμε στην πινακίδα Toolchain executables. Συμπληρώνουμε τα εκτελέσιμα αρχεία (συνήθως είναι /usr/bin οπότε βάζετε ότι βλέπετε στην εικόνα). Πάμε στην πινακίδα Other settings και στο Compiler logging επιλέγουμε Full command line. Πατάμε ΟΚ.

gcc_2 gcc_3 gcc_4 gcc_5

Από το μενού επιλέγουμε Tools > Configure tools…. Επιλέγουμε Add. Στο πεδίο Name: βάζουμε Run OpenOCD. Στο Executable: βάζουμε openocd (μόνο αν το openocd ειναι στο /usr/bin/. Αν για παράδειγμα είναι το HOME/openocd-bin/ θα βάλουμε $(ΗΟΜΕ)/openocd-bin/openocd). Στο Parameters: βάζουμε την τοποθεσία του αρχείου ek-lm4f120xl.cfg (αν ήμαστε στο HOME/openocd-bin/ θα βάλουμε board/ek-lm4f120xl.cfg) –file board/ek-lm4f120xl.cfg. Επιλέγουμε OK.

tools_1 tools_2 tools_3
Επιλέγουμε πάλι Add. Στο πεδίο Name: βάζουμε LM4Flash. Στο Executable: βάζουμε lm4flash Στο Parameters: βάζουμε
${PROJECT_DIR}/${TARGET_OUTPUT_DIR}/${TARGET_OUTPUT_BASENAME}.bin.
Στο Working directory: βάζουμε ${PROJECT_DIR}/${TARGET_OUTPUT_DIR}.
Επιλέγουμε Launch tool hidden with standard output redirected. Επιλέγουμε OK.

Το lm4flash το χρησιμοποιούμε για να φορτώνουμε το πρόγραμμα (αρχείο .bin) στον μικροελεγκτή.

tools_4 tools_5

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

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

One Response to Stellaris Launchpad & CodeBlocks.

  1. Ahmed Khamis says:

    Hello ,
    When trying to execute the following command :
    ./configure –disable-werror –prefix=/usr –enable-maintainer-mode –enable-parport –enable-amtjtagaccel –enable-ep93xx –enable-at91rm9200 –enable-gw16012 –enable-presto_libftdi –enable-usbprog –enable-oocd_trace –enable-jlink –enable-vsllink –enable-rlink –enable-stlink –enable-arm-jtag-ew –enable-buspirate –enable-ti-icdi –enable-osbdm

    the following error occurs :
    configure: WARNING: you should use –build, –host, –target
    configure: WARNING: invalid host type: –disable-werror
    configure: error: invalid variable name: `–prefix’

    Thanks

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