Linking error in Cross studio version 4.2
Hi Team,
My source code compiled in 1.7 version and same source code compiled in 4.2 licensed version tool,
some linking errors observed.
Please help me on this issue.
Error Logs:
Building ‘avatar_gc_gui’ from solution ‘avatar_gc_gui’ in configuration ‘ARM Flash Debug’
Compiling ‘avtar_gc_main.c’
Compiling ‘uart.c’
Compiling ‘GuiDisplay.c’
Compiling ‘GuiLib.c’
Compiling ‘GuiStruct.c’
Compiling ‘GuiVar.c’
Compiling ‘gui.c’
Compiling ‘KeyBoard.c’
Compiling ‘epc.c’
Compiling ‘flow.c’
Compiling ‘GuiFont.c’
Compiling ‘LCDBritnes.c’
Assembling ‘Philips_LPC230X_Startup.s’
Compiling ‘LPC230x.c’
Assembling ‘VIC_PL192_irq_handler.s’
C:/Program Files/Rowley Associates Limited/CrossWorks for ARM 4.2/lib/liblpc2000_v4t_a_le_eabi.a does not exist.
Linking avatar_gc_gui.elf
C:/Program Files/Rowley Associates Limited/CrossWorks for ARM 4.2/lib/libc_v4t_a_le_eabi.a(libc2.o): In function `__aeabi_errno_addr':
libc2.c:(.text.libc.__aeabi_errno_addr+0x4): undefined reference to `__aeabi_read_tp'
Build failed
Regards,
Nv.
-
Navin,
Please post the project settings XML from your project file.
Note that the liblpc2000 libs are in the %APPDATA% now so you need to change some variables in your project to point to the right directory.
Here is an example for the LPC1788/4088 for comparison. Works on CW 3.7 and 4.2:
I don't spell out the eabi.a files directly in the project source.
<!DOCTYPE CrossStudio_Project_File>
<solution Name="ProjectMaker" target="8" version="2">
<project Name="ProjectMaker">
<configuration
Name="Common"
Target="LPC4088"
arm_architecture="v7EM"
arm_compiler_variant="gcc"
arm_core_type="Cortex-M4"
arm_fp_abi="Hard"
arm_fpu_type="FPv4-SP-D16"
arm_gcc_target="arm-unknown-eabi"
arm_interwork="No"
arm_linker_heap_size="500000"
arm_linker_process_stack_size="2024"
arm_linker_stack_size="2024"
arm_simulator_memory_simulation_filename="$(TargetsDir)/LPC1000/LPC1000SimulatorMemory.dll"
arm_simulator_memory_simulation_parameter="LPC177x_8x;0x80000;0x10000;0x8000"
arm_target_debug_interface_type="ADIv5"
arm_target_loader_parameter="12000000"
batch_build_configurations="THUMB Flash Debug;THUMB Flash Debug-Trace;THUMB Flash Release"
build_output_directory="$(Configuration)"
build_output_file_name="$(OutDir)/$(ProjectName).bin"
build_remove_unused_symbols="Yes"
c_additional_options="-fms-extensions;-Wall;-Wno-strict-aliasing"
c_only_additional_options="-fms-extensions;-Wall;-Wno-strict-aliasing"
c_preprocessor_definitions="USE_PROCESS_STACK;GCC_ARMCM4F;STARTUP_FROM_RESET;CORE_M4;__THUMB;LWIP_2_0_x"
c_user_include_directories=".;../../../.;../../../Source/App/;../../../../uEZ;../../../../uEZ/Include;../../../../uEZ/Source/RTOS/FreeRTOS/include;../../../../uEZ/Source/RTOS/FreeRTOS-Plus/FreeRTOS-Plus-Trace/;../../../../uEZ/Source/RTOS/FreeRTOS-Plus/FreeRTOS-Plus-Trace/include;../../../../uEZ/Source/Library/lwip_2.0.x/src/include;../../../../uEZ/Source/Library/lwIP_2.0.x/src;../../../../uEZ/Source/Library/lwIP_2.0.x/Include;../../../../uEZ/Source/Library/lwIP_2.0.x/src/include/ipv4;../../../../uEZ/Source/Library/lwIP_2.0.x/system;../../../../uEZ/Source/Library/lwIP_2.0.x/system/arch;../../../../uEZ/Source/Library/GUI/SEGGER/emWin;../../../../uEZ/Source/Platform/emWin/Inc;../../../../uEZ/Source/Platform/emWin/Config;../../../../uEZ/Source/Platform/FDI/uEZGUI_4088_43WQN;../../../../uEZ/Source/Processor/NXP/LPC17xx_40xx;../../../../uEZ/Source/Processor/NXP/LPC17xx_40xx/CrossWorks/include"
debug_startup_completion_point="main"
gcc_c_language_standard="c11"
gcc_cplusplus_language_standard="c++11"
gcc_short_enum="Minimal Container Size"
gcc_wchar_size="32-Bit"
link_include_startup_code="No"
linker_additional_files="$(TargetsDir)/LPC1000/lib/liblpc1000$(LibExt)$(LIB)"
linker_memory_map_file="$(ProjectDir)/ProjectMaker_MemoryMap.xml"
linker_output_format="hex"
linker_printf_fp_enabled="Yes"
linker_section_placement_file="$(ProjectDir)/ProjectMaker_placement.xml"
oscillator_frequency="12MHz"
package_dependencies="LPC1000"
project_directory=""
project_type="Executable"
property_groups_file_path="$(TargetsDir)/LPC1000/propertyGroups407x_8x.xml"
target_reset_script="FLASHReset()"
target_script_file="../../../../uEZ/Source/Processor/NXP/LPC17xx_40xx/CrossWorks/LPC177x_8x_Target.js" />
<configuration
Name="Flash"
Placement="Flash"
arm_target_flash_loader_file_path="$(TargetsDir)/LPC1000/Release/Loader_lpc407x_8x.elf"
arm_target_flash_loader_type="LIBMEM RPC Loader"
c_preprocessor_definitions="__FLASH_BUILD"
linker_patch_build_command=""$(StudioDir)/bin/crossscript" "load(\"$(TargetsDir)/LPC1000/LPC1000_LinkPatch.js\");patch(\"$(TargetPath)\");""
target_reset_script="FLASHReset()" />
<file file_name="Config_Build.h" />
<folder Name="Source">
</folder>
<configuration Name="Release" build_debug_information="No" />
<configuration Name="THUMB" arm_target_monitor_mode_debug="Yes" />
<configuration
Name="Release"
c_preprocessor_definitions="NDEBUG"
gcc_debugging_level="Level 1"
gcc_optimization_level="Level 2" />
<configuration
Name="THUMB Flash Debug-Trace"
c_preprocessor_definitions="FREERTOS_PLUS_TRACE" />
<configuration
Name="Debug"
build_debug_information="Yes"
c_preprocessor_definitions="DEBUG"
gcc_debugging_level="Level 3"
gcc_optimization_level="None" />
</project>
<configuration
Name="THUMB"
Platform="ARM"
arm_instruction_set="THUMB"
arm_library_instruction_set="THUMB"
hidden="Yes" />
<configuration Name="Flash" hidden="Yes" />
<configuration Name="Debug" hidden="Yes" />
<configuration Name="Release" hidden="Yes" />
<configuration
Name="THUMB Flash Debug"
inherited_configurations="THUMB;Flash;Debug" />
<configuration
Name="THUMB Flash Release"
inherited_configurations="THUMB;Flash;Release" />
<configuration
Name="THUMB Flash Debug-Trace"
inherited_configurations="THUMB;Flash;Debug" />
</solution>
Please sign in to leave a comment.
Comments
1 comment