NikP 0 18 января, 2018 Опубликовано 18 января, 2018 (изменено) · Жалоба Имеется несколько устройств с контроллерами STM32F103,имеется отлаженный hex-файл прошивки, хотел загрузить прошивку в контроллеры через программатор J-Link используя программу-монитор фирмы Segger. В мониторе видно, что происходит подключение к процессору, отрабатывается команда h (стоп) и ..... кроме точек сказать нечего, потому что дальнейшие команды игнорируются. Может кто подсказать, какая последовательность команд монитора должна подаваться для прошивки контроллера J-Link-ом ? Повторюсь, что подключаю контроллер, вижу его, подаю стоп h , а дальше? Изменено 18 января, 2018 пользователем NikP Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 241 18 января, 2018 Опубликовано 18 января, 2018 · Жалоба Может кто подсказать, какая последовательность команд монитора должна подаваться для прошивки контроллера J-Link-ом ? Не очень понятно что за монитор Вы имеете в виду? Готовый hex (или какой другой формат) легко шьётся с помощью JFlash.exe. Предварительно в нём конечно нужно настроить подключение (SWD/JTAG, частоту, тип сброса, МК и т.п.). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NikP 0 18 января, 2018 Опубликовано 18 января, 2018 · Жалоба Я пробовал работать с программой JLink.exe ( J-Link Commander), про неё собственно и вопрос. С JFlash.exe не пробовал , но если Вы кратко опишете как её настроить и работать (просто последовательность команд) - буду весьма благодарен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 241 18 января, 2018 Опубликовано 18 января, 2018 · Жалоба Я пробовал работать с программой JLink.exe ( J-Link Commander), про неё собственно и вопрос. С JFlash.exe не пробовал , но если Вы кратко опишете как её настроить и работать (просто последовательность команд) - буду весьма благодарен. А Вы её запустите хотя-бы. ;) Там интуитивно-понятный интерфейс. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 60 18 января, 2018 Опубликовано 18 января, 2018 · Жалоба А в описании есть интуитивно понятные буквы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NikP 0 19 января, 2018 Опубликовано 19 января, 2018 · Жалоба Когда я запустил JFlash.exe и попытался стереть флэш контроллера, то вывалилось сообщение "интуитивно понятными буквами" о том, что у меня нет лицензии и за её приобретением надо обратиться на [email protected]. Так что пока хотелось использовать бесплатные варианты. Поэтому возвращаюсь к началу темы. При запуске JLink.exe ( J-Link Commander-а) я подключаюсь к контроллеру, читаю флэш с адреса 0х00000000 для того, чтоб убедиться что реально подключился. Флэш читается (вижу реальную прошивку). Далее подаю команду стоп (h) и стирание флэш(erase); программа сообщает, что стирание выполнено, но реально эта команда не выполнена (опять же читаю начало флэш). В чём причина? Может надо перед командой стирания ещё какие-то действия предпринять? И большая просьба ко всем - пишите по делу, или не пишите вообще. Я понимаю, что задаю глупые вопросы (а когда разберусь и сам пойму, что тут никаких проблем нет), но пока не разобрался - для меня это актуально. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 19 января, 2018 Опубликовано 19 января, 2018 · Жалоба то вывалилось сообщение "интуитивно понятными буквами" о том, что у меня нет лицензии Интуитивно как бы понятно, что если нет лицензии на программирование, то и через монитор не дадут программировать. Можно пробовать IDE типа IAR или Keil и программировать через них. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NikP 0 19 января, 2018 Опубликовано 19 января, 2018 · Жалоба Можно пробовать IDE типа IAR или Keil и программировать через них. Дело в том, что через IDE всё прекрасно программируется и отлаживается. Но возникла необходимость поменять прошивку в приборах, которые отдали заказчикам. У них есть программатор, и хотелось бы отправить только готовый hex для непосредственной прошивки прибора, а не ехать в другой город и заморачиваться с установкой там Keil-а или тащить с собой ноут с IDE . С JLink.exe вроде всё должно быть просто: подключается, видит процессор, читает содержимое флэш (и лицензию не просит) - а вот стирать ( и соответственно программировать) флэш не хочет. Самое главное, что скорее всего здесь действительно какой-то команды не хватает. Но уж вроде все варианты перепробовали, а результат ноль. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Edit2007 3 19 января, 2018 Опубликовано 19 января, 2018 (изменено) · Жалоба С JLink.exe вроде всё должно быть просто: подключается, видит процессор, читает содержимое флэш (и лицензию не просит) - а вот стирать ( и соответственно программировать) флэш не хочет. Самое главное, что скорее всего здесь действительно какой-то команды не хватает. Но уж вроде все варианты перепробовали, а результат ноль. Простой команды записи флешь не существует.Тот же Сеггер в доках на J-link указывает, что разные камни имеют разные алгоритмы прошивки (адресация, размер стираемой страницы, тайминги). Поэтому используется "универсальный алгоритм" как в KEIL. Под камень (или серию МК) создается загрузчик, который работает в ОЗУ. Этот загрузчик записывается в МК, затем принимает прошивку (по частям) и записывает во флешь МК. Можно посоветовать такой алгоритм (если не получается штатными средствами) 1.Создать проект, который работает из ОЗУ, берет данные (1-8 кБ) по фиксированному адресу и записывает их во флешь. (данные тоже в ОЗУ располагаются). 2.Разбить прошивку (которая должна быть записана) на "порции" (те же 1-8 кБ) 3.Записать в МК проект из п.1. записать данные (порцию) по фиксированному адресу. Запустить на выполнение прошивку из п.1. 4.Повторить п.3 для каждой порции данных. 5.Считать всю прошивку и сравнить с исходным файлом. Как то так. Изменено 19 января, 2018 пользователем редактор Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NikP 0 19 января, 2018 Опубликовано 19 января, 2018 · Жалоба Так вроде понятно. То есть "лёгкой" жизни ждать не приходится : надо сделать то же , что сделано в IDE. Спасибо, попробуем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 241 19 января, 2018 Опубликовано 19 января, 2018 · Жалоба 1.Создать проект, который работает из ОЗУ, берет данные (1-8 кБ) по фиксированному адресу и записывает их во флешь. (данные тоже в ОЗУ располагаются). ... 5.Считать всю прошивку и сравнить с исходным файлом. Иээх! Нелегка жизнь в командной строке! Живём под JFlash и не знаем всей правды жизни!... :rolleyes: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NikP 0 22 января, 2018 Опубликовано 22 января, 2018 · Жалоба Подключились к контроллеру через JFlash. Но программа выдаёт сообщение "Could not find CFI-compliant flash device". Можно ли подружить JFlash с конкретным контроллером и что для этого нужно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 7 22 января, 2018 Опубликовано 22 января, 2018 · Жалоба Для этого нужно, как ни странно, в свойствах проекта (options -> project settings) выбрать соответствующий контроллер. Вам же внутрь 103-ей STM'ки надо прошивку залить? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NikP 0 22 января, 2018 Опубликовано 22 января, 2018 · Жалоба К сожалению, не в STM103. У нас Миландровский контроллер (у них просто написано, что близкий аналог STM103), ядро Cortex-M1. В списке контроллеров JFlash для этого ядра выбора практически нет - только одна строчка: Cortex-M1. Когда работаем с Keil, то в каталог этой среды копируем библиотечный файл Миландра и всё отлично идёт. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Corvus 1 23 января, 2018 Опубликовано 23 января, 2018 · Жалоба К сожалению, не в STM103. У нас Миландровский контроллер (у них просто написано, что близкий аналог STM103), ядро Cortex-M1. У STM32F103 ядро Cortex-M3, а не М1. Техподдержку "Миландр" спрашивали? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться