Инструменты пользователя

Инструменты сайта


rtos:установка_chibistudio

На главную, Операционные системы реального времени (ОСРВ)


Установка ChibiStudio и создание проекта

В этом документе пойдет речь о развертывании пакета ChibiStudio на Windows платформе.

Скачивание и установка

ChibiStudio является готовым пакетом включающем все необходимое для начала разработки Вашего проекта с использованием ChibiOS. Скачать ChibiStudio можно с официального сайта проекта: chibios.org На данный момент актуальная версия (прямая ссылка): ChibiStudio_Windows_Preview21.7z (433.56MB)

После скачивания архив нужно распаковать в удобное для Вас место. Я предпочитаю размещать в корневом каталоге диска, например c:\Chibios\

Первый запуск

Для запуска ChibiStudio нужно воспользоваться одним из ярлыков вида «Chibi Studio GCC x.x.lnk» (в данном случае «Chibi Studio GCC 5.4.lnk» или «Chibi Studio GCC 7.0.lnk»). Разница между ними в версии используемого компилятора GCC. После запуска, откроется обычное окно Eclipse

Главное окно программы

Слева расположена «рабочая область» - Project Explorer. По умолчанию открывается пользовательская рабочая область «workspace_user». Для начала работы с ChibiOs она не очень удобна. Поэтому переключимся на другую рабочую область, с уже подключенными проектами примеров/ Для этого нужно выбрать меню File→Switch Workspace→C:\ChibiStudio\workspace191\ В данном случае будет использоваться версия ChibiOs 19.1.

File->Switch Workspace

Окно программы закроется и спустя несколько секунд программа перезапустится с использованием выбранной «рабочей области»:

workspace191

В окне «Project Explorer» присутствует список проектов примеров работы с ChibiOs под различные микроконтроллеры и отладочные платы.

Создание проекта

Теперь можно создать свой проект. Удобно сделать это на базе подходящего примера. Допустим, у нас есть отладочная плата STM32L-DISCOVERY и нас интересует проект с низким энергопотреблением, т.е. с использованием ChibiOs-Nil.

  • Выбираем подходящий проект примера: NIL-STM32L152-DISCOVERY.
  • Двойным щелчком мыши по имени проекта открываем его.
  • Щелкнуть правой кнопкой мыши на имени проекта и, в открывшемся меню, выбрать «Copy».

Копирование проекта

  • Щелкнуть правой кнопкой на свободной области в окне «Project Explorer» и, в открывшемся меню, выбрать «Paste».

Создание копии

  • Откроется окно с запросом имени для копии проекта. Ввести желаемое имя и нажать «OK»

Задать имя проекта

  • Будет создана копия проекта под заданным именем и добавлена в список проектов в окне «Project Explorer». Проекты расположены в алфавитном порядке, поэтому расположение нового проекта будет зависеть от его имени

Открыть проект

Наш проект создан и размещается в каталоге c:\ChibiStudio\workspace191\ю В принципе, проект готов для компиляции и запуска, но я предпочитаю выполнить еще ряд дополнительных настроек.

Настройка созданного проекта

Если открыть папку проекта, то мы увидим что ее содержимое несколько отличается от того что отображается в окне «Project Explorer».

В частности, в ней отсутствуют каталоги board и os. Если в «Project Explorer», в проекте, щелкнуть правой кнопкой мыши на папке os и выбрать меню «Properties», то мы увидим что это виртуальная папка:

Т.е. она ссылается на код ChibiOs расположенный в C:\ChibiStudio\chibios191\os

Аналогично, папка board ссылается на C:\ChibiStudio\chibios191\os\hal\boards\ST_STM32L_DISCOVERY на эту же папку ссылается и исходный проект примера и, возможно, другие примеры. Т.е. если мы внесем какие-то изменения в board.c или board.h они отразятся на всех проектах. Поэтому, нужно скопировать содержимое ST_STM32L_DISCOVERY в наш проект, в папку board.

Теперь нужно удалить виртуальную папку board из проекта. Для этого, нажать на ней правой кнопкой мыши и выбрать «Delete». На запрос «Действительно хотите удалить» ответить «Да». Будет удалена только виртуальная папка из нашего проекта. С папкой на которую она ссылается ничего не произойдет!

После удаления виртуальной папки board Еклипс автоматически добавит в проект локальную папку board.

Теперь нужно скорректировать Makefile чтобы при компиляции также использовались наши локальные файлы board.h/board.c. Открыть Makefile и найти следующие строки:


# Imported source files and paths.
CHIBIOS  := ../../..
CONFDIR  := ./cfg
BUILDDIR := ./build
DEPDIR   := ./.dep

# Licensing files.
include $(CHIBIOS)/os/license/license.mk
# Startup files.
include $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_stm32l1xx.mk
# HAL-OSAL files (optional).
include $(CHIBIOS)/os/hal/hal.mk
include $(CHIBIOS)/os/hal/ports/STM32/STM32L1xx/platform.mk
include $(CHIBIOS)/os/hal/boards/ST_STM32L_DISCOVERY/board.mk
include $(CHIBIOS)/os/hal/osal/nil/osal.mk
# RTOS files (optional).
include $(CHIBIOS)/os/nil/nil.mk
include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
# Auto-build files in ./source recursively.
include $(CHIBIOS)/tools/mk/autobuild.mk
# Other files (optional).
#include $(CHIBIOS)/test/lib/test.mk
#include $(CHIBIOS)/test/nil/nil_test.mk
#include $(CHIBIOS)/test/oslib/oslib_test.mk

и заменить выделенные строки на

