Как стать автором
Обновить

Программатор для ПЛИС

Электроника для начинающих
Хочу рассказать о том, как развивается проект http://marsohod.org.

Цель проекта — популяризация проектирования для ПЛИС.
Тема ПЛИС постепенно набирает популярность — и совершенно заслуженно. Ведь теперь мы фактически получили простую возможность создать свою цифровую микросхему. Вам не потребуется нано-фаб и миллион долларов — все можно просто сделать имея компьютер и микросхему ПЛИС на плате разработчика. Вы знаете, что 90% производителей микросхем в мире не имеют собственных фабрик? Они проектируют и тестируют в ПЛИС, а производство заказывают сторонним производителям.

Когда-то и программирование микроконтроллеров считалось чуть ли не чудом. Теперь можно купить платку Ардуино и научить старшеклассника «мигать светодиодом».

Я хочу показать, что и ПЛИС — это вполне доступная технология.

Плата «Марсоход» — это самый простой и дешевый девелопер кит на микросхеме ПЛИС компании Альтера EPM240T100C5. Проект — опен соурс — схемы платы есть на нашем сайте. Кроме того, опубликованно уже более 50 проектов выполненных на базе нашей платы.

Дальше я расскажу о программаторе для ПЛИС. Считается, что учиться проектированию ПЛИС гораздо дороже, чем учиться микроконтроллерам. Отчасти это мнение связано с тем, что программаторы вендоров ПЛИС довольно дороги.

Теперь есть альтернатива. Вы сможете сделать простой программатор USB сами!
Читать дальше →
Всего голосов 38: ↑38 и ↓0 +38
Просмотры 30K
Комментарии 39

Как тестировать электронику на производстве: анализ современных технологий

Блог компании Promwad Тестирование IT-систем *Анализ и проектирование систем *Производство и разработка электроники *


Финальный этап создания электронного продукта — серийное производство, именно оно в конечном итоге определяет качество устройства. Пользователь не сможет оценить идеальную программную и аппаратную платформу новой электроники, если на сборочном конвейере произойдет сбой, поэтому контроль функциональности и тестирование сборки — обязательные этапы массового производства.

Читатели этой статьи познакомятся с основными методиками и задачами тестирования электронных устройств и получат общее понимание обеспечения качества на производстве. Особое внимание будет уделено достоинствам и недостаткам различных методов тестирования.
Читать дальше →
Всего голосов 49: ↑49 и ↓0 +49
Просмотры 72K
Комментарии 29

Интерфейс JTAG? — Это очень просто

Интерфейсы *
Из песочницы
Tutorial
Многие знакомы со словом «JTAG», но знакомство это скорее всего поверхностное. В этой статье я хочу перевести Вас на новый уровень, так сказать «во френдзону». Возможно, для многих я не открою ничего нового, но надеюсь тем, кто давно хотел ознакомиться, будет интересно почитать. Итак, от винта.
image

Запустить JTAG тестирование
Всего голосов 90: ↑86 и ↓4 +82
Просмотры 217K
Комментарии 14

FT232H, MPSSE и SPI-программатор за 15 евро

Схемотехника *

Странно, что про этот крайне популярный и полезный чип до сих пор не было статьи на Хабре. Считаю необходимым восполнить этот пробел. В статье будет описано несколько интересных способов применения чипа FTDI FT232H и его аналогов для различных прикладных целей.
Пару слов о нем: относительно дешевый, простой в разводке и программировании, распространенный конвертер USB 2.0 <-> последовательные протоколы (USART, SPI, I2C, JTAG TAP и просто GPIO bit-bang), хорошо подходящий как для изготовления собственных устройств с подключением к ПК по USB, так и для тестирования и отладки других устройств.
Из простой breakout-платы на этом чипе легко и непринужденно можно сделать UART-конвертер, SPI-программатор, JTAG-отладчик, I2C-master, конвертер GPIO bit-bang (а с ним и остальных протоколов, не требующих запредельных частот и стойких к возможным задержкам, вносимым USB-стеком, к примеру, Dallas 1-wire).
Если вышеуказанные возможности сумели вас заинтересовать — прошу под кат.
Вперед, читатель!
Всего голосов 65: ↑64 и ↓1 +63
Просмотры 62K
Комментарии 31

FT232H и почти универсальный USB<->JTAG-адаптер за 15 евро

