How can i convert USB DFU code from pca10056_usb to pca10040 ?

Hello ,

I want to convert the code of dfu pca10056_usb to pca10040 for this i have updated the following -

1. Updated board from PCA10056 to PCA10046

2.Updated the linker.

But I am getting this error 

where im missing 

Parents
  • Hi Shweta, 

    Could you please let us know what you want to achieve ? 
    Why do you want to have USB DFU support on PCA10040 when the nRF52832 doesn't have USB support ? 

    If you want to do UART DFU you can use the \examples\dfu\secure_bootloader\pca10040_uart example. 


  • Hello Hung Bui,

    First of all my bad let me rephrase the problem statement.

    I am having MDBT50Q-U(nrf52833) and want to perform USB DFU.

    As there is no example code directly usable in nRF SDK 16.0.0 so I was trying to convert the given code according to my requirement but I was unable to modify compiler and linker settings.

  • Ok so you want to make the example works for nRF52833. 
    I noticed that you set the FLASH_SIZE to 0x7000. On the original firmware for nRF52840 it's 0xa000. This explains why you got the issue with flash when compiling. 
    Please try the following setting: 

    FLASH_START = 0xC000

    FLASH_SIZE= 0xA000

    Please use the BOARD_PCA10100 if you want to compile for nRF52833. 

  • On the same project I have changed the settings as suggested by you that is(note here i have not changed the board it is here "BOARD_PCA10040" and "NRF52840_XXAA)-

    1. 

    It build and then starts giving error

     

    2. When I change the board to NRF52833xxAA  and BOARD_PCA10100 that is 

    it shows following error 

     

  • Hi Shweta, 

    The nRF52833 doesn't have the hardware Cryptocell so you have to select other backend. 
    I would suggest you to study the \examples\dfu\secure_bootloader\pca10100e_usb\ in SDK v17.1 .

    The sample is made for nRF52820 to run on the PCA10100 which is the DK for NRF52833. 

    The only modification as far as I can see to make it run on nRF52820 is to modify the RAM and ROM size and start location of the bootloader.

    In the sdk_config.h you will find
    NRF_CRYPTO_BACKEND_NRF_SW_ENABLED 1

    and 

    NRF_CRYPTO_BACKEND_CC310_BL_ENABLED 0. 

Reply
  • Hi Shweta, 

    The nRF52833 doesn't have the hardware Cryptocell so you have to select other backend. 
    I would suggest you to study the \examples\dfu\secure_bootloader\pca10100e_usb\ in SDK v17.1 .

    The sample is made for nRF52820 to run on the PCA10100 which is the DK for NRF52833. 

    The only modification as far as I can see to make it run on nRF52820 is to modify the RAM and ROM size and start location of the bootloader.

    In the sdk_config.h you will find
    NRF_CRYPTO_BACKEND_NRF_SW_ENABLED 1

    and 

    NRF_CRYPTO_BACKEND_CC310_BL_ENABLED 0. 

Children
No Data
Related