Hướng dẫn lập trình TIVA C trên Linux

Lập trình trên TIVA ubuntu như thế nào ? Hướng dẫn các bước cơ bản để có thể lập trình tạo project với TIVA C Launchpad.

Trước khi bắt đầu nếu bạn chưa biết gì về TIVA thì có thể xem qua cách làm quen với board TIVA. Khi bạn đã chán cách này rồi và muốn một điều gì đó mới mẻ hơn, chẳng hạn như không dùng Code Composer Studio, không sử dụng CCS Cloud, chỉ muốn dùng GNU và vài dòng lệnh command như make là có thể compile code và nạp được chương trình xuống thì đây là bài viết dành cho bạn

Chuẩn bị

Phần cứng

  • Kit TIVA Launchpad
  • Máy tính dùng Ubuntu (mình dùng bản 14.04)

Phần mềm

2 phiên bản trên bạn có thể tải tại link backup của mình tại đây

Các bước thực hiện

Các bạn có thể thực hiện theo các bước tuần tự như sau

Bước 0: Nếu bạn đã tải về gcc và tivaware rồi thì có thể bỏ qua bước này

$ wget https://launchpad.net/gcc-arm-embedded/5.0/5-2016-q3-update/+dow nload/gcc-arm-none-eabi-5_4-2016q3-20160926-linux.tar.bz2
$ wget http://software-dl.ti.com/download/tiva-c/6VUPU3JVHZDTQBQPMRC5MP KZ8HMP7YGD/SW-TM4C-2.1.4.178.exe

Bước 1: Tạo thư mục để chứa project và toolchain

$ mkdir ~/Embedded
$ cd ~/Embedded

Bước 2: Cài một số thuộc tính và thư viện cần thiết

# Voi may xai linux 64-bit :
$ sudo dpkg --add-architecture i386
  
# Lenh chung cho moi nguoi:
$ sudo apt-get update
$ sudo apt-get install unzip flex bison libgmp3-dev libmpfr-dev libncurses5-dev libmpc-dev autoconf texinfo build-essential libftdi-dev python-yaml zlib1g-dev libtool -y
  
# Lenh rieng cho may dung linux 64 bit:
$ sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 -y
  
# De co the flash qua cong USB:
$ sudo apt-get install libusb-1.0-0 libusb-1.0-0-dev

Bước 3: Giải nén file gcc-arm-none-eabi vào thư mục Embedded

$ cd ~/Downloads
$ tar -xvf gcc-arm-none-eabi-5_4-2016q3-20160926-linux.tar.bz2 -C ~/Embedded

Bước 4: Thêm đường dẫn của thư mục bin vào path

$ export PATH=$PATH:$HOME/Embedded/gcc-arm-none-eabi-5_4-2016q3/bin

Bước 5: Giải nén file tivaware, đây là thư viện chính của hãng Texas Instrument cho dòng TIVA C

$ cd ~/Embedded
$ mkdir tivaware
$ cd tivaware/
# Vao thu muc download va giai nen file .exe vao thu muc tivaware
$ mv ~/Downloads/SW-TM4C-2.1.4.178.exe . #Dung quen dau cham
$ sudo apt install unzip
$ unzip SW-TM4C-2.1.4.178.exe

Bước 6: Thực hiện compile với make

$ make

Bước 7: Tải project mẫu về

$ cd ~/Embedded
$ git clone https://github.com/uctools/tiva-template

Bước 8: Tải công cụ flash lm4flash để flash file bin vào kit TIVA Launchpad

$ cd ~/Embedded
$ git clone https://github.com/utzig/lm4tools
$ cd lm4tools/lm4flash/
$ make
#Neu make bi loi libusb.h thi chay lenh
$ cc -Wall -I/usr/include/libusb-1.0 lm4flash.c -lusb-1.0 -o lm4flash

Bước 9: Tải OpenOCD để có thể thực hiện được debug

$ cd ~/Embedded
$ git clone https://github.com/ntfreak/openocd
$ cd openocd
$ git submodule init
$ git submodule update
$ ./bootstrap
$ ./configure --enable-ti-icdi --prefix=`pwd`/..
$ make -j3
$ make install

Build Firmware

Để chương trình mẫu là chớp tắt LED có thể được build và flash lên kit Launchpad thi các bạn cần thực hiện theo các bước sau

Bước 1: Vào trong thư mục Embedded/tiva-template/src/main.c xem qua chút xem chương trình như thế nào

Bước 2: Chỉnh sửa cấu hình đường dẫn cho makefile của project như sau

Phần này mình giữ nguyên gốc của tác giả, có chỗ bạn cần phải lưu ý và thay đổi là TIVAWARE_PATH = $(HOME)/Embedded/tivaware

#######################################
# user configuration:
#######################################
# TARGET: name of the output file
TARGET = main
# MCU: part number to build for
MCU = TM4C123GH6PM
# SOURCES: list of input source sources
SOURCES = main.c startup_gcc.c
# INCLUDES: list of includes, by default, use Includes directory
INCLUDES = -IInclude
# OUTDIR: directory to use for output
OUTDIR = build
# TIVAWARE_PATH: path to tivaware folder
TIVAWARE_PATH = $(HOME)/Embedded/tivaware

Bước 3: Chạy make để build chương trình

$ export PATH=$PATH:$HOME/Embedded/gcc-arm-none-eabi-5_4-2016q3/bin
$ cd ~/Embedded/tiva-template
$ make

Kết quả sau khi build thành công

Flash board

Để thực hiện flash được trên board TIVA C Launchpad thông qua USB thì cần có quyền sudo

Bước 1: Chạy lệnh

$ cd ~/Embedded/lm4tools/lm4flash/
$ sudo ./lm4flash ~/Embedded/tiva-template/build/main.bin

Bước 2: Sau khi build thành công thì LED đỏ sẽ chớp tắt và có thông báo như bên dưới, nếu chưa cắm kit TIVA C vào sẽ có thông báo Unable to find any ICDI divices

Lưu ý: Trường hợp máy bạn không nhận driver của TIVA C Launchpad thì cách nhanh nhất để khắc phục là cài CCS Cloud theo bài hướng dẫn này

Tạm kết

Vậy là bạn đã thực hiện thành công các bước để có thể build, flash được một chương trình cho TIVA C Launchpad với gcc-arm-non-eabimake. Hi vọng các bạn sẽ dễ dàng hơn để phát triển các ứng ụng với TIVA C trên linux mà không phải lo lắng về vấn đề bản quyền.

Tham khảo

[1][2][3]