Миландр
http://forum.milandr.ru/

J-Flash для 1986xxx
http://forum.milandr.ru/viewtopic.php?f=22&t=3609
Страница 1 из 3

Автор:  mnk_46 [ 2016-ноя-12 00:18 ]
Заголовок сообщения:  J-Flash для 1986xxx

Написал в поддержку Миландра :
// *********************************
Уважаемый Миландр.
1) На сайте Миландр написано для контроллеров 1986 :

Отладочный комплект для микроконтроллера 1986ВЕ4У …
В состав комплекта входит: …
Дополнительно поставляется USB JTAG адаптер: …
USBJTAGадаптер J-LINK (Segger) – работа в IAREmbeddedWorkbench, а также KeiluVision.

У Вас есть для KeiluVision файл 1986BE4.FLM с алгоритмом программирования FLASH и все работает.

2) При работе в программе J-FLASH с адаптером J-Link, для очистки и программирования микроконтроллеров, надо выбрать контроллер из таблицы.
Но даже в последней версии “JLink_Windows_V610m”, в таблице “Selectflashdevice”, нет микроконтроллеров фирмы Миландр.

В UM08003_JFlash.pdf (http://www.segger.com) написано : “If the flash chip is not found please contact SEGGER, as devices are continuously being added to this list”.

3) Вопросы:
Можно ли запрограммировать программой J-FLASH для адаптера J-Link Ваши микроконтроллеры 1986… ?
Если можно, то каким образом ?
Надо как то использовать файл 1986BE4.FLM ?
// *************************************************

Получил ответ :
К сожалению, компания Миландр не поддерживает ПО J-FLASH.
// *************************************************
Мне тоже стало очень жалко.

Может есть люди в теме и что подскажут ???

(Про загрузку через Keil,..., OpenOCD, а также по UART не надо, все ясно [как всегда - почти])
С Уважением, Михаил Николаевич.

Автор:  ЧумА [ 2016-ноя-12 07:53 ]
Заголовок сообщения:  Re: J-Flash для 1986xxx

По ссылке есть "удочка" от R Max, как подружить FLM с J-Flash, но рыбу ловить руки не дошли ;)
viewtopic.php?f=22&t=1755&p=19625&sid=d ... b01#p19621

Автор:  R Max [ 2016-ноя-13 15:05 ]
Заголовок сообщения:  Re: J-Flash для 1986xxx

mnk_46, попробуй распаковать архив во вложении в папку C:\Program Files (x86)\SEGGER\JLink_V610m - будет заменен файл базы данных микросхем JLinkDevices.xml - в нём дописал следующее:
Открыть
<Device>
<ChipInfo Vendor="Milandr"
Name="1986BE1T"
WorkRAMAddr="0x20100000"
WorkRAMSize="0x4000"
Core="JLINK_CORE_CORTEX_M0" />
<FlashBankInfo Name="1986BE1T Flash"
BaseAddr="0x0"
MaxSize="0x20000"
Loader="Devices\Milandr\1986BE1T.FLM"
LoaderType="FLASH_ALGO_TYPE_OPEN" />
</Device>
<Device>
<ChipInfo Vendor="Milandr"
Name="1986BE3T"
WorkRAMAddr="0x20100000"
WorkRAMSize="0x4000"
Core="JLINK_CORE_CORTEX_M0" />
<FlashBankInfo Name="1986BE3T Flash"
BaseAddr="0x0"
MaxSize="0x20000"
Loader="Devices\Milandr\1986BE3T.FLM"
LoaderType="FLASH_ALGO_TYPE_OPEN" />
</Device>
<Device>
<ChipInfo Vendor="Milandr"
Name="1986BE4"
WorkRAMAddr="0x20000000"
WorkRAMSize="0x4000"
Core="JLINK_CORE_CORTEX_M0" />
<FlashBankInfo Name="1986BE4 Flash"
BaseAddr="0x0"
MaxSize="0x20000"
Loader="Devices\Milandr\1986BE4.FLM"
LoaderType="FLASH_ALGO_TYPE_OPEN" />
</Device>
<Device>
<ChipInfo Vendor="Milandr"
Name="1986BE9X"
WorkRAMAddr="0x20000000"
WorkRAMSize="0x8000"
Core="JLINK_CORE_CORTEX_M3" />
<FlashBankInfo Name="1986BE9X Flash"
BaseAddr="0x8000000"
MaxSize="0x20000"
Loader="Devices\Milandr\1986BE9X.FLM"
LoaderType="FLASH_ALGO_TYPE_OPEN" />
</Device>
Закрыть
Также в папку Devices добавятся стандартные файлы *.FLM от Keil.

При запуске J-Flash выбрать Manufacturer->Milandr->1986BE4.

Проверял с 1986ВЕ91Т - вроде всё работает...

P.S. Как подкинуть *.FLM для информационной флеш пока не знаю, потому что она перекрывает адрес основной и J-Flash видит только один из *.FLM - либо основной, либо для инфофлеш...

