I write version of ble app into uicr, and I want to rewrite it when I update my ble app.
Or I must erase all chip , then write uicr again?
I write version of ble app into uicr, and I want to rewrite it when I update my ble app.
Or I must erase all chip , then write uicr again?
just erase UICR and then re-write
No. You can only erase UICR with entire flash region together.
typedef struct { __I uint32_t RESERVED0[256]; __I uint32_t READY; __I uint32_t RESERVED1[64]; __IO uint32_t CONFIG; __IO uint32_t ERASEPAGE; __IO uint32_t ERASEALL; __IO uint32_t ERASEPROTECTEDPAGE; __IO uint32_t ERASEUICR; } NRF_NVMC_Type;
You mean I can erase UICR by write NVMC->ERASEUICR ?
I try but not work. How can I use it?
I don't think it's possible to erase UICR and rewrite without erasing the whole chip.