реклама на сайте
подробности

 
 
> как загрузить готовую прошивку через монитор J-Link?, монитор - программа JLink.exe ( J-Link Commander)
NikP
сообщение Jan 18 2018, 13:05
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 168
Регистрация: 25-08-05
Пользователь №: 7 944



Имеется несколько устройств с контроллерами STM32F103,имеется отлаженный hex-файл прошивки, хотел загрузить прошивку в контроллеры через программатор J-Link используя программу-монитор фирмы Segger.
В мониторе видно, что происходит подключение к процессору, отрабатывается команда h (стоп) и ..... кроме точек сказать нечего, потому что дальнейшие команды игнорируются.
Может кто подсказать, какая последовательность команд монитора должна подаваться для прошивки контроллера J-Link-ом ?
Повторюсь, что подключаю контроллер, вижу его, подаю стоп h , а дальше?

Сообщение отредактировал NikP - Jan 18 2018, 14:01
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 26)
jcxz
сообщение Jan 18 2018, 13:26
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(NikP @ Jan 18 2018, 15:05) *
Может кто подсказать, какая последовательность команд монитора должна подаваться для прошивки контроллера J-Link-ом ?

Не очень понятно что за монитор Вы имеете в виду?
Готовый hex (или какой другой формат) легко шьётся с помощью JFlash.exe.
Предварительно в нём конечно нужно настроить подключение (SWD/JTAG, частоту, тип сброса, МК и т.п.).
Go to the top of the page
 
+Quote Post
NikP
сообщение Jan 18 2018, 13:59
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 168
Регистрация: 25-08-05
Пользователь №: 7 944



Я пробовал работать с программой JLink.exe ( J-Link Commander), про неё собственно и вопрос. С JFlash.exe не пробовал , но если Вы кратко опишете как её настроить и работать (просто последовательность команд) - буду весьма благодарен.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jan 18 2018, 15:44
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(NikP @ Jan 18 2018, 15:59) *
Я пробовал работать с программой JLink.exe ( J-Link Commander), про неё собственно и вопрос. С JFlash.exe не пробовал , но если Вы кратко опишете как её настроить и работать (просто последовательность команд) - буду весьма благодарен.

А Вы её запустите хотя-бы. wink.gif
Там интуитивно-понятный интерфейс.
Go to the top of the page
 
+Quote Post
x893
сообщение Jan 18 2018, 19:37
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 333
Регистрация: 27-10-08
Из: Планета Земля
Пользователь №: 41 226



А в описании есть интуитивно понятные буквы.
Go to the top of the page
 
+Quote Post
NikP
сообщение Jan 19 2018, 07:29
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 168
Регистрация: 25-08-05
Пользователь №: 7 944



Когда я запустил JFlash.exe и попытался стереть флэш контроллера, то вывалилось сообщение "интуитивно понятными буквами" о том, что у меня нет лицензии и за её приобретением надо обратиться на sales@segger.com. Так что пока хотелось использовать бесплатные варианты.
Поэтому возвращаюсь к началу темы.
При запуске JLink.exe ( J-Link Commander-а) я подключаюсь к контроллеру, читаю флэш с адреса 0х00000000 для того, чтоб убедиться что реально подключился. Флэш читается (вижу реальную прошивку). Далее подаю команду стоп (h) и стирание флэш(erase); программа сообщает, что стирание выполнено, но реально эта команда не выполнена (опять же читаю начало флэш).
В чём причина? Может надо перед командой стирания ещё какие-то действия предпринять?
И большая просьба ко всем - пишите по делу, или не пишите вообще. Я понимаю, что задаю глупые вопросы (а когда разберусь и сам пойму, что тут никаких проблем нет), но пока не разобрался - для меня это актуально.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jan 19 2018, 09:04
Сообщение #7


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(NikP @ Jan 19 2018, 09:29) *
то вывалилось сообщение "интуитивно понятными буквами" о том, что у меня нет лицензии

Интуитивно как бы понятно, что если нет лицензии на программирование, то и через монитор не дадут программировать.
Можно пробовать IDE типа IAR или Keil и программировать через них.
Go to the top of the page
 
+Quote Post
NikP
сообщение Jan 19 2018, 11:37
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 168
Регистрация: 25-08-05
Пользователь №: 7 944



Цитата(AlexandrY @ Jan 19 2018, 12:04) *
Можно пробовать IDE типа IAR или Keil и программировать через них.


Дело в том, что через IDE всё прекрасно программируется и отлаживается. Но возникла необходимость поменять прошивку в приборах, которые отдали заказчикам. У них есть программатор, и хотелось бы отправить только готовый hex для непосредственной прошивки прибора, а не ехать в другой город и заморачиваться с установкой там Keil-а или тащить с собой ноут с IDE .

С JLink.exe вроде всё должно быть просто: подключается, видит процессор, читает содержимое флэш (и лицензию не просит) - а вот стирать ( и соответственно программировать) флэш не хочет. Самое главное, что скорее всего здесь действительно какой-то команды не хватает. Но уж вроде все варианты перепробовали, а результат ноль.
Go to the top of the page
 
