|
как загрузить готовую прошивку через монитор J-Link?, монитор - программа JLink.exe ( J-Link Commander) |
|
|
|
Jan 18 2018, 13:05
|
Частый гость
 
Группа: Участник
Сообщений: 168
Регистрация: 25-08-05
Пользователь №: 7 944

|
Имеется несколько устройств с контроллерами STM32F103,имеется отлаженный hex-файл прошивки, хотел загрузить прошивку в контроллеры через программатор J-Link используя программу-монитор фирмы Segger. В мониторе видно, что происходит подключение к процессору, отрабатывается команда h (стоп) и ..... кроме точек сказать нечего, потому что дальнейшие команды игнорируются. Может кто подсказать, какая последовательность команд монитора должна подаваться для прошивки контроллера J-Link-ом ? Повторюсь, что подключаю контроллер, вижу его, подаю стоп h , а дальше?
Сообщение отредактировал NikP - Jan 18 2018, 14:01
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 26)
|
Jan 19 2018, 07:29
|
Частый гость
 
Группа: Участник
Сообщений: 168
Регистрация: 25-08-05
Пользователь №: 7 944

|
Когда я запустил JFlash.exe и попытался стереть флэш контроллера, то вывалилось сообщение "интуитивно понятными буквами" о том, что у меня нет лицензии и за её приобретением надо обратиться на sales@segger.com. Так что пока хотелось использовать бесплатные варианты. Поэтому возвращаюсь к началу темы. При запуске JLink.exe ( J-Link Commander-а) я подключаюсь к контроллеру, читаю флэш с адреса 0х00000000 для того, чтоб убедиться что реально подключился. Флэш читается (вижу реальную прошивку). Далее подаю команду стоп (h) и стирание флэш(erase); программа сообщает, что стирание выполнено, но реально эта команда не выполнена (опять же читаю начало флэш). В чём причина? Может надо перед командой стирания ещё какие-то действия предпринять? И большая просьба ко всем - пишите по делу, или не пишите вообще. Я понимаю, что задаю глупые вопросы (а когда разберусь и сам пойму, что тут никаких проблем нет), но пока не разобрался - для меня это актуально.
|
|
|
|
|
Jan 19 2018, 11:37
|
Частый гость
 
Группа: Участник
Сообщений: 168
Регистрация: 25-08-05
Пользователь №: 7 944

|
Цитата(AlexandrY @ Jan 19 2018, 12:04)  Можно пробовать IDE типа IAR или Keil и программировать через них. Дело в том, что через IDE всё прекрасно программируется и отлаживается. Но возникла необходимость поменять прошивку в приборах, которые отдали заказчикам. У них есть программатор, и хотелось бы отправить только готовый hex для непосредственной прошивки прибора, а не ехать в другой город и заморачиваться с установкой там Keil-а или тащить с собой ноут с IDE . С JLink.exe вроде всё должно быть просто: подключается, видит процессор, читает содержимое флэш (и лицензию не просит) - а вот стирать ( и соответственно программировать) флэш не хочет. Самое главное, что скорее всего здесь действительно какой-то команды не хватает. Но уж вроде все варианты перепробовали, а результат ноль.
|
|
|
|
|
Jan 19 2018, 17:43
|
Местный
  
Группа: Участник
Сообщений: 356
Регистрация: 9-06-07
Пользователь №: 28 315

|
Цитата С JLink.exe вроде всё должно быть просто: подключается, видит процессор, читает содержимое флэш (и лицензию не просит) - а вот стирать ( и соответственно программировать) флэш не хочет. Самое главное, что скорее всего здесь действительно какой-то команды не хватает. Но уж вроде все варианты перепробовали, а результат ноль. Простой команды записи флешь не существует.Тот же Сеггер в доках на J-link указывает, что разные камни имеют разные алгоритмы прошивки (адресация, размер стираемой страницы, тайминги). Поэтому используется "универсальный алгоритм" как в KEIL. Под камень (или серию МК) создается загрузчик, который работает в ОЗУ. Этот загрузчик записывается в МК, затем принимает прошивку (по частям) и записывает во флешь МК. Можно посоветовать такой алгоритм (если не получается штатными средствами) 1.Создать проект, который работает из ОЗУ, берет данные (1-8 кБ) по фиксированному адресу и записывает их во флешь. (данные тоже в ОЗУ располагаются). 2.Разбить прошивку (которая должна быть записана) на "порции" (те же 1-8 кБ) 3.Записать в МК проект из п.1. записать данные (порцию) по фиксированному адресу. Запустить на выполнение прошивку из п.1. 4.Повторить п.3 для каждой порции данных. 5.Считать всю прошивку и сравнить с исходным файлом. Как то так.
Сообщение отредактировал редактор - Jan 19 2018, 17:44
--------------------
Хорошую систему делают из стандартных блоков нестандартно мыслящие инженеры.
|
|
|
|
|
Jan 23 2018, 19:16
|
Частый гость
 
