Vector IDE

Alexblv
Сообщения: 29
Зарегистрирован: 10 апр 2017, 15:55

Re: Vector IDE

Сообщение Alexblv » 20 фев 2021, 12:15

Спасибо, но предыстория такова: кнопку сохранить и ни один раз нажимал,
постепенно увеличиваем напряжение звена постоянного тока и в режиме частотно-токового управления увеличиваем ток.
Дошли до 250 вольт, 14 ампер, дальше нужно на источнике увеличивать (dc питаем от источника). Увеличиваем напряжение до 300 вольт и вылетает эта ошибка (64). Ошибка не сбрасывается, только перезагрузкой и снова возникает при пуске. Ток при этом специально поставили ниже (Can при токе 1 ампер вообще не сбоит). Уменьшаю напряжение до 200 вольт и все работает.

Вопрос, можно закомментировать эту ошибку в файле SM_Protect.c?
// Проверка восстановления параметров CANopen из EEPROM
if( (co1_vars.ParamRestorationError) || (co2_vars.ParamRestorationError) )
p->bit_fault1 |= F_CAN_RESTORATION_ERROR;

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

Re: Vector IDE

Сообщение Лашкевич Максим » 20 фев 2021, 12:47

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

Аватара пользователя
Disona
Сообщения: 92
Зарегистрирован: 28 ноя 2015, 22:03
Откуда: Москва

Re: Vector IDE

Сообщение Disona » 20 фев 2021, 12:51

Alexblv писал(а):
20 фев 2021, 12:15
Спасибо, но предыстория такова: кнопку сохранить и ни один раз нажимал,
постепенно увеличиваем напряжение звена постоянного тока и в режиме частотно-токового управления увеличиваем ток.
Дошли до 250 вольт, 14 ампер, дальше нужно на источнике увеличивать (dc питаем от источника). Увеличиваем напряжение до 300 вольт и вылетает эта ошибка (64). Ошибка не сбрасывается, только перезагрузкой и снова возникает при пуске. Ток при этом специально поставили ниже (Can при токе 1 ампер вообще не сбоит). Уменьшаю напряжение до 200 вольт и все работает.

Вопрос, можно закомментировать эту ошибку в файле SM_Protect.c?
// Проверка восстановления параметров CANopen из EEPROM
if( (co1_vars.ParamRestorationError) || (co2_vars.ParamRestorationError) )
p->bit_fault1 |= F_CAN_RESTORATION_ERROR;

Ещё не могли бы вы выложить скрины окна UniCON с открытой группой "Защиты"?
С уважением,
Дмитрий Шпак
Telegram: +79773608997
shpak@motorcontrol.ru
Инженер-программист ООО "НПФ Вектор", Москва.

BogatovNA!
Сообщения: 6
Зарегистрирован: 22 мар 2021, 14:45

Re: Vector IDE

Сообщение BogatovNA! » 23 мар 2021, 09:41

Добрый день.
Скачал VectroIDE, стал разбираться с проектом K1921VK01T_Blinky.
На руках своя разведеная плата с мк K1921VK01T и программатор STLink V2.

Без внесения изменения в настройки вкладки Startup программа шьется как надо, но шьется она в RAM.

Я попытался перенастроить данный проект для записи во flash. Для этого раскомментировал подключение niiet_flash.ld в файле build.ld, соответсвенно закомментировал niiet_ram.ld.
Пробовал менять галочку Debug in RAM во вкладке Startup, как написано в комментариях файла.
Делал Clean и пересобирал проект. Пробовал удалить 2 строки из файла startup_MCP_gcc.s

По итогу, после записи через debug программа зависает и при нажатии кнопки паузы VectorIDE выдает окно с сообщением:
"Break at address "0x682ed0f8" with no debug information available, or outside of program code."
Вложения
настйроки .jpg
настйроки .jpg (129.72 КБ) 9042 просмотра
окно (2).jpg
окно (2).jpg (135.04 КБ) 9042 просмотра

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

Re: Vector IDE

Сообщение Лашкевич Максим » 23 мар 2021, 10:33

Попробуйте сделать полное стирание флеша контроллера, скрипт что_то_там_erase.bat в директории с openOcd. Возможно, что во внутренней памяти что-то не то сконфигурировано. Также попробуйте поотлаживать по шагам, начиная со стартап файла, снимите в отладочной конфигурации галочку идти на Мейн, запустите отладку, и шагайте по одному ассемблерному шагу, найдите где падает. Также можно открыть в мемори вьюер адреса флешки и посмотреть, что там вообще прошивается.
С уважением,
Лашкевич Максим.
skype: maxlashk
Инженер-программист ООО "НПФ Вектор", Москва.

BogatovNA!
Сообщения: 6
Зарегистрирован: 22 мар 2021, 14:45

Re: Vector IDE

