This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

DISABLEINDEBUG Register Missing on nRF52840 NRF_ACL

Hi,

I am trying to disable writes to certain regions of flash memory.
But different from the nRF52840 Product Specification, NRF_ACL is missing the DISABLEINDEBUG register (SDK 16.0.0).

typedef struct {                                /*!< (@ 0x4001E000) ACL Structure                                              */

  __IM  uint32_t  RESERVED[512];

  __IOM ACL_ACL_Type ACL[8];                    /*!< (@ 0x00000800) Unspecified                                                */

} NRF_ACL_Type;                                 /*!< Size = 2176 (0x880)                                                       */

What is the default behavior when DISABLEINDEBUG register is not set?
Would the flash writes be allowed when a debugger is connected?

Some articles seem to indicate RESERVED[449] is the location for DISABLEINDEBUG.
Would manually changing the value of that location have any effect?

Please let me know.

Parents Reply Children
  • Maybe the feature was removed in later revisions? Below is a snippet from SDK 12.3.0.

    /**
      * @brief Access control lists (ACL)
      */
    
    typedef struct {                                    /*!< ACL Structure                                                         */
      __I  uint32_t  RESERVED0[449];
      __IO uint32_t  DISABLEINDEBUG;                    /*!< Disable all ACL protection mechanisms for regions while in debug
                                                             mode                                                                  */
      __I  uint32_t  RESERVED1[62];
      ACL_ACL_Type ACL[8];                              /*!< Unspecified                                                           */
    } NRF_ACL_Type;

    At any rate, thank you for the tip, Kenneth.

  • Hi,

    You are right, I can see from the release notes in MDK 8.14.0:
    # Removed register DISABLEINDEBUG in ACL.

    Out of curiosity I have checked the internal documentation also, there is no mentioning of this feature, I can only assume it was intended once, but never made it to the final spec. nRF SDKv12.2 was the first SDK that started supporting the engineering samples of the nRF52840, so must have been a error in MDK.

    Best regards,
    Kenneth

Related