nRF52 custom board only turns on one time right after programming [SDK17 + S132]

Hi everyone. I'm programming the nRF52 custom board with the following figure - my application is based on ble_app_uart example. The custom board turned on and worked normally for the first time. When I turn off the power to the board and turn it back on, it never worked. In the custom board, I used an external crystal, and I didn't have a RESET button. I was trying to update some parameters regarding the external crystal in config.h file. However, it didn't work neither.

I tried to debug it with J-Link (I powered the custom board even the LED doesn't indicate it's advertising). The following is its error:

With the same setup, I used nRF52 Dev KIT instead - unless I press RESET button, it will work again. 

The following image is the schematic for my custom board. Hope to receive any suggestions regarding this issue. Thanks!

Parents
  • Hi

    Can you show me the rest of that error line? It seems that something is running out of memory, but you've cut the screenshot before I can see what line/file is reporting this error. You should try going to the file mentioned and see what an NO_MEM error means in that context. Seems like a SW issue rather than a HW issue at first glance.

    Best regards,

    Simon

  • Thanks for the reply Simonr!

    As I mentioned above, my custom board worked fine (meaning, a LED keeps blinking for advertising and once it gets connected, the LED stops blinking) right after flashing the code using nRF52 Dev Kit, so I assume there is no error. However, once I turned off my custom board, then turned the power back on. There were no indicator showing the board works or not.

    I checked with RTT Viewer it showed an error as you saw in the first post and it pointed to this function in the main.c file.

    There is one more thing I should let you know. My custom board is based on nRF52833 while the nRF52 DEV KIT is with nRF52832. For other applications, flashing the custom board with this DEV KIT worked well. Not sure if any doubts from this point? 

  • If there is no external pull-up or other connection on the custom board uart Rx pin make sure the internal pin pull-up is enabled in the ble_app_uart code otherwise you will get an error like this because initialising the uart can generate a framing error if the Rx pin is not held high; alternatively to test this suggestion connect the Rx pin to Vdd and see if the error goes away.

  • Thanks a lot  . The issue was resolved when I enable RX pin with the internal pin pull-up by the following code (for anyone got this issue in the future).

    nrf_gpio_cfg_input(RX_PIN_NUMBER, NRF_GPIO_PIN_PULLUP);
     

Reply Children
No Data
Related