12.7 芯片擦除 清除芯征包括清除所有明感信息在芯片里的还有NVMCTRL加密位(参考:”Security Bit”在350页).因此,所有动态存和FLASH阵列(包括模拟EEPROM部分)将要被删除。Flash辅助行,包括用户行,不会被删除。当芯片被保护时,调试器为了检测到芯片必须复位芯片。 这确保了内部寄存器在保护状态被移除后都复位。芯片擦除操作的引发是在控制寄存器里写一个位(CTRL.CE).如果DSU外围保护访问控制器(PAC),这个命令将被丢弃。当执行时,模块清除动态存贮在删除FLASH阵列之前。确保整个芯片被删除,检查Done比特在A状态寄存器(STATUSA.DONE).芯片擦除操作依靠可以被CPU改变的时钟和电源管理。推荐在冷插入过程之后确保芯片可控和安全的状态下再执行删除操作。 推荐的过程如下: 1. 执行冷插入过程,芯片将: 1. 检测调试器探头 2. 使CPU保持在复位状态。 2. 执行芯片擦除命令通过写1到CTRL.CE.芯片将: 1. 清除系统动态存贮器 2. 删除整个芯片阵列(包括模拟EEPROM部分,不包括辅助线) 3. 删除锁定线,移除MVMCTRL加密位保护。 3. 检查完成弹出标志STATUSA.DONE(完成时读1) 4. 复位芯片,让NVMCTRL更新熔丝位。 12.8 烧写程序 烧写程序到flash或RAM 存贮器是在芯片没有NVMCTRL加密位保护的情况下使能的 。 1. 在加电时,RESET被调试器驱动到低电平。片上监管机构使系统保持在POR状态直到电压超过POR阀值.系统继续保持静止状态直到内部管理达到一个安全的操作状态。 2. 在电源管理状态,时钟被选择为慢速时钟.内部复位保持直到外部复位。 3. 调试器在SWCLK保持低电平.释放RESET在冷插入步骤中。 4. 调试器在SWCLK管脚产生一个时钟信号,DAP(the Debug Access接收一个时钟 5. 由于Cold-PluggingCPU仍在重置过程;与此同时,系统的其余部分被释放。 6. 芯片在被编程之前确保被擦除 7. 通过AHB-AP编程是可用的。 8. 操作完成后,芯片可以声称复位重启切换电源或写一个
状态寄存器CPU复位阶段扩展(STATUSA.CRSTEXT)。确保SWCLK销
高时释放重置为防止扩展CPU复位
|