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:
Neither of these appear to be an issue when the non-crp NXP QN9080C device is selected in jflash.
USB image is generated by the command
N908x_Image_Editor_v1.0.0.exe -i <file.bin> -u
JFlash generates its own CRC (red). The CRP register is unchanged from the default (0x0aa8ff).
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.
(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:
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?
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.