- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi All,
I am writing firmware for the CX3 to interface a new sensor and am running into a confounding problem. My program behaves differently when I rearrange the order of functions in my C source code. This leads me to believe I have some memory corruption issues. I found the CyU3PMemCorruptionCheck() and CyU3PBufCorruptionCheck() functions in cyu3os.h and am trying to use them in my program. But when I do, the linker complains they are not defined. In what library are they defined?
Thanks,
Scott
Solved! Go to Solution.
- Labels:
-
USB Superspeed Peripherals
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Scott,
I have attached the built project folder for a default gpifToUsb firmware. Kindly check this for your reference. Also if this does not seem to work, it would be helpful if you shared your firmware with us.
Best Regards,
AliAsgar
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Scott,
Can you confirm if you have included the file "cyfxtx.c" in your code path. This file has the definitions to the API functions, CyU3PMemCorruptionCheck() and CyU3PBufCorruptionCheck().
Best Regards,
AliAsgar
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Ali,
Thanks for your reply.
Yes, cyfxtx.c is part of the project, but it does not contain the missing corruption function definitions (e.g. CyU3PMemCorruptionCheck() and CyU3PBufCorruptionCheck()).
Thanks,
Scott
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Scott,
I have herewith attached the cyfxtx.c file from the latest SDK. It has the function definitions required.
Also I recommend to download the latest SDK(1.3.4) from this link , in case the older SDK is being used now.
Best Regards,
AliAsgar
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Ali,
So I've installed the updated SDK, but am still getting the same undefined linker errors. Further, when I right-click on CyU3PMemCorruptionCheck I am still referred to cyu3os.h.
I guess the key question is how to I change the compiler's configuration to use the newly installed SDK?
Thanks,
Scott
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Ali,
The screen shots were helpful. My project uses the ARM Windows Sourcery G++ Lite toolchain and the Cross ARM toolchain are not listed as compatible. I configured the project to use the Cross ARM toolchain. Now attempts to compile result in:
Cannot run program "make" (in directory "D:\Optel\proj_firmware\Multicam_buffers_f\Release"): CreateProcess error=2, The system cannot find the file specified
Error: Program "make" not found in PATH
PATH=[C:/Program Files (x86)/Cypress/EZ-USB FX3 SDK/1.3/Eclipse/jre/bin/client;C:/Program Files (x86)/Cypress/EZ-USB FX3 SDK/1.3/Eclipse/jre/bin;C:/Program Files (x86)/Cypress/EZ-USB FX3 SDK/1.3/Eclipse/jre/lib/i386;C:\Program Files\AdoptOpenJDK\jdk-11.0.8.10-hotspot\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\libnvvp;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\ProgramData\Oracle\Java\javapath;C:\system;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\dotnet;C:\Program Files\PuTTY\;C:\Program Files (x86)\IVI Foundation\IVI\bin;C:\Program Files\IVI Foundation\IVI\bin;C:\Program Files (x86)\IVI Foundation\VISA\WinNT\Bin\;C:\Program Files\IVI Foundation\VISA\Win64\Bin\;C:\Program Files (x86)\IVI Foundation\VISA\WinNT\Bin;C:\Program Files\dotnet\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\ARM GCC\bin;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files\Microsoft Windows Performance Toolkit\;C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\util\elf2img\;C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\ARM GCC\bin\;C:\Program Files\Git\cmd;C:\Program Files\NVIDIA Corporation\Nsight Compute 2019.5.0\;C:\Users\User\AppData\Local\Programs\Python\Python37\Scripts;c:\usr\local\bin;;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\util\elf2img\;C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\ARM GCC\bin\;C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\util\elf2img\;C:\Users\User\AppData\Local\Microsoft\WindowsApps;c:\qt\5.11.1\msvc2017_64\;C:\OpenCV\build\x64\vc15\bin;C:\Users\User\.dotnet\tools;;C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\Eclipse;]
Any thoughts?
Thanks,
Scott
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Ali,
I have restored the original project and made all the changes *except* changing the toolchain, but I still get the same undefined symbol errors.
Scott
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Ali,
Thanks, just what I needed. I installed your project and it compiles without error. This will let me figure out why changing toolchains to the Cross compiler wouldn't work and how to fix it.
Scott