Миландр

Ключевым подразделением нашей компании
является Центр Проектирования интегральных микросхем
Текущее время: 2020-окт-28 20:41

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 18 сообщений ]  На страницу 1 2 »
Автор Сообщение
 Заголовок сообщения: Ошибка загрузки UART-загрузчика.
СообщениеДобавлено: 2015-июн-23 22:15 
Не в сети
Аватара пользователя

Зарегистрирован: 2011-окт-19 17:25
Сообщения: 548
Откуда: г. Владимир ОАО "ВКБР"
Дано:
  • Три платы с К1986ВЕ92QI, К1986ВЕ21QI (партия 1346) и 1986ВЕ4 (партия 1440) в SMD корпусе.
  • Во всех трёх платах, для загрузки по UART-у установлены CP2102 из одной партии.
Для К1986ВЕ92QI всё прошло без проблем. Всё загружается, программа выполняется, всё работает.


Для плат с К1986ВЕ21QI и 1986ВЕ4 были предварительно выполнены следующие последовательности:

Ну, сначала убедился в том, что без стирания в Keil таки-да загрузчик не синхронизируется. То есть обычно, что в ВЕ92ом, что в ВЕ1ом, если МК удачно перешёл в режим UART-загрузчика, то он на ножке TX поднимет нормальную единичку. Тут соответственно этого не произошло. И естественно программка загрузки по UART-у для 1986ВЕ4 выдавала "ошибка синхронизации".

Далее:
  • Для Keil 5.15 был установлен пак "Milandr.MDR1986BExx.1.4.3", найденный где-то здесь на форуме через поиск(кстати на сайте по-моему пора обновить).
  • Предварительно проверил файлы из темы "Full Chip Erase на 1986BE23У" и файл .flm внутри пака - совпадают полностью по содержимому
  • JTAG_EN жёстко на землю.
  • Программатором Ulink 2 из Keil 5.15 стёр Flash. Прошивка программатором тоже выполняется:
    Открыть
    Вложение:
    [ attachment ]
    Прошивка программатором.png [ 82.99 КБ | 12632 просмотра ]
    Закрыть
Допускаю, что в коде есть ошибка, цель была другая - запустить UART-загрузчик на платах с ВЕ21 и ВЕ4.
Дак вот, после стирания Flash, МК переходит в режим загрузчика, т.е на ножке TX появляется уверенная единичка.

Но вот далее в платах с ВЕ21 и ВЕ4 происходит то, что показано на картинке:
Вложение:
[ attachment ]
Ошибка загрузчика.png [ 10.42 КБ | 12632 просмотра ]
То есть в платах стоят одинаковые микросхемы CP2102 из одной партии, кроме того отдельно проверялась загрузка с внешней CP2102 другой партии, результат всегда одинаковый - на 92ой шьётся всё без проблем, на 21ой и 4ой нет. С фронтами проблем нет, расхождения по скорости тоже не наблюдается, по крайней мере на 9600кбит/с, потому как ни по RX ни по TX я ответа на 115200кбит/с просто не вижу.

_________________
"В радиотехнике, как в церкви - многое не понятно, но приходится верить"
ВлГУ. к.т.н Садовский Н.В


Последний раз редактировалось HEMAH 2015-июн-24 19:38, всего редактировалось 2 раза.

Вернуться к началу
 Заголовок сообщения: Re: Ошибка загрузки UART-загрузчика.
СообщениеДобавлено: 2015-июн-24 09:25 
Не в сети

Зарегистрирован: 2009-май-29 16:09
Сообщения: 590
Откуда: АО "ПКК Миландр"
Вот UART загрузчик и FLM, пока информация "ошибка обмена" не информативна. В чём это заключается в загрузке программы в ОЗУ, передаче управления программе загруженной в ОЗУ, что под этим подразумевается. ОЗУ куда грузиться программа для 1986ВЕ1 например в диапазоне 0x20100000-..., для 1986ВЕ4 0х20000000-...
Передавать управление нужно на первую команду а не на вектора прерываний, как в 1986ВЕ9х. Если программа, скриншот которой представлен не менялась под вышеописанные особенности, а в чистом виде от 1986ВЕ9х, то стоит поискать на форуме кто работал с ВЕ21 и ВЕ23 с UART загрузчиком. Наработки для ВЕ21 и ВЕ23 можно перенести и на ВЕ4.


Вложения:
Комментарий к файлу: Boot loader
BOOT_NEW.ZIP [308.77 КБ]
397 скачиваний
Комментарий к файлу: FLM
K1986VG2T_V2.ZIP [4.82 КБ]
337 скачиваний
Вернуться к началу
 Заголовок сообщения: Re: Ошибка загрузки UART-загрузчика.
