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

Было желание добавить к нему GDB, но руки так и не дошли.

Собственно у меня была создана своя экосистема с AVR CPU, Ethernet MAC, Ethernet Switch, DDR контроллером, своим стеком для Ethernet/RS485 с встроенным отладчиком/дампом памяти, обновлением прошивки и еще кучей разной периферии. Отладка велась через дампы памяти и запись/чтение любой ячейки памяти доступной процессору по специальному протоколу. Также был сделан универсальный клиент/тестовое ПО и набор библиотек для ПК. Этакий набор кубиков позволяющий построить нужную мне систему не тратя впустую кучу ресурсов. Причем сразу с отладкой и обновлением прошивки.

Почти 10 лет они служили мне верой и правдой в моих проектах, но с переходом на новую работу все мои наработки оказались никому не нужны...

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

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


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

9 часов назад, BSACPLD сказал:

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

Превратите все это в статьи и - к нам в КиТ. Опишите не исходники а методу, технологию построения проектов. И пригласите читателей к сотрудничеству. Вполне возможно, что кто-то из студентов, аспирантов этим заинтересуется и под Вашим руководством доделают то, что нужно.

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


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

А исходники - в виде репозитария/группы репозитариев на github.

Если кто-нибудь захочет вам помочь с описанием и приведением в нужный вид - будете принимать коммиты.

А если желающих не будет - вы ничего не теряете.

PS. Это, конечно, если нет идеи монетизировать свои наработки.

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


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

2 hours ago, dvlwork said:

А исходники - в виде репозитария/группы репозитариев на github.

Если кто-нибудь захочет вам помочь с описанием и приведением в нужный вид - будете принимать коммиты.

+1

Эдакий краудсорсинг, один в поле не воин это точно.

 

 

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


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

Выкладываю обновленную версию.

https://yadi.sk/d/ONruHxgmMKzFJg

 

Добавлены команды JMP и CALL.

Произведен рефакторинг кода.

 

Характеристики процессора:

- Язык описания SystemVerilog 2005.

- Совместимость по системе команд с микроконтроллерами семейства AVR.

- Максимальная тактовая частота 45 МГц (кристалл EP4CE22E22I7).

- Максимальный объем ПЗУ команд 64KБ.

- Максимальный объем ОЗУ 64KБ.

- Стек вынесен в отдельную память.

- Регистры РОН и РВВ не отображаются на область ОЗУ.

- Программируемые адреса прерываний (до 15 штук).

- Уменьшенное время выполнения многотактовых команд (см. файл "система команд (синхронная память).html" и "система команд (асинхронная память).html").

- Возможность работы с внешней памятью, как в синхронном (за 2 такта), так и в псевдоасинхронном (за 1 такт) режиме.

- Малая занимаемая площадь на кристалле (ядро ~2100 LE).

- GPIO интерфейс.

- Master SPI и Master/Slave SPI с двойной буферизацией на прием и передачу.

- UART с аппаратным управлением полудуплексным приемопередатчиком.

- Таймер разрядностью 32 бита.

- WDT с прерыванием.

- Возможность добавления пользовательской периферии (см. файл avr_cpu.sv).

- Кроссплатформенная реализация. Проект тестировался на ПЛИС Altera/Intel (Quartus), Xilinx (Vivado) и GOWIN (Synplify).

- Отдельная параллельная шина для динамической смены прошивки в уже запущенной системе.

- Поддержка C/C++ (IAR), ассемблер (IAR, AvrAssembler).

 

Параметры:

INIT_PROGRAM = "", - путь к файлу инициализации прошивки. *.mif для Altera/Intel, *.ver для остальных производителей.

PROGRAM_MEMORY = 8192, - размер памяти программ в байтах

STACK_MEMORY = 512, - размер стека в байтах

RAM_MODE = "SYNC", - режим работы с ОЗУ, "SYNC" – синхронный, "ASYNC" – псевдоасинхронный.

FPGA_VENDOR = "", - наименование производителя FPGA, например, "INTEL". Используется для выбора типа блочной памяти. Примитивы Altera/Intel, либо на чистом HDL.

DEVICE_FAMILY = "", - семейство микросхем FPGA.

SIM_INIT = "FALSE" – инициализация переменных начальными значениями, "TRUE" – инициализация 0, "FALSE" – инициализация X

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


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

Только сейчас дошли руки выложить :(

Обновленная версия.

https://yadi.sk/d/ghSD883uiIS5cw

Для Xilinx сделан вариант с использованием xpm макросов.

Теперь содержимое памяти можно обновлять через tcl скрипт.

Примечание:

В Vivado 2018.3 updatemem не умеет обновлять память больше 32768 бит.

В 2019.2 эта проблема уже исправлена.

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


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

On 12/6/2019 at 1:17 PM, BSACPLD said:

Только сейчас дошли руки выложить :(

soft-AVR_v18_beta.7z

по каким критериям бета?

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


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

12 hours ago, Doka said:

soft-AVR_v18_beta.7z

по каким критериям бета?

Я использую в своих проектах. Ошибок не обнаружено.

stable поставлю если наберется статистика успешного использования другими разработчиками

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


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

Или хотя бы на опенкоресах. А то тяжко искать где-то по файлам и постам форума актуальную/неактуальную версию

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


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

Разместил ссылку в ветке "Ссылки на готовые описания модулей на форуме"

 

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


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

On 8/24/2019 at 2:09 AM, BSACPLD said:

Почти 10 лет они служили мне верой и правдой в моих проектах, но с переходом на новую работу все мои наработки оказались никому не нужны...

Есть кто живой? Помогите подредактировать!   :)

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


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

22 hours ago, Sverlo1 said:

Есть кто живой? Помогите подредактировать!   :)

А что нужно подредактировать?

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


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

Приветствую!

Есть такое: https://marsohod.org/howtobuy/boards/brd-m02mini

FPGA MAX10 10M02

Прописать туда AVR любой, какой влезет.

Нужно только ядро, из периферии порты и таймер T0 (8бит).

И, если получится, USART. Желательно, но не обязательно.

 

?

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

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


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

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

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

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

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

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

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

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

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

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