Unable to flash new code in rapid iot board

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Unable to flash new code in rapid iot board

8,754 Views
trialaccount12
Contributor V

Hi,

     I am working with Rapid IoT currently. The board was working fine when I download the bin files through rapid Iot studio online [https://rapid-iot-studio.nxp.com/ ]. I searched through examples in the community to flash a program using MCU xpresso into rapid iot board using hexiwear docking station.  I found this demo RapidIoT: Led Matrix Easy & Quick start demo 

   I modified the code a bit to add my functionality. It was working fine. I was able to debug the code and visualize it in console. 

  The I tried to flash "hello world" the demo example from rapid iot k64F SDK using the docking station and rapid iot board placed in it . But the debug of "hello world" was not working and it was debugging this previous demo RapidIoT: Led Matrix Easy & Quick start demo

  The leds near SW1 in rapid Iot board was glowing blue and white color.

  I tried all the reset methods which was there in documentation. But nothing helped. It keeps on debugging the same demo over and over whenever I try. 

Please note that jumper pins are set for K64F board in docking station -  11001000. 

  I am not sure why this is happening. The rapid Iot seems to be stable when i use studio IDE to flash the code  but not MCUxpresso. Why is this happening ? I am not able to understand. This is the second time I am facing this issue. Last time my rapid Iot board crashed when I tried to work with MCU xpresso and it never booted again. 

I have attached my project with this. Can someone take a look into it. Any pointers would be highly helpful.

Thanks in advance.

Thanks and Regards

Niranjan Ravi.

19 Replies

7,890 Views
frq05186
NXP Employee
NXP Employee

Hi Alejandro,

==> Did you actually put the switches on the docking station back to 11001xxx ? 

I did instructions step by step and it worked on my side.

I am asking because the only way for me to reproduce the error you are reporting is to leave the switches on 00111xxx and then try programming kboot_k64F project

pastedImage_1.png

7,892 Views
alejandro_abrah
Contributor III

Hi Eric,

Of course, I followed your instructions carefully ! Emails, forum and the video you posted.

I have re done it before getting back to you now.

I can try to video what I do and send it to your email if you wish so.

I have no clue what can be wrong with the device. I bought it brand new and I need it asap for a research project. I hope we can sort it out.

Thanks again.

Best,

Alejandro

0 Kudos

7,893 Views
frq05186
NXP Employee
NXP Employee
0 Kudos

7,893 Views
frq05186
NXP Employee
NXP Employee

Hi,

Your new kit is on its way – should arrive tomorrow, Friday

0 Kudos

7,894 Views
frq05186
NXP Employee
NXP Employee

Hi both,

The symptoms you describe again point to a K64 booting issue, likely cause the bootloader has been overwritten.

K64 is not booting and certainly maintaining the PROG_RST reset pin to 0.

This pin is also connected to MK20F reset as can be seen on the docking station schematic:

https://download.mikroe.com/documents/specials/hexiwear/Hexiwear-docking-station-schematic-v102.pdf

pastedImage_2.png

As a consequence the docking station is always booting in maintenance when the kit is plugged in and the switches are set to 1100xxxx.

You can try booting your docking without Rapid IoT and you will see it will boot normaly. 

In order to recover from this situation, follow these steps:

- Plug your docking to your PC and turn your docking station OFF

- Plug Rapid Iot if not done already

- Set the switches to 0011xxxx

- Turn the docking ON

   - as K20F is now connected to KW41Z in Rapid iot, (RST and SDIO) the docking station will boot normaly. (Verify that IoT DAPLINK is displayed in a browser)

- Put the swtiches back to 1100xxxx

- Now you should be able to program the bootloader back in K64 

- Once bootloader is programmed, flash a programm starting at 0x14000 (or drag a drop a Binary generated from the studio)

- A reset is certainly required.

Hope this will help

Eric

Unable to flash new code in rapid iot board

7,894 Views
trialaccount12
Contributor V

Hi,

     I followed your instructions:

1. Without rapid Iot board, I switched on docking station. It showed IOT-DAPLINK

2. I turned it off and plugged in Rapid-IoT board

3.I changed the MK20F pins to 00111111 and turned On the docking station

4.It is still showing MAINTENANCE  mode.

I checked my device manager when it is in Maintenance mode and I could see the device under USB  controller as mbed composite device but nothing in portable devices.

I should be able to see the device under portable devices for dumping the Kboot K64F into board through MCU Xpresso.

I could see

1. Docking station works fine. Cause i tested with other rapid Iot boards

2. "USB  controller as mbed composite device" rapid iot board with docking station is getting detected .

But I cant understand why it is not changing to IOU-DAPLINK still?

Thank you

Thanks and Regards

Niranjan

0 Kudos

7,894 Views
frq05186
NXP Employee
NXP Employee

Hi Niranjan,

The docking station boots in maintenance because the Rapid Iot you try reprogramming stick KW20 reset signal to ground when turning the docking on.

Here is another way you can try:

0 - Charge Rapid Iot battery a bit 

1 - If not the case, set the switches to 11001xx (assuming you want to program K64 bootloader) 

2 - Remove rapid Iot from docking

3 - Plug docking station to PC and turn it on.  It will appear as IoT-DAPLINK

4 - Then plug your Rapid IoT on the docking carefully. The Kit MUST NOT RESET (If it does, restart from step 1)

You should be able to program kboot via MCUXpresso

The kit is to have the docking station (K20 actually) booting freely so you have access to K64 memory 

Please confirm this work before we go to next step.

FRom what you describe it can be that you also have to reflash KW41Z  kboot.

7,914 Views
alejandro_abrah
Contributor III

Hi Niranjan,

It worked for me the following:

1. Remove the Rapid IoT

2. Set Docking Station switches to 11001000

3. Plug the switched off USB docking Station USB cable to your computer

4. Keep pressed the MK64 reset button while switching docking station ON

5. Wait 2 seconds and then release the reset button

6. Drag and Drop k20dx_rapid_iot_if_crc_legacy_0x8000.bin into the maintenance folde

Those are the steps at Rapid IoT Prototyping Tool User’s Guide page 38.

Hope it helps,

Alejandro

0 Kudos

7,914 Views
trialaccount12
Contributor V

Hi,

    Thank you for your reply. Yes, i tried it still its same. Maintenance mode still persists. 

Meanwhile i checked the documentation, 

To reprogram the OpenSDA Application from the MikroElektronika Docking-station follow those steps (Rapid IoT board should not be mounted to the Docking station):

I could see this. However, I tried all steps you mentioned and still it did not help.

Regards

Niranjan

0 Kudos

7,914 Views
frq05186
NXP Employee
NXP Employee

I am really sorry you do not get this fixed.

When you write 'Maintenance mode still persists' can you confirm:

Q1: That wo kit the docking station shows IOT-DAPLINK

Q2: That when plugin the kit in the docking it still remains displayed as IOT-DAPLINK

If yes to both, being in that state, you should drag and drop K64 bootloader (switches being on 11001XXX) and redo the whole process again, but this time drag and drop KW41 bootloader (switches being changed to 00111XXX)

==> Let me know which failure you faced and if still not working, I will get your kit replaced.

7,942 Views
trialaccount12
Contributor V

Hi,

   Q1. Yes, docking station shows IOT-DAPLINK

   Q2. Yes, It shows IOT-DAPLINK even after placing rapid Iot board.

I dumped k64F boot loader and it did not work. I also tried with KW41z bootloader as well. I have tried all the possible things for this particular board. You suggestions helped me a lot to fix similar issues in other boards but not his particular one. 

The failure occurs in dumping the bootloader files and I could not understand why this is happening. 

Thank you

Thanks and Regards

Niranjan

0 Kudos

7,942 Views
alejandro_abrah
Contributor III

Hi Eric,

In addition to the previous email, this is the console output at Mcuexpresso:

Thanks again.

Best,

Alejandro

0 Kudos

7,941 Views
alejandro_abrah
Contributor III

Hi Eric,

Thank you for your feedback.

I did the first part and obtained:

Then I built and tried debugging as per your video instructions:

After that screen it did show the Connect to target: LinkServer with one available attached probe. I clicked Ok, and I got the following:

And I still cannot upload the bootloader. What do you think it can be ?

Thanks again.

Best,

Alejandro

0 Kudos

7,941 Views
trialaccount12
Contributor V

Hi Eric,

           Thanks for the update. I will give it a try and get back to you.

Thanks and Regards

Niranjan Ravi.

0 Kudos

7,941 Views
frq05186
NXP Employee
NXP Employee

Hi Niranjan,

Jean-François unfortunately no longer works for NXP.

The problem you are facing is likely a typical one many users are facing. The white and blue led indicates the kit is not booting (actually KW41Z is not booting).

Few détails: as we have 2 µC in the kit we need to manage their respective resets as they will exchange information. Out of factory, this is managed by boot loaders flased in both KW41 and K64 from address 0 onwards.

Then for K64 the bin you would flash on top must start at address 0x14000.

I just checked and it is not the case for the example project from Jean-François. I will get this fix so later users do not fall in same trap

When writing code from MCUXpresso, this can be configured in the project properties - here is where it needs to be changed

pastedImage_1.png

In order to recover, you would have to reflash kboot for K64F.

Théophile di dshoot few videos on this:

https://community.nxp.com/docs/DOC-342112

https://community.nxp.com/docs/DOC-342183

7,930 Views
alejandro_abrah
Contributor III

Hi Eric,

I have the same problem. I have followed the steps in the video, but when the board is connected it shows the MAINTENANCE directory only, and it does not show available probes after clicking debug. Any other suggestion ?

Thanks,

Alejandro

pastedImage_1.png

pastedImage_2.png

7,931 Views
alejandro_abrah
Contributor III

In addition, I followed the Rapid IoT User's Guide at page 114, and I tried to use JLink Software package, but it looks like it does not recognize the docking station. Still the rapid IoT board shows Maintenance drive:

pastedImage_1.png

Thanks !

7,931 Views
trialaccount12
Contributor V

Hi,

      Yes, the same issue exists for me as well. Unable to use the board.

Thanks and Regards

Niranjan

0 Kudos

7,931 Views
trialaccount12
Contributor V

Hi @Eric Maurice,

    Thank you for the quick response. I will try this fix to solve the problem.

One more question. The same issue happened with a different rapid IoT board earlier and the board never booted up after that.

1. It was not getting detected through hexiwear [When I plug in the board into hexiwear - the status of the device in my pc changes from IoT-daplink to maintenance MODE and once removing the rapid IoT board status changes back to IoT-daplink]

2. It was not getting detected through USB as well.

3. resetting it many times also did not work.

Any pointers to fix this one as well? Curious why this is happening.

Thanks and Regards

Niranjan 

0 Kudos