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

MBR lost ?

Hello,

I am developping an application using Softdevice which works (or worked).

Then, as I also need using UART, I built and flashed the example program nRF5_SDK_15.3.0_59ac345\examples\peripheral\serial

This too worked correctly.

Same thing with nRF5_SDK_15.3.0_59ac345\examples\peripheral\serial_uartes

But when I reflashed Softdevice then my program, it started sending flows of data to the UART then stopped.

Same result each time, even after erasing the whole flash and reflashing softdevice and my program.

The serial program still works fine if I flash it.

As the serial program is loaded at address 0, I am wondering if it did not erase something essential for softdevice, like the MBR.

And, if yes, how to recover?

Best regards

  • Hello,

    The MBR section is included in the Softdevice image, so be sufficient to just re-program the app+softdevice after you've programmed an app that starts at address 0. Have you tried to program any of the other BLE examples to see if those work. One of the pre-compiled ones for instance:

    nrfjprog --program 

     ble_app_hrs_pca10056_s140.hex --chiperase --reset

    Best regards,

    Vidar

  • Hello Vidar,

    I just tried, first by compiling it. It did not send any message to the USB connection.

    Then I flashed the precompiled version and got these messages on USB:

    <info> app: Heart Rate collector example started.
    <info> app: Starting scan.
    It looks correct.
    Then I reflashed my application and I got this on the USB (it looks really wrong…)
    :
    UATiiilzd
    sn AT
    sn AT
    sn AT
    sn AT
    sn AT
    sn AT
    sn AT
    sn AT
    sn AT
    sn AT
    eoeyto tre!
    sn AT
    sn AT
    sn AT
    sn AT
    rtn osn AT
    o itnn.UigUREUigUREUigUREUigURssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss

    I downloaded my program onto several dongles, they work fine.

    As I did not tell you before, it is on a nRF52840-DK that I have this problem.

    Do you have any idea?

    Best regards,

    Frederic

  • Hi Frederic,

    Are you running the exact same FW on the dongle, and how are you getting the UART output from the dongle, is it with a separate UART bridge?  I'm not sure why the data gets corrupted when you use the DK but I don't see how it could be related to flash programming, I think it must be something else.

  • Hi Vidar, no, it is not exactly the same, as one is built for PCA10056 and the other one for PCA10059. I am getting the UART output through the USB but get the same thing when I connect a FTDI converter to the serial pins. I probably mistakenly modified a file which is used for PCA10056 build only but I don't know which one yet. Still have to dig deeper.And this would also explain why the pre-compiled image works but not the locally built one.

    Best regards,

    Frederic

  • Hi again Vidar, I just replaced the whole nRF5_SDK_15.3.0_59ac345 contents by the original one, built, dowloaded and it works!

    Problem solved.

    Thanks for your help,

    Frederic

Related