Группа: Участник
Сообщений: 168
Регистрация: 25-08-05
Пользователь №: 7 944

|
Цитата Техподдержку "Миландр" спрашивали? В техподдержке Миландра посоветовали воспользоваться OpenOCD (эта тема оказалась актуальной для достаточного количества пользователей). Цитата А это не подходит ? 2-я ссылка не идёт -у меня программатор J-Link. А вот первая - очень интересная. Я её поиском не находил, надо будет попробовать. Всем спасибо за информацию и полезное обсуждение. Да, ещё приношу извинения за некорректную формулировку, если б сразу написал про Миландр, то сразу была бы понятна суть проблемы.
|
|
|
|
|
Jan 24 2018, 07:34
|
Частый гость
 
Группа: Участник
Сообщений: 168
Регистрация: 25-08-05
Пользователь №: 7 944

|
Цитата Это как раз про JLink - надо внимательно прочитать текст (не только название) Есть у меня такой недостаток Единственно, что Keil у меня работает с Миландром без проблем - файлы *.FLM были предоставлены на диске из отладочного комплекта. Тут как раз хотелось разобраться, можно ли без Keil-а готовый хекс залить при помощи JLink.exe. Вывод : без заморочек - никак. Проблема возникла из-за необходимости перепрошивки готовых изделий в другом городе. Не хотелось тащить с собой ноут со всем соответствующим ПО. Так можно было бы запустить JLink.exe на ПК у заказчиков. Но не судьба, много мороки. По UART прошить не получится, он просто не предусмотрен, наружу выведен SWD . Прибор в удалённом доступе, связь (и перепрошивка) только по CAN, SWD на крайний случай (который и возник).
|
|
|
|
|
Jan 24 2018, 10:00
|
Частый гость
 
Группа: Участник
Сообщений: 168
Регистрация: 25-08-05
Пользователь №: 7 944

|
Цитата На сайте сеггера есть инструкция... Вот это интересно. Правда, от нас уже уехал человек с ноутбуком, но попробуем сделать . Такое может пригодиться в другой раз.
|
|
|
|
|
Jan 24 2018, 10:13
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(NikP @ Jan 24 2018, 09:34)  Единственно, что Keil у меня работает с Миландром без проблем - файлы *.FLM были предоставлены на диске из отладочного комплекта. Тут как раз хотелось разобраться, можно ли без Keil-а готовый хекс залить при помощи JLink.exe. Вывод : без заморочек - никак. Не знаю как в Keil-е (не пользую его), но в IAR-е в проект можно включить любой произвольный бинарный файл, который будет добавлен "как есть" в образ прошивки. Если уж не судьба никак с JFlash, то можно тогда обойтись IAR-ом: сделать пустой проект, содержащий только .bin-файл с прошивкой, указать с какого адреса его надо располагать и всё. Дальше - в том проекте где ваши программёры генерят hex, сделать дополнительную генерацию bin-файла. И его уже отсылать в другой город вместе с указанным выше проектом, но без исходных файлов программ. Наверняка и в Keil-е подобная возможность есть. Если ваши программёры имеют хотя-бы среднюю квалификацию, то так сделать им не составит никакого труда.
|
|
|
|
|
Jan 24 2018, 12:01
|
Частый гость
 
Группа: Участник
Сообщений: 168
Регистрация: 25-08-05
Пользователь №: 7 944

|
Цитата На всех один ноутбук ?! Дело не в количестве, а в том, что тащить надо))) + морока с вносом-выносом.
|
|
|
|
|
Jan 26 2018, 06:49
|
Частый гость
 
Группа: Участник
Сообщений: 168
Регистрация: 25-08-05
Пользователь №: 7 944

|
Цитата(редактор @ Jan 24 2018, 20:35)  Вот еще одна ссылка на форум. segger + готовое ПО (есть во вложениях при обсуждении) так же решают вашу проблему Обсуждение J-FlashСпасибо, это то что я искал. Уже попробовал, Миландровский контроллер подключается, стирается и заливается прошивка без проблем! Ещё раз спасибо за подсказку.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|