Схемотехника *
Продолжая тему практического применения микросхемы FTDI FT232H, затронутую мной в предыдущей статье, хотелось бы рассказать об использовании отладочной платы на ней в качестве дешевого и почти универсального JTAG-адаптера с интерфейсом USB и поддержкой множества микроконтроллеров различных архитектур и производителей. Я намеренно не называю этот адаптер «JTAG-отладчиком», т.к. далеко не все устройства с JTAG TAP поддерживают отладку, но обычными пользователями JTAG-адаптер используется в большинстве случаев именно для прошивки и отладки своего кода на МК. В этой статье я опишу только собственный опыт использования FT232H в качестве JTAG-адаптера, чтобы не давать ссылок на непроверенные решения, поэтому предлагаю читателям поделиться своими (или чужими) способами использования этой микросхемы в комментариях. Уверен, что способов этих найдется намного больше, чем здесь описано.
Заинтересовавшихся прошу под кат.
Псс, хабраюзер, не хочешь немного JTAG'а недорого?
Всего голосов 24: ↑23 и ↓1 +22
Просмотры 34K
Комментарии 10

Периферийное сканирование JTAG: тестирование опытных образцов электроники

Блог компании Promwad Тестирование IT-систем *Производство и разработка электроники *


В этой статье мы поделимся практическим опытом в использовании периферийного (граничного) сканирования JTAG и расскажем про особенности и преимущества внедрения этой технологии на этапе тестирования опытных образцов. Особое внимание будет уделено типичным ошибкам, выявленным с помощью JTAG с использованием программного пакета Provision для тестирования различных узлов и микросхем платы.

Напомним, что периферийное сканирование (boundary scan) — это структурное тестирование печатной платы с установленными компонентами, которое основано на применении стандартов IEEE 1149.x. Результат сканирования — информация о наличии в электроцепях типичных неисправностей, возникающих в процессе производства печатных плат: коротких замыканий (bridges), непропаек (opens), западаний на 0 или 1 (stuck at 0, stuck at 1), обрывов дорожек.
Читать дальше →
Всего голосов 11: ↑6 и ↓5 +1
Просмотры 17K
Комментарии 27

Программирование и JTAG-отладка микроконтроллера Atmega16 на языке C в среде IAR, часть 1

Программирование микроконтроллеров *DIY или Сделай сам
Tutorial


Введение


По моему мнению, чтобы быстро научится программировать практически любой микроконтроллер, существующий в мире, нужно освоить язык C и пользоваться JTAG-отладкой, конечно, помимо изучения технической документации. Поясню свою мысль. Компиляторы языка C существуют практически для всех существующих микроконтроллеров. Поэтому язык С давно зарекомендовал себя, как кроссплатформенный ассемблер. Его знание освобождает от необходимости изучения ассемблерных команд для каждого нового семейства микроконтроллеров. JTAG-отладка, в свою очередь, обеспечивает не только возможность внутрисхемного поиска ошибок, но и помогает изучать микроконтроллер изнутри. Я думаю, что для всех очевиден тот факт, что при просто программировании без отладки даже простых микроконтроллеров мы подходим к изучению системы, как к черному ящику с входами и выходами. Такой подход, особенно на начальном этапе, затрудняет обучение. C другой стороны JTAG-отлдака позволяет забраться во внутрь, посмотреть как выполняется программа по шагам, посмотреть, что происходит в памяти и регистрах, запустить волнение до точек останова, выполнять дизассемблированный вариант программы. Эта возможность позволяет значительно ускорить обучение.
Читать дальше →
Всего голосов 36: ↑34 и ↓2 +32
Просмотры 50K
Комментарии 30

Программирование и JTAG-отладка микроконтроллера Atmega16 на языке C в среде IAR, часть 2

Программирование микроконтроллеров *DIY или Сделай сам
Tutorial


Введение


Т.к. предыдущая статья вызвала интерес, то, как я и обещал, в этой статье будут рассмотрены примеры работы с семисегментными индикаторами, встроенным АЦП, а также произведена сборка программного проекта цифрового термометра на ATmega16 из нескольких рассмотренных в данной и предыдущей статье примеров работы с внутренними периферийными блоками микроконтроллера ATmega16.
Читать дальше →
Всего голосов 19: ↑17 и ↓2 +15
Просмотры 17K
Комментарии 27

Разработка и отладка UEFI-драйверов на Intel Galileo, часть 2: готовим плацдарм

Разработка веб-сайтов *Системное программирование *UEFI *
Tutorial

Здравствуйте, уважаемые хабровчане.
Опрос в первой части показал, что тема разработки UEFI-драйверов достаточно интересна сообществу, поэтому я приступаю к написанию дальнейших частей этого цикла. В этой речь пойдет о подготовке платы Intel Galileo к работе, необходимом и желательном железе и ПО, сборке и установке BSP. В результате получится недорогая аппаратная платформа, пригодная для аппаратной отладки UEFI-драйверов и доступная любому энтузиасту.
Поехали!
Всего голосов 30: ↑29 и ↓1 +28
Просмотры 12K
Комментарии 22

