Есть ли способ передать параметр дизайна с пользовательского IP на программное обеспечение - PullRequest
2 голосов
/ 30 января 2020

У меня есть собственный IP с некоторыми параметрами дизайна. Они доступны с IP-адреса, поэтому я могу настроить их при использовании IP-адреса в блочном дизайне.

Я хочу иметь возможность использовать эти параметры внутри кода моей прошивки.

Например, при использовании В простом GPIO есть несколько параметров, представленных в заголовке xparameters.h:

#define XPAR_GPIO_0_BASEADDR 0x41200000
#define XPAR_GPIO_0_HIGHADDR 0x4120FFFF
#define XPAR_GPIO_0_DEVICE_ID XPAR_GPIO_DEVICE_ID
#define XPAR_GPIO_0_INTERRUPT_PRESENT 0
#define XPAR_GPIO_0_IS_DUAL 0

Кроме базового адреса, наиболее интересным является параметр IS_DUAL, который устанавливается при создании экземпляра IP в структуре блока.

Для моего собственного IP-адреса в заголовке отображаются только BASEADDR и HIGHADDR.

Итак, вопрос в том, есть ли способ выставить и мои пользовательские параметры?

1 Ответ

2 голосов
/ 05 февраля 2020

Содержимое xparameters.h генерируется сценариями TCL в драйверах программного обеспечения для IP. Если вы не создали драйвер, по умолчанию вы получите драйвер generi c, который просто добавляет эти адреса в xparameters.h.

Вы можете посмотреть на драйвер gpio, чтобы понять, как делать то, что вы хотите. Он находится в каталоге установки SDK под data/embeddedsw/XilinxProcessorIPLib/drivers/gpio_v4_4, а сценарий TCL там - data/gpio.tcl. В этом сценарии есть функция генерирования, которая запускается при генерации BSP, и вы можете добавить туда код, чтобы делать все, что вам нужно, включая вывод текста в xparameters.h. В строке define_include_file выводятся все эти параметры для ядер GPIO.

Вы можете использовать gpio или один из других в качестве справочного материала для создания своего собственного драйвера. После этого добавьте его в список репозиториев в SDK, а затем измените конфигурацию BSP, чтобы использовать этот драйвер для экземпляров IP. (Или он может выбрать его автоматически, если вы создадите новый BSP.)

...