This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS570LC4357:MCU 寄存器 SW 配置错误后无法刷写设备(-1170错误代码)。

Guru**** 1825110 points
Other Parts Discussed in Thread: TMS570LC4357
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1386357/tms570lc4357-unable-to-flash-device-after-mcu-register-sw-misconfiguration--1170-error-code

器件型号:TMS570LC4357

工具与软件:

大家好!  

我将 在定制板上使用 TMS570LC4357微控制器。 我通过 TMS320-XDS100-V3 JTAG 仿真器在 MCU 上加载固件。

尝试配置 MCU 的一些时钟源寄存器(下面的代码****)后、我无法通过 JTAG 仿真器(-1170错误代码)访问 DAP。

我想问您是否有办法在不使用 JTAG 的情况下擦除 MCU 的内部闪存以恢复出厂配置。  

在直接从 CCS 调试配置连接到 Icepick 和 DAP 后、无法访问闪存。

我曾尝试过保持 MCU 的复位(nRST)以 inhbit 固件并擦除闪存、但这样 无法访问 PRSC 模块(-6306错误代码)。  

此致、  

路易吉

****

typedef unsigned int t_UINT;

systemREG1->CSDIS |=(t_UINT)((t_UINT) 1U << 11U)/*禁用 AVCLK4 *

   |(t_UINT)((t_UINT) 0x1U << 0x7U)/*禁用时钟源7:EXTCLKIN2     */

   |(t_UINT)((t_UINT) 0x1U << 0x6U)/*禁用时钟源6:PLL2          *

   |(t_UINT)((t_UINT) 1U <<5U )     /*禁用 AVCLK2 */

   |(t_UINT)((t_UINT) 1U << 4U)     /*禁用 AVCLK1 */

   |(t_UINT)((t_UINT) 0x1U << 0x3U)/*禁用时钟源3:EXTCLKIN      *

   |(t_UINT)((t_UINT) 0x1U << 0x2U);/*禁用时钟源2 (未实现)*/

 

 systemREG1->CSDISSET |=(t_UINT)(((t_UINT) 0x1U <<6U)/*禁用时钟源6 */

                                   |(t_UINT)((t_UINT) 0x1U << 1U));/*禁用时钟源1 *

 

 systemREG1->CLKTEST &=(t_UINT)(~((t_UINT) 0x1U <<25U));/*禁用时钟监控器范围检测电路*/

 

 flashWREG->FBPWRMODE |=(t_UINT)((t_UINT) SYS_ACTIVE << 14U)/*组7 *

                       |(t_UINT)((t_UINT) SYS_ACTIVE << 2U) /*存储体1 */

                       |(t_UINT)((t_UINT) SYS_ACTIVE << 0U);/*组0 *

 

 emifREG->CE2CFG &=~((t_UINT)((t_UINT) 1U << 31U)/*禁用选通模式*/

                      |(t_UINT)((t_UINT) 1u << 30U);/*禁用扩展等待周期*/

 

 emifREG->CE3CFG &=~((t_UINT)((t_UINT) 1U << 31U)/*禁用选通模式*/

                      |(t_UINT)((t_UINT) 1u << 30U);/*禁用扩展等待周期*/