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.

[参考译文] TMS320F28377S:断点管理器:使用 AET 断点重试

Guru**** 2399305 points
Other Parts Discussed in Thread: TMS320F28377S

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1188008/tms320f28377s-breakpoint-manager-retrying-with-a-aet-breakpoint

器件型号:TMS320F28377S

大家好、

GEL 文件是否存在以下问题? 我正在使用 TMS320F28377S 处理器、并从 DSS Java 脚本中尝试在执行结束时保持断点(exit.c)。

错误日志:

开始脚本会话
连接目标
目标已连接
警告:C28xx_CPU1_0:断点管理器:使用 AET 断点重试

加载程序
执行程序
警告:C28xx_CPU1_0:断点管理器:使用 AET 断点重试
严重:C28xx_CPU1_0:在0x85d58上执行"Finish Auto Run"操作时设置断点时遇到问题:(错误-1066 @ 0x85D58)无法设置/清除请求的断点。 验证断点地址是否在有效存储器中。 (仿真包9.4.0.00129)

严重:C28xx_CPU1_0:设置断点时出现问题、在0x85dba 处执行"保持暂停"操作:(错误-1066 @ 0x85dba)无法设置/清除请求的断点。 验证断点地址是否在有效存储器中。 (仿真包9.4.0.00129)
结束脚本会话

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我看到了对 AET 误差的多次引用。 这指的是硬件断点。 我假设您的代码从闪存运行、并且依赖于硬件断点。 请注意、对于较旧的28x 器件、只有两个可用的硬件断点资源。 这在调试过程中可能是一个很大的限制、您必须仔细使用这些资源。 在许多情况下、调试器会尝试在后台使用硬件断点。  

    请阅读以下文章、了解有关 AET 和硬件断点资源的更多详细信息

    https://dev.ti.com/tirex/explore/node?node=A__AFxRAHEqhlcitK5yopkNoA__ccs_devtools__FUz-xrs__LATEST

    谢谢

    Ki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是否可以在 GEL 文件中禁用这些断点?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您是否提到了文章中提到的"隐藏"断点?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、我使用默认 GEL 文件和 DSS 脚本、使用 RTRT TDP 将二进制文件刷写到目标。

    观察到没有生成适当的布线转储。 是因为该 AET 误差?

    查找以下更新的 GEL 文件。 (针对跟踪转储进行了更新)

    /******** /
    /* f28377s.gel */
    /*版本4.00.0 */
    /**//
    /*此 GEL 文件用于 TMS320F28377S DSP。 *
    /*可能需要更改才能支持特定的硬件设计。 *
    /**//
    /* Code Composer Studio 支持6个保留的 GEL 函数,该函数是*/
    /*如果已定义,则自动执行。 它们是:*/
    /**//
    /* startup()-每当调用 CCS 时执行*/
    /* OnReset()-在调试后执行->重置 CPU */
    /* OnRestart()-在调试后执行->Restart */
    /* OnPreFileLoaded()-在 File->加载程序*/之前执行
    /* OnFileLoaded()-在 File->Load Program 之后执行*/
    /* OnTargetConnect()-在 Debug -> Connect 之后执行*/
    /**//
    /******** /

    startup()

    /******* Harikishore RTRT 更新 /
    //GEL_BreakPtAdd (C$$EXIT、"myexit()");
    GEL_BreakPtReset();

    GEL_MemoryFill (atl_buffer、1、0x1800、0x0000);


    /******* Harikishore RTRT 更新 /
    OnReset (int nErrorCode)

    *(int *) 0x7029 = 0x68;//禁用 WD *

    SetupDCSM();//初始化 DCSM */

    DEVICE_Config();

    CLA_Clock_Enable ();

    if (GEL_IsInRealtimeMode())/* If in Real-time mode */


    else /*将器件置于 C28x 模式*/

    C28x_Mode();

    OnRestart (int nErrorCode)

    /* CCS 在您执行 Debug->Restart 和*/时将调用 OnRestart()
    //加载新文件后。 之间进行切换
    /*程序、此函数将清除中断并帮助保持*/
    /*处理器从关闭到无效内存。 *
    if (GEL_IsInRealtimeMode())/* If in Real-time mode */


    else /*将器件置于 C28x 模式*/

    C28x_Mode();

    IER = 0;
    IFR = 0;

    OnPreFileLoaded()

    GEL_Reset ();

    OnFileLoaded (int nErrorCode、int bSymbolsOnly)

    如果(!bSymbolsOnly){
    DEVICE_Cal ();

    OnTargetConnect()

    *(int *) 0x5F412 =0x000F;//针对 M0/M1/D0/D1存储器的 RAM 初始化*
    *(int *) 0x5F432 =0x003F;/* LS0..LS5存储器的 RAM 初始化*
    *(int *) 0x5F452 =0xFFFF;//针对 GS0..GS15存储器的 RAM 初始化*

    if (GEL_IsInRealtimeMode())/* If in Real-time mode */


    else /*将器件置于 C28x 模式*/

    C28x_Mode();

    F2837x_Memory_Map();//初始化 CCS 内存映射*/

    /*检查 CCS 是否已与 DSP 一起启动*/
    /*以实时模式运行。 用户可以添加任何*/
    /*他们希望针对每种情况进行的自定义初始化内容。 *

    if (GEL_IsInRealtimeMode())/*执行实时模式目标初始化*/


    否则/*执行停止模式目标初始化*/

    GEL_Reset ();/* Reset DSP */


    /******** /
    /*这些功能对于实时交互/分离非常有用*/
    调试期间的/*仿真模式。 它们使用户不必使用*/
    /*在 CCS 中手动执行这些步骤。 *
    /******** /
    菜单项"Realtime Emulation Control";

    热菜单 Run_Realtime_With Reset ()

    GEL_Reset ();//重置 DSP *
    ST1 = ST1 & 0xFFFD;//清除 ST1中的 DBGM 位*/
    GEL_EnableRealtime();/*启用 Realtime 模式*/
    GEL_Run();//运行 DSP */

    热菜单 Run_Realtime_With Restart ()

    GEL_Restart ();//重置 DSP *
    ST1 = ST1 & 0xFFFD;//清除 ST1中的 DBGM 位*/
    GEL_EnableRealtime();/*启用 Realtime 模式*/
    GEL_Run();//运行 DSP */

    hotmenu full_halt ()

    GEL_DisableRealtime();/*禁用 Realtime 模式*/
    GEL_Halt();/*停止 DSP */

    热菜单 full_halt_with 重置()

    GEL_DisableRealtime();/*禁用 Realtime 模式*/
    GEL_Halt();/*停止 DSP */
    GEL_Reset ();//重置 DSP *

    /********* /
    /* F28377S 内存映射*/
    /**//
    /********* /
    MenuItem "Initialize Memory Map";

    热菜单 F2837x_Memory_Map ()

    /* GEL_MapReset();*/
    GEL_MapOn();


    /*程序内存映射*/
    GEL_MapAddStr (0x00000000、0、0x400、"R|W|AS2"、0);// M0 RAM (带 ECC)(2 KB)*/
    GEL_MapAddStr (0x00000400、0、0x400、"R|W|AS2"、0);// M1 RAM (带 ECC)(2 KB)*/
    GEL_MapAddStr (0x000080000、0x800、"R|W|AS2"、0);// LS0 RAM (带奇偶校验)(4KB)*/
    GEL_MapAddStr (0x00008800、0、0x800、"R|W|AS2"、0);// LS1 RAM (带奇偶校验)(4KB)*/
    GEL_MapAddStr (0x000090000、0x800、"R|W|AS2"、0);// LS2 RAM (带奇偶校验)(4KB)*/
    GEL_MapAddStr (0x00009800、0、0x800、"R|W|AS2"、0);// LS3 RAM (带奇偶校验)(4KB)*/
    GEL_MapAddStr (0x0000A0000、0x800、"R|W|AS2"、0);// LS4 RAM (带奇偶校验)(4KB)*/
    GEL_MapAddStr (0x0000A800、0、0x800、"R|W|AS2"、0);// LS5 RAM (带奇偶校验)(4KB)*/
    GEL_MapAddStr (0x0000B0000、0x800、"R|W|AS2"、0);// D0 RAM (带 ECC 或奇偶校验)(4KB)*/
    GEL_MapAddStr (0x0000B800、0、0x800、"R|W|AS2"、0);// D1 RAM (具有 ECC 或奇偶校验)(4KB)*/
    GEL_MapAddStr (0x0000C0000、0x1000、"R|W|AS2"、0);// GS0 RAM (带奇偶校验)(8KB)*/
    GEL_MapAddStr (0x0000D0000、0x1000、"R|W|AS2"、0);// GS1 RAM (带奇偶校验)(8KB)*/
    GEL_MapAddStr (0x0000E0000、0x1000、"R|W|AS2"、0);// GS2 RAM (带奇偶校验)(8KB)*/
    GEL_MapAddStr (0x0000F0000、0x1000、"R|W|AS2"、0);// GS3 RAM (带奇偶校验)(8KB)*/
    GEL_MapAddStr (0x000100000、0x1000、"R|W|AS2"、0);// GS4 RAM (带奇偶校验)(8KB)*/
    GEL_MapAddStr (0x00011000、0、0x1000、"R|W|AS2"、0);// GS5 RAM (带奇偶校验)(8KB)*/
    GEL_MapAddStr (0x00012000、0、0x1000、"R|W|AS2"、0);// GS6 RAM (带奇偶校验)(8KB)*/
    GEL_MapAddStr (0x000130000、0x1000、"R|W|AS2"、0);// GS7 RAM (带奇偶校验)(8KB)*/
    GEL_MapAddStr (0x000140000、0x1000、"R|W|AS2"、0);// GS8 RAM (带奇偶校验)(8KB)*/
    GEL_MapAddStr (0x000150000、0x1000、"R|W|AS2"、0);// GS9 RAM (带奇偶校验)(8KB)*/
    GEL_MapAddStr (0x000160000、0x1000、"R|W|AS2"、0);// GS10 RAM (带奇偶校验)(8KB)*/
    GEL_MapAddStr (0x00017000、0、0x1000、"R|W|AS2"、0);// GS11 RAM (带奇偶校验)(8KB)*/
    GEL_MapAddStr (0x000180000、0x1000、"R|W|AS2"、0);// GS12 RAM (带奇偶校验)(8KB)*/
    GEL_MapAddStr (0x000190000、0x1000、"R|W|AS2"、0);// GS13 RAM (带奇偶校验)(8KB)*/
    GEL_MapAddStr (0x0001A0000、0x1000、"R|W|AS2"、0);// GS14 RAM (带奇偶校验)(8KB)*/
    GEL_MapAddStr (0x0001B0000、0x1000、"R|W|AS2"、0);// GS15 RAM (带奇偶校验)(8KB)*/
    GEL_MapAddStr (0x000700000、0x400、"R|AS2"、0);// TI OTP 组0 (2 KB)*/
    GEL_MapAddStr (0x00070800、0、0x400、"R|AS2"、0);// TI OTP 组1 (2 KB)*/
    GEL_MapAddStr (0x000800000、0x40000、"R|AS2"、0);//闪存组0 (512 KB)*/
    GEL_MapAddStr (0x000C00000、0x40000、"R|AS2"、0);//闪存组1 (512 KB)*/
    GEL_MapAddStr (0x001000000、0x200000、"R|W|AS2"、0);// EMIF-1 (程序+数据)(4 MB) CS2n -异步访问*/
    GEL_MapAddStr (0x003000000、0x80000、"R|W|AS2"、0);// EMIF-1 (Prog +数据)(1 MB) CS3n -异步访问*/
    GEL_MapAddStr (0x003800000、0x60000、"R|W|AS2"、0);/* EMIF-1 (Prog +数据)(1 MB) CS4n -异步访问*
    GEL_MapAddStr (0x003F00000、0x8000、"R|AS2"、0);//安全 ROM (64 KB)*/
    GEL_MapAddStr (0x003F80000、0x8000、"R|AS2"、0);//引导 ROM (主控方)(64KB)*/

    /*数据存储器映射*/
    GEL_MapAddStr (0x00000000、1、0x400、"R|W|AS2"、0);// M0 RAM (带 ECC)(2 KB)*/
    GEL_MapAddStr (0x00000400、1、0x400、"R|W|AS2"、0);// M1 RAM (带 ECC)(2 KB)*/
    GEL_MapAddStr (0x00000800、1、0xC80、"R|W|AS2"、0);/*外设空间*
    GEL_MapAddStr (0x00001480.1、0x80、"R|W|AS2"、0);/* CLA1toCPU1 MSG RAM (带奇偶校验)(256字节)*/
    GEL_MapAddStr (0x00001500、1、0x80、"R|W|AS2"、0);// CPU1toCLA1 MSG RAM (带奇偶校验)(256字节)*/
    GEL_MapAddStr (0x00002000、1、0x1000、"R|W|AS2"、0);// EMIF-2 (8KB) CS2n -异步访问*/
    GEL_MapAddStr (0x00003000、1、0x1000、"R|W|AS2"、0);//可配置逻辑寄存器(8 KB)*/
    GEL_MapAddStr (0x000040001、0x2000、"R|W|AS2"、0);/*外设空间*
    GEL_MapAddStr (0x000060001、0x1000、"R|W|AS2"、0);//高速串行端口寄存器(8 KB)*/
    GEL_MapAddStr (0x000071、0x1000、"R|W|AS2"、0);//系统配置寄存器(2 KB)*/
    GEL_MapAddStr (0x000080001、0x800、"R|W|AS2"、0);// LS0 RAM (带奇偶校验)(4KB)*/
    GEL_MapAddStr (0x00008800、1、0x800、"R|W|AS2"、0);/* LS1 RAM (带奇偶校验)(4KB)*
    GEL_MapAddStr (0x000090001、0x800、"R|W|AS2"、0);// LS2 RAM (带奇偶校验)(4KB)*/
    GEL_MapAddStr (0x00009800、1、0x800、"R|W|AS2"、0);// LS3 RAM (带奇偶校验)(4KB)*/
    GEL_MapAddStr (0x0000A0001、0x800、"R|W|AS2"、0);// LS4 RAM (带奇偶校验)(4KB)*/
    GEL_MapAddStr (0x0000A800、1、0x800、"R|W|AS2"、0);// LS5 RAM (带奇偶校验)(4KB)*/
    GEL_MapAddStr (0x0000B0001、0x800、"R|W|AS2"、0);// D0 RAM (带 ECC 或奇偶校验)(4KB)*/
    GEL_MapAddStr (0x0000B800、1、0x800、"R|W|AS2"、0);// D1 RAM (具有 ECC 或奇偶校验)(4KB)*/
    GEL_MapAddStr (0x0000C0001、0x1000、"R|W|AS2"、0);// GS0 RAM (带奇偶校验)(8KB)*/
    GEL_MapAddStr (0x0000D0001、0x1000、"R|W|AS2"、0);// GS1 RAM (带奇偶校验)(8KB)*/
    GEL_MapAddStr (0x0000E0001、0x1000、"R|W|AS2"、0);// GS2 RAM (带奇偶校验)(8KB)*/
    GEL_MapAddStr (0x0000F0001、0x1000、"R|W|AS2"、0);// GS3 RAM (带奇偶校验)(8KB)*/
    GEL_MapAddStr (0x000100001、0x1000、"R|W|AS2"、0);// GS4 RAM (带奇偶校验)(8KB)*/
    GEL_MapAddStr (0x00011000、1、0x1000、"R|W|AS2"、0);// GS5 RAM (带奇偶校验)(8KB)*/
    GEL_MapAddStr (0x00012000、1、0x1000、"R|W|AS2"、0);// GS6 RAM (带奇偶校验)(8KB)*/
    GEL_MapAddStr (0x000130001、0x1000、"R|W|AS2"、0);// GS7 RAM (带奇偶校验)(8KB)*/
    GEL_MapAddStr (0x000140001、0x1000、"R|W|AS2"、0);// GS8 RAM (带奇偶校验)(8KB)*/
    GEL_MapAddStr (0x00015,0001、0x1000、"R|W|AS2"、0);// GS9 RAM (带奇偶校验)(8KB)*/
    GEL_MapAddStr (0x00016,0001、0x1000、"R|W|AS2"、0);// GS10 RAM (带奇偶校验)(8KB)*/
    GEL_MapAddStr (0x000170001、0x1000、"R|W|AS2"、0);// GS11 RAM (带奇偶校验)(8KB)*/
    GEL_MapAddStr (0x000180001、0x1000、"R|W|AS2"、0);// GS12 RAM (带奇偶校验)(8KB)*/
    GEL_MapAddStr (0x00019000.1、0x1000、"R|W|AS2"、0);// GS13 RAM (带奇偶校验)(8KB)*/
    GEL_MapAddStr (0x0001A0001、0x1000、"R|W|AS2"、0);// GS14 RAM (带奇偶校验)(8KB)*/
    GEL_MapAddStr (0x0001B000.1、0x1000、"R|W|AS2"、0);// GS15 RAM (带奇偶校验)(8KB)*/
    GEL_MapAddStr (0x00040000、1、0x8000、"R|W|AS4"、0);/*外设空间*
    GEL_MapAddStr (0x00048800、1、0x1800、"R|W|AS4"、0);/*外设空间*
    GEL_MapAddStr (0x0004A800、1、0x15800、"R|W|AS4"、0);/*外设空间*
    GEL_MapAddStr (0x00070000.1、0x400、"R|AS2"、0);// TI OTP 组0 (2 KB)*/
    GEL_MapAddStr (0x00070800、1、0x400、"R|AS2"、0);// TI OTP 组1 (2 KB)*/
    GEL_MapAddStr (0x000780001、0x400、"R|AS2"、0);//用户 OTP 组0 (2 KB)*/
    GEL_MapAddStr (0x00078800、1、0x400、"R|AS2"、0);//用户 OTP 组1 (2 KB)*/
    GEL_MapAddStr (0x00080000.1、0x40000、"R|AS2"、0);//闪存组0 (512 KB)*/
    GEL_MapAddStr (0x000C00001、0x40000、"R|AS2"、0);//闪存组1 (512 KB)*/
    GEL_MapAddStr (0x01070000.1、0x80、"R|AS2"、0);// TI OTP BANK0 ECC (2 KB)*/
    GEL_MapAddStr (0x01070200、1、0x80、"R|AS2"、0);// TI OTP Bank1 ECC (2 KB)*/
    GEL_MapAddStr (0x01071000、1、0x80、"R|AS2"、0);//用户 OTP BANK0 ECC (2 KB)*/
    GEL_MapAddStr (0x01071200、1、0x80、"R|AS2"、0);//用户 OTP Bank1 ECC (2 KB)*/
    GEL_MapAddStr (0x01080000、1、0x8000、"R|AS2"、0);//闪存组0 ECC (512 KB)*/
    GEL_MapAddStr (0x01088000.1、0x8000、"R|AS2"、0);//闪存组1 ECC (512 KB)*/
    GEL_MapAddStr (0x00100000.1、0x200000、"R|W|AS2"、0);// EMIF-1 (程序+数据)(4 MB) CS2n -异步访问*/
    GEL_MapAddStr (0x00300000.1、0x80000、"R|W|AS2"、0);// EMIF-1 (程序+数据)(1 MB) CS3n -异步访问*/
    GEL_MapAddStr (0x00380000.1、0x60000、"R|W|AS2"、0);// EMIF-1 (程序+数据)(1 MB) CS4n -异步访问*/
    GEL_MapAddStr (0x003F00001、0x8000、"R|AS2"、0);//安全 ROM (64 KB)*/
    GEL_MapAddStr (0x003F80001、0x8000、"R|AS2"、0);//引导 ROM (主控方)(64KB)*/
    GEL_MapAddStr (0x80000000、1、0x10000000、"R|W|AS2"、0);// EMIF-1 (数据)(0.5 GB) CS0n - SDRAM */
    GEL_MapAddStr (0x90000000.1、0x10000000、"R|W|AS2"、0);// EMIF-2 (数据)(0.5 GB) CS1n - SDRAM 访问*/

    GEL_MapAddStr (0x01000D001、0x200、"R|W|AS2"、0);//冗余 PIE 矢量表*

    /*外设存储器映射*/
    GEL_MapAddStr (0x000480003、0x800、"R|W|AS4"、0);// Cana 寄存器*
    GEL_MapAddStr (0x0004A0003、0x800、"R|W|AS4"、0);// CANB 寄存器*

    GEL_TextOut ("\n 内存映射初始化完成\n");

    /******** /
    /* ESTOP0填充函数对于调试很有用。 它们填充*/
    具有软件断点的/* RAM,用于陷阱失控代码。 *
    /******** /
    热菜单 fill_F2837x_RAM_WITH_ESTOP0 ()

    GEL_MemoryFill (0x000000、1、0x000800、0x7625);/*填充 M0/M1 *
    GEL_MemoryFill (0x0080001、0x000800、0x7625);//填充 L0 *
    GEL_MemoryFill (0x008800、1、0x001000、0x7625);/*填充 L1/L2 *
    GEL_MemoryFill (0x009800、1、0x001000、0x7625);/*填充 L3/L4 *
    GEL_MemoryFill (0x00A800、1、0x000800、0x7625);//填充 L5 *

    GEL_MemoryFill (0x00B0001、0x001000、0x7625);/*填充 D0/D1 *

    GEL_MemoryFill (0x00C0001、0x010000、0x7625);/*填充 G0-G15 *

    /******** /
    menuitem "Watchdog";
    热菜单 Disable_WD ()

    * 0x7029 =* 0x7029 | 0x0068;//设置 WDDIS 位*
    *0x7025=0x0055;/*为 WD 提供服务*/
    *0x7025=0x00AA;/*一次安全。 *
    GEL_TextOut ("\n 看门狗计时器已禁用");

    /******** /
    menuitem "Addressing Modes";

    热菜单 C28x_Mode()

    ST1 = ST1 &(~0x0100);/* AMODE = 0 */
    ST1 = ST1 | 0x0200;/* OBJMODE = 1 */

    热菜单 C24x_Mode()

    ST1 = ST1 | 0x0100;/* AMODE = 1 */
    ST1 = ST1 | 0x0200;/* OBJMODE = 1 */

    热菜单 C27x_Mode()

    ST1 = ST1 &(~0x0100);/* AMODE = 0 */
    ST1 = ST1 &(~0x0200);/* OBJMODE = 0 */

    /******** /
    /* CLA 时钟启用*/
    /*允许调试器启用 CLA 断点(特别是复位后)*/
    /******** /
    菜单项"CLA 时钟启用"
    热菜单 CLA_Clock_Enable()

    *0x5D322|= 0x1;/*设置 PCLKCR0位0 */


    /******** /
    /*从 TI OTP 加载器件校准值*/
    /******** /
    菜单项"设备校准"
    热菜单 Device_Cal ()

    /*当前已禁用、直到创建饰件*/

    /******** /
    /* EMU 引导模式-设置调试期间的引导模式*/
    /******** /
    菜单项"EMU 引导模式选择"
    热菜单 EMU_BOOT_SARAM ()

    *0xD00=0x0A5A;

    热菜单 EMU_BOOT_FLASH ()

    *0xD00=0x0B5A;

    菜单项"设置 EMIF"
    热菜单 SetupEmif1()

    *(long int *) 0x7C08 = 0xAA0000AA;/* GPIO 设置*/
    *(long int *) 0x7C46 = 0xAAAAAAAA;// GPIO 设置*
    *(long int *) 0x7C48 = 0x800002AA;/* GPIO 设置*/
    *(long int *) 0x7C82 = 0xFFFFFF00;// GPIO 设置*/
    *(long int *) 0x7C84 = 0xCFF;/* GPIO 设置*/
    *(long int *) 0x7C86 = 0xAAAAAAAA;// GPIO 设置*
    *(long int *) 0x7C88 = 0x2FFFA8AA;/* GPIO 设置*/

    *(long int *) 0x5D324 = 0x3;//启用 EMIF 时钟*/
    *(long int *) 0x47002 = 0x0;// EMIF1等待设置*/
    *(long int *) 0x47008 = 0x181;// EMIF-CS2设置*/
    *(long int *) 0x4700A = 0x181;// EMIF-CS3 Setup */
    *(long int *) 0x4700C = 0x181;/* EMIF-CS4 Setup */

    热菜单 SetupEmif2()

    *(long int *) 0x7C44 = 0xFFFFFF00;// GPIO 设置*/
    *(long int *) 0x7C48 = 0xFFFFFF00;// GPIO 设置*/
    *(long int *) 0x7C82 = 0x3FF;/* GPIO 设置*/
    *(long int *) 0x7C86 = 0x3FF;/* GPIO 设置*/
    *(long int *) 0x7CC6 = 0xFFFFFFFF;/* GPIO 设置*/
    *(long int *) 0x7CC8 = 0xFFFFFFF;/* GPIO 设置*/

    *(long int *) 0x5D324 = 0x3;//启用 EMIF 时钟*/
    *(long int *) 0x47802 = 0x0;// EMIF2等待设置*/
    *(long int *) 0x47808 = 0x181;/* EMIF2-CS2 Setup */

    热菜单 SetupDCSM()

    int i;
    unsigned long LinkPointer;
    unsigned long * Z1_ZoneSelBlockPtr;
    unsigned long * Z2_ZoneSelBlockPtr;
    int bitpos = 28;
    int zerofound = 0;

    XAR0 =*(无符号长整型*) 0x703F0;//虚拟读取 SECDC 寄存器*/

    XAR0 =*(无符号长整型*) 0x78000;//虚拟读取 Z1 - LinkPointer1 *
    XAR0 =*(unsigned long *) 0x78004;//虚拟读取 Z1 - LinkPointer2 *
    XAR0 =*(无符号长整型*) 0x78008;//虚拟读取 Z1 - LinkPointer3 *
    XAR0 =*(无符号长整型*) 0x78200;//虚拟读取 Z2 - LinkPointer1 *
    XAR0 =*(unsigned long *) 0x78204;//虚拟读取 Z2 - LinkPointer2 *
    XAR0 =*(无符号长整型*) 0x78208;//虚拟读取 Z2 - LinkPointer3 *

    XAR0 =*(无符号长整型*) 0x78010;//虚拟读取 Z1 - PSWDLOCK *
    XAR0 =*(无符号长整型*) 0x78210;//虚拟读取 Z2 - PSWDLOCK *

    XAR0 =*(无符号长整型*) 0x78014;//虚拟读取 Z1 - CRCLOCK *
    XAR0 =*(无符号长整型*) 0x78214;//虚拟读取 Z2 - CRCLOCK *

    XAR0 =*(无符号长整型*) 0x78018;//虚拟读取 Z1 - JTAGLOCK *
    XAR0 =*(无符号长整型*) 0x78218;//虚拟读取 Z2 - JTAGLOCK *

    XAR0 =*(无符号长整型*) 0x7801E;//虚拟读取 Z1 - BOOTCTRL *
    XAR0 =*(无符号长整型*) 0x7821E;//虚拟读取 Z2 - BOOTCTRL *

    LinkPointer =*(unsigned long *) 0x5F000;//从 Z1-LINKPOINTER 寄存器中读取 Z1-LinkPointer *
    LinkPointer = LinkPointer << 3;//位31、30和29作为最重要的0是无效的 LinkPointer 选项*/
    while ((zerofound =0)&&(bitpos >-1))

    if ((LinkPointer & 0x8000000)=0)

    零音= 1;
    Z1_ZoneSelBlockPtr =(无符号长整型*)(0x78000 +((bitpos + 3)*16));

    其他

    位 pos--;
    LinkPointer = LinkPointer << 1;


    if (零音==0)

    Z1_ZoneSelBlockPtr =(无符号长整型*) 0x78020;

    bitpos = 28;
    零音= 0;
    LinkPointer =*(unsigned long *) 0x5F040;//从 Z1-LINKPOINTER 寄存器中读取 Z2-LinkPointer *
    LinkPointer = LinkPointer << 3;//位31和30作为最重要的0是无效的 LinkPointer 选项*/
    while ((zerofound =0)&&(bitpos >-1))

    if ((LinkPointer & 0x8000000)=0)

    零音= 1;
    Z2_ZoneSelBlockPtr =(无符号长整型*)(0x78200 +((bitpos + 3)*16));

    其他

    位 pos--;
    LinkPointer = LinkPointer << 1;


    if (零音==0)

    Z2_ZoneSelBlockPtr =(无符号长整型*) 0x78220;


    /*执行区域选择块位置的虚拟读取*/
    对于(I = 0;I < 8;I++)

    XAR0 =* Z1_ZoneSelBlockPtr;
    XAR0 =* Z2_ZoneSelBlockPtr;
    Z1_ZoneSelBlockPttr++;
    Z2_ZoneSelBlockPtr ++;

    菜单项"设备配置"
    热菜单 Device_Config ()

    *(unsigned long *) 0x0005D008 =*(unsigned long *) 0x00070200;//加载 PARTIDL 值
    *(unsigned long *) 0x0005D00A =*(unsigned long *) 0x00070202;//加载 PARTIDH 值

    *(unsigned long *) 0x0005D010 =*(unsigned long *) 0x00070204;//加载 DC0值
    *(unsigned long *) 0x0005D012 =*(unsigned long *) 0x00070206;//加载 DC1值
    *(unsigned long *) 0x0005D014 =*(unsigned long *) 0x00070208;//加载 DC2值
    *(unsigned long *) 0x0005D016 =*(unsigned long *) 0x0007020A;//加载 DC3值
    *(unsigned long *) 0x0005D018 =*(unsigned long *) 0x0007020C;//加载 DC4值
    *(unsigned long *) 0x0005D01A =*(unsigned long *) 0x0007020E;//加载 DC5值
    *(unsigned long *) 0x0005D01C =*(unsigned long *) 0x00070210;//加载 DC6值
    *(unsigned long *) 0x0005D01E =*(unsigned long *) 0x00070212;//加载 DC7值
    *(unsigned long *) 0x0005D020 =*(unsigned long *) 0x00070214;//加载 DC8值
    *(unsigned long *) 0x0005D022 =*(unsigned long *) 0x00070216;//加载 DC9值
    *(unsigned long *) 0x0005D024 =*(unsigned long *) 0x00070218;//加载 DC10值
    *(unsigned long *) 0x0005D026 =*(unsigned long *) 0x0007021A;//加载 DC11值
    *(unsigned long *) 0x0005D028 =*(unsigned long *) 0x0007021C;//加载 DC12值
    *(unsigned long *) 0x0005D02A =*(unsigned long *) 0x0007021E;//加载 DC13值
    *(unsigned long *) 0x0005D02C =*(unsigned long *) 0x00070220;//加载 DC14值
    *(unsigned long *) 0x0005D02E =*(unsigned long *) 0x00070222;//加载 DC15值
    //*(unsigned long *) 0x0005D030 =*(unsigned long *) 0x00070224;//加载 DC16值(保留)
    *(unsigned long *) 0x0005D032 =*(unsigned long *) 0x00070226;//加载 DC17值
    *(unsigned long *) 0x0005D034 =*(unsigned long *) 0x00070228;//加载 DC18值
    *(unsigned long *) 0x0005D036 =*(unsigned long *) 0x0007022A;//加载 DC19值
    *(unsigned long *) 0x0005D038 =*(unsigned long *) 0x0007022C;//加载 DC20值

    *(unsigned long *) 0x0005D060 =*(unsigned long *) 0x0007022E;//加载 PERCNF 值

    /******* Harikishore RTRT 更新 /
    menuitem "load TestRT Program";

    热菜单 clear_RAM_buffer()

    /*清除"atl_buffer"的 RAM 缓冲器*/
    Int A;
    a= sizeof (atl_buffer);
    GEL_MemoryFill (atl_buffer、1、A、0x0000);


    OnHalt()

    GEL_TextOut ("OnHalt called n");
    GEL_TextOut ("PC -%x\n"、、、、 PC);
    如果(PC =C$EXIT)

    GEL_MemorySaveData (atl_buffer、1、0x1800、"ccs_temp/rtt.dat"、0、0x2 | 0x4);
    GEL_TextOut ("已提取缓冲器数据\n");

    其他

    GEL_TextOut ("PC 与 C$$EXIT\n"不匹配);


    myexit()

    //GEL_MemorySaveData (0x9040、1、0xC00、"c:\\myfile.dat"、0、 0);


    /******* Harikishore RTRT 更新 /
    /***文件结尾***/

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="549554" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1188008/tms320f28377s-breakpoint-manager-retrying-with-a-aet-breakpoint/4475639 #4475639">、发现没有生成正确的跟踪转储。 是因为该 AET 错误吗?[/quot]

    这两者可能是不相关的。

    让我们从公式中删除 DSS -如果您在 CCS IDE 中手动运行环境、您是否会获得预期的跟踪转储文件?

    谢谢

    Ki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、我知道有一个数据格式问题、我纠正了这个问题、现在工作正常。 感谢您的回答。

    是否可以将这些警告降至最低?

    警告:C28xx_CPU1_0:断点管理器:使用 AET 断点重试

    加载程序
    执行程序
    警告:C28xx_CPU1_0:断点管理器:使用 AET 断点重试
    严重:C28xx_CPU1_0:在0x85d58上执行"Finish Auto Run"操作时设置断点时遇到问题:(错误-1066 @ 0x85D58)无法设置/清除请求的断点。 验证断点地址是否在有效存储器中。 (仿真包9.4.0.00129)

    严重:C28xx_CPU1_0:设置断点时出现问题、在0x85dba 处执行"保持暂停"操作:(错误-1066 @ 0x85dba)无法设置/清除请求的断点。 验证断点地址是否在有效存储器中。 (仿真包9.4.0.00129)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您在脚本中设置了多少个断点? 我猜您将耗尽 AET 资源。 请共享您的脚本(您可能需要将*。js 扩展名重命名为*。txt 以将其附加到此线程)