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

Parents
  • The compiler_abstraction.h is not my code. It's the SDK and there is an error in that file. Then inline assembly in GNU compile is __asm(...) not asm(...). You need to change it.

    The StartupnRF51.c is not a translation of the .s file. It was ported form my other ARM processor. I write multi-platform code. It does not depend on the SDK. It is generic for GNU compiler and ARM processors. Now a day writing code in assembly is only for special optimization. Otherwise not recommended. It is a maintenance nightmare.

    The dfu code is still all Nordic code. I only make few changes to make it compiles with GNU. mainly asm stuff. So yes App needs to start at 0x14000. No change to that.

Reply
  • The compiler_abstraction.h is not my code. It's the SDK and there is an error in that file. Then inline assembly in GNU compile is __asm(...) not asm(...). You need to change it.

    The StartupnRF51.c is not a translation of the .s file. It was ported form my other ARM processor. I write multi-platform code. It does not depend on the SDK. It is generic for GNU compiler and ARM processors. Now a day writing code in assembly is only for special optimization. Otherwise not recommended. It is a maintenance nightmare.

    The dfu code is still all Nordic code. I only make few changes to make it compiles with GNU. mainly asm stuff. So yes App needs to start at 0x14000. No change to that.

Children
No Data
Related