CHIBIOS  := ../../chibios191
(т.к. изменился относительный путь к расположению файлов ChibiOs) и
include ./board.mk

Затем открыть файл board.mk

# List of all the board related files.
BOARDSRC = $(CHIBIOS)/os/hal/boards/ST_STM32L_DISCOVERY/board.c

# Required include directories
BOARDINC = $(CHIBIOS)/os/hal/boards/ST_STM32L_DISCOVERY

# Shared variables
ALLCSRC += $(BOARDSRC)
ALLINC  += $(BOARDINC)
и отредактировать его следующим образом:

# List of all the board related files.
BOARDSRC = ./board/board.c

# Required include directories
BOARDINC = ./board

# Shared variables
ALLCSRC += $(BOARDSRC)
ALLINC  += $(BOARDINC)

Компиляция проекта

Теперь все готово для компиляции и сборки проекта. Для этого можно воспользоваться соответствующей кнопкой на панели инструментов:

Сборка проекта

Если в проекте будут созданы несколько конфигураций, то можно выбрать нужную воспользовавшись стрелкой справа от кнопки. Запустится процесс сборки проекта. Результат процесса будет отображаться внизу в окне «Console»

В случае успеха, лог будет оканчиваться примерно такими строками:

Linking build/ch.elf
Creating build/ch.hex
Creating build/ch.bin
Creating build/ch.dmp
Creating build/ch.list


   text	   data	    bss	    dec	    hex	filename
   4868	      0	  16384	  21252	   5304	build/ch.elf
Done

11:10:23 Build Finished (took 53s.911ms)

Теперь проект готов к загрузке в микроконтроллер и запуску.

Настройка отладчика

Прежде чем продолжить, нужно убедиться что у нас открыт только наш проект. Конфигурации отладчика запоминаются в проекте и, если открыто несколько проектов, то будут отображаться все конфигурации и есть вероятность отредактировать «не свою». В окне «Project Explorer» просматриваем список проектов и закрываем ненужные (все кроме нашего). Закрыть проект можно щелкнув на нем правой кнопкой мыши и выбрав меню «Close Project».

Затем выбрать пункт «External Tools Configuration…»

External Tools Configuration

Откроется диалоговое окно «External Tools Configuration». В этом окне конфигурируется служба OpenOCD для работы с аппаратным отладчиком. Здесь уже существует несколько конфигураций под различные типы отладчиков. Нас интересует ST-Link. Выбрав конфигурацию под ST-Link, видим следующую картину:

External Tools Configuration

Тут, в качестве конфигурации целевого процессора, указано «$(file_prompt)». Это означает, что при запуске службы будет выдано предложение выбрать файл целевого процессора. Файлы с описанием целевых процессоров находятся в каталоге c:\ChibiStudio\tools\openocd\scripts\target\. Поэтому меняем строку «Arguments» следующим образом (ключ «-f»):

-c "telnet_port 4444" -s "/ChibiStudio/tools/openocd/scripts" -f "/interface/stlink.cfg" -f "/ChibiStudio/tools/openocd/scripts/target/stm32l1.cfg"
Теперь можно запустить службу нажатием кнопки Run Если все прошло нормально, то в окне «Console» выйдет лог вида:
Open On-Chip Debugger 0.10.0+dev-00746-g8f518d359 (2019-03-14-17:18)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'.
adapter speed: 300 kHz
adapter_nsrst_delay: 100
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
none separate
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : clock speed 300 kHz
Info : STLINK V2J25S0 (API v2) VID:PID 0483:3748
Info : Target voltage: 0.000000
Error: target voltage may be too low for reliable debugging
Info : stm32l1.cpu: hardware has 6 breakpoints, 4 watchpoints
Info : Listening on port 3333 for gdb connections

Если переключиться на Перспективу «Debug», то в окне «Debug» увидим запущенную службу:

Настройка отладки

Теперь необходимо настроить собственно отладчик оболочки. Для этого, в панели инструментов нужно выбрать пункт «Debug Configuration…» как показано ниже:

Debug Configurations

Откроется одноименное диалоговое окно. В нем, слева в списке, нужно выбрать тип нужной отладки. В нашем случае - «GDB Hardware Debugging». Щелкнуть на нем правой кнопкой мыши и выбрать «New».

New

Будет создана новая конфигурация отладчика. Теперь нужно прописать для нее нужные настройки, как показано на скриншотах ниже:

Main

Debugger

Startup

По умолчанию, после старта. отладка начинается с 0-го адреса (с таблицы векторов прерываний). Если нет необходимости в отладке ассемблерного Startup файла, можно настроить чтоб, после запуска, отладчик сразу останавливался на точке входа в функцию main(). Для этого нажно добавить следующие парамеры на закладке Startup: Startup_additional

Source

Common

Не забываем после редактирования параметров нажимать кнопку «Apply»

По окончании конфигурирования, можно запустить процесс отладки нажатием кнопки «Debug» (помним, что служба OpenOCD у нас уже запущена)

Запуск отладки

В общем случае, запуск отладки производится в два этапа:

  1. Запуск службы OpenOCD
  2. Запуск собственно отладки

Start OpenOCD

Start Debug

Откроется «Перспектива» «Debug» и окно программы примет вид:

Далее, можно приступать к отладке проекта.


На главную, Операционные системы реального времени (ОСРВ)

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
D V N U N
 
rtos/установка_chibistudio.txt · Последнее изменение: 2020/04/04 15:26 — 127.0.0.1

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: GNU Free Documentation License 1.3
GNU Free Documentation License 1.3 Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki