Быстрый старт в Eclipse IDE: различия между версиями

Материал из MIK32 микроконтроллер
Нет описания правки
Нет описания правки
 
(не показано 19 промежуточных версий этого же участника)
Строка 1: Строка 1:
== Установка и запуск программы ==
== Установка и запуск программы ==
Необходимо скачать архив с программой по ссылке https://disk.yandex.ru/d/C9urM9QtBTNLSg и распаковать.
Необходимо скачать архив с программой по ссылке https://files.mik32.ru/eclipse/mcu32-ide-v0-2-2.zip и распаковать.


Запускать файлом '''eclipse.exe''' из папки программы. При первом запуске в окне программы закрыть вкладку Welcome нажатием на крестик рядом с именем вкладки.
Запускать файлом '''eclipse.exe''' из папки программы.


==Создание проекта==
Можно работать с созданным проектом. В нем хранятся настройки сборки для контроллера и настройки debug и tools, необходимые для прошивки.
1. В строке меню нажать File->New->C/C++ Project.


2. В открывшемся окне выбрать C Managed Build и нажать Next.
Поддерживается сборка и загрузка программ для RAM и EEPROM, сборка переключается конфигурациями сборки (кнопка молоточка), загрузка производится через tools, elf - RAM.  


3. В поле Project Name ввести название проекта. В правой области Project type должно быть выбрано ''Empty Project'', в левой области Toolchains выбрать ''RISC-V Cross GCC''. Нажать Next.
При запуске отладки для RAM автоматически загружается и программа. При запуске отладки в EEPROM программа не загружается в контроллер, это нужно сделать через tool - Load EEPROM.


4. Нажать на кнопку Advanced Settings..., откроется окно, в левой части которого раскрыть ''C/C++ Build'' и выбрать Settings.<blockquote>Все необходимые настройки находятся на вкладке Tool Settings, настройки объединены в группы, которые выбираются в дереве в левой части вкладки
==Сборка программы для запуска из ОЗУ и загрузка в ОЗУ контроллера==
1) Начнем с ''Target Processor''. В выпадающем списке Architecture выбрать ''RV32I (-march=rv32i*)'', отметить ''Multiply extension (RVM)'', отметить ''Compressed extension (RVC)'', в списке Integer ABI выбрать ''ILP32 (-mabi=ilp32*)'', в списке Align выбрать ''Strict (-mstrict-align)''.
Для сборки программы для запуска из ОЗУ необходимо переключить конфигурацию сборки на Debug RAM - для этого необходимо нажать на треугольник рядом с иконкой молотка на панели инструментов, выбрать 2 Debug RAM. Сборка уже должна запуститься, при дальшейшей разработке будет достаточно нажать на кнопку с иконкой молотка или сочетание клавиш <code>Ctrl</code>+<code>B</code>.


2) В группе Warnings рекомендуем отметить Enable all common warnings (-Wall).
Затем необходимо нажать на треугольник рядом с кнопкой External Tools и выбрать 2 Load elf Image для загрузки программы в МК.


3) В подгруппе Includes группы GNU RISC-V Cross C Compiler вставить пути, перечисленные ниже (наиболее простой способ - выделить все пути, скопировать, кликнуть по области под Include paths и нажать Ctrl+V).
В случае успешной записи в консоли будет видна строка X bytes written at address 0x02000000.


<code>"${eclipse_home}\shared\include"</code>
В случае появления ошибок вида:<blockquote>Error: Target not examined yet


<code>"${eclipse_home}\shared\periphery"</code>
Error: riscv.cpu: Unsupported DTM version: 15</blockquote>проверьте питание МК и соединение с отладчиком, выполните сброс, проверьте наличие колебаний на часовом кварце.


4) В подгруппе General группы GNU RISC-V Cross C Linker вставить путь до файла, указанный ниже.
В случае появления ошибок вида:<blockquote>Error: no device found


