打印

FPGA+DSP SRIO通信(二)——DSP端参数设置(DEVICEID)

[复制链接]
963|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
对于DEVICEID的设置:
1、DEVICEID声明和调用
/**********************************************************************
************************* Extern Definitions *************************
**********************************************************************/


    extern const uint32_t DEVICE_ID1_16BIT;
    extern const uint32_t DEVICE_ID1_8BIT;
    extern const uint32_t DEVICE_ID2_16BIT;
    extern const uint32_t DEVICE_ID2_8BIT;
    extern const uint32_t DEVICE_ID3_16BIT;
    extern const uint32_t DEVICE_ID3_8BIT_ID;
    extern const uint32_t DEVICE_ID4_16BIT;
    extern const uint32_t DEVICE_ID4_8BIT_ID;

extern关键词声明的外部定义的变量,即如果同一个工程下有两个.c文件,A.c和B.c,在A中用extern关键字声明一个变量VAL,又在B中声明一个变量VAL,那么A中的变量VAL值来自于B中VAL值。


调试DSP端的SRIO时,你的工程下肯定会包含一个SRIO配置程序,如device_srio_loopback.c,还有一个主程序,如main.c。我的工程界面截图如下:

由于DEVICEID在device_srio_loopback.c中已经声明为外部变量,在main中使用时还需要在main.c中声明。

2、对DEVICEID的设置
在device_srio_loopback.c中可以看到以下语句,该语句设置的是你所使用到底是哪一个DEVICEID,原因是你上面声明了那么多DEVICEID,谁知道你用的是哪个。

/* Set the Host Device Identifier. */
CSL_SRIO_SetHostDeviceID (hSrio, DEVICE_ID1_16BIT);
1
2
同样,还需要对设备的8bit deviceID和16bit 的deviceID进行设置,所以就有了以下语句。

/* Set the 16 bit and 8 bit identifier for the SRIO Device. */
CSL_SRIO_SetDeviceIDCSR (hSrio, DEVICE_ID1_8BIT, DEVICE_ID1_16BIT);
当然还会看到以下有关deviceID的语句,但该语句的作用类似于设置生产日期什么的,与具体功能没什么关系。默认就好。

/* Set the Device Information */
CSL_SRIO_SetDeviceInfo (hSrio, DEVICE_ID1_16BIT, DEVICE_VENDOR_ID, DEVICE_REVISION);

/* Set the Assembly Information */
CSL_SRIO_SetAssemblyInfo(hSrio, DEVICE_ASSEMBLY_ID, DEVICE_ASSEMBLY_VENDOR_ID,
                         DEVICE_ASSEMBLY_REVISION, DEVICE_ASSEMBLY_INFO);

其余device_srio_loopback.c中对于DEVICEID的函数默认即可,无需修改。

参考文献

http://www.ti.com/cn/litv/pdf/sprugw1b







使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:欢迎进入【TI DSP 论坛】 & 【DSP 技术】           TI忠诚粉丝!

935

主题

26376

帖子

588

粉丝