UART загрузчик для Миландров 1986ВЕ9x с убитым JTAG'ом

Суть такова. Начали осваивать сабжевые чипы, всё отлично. Но в один прекрасный момент при очередном сеансе отладке IAR сообщил, что JTAG не работает. ХЗ как я напортачил, просто включил пин 10 порта B, сам JTAG на этом порту не трогал (к слову, не работали оба JTAG'а), может, просто криво залилось. Вобщем, накатал по-быстрому UART загрузчик во FLASH.

Загрузчик написан под линукс :), что может пригодиться тем, кто работает в нашей оборонке (МСВС там всякие, Astra Linux), но можете скомпилировать его под уиндоус. Ну, а если честно, то в линуксе чуть менее, чем всё пишется без особого мозгодрочества.
Что он делает:
Он синхронизируется со встроенным в 1986ВЕ9x загрузчиком, посылает команду смены битрейта, и заливает в ОЗУ другой загрузчик. Дело в том, что встроенный не умеет во флэш. А другой, который заливается в ОЗУ, умеет. После этого заливается следующий HEX-файл, который прошивается во флеш и запускается.
Второй загрузчик — 1986_BOOT_UART.hex, есть исходники. Он якобы выложен на форуме Миландра (там так написано), но самого проекта я на форуме не нашёл, его не находит даже гугол. Очень хитро всё-же удалось разыскать исходники. Надо будет связаться с автором, если он разрешит, выложу его исходники. А пока только HEX.
В итоге чип удалось откачать и продолжить эксперименты. Ситуацию с убиванием обоих JTAG'ов пока повторить не удалось.
  • +4
  • 07 ноября 2013, 21:18
  • scaldov

Комментарии (29)

RSS свернуть / развернуть
У меня была ситуация, когда программу для 1986ВЕ1Т так криво написал, что он постоянно перезапускался сразу после включения, и по JTAG стал недоступен для перепрошивки.

Пришлось поднять ножку PA.2, подтянуть её к 3.3В.
После этого контроллер стартует с UART загрузчика, зашитого в «нестираемой» памяти.
Программой «1986VE1WSD.exe» с форума Миландра стираем FLASH, возвращаем PA.2 на место, и работаем через удобный JTAG.
0
1986VE1WSD не может от 1986ВЕ9x хексы открыть. Автор отписывался, что базовый адрес не торт. К тому же эта утилита не смогла у меня через USB-UART работать, поэтому даже стереть флеш не смог.

Потом, насчёт стирания флеша — когда я писал утилиту, выяснил, что в моём случае стирание флеша не сработало. Пришлось всё-таки дописывать заливку во флеш. :)
0
Ну, а если честно, то в линуксе чуть менее, чем всё пишется без особого мозгодрочества.

Звучит провокационно :) ИМХО, не следует в очередной раз разжигать древний холивар.

Лучше расскажите о Ваших впечатлениях от использования МК от Milandr. Насколько они (по периферии) похожи на STM, как обстоит дело с поддержкой от производителя, доступностью чипа и т. д.

То, что встроенный загрузчик МК не умеет писать во FLASH, для меня выглядит странно. Это «баг» или так сделано специально?
+2
ну, это у миландра надо спрашивать.
0
очень похожи на STM.
USB отлично работает.
ADC, DAC, таймеры тоже.
Вот по фронтам прерывание EXT_INT нельзя настроить, только по уровню. причём, пока уровень не снимешь, оно долбится. На вход надо какой-либо дополнительный триггер прикручивать. Но тут я выкрутился таймерами — у них захват по фронтам настраивается.

Миландр на форуме отвечает и даже спрашивает чего ещё хотите увидеть в наших камнях.
0
У меня JTAG отлетел когда при кварце 16мегагерц все умножители были на максимум. Причём в этом случае чип заметно греется.
При отпайки кварца всё становится рабочим.
Похоже что бут не может шить флешь, и это сделано специально. Кто знает может места в ROM не хватило для полноценного бута…
Вообще судя по тому что LDM-Systems поставила на плате не JTAG отладчик а простую CP2102, для надёжного зашития лучше подходит прошивка по UART'у.
Доступность: я нигде не видел в магазинах чтобы они были. Да и сама отладка как они говорят «Бюджетная плата от LDM-Systems» мне не кажется бюджетной. Сейчас у меня скоро будут ПМК022 ардуиноподобные платки(узкие) с встроенным CP2102, об этой плате я писал как-то.
0
Прикол в том, что ту же самую прошивку потом залил — JTAG работает.
0
а можно вопрос? чем же столь сладок сей кактус?
0
это не кактус, а отечественный контроллер ARM-Cortex M3.
С приёмкой ОТК — около 150р, с ромбиком — 0коло 12т.р. (сам не запрашивал цену, мне знакомые сказали.)

