Быстрый старт в Eclipse IDE: различия между версиями
Sh-sergey (обсуждение | вклад) |
Sh-sergey (обсуждение | вклад) |
||
Строка 41: | Строка 41: | ||
Чтобы создать файл [https://disk.yandex.ru/d/OBvGzAk2n8YZdA main.c] нажмите правой кнопкой мыши на папку проекта в области Project Explorer и выбирете New->Source File. В открывшемся окне в поле Source file введите main.c и нажмите Finish. В окно редактора кода вставте код, приведенный ниже. | Чтобы создать файл [https://disk.yandex.ru/d/OBvGzAk2n8YZdA main.c] нажмите правой кнопкой мыши на папку проекта в области Project Explorer и выбирете New->Source File. В открывшемся окне в поле Source file введите main.c и нажмите Finish. В окно редактора кода вставте код, приведенный ниже. | ||
< | <syntaxhighlight lang="c" line> | ||
#include <mcu32_memory_map.h> | #include <mcu32_memory_map.h><br> | ||
#include <pad_config.h> | #include <pad_config.h><br> | ||
#include <gpio.h> | #include <gpio.h><br> | ||
#include <power_manager.h> | #include <power_manager.h><br> | ||
void main() { | void main() {<br> | ||
PM->CLK_APB_P_SET = PM_CLOCK_GPIO_0_M | PM_CLOCK_GPIO_1_M; | PM->CLK_APB_P_SET = PM_CLOCK_GPIO_0_M | PM_CLOCK_GPIO_1_M;<br> | ||
PM->CLK_APB_M_SET = PM_CLOCK_PAD_CONFIG_M | PM_CLOCK_WU_M | PM_CLOCK_PM_M; | PM->CLK_APB_M_SET = PM_CLOCK_PAD_CONFIG_M | PM_CLOCK_WU_M | PM_CLOCK_PM_M;<br> | ||
for (volatile int i = 0; i < 10; i++) ; | for (volatile int i = 0; i < 10; i++) ;<br> | ||
PAD_CONFIG->PORT_1_CFG = 1 << (13 << 1); | PAD_CONFIG->PORT_1_CFG = 1 << (13 << 1);<br> | ||
GPIO_1->DIRECTION_OUT = 1 << 13; | GPIO_1->DIRECTION_OUT = 1 << 13;<br> | ||
while (1) {<br> | |||
GPIO_1->OUTPUT = 1 << 13;<br> | |||
for (volatile int i = 0; i < 500000; i++);<br> | |||
GPIO_1->OUTPUT = 0;<br> | |||
for (volatile int i = 0; i < 500000; i++);<br> | |||
}<br> | |||
}<br> | |||
</syntaxhighlight> | |||
В строке меню выберите Project->Build All. При правильной настройке проект успешно соберется. | В строке меню выберите Project->Build All. При правильной настройке проект успешно соберется. | ||
Версия от 19:48, 11 ноября 2021
Установка и запуск программы
Необходимо скачать архив с программой по ссылке https://disk.yandex.ru/d/C9urM9QtBTNLSg и распаковать.
Запускать файлом eclipse.exe из папки программы. При первом запуске в окне программы закрыть вкладку Welcome нажатием на крестик рядом с именем вкладки.
Создание проекта
1. В строке меню нажать File->New->C/C++ Project.
2. В открывшемся окне выбрать C Managed Build и нажать Next.
3. В поле Project Name ввести название проекта. В правой области Project type должно быть выбрано Empty Project, в левой области Toolchains выбрать RISC-V Cross GCC. Нажать Next.
4. Нажать на кнопку Advanced Settings..., откроется окно, в левой части которого раскрыть C/C++ Build и выбрать Settings.
Все необходимые настройки находятся на вкладке Tool Settings, настройки объединены в группы, которые выбираются в дереве в левой части вкладки
1) Начнем с Target Processor. В выпадающем списке Architecture выбрать RV32I (-march=rv32i*), отметить Multiply extension (RVM), отметить Compressed extension (RVC), в списке Integer ABI выбрать ILP32 (-mabi=ilp32*), в списке Align выбрать Strict (-mstrict-align).
2) В группе Warnings рекомендуем отметить Enable all common warnings (-Wall).
3) В подгруппе Includes группы GNU RISC-V Cross C Compiler вставить пути, перечисленные ниже (наиболее простой способ - выделить все пути, скопировать, кликнуть по области под Include paths и нажать Ctrl+V).
"${eclipse_home}\shared\include"
"${eclipse_home}\shared\periphery"
4) В подгруппе General группы GNU RISC-V Cross C Linker вставить путь до файла, указанный ниже.
"${eclipse_home}\shared\ldscripts\link_ramonly.ld"
В нижней части подгруппы отметить пункты Do not use standart start files (-nostartfiles) и No startup or default libs (-nostdlib)
5) Нажать в нижней части окна Apply and Close, нажать Next.
5. В выпадающем списке Toolchain name выбрать RISC-V GCC/Newlib (riscv64-unknown-elf-gcc), нажать Finish. 6. Скачать файл crt0.s, распаковать в любое место, скопировать в папку проекта в области Project Explorer. В появившемся окне ответить Copy files and folder и нажать OK. Проект создан.
Создание файлов и компиляция
Чтобы создать файл main.c нажмите правой кнопкой мыши на папку проекта в области Project Explorer и выбирете New->Source File. В открывшемся окне в поле Source file введите main.c и нажмите Finish. В окно редактора кода вставте код, приведенный ниже.
#include <mcu32_memory_map.h><br> #include <pad_config.h><br> #include <gpio.h><br> #include <power_manager.h><br> void main() {<br> PM->CLK_APB_P_SET = PM_CLOCK_GPIO_0_M | PM_CLOCK_GPIO_1_M;<br> PM->CLK_APB_M_SET = PM_CLOCK_PAD_CONFIG_M | PM_CLOCK_WU_M | PM_CLOCK_PM_M;<br> for (volatile int i = 0; i < 10; i++) ;<br> PAD_CONFIG->PORT_1_CFG = 1 << (13 << 1);<br> GPIO_1->DIRECTION_OUT = 1 << 13;<br> while (1) {<br> GPIO_1->OUTPUT = 1 << 13;<br> for (volatile int i = 0; i < 500000; i++);<br> GPIO_1->OUTPUT = 0;<br> for (volatile int i = 0; i < 500000; i++);<br> }<br> }<br>
В строке меню выберите Project->Build All. При правильной настройке проект успешно соберется.