Eclipse + GCC + OpenOCD: готовая сборка среды
Модераторы: ea, dav, bkolbov, Alis, pip, _sva_
- Лашкевич
- Сообщения: 373
- Зарегистрирован: 13 май 2015, 13:10
- Предприятие: ООО "НПФ Вектор"
- Откуда: Москва
- Контактная информация:
Re: Eclipse + GCC + OpenOCD: готовая сборка среды
Не для той платы ПО? Проверьте номера ножек в программе и на плате. Сфотографируйте, что за плата.
-
- Сообщения: 4
- Зарегистрирован: 26 дек 2022, 09:35
- Предприятие: АО ГОСНИИП
Re: Eclipse + GCC + OpenOCD: готовая сборка среды
Доброе утро!
Посылаю фотографию нашей платы.
Также пробовал запустить утилиту k1921vk01t_jlink_service_mode_erase.bat. Она тоже работает нештатно и выдает ошибку.
В приложении к письму также вложил листинг ее работы и листинг работы K1921VK01T_blinky.
На нашем предприятиии разработана своя IDE на основе Eclipse.
У нас возникла интегрировать ее с Vector Ide - немного ее доработать в части плагинов Eclipse отвечающих за мастер создания новых проектов, вставив туда страницу подключения возможности работы с различным оборудованием как в Keil.
Как Вы на это смотрите?
C уважением
Алексей Гаврилов
Посылаю фотографию нашей платы.
Также пробовал запустить утилиту k1921vk01t_jlink_service_mode_erase.bat. Она тоже работает нештатно и выдает ошибку.
В приложении к письму также вложил листинг ее работы и листинг работы K1921VK01T_blinky.
На нашем предприятиии разработана своя IDE на основе Eclipse.
У нас возникла интегрировать ее с Vector Ide - немного ее доработать в части плагинов Eclipse отвечающих за мастер создания новых проектов, вставив туда страницу подключения возможности работы с различным оборудованием как в Keil.
Как Вы на это смотрите?
C уважением
Алексей Гаврилов
- Вложения
-
- IMG_3253.JPG (187.56 КБ) 1179 просмотров
-
- 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 (что и написано в комментариях к коду).
Чтобы на этой плате работало, нужно переопределить ножки.
Всё, что вам нужно, чтобы работать с К1921ВК01Т, это установить плагин GNU MCU Eclipse (formerly GNU арм Eclipse) и сконфигурировать OpenOCD.
Чтобы на этой плате работало, нужно переопределить ножки.
Смотрю положительно, дорабатывайте.На нашем предприятиии разработана своя IDE на основе Eclipse.
У нас возникла интегрировать ее с Vector Ide - немного ее доработать в части плагинов Eclipse отвечающих за мастер создания новых проектов, вставив туда страницу подключения возможности работы с различным оборудованием как в Keil. Как Вы на это смотрите?
Всё, что вам нужно, чтобы работать с К1921ВК01Т, это установить плагин GNU MCU Eclipse (formerly GNU арм Eclipse) и сконфигурировать OpenOCD.
-
- Сообщения: 4
- Зарегистрирован: 26 дек 2022, 09:35
- Предприятие: АО ГОСНИИП
Re: Eclipse + GCC + OpenOCD: готовая сборка среды
Добрый день!
А как переопределить ножки lдля платы LDM?
Где найти подобный пример?
С уважением
Алексей Гаврилов
А как переопределить ножки lдля платы LDM?
Где найти подобный пример?
С уважением
Алексей Гаврилов
- Лашкевич
- Сообщения: 373
- Зарегистрирован: 13 май 2015, 13:10
- Предприятие: ООО "НПФ Вектор"
- Откуда: Москва
- Контактная информация:
Re: Eclipse + GCC + OpenOCD: готовая сборка среды
также, как и программировать все другие контроллеры - взять схему на плату, посмотреть, на какие ножки подключены светодиоды, взять даташит на микроконтроллер, почитать как программировать GPIO, запрограммировать по аналогии с примером K1921VK01Е_Blinky.AlexeyGavrilov писал(а): ↑28 дек 2022, 14:52 Добрый день!
А как переопределить ножки lдля платы LDM?
Где найти подобный пример?
С уважением
Алексей Гаврилов
Всякие другие примеры проектов тут
https://bitbucket.org/niietcm4/k1921vkx ... c/develop/
-
- Сообщения: 3
- Зарегистрирован: 02 мар 2023, 13:39
- Предприятие: ЦНИИАГ
Re: Eclipse + GCC + OpenOCD: готовая сборка среды
Доброго времени. В ожидании отладочного комплекта КФДЛ.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 эти функции работают из коробки.
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, открывайте их, изучайте, там всё компилируется и прописано как надо. Все ответы на вопросы там найдутся.
-
- Сообщения: 3
- Зарегистрирован: 02 мар 2023, 13:39
- Предприятие: ЦНИИАГ
Re: Eclipse + GCC + OpenOCD: готовая сборка среды
Конечно речь про VectorIDE. 2 и 3 вопрос как раз про примеры оттуда.
Сначала посмотрел примеры проектов, все изучил. Но хотелось создать свой чистый шаблон с нуля, к тому же, в руководстве пользователя VectorIDE описывается создание проекта с нуля (глава 5.2).
Повторюсь, все вопросы выше касаются VectorIDE, постарался расписать их максимально подробно, могу уточнить детали, если понадобится.
UPD:
Прошу прощения, момент про одинаковые файлы во втором вопросе снят. Увидел, в чем разница.
Сначала посмотрел примеры проектов, все изучил. Но хотелось создать свой чистый шаблон с нуля, к тому же, в руководстве пользователя 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, с фиксированным буфером.
3. Я вижу libc.a, libgcc.a, libm.a. Там всякие стандартные сишные функции типа memcpy, memset и т.п. В части проектов можно удалить.
4. Думаю помимо K1921VK028.h нужно ещё core_cm* несколько файлов - это для ядра арм. В system_K1921VK028.h тоже всякие дефайны полезные.
5. Крайне не рекомендую динамически выделять память на такого класса микроконтроллеров. Это нужно для операционных систем и всяких загружаемых/выгружаемых задач. Здесь нужно всё статически выделить и работать. Иначе будет мучительно больно потом выискивать баги нехватки памяти/переполнений в разных кейсах выполнения программы. Нам в организации за десятки лет ни раз на микроконтроллерах такого класса динамическое выделение памяти не пригодилось. Если нужен printf - то он тоже не нужен, на самом деле. Или напишите свой, плюющий в uart, с фиксированным буфером.
-
- Сообщения: 3
- Зарегистрирован: 02 мар 2023, 13:39
- Предприятие: ЦНИИАГ
Re: Eclipse + GCC + OpenOCD: готовая сборка среды
1. Понял, спасибо. Значит можно оставить как и в примерах, в каталоге /asm.
3. Проверил, эти функции (из библиотеки <string.h>) работают и без подключения libc.a, libgcc.a, libm.a. Поэтому и был такой вопрос. Они вроде есть в примерах, но при их отсутствии ничего не меняется, да и на битбакете их нету.
4. Тут понятно, а core_cm* надо именно вручную инклудить, или достаточно указать путь до них в include path?
5. Неужели всё так страшно на этих контроллерах? Надеялся в будущем завести FreeRTOS на нём, до этого на миландрах (К1986ВЕ1QI) с этим проблем не было. Если утечек по памяти нету, то всё должно быть стабильно, я думаю.
Благодарю за подробные ответы.
3. Проверил, эти функции (из библиотеки <string.h>) работают и без подключения libc.a, libgcc.a, libm.a. Поэтому и был такой вопрос. Они вроде есть в примерах, но при их отсутствии ничего не меняется, да и на битбакете их нету.
4. Тут понятно, а core_cm* надо именно вручную инклудить, или достаточно указать путь до них в include path?
5. Неужели всё так страшно на этих контроллерах? Надеялся в будущем завести FreeRTOS на нём, до этого на миландрах (К1986ВЕ1QI) с этим проблем не было. Если утечек по памяти нету, то всё должно быть стабильно, я думаю.
Благодарю за подробные ответы.