Skip to content

Build for *_boot target fails with AddressOverlapError: Starting addresses are different #589

@vkolotov

Description

@vkolotov

Hi All,

I'm trying to build my projects locally with mbed-cli tool for a *_boot target. I can do this successfully via online compiler, but mbed-cli fails with "AddressOverlapError: Starting addresses are different".

I'm also able to build for *_ota and just without any postfixes, e.g.:

mbed compile -t GCC_ARM -m nrf51822_ota -c

and

mbed compile -t GCC_ARM -m nrf51822 -c

Here are some details:

mbed compile -t GCC_ARM -m nrf51822_boot -c -v

....

[DEBUG] Errors: /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: warning: /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/armv6-m/libc_nano.a(lib_a-sbrkr.o) uses 2-byte wchar_t yet the output is to use 4-byte wchar_t; use of wchar_t values across objects may fail
[DEBUG] Errors: /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: warning: /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/armv6-m/libc_nano.a(lib_a-nano-msizer.o) uses 2-byte wchar_t yet the output is to use 4-byte wchar_t; use of wchar_t values across objects may fail
Elf2Bin: SmartLock
[DEBUG] FromELF: /usr/bin/arm-none-eabi-objcopy -O ihex ../BUILD/nrf51822_boot/GCC_ARM/SmartLock.elf ../BUILD/nrf51822_boot/GCC_ARM/SmartLock.hex
[DEBUG] Return: 0
[DEBUG] SoftDevice file found s130_nrf51_1.0.0_softdevice.hex.
[DEBUG] Bootloader file found s130_nrf51_1.0.0_bootloader.hex.
[DEBUG] Merge SoftDevice file s130_nrf51_1.0.0_softdevice.hex
[DEBUG] Merge BootLoader file ../BLE_API/nRF51822/bootloader/s130_nrf51_1.0.0_bootloader.hex
Traceback (most recent call last):
  File "/home/meccup/projects/sputnikdev/SmartLock/.temp/tools/make.py", line 296, in <module>
    stats_depth=options.stats_depth)
  File "/home/meccup/projects/sputnikdev/SmartLock/.temp/tools/build_api.py", line 592, in build_project
    res, _ = toolchain.link_program(resources, build_path, name)
  File "/home/meccup/projects/sputnikdev/SmartLock/.temp/tools/toolchains/__init__.py", line 1146, in link_program
    self.binary(r, elf, bin)
  File "/home/meccup/projects/sputnikdev/SmartLock/.temp/tools/hooks.py", line 54, in wrapper
    post_res = tooldesc["post"](t_self, *args, **kwargs)
  File "/home/meccup/projects/sputnikdev/SmartLock/.temp/tools/targets/__init__.py", line 519, in binary_hook
    binh.merge(blh)
  File "/usr/local/lib/python2.7/dist-packages/intelhex/__init__.py", line 853, in merge
    'Starting addresses are different')
AddressOverlapError: Starting addresses are different
[mbed] ERROR: "/usr/bin/python" returned error code 1.
[mbed] ERROR: Command "/usr/bin/python -u /home/meccup/projects/sputnikdev/SmartLock/.temp/tools/make.py -t GCC_ARM -m nrf51822_boot --source .. --build ../BUILD/nrf51822_boot/GCC_ARM -c -v" in "/home/meccup/projects/sputnikdev/SmartLock/src"
---

Am I doing something wrong?
Cheers

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions