完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好,
大约10年前,我们首先开发了公司的硬件来利用FX USB微控制器。当时,我们使用可用的EZUBSIS开发驱动程序来开发我们所有的软件来控制微控制器……从那时起,我们所有的FX软件/固件都已经工作了。乖乖。在过去的几年中,我们已经成功地将我们的硬件升级到新的FX1和FX2LP(使用CysB.SIS驱动程序并利用CyAPI.LIB库),以期逐步淘汰旧FX芯片硬件/软件。新硬件。然而,我们的许多老客户仍然使用旧的FX硬件/软件(使用旧的EZUS.SIS驱动程序)……最近我们从Wi7和64位OS等问题中得到了这些老客户的许多抱怨,因此,我们正处于尝试的过程中。为了解决这些问题,我们在研究中发现,新的CysB.SIS驱动程序实际上可以用来控制原始FX芯片(而不是EZUSB系统驱动程序),以及FX1/FX2LP……因此,我们现在正在转换所有的OLDE。R FX软件使用CysB.SIS驱动程序和CyAPI.LIB库(使用所有新的函数调用/API)。当然,我们假设FX硬件保持不变,旧的FX固件仍然在旧的芯片上工作(甚至使用新的驱动程序)…并且不需要改变,因为所有的寄存器地址,I/O端口,I2C例程等都是相同的,但是,对于一些奇怪的RE。ASON,我们现在有相同的旧固件在同一个旧的FX芯片上,现在使用CysB.SIS驱动程序。我们确信这不是我们的特定软件例程加载实际固件文件与CyPress实用软件(即,CyStor或CySube)的问题,因为我们甚至CR。从HEX文件中定义的CPUC寄存器地址为旧的FX芯片的0x7F92(而不是FX1/FX2LP的0xE600),以及定义老FX芯片的最大内部地址为0x1B3F(而不是FX1/FX2LP的0x4000)……如CyPress文献中所规定的。然而,脚本文件甚至不使用CyStor或CySube来工作。(注意:我们还添加了相同的地址更改,用于加载HEX文件的软件例程)。我们注意到,一旦加载到内部代码存储器的代码超过1024字节,它就无法工作(传输失败,I2C读写失败,I/O端口失败等)。因为我们开始从固件中移除代码的某些部分来创建固件的不同测试版本,这些固件只使用1个或2个端点/管道,而不是我们原来固件代码中使用的所有固件……而较小版本的固件在加载时工作良好(即端点TRAIL)。NSFER工作,没有错误,I2C读/写工作,I/O端口工作等),但是当我们慢慢地把所有的代码组合回原件时,所有的传输等都失败了。起初我们不确定发生了什么,但是我们注意到一个模式,当加载到芯片上的代码的大小超过1024 B时。固件停止工作。事实上,为了测试这一点,我们甚至将序号NOP调用添加到代码的初始化部分,在那里它们不会干扰所有功能,直到我们生成了一个脚本文件,该文件加载了1023个字节的代码,并且还编写了一个脚本F。加载了1024字节代码的ILE,这些代码不起作用。任何低于1024字节的作品,而超过1024字节的任何东西都不……在我们自己的软件中,CySalk软件或CySudio软件。它们的行为都是相同的。但是我们不知道为什么会这样,因为即使在较旧的FX芯片上,代码大小的限制也是697。6(0x1b40)字节,仍然远远大于1024(0x400)字节。所以根本不应该像这样的问题。(注:我们原来的固件为旧FX芯片只加载总共1428字节来编码内存…远小于限制……它的所有加载顺序开始在地址200美元,如显示在CyTalm / CyMead输出窗口…我们只使用批量传输)是否有人提供关于这个问题的想法和帮助,或者请解释一下……所以我们可以解决这个问题?曼努埃尔? 以上来自于百度翻译 以下为原文 Hello, Approximately 10 years ago, we first developed our company hardware to utilize the FX USB microcontroller. At that time, we used the available EzUSB.sys developmental driver to develop all of our software to control the microcontroller… and since then all of our FX software/firmware has worked properly. In the past few years we’ve successfully upgraded/migrated our hardware to the newer FX1 & FX2LP (using the CyUSB.sys driver and utilizing the CyAPI.lib library), in hopes of phasing out the old FX chip hardware/software. Again, all of the new FX1/FX2LP firmware developed works fine with this new hardware. However, many of our older customers still have/use the older FX hardware/software (which uses the old EzUSB.sys driver)… and recently we’ve been getting many complaints from these older customers about performance due to Win7 and 64 bit OS issues, etc. Therefore, we are in the process of trying to resolve these problems for our older customers. So in doing research, we found out that the newer CyUSB.sys driver can actually be used to control the original FX chip (instead of the EzUSB.sys driver), as well as the FX1/Fx2LP… therefore we are now in the process of converting all of our older FX software to use the CyUSB.sys driver and CyAPI.lib library instead (using all the new function calls/API’s/etc). Naturally we assumed that since the FX hardware remained the same, that the old FX firmware would still work on the older chip (even using the new driver)… and would not need to be changed, since all the register addresses, i/o ports, i2C routines, etc remained the same. However, for some weird reason we are having issues now with the same old firmware on the same old FX chip now using the CyUSB.sys driver. We are certain it’s not an issue with our particular software routines loading the actual firmware files versus Cypress utility software (ie., CyConsole or CyControl) because we even create script files from the hex file defining the CPUCS register address as 0x7F92 for the old FX chip (instead of 0xE600 for the FX1/FX2LP), as well as defining the Maximum Internal Address of the old FX chip as 0x1B3F (instead of 0x4000 for the FX1/FX2LP)… as specified in the Cypress literature for converting to the new driver. Yet, the script files don’t even work using CyConsole or CyControl. (NOTE: we also added these same address changes to our software routines for loading the hex files) The strange thing we noticed is that once code loaded to internal code memory surpasses exactly 1024 bytes, it fails to work (transfers fail, I2C read/write fails, I/O ports fail, etc). We know this because we started removing certain parts of code from the firmware to create different test versions of firmware that only use 1 or 2 endpoints/pipes instead of all the ones used in our original firmware code… and the smaller versions of firmware work fine when loaded (i.e., the endpoint transfers work and no errors, i2C read/write works, i/o ports work, etc). But when we slowly combine all of the code back to the original, all transfers, etc fail. At first we weren’t sure what was going on, but then we noticed a pattern that as the size of the code loaded to the chip surpassed 1024 bytes the firmware ceased to work. In fact, to test this we even kept adding sequential NOP calls to the initialization part of the code where they would not interfere at all with functionality until we came up with a script file that loaded exactly 1023 bytes of code which worked and also a script file that loaded 1024 bytes of code which did not work. Anything below 1024 byes loaded works, while anything above 1024 bytes does not… in our own software, the CyConsole software, or CyControl software. They all behave identically regarding this. But we have no idea why this would be the case, since even on the older FX chip the code size limit is 6976 (0x1B40) bytes which is still much greater than 1024 (0x400) bytes. So there should not even be a problem like this. (NOTE: our original firmware for the old FX chip only loads a total of 1428 bytes to code memory… much smaller than the limit… and its all loaded sequentially starting at address $200, as displayed in the CyConsole/CyControl output windows.. and we only use BULK transfer) Can anyone offer any ideas or assistance on this matter and/or please explain this… so that we may resolve this problem?? Manuel |
|
相关推荐
5个回答
|
|
……也忘了提到我们的FX1/FX2LP的HEX文件是9619字节的大小,并且总是使用我们的软件和/或CySale/CyCube的相同负载例程在新硬件上完全加载。不管大小。
…虽然我们的固件旧的FX硬件只有4138字节…但不能根据我们的软件和/或CySale/CyMalk(根据CuCUs地址重置和最大内部地址值添加的CHAKE)加载相同的加载例程,这取决于大小。 以上来自于百度翻译 以下为原文 ... Also forgot to mention that our .HEX file for the FX1/FX2LP is 9619 bytes in size and always loads totally fine on the new hardware using the same load routines of our software and/or CyConsole/CyControl.. regardless of size. ... while our firmware for the older FX hardware is only 4138 bytes... but fails to load using the same load routines of our software and/or CyConsole/CyControl (with the added chages for CPUCS address RESET and maximum internal address value) DEPENDING on size. |
|
|
|
你好,
请在www. CyPress网站上创建一个技术支持案例。我们的一位工程师将研究这个问题并帮助你解决问题。 当做, 加亚特里 以上来自于百度翻译 以下为原文 Hi, Please create a tech support case at www.cypress.com -> Support -> Tech support. One of our engineers will take a look at the issue and will help you out. Regards, Gayathri |
|
|
|
你好,
事实上,我最终为这个问题打开了一个案例(案例1887119173)。但仍希望看到其他人也遇到类似的问题。 谢谢, 曼努埃尔 以上来自于百度翻译 以下为原文 Hello, I actually did end up opening a case for this problem (Case # 1887119173)... but still wanted to see on here if someone else has run into this similar problem. Thanks, Manuel |
|
|
|
这个问题有解决的办法吗?我们有类似的情况,想知道我们是否可以从两个SaGGE驱动程序(EZLoule.sys,然后EZUSB?sys)移开,而使用CysB.sys和脚本代替一些旧设备。
谢谢。 以上来自于百度翻译 以下为原文 Is there a resolution to this issue? We have a similar situation and like to know if we can move away from the two satge driver (ezloader.sys then ezu***.sys) and use CyUSB.sys and script instead for some old devices. Thanks. |
|
|
|
你好,
是的,我们确实有解决的办法。使用CysB.SysFixMeWrad下载到FX时,在大于64字节的块中看到问题。我们有一个实用程序,生成脚本,以64字节的块进行固件下载。请创建一个技术支持的情况下,我们可以分享更多的细节。 当做, 加亚特里 以上来自于百度翻译 以下为原文 Hi, Yes we do have a resolution for this. Ffirmware download to FX using CyUSB.sys is seen to have issues when done in chunks greater than 64 bytes. We have a utility that generates scripts which does the firmware download in chunks of 64 bytes. Please create a tech support case where we can share you more details. Regards, Gayathri |
|
|
|
只有小组成员才能发言,加入小组>>
717个成员聚集在这个小组
加入小组1909 浏览 1 评论
1662 浏览 1 评论
3418 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1579 浏览 6 评论
1387 浏览 1 评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
205浏览 2评论
193浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
334浏览 2评论
361浏览 1评论
71浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-5-7 19:31 , Processed in 0.617300 second(s), Total 78, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号