Vector IDE

mikhalich
Сообщения: 9
Зарегистрирован: 11 янв 2017, 23:22

Re: Vector IDE

Сообщение mikhalich » 16 янв 2017, 22:15

Появилась проблемка - пока не могу понять - в какую сторону копать. При работе в памяти две программы (мигание с прерыванием на базе системного таймера и PWM на базе прерывания) работаю вполне. При загрузке во флешку первая записывается и работает в дальнейшем при перезагрузке, вторая - не работает - видимо просто стирает все. Иногда выдает ошибку:
Error in final launch sequence
Failed to execute MI command:
load C:\\mydocs\\VectorIDE\\VectorIDE_Examples\\Example_PWM_LDM_CM4\\Debug\\Example_PWM_LDM_CM4.elf
Error message from debugger back end:
Error finishing flash operation
Failed to execute MI command:
load C:\\mydocs\\VectorIDE\\VectorIDE_Examples\\Example_PWM_LDM_CM4\\Debug\\Example_PWM_LDM_CM4.elf
Error message from debugger back end:
Error finishing flash operation
Error finishing flash operation

первая 2,5кб вторая 4,5кб размером.
куда копать?

Аватара пользователя
Лашкевич Максим
Сообщения: 342
Зарегистрирован: 30 дек 2015, 10:38

Re: Vector IDE

Сообщение Лашкевич Максим » 17 янв 2017, 11:08

Снять в среде в настройке отладочной конфигурации галочки типа go main и выполнение всяких команд перед запуском, прошить, и начать по шагам идти прямо с первой команды по ассемблеру отладчиком и смотреть, на какой команде все сыпется. Сравнить две программы между собой, между работой в оперативке и во флеше. Скорее всего проблема где-то с инициализацией таймингов флеша, указателя таблицы векторов прерываний или что-то такое из этой серии.
С уважением,
Лашкевич Максим.
skype: maxlashk
Инженер-программист ООО "НПФ Вектор", Москва.

mikhalich
Сообщения: 9
Зарегистрирован: 11 янв 2017, 23:22

Re: Vector IDE

Сообщение mikhalich » 18 янв 2017, 11:50

При запуске программ на отладку в Vector IDE выскакивают почти всегда ошибки (no source available... и разные адреса)... в окошке Disassembly вот такая есть информация:
1ffffffe: 0x00000000 movs r0, r0
20000000: 0xfcff0220 vrev64.<illegal width 64> d18, d2
20000004: 0x00002109 lsrs r1, r4, #4

Это может быть причиной проблем при прошивке флеш-памяти?

Аватара пользователя
Лашкевич Максим
Сообщения: 342
Зарегистрирован: 30 дек 2015, 10:38

Re: Vector IDE

Сообщение Лашкевич Максим » 18 янв 2017, 13:33

no source available значит, что у отладчика нет исходного Сишного кода для отображения того места ассемблера, который сейчас открыт. Это происходит когда отладка попадает на какую-то библиотечную функцию из стандартной библиотеки. Это нормально, так почти всегда бывает.
20000000 это начало оперативной памяти, тут я ничего не могу сказать, правильные у вас там данные или нет. Это надо конкретный проект смотреть.
Если запустить пример Example_LED_blinking при работе из флеш, предварительно отключив в Debug Configurations на вкладке Startup
Set breakpoint at main
и
Continue
то после запуска в окне дизассемблера мы попадаем на метку Reset_Handler, а если шагать по ассемблерному коду, то шаги параллельно отображаются в файле startup_MCP_gcc.S
Видно, что ассемблерные команды на флеше совпадают с командами в этом файле, т.е. флешка прошита верно.
Если хотите, можно вручную запустить процесс прошивки. Откройте консоль gdb и напишите там

Код: Выделить всё

load Debug/Example_LED_blinking.elf
(или какой там у вас выходной файл)
Это заставит openocd прошить этот файл.
Вот как это происходит у меня:
https://yadi.sk/i/3jlcQlc339co7S
С уважением,
Лашкевич Максим.
skype: maxlashk
Инженер-программист ООО "НПФ Вектор", Москва.

mikhalich
Сообщения: 9
Зарегистрирован: 11 янв 2017, 23:22