Есть USB, CAN, IIC, SPI и прочее. Есть даже контроллер езернета наподобие enc28j60. Под все интерфейсные микрухи есть ОТК-шные версии. Такие дела.
0
Вообще мои принципы покупать отечественное даже если оно дороже — а потому что это рабочие места тут, и поддержка специалистов тут. У нас. Те кто возмущаются по теме «наши-не наши» — (мол, забугорные не хуже) — не понимают того факта что там поддержки науке и промышленности ХВАТАЕТ а тут её нет.
Раз правительство не хочет делать ничего для жизни — всё что могу буду делать я, и делаю. На сотни тысяч рублей в год — наших компонентов. И платы делают тут, и припой местного завода. ДА, очень неприятно что нет полевиков низковольтных хороших (или кто знает, подскажите, КП775 говорят не выпускают, 723АМ сняты с выпуска, 812-х отродясь не видел). По теме: Где купить ??
0
Вот, хоть один нашёлся такогоже мнения как и я. Нужно поддерживать своих. Ведь в этой стране нам оставлять детей.
0
Многие сейчас думают что или самим свалить или детей выслать, обучение мол там… а у правителей вообще всё там, они тут чисто управленцы. Но что теперь, сразу сдаваться?
По опыту понимаю что все разговоры о невозможности развития электроники здесь — бред основанный на алчности, неохота им платить разработчикам и технологам и монтажникам, проще купить-продать.
+1
А я свалю из страны при первой же возможности)))
0
Холивара не будет.
+1
а можно вопрос? чем же столь сладок сей кактус?
Для меня тем что это НАШЕ. Тем кто живёт вне границ бывш.СССР этого не понять.
Это такое редкое явление, когда НАШИ разработчики что-то сделали и продают по конкурентным ценам.
Это вам не автоваз которому жёстко помогают с таможенным налогом на импорт. Тут всё по честному.
НАШИМ в честном поединке нужна поддержка.

Ну, а если честно, то в линуксе чуть менее, чем всё пишется без особого мозгодрочества.
Установил я както убунту и убутнулся с настройкой этой системы, не могу я понять зачем люди так много времени тратят на то чтобы сказать компу что ты хочешь запустить программу, не просто запустить а с рут правами, барабаня коды по клаве.
Я ценю каждую минуту и крайне сильно желею если это время тратится на набор буков на клавиатуре, если можно потратить всего пару секунд и запустить то что надо.
Разумеется я уверен 100% если бы мой первый комп был на линуксе, я бы не пересел в громоздкую, не дешёвую, глючную винду…
Потому что я бы набирал строки кодов также быстро как ловко окноюзер двигает и цацкает мышь.
Холивара тут нет, просто мнение людей которые привыкли менять клаву(линукс) и перекатывать шары левой рукой(окошко).

Точная цена мк кстати 165рублей.
+2
Коллега, Вы не обижайтесь, но Вы опять становитесь в позу, для все на НАШЕ и НЕ НАШЕ. Ничего личного, просто такое деление в современных реалиях не актуально.

Часто бывает, что компания которую Вы считаете «НАШЕЙ» в входит в ходинг, который имеет юридический адрес где-то в офшорной зоне. Или имеет иностранных инвесторов. Или, наоборот, над разработкой устройства в «НЕ НАШЕЙ» компании работали наши с вами соотечественники. Нет, в современных реалиях «НАШИХ» и «НЕ НАШИХ» — сесть коммерческие компании, которые, часто, международные. И эти компании, неожиданно, работают не ради какой-то идеи, а ради зарабатывания денег.

И зачем все это деления не «НАШИ», «НЕ НАШИ»? Давайте, тогда и научные открытия делить по такому принципу. И пользоваться только «НАШИМИ» открытиями.

Касательно применения данных МК — понятно, что специфические отрасли требуют знака ОТК и «ромбика». Это логично, но для рядового радиолюбителя это не актуально.
0
Установил я както убунту и убутнулся с настройкой этой системы, не могу я понять зачем люди так много времени тратят на то чтобы сказать компу что ты хочешь запустить программу

SUDO не стоит разжигать холивар

:)
+1
вот так надо:
sudo /etc/init.d/holy-war stop

:D
0
О, коллега, Вы — явно «в теме». Но Ваш способ работает медленно, и, потенциально, не гарантирует прекращение работы holywar'а

Есть, знаете ли, более радикальные и испытанные годами методики. Как вариант:

sudo killall -9 holywar

:)
0
ваше решение от повторного запуска не защищает. впрочем, как и мое.
тогда уж #rm --no-preserve-root -rf /
ну или менее радикально #apt-get purge holywar
;)
0
О, коллега, Вы — явно «в теме».
домашняя файлопомойка/прокся/качалка/билд-бокс/прочее-прочее на дебиане обязывает. ;)
0
На вкус и цвет все фломастеры разные. Я вспоминаю времена, когда я писал под винду и у меня холодок по спине. Там был реальный геморой.
0
У меня вопрос по JTAGу для миландра, работает ли с ним JLink V8 и Ulink 2 что лучше? если использовать KEIL то у кого лучше поддержка отладки в том числе и переферии миландра?
0
Jlink v8 работает и Ulink2 тоже
лучше — Jlink, он пашет и под кейлом и под иаром.
0
как бы да согласен… но блин логика… все таки ulink родной для кейла, а кейл имеет поддержку миландра,
кстати вопрос, а в IARe что вы ставите в качестве кристала? есть там миландр? IAR корректно его переферию отлажиает?
0
в ИАРе выбираю просто арм кортекс м3, не конкретный чип
на форуме миландра где-то файлы лежат для периферии под ИАР.
их потом отдельно в проекте прописываешь.

Но я ни разу не заморачивался, если честно, с отображением периферии при отладке, всё и так работает.
0
логика в том, что кроме миландра я использую и другие камни, местами смотрю готовые проекты, а они бывают и под ИАР. Сидеть и перенастраивать проект под Кейл или наоборот — скучно и утомительно. Поэтому выгодно иметь отладчик, который идёт и под Кейлом и под ИАРом.
0
А где Вы покупаете Миландровские МК? у них самих или через посредников?
0
Мк я продаю по 185р, но пока только как бонус к плате ПМК19ПБ2В2.
5559ИН10БУ также продаю, и доступны.

Навар с них очень маленький.

Отправка почтой или самовызовом в м.Кунцево если в Москве(но я там не всегда бываю).
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.