是否有一种方法可以将设计参数从定制IP传递到软件

问题描述 投票:1回答:1

我有一个带有设计参数的自定义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,仅BASEADDRHIGHADDR显示在标题中。

所以,问题是,有没有办法公开我的自定义参数?

xilinx vivado
1个回答
0
投票

xparameters.h的内容由IP的软件驱动程序中的TCL脚本生成。如果尚未创建驱动程序,则默认情况下,您将获得将这些地址添加到xparameters.h的通用驱动程序。

您可以查看gpio驱动程序,以了解如何做所需的事情。它位于data/embeddedsw/XilinxProcessorIPLib/drivers/gpio_v4_4下的SDK安装目录中,而TCL脚本位于data/gpio.tcl下。在该脚本中,有一个生成函数在生成BSP时运行,您可以在其中添加代码以执行所需的任何操作,包括将文本输出到xparameters.h。 define_include_file行是输出所有这些GPIO内核参数的行。

您可以使用gpio或其他之一作为创建自己的驱动程序的参考。完成后,将其添加到SDK中的存储库列表中,然后修改BSP配置以将该驱动程序用于IP实例。 (或者,如果您创建新的BSP,它可能会自动选择它。)

© www.soinside.com 2019 - 2024. All rights reserved.