WE are unexpectedly bricking our DSPs during code development. As shown in the code fragment below, we set the CSM password values to all ones.
Yet we still periodically brick one of our processors.
When we program flash, we use CAN. we've strapped the boot mode select pins to the supply voltage, and DSP_ADDR14/GPIO86 is grounded to select CAN boot/flash mode.
On one occasion, I believe we inadvertently grounded GPIO86 while running and our processor was bricked after that.
Does anyone know of any other bricking modes that may not be the Flash (we think) we have protected from accidental locking?
Or, is there any way to completely Zot out the flash and clear the lock?
;;------------------------------------------------------------------------------
;; F28335_CSM_a.asm
;;------------------------------------------------------------------------------
;; This file explicitly sets the CSM passwords to ensure no device lock-out /
;; "bricking" can occur when using other download utilities other than MM_WIN.
;;
;;------------------------------------------------------------------------------
; The "csmpasswds" section contains the actual CSM passwords that will be
; linked and programmed into to the CSM password locations (PWL) in flash.
; These passwords must be known in order to unlock the CSM module.
; All 0xFFFF's (erased) is the default value for the password locations (PWL).
; It is recommended that all passwords be left as 0xFFFF during code
; development. Passwords of 0xFFFF do not activate code security and dummy
; reads of the CSM PWL registers is all that is required to unlock the CSM.
; When code development is complete, modify the passwords to activate the
; code security module.
; If you set locations to 0x0000, this device becomes a one-time programmable
; device and will be locked/bricked.
.sect ".csmpasswds"
.int 0xFFFF ;PWL0 (LSW of 128-bit password) Set to 0xFFFF
.int 0xFFFF ;PWL1 Set to 0xFFFF, can't use CSM (see below)
.int 0xFFFF ;PWL2 Set to 0xFFFF, can't use CSM (see below)
.int 0xFFFF ;PWL3 Set to 0xFFFF, can't use CSM (see below)
.int 0xFFFF ;PWL4 Set to 0xFFFF, can't use CSM (see below)
.int 0xFFFF ;PWL5 Set to 0xFFFF, can't use CSM (see below)
.int 0xFFFF ;PWL6 Set to 0xFFFF, can't use CSM (see below)
.int 0xFFFF ;PWL7 (MSW of 128-bit password) Set to 0xFFFF
;