P.P.S. Как известно создать .FLM можно в Keil самому, если написать все необходимые функции программирования - viewtopic.php?f=33&t=3307 - об этом Segger тоже пишет https://wiki.segger.com/Adding_Support_for_New_Devices

Вложения:
MilandrDBforSegger.rar [9.2 КБ]
546 скачиваний

Автор:  mnk_46 [ 2016-ноя-13 23:35 ]
Заголовок сообщения:  Re: J-Flash для 1986xxx

Большое спасибо R Max.
Распаковал_заменил. Теперь J-Flash видит Миландр и контроллеры. Завтра на работе попробую стереть и запрограммировать, отпишусь.
Вопросы риторические - Уж не жду ответов я ничуть.
Вопрос 1 - почему Вас Миландр не приглашает в консультанты support-а ?
Вопрос 2 - почему в импортозамещении нет Российской J-Flash для 1986 Миландра и дешевых программаторов, типа AS-4 (смотрел у Phiton-а - вроде нету, а для 1886 -дорогие программаторы) ?
С Уважением, Михаил Николаевич.

Автор:  ЧумА [ 2016-ноя-14 09:01 ]
Заголовок сообщения:  Re: J-Flash для 1986xxx

"Фитон" за ChipProg-ISP хочет менее, чем 17 тыр. http://www.phyton.ru/programmers/chipprog-isp
Если для организации это дорого, тогда да.
Этот самый ChipProg-ISP шьет и основную и инфо память и по JTAG и по SWD (выдает питание в схему и "на машинке вышивает..." :)). Имеет ТУ и его не стыдно прописать в КД, в отличие от "не патриотичного" J-Link .
P.S. Текст выше рекламой не является :).

Автор:  R Max [ 2016-ноя-14 18:55 ]
Заголовок сообщения:  Re: J-Flash для 1986xxx

mnk_46 писал(а):
Вопрос 1 - почему Вас Миландр не приглашает в консультанты support-а ?
У меня и так своей работы хватает :mrgreen: :mrgreen: :mrgreen:
mnk_46 писал(а):
Вопрос 2 - почему в импортозамещении нет Российской J-Flash для 1986 Миландра и дешевых программаторов, типа AS-4 (смотрел у Phiton-а - вроде нету, а для 1886 -дорогие программаторы) ?
Встроенный в 1986ВЕ.. аппаратный UART-загрузчик тоже неплох, а так мне уже, по крайней мере для SWD-программирования ни ULink2, ни J-Link не нужен :D 8) viewtopic.php?f=22&t=3302

Автор:  mnk_46 [ 2016-ноя-14 23:06 ]
Заголовок сообщения:  Re: J-Flash для 1986xxx

Я предпочитаю свой личный инструмент, а для этого "менее 17 т.р." многовато, да и лицензионный J-Link раза в 2 дешевле.
J-Link молодые энтузиасты могут купить в Китае за ~0,6-1,0 т. р.
Чем дешевле, тем больше будет Энтузиастов, а это нам очень надо.
А чем плох "Российский J-Link" за 1,5 - 2 т.р. в качестве импортозамещения ? Мечтать конечно не вредно...
Для мощного предприятия, для серий, можно и Фитон.
Сегодня пробовал J-Flash с MilandrDBforSegger от R Max. Плата с бесплатным образцом ВЕ4, собранная на коленке год назад, стирала и программировала через раз. Разбираться не стал, подключил плату, изготовленную в цеху со свежим ВЕ4. Полет нормальный.
По поводу аппаратного UART загрузчика: 1 - у нас плата с полудуплексом RS-485, 2 - предпочитаю иметь возможность прочитать и сохранить прошивку.
Сейчас с J-Flash работать удобно и приятно (СПАСИБО R-Max), он становится "незаметным", не дает проблем, что и требуется от хорошего инструмента.
С Уважением, Михаил Николаевич.

Автор:  shan [ 2016-дек-26 16:46 ]
Заголовок сообщения:  Re: J-Flash для 1986xxx

Есть российские (например от Терраэлектроника") клоны STLINKv2 около 1 т.р. и китайские 500-600р

Автор:  Shuleshkin [ 2017-ноя-14 13:21 ]
Заголовок сообщения:  Re: J-Flash для 1986xxx

Попробовал способ R Max с 1986ВЕ1Т. J-Flash не работает, если перед программированием не стереть память. В настройках проекта соответствующая галочка стоит:
Открыть
[ img ]
Закрыть
Если использовать J-Flash для программирования из IDE, то эта проблема решается добавлением параметров командной строки "-erasechip -programverify". Но сеггеровский отладчик ozone аналогичным образом не удается заставить работать.

Автор:  редактор [ 2017-ноя-15 10:07 ]
Заголовок сообщения:  Re: J-Flash для 1986xxx

Цитата:
P.S. Как подкинуть *.FLM для информационной флеш пока не знаю, потому что она перекрывает адрес основной и J-Flash видит только один из *.FLM - либо основной, либо для инфофлеш...
Не самый удобный вариант - создать второй *.FLM для EEPROM и "второй" МК в списке? типа MDR1986_EEPROM.
Могут быть проблемы с верификацией, поскольку J-LINK вроде как напрямую данные считывает.И откуда он их возьмет (FLASH-EEPROM)?
Один наш сотрудник поковырял китайские сайты на предмет описания DLL от J-link. Изучать код самой DLL вроде как по лицензии нельзя :-) в итоге получился аналог JFLASH
Вложение:
Комментарий к файлу: аналог JFlash
JlinkFlash.ZIP [5.8 МБ]
407 скачиваний
Работает как в ГУИ, так и в командной строке (пример cmd файла есть).
Тестили на WIN XP. DLL от J-LINK что-то старше 6-й версии, оригинальная.
Работает с HEX и BIN форматом. Почищен список поддерживаемых МК (оставлены только российские ВЕ1т, ВЕ91Т) что упрощает добавление новых

