QN9080 Flash Protection

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

QN9080 Flash Protection

746 Views
rickdickerson
Contributor III

Hello. I am trying to protect the first several pages in the QN9080 flash and am running into trouble with erasing unprotected pages. In order to test the problem, I have reduced the protection to a single page and the problem persists.

(Note: I have my flash mapped to address zero, so I am using address 0x00000000 as the start of page zero for this discussion.)

I have protected the page zero by writing 0xFFFFFFFE to address 0x0007F800.

I have disabled flash and memory protection by writing 0x00000001 to address 0x0007F820.

I am using SDK_2_.x_QN908XCDK version 2.2.0 (Manifest Version 3.0.0).

If I try to erase address 0x7000, which is page 14, the call to FLASH_PageErase (in fsl_flash.c) fails because the LOCKL_INT bit in FLASH>INT_STAT is set. However, the flash does get erased and the ERASEL_INT bit also gets set. I have seen the device erase multiple pages without any error, and then the LOCKL_INT bit will get on a subsequent erase. I haven't been able to find any pattern for this except that the LOCKL_INT bit will never get set if I do not protect any flash pages.

I have also found that if I clear the LOCKL_INT bit and try the erase again, the FLASH_PageErase function will not fail.

Why is the LOCKL_INT error bit getting set for unprotected pages, even though the erase succeeds?

Thanks,
Rick

0 Kudos
2 Replies

621 Views
estephania_mart
NXP TechSupport
NXP TechSupport

Hello,

When you mention you clear the LOCKL_INT  how do you do it? According to the UM of the device the access to the register is only meant to be read .

pastedImage_3.png

Do you mean the LOCKL_INT_EN? pastedImage_5.png

Regards ,

Estephania

0 Kudos

621 Views
rickdickerson
Contributor III

Estephania,

Any insight into why the LOCKL_INT status flag is getting set when erasing unprotected pages?

I am using the LOCKL_INT_CLR bit in the INT_CLR register to clear the status flag.

pastedImage_1.png

Thanks,
Rick

0 Kudos