LINUX.ORG.RU

Программатор для ARM


1

1

Наигрался с AVR, хочу изучить ARM-микроконтроллеры. Заказал минималистичную плату с STM32F103C8, теперь выбираю программатор. С одной стороны было бы не плохо, если бы он был универсальным (то есть поддерживать не только STM), с другой без проблем завестись под онтопиком.

Присмотрелся к такому: http://www.aliexpress.com/item/ARM-Emualtor-supports-ARM7-ARM-ARM9-ARM11-Cort....

В списке поддерживаемых ОС в описании товара Linux нет, однако на официальном сайте JLink есть deb-пакет, однако для загрузки требуется указать серийный номер программатора.

Ну а теперь вопрос: получится ли так сделать? Вопрос к знающим людям:

1) Насколько легко заводится JLink под Linux

2) Является ли вышеуказанный JLink официальным и имеющим серийный номер или же это клон. Если клон, то подойдёт ли серийный номер (на фотографии товара фрагмент коруса замазан, возможно, там серийный номер) для загрузки драйвера с оф. сайта

3) Если на оба вопроса ответы отрицательные, то что тогда можете посоветовать для прошивки ARM под онтопиком (не дорогое)?

4) И вообще, нет ли полностью универсальных USB-JTAG адаптеров? Вроде, что у AVR, что у ARM, что у FPGA линии JTAG одинаковые (земля, 4 линии данных, опционально питание). Различаются только команды, которые по этому интерфейсу передаются. Что мешает базу микроконтроллеров и ПЛИС вынести в софт программирования на ПК, а адаптер сделать тупой передавалкой указанных байтиков по JTAG? С одной стороны это должно удешивить программатор (программа для микроконтроллера программатора элементарная, мощность тоже большая не требуется), позволит купить его только один раз, а не для каждого семейства чипов, с другой поддержка новых чипов будет добавляться обновлением софта на ПК, а не покупкой нового программатора или обновлением его прошивки.

UPD: Прочитал, что OpenOCD поддерживает JLink и не только. А ещё, что можно в качестве адаптера использовать FT232 и шить всё подряд (ПЛИС, AVR, ARM). Но всё равно хотелось бы услышать мнение знающих людей.

★★★★★

Последнее исправление: KivApple (всего исправлений: 4)
Ответ на: комментарий от Eddy_Em

Свободная прошивалка это st-flash?

ни с одной утилитка с сеггеровского сайта работать не захотела

А OpenOCD тоже не работает?

KivApple ★★★★★
() автор топика
Последнее исправление: KivApple (всего исправлений: 1)
Ответ на: комментарий от KivApple

Да, свободная — это st-flash.

А OpenOCD тоже не работает?

Без понятия — оно мне не нужно. Но логика подсказывает, что тоже не будет работать.

А что можешь сказать насчёт прошивки через FT232?

Это и есть прошивка при помощи bootloader'а. Переходничок USB<->TTL стоит 1 доллар. Готовый, ничего паять не надо.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от registrant

Что лучше заведется? FTDI в режиме bitbang или этот JLink?

Можно ли через JLink с OpenOCD прошивать не ARM (AVR, ПЛИС через FTDI должны прошиваться)?

KivApple ★★★★★
() автор топика
Ответ на: комментарий от KivApple

нормальный программатор для плис стоит 50$ (с развязкой по питанию и т.п.), а для арма ниже тебе правильный совет дали. сначала на дискавери лампочки позажигаешь, потом можешь ее как программатор использовать

registrant ★★★★★
()
Ответ на: комментарий от registrant

Я уже заказал для ПЛИС (которая скоро мне придёт) USB Blaster за примерно 300 рублей. Мне не требуются супер средства отладки, развяка по питанию (хватит диода, чтобы не спалить USB при дополнительном питании целевой схемы), лишь бы оно прошивало всё подряд. И тут FTDI должна подойти, но вопрос в софте для ПК, всё нормально с этим сейчас под Linux или нет.

KivApple ★★★★★
() автор топика
Ответ на: комментарий от KivApple

Я уже заказал для ПЛИС (которая скоро мне придёт) USB Blaster за примерно 300 рублей

тоже нормально, но у него скорее всего буферы по питанию не развязаны. я в свое время пытался использовать бластер как jtag-адаптер для мипса - не подошел, там одной ноги не хватает (какой-то из двух ресетов). у арма по-моему такой же jtag, как у мипса

