Например TDA7294

РадиоКот > Статьи

Внутрисхемная отладка через Eclipse на примере платы stm32discovery

Автор: Тарицын Николай
Опубликовано 17.10.2011.
Создано при помощи КотоРед.

Эта статья о том, как настроить отладку в Eclipse для stm32vldiscovery через встроенный программатор St-Link.
Для тех, кто не знал, но догадывался :)
И в особенности для тех, кто давно хотел это сделать и освоить наконец-таки этот злосчастный stm32 :)

Я постарался написать ее так, чтобы у человека, 1 раз знакомящегося с этой средой все получилось 

Во-первых, как это все выглядит:

  • Устанавливаем среду разработки Eclipse.
  • Устанавливаем инструменты для компиляции и отладки.
  • Устанавливаем GDB сервер.
  • Настраиваем связь Eclips"а и GDB

Значицца, поехали :)

Часть первая. Установка Eclipse

1. Sourcery CodeBench Lite Edition for ARM  

Скачиваем, устанавливаем
На вопрос добавить директорию в PATH отвечаем да


Все, что дальше, НЕ УСТАНАВЛИВАТЬ В ДИРЕКТОРИЮ, СОДЕРЖАЩУЮ ПРОБЕЛЫ, например "C:/Program Files/"


2.  YAGARTO GNU ARM toolchain

Binutils-2.21
Newlib-1.19.0
GCC-4.6.0
GDB-7.2 

29.04.2011
(на момент написания статьи свежайшая версия)
Скачиваем, устанавливаем, запоминаем где находится папка …yagartobin

3. Java SE Downloads

Скачиваем Java Runtime Environment (JRE), устанавливаем. Этот шаг необходим для того, чтобы заработал Eclipse.

4. Eclipse
 
Выбираем «eclipse-SDK-3.6.2-win32.zip»
Установка – просто разархивируем в нужное место

5. GNU ARM Eclipse Plug-in

Здесь скачиваем Toolchains
, необходимые для компилляции
Установка: 
Открываем Eclipse, жмем Help->Install New Software
В открывшемся окне ищем кнопку Add и указываем путь к скаченному файлу

В окне появится нужный нам инструмент (иногда нужно подождать):


 

 Устанавливаем галки как на рисунке, жмем Next, соглашаемся с лицензией (если нужно будет) и завершаем установку.

6. Eclipse C/C++ Development Tooling - CDT
Скачиваем CDT 7.0.2 for Eclipse Helios
Устанавливаем toolchain GDB Hardware Debugging точно так же как в предыдущем пункте:
Help->Install New Software
Указываем путь к файлу
Устанавливаем  галки:


Жмем next и устанавливаем

 Часть 2. Настройка Eclipse


Я использовал готовый проект, взятый отсюда .
(файл 02.rar)

Eго нужно положить в вашу папку workspace, затем выполнить File->Import…
В открывшемся окне выбрать Existing Projects into Workspace


 
Дальше указываем путь к рабочему пространству, из которого открываем проект (если из текущего, то просто нажмите Browse и потом Ok, будет выбрано текущее).

 



Выберете импортируемые проекты и нажмите Finish



Важные моменты:

(опишу тут проблемы с которыми я сталкивался при настройке, вдруг кому поможет)


1. Скрипт для линкера

Находится в папке Configstm32f100rb_flash.ld 

Открываем свойства проекта, C/C++ Build->Settings ищем
ARM Sourcery Windows GCC C Linker->General 

 



В поле справа вверху прописывается путь к скрипту линковщика.
У меня долго все не хотело запускаться именно из-за того, что этот путь был неправильно прописан.
На рисунке вроде правильный вариант ( «..» означает папку проекта).
Если не заработает, то можно там указать абсолютный путь.

Галочки поставить как на рисунке.

2. Выходной файл

Если вдруг вам понадобится файл программы (например чтобы записать его в процессор через St_Link Utility) то в настройках ARM Sourcery Windows GNU Create Flash Image->Output можно выбрать необходимый формат. (у меня st-шная утилита нормально воспринимала ihex, а bin  почему-то не воспринимался).

3. Проверить используемые Tool Chain"ы:

C/C++ Build->Tool Chain Editor
У меня это выглядит так:

 



4. Указать пути к заголовочны файлам (если при компиляции вдруго чего не находит)

C/C++ General -> Paths and Symbols
Тут добавляем папки с заголовочными файлами (в моем проекте уже добавлены) 

 



/${ProjName}/Source/System

Теперь builder должен запуститься и вы сможете получить долгожданный *.hex и залить его в процессор. Мяу!

Часть 3. Настройка отладчика

И вот, мы подошли к главной цели той статьи – настройка внутрисхемной отладки.

Для начала вам понадобится GDB сервер. (ST-LINK_gdbserver.rar)
Скачиваем, извлекаем из архива.

Настраиваем инструмент, который поможет нам запустить этот сервер одним нажатием кнопки:

меню Run - External Tool - External Tools Configuration
 



Вкладку Main настраиваем как на рисунке 

На вкладке Common желательно отметить галкой Allocate console - тогда при отладке вы будете видеть ход процесса во встроенной консоли Eclipse/

Если запустить сервер сейчас, то в консоли вы должны увидеть примерно следующее:


 Atollic TrueSTUDIO gdbserver for ST-Link.    Version 1.2.5 Pro
 Developed by Atollic AB for STMicroelectronics
 Copyright 2010, Atollic AB and STMicroelectronics

    Starting server with the following options:
        Persistant Mode            : Enabled
        LogFile Name               : debug_log.txt
        Logging Level              : 31
        Listen Port Number         : 61234
        Status Refresh Delay       : 15s
        Verbose Mode               : Enabled
        SWD Debug                  : Enabled
NVIC_DFSR_REG     = 0x00000009
NVIC_CFGFSR_REG   = 0x00000000
ST_LINK Major version =1 Jtag version =11
ST_LINK VID=1155 PID=14148
ST_LINK device status: HALT_MODE
watchpoint supported by the target
FuncEntry
STM32 device: id =10016420
STM32 device: Flash size =128
FuncExit
FuncEntry
FuncExit
Connected to the ST-Link Debugger.
Start Logging
Waiting for client to connect on port 61234 ...

(не нашел в КотоРеде вставки кода)

Теперь настраиваем дебаггер:

меню Run->Debug Configurations

 





на вкладке Startup отмечаем галочками Reset and Delay, Halt, Load image, Load symbols, Set breakpoint at (и вводите main, если не введено) и Resume.

Вот и все. 

Для отладки сначала запускаете сервер, потом дебаггер.

В таком варианте на плату заливается прошивка и запускается отладка.
Если нужно только прошить, то при настройке дебаггера нужно поставить только галку  Load image. Можно создать два: один только прошивает, другой прошивает и отлаживает. Можно еще сделать это, подавая команды на gdb сервер, но как я не знаю.

 

Спасибо форумчанину ARV за помощь в настройке, а также сайту embedded.su  и автору замечательной статьи по настройке Eclipse:

http://embedded.su/arm/2011/01/26/hello-world-dlya-stm32-ili-s-chego-nachat.html  



Файлы:
01.rar
Проект для Eclipse


Все вопросы в Форум.


ID: 1012

Как вам эта статья?

 Нравится
 Так себе
 Не нравится

Заработало ли это устройство у вас?

 Заработало сразу
 Заработало после плясок с бубном
 Не заработало совсем

8 3 1
1 1
Подробно