This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

s110_softdevice.hex custom translator properties not set

Hi

I'm trying to make a new S110 BLE project for my nRF51 DK from "scratch" in Keil 5.14 (New uVision Project -> nRF51422_xxAC) , but every time i try to build the solution, i get this message:

Build target 'nrf51422_xxac_s110'
s110_softdevice.hex: error - custom translator properties not set
linking...
.\Objects\LDF1A_v.0.1: error: L6002U: Could not open file .\objects\main.o: No such file or directory
Finished: 0 information, 0 warning, 0 error and 1 fatal error messages.
".\Objects\LDF1A_v.0.1" - 1 Error(s), 0 Warning(s).
Target not created.
Build Time Elapsed:  00:00:01

I've added all the necessary software components (board support, CMSIS, nRF_BLE, nRF_Drivers, nRF_Libraries, nRF_SoftDevice) and included everything needed in main.c.

Any ideas?

  • But interestingly enough, this is what greets me after manually "translating" each .c file:

    Build target 'nrf51422_xxac_s110'
    s110_softdevice.hex: error - custom translator properties not set
    linking...
    .\Objects\LDF1A_v.0.sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST.
    Not enough information to list image symbols.
    Not enough information to list the image map.
    Finished: 2 information, 0 warning and 1 error messages.
    ".\Objects\LDF1A_v.0.1" - 1 Error(s), 0 Warning(s).
    Target not created.
    Build Time Elapsed:  00:00:00
    
  • did you add startup files? arm_startup_nrf51.s and system_nrf51.c. From the pack image it seems to be present, but I cannot see if the files are selected.

    Also ARM documentation about the error

    L6236E
    No section matches selector - no section to be FIRST/LAST.
    The scatter file specifies a section to be +FIRST or +LAST, but that section does not exist, or has been removed by the linker because it believes it to be unused. Use the linker option --info unused to reveal which objects are removed from your project. Example:
    ROM_LOAD 0x00000000 0x4000
    {
     ROM_EXEC 0x00000000
     {
       vectors.o (Vect, +First) << error here
       * (+RO)
     }
     RAM_EXEC 0x40000000
     {
       * (+RW, +ZI)
     }
    }
    Some possible solutions are:
    ensure vectors.o is specified on the linker command-line
    link with --keep vectors.o to force the linker not to remove this, or switch off this optimization entirely, with --noremove [not recommended]
    [Recommended] Add the ENTRY directive to vectors.s, to tell the linker that it is a possible entry point of your application such as, for example:
    AREA Vect, CODE
    ENTRY ; define this as an entry point
    Vector_table
    ...
    Then link with --entry Vector_table to define the real start of your code.
    See the following in Using the Linker:
    Placing sections with FIRST and LAST attributes.
    See the following in the Linker Reference:
    --entry=location
    --info=topic[,topic,...]
    --keep=section_id
    --remove, --no_remove
    Syntax of an input section description.
    
  • Ah ok, it seems i was missing the startup files. I've added them now, but I'm still getting the translation error:

    Rebuild target 'nrf51422_xxac_s110'
    s110_softdevice.hex: error - custom translator properties not set
    linking...
    Program Size: Code=8216 RO-data=276 RW-data=208 ZI-data=3072  
    FromELF: creating hex file...
    ".\Objects\LDF1A_v.0.1" - 0 Error(s), 0 Warning(s).
    Target not created.
    Build Time Elapsed:  00:00:00
    
  • Do you have all files with extensions *.s, *.c and *.h? Seems like Keil does not recognize one of the file extensions in your project and complaining to give a way for it process it. Check all files extensions in your project and see if there is no typo there.

    EDIT:

    I right clicked on one file in my keil workspace and i have set the File Type to "Custom file" I get the same error as yours, So I would go through all the files in your project and see if the filetypes are not set to Custom file.

Related