registrant ★★★★★
()
Ответ на: комментарий от registrant

Не надо врать! OpenOCD работает только с "настоящим" жополинком, который баксов 100 стоит, а не с китайской подделкой за 10!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от registrant

Я запросил у продавца схему платы с ARM. Там на разъём программирования выведено 6 ножек МК помимо питания (таки да, там 2 ресета). Значит USB Blaster не подойдёт (но я и не думал, что он подойдёт). А вот у FTDI ножек должно хватить. Ты не знаешь, OpenOCD нормально прошивает через JTAG из FTDI?

KivApple ★★★★★
() автор топика
Ответ на: комментарий от Eddy_Em

В документации по OpenOCD заявлена поддержка FTDI.

А вот даже чья-то статья, как он заставил это работать.

http://balau82.wordpress.com/2013/08/04/jtag-connection-with-openocd-and-ftdi...

Но интересно услышать мнение местных любителей ARM, а так вариант с FTDI мне кажется самым правильным (какой вообще смысл в специализированных программаторах, кроме заработка их производителей. Развязку по питанию и буфер можно и FTDI приделать при желании).

KivApple ★★★★★
() автор топика
Ответ на: комментарий от KivApple

так на ftdi несколько программаторов есть, которые openocd поддерживаются. надо смотреть на ноги, м.б. тайминги покрутить. посмотри конфиги в установленном openocd

registrant ★★★★★
()
Ответ на: комментарий от Eddy_Em

эдик, ты хоть читай, на что отвечаешь. ст-линки работают с openocd. а жополинк в сраку себе засунь, знать даже не хочу, что это такое

registrant ★★★★★
()
Ответ на: комментарий от registrant

Вопрос был про китайскую копию сеггеровского жополинка. Я и сказал, что это говно не работает.

st-link, понятное дело, будет работать. Только openocd в сраку себе засунь ☺

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Dark_SavanT

AVR, ARM, FPGA поддерживаются?

Извиняюсь за глупые вопросы. Я несколько путаюсь и хочу услышать явное подтверждение утверждению «Можно купить FTDI-переходник и с помощью его и OpenOCD прошивать и отлаживать по JTAG AVR, ARM и FPGA».

Ещё меня несколько смущает то, что практически в каждой статье про OpenOCD, которые я находил, пишут конфиг. Это нужно сделать один раз или под каждый прошиваемый чип, куря даташит? Есть ли стандартные конфиги для вышеуказанного ARM и Atmega1284 (хочу попробовать как можно работать с AVR по JTAG, а у меня как раз завалялся данный чип).

KivApple ★★★★★
() автор топика
Ответ на: комментарий от Dark_SavanT

Кактус ел.

Как давно? Сеггер уже заменил на сайте старые линуксовые прошивалки. Теперь ни хрена не работает! Нужно либо где-то найти очень старую, либо мастдайку использовать. Второе — понятное дело — сразу отметается, первое у меня не получилось сделать (таки варез).

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Dark_SavanT

Понятно. Ну думаю для начала мне скорости хватит, прошивки будут не очень большие, а отладку я особо не юзаю, хотя интересно попробовать. Если не устроит скорость уже подумаю о чём-то более специфическом, а пока хочу самый универсальный вариант, который прошьёт всё, что угодно. Меня только волнует, чтобы оно вообще заработало. Причём желательно без километровых конфигов под каждый чип.

KivApple ★★★★★
() автор топика
Последнее исправление: KivApple (всего исправлений: 2)
Ответ на: комментарий от Dark_SavanT

jlink — это ж сеггеровская поделка. Несеггеровских нет.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от KivApple

за avr и fpga не скажу, их я не тыкал через openocd. arm, mips умеет. про msp430 - забудь, там не jtag и «своя атмосфера».

Про openocd - конфиг таки пилить надо каждый раз под чип/борду. Либо использовать готовое.

В конфиге задаётся какой программатор ты используешь, какой чип/семейство чипов ожидаешь увидеть, настройки сброса и так далее. можно запилить стартовую инициализацию. в моём случае это обычно инициализация dram.

стандартные конфиги в комплекте идут. там и про ftdi есть и про j-link и про ещё десяток программаторов.

Dark_SavanT ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.