This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Package incompatibility in the keil

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:

Fullscreen
1
2
3
".\Objects\1.axf" - 96 Error(s), 0 Warning(s).
Target not created.
Build Time Elapsed: 00:00:03
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

Fullscreen
1
misc.c:131:11: error: no member named 'IP' in 'NVIC_Type'
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

Fullscreen
1
AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.1/Device/StdPeriph_Driver/src/misc.c(131):
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

So it compiled.

Fullscreen
1
2
3
FromELF: creating hex file...
".\Objects\1.axf" - 0 Error(s), 0 Warning(s).
Build Time Elapsed: 00:00:00
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

After that I need to enable Network : So I've enabled other network packages and I just complied it.

Fullscreen
1
2
3
4
5
6
7
8
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
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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:

Fullscreen
1
2
3
4
5
6
7
8
9
.\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
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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:

Fullscreen
1
2
3
4
5
6
7
8
9
.\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
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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.

0