СообщениеДобавлено: 2015-июн-24 09:32 
Не в сети

Зарегистрирован: 2009-май-29 16:09
Сообщения: 590
Откуда: АО "ПКК Миландр"
Вот ещё есть тема где пользователь выкладывает свои наработки по UART загрузчику для 1986ВЕ4
viewtopic.php?f=35&t=1842
Зачем создавать повторные темы.


Вернуться к началу
 Заголовок сообщения: Re: Ошибка загрузки UART-загрузчика.
СообщениеДобавлено: 2015-июн-24 11:53 
Не в сети
Аватара пользователя

Зарегистрирован: 2011-окт-19 17:25
Сообщения: 548
Откуда: г. Владимир ОАО "ВКБР"
Andrey писал(а):
Вот ещё есть тема где пользователь выкладывает свои наработки по UART загрузчику для 1986ВЕ4
viewtopic.php?f=35&t=1842
Зачем создавать повторные темы.
Я оттуда и брал программу. У меня была мысль изначально написать там, но подумалось, что раз пользователь выложил программку, то она у него заработала и дело не в программке, а где-то в другом месте. Поэтому и создал отдельную тему. Но за дубликат извиняюсь, и думаю модераторы могут перенести сообщения.

В МК 1986ВЕ9х/1986ВЕ1/1986ВЕ3 загрузчик "железобетонный" и проверенный в серии многократно. Если он не работает, то проблема не в нём, а в другом месте, это как "последняя миля защиты". Он надёжен, как топор.

Здесь же, поскольку загрузчик зашивается после стирания флеши, что бы и кто не говорил, но всегда есть недоверие к нему, особенно, если используешь в первый раз. Тем более, что МК не так давно появился, отзывов пользователей по нему ещё мало в сравнении с 9х/1х/3х, да и все темы на форуме по 21ому, 4ому и 23ему я излазил вдоль и поперёк...

Вопрос - в файле BOOT_NEW.ZIP только исходники программки для компа? Файл .exe, что там лежит, не запускается ни на одном компе. Вопрос конечно ламерский, но я просто как бы не программист совсем, моя задача была всего лишь проверить полную работоспособность плат и остался единственный вопрос с загрузкой по UART-y.

_________________
"В радиотехнике, как в церкви - многое не понятно, но приходится верить"
ВлГУ. к.т.н Садовский Н.В


Вернуться к началу
 Заголовок сообщения: Re: Ошибка загрузки UART-загрузчика.
СообщениеДобавлено: 2015-июн-24 13:27 
Не в сети

Зарегистрирован: 2009-май-29 16:09
Сообщения: 590
Откуда: АО "ПКК Миландр"
Исходники BOOT_NEW.ZIP не для компа ( .exe для других целей его стереть можно), а это и есть бутовая программа которая хранится во флеш микроконтроллера. Если пользователь выложил свой софт значит он его проверил и работает и скачиваний было много. Совет Вам только тут один можно дать, ту программу что в этом архиве попробуйте верифицировать с помощью Keil с тем загрузчиком что у Вас в микроконтроллере. Только не надо делать компиляцию проекта, так как разные Keil версии разный код могут создать, только верификацию.
Режим Mode[1:0]=10 поставить нужно, чтобы сравнивать именно с бутовой областью. Если верификация пройдёт успешно, то значит это программа что в архиве у Вас в бутовой области, и по её коду можете смотреть что у Вас не так.


Вернуться к началу
 Заголовок сообщения: Re: Ошибка загрузки UART-загрузчика.
СообщениеДобавлено: 2015-июн-24 20:42 
Не в сети
Аватара пользователя

Зарегистрирован: 2011-окт-19 17:25
Сообщения: 548
Откуда: г. Владимир ОАО "ВКБР"
Если я всё правильно понял, то получилось следующее:
Открыть
Вложение:
[ attachment ]
Настройки (0).png [ 14.43 КБ | 12554 просмотра ]
Вложение:
[ attachment ]
Настройки (1).png [ 10.96 КБ | 12554 просмотра ]
Вложение:
[ attachment ]
Настройки (2).png [ 14.05 КБ | 12554 просмотра ]
Вложение:
[ attachment ]
Результат.png [ 84.63 КБ | 12554 просмотра ]
Закрыть
Переключатель MODE[1:0]=10
Питание сбрасывал

Но всёравно:
Открыть
Вложение:
[ attachment ]
Ошибка.png [ 10.42 КБ | 12554 просмотра ]
Закрыть

_________________
"В радиотехнике, как в церкви - многое не понятно, но приходится верить"
ВлГУ. к.т.н Садовский Н.В


