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.

[参考译文] TMS320F28388S:电源重置后闪存代码无法运行

Guru**** 2534260 points
Other Parts Discussed in Thread: C2000WARE, SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1074820/tms320f28388s-flash-code-does-not-run-after-power-reset

部件号:TMS320F28388S
“线程:C2000WAREsysconfig”中讨论的其它部件

大家好,

我正在尝试在 F28388S 上以闪存方式上传代码。 代码在编程后运行,但如果我重启 UC,代码不会运行。

这是一款定制主板,带有 F28388S。 两个 GPIO 72和84与3V3绑定以在闪存中启动:

代码只是切换 GPIO 输出:

在 RAM 中构建一切都很好。

我第一次在闪存中构建时收到错误:“行33:致命错误#1965:无法打开源文件“board.h”,然后我再次尝试构建, 错误消失 ****构建完成****。 对代码运行编程后,如果我重置电源,停止将不会运行。  

我正在使用 CCS V11.1.0.00011

为 F28388S CPU1连接 XDS100V3配置了项目属性(我正在使用 OLIMEX XDS100v3):

有什么想法,问题是什么? 我很确定这与我第一次在闪存中构建时出现的错误有关。

谢谢你

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

    您好 Alexis,

    这是您的自定义项目还是 C2000Ware 中的一个示例? 如果是一个例子,请向我们发送路径,以便我们可以与相应的专家核实,尝试这样做。

    如果该示例在编程后工作正常,但在电源循环后工作不好:

    1)能否检查是否存在 ECC 错误?  GEL 文件禁用 ECC 评估,因此在连接调试器时可能不会注意到错误(假设 ECC 错误发生在闪存初始化例程之前)。

    2)您能否检查 XRSn 在不工作时是否有切换?  可能正在进行看门狗重置?  再次,gel 文件禁用监视程序,因此请您检查。

    此外,此常见问题可能有助于: 如何将应用程序从 RAM 配置修改为 Flash 配置?: https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/878674 

    谢谢,此致,
    瓦姆西

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

    Vamsi 您好,感谢您的帮助。

    我使用以下示例启动了该项目: C:\ti\C2000Ware_4_00_00_00\driverlib\f2838x\examples\C28x\GPIO 中的 GPIO _ex2_tog.c

    由于它适用于 具有 XDS100V2的2838D,因此我更改了 XDS100V3 ET 设备 F2838S 的目标配置。 然后我还更改了 F2838S 的 sysconfig:  并选择我的 GPIO。

    这非常简单,直接。

    因此,当我尝试在闪存中对其进行编程时,控制台将返回:

    C28xx_CPU1: GEL Output: 
    Memory Map Initialization Complete
    C28xx_CPU1: GEL Output: 
    ... DCSM Initialization Start ... 
    C28xx_CPU1: GEL Output: 
    ... DCSM Initialization Done ...
    C28xx_CPU1: GEL Output: 
     CM is out of reset and configured to wait boot.
     (If you connected previously, may have to resume CM to reach wait boot loop.)
    C28xx_CPU1: If erase/program (E/P) operation is being done on one core, the other core should not execute from shared-RAM (SR) as they are used for the E/P code. User code execution from SR could commence after both flash banks are programmed.
    C28xx_CPU1: Only CPU1 on-chip Flash Plugin can configure clock for CPU1, CPU2 and CM Flash operations. Plugin automatically configures PLL when CPU1 Flash operations are invoked. However, if users want to do only CPU2 or CM Flash operations without doing a prior CPU1 operation in the current session, they should click on 'Configure Clock' button in CPU1's on-chip Flash Plugin before invoking CPU2 and CM Flash operations. When this button is used, Flash Plugin will configure the clock for CPU1/CPU2 at 190MHz and CM at 95MHz using INTOSC2 as the clock source. Plugin will leave PLL config like this and user application should configure the PLL as required by application.
    C28xx_CPU1: GEL Output: 
    ... DCSM Initialization Start ... 
    C28xx_CPU1: GEL Output: 
    ... DCSM Initialization Done ...
    C28xx_CPU1: GEL Output: 
     CM is out of reset and configured to wait boot.
     (If you connected previously, may have to resume CM to reach wait boot loop.)
    C28xx_CPU1: GEL Output: 
    ... DCSM Initialization Start ... 
    C28xx_CPU1: GEL Output: 
    ... DCSM Initialization Done ...
    C28xx_CPU1: GEL Output: 
     CM is out of reset and configured to wait boot.
     (If you connected previously, may have to resume CM to reach wait boot loop.)

    编程后,代码在 F28388上运行,我看到了 LED,但如果我执行电源重置,代码就不会运行。

    我探测 到 XRSn ,它在编程过程中和之后一直保持在很高的位置。

    亚历克西斯

    如果可以,我就附加了我的项目。

    e2e.ti.com/.../Blink_5F00_LED.zip

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

    您好 Alexis,

    感谢您的介绍。    CPU1_flash 文件夹中的 EtherSNACKS_Blink _LED.MAP 是否是您的应用程序的 MAP 文件-正确?  请确认。

    我请求我们的团队尝试此示例的闪存配置-他们将返回给您。  

    此致,
    瓦姆西

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

    是或 Blink _LED.MAP,它是同一个文件,我刚刚重命名了项目:

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

    您好 Alexis,

    我尝试在 F28388D controlCARD 上运行您的项目。 我更新了 GPIO 引脚以匹配主板中使用的 LED 引脚,即使在重新启动电源后,应用程序似乎仍在运行。

    此致,

    维纳

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

    您好,Veena,我也尝试 了 F28388D controlCARD,它正在运行。

    我进一步挖掘了一些,发现它有时会在闪存上启动 , 但80%的时间没有启动。

    我尝试了另一个新的主板,它的行为也是一样的。

    我观察到:

    1. 我在闪存中刷新我的程序,保持板上的 JTAG 连接(XDS100V3 Olimex)
    2. 我的程序正在运行
    3. 关闭电源再打开
    4. UC 无法以闪存启动
    5. 断开并重新连接板上的 JTAG
    6. 关闭电源再打开
    7. 闪存中的 UC 启动  
    8. 关闭电源再打开
    9. UC 无法 以闪存启动
    10. 断开并重新连接板上的 JTAG
    11. 关闭电源再打开
    12. 闪存中的 UC 启动
    13. (笑声)

    因此 ,可能存在启动顺序和计时问题或 JTAG 引脚问题。

     我的原理图与 controlCARD 大致相同,我使用 TPS62410DRCR 用于3V3和1V2,而不是 TPS62420DRCR (到处都缺货)

    我使用两名主管来监控电压,就像控制卡一样:

    两个 GPIO 与3V3绑定以闪存启动:

    我将尝试探测 MCU_XRSn,并确保一切都符合预期:

    除此之外,请告诉我您是否有任何建议。

    亚历克西斯

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

    从软件的潜在客户来看, 是否可能有一小部分代码丢失,并阻止我以闪存启动?

    下面 是我当前使用的2838x_flash_lnk_CPU1.cmd

    MEMORY
    {
       /* BEGIN is used for the "boot to Flash" bootloader mode   */
       BEGIN            : origin = 0x080000, length = 0x000002
       BOOT_RSVD        : origin = 0x000002, length = 0x0001AF     /* Part of M0, BOOT rom will use this for stack */
       RAMM0            : origin = 0x0001B1, length = 0x00024F
       RAMM1            : origin = 0x000400, length = 0x0003F8     /* on-chip RAM block M1 */
    //   RAMM1_RSVD       : origin = 0x0007F8, length = 0x000008     /* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */
       RAMD0            : origin = 0x00C000, length = 0x000800
       RAMD1            : origin = 0x00C800, length = 0x000800
       RAMLS0           : origin = 0x008000, length = 0x000800
       RAMLS1           : origin = 0x008800, length = 0x000800
       RAMLS2           : origin = 0x009000, length = 0x000800
       RAMLS3           : origin = 0x009800, length = 0x000800
       RAMLS4           : origin = 0x00A000, length = 0x000800
       RAMLS5           : origin = 0x00A800, length = 0x000800
       RAMLS6           : origin = 0x00B000, length = 0x000800
       RAMLS7           : origin = 0x00B800, length = 0x000800
       RAMGS0           : origin = 0x00D000, length = 0x001000
       RAMGS1           : origin = 0x00E000, length = 0x001000
       RAMGS2           : origin = 0x00F000, length = 0x001000
       RAMGS3           : origin = 0x010000, length = 0x001000
       RAMGS4           : origin = 0x011000, length = 0x001000
       RAMGS5           : origin = 0x012000, length = 0x001000
       RAMGS6           : origin = 0x013000, length = 0x001000
       RAMGS7           : origin = 0x014000, length = 0x001000
       RAMGS8           : origin = 0x015000, length = 0x001000
       RAMGS9           : origin = 0x016000, length = 0x001000
       RAMGS10          : origin = 0x017000, length = 0x001000
       RAMGS11          : origin = 0x018000, length = 0x001000
       RAMGS12          : origin = 0x019000, length = 0x001000
       RAMGS13          : origin = 0x01A000, length = 0x001000
       RAMGS14          : origin = 0x01B000, length = 0x001000
       RAMGS15          : origin = 0x01C000, length = 0x000FF8
    //   RAMGS15_RSVD     : origin = 0x01CFF8, length = 0x000008     /* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */
    
       /* Flash sectors */
       FLASH0           : origin = 0x080002, length = 0x001FFE  /* on-chip Flash */
       FLASH1           : origin = 0x082000, length = 0x002000  /* on-chip Flash */
       FLASH2           : origin = 0x084000, length = 0x002000  /* on-chip Flash */
       FLASH3           : origin = 0x086000, length = 0x002000  /* on-chip Flash */
       FLASH4           : origin = 0x088000, length = 0x008000  /* on-chip Flash */
       FLASH5           : origin = 0x090000, length = 0x008000  /* on-chip Flash */
       FLASH6           : origin = 0x098000, length = 0x008000  /* on-chip Flash */
       FLASH7           : origin = 0x0A0000, length = 0x008000  /* on-chip Flash */
       FLASH8           : origin = 0x0A8000, length = 0x008000  /* on-chip Flash */
       FLASH9           : origin = 0x0B0000, length = 0x008000  /* on-chip Flash */
       FLASH10          : origin = 0x0B8000, length = 0x002000  /* on-chip Flash */
       FLASH11          : origin = 0x0BA000, length = 0x002000  /* on-chip Flash */
       FLASH12          : origin = 0x0BC000, length = 0x002000  /* on-chip Flash */
       FLASH13          : origin = 0x0BE000, length = 0x001FF0  /* on-chip Flash */
    //   FLASH13_RSVD     : origin = 0x0BFFF0, length = 0x000010  /* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */
    
       CPU1TOCPU2RAM   : origin = 0x03A000, length = 0x000800
       CPU2TOCPU1RAM   : origin = 0x03B000, length = 0x000800
       CPUTOCMRAM      : origin = 0x039000, length = 0x000800
       CMTOCPURAM      : origin = 0x038000, length = 0x000800
    
       CANA_MSG_RAM     : origin = 0x049000, length = 0x000800
       CANB_MSG_RAM     : origin = 0x04B000, length = 0x000800
    
       RESET            : origin = 0x3FFFC0, length = 0x000002
    }
    
    SECTIONS
    {
       codestart           : > BEGIN, ALIGN(8)
       .text               : >> FLASH1 | FLASH2 | FLASH3 | FLASH4, ALIGN(8)
       .cinit              : > FLASH4, ALIGN(8)
       .switch             : > FLASH1, ALIGN(8)
       .reset              : > RESET, TYPE = DSECT /* not used, */
       .stack              : > RAMM1
    
    #if defined(__TI_EABI__)
       .init_array      : > FLASH1, ALIGN(8)
       .bss             : > RAMLS5
       .bss:output      : > RAMLS3
       .bss:cio         : > RAMLS5
       .data            : > RAMLS5
       .sysmem          : > RAMLS5
       /* Initalized sections go in Flash */
       .const           : > FLASH5, ALIGN(8)
    #else
       .pinit           : > FLASH1, ALIGN(8)
       .ebss            : > RAMLS5
       .esysmem         : > RAMLS5
       .cio             : > RAMLS5
       /* Initalized sections go in Flash */
       .econst          : >> FLASH4 | FLASH5, ALIGN(8)
    #endif
    
       ramgs0 : > RAMGS0, type=NOINIT
       ramgs1 : > RAMGS1, type=NOINIT
       
       MSGRAM_CPU1_TO_CPU2 : > CPU1TOCPU2RAM, type=NOINIT
       MSGRAM_CPU2_TO_CPU1 : > CPU2TOCPU1RAM, type=NOINIT
       MSGRAM_CPU_TO_CM    : > CPUTOCMRAM, type=NOINIT
       MSGRAM_CM_TO_CPU    : > CMTOCPURAM, type=NOINIT
    
       /* The following section definition are for SDFM examples */
       Filter_RegsFile  : > RAMGS0
       Filter1_RegsFile : > RAMGS1, fill=0x1111
       Filter2_RegsFile : > RAMGS2, fill=0x2222
       Filter3_RegsFile : > RAMGS3, fill=0x3333
       Filter4_RegsFile : > RAMGS4, fill=0x4444
       Difference_RegsFile : >RAMGS5, fill=0x3333
    
       #if defined(__TI_EABI__)
           .TI.ramfunc : {} LOAD = FLASH3,
                            RUN = RAMLS0 | RAMLS1 | RAMLS2 |RAMLS3,
                            LOAD_START(RamfuncsLoadStart),
                            LOAD_SIZE(RamfuncsLoadSize),
                            LOAD_END(RamfuncsLoadEnd),
                            RUN_START(RamfuncsRunStart),
                            RUN_SIZE(RamfuncsRunSize),
                            RUN_END(RamfuncsRunEnd),
                            ALIGN(8)
       #else
           .TI.ramfunc : {} LOAD = FLASH3,
                            RUN = RAMLS0 | RAMLS1 | RAMLS2 |RAMLS3,
                            LOAD_START(_RamfuncsLoadStart),
                            LOAD_SIZE(_RamfuncsLoadSize),
                            LOAD_END(_RamfuncsLoadEnd),
                            RUN_START(_RamfuncsRunStart),
                            RUN_SIZE(_RamfuncsRunSize),
                            RUN_END(_RamfuncsRunEnd),
                            ALIGN(8)
       #endif
    
    }
    
    /*
    //===========================================================================
    // End of file.
    //===========================================================================
    */
    

    和.map:

    ******************************************************************************
                 TMS320C2000 Linker PC v21.6.0                     
    ******************************************************************************
    >> Linked Tue Feb  8 12:50:22 2022
    
    OUTPUT FILE NAME:   <adc_ex1_soc_software.out>
    ENTRY POINT SYMBOL: "code_start"  address: 00080000
    
    
    MEMORY CONFIGURATION
    
             name            origin    length      used     unused   attr    fill
    ----------------------  --------  ---------  --------  --------  ----  --------
      BOOT_RSVD             00000002   000001af  00000000  000001af  RWIX
      RAMM0                 000001b1   0000024f  00000000  0000024f  RWIX
      RAMM1                 00000400   000003f8  000003f8  00000000  RWIX
      RAMLS0                00008000   00000800  0000012d  000006d3  RWIX
      RAMLS1                00008800   00000800  00000000  00000800  RWIX
      RAMLS2                00009000   00000800  00000000  00000800  RWIX
      RAMLS3                00009800   00000800  00000000  00000800  RWIX
      RAMLS4                0000a000   00000800  00000000  00000800  RWIX
      RAMLS5                0000a800   00000800  0000000b  000007f5  RWIX
      RAMLS6                0000b000   00000800  00000000  00000800  RWIX
      RAMLS7                0000b800   00000800  00000000  00000800  RWIX
      RAMD0                 0000c000   00000800  00000000  00000800  RWIX
      RAMD1                 0000c800   00000800  00000000  00000800  RWIX
      RAMGS0                0000d000   00001000  00000000  00001000  RWIX
      RAMGS1                0000e000   00001000  00000000  00001000  RWIX
      RAMGS2                0000f000   00001000  00000000  00001000  RWIX
      RAMGS3                00010000   00001000  00000000  00001000  RWIX
      RAMGS4                00011000   00001000  00000000  00001000  RWIX
      RAMGS5                00012000   00001000  00000000  00001000  RWIX
      RAMGS6                00013000   00001000  00000000  00001000  RWIX
      RAMGS7                00014000   00001000  00000000  00001000  RWIX
      RAMGS8                00015000   00001000  00000000  00001000  RWIX
      RAMGS9                00016000   00001000  00000000  00001000  RWIX
      RAMGS10               00017000   00001000  00000000  00001000  RWIX
      RAMGS11               00018000   00001000  00000000  00001000  RWIX
      RAMGS12               00019000   00001000  00000000  00001000  RWIX
      RAMGS13               0001a000   00001000  00000000  00001000  RWIX
      RAMGS14               0001b000   00001000  00000000  00001000  RWIX
      RAMGS15               0001c000   00000ff8  00000000  00000ff8  RWIX
      CMTOCPURAM            00038000   00000800  00000000  00000800  RWIX
      CPUTOCMRAM            00039000   00000800  00000000  00000800  RWIX
      CPU1TOCPU2RAM         0003a000   00000800  00000000  00000800  RWIX
      CPU2TOCPU1RAM         0003b000   00000800  00000000  00000800  RWIX
      CANA_MSG_RAM          00049000   00000800  00000000  00000800  RWIX
      CANB_MSG_RAM          0004b000   00000800  00000000  00000800  RWIX
      BEGIN                 00080000   00000002  00000002  00000000  RWIX
      FLASH0                00080002   00001ffe  00000000  00001ffe  RWIX
      FLASH1                00082000   00002000  00001444  00000bbc  RWIX
      FLASH2                00084000   00002000  00000000  00002000  RWIX
      FLASH3                00086000   00002000  0000012d  00001ed3  RWIX
      FLASH4                00088000   00008000  0000001c  00007fe4  RWIX
      FLASH5                00090000   00008000  000003ac  00007c54  RWIX
      FLASH6                00098000   00008000  00000000  00008000  RWIX
      FLASH7                000a0000   00008000  00000000  00008000  RWIX
      FLASH8                000a8000   00008000  00000000  00008000  RWIX
      FLASH9                000b0000   00008000  00000000  00008000  RWIX
      FLASH10               000b8000   00002000  00000000  00002000  RWIX
      FLASH11               000ba000   00002000  00000000  00002000  RWIX
      FLASH12               000bc000   00002000  00000000  00002000  RWIX
      FLASH13               000be000   00001ff0  00000000  00001ff0  RWIX
      RESET                 003fffc0   00000002  00000000  00000002  RWIX
    
    
    SECTION ALLOCATION MAP
    
     output                                  attributes/
    section   page    origin      length       input sections
    --------  ----  ----------  ----------   ----------------
    codestart 
    *          0    00080000    00000002     
                      00080000    00000002     f2838x_codestartbranch.obj (codestart)
    
    .cinit     0    00088000    0000001c     
                      00088000    00000009     (.cinit..data.load) [load image, compression = lzss]
                      00088009    00000001     --HOLE-- [fill = 0]
                      0008800a    00000006     (__TI_handler_table)
                      00088010    00000004     (.cinit..bss.load) [load image, compression = zero_init]
                      00088014    00000008     (__TI_cinit_table)
    
    .reset     0    003fffc0    00000000     DSECT
    
    .stack     0    00000400    000003f8     UNINITIALIZED
                      00000400    000003f8     --HOLE--
    
    .init_array 
    *          0    00082000    00000000     UNINITIALIZED
    
    .bss       0    0000a80a    00000001     UNINITIALIZED
                      0000a80a    00000001     adc_ex1_soc_software.obj (.bss)
    
    .data      0    0000a800    0000000a     UNINITIALIZED
                      0000a800    00000006     rts2800_fpu64_eabi.lib : exit.c.obj (.data)
                      0000a806    00000002                            : _lock.c.obj (.data:_lock)
                      0000a808    00000002                            : _lock.c.obj (.data:_unlock)
    
    .const     0    00090000    000003ac     
                      00090000    00000098     driverlib.lib : flash.obj (.const:.string)
                      00090098    00000097                   : gpio.obj (.const:.string)
                      0009012f    00000001     --HOLE-- [fill = 0]
                      00090130    00000097                   : sysctl.obj (.const:.string)
                      000901c7    00000001     --HOLE-- [fill = 0]
                      000901c8    00000094                   : dcc.obj (.const:.string)
                      0009025c    00000079     adc_ex1_soc_software.obj (.const:.string)
                      000902d5    00000001     --HOLE-- [fill = 0]
                      000902d6    0000004f     device.obj (.const:.string)
                      00090325    00000001     --HOLE-- [fill = 0]
                      00090326    0000004a     driverlib.lib : adc.obj (.const:.string)
                      00090370    0000003c     board.obj (.const:.string)
    
    .TI.ramfunc 
    *          0    00086000    0000012d     RUN ADDR = 00008000
                      00086000    0000003f     driverlib.lib : flash.obj (.TI.ramfunc:Flash_initModule)
                      0008603f    0000002d                   : flash.obj (.TI.ramfunc:Flash_setBankPowerMode)
                      0008606c    00000022                   : flash.obj (.TI.ramfunc:Flash_setWaitstates)
                      0008608e    0000001e                   : flash.obj (.TI.ramfunc:Flash_setPumpPowerMode)
                      000860ac    0000001a                   : flash.obj (.TI.ramfunc:Flash_disableCache)
                      000860c6    0000001a                   : flash.obj (.TI.ramfunc:Flash_disablePrefetch)
                      000860e0    00000019                   : flash.obj (.TI.ramfunc:Flash_enableCache)
                      000860f9    00000019                   : flash.obj (.TI.ramfunc:Flash_enablePrefetch)
                      00086112    00000017                   : flash.obj (.TI.ramfunc:Flash_enableECC)
                      00086129    00000004                   : sysctl.obj (.TI.ramfunc)
    
    .text      0    00082000    00001444     
                      00082000    00000167     device.obj (.text:Device_enableAllPeripherals)
                      00082167    00000138     driverlib.lib : sysctl.obj (.text:SysCtl_setClock)
                      0008229f    00000117                   : sysctl.obj (.text:SysCtl_setAuxClock)
                      000823b6    00000110                   : sysctl.obj (.text:SysCtl_isPLLValid)
                      000824c6    000000c9                   : dcc.obj (.text:DCC_verifyClockFrequency)
                      0008258f    00000088     rts2800_fpu64_eabi.lib : fs_div28.asm.obj (.text)
                      00082617    0000007a     driverlib.lib : dcc.obj (.text:DCC_setCounterSeeds)
                      00082691    0000007a                   : sysctl.obj (.text:DCC_setCounterSeeds)
                      0008270b    00000079     adc_ex1_soc_software.obj (.text:main)
                      00082784    00000070     driverlib.lib : adc.obj (.text:ADC_setINLTrim)
                      000827f4    0000006b     device.obj (.text:Device_init)
                      0008285f    00000067     driverlib.lib : sysctl.obj (.text:SysCtl_getAuxClock)
                      000828c6    00000060                   : sysctl.obj (.text:SysCtl_getClock)
                      00082926    00000058                   : adc.obj (.text:ADC_setOffsetTrim)
                      0008297e    00000056     board.obj (.text:ADC_init)
                      000829d4    00000054     driverlib.lib : sysctl.obj (.text:SysCtl_selectOscSource)
                      00082a28    00000052                   : gpio.obj (.text:GPIO_setPadConfig)
                      00082a7a    00000047     board.obj (.text:GPIO_init)
                      00082ac1    00000047     driverlib.lib : sysctl.obj (.text:SysCtl_selectOscSourceAuxPLL)
                      00082b08    00000045     adc_ex1_soc_software.obj (.text:GPIO_writePin)
                      00082b4d    0000003d     driverlib.lib : interrupt.obj (.text:Interrupt_initModule)
                      00082b8a    0000003c     adc_ex1_soc_software.obj (.text:GPIO_togglePin)
                      00082bc6    00000039     board.obj (.text:ADC_setupSOC)
                      00082bff    00000038     driverlib.lib : gpio.obj (.text:GPIO_setMasterCore)
                      00082c37    00000038                   : gpio.obj (.text:GPIO_setQualificationMode)
                      00082c6f    00000037                   : gpio.obj (.text:GPIO_setPinConfig)
                      00082ca6    00000031                   : gpio.obj (.text:GPIO_setDirectionMode)
                      00082cd7    00000031     rts2800_fpu64_eabi.lib : copy_decompress_lzss.c.obj (.text:decompress:lzss)
                      00082d08    0000002f     board.obj (.text:ADC_setInterruptSOCTrigger)
                      00082d37    0000002b     rts2800_fpu64_eabi.lib : autoinit.c.obj (.text:__TI_auto_init_nobinit_nopinit)
                      00082d62    0000002a     driverlib.lib : sysctl.obj (.text:SysCtl_pollX1Counter)
                      00082d8c    00000029     rts2800_fpu64_eabi.lib : exit.c.obj (.text)
                      00082db5    00000028     driverlib.lib : adc.obj (.text:ADC_setMode)
                      00082ddd    00000027     board.obj (.text:ADC_setInterruptSource)
                      00082e04    00000025     driverlib.lib : dcc.obj (.text:DCC_enableSingleShotMode)
                      00082e29    00000025                   : sysctl.obj (.text:DCC_enableSingleShotMode)
                      00082e4e    00000024                   : sysctl.obj (.text:SysCtl_selectXTAL)
                      00082e72    00000023     adc_ex1_soc_software.obj (.text:ADC_readResult)
                      00082e95    00000022     board.obj (.text:ADC_disableContinuousMode)
                      00082eb7    00000021     board.obj (.text:ADC_enableInterrupt)
                      00082ed8    00000021     device.obj (.text:Device_initGPIO)
                      00082ef9    0000001f     adc_ex1_soc_software.obj (.text:ADC_isBaseValid)
                      00082f18    0000001f     board.obj (.text:ADC_isBaseValid)
                      00082f37    0000001f     driverlib.lib : adc.obj (.text:ADC_isBaseValid)
                      00082f56    0000001f                   : dcc.obj (.text:DCC_setCounter0ClkSource)
                      00082f75    0000001f                   : sysctl.obj (.text:DCC_setCounter0ClkSource)
                      00082f94    0000001f                   : dcc.obj (.text:DCC_setCounter1ClkSource)
                      00082fb3    0000001f                   : sysctl.obj (.text:DCC_setCounter1ClkSource)
                      00082fd2    0000001e     adc_ex1_soc_software.obj (.text:ADC_getInterruptStatus)
                      00082ff0    0000001e     device.obj (.text:Device_verifyXTAL)
                      0008300e    0000001e     driverlib.lib : interrupt.obj (.text:Interrupt_initVectorTable)
                      0008302c    0000001d     board.obj (.text:ADC_setSOCPriority)
                      00083049    0000001d     driverlib.lib : dcc.obj (.text:DCC_getErrorStatus)
                      00083066    0000001d                   : dcc.obj (.text:DCC_getSingleShotStatus)
                      00083083    0000001d     rts2800_fpu64_eabi.lib : memcpy.c.obj (.text)
                      000830a0    0000001a     driverlib.lib : dcc.obj (.text:DCC_isBaseValid)
                      000830ba    0000001a                   : sysctl.obj (.text:DCC_isBaseValid)
                      000830d4    0000001a                   : sysctl.obj (.text:SysCtl_getLowSpeedClock)
                      000830ee    0000001a                   : sysctl.obj (.text:SysCtl_selectXTALSingleEnded)
                      00083108    00000019     rts2800_fpu64_eabi.lib : boot28.asm.obj (.text)
                      00083121    00000017     board.obj (.text:ADC_setInterruptPulseMode)
                      00083138    00000017     board.obj (.text:ADC_setPrescaler)
                      0008314f    00000017     driverlib.lib : dcc.obj (.text:DCC_disableDoneSignal)
                      00083166    00000017                   : sysctl.obj (.text:DCC_disableDoneSignal)
                      0008317d    00000017                   : dcc.obj (.text:DCC_enableDoneSignal)
                      00083194    00000017     device.obj (.text:SysCtl_enablePeripheral)
                      000831ab    00000017     driverlib.lib : sysctl.obj (.text:SysCtl_enablePeripheral)
                      000831c2    00000016     board.obj (.text:ADC_disableBurstMode)
                      000831d8    00000016     driverlib.lib : dcc.obj (.text:DCC_clearDoneFlag)
                      000831ee    00000016                   : sysctl.obj (.text:DCC_clearDoneFlag)
                      00083204    00000016                   : dcc.obj (.text:DCC_clearErrorFlag)
                      0008321a    00000016                   : sysctl.obj (.text:DCC_clearErrorFlag)
                      00083230    00000016                   : dcc.obj (.text:DCC_disableErrorSignal)
                      00083246    00000016                   : sysctl.obj (.text:DCC_disableErrorSignal)
                      0008325c    00000015     adc_ex1_soc_software.obj (.text:ADC_clearInterruptStatus)
                      00083271    00000015     board.obj (.text:ADC_clearInterruptStatus)
                      00083286    00000015     adc_ex1_soc_software.obj (.text:ADC_forceMultipleSOC)
                      0008329b    00000015     device.obj (.text:GPIO_unlockPortConfig)
                      000832b0    00000014     board.obj (.text:ADC_enableConverter)
                      000832c4    00000014     driverlib.lib : dcc.obj (.text:DCC_disableModule)
                      000832d8    00000014                   : sysctl.obj (.text:DCC_disableModule)
                      000832ec    00000014                   : dcc.obj (.text:DCC_enableErrorSignal)
                      00083300    00000014                   : dcc.obj (.text:DCC_enableModule)
                      00083314    00000014                   : sysctl.obj (.text:DCC_enableModule)
                      00083328    00000014     board.obj (.text:PinMux_init)
                      0008333c    00000013     device.obj (.text:Device_enableUnbondedGPIOPullupsFor176Pin)
                      0008334f    00000011     device.obj (.text:Device_enableUnbondedGPIOPullups)
                      00083360    00000011     device.obj (.text:SysCtl_setCMClk)
                      00083371    00000010     driverlib.lib : flash.obj (.text:Flash_isCtrlBaseValid)
                      00083381    00000010                   : flash.obj (.text:Flash_isECCBaseValid)
                      00083391    0000000e     adc_ex1_soc_software.obj (.text:GPIO_isPinValid)
                      0008339f    0000000e     driverlib.lib : gpio.obj (.text:GPIO_isPinValid)
                      000833ad    0000000e                   : interrupt.obj (.text:Interrupt_defaultHandler)
                      000833bb    0000000d                   : interrupt.obj (.text:Interrupt_disableMaster)
                      000833c8    0000000d     device.obj (.text:SysCtl_setLowSpeedClock)
                      000833d5    0000000d     rts2800_fpu64_eabi.lib : copy_zero_init.c.obj (.text:decompress:ZI:__TI_zero_init_nomemset)
                      000833e2    0000000c     driverlib.lib : sysctl.obj (.text:SysCtl_setPLLSysClk)
                      000833ee    0000000c     rts2800_fpu64_eabi.lib : args_main.c.obj (.text)
                      000833fa    0000000b     driverlib.lib : sysctl.obj (.text:SysCtl_isMCDClockFailureDetected)
                      00083405    00000009     board.obj (.text:Board_init)
                      0008340e    00000009     rts2800_fpu64_eabi.lib : _lock.c.obj (.text)
                      00083417    00000008     device.obj (.text:SysCtl_disableWatchdog)
                      0008341f    00000008     rts2800_fpu64_eabi.lib : copy_decompress_none.c.obj (.text:decompress:none)
                      00083427    00000008     f2838x_codestartbranch.obj (.text)
                      0008342f    00000007     driverlib.lib : sysctl.obj (.text:SysCtl_resetMCD)
                      00083436    00000007     device.obj (.text:__error__)
                      0008343d    00000002     driverlib.lib : interrupt.obj (.text:Interrupt_illegalOperationHandler)
                      0008343f    00000002                   : interrupt.obj (.text:Interrupt_nmiHandler)
                      00083441    00000002     rts2800_fpu64_eabi.lib : pre_init.c.obj (.text)
                      00083443    00000001                            : startup.c.obj (.text)
    
    MODULE SUMMARY
    
           Module                       code   ro data   rw data
           ------                       ----   -------   -------
        .\
           adc_ex1_soc_software.obj     402    121       1      
        +--+----------------------------+------+---------+---------+
           Total:                       402    121       1      
                                                                
        .\device\
           device.obj                   654    79        0      
           f2838x_codestartbranch.obj   10     0         0      
        +--+----------------------------+------+---------+---------+
           Total:                       664    79        0      
                                                                
        .\syscfg\
           board.obj                    565    60        0      
        +--+----------------------------+------+---------+---------+
           Total:                       565    60        0      
                                                                
        C:/ti/C2000Ware_4_00_00_00/driverlib/f2838x/driverlib/ccs/Debug/driverlib.lib
           sysctl.obj                   1784   151       0      
           dcc.obj                      678    148       0      
           flash.obj                    626    152       0      
           gpio.obj                     312    151       0      
           adc.obj                      271    74        0      
           interrupt.obj                122    0         0      
        +--+----------------------------+------+---------+---------+
           Total:                       3793   676       0      
                                                                
        C:\ti\ccs1110\ccs\tools\compiler\ti-cgt-c2000_21.6.0.LTS\lib\rts2800_fpu64_eabi.lib
           fs_div28.asm.obj             136    0         0      
           copy_decompress_lzss.c.obj   49     0         0      
           exit.c.obj                   41     0         6      
           autoinit.c.obj               43     0         0      
           memcpy.c.obj                 29     0         0      
           boot28.asm.obj               25     0         0      
           _lock.c.obj                  9      0         4      
           copy_zero_init.c.obj         13     0         0      
           args_main.c.obj              12     0         0      
           copy_decompress_none.c.obj   8      0         0      
           pre_init.c.obj               2      0         0      
           startup.c.obj                1      0         0      
        +--+----------------------------+------+---------+---------+
           Total:                       368    0         10     
                                                                
           Stack:                       0      0         1016   
           Linker Generated:            0      27        0      
        +--+----------------------------+------+---------+---------+
           Grand Total:                 5792   963       1027   
    
    
    LINKER GENERATED COPY TABLES
    
    __TI_cinit_table @ 00088014 records: 2, size/record: 4, table size: 8
    	.data: load addr=00088000, load size=00000009 bytes, run addr=0000a800, run size=0000000a bytes, compression=lzss
    	.bss: load addr=00088010, load size=00000004 bytes, run addr=0000a80a, run size=00000001 bytes, compression=zero_init
    
    
    LINKER GENERATED HANDLER TABLE
    
    __TI_handler_table @ 0008800a records: 3, size/record: 2, table size: 6
    	index: 0, handler: __TI_zero_init
    	index: 1, handler: __TI_decompress_lzss
    	index: 2, handler: __TI_decompress_none
    
    
    GLOBAL DATA SYMBOLS: SORTED BY DATA PAGE
    
    address     data page           name
    --------    ----------------    ----
    00000400      10 (00000400)     __stack
    
    0000a800     2a0 (0000a800)     __TI_enable_exit_profile_output
    0000a802     2a0 (0000a800)     __TI_cleanup_ptr
    0000a804     2a0 (0000a800)     __TI_dtors_ptr
    0000a806     2a0 (0000a800)     _lock
    0000a808     2a0 (0000a800)     _unlock
    0000a80a     2a0 (0000a800)     myADC0Result1
    
    
    GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name 
    
    page  address   name                                     
    ----  -------   ----                                     
    0     0008297e  ADC_init                                 
    0     00082784  ADC_setINLTrim                           
    0     00082db5  ADC_setMode                              
    0     00082926  ADC_setOffsetTrim                        
    0     00083405  Board_init                               
    0     00082d8c  C$$EXIT                                  
    0     000824c6  DCC_verifyClockFrequency                 
    0     00082000  Device_enableAllPeripherals              
    0     0008334f  Device_enableUnbondedGPIOPullups         
    0     0008333c  Device_enableUnbondedGPIOPullupsFor176Pin
    0     000827f4  Device_init                              
    0     00082ed8  Device_initGPIO                          
    0     00082ff0  Device_verifyXTAL                        
    0     00008000  Flash_initModule                         
    0     00082a7a  GPIO_init                                
    0     00082ca6  GPIO_setDirectionMode                    
    0     00082bff  GPIO_setMasterCore                       
    0     00082a28  GPIO_setPadConfig                        
    0     00082c6f  GPIO_setPinConfig                        
    0     00082c37  GPIO_setQualificationMode                
    0     00082b4d  Interrupt_initModule                     
    0     0008300e  Interrupt_initVectorTable                
    0     00083328  PinMux_init                              
    0     0008612d  RamfuncsLoadEnd                          
    abs   0000012d  RamfuncsLoadSize                         
    0     00086000  RamfuncsLoadStart                        
    0     0000812d  RamfuncsRunEnd                           
    abs   0000012d  RamfuncsRunSize                          
    0     00008000  RamfuncsRunStart                         
    0     00008129  SysCtl_delay                             
    0     0008285f  SysCtl_getAuxClock                       
    0     000828c6  SysCtl_getClock                          
    0     000830d4  SysCtl_getLowSpeedClock                  
    0     000823b6  SysCtl_isPLLValid                        
    0     000829d4  SysCtl_selectOscSource                   
    0     00082ac1  SysCtl_selectOscSourceAuxPLL             
    0     00082e4e  SysCtl_selectXTAL                        
    0     000830ee  SysCtl_selectXTALSingleEnded             
    0     0008229f  SysCtl_setAuxClock                       
    0     00082167  SysCtl_setClock                          
    0     00088014  __TI_CINIT_Base                          
    0     0008801c  __TI_CINIT_Limit                         
    0     0008801c  __TI_CINIT_Warm                          
    0     0008800a  __TI_Handler_Table_Base                  
    0     00088010  __TI_Handler_Table_Limit                 
    0     000007f8  __TI_STACK_END                           
    abs   000003f8  __TI_STACK_SIZE                          
    0     00082d37  __TI_auto_init_nobinit_nopinit           
    0     0000a802  __TI_cleanup_ptr                         
    0     00082cd7  __TI_decompress_lzss                     
    0     0008341f  __TI_decompress_none                     
    0     0000a804  __TI_dtors_ptr                           
    0     0000a800  __TI_enable_exit_profile_output          
    abs   ffffffff  __TI_pprof_out_hndl                      
    abs   ffffffff  __TI_prof_data_size                      
    abs   ffffffff  __TI_prof_data_start                     
    0     000833d5  __TI_zero_init_nomemset                  
    0     0008258f  __c28xabi_divf                           
    n/a   UNDEFED   __c_args__                               
    0     00083436  __error__                                
    0     00000400  __stack                                  
    0     000833ee  _args_main                               
    0     00083108  _c_int00                                 
    0     0000a806  _lock                                    
    0     00083416  _nop                                     
    0     00083412  _register_lock                           
    0     0008340e  _register_unlock                         
    0     00083443  _system_post_cinit                       
    0     00083441  _system_pre_init                         
    0     0000a808  _unlock                                  
    0     00082d8c  abort                                    
    0     00080000  code_start                               
    0     00082d8e  exit                                     
    0     0008270b  main                                     
    0     00083083  memcpy                                   
    0     0000a80a  myADC0Result1                            
    
    
    GLOBAL SYMBOLS: SORTED BY Symbol Address 
    
    page  address   name                                     
    ----  -------   ----                                     
    0     00000400  __stack                                  
    0     000007f8  __TI_STACK_END                           
    0     00008000  Flash_initModule                         
    0     00008000  RamfuncsRunStart                         
    0     00008129  SysCtl_delay                             
    0     0000812d  RamfuncsRunEnd                           
    0     0000a800  __TI_enable_exit_profile_output          
    0     0000a802  __TI_cleanup_ptr                         
    0     0000a804  __TI_dtors_ptr                           
    0     0000a806  _lock                                    
    0     0000a808  _unlock                                  
    0     0000a80a  myADC0Result1                            
    0     00080000  code_start                               
    0     00082000  Device_enableAllPeripherals              
    0     00082167  SysCtl_setClock                          
    0     0008229f  SysCtl_setAuxClock                       
    0     000823b6  SysCtl_isPLLValid                        
    0     000824c6  DCC_verifyClockFrequency                 
    0     0008258f  __c28xabi_divf                           
    0     0008270b  main                                     
    0     00082784  ADC_setINLTrim                           
    0     000827f4  Device_init                              
    0     0008285f  SysCtl_getAuxClock                       
    0     000828c6  SysCtl_getClock                          
    0     00082926  ADC_setOffsetTrim                        
    0     0008297e  ADC_init                                 
    0     000829d4  SysCtl_selectOscSource                   
    0     00082a28  GPIO_setPadConfig                        
    0     00082a7a  GPIO_init                                
    0     00082ac1  SysCtl_selectOscSourceAuxPLL             
    0     00082b4d  Interrupt_initModule                     
    0     00082bff  GPIO_setMasterCore                       
    0     00082c37  GPIO_setQualificationMode                
    0     00082c6f  GPIO_setPinConfig                        
    0     00082ca6  GPIO_setDirectionMode                    
    0     00082cd7  __TI_decompress_lzss                     
    0     00082d37  __TI_auto_init_nobinit_nopinit           
    0     00082d8c  C$$EXIT                                  
    0     00082d8c  abort                                    
    0     00082d8e  exit                                     
    0     00082db5  ADC_setMode                              
    0     00082e4e  SysCtl_selectXTAL                        
    0     00082ed8  Device_initGPIO                          
    0     00082ff0  Device_verifyXTAL                        
    0     0008300e  Interrupt_initVectorTable                
    0     00083083  memcpy                                   
    0     000830d4  SysCtl_getLowSpeedClock                  
    0     000830ee  SysCtl_selectXTALSingleEnded             
    0     00083108  _c_int00                                 
    0     00083328  PinMux_init                              
    0     0008333c  Device_enableUnbondedGPIOPullupsFor176Pin
    0     0008334f  Device_enableUnbondedGPIOPullups         
    0     000833d5  __TI_zero_init_nomemset                  
    0     000833ee  _args_main                               
    0     00083405  Board_init                               
    0     0008340e  _register_unlock                         
    0     00083412  _register_lock                           
    0     00083416  _nop                                     
    0     0008341f  __TI_decompress_none                     
    0     00083436  __error__                                
    0     00083441  _system_pre_init                         
    0     00083443  _system_post_cinit                       
    0     00086000  RamfuncsLoadStart                        
    0     0008612d  RamfuncsLoadEnd                          
    0     0008800a  __TI_Handler_Table_Base                  
    0     00088010  __TI_Handler_Table_Limit                 
    0     00088014  __TI_CINIT_Base                          
    0     0008801c  __TI_CINIT_Limit                         
    0     0008801c  __TI_CINIT_Warm                          
    abs   0000012d  RamfuncsLoadSize                         
    abs   0000012d  RamfuncsRunSize                          
    abs   000003f8  __TI_STACK_SIZE                          
    abs   ffffffff  __TI_pprof_out_hndl                      
    abs   ffffffff  __TI_prof_data_size                      
    abs   ffffffff  __TI_prof_data_start                     
    n/a   UNDEFED   __c_args__                               
    
    [76 symbols]
    

    从我看到 的情况来看,代码起点是00080000:

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

    您好,

    代码启动看起来正确。 这对于独立执行非常重要。

    您能否检查在代码启动期间是否禁用了看门狗? WD_DSIABLE 宏应为1。 看门狗可能导致设备重置

    WD_DISABLE  .set  1    ;set to 1 to disable WD, else set to 0
    
        .ref _c_int00
        .global code_start
    
    ***********************************************************************
    * Function: codestart section
    *
    * Description: Branch to code starting point
    ***********************************************************************
    
        .sect "codestart"
        .retain
    
    code_start:
        .if WD_DISABLE == 1
            LB wd_disable       ;Branch to watchdog disable code
        .else
            LB _c_int00         ;Branch to start of boot._asm in RTS library
        .endif
    
    ;end codestart section
    

    此致,

    维纳

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

    您好,维纳,

    这是我 的 f2838x_codestartbranch.asm

    ;//###########################################################################
    ;//
    ;// FILE:  f2838x_codestartbranch.asm
    ;//
    ;// TITLE: Branch for redirecting code execution after boot.
    ;//
    ;// For these examples, code_start is the first code that is executed after
    ;// exiting the boot ROM code.
    ;//
    ;// The codestart section in the linker cmd file is used to physically place
    ;// this code at the correct memory location.  This section should be placed
    ;// at the location the BOOT ROM will re-direct the code to.  For example,
    ;// for boot to FLASH this code will be located at 0x3f7ff6.
    ;//
    ;// In addition, the example F2838x projects are setup such that the codegen
    ;// entry point is also set to the code_start label.  This is done by linker
    ;// option -e in the project build options.  When the debugger loads the code,
    ;// it will automatically set the PC to the "entry point" address indicated by
    ;// the -e linker option.  In this case the debugger is simply assigning the PC,
    ;// it is not the same as a full reset of the device.
    ;//
    ;// The compiler may warn that the entry point for the project is other then
    ;//  _c_init00.  _c_init00 is the C environment setup and is run before
    ;// main() is entered. The code_start code will re-direct the execution
    ;// to _c_init00 and thus there is no worry and this warning can be ignored.
    ;//
    ;//###########################################################################
    ;//
    ;//
    ;// $Copyright: $
    ;//###########################################################################
    
    ***********************************************************************
    
    WD_DISABLE  .set  1    ;set to 1 to disable WD, else set to 0
    
        .ref _c_int00
        .global code_start
    
    ***********************************************************************
    * Function: codestart section
    *
    * Description: Branch to code starting point
    ***********************************************************************
    
        .sect "codestart"
        .retain
    
    code_start:
        .if WD_DISABLE == 1
            LB wd_disable       ;Branch to watchdog disable code
        .else
            LB _c_int00         ;Branch to start of boot._asm in RTS library
        .endif
    
    ;end codestart section
    
    ***********************************************************************
    * Function: wd_disable
    *
    * Description: Disables the watchdog timer
    ***********************************************************************
        .if WD_DISABLE == 1
    
        .text
    wd_disable:
        SETC OBJMODE        ;Set OBJMODE for 28x object code
        EALLOW              ;Enable EALLOW protected register access
        MOVZ DP, #7029h>>6  ;Set data page for WDCR register
        MOV @7029h, #0068h  ;Set WDDIS bit in WDCR to disable WD
        EDIS                ;Disable EALLOW protected register access
        LB _c_int00         ;Branch to start of boot._asm in RTS library
    
        .endif
    
    ;end wd_disable
    
        .end
    
    ;//
    ;// End of file.
    ;//
    

    如您所见,WD_DSIABLE 为1

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

    我探测到信号3V3,1V2,XRS 和25Mhz 时钟以及 GPIO72和82:

    当 UC 无法以闪存启动时,我看到的 XRSn 太快就会变高。
    XRSN 在工作时需要大约2毫秒才能达到高位。

    我在主板上安装 了一个复位开关:

    当我按下开关时,UC 正在启动到闪存 ,如果我一直按住开关,给电路板供电并释放开关,它将变为闪存。

    3V3和1V2主管 看起来像在做工作...

    在加电期间,UC 内部是否有任何东西应保持 XRSn 信号偏低 ?

    是否可以在 POR 之后执行重置,或者 在 tw(RSL1)=100us(Typ)后添加延迟?

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

    您好,

    我将 向 JTAG/板原理图专家转发此查询。

    此致,

    维纳

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

    谢谢韦纳

    同时,您是否知道软件中是否有一个简单的修复方法,比如添加一些延迟并在“开机重置”后执行软件重置?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用用户名="496581" url=~/support/icros/c2000-icros-group/c2f/c2000-微控制器-forume/1074820/tms320f28388s-flash-code-do-tid-fer-after-power reset/3981625#3981625"]当 XRSn/CUc 启动速度不高时,XRSn 会很快出现启动[。]

    从我所看到的问题来看,XRSn 的运行时间不会太快或太晚,主管们正在完美地完成工作,因为3V3导轨低于3.17V (数据表阈值),XRSn 必须保持在较低的水平。
    较长的重置是由于3V3斜坡速度较慢造成的。
    问题是:为什么3V3坡道在通电过程中减速?

    此致,
    安迪

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

    Andy,你好,你是对的,很难知道 为什么3V3不以闪存启动时会直接进入3.3V VS 当它以闪存启动时 ,会有一个缓慢的坡道。 可能是因为它正在启动 以刷新并初始化所有 GPIO 和组件?

    我对3V3,一个 IMU,EtherCAT 元件,一个温度传感器和一个 ADC 基准没有太多的了解。

    我确实更改了一些组件值,在主管旁边添加了更多的 capa,在 XRES 上添加了更大的筛选器。  

    现在它总是以闪存启动,但如果我切换电源,我必须等待5秒才能重新启动,否则它不会启动。 这真的很奇怪。

    1. 打开12V 输入电压
    2. 闪存中的 UC 启动
    3. 切换电源(关闭,打开)
    4. UC 无法以闪存启动
    5. 关闭12V 输入电压
    6. 等待5秒钟
    7. 打开12V 输入电压
    8. 闪存中的 UC 启动

    这种行为确实是一致的。 这就像某处,某处,有些东西会保持高水平,让我不想再走了。

    如果您有兴趣了解该原理图,我可以分享该原理图。

    e2e.ti.com/.../PCB_5F00_F2838_5F00_Node_5F00_TI.pdf

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

    亚历克西斯,  

    在上述两种情况下,您是否可以包括 VDD,VDDIO,XRSn 的范围捕获。一个延迟为5秒,另一个延迟为5秒?

    MCU 在启动过程中可以而且确实会将其 XRS 引脚保持在低水平上一段时间,但您的主管可能也会强制降低。  

    谢谢,
    Cody  

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

    您好,Cody,

    当我切换电源但电源无法以闪存启动时:

    当我等待5秒并以闪存启动时:

    正如安迪所说,两位主管都在做自己的工作,3V3斜坡是不同的,当 XRSn 启动时使其降低的时间比不启动时更长,我不确定这是不是原因,也不知道为什么它启动时会闪烁。

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

    我会更加关注电源。 3V3真的不应该这样做。 您还可以检查+5V 电源吗? 也许有什么问题?

    安迪

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

    啊,我现在看到你上一篇文章的坡度变化,这些照片更清晰了。

    我完全同意 Andy 的观点,我们需要知道为什么3.3V 轨道如此运行,5V 轨道可能会提供一些线索。

    此致,
    Cody

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

    感谢各位为我指明了正确的方向。  

    我会仔细检查,连接两个降压转换器不是最好的主意。 我的理由是使用第一个获得大量 Vin 6-60V 的控制卡,而另一个获得3V3和1V2的控制卡是复制/粘贴以避免任何设计错误  

    我将尝试使用 PG (电源正常)针脚启动下一个转换器。

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

    亚历克西斯,  

    拥有多个电源域是常见现象。 许多客户 的高输入电压将降至~12V,分配降压电压,然后最终调节  至所需的电压5V/3.3V/1.2V。

    我还没有看到这方面的并发症太多。 我建议您验证您拥有的各种电压调节器的负载,许多电压调节器都有电容限或要求,以实现稳定的调节(在您的情况下,可能是可靠的启动/关闭)

    此致,
    Cody