This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
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

Eclipse GCC pure project for DFU Bootloader nRF51

Hi,

I have created Eclipse project to compile nRF51 DFU loader. This is a pure Eclipse project, no makfile. It has compile configurations for combination of Single/Dual bank and BLE/Serial. This project require installed nRF51 SDK 5.2 in the same work space under with sdk directory name nrf51_sdk. The project has file links to the source in the sdk hence the sdk directory need to be that name. This will allow you to update to new sdk easier.

Here are the prerequisite.

Eclipse Keplar CDT Eclipse ARM plus ins: Follow this blog gnuarmeclipse.livius.net/.../. this contains support for jlink as well GCC compiler : launchpad.net/gcc-arm-embedded

Here are the attached files common.zip contains common folder to be place in same workspace. dfu_nrf51.zip is the project folder. It contains precompiled & tested hex release version of 4 binations if you don't want to recompile.

Workspace directory should have

Workspace | Common | dfu_nrf51 | nrf51_sdk

I hope this helps anyone who wants to work with Eclipse & GCC.

Good luck

Update sep. 18, 2014

Updated projects with sdk 6.1 on blog site here embeddedsoftdev.blogspot.ca/.../ehal-nrf51.html

  • Hi, I've tried your eclipse project, but there is a issue with memory :

    arm-none-eabi/bin/ld: dfu_nrf51.elf section .text' will not fit in regionFLASH'

    arm-none-eabi/bin/ld: section .bootloader_settings_block loaded at [000000000003fc00,000000000003ffff] overlaps section .text loaded at [000000000003c800,00000000000436af]

    arm-none-eabi/bin/ld: region `FLASH' overflowed by 15100 bytes

    Used sdk version 5.2, gcc version 4.8.3 (same error with gcc 4.7.4), on mac OS X 10.9

    The same error using Joe and Nikita bootloader gcc projects. Joe&Nikita

    -c

  • Check in the settings/linker/general. make sure you select remove unused sections

  • Setting/linker/general is selected. I'm going crazy.

    Thanks.

    -c

  • The bootloader needs to be compiled with optimization for space. Compile in debug by default has no optimization. Try to compile it in release mode.

  • Hi,

    I followed your steps above and installed eclipse, arm cross compiler, etc. I also added the directories to my workplace. However, I'm getting the following when I try to build and of the targets: Invoking: Cross ARM C Compiler arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -O0 -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -Wall -g3 -DPSTORAGE_RAW_ACCESS -DNRF51 -DDEBUG_NRF_USER -DNRF51822_QFAA_GC -DBLE_STACK_SUPPORT_REQD -DBOARD_PCA10001 -I"/Volumes/UsersX9/rasit/Documents/workspace/dfu_nrf51/src/include" -I"/Volumes/UsersX9/rasit/Documents/workspace/dfu_nrf51/src/include/ble_transport" -std=c99 -MMD -MP -MF"src/nrf51_sdk/app_gpiote.d" -MT"src/nrf51_sdk/app_gpiote.o" -c -o "src/nrf51_sdk/app_gpiote.o" "/Volumes/UsersX9/rasit/Documents/workspace/nrf51_sdk/nrf51822/Source/app_common/app_gpiote.c" /Volumes/UsersX9/rasit/Documents/workspace/nrf51_sdk/nrf51822/Source/app_common/app_gpiote.c:13:24: fatal error: app_gpiote.h: No such file or directory compilation terminated. make: *** [src/nrf51_sdk/app_gpiote.o] Error 1

Related