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

Combined BT and serial Bootloader for S132

The existing Development Environment:
- nRF52832
- SDK 11
- Softdevic S132
- Eclipse

Project Status:
- Nearly finished with working OTA - bootloader

Existing Bootloader:
- Based on SDK11: ../examples/dfu/bootloader/pca10040/dual-bank_ble

Goal:
- Combined serial and OTA - bootloder

Questions:
1. Does there exists a solution for a combined bootloader?
2. Is it in principle possible to integrate a combined boot booader into the limited Boot Flash area?
3. Which existing serial bootloaders from which SDK are recommented for finding a fast and save solution.

   

  • Hi Frank, 

     

    1. We don't have an example doing that. There was some discussion about it here

    2. Yes, it's possible. I don't see any problem to combine 2 transportation layers. We had customers managed to do that. You can always expand the 

    3. We suggest to move to the latest SDK which is v15. From SDK v12 we completely refactorized the bootloader (secure bootloader) and it's much easier to make multi transport layers in one bootloader (just include the 2 transport library files in)  . We recommend you to switch to SDK v15 for developing new application. 

  • Hi Hung,
    many thanks for your answer, which had unfortunately not the content I hoped to hear.
    Anyway.  The SDK15 .../examples/dfu - folder contains a lot of examples.
    And because that it is difficult with the experiences of SDK11 to make a decision.
    1. Exists there a general description of all examples 
    2. What is the principle difference of projects without and and with the extension "_debug"
    3. Which versions are suitable for nordic tools for serial DFU

    Frank

  • Hi Frank, 

     

    I found an error in my last reply. 

    2. You can always expand the bootloader by moving the start address the bootloader down in the flash. And increase the max size of it. 

    Regarding your new questions:

    1. "Exists there a general description of all examples " I don't understand this. Are you asking for the documentation ?  

    2. The project with "_debug" will skip the version checking, and log printing is enabled. 

    3. We have the tools to do DFU for any version. Is there any particular reason you want to use SDK v11 ? If you are using NRF52 chip , we would suggest you to start with SDK v15. 

    I have a small guide about DFU here that you may want to try. 

  • Hi Hung,
    many thanks for your answer.
    Meantime I could install nrfutil. The correct installation of pip
    in a linux system with existing but never used python costs a lot of time.
    #3
    The application and the BT-bootloader were developed under SDK11
    with GCC and Eclipse.
    Regarding your proposal I loaded a DFU - project from SDK15 but failed
    during the execution of make, although the pathes in

    nRF5_SDK_15.0.0_a53641a/components/toolchain/gcc/Makefile.posix

    were adapted to the existing GCC environment:

    GNU_INSTALL_ROOT := /home/frank/gcc-arm-none-eabi-4_9-2015q3
    GNU_VERSION := 4.9.3
    GNU_PREFIX := arm-none-eabi

    This works well with SDK11 examples but not with SDK.....15 examples.

    With SDK15 examples the execution of make leads to the following error message:

    frank@frank-tux ~/nordic/nRF5_SDK_15.0.0_a53641a/examples/dfu/secure_bootloader/pca10040_uart_debug/armgcc $ make
    make: /home/frank/gcc-arm-none-eabi-4_9-2015q3arm-none-eabi-gcc: Befehl nicht gefunden
    Cannot find: '/home/frank/gcc-arm-none-eabi-4_9-2015q3arm-none-eabi-gcc'.
    Please set values in: "/home/frank/nordic/nRF5_SDK_15.0.0_a53641a/components/toolchain/gcc/Makefile.posix"
    according to the actual configuration of your system.
    ../../../../../components/toolchain/gcc/Makefile.common:129: *** Cannot continue. Schluss.

    I.e. any script of the SDK15 environment leads to the false path:

    ~...../gcc-arm-none-eabi-4_9-2015q3arm-none-eabi-gcc

    but I have no idea how I can correct the problem.


    Ciao Frank





  • I guess the path has to changed to:

    GNU_INSTALL_ROOT := /home/frank/gcc-arm-none-eabi-4_9-2015q3/bin/

    ../bin/ was the needed extension compared to SDK 11.

Related