Вернуться к началу
 Заголовок сообщения: Re: Ошибка загрузки UART-загрузчика.
СообщениеДобавлено: 2015-июн-25 09:11 
Не в сети

Зарегистрирован: 2009-май-29 16:09
Сообщения: 590
Откуда: АО "ПКК Миландр"
Следовательно бутовая область корректная во флеш, проблема не в микроконтроллере. Пообщайтесь с теми людьми кто эту программу выложил и пользовался ей.


Вернуться к началу
 Заголовок сообщения: Re: Ошибка загрузки UART-загрузчика.
СообщениеДобавлено: 2015-июн-26 11:31 
Не в сети

Зарегистрирован: 2015-июн-26 10:23
Сообщения: 55
Ошибка синхронизации в программе как вариант возникает, если не сбросить мк после очередной попытки прошить его.
Ошибку обмена бывало ловил меняя его настройки (скорость и пр.), судя по исходникам программы - немало разных сценариев может быть ее возникновения.

Проверил программку по ссылке: viewtopic.php?f=35&t=1842#p9258 на ве4 - к сообщению прикрепил файлик, который зашивал - все прошло без ошибок.


Вложения:
ve4proj.zip [4.43 КБ]
333 скачивания
Вернуться к началу
 Заголовок сообщения: Re: Ошибка загрузки UART-загрузчика.
СообщениеДобавлено: 2015-июн-27 15:46 
Не в сети
Аватара пользователя

Зарегистрирован: 2011-окт-19 17:25
Сообщения: 548
Откуда: г. Владимир ОАО "ВКБР"
Dimulk писал(а):
Ошибка синхронизации в программе как вариант возникает, если не сбросить мк после очередной попытки прошить его.
Ошибку обмена бывало ловил меняя его настройки (скорость и пр.), судя по исходникам программы - немало разных сценариев может быть ее возникновения.

Проверил программку по ссылке: viewtopic.php?f=35&t=1842#p9258 на ве4 - к сообщению прикрепил файлик, который зашивал - все прошло без ошибок.
Вот во вложении тоже два проекта, для 21ого и 4ого, оба рабочие. Через SWD всё зашивается и работает (проект простейший, кнопку нажали, лампочка горит, отжали, тухнет), а через UART-загрузчик всё, как описано выше. Синхронизация -> ОК -> Выбор скорости 115200 -> OK -> boot load -> Ошибка обмена.

Единственное что, может ему не нравится 115200 ?
Может есть у кого-нить версия программки с возможностью выбора скорости, на которую он переходит?

Хотя я от UART-загрузчика даже ответа по осциллографу не вижу на этой скорости, но а вдруг....


Вложения:
Backup WorkProject for K1986VE21QI.rar [112.18 КБ]
350 скачиваний
Backup WorkProject for K1986VE4.rar [112.15 КБ]
318 скачиваний

_________________
"В радиотехнике, как в церкви - многое не понятно, но приходится верить"
ВлГУ. к.т.н Садовский Н.В
Вернуться к началу
 Заголовок сообщения: Re: Ошибка загрузки UART-загрузчика.
СообщениеДобавлено: 2015-июн-29 10:30 
Не в сети

Зарегистрирован: 2009-май-29 16:09
Сообщения: 590
Откуда: АО "ПКК Миландр"
Так как скорость напрямую зависит от частоты HSI, который тактирует микроконтроллер и может быть от 6 до 10 МГц, то рассинхронизация при уходе HSI и задании неправильного делителя возможна. Исходники программы там есть, смотрите как задаётся там скорость и рассчитываются для неё делители.
По коду программы видно, что изначально там был выбор скорости, потом есть такие строки
const DWORD baud[4]= {9600,19200,57600,115200};

...
//InitParam.ibaud = 9600;//m_baud.GetCurSel();
InitParam.ibaud = 115200;//m_baud.GetCurSel();

Видимо действительно кто-то поправил под 115200.

Если сможете отредактировать и перекомпилировать программу, то можете 9600 скорость поставить.


Вернуться к началу
 Заголовок сообщения: Re: Ошибка загрузки UART-загрузчика.
СообщениеДобавлено: 2015-сен-30 11:31 
Не в сети

Зарегистрирован: 2015-мар-30 13:44
Сообщения: 20
HEMAH, Вы используете плату LDM HELPER K1986DE21QI?


Вернуться к началу
 Заголовок сообщения: Re: Ошибка загрузки UART-загрузчика.
СообщениеДобавлено: 2015-сен-30 12:39 
Не в сети
Аватара пользователя

