Перейти к содержанию
    

..мне в проекте понадобился обмен по UARTу с кассетой где кроме крупной ПЛИС не было ничего.

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

По этому написал свой "проц" - такой:

Было интересно посмотреть и на коды и на стиль программирования. Судя по избранному методу, ПЛИС действительно была большой, но в таких делах главное результат.

Комментарий "// Company : nasa", как-то связан с известной NASA?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

К "своим процессорам" хорошо-бы подключать не только USB-клавы, но и другие USB-устройства. По HS затруднительно, но устройства можно переводить в FS режим (если поддерживается, конечно).

Проблема возникает только, если хочется снять лог обмена ПК с устройством в FS режиме - как запретить HS режим?

Пока что есть вариант с разрезанием шины, и пропусканием через ПЛИС, можно вырезать "чириканье" (уже опробовано).

Но может, есть какой вариант попроще?

Изменено пользователем Leka

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте, уважаемые коллеги!

 

У меня есть некоторые обновления - http://everest.l4os.ru/what_about_pipeline/

 

И да, если ничто не помешает, вскоре появится ещё одна подобная статья, в которой описан потактовый разбор более сложного кода.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот вот. Тем более не понимаю. Зачем создавать что-то сырое самопальное, когда есть готовые ОТЛАЖЕННЫЕ (т.е. вычищенные от багов и глююков) архитектуры, выпускаемые миллионными тиражами с хорошей программной поддержкой и наличием хорошего хэлпа и кучи документации?

Странно читать подобное в разделе ПЛИС. И для чего же тогда существуют DSP с "хитрыми инструкциями", если под процы где крайзис дает 200 fps документация лучше? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

За 10 с лишним лет с момента основания темы, хоть у кого-нибудь из авторов десятка описанных тут "своих процессоров" получилось дальше ассемблера добраться, до портирования хотя бы TCC (С99) какого-нибудь, не говоря уж об бэкенде для llvm?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, _pv said:

олучилось дальше ассемблера добраться

Вроде писал уже, устроили соревнование моего софт-процессора (Циклон-4, 200ЛЕ, 150 МГц) с stm32 (72МГц) - примерно одинаковое время показали на программе N-ферзей (написана на Си). 

В домашней автоматике этот софт-процессор уже несколько лет работает, программа написана на Си. Компилятор на базе LCC. Крупный минус - поддерживается только часть языка, и нельзя использовать библиотеки. Зато никакого ассемблера.

 

Где-то тут выкладывал ссылки на исходники, "m16", д/б на Марсоходе (вспомнил, чтобы выложенный пример работал, надо LCC устанавливать, или какую-то библиотеку  взять оттуда).

Изменено пользователем Leka

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, Leka said:

Компилятор на базе LCC. Крупный минус - поддерживается только часть языка, и нельзя использовать библиотеки. Зато никакого ассемблера.

ну урезанное подмножество С можно, наверное, и проще чем в lcc сделать, допилив примитивный https://github.com/rswier/c4 как, например, тут https://github.com/jserv/amacc

 

но вот тем же TCC теоретически даже ядро линукс собирается, т.е. есть куда дальше стремиться с прикручиванием MMU, последующим портированием линукса и  захватом мирового господства, не привлекая внимания санитаров...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

13 hours ago, Leka said:

Для полной поддержки Си пришлось бы стандартную библиотеку на ассемблере писать

почему на ассемблере?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

30 minutes ago, _pv said:

почему на ассемблере?

Не видел другого варианта, может плохо искал. Еще вспомнил, что компиляторы из Си могут использовать стековое представление промежуточного кода, мне это не подходило.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 hours ago, _pv said:

почему на ассемблере?

Некоторые вещи можно сделать только на ассемблере (например, всякие манипуляции со стеком). Другие можно и на ЯВУ, но нередко намного эффективнее будет делать на ассемблере (скажем, если умножение-деление и операции с плавающей запятой надо реализовывать программно за отсутствием у проца соответствующих команд)...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...