Cypress技术论坛
直播中

哈哈哈

11年用户 963经验值
擅长:可编程逻辑 电源/新能源
私信 关注

DLP3010EVM通过CY7C65215进行控制,在Ubuntu14.04和petalinux下编译好cyusbserial SDK生成so库文件调用API会出错的原因?

我使用的ti DLP3010EVM模块是通过CY7C65215 芯片进行控制的,我可以在win环境下正常使用TI DLP的调试软件或者使用cyusbserial SDK的vs程序完成对设备的控制和访问,但是在Ubuntu14.04和petalinux下编译好cyusbserial SDK生成so库文件,调用API会出错。
我一开始编译cyusbserial SDK使用了libusb版本是1.0.23,后来改成SDK里的1.0.9但是还是一样的结果。我执行cyusbserial SDK的测试程序也无响应

这里我插入了TI DLP模块,可以看到有Cypress的USB,但是SDK里的测试程序还有我自己编写的代码都无结果,和没有插入USB-i2c设备一样。我上Zynq开发板 petalinux跑也是一样的结果

是我编译so库出问题了吗?我x86 linux下生成so文件是在SDK的makefile路径下直接make的;arm-linux编译so文件我修改了makefile,如下

————————————————————————
我现在可以正常运行CyUSBSerialTestUtility了,但是我使用来自TI的cypress 程序,使用到了CySetGpioValue  函数进行操作,这个函数会返回CY_ERROR_REQUEST_FAILED ,API手册注释到on error when request is failed by USB Serial device 但没给解决方法。
#define REQUEST_I2C_ACCESS_GPIO    5
#define I2C_ACCESS_GRANTED_GPIO    6
#define START_I2C_TRANSACTION_GPIO 9
#define I2C_CLOCK_FREQUENCY_HZ     100000
#define DLP_I2C_SLAVE_ADDRESS      (0X36 >> 1)
#define I2C_TIMEOUT_MILLISECONDS   500
bool CYPRESS_I2C_GetCyGpio(uint8_t GpioNum, uint8_t* Value)
{
    return CyGetGpioValue(s_Handle, GpioNum, Value) == CY_SUCCESS;
}


bool CPRESS_I2C_SetCyGpio(uint8_t GpioNum, uint8_t Value)
{
    return CySetGpioValue(s_Handle, GpioNum, Value) == CY_SUCCESS;
}
bool CYPRESS_I2C_RequestI2CBusAccess()
{
    uint8_t Value     = 0;
    time_t  StartTime = time(NULL);
    if (!CYPRESS_I2C_SetCyGpio(REQUEST_I2C_ACCESS_GPIO, 1)){
     printf("Request I2C Start Error n");
     return false;
    }
    while ((time(NULL) - StartTime) < I2C_TIMEOUT_MILLISECONDS){
        if (!CYPRESS_I2C_GetCyGpio(I2C_ACCESS_GRANTED_GPIO,  Value)){
            break;
        }


        if (Value == 1){
            if (!CYPRESS_I2C_SetCyGpio(START_I2C_TRANSACTION_GPIO, 1)){
                break;
            }
            CyI2cReset(s_Handle, false);
            CyI2cReset(s_Handle, true);
            return true;
        }
    }
printf("Request I2C End Error n");
return false;
}

                                                                                                                                                                                                                                                                                                  

回帖(1)

鄢蓉

2024-2-28 13:59:30
2.0和3.0的口换一下
举报

更多回帖

发帖
×
20
完善资料,
赚取积分