ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
22 декабря
1017513
Evgeny_CDАрхитектор (11.07.2020 19:12, просмотров: 7248)
[PCIe <-> PCI, Ubuntu Studio и "мелкий ПК" как универсальная среда разработки синтетических и полусинтетических портов embedded систем] Сложилось! 

Синтетический порт - http://caxapa.ru/1017431/ Я много писал по теме, можно поискать, но evgeniy1294 все грамотно изложил.

Полусинтетический порт - драйвера низкого уровня в реальном мире, остальное виртуально. http://caxapa.ru/1017484/

Ubuntu Studio - кандидат на годную программную платформу

https://ubuntustudio.org/ubuntu-studio-installer

https://wiki.ubuntu.com/FocalFossa/ReleaseNotes/UbuntuStudio

https://help.ubuntu.com/community/UbuntuStudio/RealTimeKernel - Low-Latency Kernel Latency as low as 0.1 millisecond can and has been achieved using this kernel.

Kotlin - весьма интересная платформа для задачи

http://caxapa.ru/807031/

USB - это кака.

Ethernet - хорошо, гигабитный особенно. Надо проверить, какая ланетность Ethernet RAW в user space.

PCI - вообще было бы идеально.

Он еще встречается на платах, даже новых, но он там 5V, и это плохо для 3.3V FPGA. Не все штатно имеют диод на 3V, рассчитанный под параметры PCI.

XIO2001IPNP инд., XIO2001PNP комм. ~$5 128-HTQFP (14x14)! XIO2001 PCI Express to PCI Bus Translation Bridge. Fully Compliant With PCI Express Base Specification, Revision 2.0. Full PCI Local Bus 66-MHz/32-Bit Throughput. Вложено.

Берем недорогую современную FPGA и делаем контроллер нужной степени крутизны. Недорогая 4-х слойка, которая фтыкается в PCIe разъем.

За счет kernel loadable module в Linux можно даже драйвер отладить, если повезет, без перезагрузки.

"Мелкий ПК" является именно инструментальным ПК, которым управляют с основного ПК. Возможно, сборку тоже на основном ведут.

Можно запустить Verilator и запустить модель периферии, которой пока еще нет, и тоже подцепить ее к программному синтетическому порту.

http://caxapa.ru/267297

http://caxapa.ru/981568

Собственно, дальше просто пишем код. Сложный код. В удобном огружении Linux (Valgrind и все такое)

Все приведенные мною средства разработки открытые. И вот в чем польза.

Даже в самом небольшом городе я могу поствить на столе LTE маршрутизатор, Linux машину и платочку, на которых код будет писать и отлаживать человек "с другого конца Земли". Просто пото, что он умеет писать нужный мне код. Хорошо, еще очень сложную вещь забыл - GSM прозетка, перегружать при зависоне.


xio2001.pdf