Issues when using Keil IDE with including oberon 3.0.6. lib

Good Morning dear Nordic Team,

I'm currently trying to create a new project with KEIL IDE that a former colleague was in charge of. The colleague used Seeger Studio to try it out.

I use toolchain 5.33.0 with compiler 6.15 for this.

The problem is that I have problems integrating the Obereon library. Apparently the transfer of the data types between the headers and the library for Keil does not fit.

The following error messages appear:

.\nrf56_Handset.axf: Error: L6242E: Cannot link object ocrypto_sha512.c.obj as its attributes are incompatible with the image attributes.
... wchart-16 clashes with wchart-32.
... packed-enum clashes with enum_is_int.
.\nrf56_Handset.axf: Error: L6242E: Cannot link object ocrypto_srp.c.obj as its attributes are incompatible with the image attributes.
... wchart-16 clashes with wchart-32.
... packed-enum clashes with enum_is_int.
.\nrf56_Handset.axf: Error: L6242E: Cannot link object ocrypto_srp_math.c.obj as its attributes are incompatible with the image attributes.
... wchart-16 clashes with wchart-32.
... packed-enum clashes with enum_is_int.
.\nrf56_Handset.axf: Error: L6242E: Cannot link object ocrypto_srtp.c.obj as its attributes are incompatible with the image attributes.
... wchart-16 clashes with wchart-32.
... packed-enum clashes with enum_is_int.
.\nrf56_Handset.axf: Error: L6242E: Cannot link object ocrypto_sha512_loop.c.obj as its attributes are incompatible with the image attributes.

I suspect that this is a setting in the compiler that is set incorrectly. For the settings I used the same C versions as is the case in the Seegerstudio (gnu11, gnu++17)

Do you have any ideads whats going wrong here?

Kind reagrds 

Jens Wörmann 

Parents
  • Hi,

    Can you check if the suggestions in this article solves your problem?

    On a general basis, we recommend that you stick with the compiler/toolchain versions that was used to test/verify the SDK, noted in the SDK release notes:

    nRF5 SDK v17.1.0
    ------------------------
    Release Date: August, 2021
    
    The following toolchains/devices have been used for testing and verification:
     
     - ARM: MDK-ARM version 5.25   
     - GCC: GCC ARM Embedded 9.2020-q2.major
     - IAR: IAR Workbench 7.80.4
     - SES: SES 5.42a
    

    (This is for nRF5 SDK v17.1.0, not sure if this is the SDK version you are using)

    Best regards,
    Jørgen

  • Hi Jørgen,

    I have the same issue when trying to link the libmodem.a library in the nrfxlib/nrf_modem directory. I'm using a later version of MDK-ARM:
    Tool Version Numbers:
    Toolchain: MDK Essential 5.36 (Flex): 3 user(s) Version: 5.36.0.0
    Toolchain Path: C:\Keil_v5\ARM\ARMCLANG\Bin
    C Compiler: ArmClang.exe V6.16
    Assembler: Armasm.exe V6.16
    Linker/Locator: ArmLink.exe V6.16
    Library Manager: ArmAr.exe V6.16
    Hex Converter: FromElf.exe V6.16
    CPU DLL: SARMV8M.DLL V5.36.0.0
    Dialog DLL: TCM.DLL V1.53.0.0
    Target DLL: UL2V8M.DLL V1.7.0.0
    Dialog DLL: TCM.DLL V1.53.0.0

    I've read articles related to this and there is an option that allows me to specify short enums and short whars (-fshort-enums -fshort-wchar). I've tried both configurations with it activated and deactivated. I get the same linker errors (L6242E). Have you recompiled the library for later versions of the MDK-ARM compiler to remove these linker errors? If not, can you tell me where the source code is and I can recompile?

    Thanks,

    Johnas

Reply
  • Hi Jørgen,

    I have the same issue when trying to link the libmodem.a library in the nrfxlib/nrf_modem directory. I'm using a later version of MDK-ARM:
    Tool Version Numbers:
    Toolchain: MDK Essential 5.36 (Flex): 3 user(s) Version: 5.36.0.0
    Toolchain Path: C:\Keil_v5\ARM\ARMCLANG\Bin
    C Compiler: ArmClang.exe V6.16
    Assembler: Armasm.exe V6.16
    Linker/Locator: ArmLink.exe V6.16
    Library Manager: ArmAr.exe V6.16
    Hex Converter: FromElf.exe V6.16
    CPU DLL: SARMV8M.DLL V5.36.0.0
    Dialog DLL: TCM.DLL V1.53.0.0
    Target DLL: UL2V8M.DLL V1.7.0.0
    Dialog DLL: TCM.DLL V1.53.0.0

    I've read articles related to this and there is an option that allows me to specify short enums and short whars (-fshort-enums -fshort-wchar). I've tried both configurations with it activated and deactivated. I get the same linker errors (L6242E). Have you recompiled the library for later versions of the MDK-ARM compiler to remove these linker errors? If not, can you tell me where the source code is and I can recompile?

    Thanks,

    Johnas

Children
Related