QN908x Enhanced image bricks device

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

QN908x Enhanced image bricks device

662 Views
joseraffucci
Contributor IV

This issue is related to this thread I started about ISP in general - QN908X ISP HOWTO?.  I am currently trying to figure out why my chip does not go into ISP USB mode.

I have a QN908C on a custom board.  I am able to create an image in IAR an flash via jflash successfully.  I can also take this image, create a legacy image and also successfully flash to my device in the same manner. 

When I try to create a USB image however, jflash complains that:

  1. The CRC is incorrect
  2. The CRP function is not supported in the device type.

Neither of these appear to be an issue when the non-crp  NXP QN9080C device is selected in jflash.

pastedImage_2.png

USB image is generated by the command

N908x_Image_Editor_v1.0.0.exe -i <file.bin> -u

pastedImage_3.png

JFlash generates its own CRC (red).  The CRP register is unchanged from the default (0x0aa8ff).

pastedImage_7.png

I get these errors and the unit flashes successfully and my app runs but I am unable to get it to boot into ISP mode.

pastedImage_8.png

pastedImage_9.png

(Yes to CRC)

I tried again with the CRP enabled device.  The image flashes but I lost the connection, I am unable to talk to it again via SWD.  It also does not respond to the CHIP_MODE pin.  After I attempted to flash, I noticed that the CRP bits are different:

pastedImage_10.png

I'm guessing that my devices are not recoverable at this point, right?

Why is the image different between the two devices and why is the Image editor not generating a valid CRC?

Tags (2)
0 Kudos
1 Reply

379 Views
gerardo_rodriguez
NXP Employee
NXP Employee

Hello Jose,

I believe the problem is that you are tried to flash a binary file meant for the USB bootloader directly to the QN9080 memory with JFlash. JFlash expects the CRP value to be at address 0x20 and it complains because it has an invalid value and doesn't allow writing the CRP register to protect it. When you selected the device which allows CRP, JFlash programmed an invalid value to the CRP register and could potentially leave the QN9080 in a secured state.

0 Kudos