+Quote Post
редактор
сообщение Jan 19 2018, 17:43
Сообщение #9


Местный
***

Группа: Участник
Сообщений: 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


--------------------
Хорошую систему делают из стандартных блоков нестандартно мыслящие инженеры.
Go to the top of the page
 
+Quote Post
NikP
сообщение Jan 19 2018, 18:51
Сообщение #10


Частый гость
**

Группа: Участник
Сообщений: 168
Регистрация: 25-08-05
Пользователь №: 7 944



Так вроде понятно. То есть "лёгкой" жизни ждать не приходится : надо сделать то же , что сделано в IDE.
Спасибо, попробуем.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jan 19 2018, 19:47
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(редактор @ Jan 19 2018, 19:43) *
1.Создать проект, который работает из ОЗУ, берет данные (1-8 кБ) по фиксированному адресу и записывает их во флешь. (данные тоже в ОЗУ располагаются).
...
5.Считать всю прошивку и сравнить с исходным файлом.

Иээх! Нелегка жизнь в командной строке! Живём под JFlash и не знаем всей правды жизни!... rolleyes.gif
Go to the top of the page
 
+Quote Post
NikP
сообщение Jan 22 2018, 07:39
Сообщение #12


Частый гость
**

Группа: Участник
Сообщений: 168
Регистрация: 25-08-05
Пользователь №: 7 944



Подключились к контроллеру через JFlash. Но программа выдаёт сообщение "Could not find CFI-compliant flash device". Можно ли подружить JFlash с конкретным контроллером и что для этого нужно?
Go to the top of the page
 
+Quote Post
esaulenka
сообщение Jan 22 2018, 08:20
Сообщение #13


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



Для этого нужно, как ни странно, в свойствах проекта (options -> project settings) выбрать соответствующий контроллер. Вам же внутрь 103-ей STM'ки надо прошивку залить?


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
NikP
сообщение Jan 22 2018, 10:09
Сообщение #14


Частый гость
**

Группа: Участник
Сообщений: 168
Регистрация: 25-08-05
Пользователь №: 7 944



К сожалению, не в STM103. У нас Миландровский контроллер (у них просто написано, что близкий аналог STM103), ядро Cortex-M1.
В списке контроллеров JFlash для этого ядра выбора практически нет - только одна строчка: Cortex-M1.
Когда работаем с Keil, то в каталог этой среды копируем библиотечный файл Миландра и всё отлично идёт.
Go to the top of the page
 
+Quote Post
Corvus
сообщение Jan 23 2018, 09:19
Сообщение #15


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 24-04-08
Из: Зеленоград
Пользователь №: 37 056



Цитата(NikP @ Jan 22 2018, 13:09) *
К сожалению, не в STM103. У нас Миландровский контроллер (у них просто написано, что близкий аналог STM103), ядро Cortex-M1.


У STM32F103 ядро Cortex-M3, а не М1. Техподдержку "Миландр" спрашивали?
Go to the top of the page
 
+Quote Post
x893
сообщение Jan 23 2018, 12:20
Сообщение #16


Профессионал
*****

Группа: Свой
Сообщений: 1 333
Регистрация: 27-10-08
Из: Планета Земля
Пользователь №: 41 226



А это не подходит ?
https://github.com/in4lio/mdr1986x-JFlash
https://cdeblog.ru/post/converting-st-link-into-a-j-link
Go to the top of the page
 
+Quote Post
NikP
сообщение Jan 23 2018, 19:16
Сообщение #17


Частый гость
**

Группа: Участник
Сообщений: 168
Регистрация: 25-08-05
Пользователь №: 7 944



Цитата
Техподдержку "Миландр" спрашивали?

В техподдержке Миландра посоветовали воспользоваться OpenOCD (эта тема оказалась актуальной для достаточного количества пользователей).
Цитата
А это не подходит ?

2-я ссылка не идёт -у меня программатор J-Link.
А вот первая - очень интересная. Я её поиском не находил, надо будет попробовать.

Всем спасибо за информацию и полезное обсуждение.

Да, ещё приношу извинения за некорректную формулировку, если б сразу написал про Миландр, то сразу была бы понятна суть проблемы.
Go to the top of the page
 
+Quote Post
x893
сообщение Jan 23 2018, 19:27
Сообщение #18


Профессионал
*****

Группа: Свой
Сообщений: 1 333
Регистрация: 27-10-08
Из: Планета Земля
Пользователь №: 41 226



2-я ссылка не идёт -у меня программатор J-Link.

Это как раз про JLink - надо внимательно прочитать текст (не только название)
Go to the top of the page
 
+Quote Post
Alexashka
сообщение Jan 24 2018, 05:40
Сообщение #19


Практикующий маг
******

Группа: Свой
Сообщений: 3 634
Регистрация: 28-04-05
Из: Дубна, Моск.обл
Пользователь №: 4 576



