打印

fx3 sdk v 1.1.1

[复制链接]
7619|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jiadecun|  楼主 | 2012-8-16 17:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有人用 cypress的sdk工具吗版本是1.1.1 我有一个项目usb3.0的在sdk v1.1上开发生成的img文件完美运行,但是相同的代码到sdk v1.1.1上运行生成的img文件,在burst读的时候数据量超过0x300的时候就会出错,有人遇到同样的问题吗,版本升级后程序无法工作
沙发
acer4736| | 2012-8-16 23:57 | 只看该作者
遇到过,不知怎么解决

使用特权

评论回复
板凳
jinpaidianzi| | 2012-8-17 00:12 | 只看该作者
同求解

使用特权

评论回复
地板
teabottle| | 2012-8-17 00:25 | 只看该作者
这个改起来很麻烦的,不是一两句能说得清楚

使用特权

评论回复
5
wangjinlili| | 2012-8-17 00:37 | 只看该作者
得先把更改的环境与之前的却别搞明白才能修改

使用特权

评论回复
6
jiadecun|  楼主 | 2012-8-17 10:40 | 只看该作者
teabottle 你好 能具体说说吗

使用特权

评论回复
7
jiadecun|  楼主 | 2012-8-17 10:40 | 只看该作者
wangjinlili 你好 能具体说说吗

使用特权

评论回复
8
jiadecun|  楼主 | 2012-8-17 14:17 | 只看该作者
版本升级的时候cypress的库发生了变化导致了这个问题,一点小发现贴出来,在安装目录下:D:\Cypress\EZ-USB FX3 SDK\1.1.1\firmware\u3p_firmware\lib\fx3_release这个路径下面有两个文件cyfxapi.a和cyu3threadx.a。cyu3threadx.a这个文件时实时操作系统RTOS,cyfxapi.a这个是cypress的库,里面放的应该是我们用的库函数。只要把这个库(cyfxapi.a)换回1.1版本的,再编译生成的img文件就可以正常运行了。但是这里面变了什么,怎么会导致我们升级了版本后不能运行我就不知道了

使用特权

评论回复
9
Go_PSoC| | 2012-8-17 14:53 | 只看该作者
建议楼主在cypress网站上建一个case

使用特权

评论回复
10
jiadecun|  楼主 | 2012-8-17 15:05 | 只看该作者
4# teabottle 你好 能具体说说吗

使用特权

评论回复
11
jiadecun|  楼主 | 2012-8-17 15:07 | 只看该作者
9# Go_PSoC 那要等多久才能有回复啊,我急着用,要是解决不了 就只能用1.1的版本了

使用特权

评论回复
12
Go_PSoC| | 2012-8-17 15:40 | 只看该作者
11# jiadecun 一般是24小时内会有初步回复,多长时间内完全解决取决于问题的复杂程度

使用特权

评论回复
13
byeyear| | 2012-8-22 15:58 | 只看该作者
先用1.1将就着吧
1.1.1似乎还有别的问题
Cypress官方论坛上关于1.1.1的问题貌似也有若干
先不急着换

使用特权

评论回复
14
jiadecun|  楼主 | 2012-8-22 17:56 | 只看该作者
13# byeyear 现在已经出1.2了,和1.1.1同样的问题,就怕客户要求用最新版本的开发,因为客户也是做开发板的例子程序

使用特权

评论回复
15
jiadecun|  楼主 | 2012-8-24 10:28 | 只看该作者
问题解决了,贴出来大家共享,遇到同样的问题的朋友可以参考一下,问题的根源是时钟的问题,在main函数中 status = CyU3PDeviceInit (NULL);例子程序也是这样配置的,但是这样配置的时候如果使用 P->U的DMA时会影响P端口的DMA的buffer,外部控制器通过GPIF向FX3写数据超过一定量后会是DMA控制器出错,此时用CyU3PDmaChannelGetStatus来获取DMA状态会返回CY_U3P_DMA_ERROR。把适中的配置改成如下的样子问题可以解决:
CyU3PIoMatrixConfig_t io_cfg;
    CyU3PReturnStatus_t status = CY_U3P_SUCCESS;
    CyU3PSysClockConfig_t clkCfg = {
            CyTrue,
            2, 2, 2,
            CyFalse,
            CY_U3P_SYS_CLK
    };


    /* Initialize the device */
    status = CyU3PDeviceInit (&clkCfg);
    if (status != CY_U3P_SUCCESS)
    {
        goto handle_fatal_error;
    }

使用特权

评论回复
16
liangziusb| | 2012-8-28 08:46 | 只看该作者
好帖子。开发包已经升级到1.2了,大家可以下载新的开发包试一下。

使用特权

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

本版积分规则

个人签名:求出路

1

主题

67

帖子

2

粉丝