Hi all,
I have a favor to use the "Run time Environment" option in KEIL to import and add the compatible and standard libraries from KEIL. I have installed the latest package of STM32F1xx_DFP(Keil.STM32F1xx_DFP.2.4.1.pack) but as I compiled my simple code this error appeared:
".\Objects\1.axf" - 96 Error(s), 0 Warning(s). Target not created. Build Time Elapsed: 00:00:03
96 errors appeared on my screen for the above code and settings. I've changed my Compiler language from c90 to C99 and it decreased to
misc.c:131:11: error: no member named 'IP' in 'NVIC_Type'
I searched on the internet and I found out that the IP is not a member of NVIC_Type and it should be IPR! I am curious why this error happened while the developers compiled and extended its functionality. So I opened the misc.c file change the IP to IPR and put in the above location
AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.1/Device/StdPeriph_Driver/src/misc.c(131):
So it compiled.
FromELF: creating hex file... ".\Objects\1.axf" - 0 Error(s), 0 Warning(s). Build Time Elapsed: 00:00:00
After that I need to enable Network : So I've enabled other network packages and I just complied it.
error: "Ethernet not configured in RTE_Device.h!" #error "Ethernet not configured in RTE_Device.h!" ^ 1 error generated. compiling EMAC_STM32F10x.c... ".\Objects\1.axf" - 1 Error(s), 0 Warning(s). Target not created. Build Time Elapsed: 00:00:00
it is normal and I was so happy that my procedure was going to be done easily. I enabled ETH in RTE_device and Just compiled it:
.\Objects\1.axf: Error: L6242E: Cannot link object net_version.o as its attributes are incompatible with the image attributes. ... wchart-16 clashes with wchart-32. ... packed-enum clashes with enum_is_int. Not enough information to list image symbols. Not enough information to list load addresses in the image map. Finished: 1268 information, 0 warning and 633 error messages. ".\Objects\1.axf" - 633 Error(s), 0 Warning(s). Target not created. Build Time Elapsed: 00:00:04
Oh my god, more than 600 errors. I searched and found this link
https://developer.arm.com/documentation/ka003983/latest/
I enabled the short enum/wchar, and compiled it again:
.\Objects\1.axf: Error: L6242E: Cannot link object rtx_system.o as its attributes are incompatible with the image attributes. ... wchart-16 clashes with wchart-32. ... packed-enum clashes with enum_is_int. Not enough information to list image symbols. Not enough information to list load addresses in the image map. Finished: 22 information, 0 warning and 10 error messages. ".\Objects\1.axf" - 10 Error(s), 0 Warning(s). Target not created. Build Time Elapsed: 00:00:01
10 errors with the same content are still available.
I don't know why a simple program that worked fine with compiler version 5 became so hard to compile.