Если речь о 1986ВЕ9х, то мы их программируем по UART бесплатной утилитой от Milandr (1986WSD). Такой вариант удобен тем, что в нашем устройстве UART итак выведен наружу в виде RS485 для штатного обмена, поэтому для перепрошивки не нужно вскрывать корпус, нужно только надеть спец.разъем, который помимо подключения RS485 ещё переводит линии MODE в режим UART-загрузчика.
Go to the top of the page
 
+Quote Post
NikP
сообщение Jan 24 2018, 07:34
Сообщение #20


Частый гость
**

Группа: Участник
Сообщений: 168
Регистрация: 25-08-05
Пользователь №: 7 944



Цитата
Это как раз про JLink - надо внимательно прочитать текст (не только название)

Есть у меня такой недостаток wacko.gif
Единственно, что Keil у меня работает с Миландром без проблем - файлы *.FLM были предоставлены на диске из отладочного комплекта. Тут как раз хотелось разобраться, можно ли без Keil-а готовый хекс залить при помощи JLink.exe. Вывод : без заморочек - никак.
Проблема возникла из-за необходимости перепрошивки готовых изделий в другом городе. Не хотелось тащить с собой ноут со всем соответствующим ПО. Так можно было бы запустить JLink.exe на ПК у заказчиков. Но не судьба, много мороки.

По UART прошить не получится, он просто не предусмотрен, наружу выведен SWD . Прибор в удалённом доступе, связь (и перепрошивка) только по CAN, SWD на крайний случай (который и возник).
Go to the top of the page
 
+Quote Post
x893
сообщение Jan 24 2018, 09:26
Сообщение #21


Профессионал
*****

Группа: Свой
Сообщений: 1 333
Регистрация: 27-10-08
Из: Планета Земля
Пользователь №: 41 226



На сайте сеггера есть инструкция как сделать файл с описанием для JLink. Надо прочитать внимательно и сделать. Конечно гуру программирования из Миландра могли бы это сделать сами для своих чудесных процессоров с 2012 года, но видимо другие проблемы их занимают.
Go to the top of the page
 
+Quote Post
NikP
сообщение Jan 24 2018, 10:00
Сообщение #22


Частый гость
**

Группа: Участник
Сообщений: 168
Регистрация: 25-08-05
Пользователь №: 7 944



Цитата
На сайте сеггера есть инструкция...

Вот это интересно. Правда, от нас уже уехал человек с ноутбуком, но попробуем сделать . Такое может пригодиться в другой раз.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jan 24 2018, 10:13
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 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-е подобная возможность есть.
Если ваши программёры имеют хотя-бы среднюю квалификацию, то так сделать им не составит никакого труда.
Go to the top of the page
 
+Quote Post
x893
сообщение Jan 24 2018, 10:42
Сообщение #24


Профессионал
*****

Группа: Свой
Сообщений: 1 333
Регистрация: 27-10-08
Из: Планета Земля
Пользователь №: 41 226



Цитата(NikP @ Jan 24 2018, 13:00) *
Вот это интересно. Правда, от нас уже уехал человек с ноутбуком, но попробуем сделать . Такое может пригодиться в другой раз.

На всех один ноутбук ?!
Остальные на калькуляторах программируют ?
Или на счётах ?
Go to the top of the page
 
+Quote Post
NikP
сообщение Jan 24 2018, 12:01
Сообщение #25


Частый гость
**

Группа: Участник
Сообщений: 168
Регистрация: 25-08-05
Пользователь №: 7 944



Цитата
На всех один ноутбук ?!

Дело не в количестве, а в том, что тащить надо))) + морока с вносом-выносом.
Go to the top of the page
 
+Quote Post
редактор
сообщение Jan 24 2018, 17:35
Сообщение #26


Местный
***

Группа: Участник
Сообщений: 356
Регистрация: 9-06-07
Пользователь №: 28 315



Вот еще одна ссылка на форум. segger + готовое ПО (есть во вложениях при обсуждении) так же решают вашу проблему
Обсуждение J-Flash


--------------------
Хорошую систему делают из стандартных блоков нестандартно мыслящие инженеры.
Go to the top of the page
 
+Quote Post
NikP
сообщение Jan 26 2018, 06:49
Сообщение #27


Частый гость
**

Группа: Участник
Сообщений: 168
Регистрация: 25-08-05
Пользователь №: 7 944



Цитата(редактор @ Jan 24 2018, 20:35) *
Вот еще одна ссылка на форум. segger + готовое ПО (есть во вложениях при обсуждении) так же решают вашу проблему
Обсуждение J-Flash

Спасибо, это то что я искал. Уже попробовал, Миландровский контроллер подключается, стирается и заливается прошивка без проблем!
Ещё раз спасибо за подсказку.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th June 2025 - 19:48
Рейтинг@Mail.ru


Страница сгенерированна за 0.0165 секунд с 7
ELECTRONIX ©2004-2016