К1921ВК01Т (арм Cortex-M4F)
Модераторы: ea, dav, bkolbov, Alis, pip, _sva_
- Лашкевич
- Сообщения: 373
- Зарегистрирован: 13 май 2015, 13:10
- Предприятие: ООО "НПФ Вектор"
- Откуда: Москва
- Контактная информация:
Re: К1921ВК01Т (арм Cortex-M4F)
Ну тогда могу посоветовать только другую плату на пробу - раз все остальное перепробовали. Покажите схемотехнику кнопки резет своей, сравните с нашей. Сравните также цепи житага. Ещё проверьте питания своей платы на осциллографе при нажатии резета.
- Лашкевич
- Сообщения: 373
- Зарегистрирован: 13 май 2015, 13:10
- Предприятие: ООО "НПФ Вектор"
- Откуда: Москва
- Контактная информация:
Re: К1921ВК01Т (арм Cortex-M4F)
Ещё проверьте подвязку других конфигурационных ножек типа H2. Может, какие-то в воздухе. Сравните с нашей платой или другими референсными.
-
- Сообщения: 5
- Зарегистрирован: 20 янв 2022, 11:38
- Предприятие: ООО НИЦ БУЛАТ
Re: К1921ВК01Т (арм Cortex-M4F)
Притянул к земле вывод Н2, заработало. Спасибо!
Re: К1921ВК01Т (арм Cortex-M4F)
Здравствуйте, поясните, пожалуйста, почему вы говорите, что предельная частота PLL умножителя не может быть выше 300 МГц?Лашкевич писал(а): ↑11 фев 2022, 16:38 Проверьте настройку PLL - что обсуждалось выше для serg_vega, почитайте пару-тройку страниц назад. Убедитесь, что у вас
200 МГц ≤ Fvco ≤ 300 МГц
Проверьте разные готовые примеры кода. Также попробуйте тактирование от встроенной в процессор RC цепочки - не включайте кварц и PLL, проверьте, будет ли зависание при этом. Проверьте, если есть возможность, свой код на другой плате на предмет корректной реакции на reset. Надо понять чётко, в программе дело или в железе.
В Вашей документации на странице 28 частота явно выше.... а именно 500 МГц.
И далее, какая предельная частота SysCLK может быть задана?
- Disona
- Сообщения: 81
- Зарегистрирован: 06 дек 2016, 11:18
- Предприятие: НПФ Вектор
- Откуда: Москва
- Контактная информация:
Re: К1921ВК01Т (арм Cortex-M4F)
Хм, действительно в документации (только это не наша документация, а НИИЭТ-овская ) указана частота 500 МГц.
Но с этими вопросами вам точнее подскажут специалисты НИИЭТа.
С уважением, Дмитрий Шпак
ООО "НПФ Вектор"
ООО "НПФ Вектор"
- Лашкевич
- Сообщения: 373
- Зарегистрирован: 13 май 2015, 13:10
- Предприятие: ООО "НПФ Вектор"
- Откуда: Москва
- Контактная информация:
Re: К1921ВК01Т (арм Cortex-M4F)
Вот в этой теме уже были даны комментарии представителей НИИЭТа по поводу Fvco и вочдога. Думаю, это надо внести в FAQ и документацию.
Re: К1921ВК01Т (арм Cortex-M4F)
Добрый день! Возникла проблема, похоже, с таблицей векторов прерываний.
Имеется простой пример для мигания светодиодом из SysTick_Handler.
Плата LDM Helper.
1.Keil+Jlink - всё работает отлично.
2.Vector IDE+Jlink - всё работает отлично.
3.Qt (qbs)+OpenOCD+GCC+Jlink:
если исключаем работу в прерывании всё работает отлично, проект компилируется, собирается, прошивается, работает.
Но как только активируем SysTick_Config, МК зависает на вызове первого же прерывания (обработчик SysTick_Handler имеется, но я в него похоже не попадаю, а оказываюсь в бесконечном while).
При этом данное поведение абсолютно одинаковое при формировании проекта как из шаблона руководства по настройке в Qt от НИИЭТ. (K1921VK01T.ld; K1921VK01T.h; startup_K1921VK01T.S 2015 годов) так и при сборке с использованием последних версий из SDK (K1921VK01T.h
V1.3.4(01.04.2016), startup_K1921VK01T.S V2.0(17.08.2018) + обновленный ld и CMSIS из SDK).
Препятствий работать в keil или Vector IDE нет, но хочется разобраться что может идти не так со сборкой использующей GCC линковщик и стартап из SDK. Не могу сообразить какую малость я не учёл, что приводит к потере адреса таблицы (как я полагаю), и надеюсь что файлы из SDK/GCC не требуют правок.
Имеется простой пример для мигания светодиодом из SysTick_Handler.
Плата LDM Helper.
1.Keil+Jlink - всё работает отлично.
2.Vector IDE+Jlink - всё работает отлично.
3.Qt (qbs)+OpenOCD+GCC+Jlink:
если исключаем работу в прерывании всё работает отлично, проект компилируется, собирается, прошивается, работает.
Но как только активируем SysTick_Config, МК зависает на вызове первого же прерывания (обработчик SysTick_Handler имеется, но я в него похоже не попадаю, а оказываюсь в бесконечном while).
При этом данное поведение абсолютно одинаковое при формировании проекта как из шаблона руководства по настройке в Qt от НИИЭТ. (K1921VK01T.ld; K1921VK01T.h; startup_K1921VK01T.S 2015 годов) так и при сборке с использованием последних версий из SDK (K1921VK01T.h
V1.3.4(01.04.2016), startup_K1921VK01T.S V2.0(17.08.2018) + обновленный ld и CMSIS из SDK).
Препятствий работать в keil или Vector IDE нет, но хочется разобраться что может идти не так со сборкой использующей GCC линковщик и стартап из SDK. Не могу сообразить какую малость я не учёл, что приводит к потере адреса таблицы (как я полагаю), и надеюсь что файлы из SDK/GCC не требуют правок.
- Лашкевич
- Сообщения: 373
- Зарегистрирован: 13 май 2015, 13:10
- Предприятие: ООО "НПФ Вектор"
- Откуда: Москва
- Контактная информация:
Re: К1921ВК01Т (арм Cortex-M4F)
Добрый день. Попробуйте выковырять исходники проекта, GCC и OpenOCD из Vector IDE и попробовать их в разных сочетаниях в Qt, чтобы понять, в каком компоненте проблема. Судя по описанию на мой вкус проблема в исходниках или стартап файле.
Re: К1921ВК01Т (арм Cortex-M4F)
Возможно линкер размещает таблицу прерываний по неверному адресу.
Re: К1921ВК01Т (арм Cortex-M4F)
Еще как вариант имя функции прерывания не совпадает с именем в таблице векторов. Бывает, что имя в KEIL отличается от имени в GCC