- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
The AN75779 runs properly on the Cypress evaluation board, which uses a CYUSB3014 device. We want to port this application to run on a CYUSB3012 which has only the half of internal memory (256K instead of 512K).
The first try was to change the memory setting in the file: "cyfxtx.c" and also to use the appropriate linker file: "fx3_256k.ld". The result was, that the application complains about a memory allocation error.
QUESTIONS:
1) Is the described way to specify the device restriction regarding memory correct? Is anything missing or does there exist another method to specify the used device?
2) Is it possible to modify the application to work also with less memory? And if yes, what must be changed?
3) There are a lot of functions which are not available as source code. Is it possible to publish those source files?
Kind Regards
Cromagnon
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Please find my comments below
1) Is the described way to specify the device restriction regarding memory correct? Is anything missing or does there exist another method to specify the used device?
>> Please confirm if you have only enabled CYMEM_256K macro in cyfxtx.c and didn't modify the cyfxtx.c. Also, let me know the firmware size when build 512 KB RAM
2) Is it possible to modify the application to work also with less memory? And if yes, what must be changed?
>> For 256 KB RAM , 128 KB code area is supported. So, the firmware size should be < = 128 KB.
3) There are a lot of functions which are not available as source code. Is it possible to publish those source files?
>> Please confirm if you have referred to the source in SDK (Path: FX3 SDK Installation Path\Cypress\EZ-USB FX3 SDK\1.3\firmware\fx3_sdk_1_3_4_src). If yes, please let me know for which API source are you looking for
Rashi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Please find my comments below
1) Is the described way to specify the device restriction regarding memory correct? Is anything missing or does there exist another method to specify the used device?
>> Please confirm if you have only enabled CYMEM_256K macro in cyfxtx.c and didn't modify the cyfxtx.c. Also, let me know the firmware size when build 512 KB RAM
2) Is it possible to modify the application to work also with less memory? And if yes, what must be changed?
>> For 256 KB RAM , 128 KB code area is supported. So, the firmware size should be < = 128 KB.
3) There are a lot of functions which are not available as source code. Is it possible to publish those source files?
>> Please confirm if you have referred to the source in SDK (Path: FX3 SDK Installation Path\Cypress\EZ-USB FX3 SDK\1.3\firmware\fx3_sdk_1_3_4_src). If yes, please let me know for which API source are you looking for
Rashi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Rashi,
1) I can confirm, I have enabled the macro CYMEM_256K in file cyfxtx.c. But additionally I have also replaced the file fx3.ld with the file fx3_256k.ld in the linker settings of the project.
2) I have added the information from the .map file and attached it as file Code_Mapping.txt file. Unfortunately this the IDE mapping file is not very user friendly and I had to collect the data from over the file. If I add all sections (.text, .?, .data, .bss) together it will be 132K, which is slightly more than 128K.
Perhaps it will be less if I will not use DEBUG feature, but then I have no possibility to exmaine other misbehavoiour.
3) Yes, I have already seen these directories, but I can't find the ThreadX resources. Especially if I want for example to follow up the setting of DMA buffer, I did not find the related code. Or have I overseen something?
Kind Regards
Cromagnon
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Thank you for the confirmation.
2) Please try building the firmware in "Release mode" . the code will be optimized the most (O3) for this build option.
3) Yes, I have already seen these directories, but I can't find the ThreadX resources. Especially if I want for example to follow up the setting of DMA buffer, I did not find the related code. Or have I overseen something?
>> I didn't understand the requirement. Could you please let me know the API name?
Rashi