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

sd130 and sdk12.1.0 ble bootloader problem

I'm sorry. I closed this question and can't reopen. I need more answer. If I solve all problem I'll close this question.

As you mentioned I'll try HW version modification. And I'll add the result.


Hello,

I have some problem in DFU. I ask this again. I did as below.

  1. private key generation nrfutil keys generate c:\vault\priv.pem

  2. public key generation in code format nrfutil keys display --key pk --format hex c:\vault\priv.pem nrfutil keys display --key pk --format code c:\vault\priv.pem nrfutil keys display --key pk --format code c:\vault\priv.pem --out_file dfu_public_key.c

  3. experimental_ble_app_buttonless_dfu project compile and package file make nrfutil pkg generate --hw-version 1 --sd-req 0x87 --application-version 4 --application nrf51422_xxac.hex --key-file key.pem app_dfu_package.zip

  4. bootloader_secure compile with dfu_public_key.c(made in process 2) and bootloader setting file make nrfutil settings generate --family NRF51--application nrf51422_xxac.hex --application-version 3 --bootloader-version 2 --bl-settings-version 1 settings.hex

  5. merge bootloader and settings hex file mergehex -m nrf51422_xxac_s130 settings.hex -o output_file.hex

  6. SD130 / output_file.hex program into PCA10028 Board after erase all

  7. I try DFU in android phone. I can see DfuTarg. But, It fails to DFU app_dfu_package.zip(made in process 3).

What’s wrong? I don’t know.

**I want DFU process as below.

  1. my application run when power on
  2. bootloader enter(using buttonless_dfu projecs - Already I merged with my application.) after some key input (This key is in my custom board.)
  3. upload my new F/W using bootloader_secure in android phone.
  4. my new application run again after DFU done.**

I need your help eagerly.

Parents
  • Hello, I tried some

    • In the bootloader_secure project I removed the init_softdevice check in ble_stack_init().

    //if (init_softdevice)

    //{

    err_code = sd_mbr_command(&com);
    APP_ERROR_CHECK(err_code);
    

    //}

    • In the buttonless_dfu project I inserted code related with jump to bootloader.

    int main(void)

    {

    uint32_t err_code;
    bool     erase_bonds;
    
    NRF_POWER->GPREGRET = 0xb1;		// BOOTLOADER_DFU_START;
    NVIC_SystemReset();
    

    . .

    }

    And

    1. SD130/bootloader programming into PCA10028 board

    2. Buttoness_dfu f/w package file upload in android phone

    In this procedure -2, I guess buttoness_dfu runs(jump to bootloader again) after upload done.

    So, I think I can upload the new F/W again.

    Sure, I saw 1st upload.

    But, bootloader doesn’t run after 1st upload.

    These are related with what I want to realize as I explained in the above comments.

    If it’s wrong How can I realize?

Reply
  • Hello, I tried some

    • In the bootloader_secure project I removed the init_softdevice check in ble_stack_init().

    //if (init_softdevice)

    //{

    err_code = sd_mbr_command(&com);
    APP_ERROR_CHECK(err_code);
    

    //}

    • In the buttonless_dfu project I inserted code related with jump to bootloader.

    int main(void)

    {

    uint32_t err_code;
    bool     erase_bonds;
    
    NRF_POWER->GPREGRET = 0xb1;		// BOOTLOADER_DFU_START;
    NVIC_SystemReset();
    

    . .

    }

    And

    1. SD130/bootloader programming into PCA10028 board

    2. Buttoness_dfu f/w package file upload in android phone

    In this procedure -2, I guess buttoness_dfu runs(jump to bootloader again) after upload done.

    So, I think I can upload the new F/W again.

    Sure, I saw 1st upload.

    But, bootloader doesn’t run after 1st upload.

    These are related with what I want to realize as I explained in the above comments.

    If it’s wrong How can I realize?

Children
No Data
Related