My setup is:
Mi problem comes when I try to use printf. I can print a string but not a variable.
This line is correctly bompiled:
printf("HI");
This line is not correctly builded:
unsigned int var;
var = 1;
printf("%u", var);
The same code works perfectly with other PIC (PIC24FJ512GA606) and compiler (XC16). In both project we are using printf from the same library stdio.h
The problem comes when I try to build the project. If i use "printf("%u", var);" and build it, the IDE hangs and I have to cancel the building process. After it I can't clean the project, the IDE shows me the next text:
rm: no se puede borrar build/SF_Utility_v31_RS485/production/interrupts_remapped.o: Permission denied
rm: no se puede borrar build/SF_Utility_v31_RS485/production/mult.o: Permission denied
rm: no se puede borrar build/SF_Utility_v31_RS485/production/SF_debug.o: Permission denied
rm: no se puede borrar build/SF_Utility_v31_RS485/production/SF_formatter.o: Permission denied
rm: no se puede borrar build/SF_Utility_v31_RS485/production/SF_HAL_axis_references.o: Permission denied
rm: no se puede borrar build/SF_Utility_v31_RS485/production/SF_internal_comms.o: Permission denied
CLEAN FAILED (exit value 1, total time: 123ms)
If I go to the folder and try to delete manually, a message appears saying that I cant delete it because "pic30-elf-gcc.exe" is using it. I have to close the process and then y can clean and rebuild the project with "printf("Hi");"...
EDIT1: I can observe when I build the project that every files are compiled correctly. The problem comes with the linker... When I try to build the project it get hangs with the next line:
"C:\Program Files (x86)\Microchip\MPLAB C30\bin\pic30-gcc.exe" -omf=elf -mcpu=24FJ128GA306 -o dist/SF_Utility_v31_RS485/production/sf-device.production.elf build/SF_Utility_v31_RS485/production/DEE_Emulation/DEE_Emulation_16-bit_v2.2/DEE_Emulation_16-bit/DEE_Emulation_16-bit.o build/SF_Utility_v31_RS485/production/DEE_Emulation/DEE_Emulation_16-bit_v2.2/DEE_Emulation_16-bit/Flash_Operations.o build/SF_Utility_v31_RS485/production/RS485/SF_RS485.o build/SF_Utility_v31_RS485/production/src/ADC_Handler/ADC_Handler.o build/SF_Utility_v31_RS485/production/src/Event_Timer/osal_timers.o build/SF_Utility_v31_RS485/production/src/PWM/PWM_Core_Handler.o build/SF_Utility_v31_RS485/production/src/PWM/PWM_Func_Layer.o build/SF_Utility_v31_RS485/production/src/PWM/PWM_Hal_Layer.o build/SF_Utility_v31_RS485/production/HTS221.o build/SF_Utility_v31_RS485/production/LISXDH.o build/SF_Utility_v31_RS485/production/src/Tasks/LED_Status_Task.o build/SF_Utility_v31_RS485/production/src/Tasks/System_Task_Handler.o build/SF_Utility_v31_RS485/production/src/Tasks/Hum_Temp_Task.o build/SF_Utility_v31_RS485/production/configuration_bits.o build/SF_Utility_v31_RS485/production/main.o build/SF_Utility_v31_RS485/production/system.o build/SF_Utility_v31_RS485/production/traps.o build/SF_Utility_v31_RS485/production/user.o build/SF_Utility_v31_RS485/production/SF_controller.o build/SF_Utility_v31_RS485/production/SF_solar_calculations.o build/SF_Utility_v31_RS485/production/SF_solar_calculations_utils.o build/SF_Utility_v31_RS485/production/SF_time.o build/SF_Utility_v31_RS485/production/SF_tracker.o build/SF_Utility_v31_RS485/production/SF_settings.o build/SF_Utility_v31_RS485/production/SF_protocol.o build/SF_Utility_v31_RS485/production/SF_io_manager.o build/SF_Utility_v31_RS485/production/SF_inverter.o build/SF_Utility_v31_RS485/production/utils.o build/SF_Utility_v31_RS485/production/SF_main_loop.o build/SF_Utility_v31_RS485/production/SF_persistence.o build/SF_Utility_v31_RS485/production/SF_formatter_binary.o build/SF_Utility_v31_RS485/production/SF_GW_Common.o build/SF_Utility_v31_RS485/production/SF_tick.o build/SF_Utility_v31_RS485/production/mult.o build/SF_Utility_v31_RS485/production/SF_internal_comms.o build/SF_Utility_v31_RS485/production/interrupts_remapped.o build/SF_Utility_v31_RS485/production/SF_formatter.o build/SF_Utility_v31_RS485/production/SF_HAL_axis_references.o build/SF_Utility_v31_RS485/production/SF_debug.o -legacy-libc -Wl,--defsym=__MPLAB_BUILD=1,--heap=1024,-Map="prueba.map",-Tp24FJ128GA306.gld
I have the solution. The problem was that my project had the legacy libraries actives... Uncheking that option in the project configuration it is running correctly now.