Разбираем протокол 2-wire JTAG

Отладка *


2-wire JTAG (он же двухпроводной JTAG, он же CompactJTAG, он же cJTAG) – это новомодный интерфейс, являющийся частью стандарта IEEE 1149.7-2009. Он обеспечивает ту же и даже большую функциональность, что и обычный JTAG (IEEE 1149.1), но использует всего два сигнала вместо четырех.

К сожалению, ни в русскоязычном, ни в англоязычном сегментах Интернета нет никакой информации об этом стандарте, кроме нескольких статей, написанных маркетологами. Тем не менее некоторое время назад мне по долгу службы пришлось с этим стандартом разобраться, и теперь у вас есть уникальный шанс ознакомится с результатами моих изысканий.
Отрезать ненужные выводы
Всего голосов 50: ↑50 и ↓0 +50
Просмотры 29K
Комментарии 4

Разработка и отладка UEFI-драйверов на Intel Galileo, часть 3: начинаем аппаратную отладку

Системное программирование *Отладка *UEFI *
Tutorial

Здравствуйте, уважаемые читатели Хабра.
После небольшого перерыва я продолжаю публикацию моих заметок (первая, вторая) о разработке и отладке компонентов UEFI на открытой аппаратной платформе Intel Galileo. В третьей части речь пойдет от подключении JTAG-отладчика на базе FT2232H к Galileo и о настройке отладочного окружения для нее.
Добро пожаловать
Всего голосов 18: ↑18 и ↓0 +18
Просмотры 10K
Комментарии 5

OpenOCD, ThreadX и ваш процессор

Open source *Программирование *Assembler *Отладка *Реверс-инжиниринг *
Данная заметка может оказаться полезной для людей, который пишут bare-metal код и используют ThreadX в своих задачах (по собственному выбору или по навязыванию SDK). Проблема в том, что что бы эффективно отлаживать код под ThreadX или другую многопоточную операционную систему нужно иметь возможность видеть эти самые потоки, иметь возможность посмотреть стек-трейс, состояние регистров для каждого потока.

OpenOCD (Open On Chip Debugger) заявляет поддержку ThreadX, но не сильно явно оговаривает её широту. А штатно, на момент написания статьи, в версии 0.8.0, это всего два ядра: Cortex M3 и Cortex R4. Мне же, волею судеб, пришлось работать с чипом Cypress FX3 который построен на базе ядра ARM926E-JS.

Под катом рассмотрим что нужно сделать, что бы добавить поддержку вашей версии ThreadX для вашего CPU. Акцент делается на ARM, но, чисто теоретически, вполне может подойти и для других процессоров. Кроме того, рассматривается случай, когда доступа к исходникам ThreadX нет и не предвидится.
Читать дальше →
Всего голосов 14: ↑13 и ↓1 +12
Просмотры 15K
Комментарии 7

Дебаггинг в реальном времени через JTAG/SWJ-DP для микроконтроллеров на ядре ARM Cortex-M

Отладка *Промышленное программирование *

С некоторых пор фирма Segger предлагает технологию Real Time Terminal (RTT) для своих JTAG адаптеров J-Link. Суть ее в том, что программа на микроконтроллере может выводить и принимать отладочную информацию из JTAG/SWJ-DP порта, как это обычно делается через UART. И тогда нам больше не нужен реальный отладочный UART. Далее чуть подробнее о возможностях этой технологии.
Читать дальше →
Всего голосов 25: ↑24 и ↓1 +23
Просмотры 33K
Комментарии 1

Записки разработчика Intel System Studio: отладка Linux-ядра Android с помощью Intel JTAG Debugger и MinnowBoard MAX

Блог компании Intel Разработка веб-сайтов *Разработка под Android *Отладка *
Перевод
Инструменты отладки нужны каждому разработчику. Однако, не существует универсальных решений, подходящих и тем, кто создаёт приложения пользовательского уровня, и тем, кто пишет низкоуровневые программы, вроде драйверов оборудования. Чем ближе к «железу» — тем больше хардкора в отладке и тестировании.

Из этого материала вы узнаете о том, как отлаживать код и анализировать исключения на уровне ядра Linux ОС Android в системах, основанных на архитектуре Intel. А именно, мы рассмотрим отладочный инструмент JTAG Debugger, который является частью пакета Intel System Studio Ultimate Edition. Мы расскажем о стандарте JTAG, о вышеупомянутом JTAG-отладчике Intel, об обработке исключений. В качестве примера мы будем использовать мини-компьютер MinnowBoard MAX с Intel Atom на борту.
Читать дальше →
Всего голосов 17: ↑17 и ↓0 +17
Просмотры 7.7K
Комментарии 13

