Is it possible to brick the CYBLE-013025 by placing faulty code in APPLICATION_INIT()

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

I placed some code in the APPLICATION_INIT() function because I am trying to custom set the device .local_name value at run time. In the process of doing so, two different items I think are responsible for the problem I am experiencing. 1: I placed an infinite while loop in the function under an if statement to see if it was being hit (If the program didn't advertise I figured it hit the if statement). 2: I tried a puart_print before actually setting it up without noticing that it was in there.

I'm wondering if the  APPLICATION_INIT() function might get called before entering the HCI Uart programmable mode. If so, it is going to continue to hard fault or hang and never program again.

Is there a way to hard reset so this code no longer resides in the chip?

I have 3 different chips that now have this problem. I don't believe they were ever shocked.

0 Likes
1 Solution
JacobT_81
Employee
Employee
250 replies posted 100 replies posted 50 replies posted

To perform a recovery of a corrupted 20736-based device:

A. Press-hold RECOVER, press-release RESET, release RECOVER

B. Edit any make target: replace “download” with “recover UART=COMxx”

C. Use make target. Replace ‘xx’ with your COM port (found in Device Manager)

D. Double click make target to execute build.

Jacob

View solution in original post

3 Replies
AnjanaM_61
Moderator
Moderator
Moderator
5 comments on KBA First comment on KBA 5 questions asked

Hello,

Can you please share the code for the same?

Thanks,

Anjana

0 Likes
JacobT_81
Employee
Employee
250 replies posted 100 replies posted 50 replies posted

To perform a recovery of a corrupted 20736-based device:

A. Press-hold RECOVER, press-release RESET, release RECOVER

B. Edit any make target: replace “download” with “recover UART=COMxx”

C. Use make target. Replace ‘xx’ with your COM port (found in Device Manager)

D. Double click make target to execute build.

Jacob

Anonymous
Not applicable

My devkit board didn't have a recover button, it only has the user button and the reset button. Luckily all I had to do was apply VDD to the port that recover would have been on with a jumper cable. and then pull it. Andy, one of your company rep's, helped me find it. Apparently though I plugged into the wrong one but it still worked. I applied VDD to the I2C SDA pin, but I guess I was supposed to use port P32.

0 Likes