<code>"${eclipse_home}\shared\ldscripts\link_ramonly.ld"</code>
Error: unable to open ftdi device with vid 0403, pid 6010, description '*', serial '*' at bus location '*'</blockquote>


В нижней части подгруппы отметить пункты ''Do not use standart start files (-nostartfiles)'' и ''No startup or default libs (-nostdlib)''
проверьте подключение программатора к компьютеру, проверьте установку драйверов для программатора.<gallery>
 
Файл:Debug RAM build mode - Eclipse IDE.png
5) Нажать в нижней части окна Apply and Close, нажать Next.</blockquote>5. В выпадающем списке Toolchain name выбрать ''RISC-V GCC/Newlib (riscv64-unknown-elf-gcc)'', нажать Finish.
Файл:External Tools - Eclipse IDE.png
 
Файл:Load program in RAM - Eclipse IDE.png
6. Скачать [https://disk.yandex.ru/d/fw-_fyVaQjMDVw файл crt0.s], распаковать в любое место, скопировать в папку проекта в области Project Explorer. В появившемся окне ответить ''Copy files and folder'' и нажать OK. Проект создан.<gallery>
Файл:Mcu32 load succesful console log.png
Файл:Eclipse Target Processor.png
Файл:Linker settings - Eclipse IDE.png
Файл:Copy runtime folder to project - Eclipse IDE.png
</gallery>
</gallery>


==Создание файлов и компиляция==
==Запись программы в EEPROM==
Чтобы создать файл main.c нажмите правой кнопкой мыши на папку проекта в области Project Explorer и выбирете New->Source File. В открывшемся окне в поле Source file введите main.c и нажмите Finish. В окно редактора кода вставте код, приведенный ниже.
Для сборки программы для запуска из EEPROM необходимо переключить конфигурацию сборки на Debug EEPROM - для этого необходимо нажать на треугольник рядом с иконкой молотка на панели инструментов, выбрать 1 Debug EEPROM. Сборка уже должна запуститься, при дальшейшей разработке будет достаточно нажать на кнопку с иконкой молотка или сочетание клавиш <code>Ctrl</code>+<code>B</code>.
{| class="wikitable"
|#include <mcu32_memory_map.h>
<nowiki>#</nowiki>include <pad_config.h>


<nowiki>#</nowiki>include <gpio.h>
Затем необходимо нажать на треугольник рядом с кнопкой External Tools и выбрать 1 Load EEPROM hex для загрузки программы в EEPROM.


<nowiki>#</nowiki>include <power_manager.h>
В случае успешной записи в консоли будет видна строка


EEPROM check through APB done!<gallery>
Файл:EEPROM config - Eclipse IDE.png
Файл:Load script EEPROM - Eclipse IDE.png
Файл:EEPROM load console output - Eclipse IDE.png
</gallery>


void main() {
== Отладка из ОЗУ ==
[[Файл:Eclipse IDE Запуск отладки из ОЗУ.png|мини|173x173пкс|Eclipse IDE Запуск отладки из ОЗУ]]
Перед запуском отладки из ОЗУ необходимо переключить источник загрузки платы в режим загрузки из ОЗУ.


   PM->CLK_APB_P_SET = PM_CLOCK_GPIO_0_M | PM_CLOCK_GPIO_1_M;
Для запуска отладки из ОЗУ достаточно перейти в выпадающий список отладочных конфигураций и выбрать Debug RAM. Среда разработки предложит переключиться на отладочное представление, а программа загрузится в оперативную память и остановится в начале функции main.


   PM->CLK_APB_M_SET = PM_CLOCK_PAD_CONFIG_M | PM_CLOCK_WU_M | PM_CLOCK_PM_M;
== Отладка из EEPROM ==
[[Файл:Eclipse IDE Запуск отладки из EEPROM.png|мини|173x173пкс|Eclipse IDE Запуск отладки из EEPROM]]
Перед запуском отладки из EEPROM необходимо переключить источник загрузки платы в режим загрузки из EEPROM, собрать программу конфигурацией сборки Debug EEPROM и прошить программу по методу из пункта Запись программы в EEPROM.


   for (volatile int i = 0; i < 10; i++) ;
Для запуска отладки из EEPROM достаточно перейти в выпадающий список отладочных конфигураций и выбрать Debug EEPROM. Среда разработки предложит переключиться на отладочное представление, а программа загрузится в оперативную память и остановится в начале функции main.
[[Файл:Eclipse IDE Изменение типа точки останова.png|мини|173x173пкс|Eclipse IDE Изменение типа точки останова]]
При отладке из EEPROM необходимо использовать аппаратные точки останова. Всего в контроллере отладки ядра SCR-1 доступно 2 аппаратных точки останова. Из них в среде Eclipse IDE одна была установлена в начале функции main, а вторая доступна пользователю. При двойном нажатии на область слева от номера строки устанавливается программная (Regular) точка останова, нужно изменить её тип на аппаратную (Hardware) в настройках точки останова, к которым можно перейти из списка точек останова или двойным нажатием на точку останова слева от номера строки с зажатой клавишей Ctrl.


==Импорт проекта==
1. В строке меню нажать File->Import...


   PAD_CONFIG->PORT_1_CFG = 1 << (13 << 1);
2. В открывшемся окне раскрыть группу General и выбрать Existing Projects into Workspace, нажать Next


   GPIO_1->DIRECTION_OUT = 1 << 13;
3. Нажать кнопку Browse..., выбрать папку проекта, убедиться что в области Projects проект отмечен галочкой, нажать Finish.<gallery>
 
Файл:Импорт шаблона проекта шаг 1 - Eclipse IDE.png
 
Файл:Импорт шаблона проекта шаг 2 - Eclipse IDE.png
   while (1) {
Файл:Импорт шаблона проекта шаг 3 - Eclipse IDE.png
 
</gallery>
       GPIO_1->OUTPUT = 1 << 13;
 
       for (volatile int i = 0; i < 500000; i++);
 
       GPIO_1->OUTPUT = 0;
 
       for (volatile int i = 0; i < 500000; i++);
 
   }
 
}
|}
В строке меню выберите Project->Build All. При правильной настройке проект успешно соберется.
 
==Загрузка программы в ОЗУ контроллера==


==Запуск отладки==
==Создание новых файлов==
[[Файл:Main.c location - Eclipse IDE.png|мини|228x228пкс]]
В проекте уже создан файл main.c, он находится в папке src. Для начала работы раскройте в Project Explorer папку с названием вашего проекта, затем раскройте папку src и дважды щелкните по файлу main.c.


==Запись программы в ПЗУ==
Чтобы создать новый файл с исходным кодом нажмите правой кнопкой мыши на папку src проекта в области Project Explorer и выбирете New->Source File. В открывшемся окне в поле Source file введите main.c и нажмите Finish. Аналогично командой New->Header file создается заголовочный файл.

Текущая версия от 14:19, 19 апреля 2023

Установка и запуск программы

Необходимо скачать архив с программой по ссылке https://files.mik32.ru/eclipse/mcu32-ide-v0-2-2.zip и распаковать.

Запускать файлом eclipse.exe из папки программы.

Можно работать с созданным проектом. В нем хранятся настройки сборки для контроллера и настройки debug и tools, необходимые для прошивки.

Поддерживается сборка и загрузка программ для RAM и EEPROM, сборка переключается конфигурациями сборки (кнопка молоточка), загрузка производится через tools, elf - RAM.

При запуске отладки для RAM автоматически загружается и программа. При запуске отладки в EEPROM программа не загружается в контроллер, это нужно сделать через tool - Load EEPROM.

Сборка программы для запуска из ОЗУ и загрузка в ОЗУ контроллера

Для сборки программы для запуска из ОЗУ необходимо переключить конфигурацию сборки на Debug RAM - для этого необходимо нажать на треугольник рядом с иконкой молотка на панели инструментов, выбрать 2 Debug RAM. Сборка уже должна запуститься, при дальшейшей разработке будет достаточно нажать на кнопку с иконкой молотка или сочетание клавиш Ctrl+B.

Затем необходимо нажать на треугольник рядом с кнопкой External Tools и выбрать 2 Load elf Image для загрузки программы в МК.

В случае успешной записи в консоли будет видна строка X bytes written at address 0x02000000.

В случае появления ошибок вида:

Error: Target not examined yet Error: riscv.cpu: Unsupported DTM version: 15

проверьте питание МК и соединение с отладчиком, выполните сброс, проверьте наличие колебаний на часовом кварце. В случае появления ошибок вида:

Error: no device found Error: unable to open ftdi device with vid 0403, pid 6010, description '*', serial '*' at bus location '*'

проверьте подключение программатора к компьютеру, проверьте установку драйверов для программатора.

Запись программы в EEPROM

Для сборки программы для запуска из EEPROM необходимо переключить конфигурацию сборки на Debug EEPROM - для этого необходимо нажать на треугольник рядом с иконкой молотка на панели инструментов, выбрать 1 Debug EEPROM. Сборка уже должна запуститься, при дальшейшей разработке будет достаточно нажать на кнопку с иконкой молотка или сочетание клавиш Ctrl+B.

Затем необходимо нажать на треугольник рядом с кнопкой External Tools и выбрать 1 Load EEPROM hex для загрузки программы в EEPROM.

В случае успешной записи в консоли будет видна строка

EEPROM check through APB done!

Отладка из ОЗУ

Eclipse IDE Запуск отладки из ОЗУ

Перед запуском отладки из ОЗУ необходимо переключить источник загрузки платы в режим загрузки из ОЗУ.

Для запуска отладки из ОЗУ достаточно перейти в выпадающий список отладочных конфигураций и выбрать Debug RAM. Среда разработки предложит переключиться на отладочное представление, а программа загрузится в оперативную память и остановится в начале функции main.

Отладка из EEPROM

Eclipse IDE Запуск отладки из EEPROM

Перед запуском отладки из EEPROM необходимо переключить источник загрузки платы в режим загрузки из EEPROM, собрать программу конфигурацией сборки Debug EEPROM и прошить программу по методу из пункта Запись программы в EEPROM.

Для запуска отладки из EEPROM достаточно перейти в выпадающий список отладочных конфигураций и выбрать Debug EEPROM. Среда разработки предложит переключиться на отладочное представление, а программа загрузится в оперативную память и остановится в начале функции main.

Eclipse IDE Изменение типа точки останова

При отладке из EEPROM необходимо использовать аппаратные точки останова. Всего в контроллере отладки ядра SCR-1 доступно 2 аппаратных точки останова. Из них в среде Eclipse IDE одна была установлена в начале функции main, а вторая доступна пользователю. При двойном нажатии на область слева от номера строки устанавливается программная (Regular) точка останова, нужно изменить её тип на аппаратную (Hardware) в настройках точки останова, к которым можно перейти из списка точек останова или двойным нажатием на точку останова слева от номера строки с зажатой клавишей Ctrl.

Импорт проекта

1. В строке меню нажать File->Import...

2. В открывшемся окне раскрыть группу General и выбрать Existing Projects into Workspace, нажать Next

3. Нажать кнопку Browse..., выбрать папку проекта, убедиться что в области Projects проект отмечен галочкой, нажать Finish.

Создание новых файлов

Main.c location - Eclipse IDE.png

В проекте уже создан файл main.c, он находится в папке src. Для начала работы раскройте в Project Explorer папку с названием вашего проекта, затем раскройте папку src и дважды щелкните по файлу main.c.

Чтобы создать новый файл с исходным кодом нажмите правой кнопкой мыши на папку src проекта в области Project Explorer и выбирете New->Source File. В открывшемся окне в поле Source file введите main.c и нажмите Finish. Аналогично командой New->Header file создается заголовочный файл.