2012-04-09 3 views
0

Мой босс предоставил код для тестирования PCI Express на плате Altera. Код состоит из нескольких c-файлов кода, содержащих инструкции, такие как чтение Bios, установка некоторых регистров, запись в буферы и т. Д. В настоящее время моя работа - это увидеть функциональность кода, запустив его. Я новичок в FPGA, и я не могу понять, какие инструменты, компиляторы и т. Д. Я буду использовать для их компиляции для FPGA.Тестирование интерфейса PCI на FPGA

Поскольку это код C, поэтому я уверен, что не могу использовать ту же среду, что и Verilog/VHDL. Могу ли я получить некоторые подсказки относительно того, какие компиляторы доступны для компиляции кода C для тестирования различных интерфейсов FPGA?

Спасибо и привет

H

+1

Я не уверен, что если вы будете в состоянии получить хороший ответ на этот вопрос, но посещение [этой ссылки] (http://meta.stackexchange.com/questions/16721/how-does-accept-rate-work) может улучшить ваши шансы. – dasblinkenlight

+0

Я получил ответ! спасибо – gpuguy

ответ

0

Если плата FPGA подключена только через стандартный интерфейс PCIexpress, создать драйвер Linux просто невозможно, чтобы просто получить доступ к пару регистров. Это может быть даже легче сделать, чем заставить некоторые старые драйверы DOS работать.

Я сделал некоторую работу над этим в предпроектной к моей магистерской диссертации несколько лет назад - если вы заинтересованы, он доступен здесь: http://loejer.dk/files/FORK,%20pdf.zip

+0

Спасибо за информацию. Можете ли вы выслать мне некоторую информацию о создании драйвера Linux t o регистры доступа? – gpuguy

+0

Это в ссылке, которую я опубликовал. Посмотрите на журнал3 pdf. – sonicwave

+0

спасибо. Я понял. Вы сделали настоящую работу в своей диссертации :-). – gpuguy

0

Это звучит как намерение состоит в том, что вы подключите карту PCI-E к обычному компьютеру с помощью слота PCI-E, а затем запустить тестовую программу на хост-компьютере , поэтому он будет разговаривать с доской через PCI-E и использовать плату от хоста, собирать данные на хосте и т. д.

Такой код почти наверняка будет совершенно не переносным. Вероятно, вам нужно спросить, в какой системе это (или проверить код, чтобы найти подсказки - например, если он начинается с #include <windows.h>, это довольно справедливое указание, что это для Windows).

OS, на котором он написан, даст как минимум 80% (или около того) подсказки о том, какой компилятор использовать - если это для Windows, вероятность того, что он предназначен для компилятора Microsoft. Если это для Linux, есть еще лучший шанс, что это для gcc/g ++. Если это для MacOS, это, вероятно, для g ++, но если это действительно ново, может быть нацелено на Clang.

+0

Спасибо Джерри. На самом деле FPGA имеет сигнализацию SATA, но интерфейс для sata - PCI. поэтому, по моему мнению, после того, как вы стучите по почте, спасибо за то же самое, это код, который тестирует sata (чтение-запись на жесткий диск SATA) через pci, подключенный к хост-системе. Я могу видеть, что некоторые файлы, начиная с SATA, а также я могу видеть следующие hedare файлы #include \t \t #include \t \t #include \t \t #include \t \t #include \t \t #include \t \t #include \t \t "pcifunc.h" #include\t "memfunc.h" #include \t \t "iofunc.h" #include \t \t «irqfunc.h " – gpuguy

+0

Основываясь на заголовках, звучит так, что тестовая программа * вероятно * предназначена для работы под MS-DOS. Наиболее распространенными компиляторами, нацеленными на MS-DOS, были Borland и Microsoft. Был порт старой версии gcc к dOS-расширителю (djgcc), но я не помню, что у него есть '' (может быть, мое бедное воспоминание хотя). –

+0

Я не вижу конкретных функций окна в коде, поэтому я предполагаю, что это для Linux. – gpuguy

Смежные вопросы