How does compiler select .lib file based on Board Type

The RCM2200 uses a RealTek ethernet controller and the RCM3200 uses the ASIX ethernet controler. These controllers have LIB\TCPIP\REALTEK.LIB and LIB\TCPIP\ASIX.LIB libraries, respectively.

How does the compiler pull in the correct library?

I’m trying to port an old project, originally written to run on an RCM2200, to an RCM3200. It compiles fine, but doesn’t appear to be initializing the ethernet controller properly. I believe the compiler is using the RealTek library instead of the Asix library.

The old project used DC 7.32; the new project is using DC 8.61.

Is there a way to determine which libraries are being used by the compiler?


I think the compiler will detect the board ID that written in flash. There are some If statement that check the board type/id when compile.