======Совместимость средств разработки Keil, IAR, CodeMaster и программаторов.====== По состоянию на май 2017 года разработка под 32-х битные микроконтроллеры "Миландр" доступна в следующих вариантах: ^ Программатор ^ Среда разработки ^ Особенности ^ | ULink2 | Keil | J-Tag Сhain, параллельная отладка нескольких ядер Cortex-M | | JLink | Keil, IAR, CodeMaster-ARM | Прошивка отдельной утилитой (для Base версии - J-FLASH Lite), без IDE | | MT-Link | Keil, IAR, CodeMaster-ARM | Китайский аналог JLink | | JEM-ARM-V2 | CodeMaster-ARM | - | | I-jet | IAR | Параллельная отладка нескольких ядер Cortex-M | * //Jtag chain// в Keil без дополнительных настроек работает только с программатором ULink2! Для работы с J-Link необходимо в папке с проектом Keil разместить JLinkScript, в котором будет указано подключение к требуемому МК. Подробнее можно прочитать на сайте Segger [[https://wiki.segger.com/Manual_setup_of_JTAG_chain|здесь]] и [[https://wiki.segger.com/Keil_MDK#Using_J-Link_Script_Files|здесь]]. * J-Link позволяет осуществлять прошивку МК без среды разработки, через утилиту **J-Flash**. Но требуется версия программатора выше Base. С Base не поставляется лицензия к J-Flash - [[https://www.segger.com/purchase/pricing/jlink-related/|link]] Китайские MT-Link являются аналогами JLink, но плохо работают в режиме Jtag - низкая скорость. В сети нашлась статья по исправлению данного дефекта - [[https://www.drive2.ru/b/2779311/|"MT-Link v7 от Starterkit, почему-ж так медленно. Расследование и превращение в V8."]]. В **режиме SWD** программатор MT-Link работает хорошо и с Keil, и с IAR. Программаторы MT-LINK поддерживают прошивку только по SWD с частотой до 3МГц Компания "Миландр" ведет техподдержку и выпуск SPL (Standard Peripherial Library) для среды разработки Keil версии 5. Поэтому рекомендуется осваивать программирование МК в данной среде, чтобы избежать лишних проблем и вопросов. Позднее, с приобретением опыта и при возникновении необходимости можно переключиться на что-то еще. Как видно из таблицы, для программирования в среде Keil требуется программатор "//JLink//" либо "//Ulink2//". Можно использовать и китайский "//MT-Link//", который значительно дешевле. **Внимание, программаторы не входят в отладочные комплекты поставляемые производителем.** Их следует заказывать отдельно. Программатор //JEM-ARM-V2// и среда разработки CodeMaster выпускается компанией [[http://www.phyton.ru/development-tools/1986ve1t|"Фитон"]]. =====Программатор ST-LINK===== До недавнего времени программаторы **ST-LINK** не работали с микроконтроллерами компании Миландр. Ранее мы ссылались на статью, где приводится информация по перепрошивке программатора - [[http://cdeblog.ru/converting-st-link-into-a-j-link|"Превращаем ST-Link в J-Link и дружим его с Миландром"]]. На текущий момент, программатор **ST-LINK** имеет версию прошивки //**V2.J34.S7 (07.10.2019)**//, и без каких-либо перепрошивок на **J-Link ST-Link** программатор умеет работать со следующими микроконтроллерами компании Миландр: * **//1986ВЕ91У//** * **//1986ВЕ92У//** * **//1986ВЕ93У//** * **//1901ВЦ1Т//** * **//1986ВЕ4У//** * **//1986ВЕ8Т//** * **//1986ВК214//** * **//1986ВК234//** * **//Электросила//** Проверка осуществлялась как в среде //Keil//, так и в среде //IAR// //(для 1986ВЕ91-94, 1901ВЦ1Т, Электросила)//. Видимых ограничений по работе в среде //IAR// в связке с **ST-LINK** с другими микроконтроллерами компании Миландр нет, достаточно добавить их в среду. Программатор **ST-LINK** работает с микроконтроллерами компании Миландр только в режиме **SWD** На картинке ниже представлен пример настройки программатора в среде //Keil// для работы на примере микроконтроллера //1986ВЕ92У//. В //IAR// аналогично выбрать режим //SWD// в окне настройки программатора **ST-LINK**. {{doc:jtag:st-link.png}} =====Двухъядерные микроконтроллеры. Особенности использования===== Микропроцессор [[http://ic.milandr.ru/products/mikrokontrollery_i_protsessory/2_yadernye_mikrokontrollery_risc_dsp/1901vts1t/|1901ВЦ1Т]] имеет два ядра - RISC и DSP. Программирование RISC ядра возможно в Keil. Программа для ядра DSP может быть реализована в среде //"Code Composer Studio"// версии 3.3 и загружена в DSP через RISC ядро. Подробнее об отладке DSP ядра описано в статье [[https://startmilandr.ru/doku.php/prog:spec:dsp_risc|Пример взаимодействия двух ядер в МК 1901ВЦ1Т]]. Программирование и отладка совместно RISK и DSP ядер возможно только в среде //CodeMaster-ARM//, с использованием программатора //JEM-ARM-V2// от "Фитон". МК, разрабатываемый в рамках ОКР **Электросила**, имеет 2 ядра Cortex-M4, которые могут работать в режиме DUALCORE. Для параллельной отладки двух ядер в среде Keil можно использовать отладчик ULINK2, ULINKPro или CMSIS-DAP, для среды IAR подходят отладчики I-jet и CMSIS-DAP.