Сообщение BogatovNA! » 24 мар 2021, 09:06

Лашкевич Максим писал(а):
23 мар 2021, 10:33
Попробуйте сделать полное стирание флеша контроллера, скрипт что_то_там_erase.bat в директории с openOcd. Возможно, что во внутренней памяти что-то не то сконфигурировано. Также попробуйте поотлаживать по шагам, начиная со стартап файла, снимите в отладочной конфигурации галочку идти на Мейн, запустите отладку, и шагайте по одному ассемблерному шагу, найдите где падает. Также можно открыть в мемори вьюер адреса флешки и посмотреть, что там вообще прошивается.
Спасибо, с проблемой разобрался.
Я взял проект со светодиодами как рыбу и при изучении дописывал его самостоятельно(изменение коэф-ов PLL, настройка таймеров и прерываний от него).
Как я понял, дело было в том, что в файле niiet_flash.ld прописывалось нахождение таблицы векторов в ОЗУ.

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

>RAM AT>FLASH
А из-за того что я не копировал эту таблицу в начале основной программы в ОЗУ командой memcpy, при прерывании код вылетал за границу памяти и зависал.

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

memcpy(&__isr_vector_ram_start, &__isr_vector_flash_start,((Uint32)(&__isr_vector_ram_end) - (Uint32)(&__isr_vector_ram_start)));
проблема решается либо копированием в ОЗУ, либо изменением в файлe .ld

Так же возник вопрос по поводу скрипта k1921vk01t_stlink_service_mode_erase.bat
В руководстве пользователя написано, что при запуске скрипта надо ожидать сообщения "Для продолжения нажмите любую клавишу...".
У меня скрипт останавливается (зависает) в другом месте. Критично ли вручную закрывать окно с выполнением скрипта, если вроде бы очистка чипа уже была выполнена?
Вложения
cmdInfo (1).jpg
cmdInfo (1).jpg (49.59 КБ) 9027 просмотров

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

Re: Vector IDE

Сообщение Лашкевич Максим » 24 мар 2021, 09:20

Не критично, можно закрывать. Возможно, версия скрипта старая
С уважением,
Лашкевич Максим.
skype: maxlashk
Инженер-программист ООО "НПФ Вектор", Москва.

Alexblv
Сообщения: 29
Зарегистрирован: 10 апр 2017, 15:55

Re: Vector IDE

Сообщение Alexblv » 17 июн 2021, 15:51

Здравствуйте, встретил такую ошибку
c:/vectoridev1.3/codebench/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld.exe: K1921VK01T_PWM.elf section `._user_heap_stack' will not fit in region `RAM'
и еще
c:/vectoridev1.3/codebench/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld.exe: region `RAM' overflowed by 44 bytes

хотя физически я попытался присвоить указателю адрес массива
mbTab = (MODBUS_TabDef*) tabMemory;

volatile uint8_t tabMemory[TabSizeMemory] = {0};

размер небольшой, можно хоть 1 байтный сделать, ошибка останется.
Подскажите пожалуйста куда копать

Аватара пользователя
Disona
Сообщения: 92
Зарегистрирован: 28 ноя 2015, 22:03
Откуда: Москва

Re: Vector IDE

Сообщение Disona » 17 июн 2021, 16:04

Alexblv писал(а):
17 июн 2021, 15:51
Здравствуйте, встретил такую ошибку
c:/vectoridev1.3/codebench/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld.exe: K1921VK01T_PWM.elf section `._user_heap_stack' will not fit in region `RAM'
и еще
c:/vectoridev1.3/codebench/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld.exe: region `RAM' overflowed by 44 bytes

хотя физически я попытался присвоить указателю адрес массива
mbTab = (MODBUS_TabDef*) tabMemory;

volatile uint8_t tabMemory[TabSizeMemory] = {0};

размер небольшой, можно хоть 1 байтный сделать, ошибка останется.
Подскажите пожалуйста куда копать
Здравствуйте.
А какой файл компоновки памяти вы используете? Для флеша или для рам? Другими словами, какая строка у вас раскомменчена в файле cmd/build.ld?

Если "#include niiet_ram.ld", то попробуйте в файле "cmd/niiet_ram.ld" заменить строку

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

RAM (xrw)       : ORIGIN = 0x20000000, LENGTH = 0x4000
на

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

RAM (xrw)       : ORIGIN = 0x20000000, LENGTH = 192K
С уважением,
Дмитрий Шпак
Telegram: +79773608997
shpak@motorcontrol.ru
Инженер-программист ООО "НПФ Вектор", Москва.

Alexblv
Сообщения: 29
Зарегистрирован: 10 апр 2017, 15:55

Re: Vector IDE

Сообщение Alexblv » 17 июн 2021, 16:14

Спасибо!!!!!! надо было во флешку писать

Ответить