Getting Error while importing PCAN- UDS DLLs In Eclipse

A free API for the communication with control devices according to UDS (ISO 14229-1)
Post Reply
Posts: 1
Joined: Tue 6. Oct 2020, 13:01

Getting Error while importing PCAN- UDS DLLs In Eclipse

Post by patilvishal430 » Wed 7. Oct 2020, 11:46

I am importing PCAN-UDS DLL in eclipse - GCC (MIN-GW) in C.

I have placed 32 bit DLL's in SysWOW64 and 64 bit DLLs in system32 folder.

When I build the code with calling APIs I get below errors

Code: Select all

gcc "-ID:\\CAN_DLL\\PCAN-UDS\\Include" -O0 -g3 -Wall -c -fmessage-length=0 -o "main\\UDSDllImport.o" "..\\main\\UDSDllImport.c" 
gcc "-LC:\\Windows\\SysWOW64" -Xlinker --enable-stdcall-fixup -o UDSDllImport.exe "main\\UDSDllImport.o" -lPCAN-UDS -lPCAN-ISO-TP -lPCANBasic 
c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: c:/mingw/bin/../lib/gcc/mingw32/9.2.0/crtbegin.o:cygming-crtbegin.c:(.text+0x25): undefined reference to `LoadLibraryA@4'
collect2.exe: error: ld returned 1 exit status
When I placed These DLLs in another drive say "D" and link them , then code builds successfully, But when I try to read the DID then I didn't get response data;
I get CanStatus =7, indicating no response. (PUDS_ERROR_NO_MESSAGE 0x00007 // No Message available.

But on PCAN -View I am able to see Sent request and response from the device.

But I am unable to see it in message buffer in eclipse.
I have linked and imported all three DLLs, PCANBasic, PCAN-ISO-TP_2016, PCAN-UDS . What I am doing wrong? or missing something?
Last edited by M.Heidemann on Wed 7. Oct 2020, 16:01, edited 2 times in total.
Reason: formatted for better readability

Software Development
Software Development
Posts: 170
Joined: Mon 9. Sep 2013, 12:21

Re: Getting Error while importing PCAN- UDS DLLs In Eclipse

Post by F.Vergnaud » Wed 7. Oct 2020, 12:52


Since you're able to call functions and receive result from the PCAN-UDS dll, there's nothing wrong with your compilation/linking setup.
Please make sure you've correctly configured:
- the address of your UDS node(by default it is 0xF1 as TesterEquipment)
- the ISOTP communication mappings (by default only OBDII request/response mappings are configured: 0x7E0 to 0x7EF and functional 0x7DF).
Your requests are sent most probably because data hold in a single frame and mapping is then not required..

You can find more information on UDS and ISO-TP Network Addressing Information in chapter 4.3 page 339 of the PCAN-UDS API User Manuel.
Best regards,

Post Reply