Re: Vector IDE

Сообщение mikhalich » 18 янв 2017, 17:18

Максим! похожая картина у меня, как у Вас. Хорошо, буду разбираться. Большое спасибо! ;)
Отредактировано 0:14 19.01.2017 - с Крещением всех Православных! :)
Проблема была в векторе прерываний(обращение к нему по некорректному адресу), как точно и заметил Максим (Спасибо!). Тестирую получившееся. Мигания, таймеры, шимы пошли. Вопрос с printf (указанные ключи линкования не дают пока результат - линкер ругается)...

Аватара пользователя
Лашкевич Максим
Сообщения: 342
Зарегистрирован: 30 дек 2015, 10:38

Re: Vector IDE

Сообщение Лашкевич Максим » 19 янв 2017, 18:43

printf даже ни разу и не пробовал запускать... А куда, собственно, принтефить?
Это надо драйвер какой-то писать для RS или куда Вы там собираетесь выводить... Проще найти и вставить кастомную реализацию принтефа из интернета, сразу с нужным выводом в нужный интерфейс. А еще лучше принтефом вообще не пользоваться для motorcontrol задач (если у вас они).
С уважением,
Лашкевич Максим.
skype: maxlashk
Инженер-программист ООО "НПФ Вектор", Москва.

mikhalich
Сообщения: 9
Зарегистрирован: 11 янв 2017, 23:22

Re: Vector IDE

Сообщение mikhalich » 21 янв 2017, 13:06

printf стал копать, так как все практически примеры из стандартной библиотеки содержат его. потеряв день на варианты настройки среды для его правильной компиляции и линкования принял именно такое решение - написать свои функции для вывода символов и строк в UART. Параллельно нашел, вероятно, баг библиотеки - в retarget.h надо указать скорость передачи данных в 10 раз выше реальной скорости связи по UART - тогда работает - пока не разобрался до конца - проблема ли это реализации библиотеки, МК или среды.... - главное, что UART запустился...
Правда библиотека все больше становится кастомизированной.... в частности пришлось написать модуль retarget_mod для связи по UART на базе стандартного retarget из библиотеки...
Поместил инфу об этом на Bitbucket https://bitbucket.org/niietcm4/niietcm4 ... vector-ide

mikhalich
Сообщения: 9
Зарегистрирован: 11 янв 2017, 23:22

Re: Vector IDE

Сообщение mikhalich » 13 фев 2017, 16:52

Выкладываю пример чтения ADC и вывода значений в терминал с использованием UART2. Библиотеку NIIETCM4_PD постарался сохранить практически неизменной. Криво, но работает...:) комментами в тексте модулей постарался ответить на вопросы по работе и конфигурированию.

https://bitbucket.org/Mikhalich_master/ ... /downloads

Аватара пользователя
Лашкевич Максим
Сообщения: 342
Зарегистрирован: 30 дек 2015, 10:38

Re: Vector IDE

Сообщение Лашкевич Максим » 13 фев 2017, 17:49

Спасибо! Думаю, будет людям полезно. На форуме НИИЭТа тоже, если можно, напишите. В теме, например, http://forum.niiet.ru/viewtopic.php?f=37&t=491&start=10
С уважением,
Лашкевич Максим.
skype: maxlashk
Инженер-программист ООО "НПФ Вектор", Москва.

petrovitch
Сообщения: 17
Зарегистрирован: 20 фев 2017, 18:39

Re: Vector IDE

Сообщение petrovitch » 20 фев 2017, 18:58

Максим!

Установил VectorIDE и попытался открыть какой-либо из примеров
как сказано в руководстве :
"Откройте рабочее пространство C:\WorkSpaces\VectorIDE_Examples. Если
оно еще не открыто, это можно сделать в меню «File», пункт «Switch
Workspace», «Other…» или указать при запуске Eclipse....

... Соберите проект, нажав на кнопку панели инструментов,
либо выбрав в меню «Project» пункт «Build Project»",
но ничего не получается! После смены workspace в окне проектов пусто и
что больше всего удивляет, так это неактивный пункт меню Open Project.
Что я делаю не так? И что необходимо сделать для открытия готовых проектов?

Ответить