OpenOCD, GDB и (сильно)удалённая отладка

Программирование *Отладка *Программирование микроконтроллеров *
Дано: есть устройство, с ARM926E-JS (Cypress FX3) на борту. Устройство находится на другом континенте. Устройство подключено (JTAG+USB+COM) к Linux компу. На комп есть SSH доступ (и больше ничего, только SSH порт).

Проблема: Устройство нужно отлаживать и писать под него код. И делать это, желательно, удобно.

Решение с использованием OpenOCD, GDB и Qt Creator, а так же описание пути к нему, под катом.
Читать дальше →
Всего голосов 17: ↑17 и ↓0 +17
Просмотры 23K
Комментарии 2

Как отлаживать Android ядро без UART, JTAG и прочих

Системное программирование *Разработка под Android *C *Разработка под Linux *
Довольно часто разработчики ядер под Android устройства сталкиваются с тем, что собранное из исходников ядро просто напросто не работает. И при этом часто разработчик, собравший ядро, не имеет никаких специальных средств для отладки. В данной ситуации без kmsg логов довольно трудно что либо сделать. Конечно же в Linux ядре уже имеется несколько способов копирования содержимого kmsg буфера в специальную область памяти, но если вам интересно узнать ещё об одном способе, то прошу под кат.
Читать дальше →
Всего голосов 19: ↑17 и ↓2 +15
Просмотры 10K
Комментарии 9

Как включить JTAG-отладку через USB

Блог компании Positive Technologies Информационная безопасность *
image

В конце декабря 2016 года мы опубликовали на Хабре материал по выступлению экспертов Positive Technologies на Chaos Communication Congress (33C3) в Гамбурге. Максим Горячий и Марк Ермолов рассказали о том, что современные процессоры Intel позволяют использовать отладочный интерфейс JTAG через доступный на многих платформах порт USB 3.0 для получения полного контроля над системой.

Начиная с процессоров семейства Skylake, запущенных в производство в 2015 году, компания Intel внедрила технологию Direct Connect Interface (DCI), которая предоставляет доступ к JTAG через популярный порт USB 3.0. При этом на целевом компьютере не требуется каких-либо программных или аппаратных агентов − необходимо лишь, чтобы интерфейс DCI был активирован. Таким образом возможность использовать возможности JTAG на оборудовании, доступном в широкой продаже, появилась у рядовых разработчиков
Всего голосов 18: ↑18 и ↓0 +18
Просмотры 9K
Комментарии 10

A minute of Black Magic

Блог компании Digital Security Информационная безопасность *Отладка *

Prev


В этой статье расскажем, как научиться отлаживать и полюбить маленькую черную плату Black Magic Probe V2.1. Но для начала немного о том, что это такое и зачем она нужна.

Плата Black Magic Probe Mini V2.1 (BMPM2) разработана 1BitSquared в сотрудничестве с Black Sphere Technologies, является адаптером JTAG и SWD, предназначена для программирования и отладки микроконтроллеров ARM Cortex-M и ARM Cortex-A. Можно добавить поддержку других процессоров. Описание процесса добавления можно найти по ссылке. Стоит также отметить, что любой процессор с поддержкой ADIv5 (ARM Debug Interface v5) будет определяться платой.

Читать дальше →
Всего голосов 17: ↑17 и ↓0 +17
Просмотры 11K
Комментарии 1

JTAG в каждый дом: полный доступ через USB

Блог компании Positive Technologies Информационная безопасность *
Исследователи Positive Technologies активировали аппаратную отладку (JTAG) для Intel Management Engine, которая позволяет получить полный доступ ко всем устройствам PCH (Platform Controller Hub), используя технологию Intel DCI (через интерфейс USB). Мы планируем поделиться подробностями на одной из ближайших конференций. А о том, как активировать этот интерфейс, но для основного процессора, расскажем ниже.

Читать дальше →
Всего голосов 57: ↑57 и ↓0 +57
Просмотры 32K
Комментарии 9

Сетевой JTAG программатор для Altera Quartus Prime из Raspberry Pi3

FPGA *

Выпущено программное обеспечение, которое позволяет сделать из Raspberry Pi3 сетевой JTAG программатор для САПР Altera Quartus Prime. Это решение позволяет удаленно загружать FPGA Altera/Intel и даже вести удаленную отладку с помощью инструмента SignalTap. Далее расскажу,
как использовать это ПО.
Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Просмотры 8.9K
Комментарии 7
1