Зарегистрирован: 2011-окт-19 17:25
Сообщения: 548
Откуда: г. Владимир ОАО "ВКБР"
joi писал(а):
HEMAH, Вы используете плату LDM HELPER K1986DE21QI?
Да, но на саму плату я не могу грешить, т.к UART-загрузчик же отвечает, просто не хочеть со скоростью 115200 работать. Да и осциллографом я смотрел форму сигнала, тоже замечаний не выявил. Да и через SWD всё шьётся, всё нормально.

_________________
"В радиотехнике, как в церкви - многое не понятно, но приходится верить"
ВлГУ. к.т.н Садовский Н.В


Вернуться к началу
 Заголовок сообщения: Re: Ошибка загрузки UART-загрузчика.
СообщениеДобавлено: 2015-сен-30 13:30 
Не в сети

Зарегистрирован: 2015-мар-30 13:44
Сообщения: 20
HEMAH писал(а):
joi писал(а):
HEMAH, Вы используете плату LDM HELPER K1986DE21QI?
Да, но на саму плату я не могу грешить, т.к UART-загрузчик же отвечает, просто не хочеть со скоростью 115200 работать. Да и осциллографом я смотрел форму сигнала, тоже замечаний не выявил. Да и через SWD всё шьётся, всё нормально.
У меня такая же проблема с этой платой, в качестве костыля решил попробовать связаться с помощью внешней ftdi ft232rl, все без проблем зашилось на скорости 115200, мк из такой же партии как и у Вас, думаю причина проблемы все-таки в CP2102.


Вернуться к началу
 Заголовок сообщения: Re: Ошибка загрузки UART-загрузчика.
СообщениеДобавлено: 2015-сен-30 17:29 
Не в сети
Аватара пользователя

Зарегистрирован: 2011-окт-19 17:25
Сообщения: 548
Откуда: г. Владимир ОАО "ВКБР"
joi писал(а):
HEMAH писал(а):
joi писал(а):
HEMAH, Вы используете плату LDM HELPER K1986DE21QI?
Да, но на саму плату я не могу грешить, т.к UART-загрузчик же отвечает, просто не хочеть со скоростью 115200 работать. Да и осциллографом я смотрел форму сигнала, тоже замечаний не выявил. Да и через SWD всё шьётся, всё нормально.
У меня такая же проблема с этой платой, в качестве костыля решил попробовать связаться с помощью внешней ftdi ft232rl, все без проблем зашилось на скорости 115200, мк из такой же партии как и у Вас, думаю причина проблемы все-таки в CP2102.
Вот тут (ссылка) vasili выложил для ве4/ве21 новую версию программки для прошивки через UART-загрузчик с возможностью смены скорости (за что уже большое человеческое Спасибо :)). Попробуйте на самой низкой скорости через СР2102, соответственно я тоже проверю.

_________________
"В радиотехнике, как в церкви - многое не понятно, но приходится верить"
ВлГУ. к.т.н Садовский Н.В


Вернуться к началу
 Заголовок сообщения: Re: Ошибка загрузки UART-загрузчика.
СообщениеДобавлено: 2015-сен-30 21:18 
Не в сети
Аватара пользователя

Зарегистрирован: 2011-окт-19 17:25
Сообщения: 548
Откуда: г. Владимир ОАО "ВКБР"
Рад всем сообщить, что с программкой от vasili (ссылка), всё замечательно прошивается, причём что странно и на скорости 115200 :)

За что vasili СуперМегаСпасибо Огромное :)))
Вложение:
[ attachment ]
LDM-HELPER-1986BE4.png [ 11.54 КБ | 11960 просмотров ]
А вот с программой (ссылка) andrey.s, всё те же проблемы, как описано выше.

При этом проверялось с одной базовой платы, одним и тем же мастер-модулем, с одной и той же микросхемой. Проще говоря, просто пробовал зашить один и тот же .hex разными программками.
Ну и само-собой с К1986ВЕ21QI, то есть с мастер-модулем LDM-HELPER-K1986BE21QI тоже с программкой от vasili (ссылка) всё прошивается
Вложение:
[ attachment ]
LDM-HELPER-K1986BE21QI.png [ 11.53 КБ | 11958 просмотров ]
P.S. названия .hex файлов, если кто заметил, у меня одинаковое, но реально один для 1986ВЕ4, а другой для К1986ВЕ21QI, просто проекты похожи и различия небольшие, с точки зрения проекта. Впрочем, проекты, которые я зашивал, прикреплены в моём же сообщении выше, ежели кто проверить захочет.

_________________
"В радиотехнике, как в церкви - многое не понятно, но приходится верить"
ВлГУ. к.т.н Садовский Н.В


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 18 сообщений ]  На страницу 1 2 »

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти: 

cron
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB