Eclipse + GCC + OpenOCD: готовая сборка среды

32-разрядные микроконтроллеры разработки АО "НИИЭТ"

Модераторы: ea, dav, bkolbov, Alis, pip, _sva_

Аватара пользователя
Лашкевич
Сообщения: 373
Зарегистрирован: 13 май 2015, 13:10
Предприятие: ООО "НПФ Вектор"
Откуда: Москва
Контактная информация:

Re: Eclipse + GCC + OpenOCD: готовая сборка среды

Сообщение Лашкевич »

Не для той платы ПО? Проверьте номера ножек в программе и на плате. Сфотографируйте, что за плата.
С уважением,
Лашкевич Максим.
Инженер-программист ООО "НПФ Вектор", Москва.
http://motorcontrol.ru/
AlexeyGavrilov
Сообщения: 4
Зарегистрирован: 26 дек 2022, 09:35
Предприятие: АО ГОСНИИП

Re: Eclipse + GCC + OpenOCD: готовая сборка среды

Сообщение AlexeyGavrilov »

Доброе утро!

Посылаю фотографию нашей платы.

Также пробовал запустить утилиту k1921vk01t_jlink_service_mode_erase.bat. Она тоже работает нештатно и выдает ошибку.
В приложении к письму также вложил листинг ее работы и листинг работы K1921VK01T_blinky.

На нашем предприятиии разработана своя IDE на основе Eclipse.
У нас возникла интегрировать ее с Vector Ide - немного ее доработать в части плагинов Eclipse отвечающих за мастер создания новых проектов, вставив туда страницу подключения возможности работы с различным оборудованием как в Keil.
Как Вы на это смотрите?
C уважением
Алексей Гаврилов
Вложения
IMG_3253.JPG
IMG_3253.JPG (187.56 КБ) 1178 просмотров
K1921VK01T_Blinkylist.txt
(3.08 КБ) 29 скачиваний
script_erase_listing.txt
(1 КБ) 26 скачиваний
Аватара пользователя
Лашкевич
Сообщения: 373
Зарегистрирован: 13 май 2015, 13:10
Предприятие: ООО "НПФ Вектор"
Откуда: Москва
Контактная информация:

Re: Eclipse + GCC + OpenOCD: готовая сборка среды

Сообщение Лашкевич »

Это плата LDM, а примеры из Vector IDE для плат производства НПФ Вектор, в частности ControlCARD (что и написано в комментариях к коду).
Чтобы на этой плате работало, нужно переопределить ножки.
На нашем предприятиии разработана своя IDE на основе Eclipse.
У нас возникла интегрировать ее с Vector Ide - немного ее доработать в части плагинов Eclipse отвечающих за мастер создания новых проектов, вставив туда страницу подключения возможности работы с различным оборудованием как в Keil. Как Вы на это смотрите?
Смотрю положительно, дорабатывайте.

Всё, что вам нужно, чтобы работать с К1921ВК01Т, это установить плагин GNU MCU Eclipse (formerly GNU арм Eclipse) и сконфигурировать OpenOCD.
С уважением,
Лашкевич Максим.
Инженер-программист ООО "НПФ Вектор", Москва.
http://motorcontrol.ru/
AlexeyGavrilov
Сообщения: 4
Зарегистрирован: 26 дек 2022, 09:35
Предприятие: АО ГОСНИИП

Re: Eclipse + GCC + OpenOCD: готовая сборка среды

Сообщение AlexeyGavrilov »

Добрый день!
А как переопределить ножки lдля платы LDM?
Где найти подобный пример?
С уважением
Алексей Гаврилов
Аватара пользователя
Лашкевич
Сообщения: 373
Зарегистрирован: 13 май 2015, 13:10
Предприятие: ООО "НПФ Вектор"
Откуда: Москва
Контактная информация:

Re: Eclipse + GCC + OpenOCD: готовая сборка среды

Сообщение Лашкевич »

AlexeyGavrilov писал(а): 28 дек 2022, 14:52 Добрый день!
А как переопределить ножки lдля платы LDM?
Где найти подобный пример?
С уважением
Алексей Гаврилов
также, как и программировать все другие контроллеры - взять схему на плату, посмотреть, на какие ножки подключены светодиоды, взять даташит на микроконтроллер, почитать как программировать GPIO, запрограммировать по аналогии с примером K1921VK01Е_Blinky.

Всякие другие примеры проектов тут
https://bitbucket.org/niietcm4/k1921vkx ... c/develop/
С уважением,
Лашкевич Максим.
Инженер-программист ООО "НПФ Вектор", Москва.
http://motorcontrol.ru/
Mechnikov_I
Сообщения: 3
Зарегистрирован: 02 мар 2023, 13:39
Предприятие: ЦНИИАГ

Re: Eclipse + GCC + OpenOCD: готовая сборка среды

Сообщение Mechnikov_I »

Доброго времени. В ожидании отладочного комплекта КФДЛ.441461.024 для контроллера 1921ВК028 решил заранее подготовить среду разработки, в процессе настройки появились некоторые вопросы. Буду признателен за ответы.
1) Как подтягивается файл startup.S? Создавал проект с нуля по руководству пользователя, подключил все библиотеки, прописал include path, выбрал нужные тулчейны и т.д., с этим все понятно. Но как быть с файлом startup.S? Добавил его к нулевому проекту, а он как-то сам обнаружился без всяких телодвижений с моей стороны, компилятор поругался на undefined reference to _start, поменял _start на main и все стало нормально собираться. Я все правильно сделал в данном случае?
2) Файлы K1921VK028_flash.ld и K1921VK028_ram.ld одинаковые, в чем разница и как в итоге шить? На битбакете лежит всего 1 файл .ld, куда он шьёт? В озу или flash? Глупый вопрос, но в чем разница между прошивкой озу и flash?
3) Что содержится в библиотеках по пути ../lib/*.a в примерах проектов? На битбакете таких файлов нету.
4) Какие заголовочные файлы обязательно должны быть включены при создании проекта с нуля? Достаточно K1921VK028.h и system_K1921VK028.h, а всё остальное подключается по надобности?
5) При попытке использовать функции динамического выделения памяти (malloc(), calloc(), realloc()) из stdlib.h компилятор ругается на отсутствие некоторых библиотечных функций. Но если зайти в настройки проекта, по пути [C/C++ Build -> Settings -> Tool Settings -> GNU арм Cross C Linker -> Miscellaneous] есть флаги, и если установить флаги --specs=nosys.specs и --specs=nano.specs, то при использовании функций динамического выделения памяти проект собирается без ошибок. Насколько опасно применять такие функции на контроллерах 1921ВК028? К слову, в Keil эти функции работают из коробки.
Аватара пользователя
Лашкевич
Сообщения: 373
Зарегистрирован: 13 май 2015, 13:10
Предприятие: ООО "НПФ Вектор"
Откуда: Москва
Контактная информация:

Re: Eclipse + GCC + OpenOCD: готовая сборка среды

Сообщение Лашкевич »

Добрый день. Про какую среду разработки речь? Про сборку VectorIDE или вы самостоятельно эклипс себе приготовили? В VectorIDE есть готовые примеры в воркспейсе в C:\VectorIDE132_Examples, открывайте их, изучайте, там всё компилируется и прописано как надо. Все ответы на вопросы там найдутся.
С уважением,
Лашкевич Максим.
Инженер-программист ООО "НПФ Вектор", Москва.
http://motorcontrol.ru/
Mechnikov_I
Сообщения: 3
Зарегистрирован: 02 мар 2023, 13:39
Предприятие: ЦНИИАГ

Re: Eclipse + GCC + OpenOCD: готовая сборка среды

Сообщение Mechnikov_I »

Конечно речь про VectorIDE. 2 и 3 вопрос как раз про примеры оттуда.
Сначала посмотрел примеры проектов, все изучил. Но хотелось создать свой чистый шаблон с нуля, к тому же, в руководстве пользователя VectorIDE описывается создание проекта с нуля (глава 5.2).
Повторюсь, все вопросы выше касаются VectorIDE, постарался расписать их максимально подробно, могу уточнить детали, если понадобится.

UPD:
Прошу прощения, момент про одинаковые файлы во втором вопросе снят. Увидел, в чем разница.
Аватара пользователя
Лашкевич
Сообщения: 373
Зарегистрирован: 13 май 2015, 13:10
Предприятие: ООО "НПФ Вектор"
Откуда: Москва
Контактная информация:

Re: Eclipse + GCC + OpenOCD: готовая сборка среды

Сообщение Лашкевич »

1. Файл startup.S считается исходным текстом, как я понимаю, нигде не прописывается, как и "сишные" файлы.
3. Я вижу libc.a, libgcc.a, libm.a. Там всякие стандартные сишные функции типа memcpy, memset и т.п. В части проектов можно удалить.
4. Думаю помимо K1921VK028.h нужно ещё core_cm* несколько файлов - это для ядра арм. В system_K1921VK028.h тоже всякие дефайны полезные.
5. Крайне не рекомендую динамически выделять память на такого класса микроконтроллеров. Это нужно для операционных систем и всяких загружаемых/выгружаемых задач. Здесь нужно всё статически выделить и работать. Иначе будет мучительно больно потом выискивать баги нехватки памяти/переполнений в разных кейсах выполнения программы. Нам в организации за десятки лет ни раз на микроконтроллерах такого класса динамическое выделение памяти не пригодилось. Если нужен printf - то он тоже не нужен, на самом деле. Или напишите свой, плюющий в uart, с фиксированным буфером.
С уважением,
Лашкевич Максим.
Инженер-программист ООО "НПФ Вектор", Москва.
http://motorcontrol.ru/
Mechnikov_I
Сообщения: 3
Зарегистрирован: 02 мар 2023, 13:39
Предприятие: ЦНИИАГ

Re: Eclipse + GCC + OpenOCD: готовая сборка среды

Сообщение Mechnikov_I »

1. Понял, спасибо. Значит можно оставить как и в примерах, в каталоге /asm.
3. Проверил, эти функции (из библиотеки <string.h>) работают и без подключения libc.a, libgcc.a, libm.a. Поэтому и был такой вопрос. Они вроде есть в примерах, но при их отсутствии ничего не меняется, да и на битбакете их нету.
4. Тут понятно, а core_cm* надо именно вручную инклудить, или достаточно указать путь до них в include path?
5. Неужели всё так страшно на этих контроллерах? Надеялся в будущем завести FreeRTOS на нём, до этого на миландрах (К1986ВЕ1QI) с этим проблем не было. Если утечек по памяти нету, то всё должно быть стабильно, я думаю.
Благодарю за подробные ответы.
Ответить

Вернуться в «32-разрядные микроконтроллеры»