nRF 52840 infinite loop in mesh bootloader after restart

hi,

when I call 'mesh_stack_device_reset()' function from the application, then the bootloader goes into infinite loop.

exactly at the

while (!NRF_CLOCK->EVENTS_DONE);
point int the main() -> init_clock() function

I read the errata_36, the workaround is in the SDK already, but this reset is not working on my board.

has anybody encountered this problem yet?

Parents
  • Hi,

    Can you give me more details about your setup? Which Mesh SDK are you using? 

    Are you using an unmodified example from the SDK?

    What board are you using?

  • Hi,

    Since the board is custom and the bootloader is modified it is hard to say what the issue is. 

    attila-v said:

    when I removed this snippet of code then the problem is solved, but the error is still exists...

    another 10 boards are working fine without this modofocation, is it possible that this is a unique problem?

    Confused by this. What do you mean by "problem is solved, but the error stil exists"? Seems like it isnt solved. And by snippet do you mean the modifications made to the bootloader?

    attila-v said:
    another 10 boards are working fine without this modofocation, is it possible that this is a unique problem?

    By modiifcations, I assume you mean the ones you made ot the bootloader? The 10 other board, were they all custom boards or DKs?

  • hi,

    Sorry I was not clear!
    the original problem is that there is a board which goes into infinite loop after calling the 'mesh_stack_device_reset()' function from the fw.
    another ten boards are working fine.

    all the eleven boards are the totally same construction (custom hw, custom bootloader, custom fw).
    if I remove this code snippet from bootloader:

    while (!NRF_CLOCK->EVENTS_DONE);

    then the problematic board will be fine too
    but it is a workaround only  - that's why I said that the problem is solved, but the error is still exists.

    best regards,

    Attila

Reply
  • hi,

    Sorry I was not clear!
    the original problem is that there is a board which goes into infinite loop after calling the 'mesh_stack_device_reset()' function from the fw.
    another ten boards are working fine.

    all the eleven boards are the totally same construction (custom hw, custom bootloader, custom fw).
    if I remove this code snippet from bootloader:

    while (!NRF_CLOCK->EVENTS_DONE);

    then the problematic board will be fine too
    but it is a workaround only  - that's why I said that the problem is solved, but the error is still exists.

    best regards,

    Attila

Children
No Data
Related