Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.86/22: Рейтинг темы: голосов - 22, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 23.03.2012
Сообщений: 1,017

Реализация языка описания протоколов обмена

23.07.2017, 10:30. Показов 4858. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет парни.

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

Кто-нибудь занимался написанием интерпретатора языка? Я пока вообще не представляю, как это делать.

В качестве железа можно применить все, что угодно, например, FT2232H, модуль PinBoard, STM32, CY68013, да хоть параллельный порт.

То есть архитектура видится такой:
Для каждой микросхемы имеется описание на HPL.
Программа читает этот файл, разбирает его и на каждый шаг составляет карту бит, которая передается на аппаратный интерфейс или читается с интерфейса.

Пример реализации самого файла hpl можно посмотреть в демо-версии оболочки программатора.
http://www.cnc-lab.com/files/or5demo.rar
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.07.2017, 10:30
Ответы с готовыми решениями:

Восприятие языка описания аппаратуры
Всем привет. Вникаю в языки описания аппаратуры, в частности в verilog, и на одном вопросе вхожу в ступор. Для примера возьмем два кода: ...

Универсальное описание протоколов обмена для периферийных устройств (Serial port)
Приходилось реализовать протокол обмена с физическими устройствами через интерфейс Serial Port на нескольких языках в разное время. И это...

Реализация сетевых протоколов
Народ, помогите пожалуйста. Уже неделю мучаюсь. :wall: В общем, суть в следующем. Существует некий бинарный протокол,...

23
1 / 1 / 0
Регистрация: 19.09.2012
Сообщений: 924
24.07.2017, 12:47
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от omtomtubo
Есть еще вот такое
http://wavedrom.com/tutorial.html
Исходники доступны. Это как-то может помочь?
Ведь парсер языка есть, осталось только вместо рисования выдать наружу (это если сильно упрощая).
Какая прикольная вещь! Вместо рисования на выходе можно выдать наружу код, например, на С, который, будучи скомпилированным превращается в плагин для некоей программы-прошивалки. Как один из возможных вариантов.
0
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 2,514
24.07.2017, 14:45
всё-таки оно для рисования диаграмм,
а для описания программирования памяти имхо больше подходит тупо последовательность функций.
там в основном не отдельными ногами надо дрыгать, а байтовые команды полысать.
то есть оборачивать их ещё раз в строку где каждый символ что-то кодирует, вроде wave: "x.345x|=.x", data: ["head", "body", "tail", "data"] наглядности имхо не добавит и описание не упростит.

Ведь парсер языка есть, осталось только вместо рисования выдать наружу
готовых скриптовых языков полно, приделать к любому из них библиотеку для работы с конкретным программатором (для той же lua, привязать несколько функций из libftdi совсем не сложно, да и поди уже что-нибудь готовое есть) который будет дёргать ногами совсем не проблема.

или обязательно надо сделать что-то своё, со своим корявым синтаксисом?
0
0 / 0 / 0
Регистрация: 23.03.2012
Сообщений: 1,017
24.07.2017, 18:39
Цитата Сообщение от _pv
или обязательно надо сделать что-то своё, со своим корявым синтаксисом?
Лучше всего вообще ничего не делать.
0
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 2,514
24.07.2017, 19:30
изначально вопрос был про свой интерпетатор.
так вот берите готовое.
любой понравившийся скриптовый язык, и пишите описание программирования памяти на нём.
используя ряд простых функций вроде SpiTransferByte(), SetPin(), ClrPin().
реализовать их для работы с конкретым программатором - имхо самая простая часть, особенно если это ftdi.
а у какого-нибудь USB btoster протокол вообще тривиальный, даже гораздо проще MPSSE. да и китайские клоны по 2$.
С Lua могу помочь.

ну либо зайти с другой стороны, как vt340 посоветовал, разбирайтесь с tcl, и добавляйте недостающие микросхемы к openOCD, там с поддержкой железа уже всё сделано.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.07.2017, 19:30

Примеры по реализации голосового обмена на Java 2 с использованием протоколов TCP/IP или UDP
Подскажите, где можно найти примеры по реализации голосового обмена на Java 2 с использованием протоколов TCP/IP или UDP.

Учебник по C#: без описания работы компилятора, создания языка и биографии его авторов
В учебнике опускается описание работы компилятора, создание языка c# и биографии его авторов. 85 страниц. Пример учебника вы можете...

Реализация устройства на языке описания аппаратуры
Здравствуйте, по заданию мне необходимо реализовать на одном из языков описания аппаратуры устройство, которое вычисляет синус угла,...

Имеются следующие описания: Язык= (Паскаль, Ява, Бейсик, Фортран, Лисп). По русскому названию языка вывести английский
Имеются следующие описания: Язык= (Паскаль, Ява, Бейсик, Фортран, Лисп). По русскому названию языка вывести английский эквивалент ...

Выбор языка программирования для обмена информацией с другим копмьютером по интернету
Здравствуйте. Подскажите пожалуйста на каком языке программирования легче реализовать следующую вещь (меня интересует C++, java, c# -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов. Логика кажется понятной: 1. Находим ключевые слова. 2. Добавляем их на. . .
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302 Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
SUNO Ai - Река Без Дна
zorxor 31.07.2026
Автор стихотворения - астрофизик Марина Катыс Ссылка на сгенерированную музыкальную композицию: https:/ / suno. com/ song/ 6f6e5464-b290-4650-be6c-44c85f8d8013 Я говорю, что Время- как вода течет. . .
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла: Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет Салют, шампанское, овации! :drink:
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru