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

Customizing a bootloader

If all you need is changing  PHY, Tx power and Device Name in a standard nRF52840, do you need building a new bootloader from the scratch or the is a way to edit the standard firmware,  build a new edited file and finally re-program this file in a standard nRF52840? Thanks

Parents Reply Children
  • Hi Vidar.

    I took good care in using your modified file and not mine, so the problem should be easy to trace for you, since only you know the changes which were introduced.

    If you can't reproduce in your lab this simple, critic and repetitive failure I described, and it only happens to me, this would necessarily mean that the culprit would necessarily be either the module+host PCB I am using myself (NINA-B306 in this case) either the Power supply. The power supply I am using, is a battery from a very recognized Lithium Polimer manufacturer, and the problem also happens if I use a professional power supply, so I would take this reason out of the failure candidates.

    Regarding the module, remember that mine works perfectly when instead your file, I program the SDK v15.2.0 original ble-uart app, all this meaning that most probably, the problem comes from any of the code modifications made on your file.

    All this said, I will be glad (always with your guidance) to try and discover which is the code line in your file causing the problem, but before, it would be encouraging to know if the problem I described, happens also to you or nor, since I am not fully familiarized with all your code functions, commands and argot etc. and is going to be a tough job. Thanks.

    Waiting on your comments,

    Best regards

    Juan

  • Hi Juan,

    There's nothing that indicates problems with the power supply. Your application code is running fine except that it seems to be ending up the error handler as I mentioned. I suspect it happens because of an UARTE error condition which is why I asked you to comment the "APP_ERROR_HANDLER(p_event->data.error_communication);" line. An error condition can for instance occur if you have a floating RX input. 

  • I see. But were in within all program should I  write this  "APP_ERROR_HANDLER(p_event->data.error_communication);"  sentence?

  • It's in main.c:

    case APP_UART_COMMUNICATION_ERROR:
         //APP_ERROR_HANDLER(p_event->data.error_communication); <-- remove this line to ignore UART communication errors
    break

  • Hi Vidar.

    ¡You simply got it!

    Let me tell you that I am more than shocked with your efficiency and certainly, this deserves a great great reward. Let me think wich one.

    Thanks very much for such great work.

    Juan

Related