TM4C123G LaunchPad. Налаштування Keil

Tiva C

На ринку існує багато різних мікроконтроллерів для різних завдань та з різною конфігурацією. В цій статті розглянемо налаштування Keil для одного з мікроконтроллерів компанії Texas Instruments TM4C123G6PM, а також напишемо програму для мигання світлодіодом. Для зручної роботи буде потрібна плата TM4C123G LaunchPad,яка складається з  мікроконтроллера з зовнішньою обвіскою та JTAG програматора.
Ціна всього 12.99 з безплатною доставкою в Україну. Замовити борд можна тут.

Основні характеристики:

  • 32bit ARM TM4C123GH6PM, 80 MHz (64pin)
  • 256KB Flash, 32KB RAM
  • 43 I/O Pins
  • 16 PWM
  • 12 Analog Input (12bit)
  • 4x SPI, 4x I2C, 2x CAN
  • 2 buttons 1 RGB LED

Для тих хто знайомий з Arduino є можливість працювати в подібному середовищі Energia.

Для роботи потрібно:

  1. Плата TM4C123G LaunchPad;
  2. Драйвер для роботи з платою: http://www.ti.com/tool/stellaris_icdi_drivers;
  3. Бібліотека для роботи з периферією TivaWare  – SW-TM4C-DRL;
  4. Keil версія  MDK-ARM v4 або MDK-ARM v5. Якщо використовується версія 5, потрібно також завантажити і встановити MDK5 Software Packs ( Texas Instruments Tiva C Series Device Support and Examples).

Після того як завантажили все потрібне, підключаємо плату, встановлюємо драйвери. Потім встановлюємо бібліотеку TivaWare  і запам’ятовуємо шлях до неї. Після цього встановлюємо Keil. Все налаштовуємо згідно інструкції:

Заходимо в меню Project – > New uVision Project…  Вибираємо папку для збереження, задаємо назву проекту і зберігаємо. Далі вибираємо мікроконтроллер

mcu select

Далі IDE запропонує скопіювати стартап файл, відмовляємось

select sturtup file

Добавляємо нову групу, для різних типів файлів (наприклад для бібліотек, rtos)

add new group of files

Міняємо назви груп

Manage project

для цього проекту я перейменував Target 1 на TM4C123GH6PM, Source Group 1 на Source, New Group на Libs

Manage project items

 

Добавляємо main.c файл в проект. Для цього клікаємо правою клавішею на Source 

add main file

Аналогічним чином добавляємо startup.s

startup

Добавляємо бібліотеку для роботи з периферією. Вона знаходиться в папці де встановлена TivaWare

lib

Після цих кроків ієрархія проекту повинна виглядати так

15

Переходимо до налаштувань проекту. Для цього клікаємо правою клавішею на проекті, і вибираємо Options for Target. Переходимо на вкладку Target та активуємо “Use MicroLIB”

Далі переходимо на вкладку “С/С++

С/С++ settings

в поле “Define” вписуємо: rvmdk PART_TM4C123GH6PM TARGET_IS_BLIZZARD_RB1

TARGET_IS_BLIZZARD_RB1 – включення можливості використання бібліотек які містяться в EEPROM мікроконтроллера (це дозволяє економити FLASH память)

в поле “Include Paths” вписуємо: шлях до бібліотеки TivaWare

в “Mics Controls”: –С99  – включення підтримки стандарту С99

На вкладці Linker потрібно активувати “Use Memory Layout form Target Dialog”, а також в  “Misc control” добавити :–entry Reset_Handler

Linker

Для відлагодження програми можна використовувати симулятор або JTAG. В даному випадку вибраний режим JTAG – Stelaris ICDI

Debug

Налаштування проекта можна вважати закінченим. Вибираємо та налаштовуємо програматор

Programmer

 

Рекомендую встановити галочку “Reset and Run”, для того щоб кожного разу після прошивки мікроконтроллера його не натискати кнопку “Resetна платі

Programmer settings

Код програми для мигання світлодіодом. Добавляємо в main.c, компілюємо і прошиваємо.

Результат роботи:

2014-06-03 17.37.59

Проект можна заватажити з github.

В одній з наступних статтей планую написати про налаштування FreeRTOS для цієї плати.