AN499433 adaptation problem

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

I'm trying to adapt AN499433 to a CY8C24794 controller.  When I generate and compile, I get the follow errors:

   

!E <library>(652): {linker} multiple define: 'USBUART_CurrentTD'
!E <library>(653): {linker} multiple define: 'USBUART_bCurrentDevice'
!E <library>(654): {linker} multiple define: 'USBUART_EndpointAPIStatus'
!E <library>(655): {linker} multiple define: 'USBUART_TransferBuffer'
!E <library>(656): {linker} multiple define: 'USBUART_t0'
!E <library>(657): {linker} multiple define: 'USBUART_t1'
!E <library>(658): {linker} multiple define: 'USBUART_fDataPending'
!E <library>(659): {linker} multiple define: 'USBUART_StatusBlockPtr'
!E <library>(660): {linker} multiple define: 'USBUART_t2'
!E <library>(661): {linker} multiple define: 'USBUART_DataPtr'
!E <library>(662): {linker} multiple define: '_USBUART_Configuration'
!E <library>(663): {linker} multiple define: 'USBUART_EndpointStatus'
!E <library>(664): {linker} multiple define: '_USBUART_InterfaceSetting'
!E <library>(665): {linker} multiple define: '_USBUART_EPDataToggle'
{linker} Too many errors, exiting...

   

Evidently, the linker is trying to link usbuart_custom.o as well as usbuart_drv.o, causing the definition overlap.  It's not clear to me how the original linker managed to overcome this problem.

   

Any help wold be appreciated.

   

 

   

Don

0 Likes
5 Replies
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Cannot find AN499433, a link would be rather helpful

   

 

   

Bob

0 Likes
Anonymous
Not applicable
0 Likes

Hi Don, have you resolved your issue. If so, what was the solution?

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

I get the same errors when cloning the project. I would suggest you to create a support case (at top of this page "Design Support"-> Create a Support Case)

   

 

   

Bob

0 Likes
KeBa_1249896
Level 1
Level 1
Welcome! First reply posted

I was able generate/ build cloned CY8C24994 AN49943 (CY3214 kit) project to CY8C24894 (CY3240 USB to ICII bridge kit) by using Diffuse Merge Tool to compare source, header & lib files. Except for the different pin connections used & available between the kits (comment out main C, usb_to_uart.c  usb_to_uart.h pin functions). The usbuart_custom.asm can be excluded from project by inserting

export _USBUART_SetupRefreshedFlag

export  USBUART_SetupRefreshedFlag

EXPORT USBUART_SetupRefreshedFlag, _USBUART_SetupRefreshedFlag

   USBUART_SetupRefreshedFlag:

_USBUART_SetupRefreshedFlag:                BLK   1    ;  Setup Refreshed

mov [USBUART_SetupRefreshedFlag] ,01h;

below & above "Insert your custom code banners" @ bottom of file.

Unfortunately I didn't write down the other library files that have extra code inserted between the "Insert your custom code banners" but was about 3 files which I detected using the Diffuse software to compare files side by side. After that I was able to generate/ build project without errors. I also used the AN49943 CMPPRG setup to detect VBUS. After correcting pin functions & such in the commented out files was able to loop back TX/RX pins (selected TP1 & 2 on kit) through third party terminal program but was unable to change baud rates (needs more work?). Should be able to work for your situation but when I was messing with files sometimes it would copy file from AN49943 file and keep the source file routing so when I modified file in clone it changed file in source & not its own directory & have o back & fix, figured out copy & paste in file manager & include/ exclude in PSOC Designer.

0 Likes