Автор:  prostoRoman [ 2017-ноя-15 11:08 ]
Заголовок сообщения:  Re: J-Flash для 1986xxx

По адресу 0х20100000 16 кб памяти,не 32.
JLinkDevices.xml
  <Device>
---    <ChipInfo Vendor="Milandr" Name="1986BE1" WorkRAMAddr="0x20100000" WorkRAMSize="0x8000" Core="JLINK_CORE_CORTEX_M3" />
+++    <ChipInfo Vendor="Milandr" Name="1986BE1" WorkRAMAddr="0x20100000" WorkRAMSize="0x4000" Core="JLINK_CORE_CORTEX_M3" />
    <FlashBankInfo Name="Code Flash" BaseAddr="0x00000000" MaxSize="0x00020000" Loader="FLM\Milandr\1986BE1.FLM" LoaderType="FLASH_ALGO_TYPE_OPEN" />
  </Device>
</DataBase>

Автор:  Shuleshkin [ 2017-ноя-16 17:13 ]
Заголовок сообщения:  Re: J-Flash для 1986xxx

prostoRoman писал(а):
По адресу 0х20100000 16 кб памяти,не 32.
Спасибо, не заметил эту ошибку, но все равно не помогло. Может быть проблема в версии JLink?
R Max писал(а):
об этом Segger тоже пишет https://wiki.segger.com/Adding_Support_for_New_Devices
Это получилось сделать: https://bitbucket.org/Shuleshkin/mdr1986x-flm Вроде бы работает с 1986BE1Т. Только не смог быстро сообразить как сделать соответствующий скрипт линкера для других компиляторов, поэтому пришлось использовать SEGGER Embedded Studio.

Автор:  Professor Chaos [ 2018-дек-20 07:13 ]
Заголовок сообщения:  Re: J-Flash для 1986xxx

Так в итоге, какие .FLM самые правильные?
Те, что отсюда, или те, что лежат в официальном паке версии 1.5 для Кейла? По размеру они сильно отличаются.
Что не будет работать с .FLM из официального пака 1.5?
JLinkDevices.xml я откорректировал, в программе J-Flash МК стали видеться и корректно определяться (размеры областей памяти, начальные адреса). Теперь надо определиться с "правильными" FLM.

Обратил внимание, что в J-Flash для МК Миландр не расписаны сектора флеши, в то время как, например, для STM32F103RB прописан каждый сектор - его начальный и конечный адрес, общее количество секторов (окно Project Settings, вкладка Flash).

Автор:  prostoRoman [ 2018-дек-20 08:57 ]
Заголовок сообщения:  Re: J-Flash для 1986xxx

Professor Chaos писал(а):
Так в итоге, какие .FLM самые правильные?
Кошерный .FLM...
Дело в том, что Миландр, по сути, распространяет библиотеку и прочие .FLM на тех же правах и с той же ответственностью, что и ребята с гитхаба. Это значит, что никакие Ваши претензии по поводу работы этого ПО приняты не будут (официально).
Так что самый правильный тот, который лично Вас полностью устраивает. Не нашли - пишите свой, благо примеры есть.
Professor Chaos писал(а):
Обратил внимание, что в J-Flash для МК Миландр не расписаны сектора флеши, в то время как, например, для STM32F103RB прописан каждый сектор - его начальный и конечный адрес, общее количество секторов (окно Project Settings, вкладка Flash).
Может поэтому и не работает стирание по секторам.

Автор:  Professor Chaos [ 2018-дек-20 21:38 ]
Заголовок сообщения:  Re: J-Flash для 1986xxx

По какой-то причине строка
Цитата:
$K\ARM\ARMCC\bin\fromelf.exe --bin --output=@L.bin !L
не работает.
Открыть скриншот
[ img ]
Закрыть
Вместо бинарника создаётся папка с несколькими файлами внутри.
Всё вроде как совпадает с первоисточником, но работает не так, как надо. Что-то по этой команде создаётся, только не то, что нужно.

Страница 1 из 3 Часовой пояс: UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/