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.

[参考译文] TMS320F28388D:闪存启动在 TMDSCND28388D 上不起作用。

Guru**** 2547530 points
Other Parts Discussed in Thread: TMDSHSECDOCK, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1072118/tms320f28388d-flash-boot-does-not-work-on-tmdscnd28388d

部件号:TMS320F28388D
线程中讨论的其他部件:TMDSHSECDOCKC2000WARE

我们正在使用 TMDSCND28388D 检查环境。

目前,我们正在检查以下环境。
=========================================
CCS               |11.1.0.00011
ARM 编译器工具  |20.2.5
C2800编译器工具|21.6.0
=========================================

-连接坞站。 (TMDSHSECDOCK)
我们要使用闪存启动来检查它,因此我们按如下方式设置 DIP 开关。
S1:A_1 =关/ 1:A_2 =开
S2:1 =关/ 2:2 =开
-连接器按如下方式连接。
xds200连接到坞站端的 JTAG。
USB 已连接至坞站侧的 J17。
-CPU1的内存映射未更改。


当我在该环境中从 CCS 构建和加载 cm4/CPU1/CPU2时
加载时工作正常,但按下重置时按下重置时,闪存启动不工作。

我需要处理源代码还是调试板端?
请告诉我。


CPU1的 main()如下。
=========================================

Int main (无效)

 丁;
 IER = 0x0000;
 IFR = 0x0000;
 InitSysCtrl();// C28 Init & RAM Download & Peripheral Enable Select。
 InitGpio();
 EALLOW;
 CpuSysRegs.PCLKCR10.bit.CAN_B = 1;
 EDIS;
 GPIO 初始化();// GPIO 初始化数据。
 EINT;

 /*等待 Core2启动。 *
 ARS_BOOT_core2();
 /*等待 Cortex-M4启动。 *
 ARS_BOOT_cm4();

 静态 U32 t = 0;
 当(1){
  如果(t++> 800000)为{
   GpioDataRegs.GPATOGGE.bit.GPIO31 = 1;
    T = 0;
  }
 }
 返回0;
}

静态无效 ARS_BOOT_core2 (void)

 如果(1U == DevCfgRegs.RSTSTAT.Bit.CPU2RES )为{
  cpu1toCpu2IpcRegs.CPU1TOCPU2IPCBOOTMODE = 0x5A00C803UL;//密钥+时钟设置+启动模式闪存选项0 (扇区0)
  cpu1tocpu2IpcRegs.CPU1TOCPU2IPCSET.bit.IPC0 = 1;//要求 CPU2。
   当(1 == cpu1tocpu2IpcRegs.CPU1TOCPU2IPCFlG.bit.IPC0){// Ack wait.
    /* NOP *
   }
   While (1!=(Cpu1toCpu2IpcRegs.CPU2TOCPU1IPCSTS.All & 0xF)){// CPU2启动 ROM 已开始运行。
    /* NOP *
   }
 }
 返回;
}

静态无效 ARS_BOOT_cm4 (void)

 // IF (1U == DevCfgRegs.RSTSTAT.bit)
 //{.}
 cpu1toCmIpcRegs.CPU1TOCMiPCBOOTMODE = 0x5A007D03UL;//密钥+时钟设置+启动模式闪存选项0 (扇区0)
 cpu1toCmIpcRegs.CPU1TOCMIPCSET.bit.IPC0 = 1;//要求 CM4。
 当(1=( cpu1toCmIpcRegs.CPU1TOCMIPCFLG.Bit.IPC0){// Ack wait.
  /* NOP *
 }
 While (1!=(Cpu1toCmIpcRegs.CMTOCPU1IPCSTS.All & 0xF)){// CM4 Boot ROM 已开始运行。
  /* NOP *
 }
 返回;
}

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

    您好,

    您可以做的一件事是,尝试运行 C2000ware 驱动程序库中的双核 LED 示例。 我们有 CPU1-CPU2双核 LED 示例和 CPU1-CM 双核示例。 您可以按目前的方式加载这些示例,并检查两个指示灯是否都在闪烁。

    这将确认硬件方面没有问题。

    <C2000ware>\driverlib\f2838x\examples\C28x_DUAL\led

    <C2000ware>\driverlib\f2838x\examples\C28x_cm\led

    此致,

    维纳

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

    你(们)好,维纳。

    我检查了,但 c28_x_cm 输出了以下错误,无法导入。
    CMPiler 版本“21.6.0.LTS”当前未安装!

    此版本已安装,因此不清楚错误发生的原因。

    我成功导入了 C28x_DUAL,构建并加载了它,D1和 D2亮起。
    之后,当我按下 S1上的复位开关时,D1和 D2指示灯不亮,并且似乎不会自动闪烁启动。

    如果我错了,请告诉我,但在闪存启动设置中,此调试板“加载闪存并从闪存启动”是否正确?

    此致。

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

    您好,

    C28x_xm 示例的问题是一个已知问题。 我们的 ARM 端没有21.6.0编译器。 您可以通过将 CM 项目的编译器版本更新为 20.2.5.LTS 或系统中安装的任何 ARM 编译器来解决此问题

    NAME="LED_ex1_C28x_cm_flinky_cm"
    DEVICE" Cortex M.Fa328388D"
    cgVersion ="20.2.5.LTS "

    我尝试了控制卡上的 C28x_DUAL 示例,即使在重新启动电源后,LED 也会闪烁。

    [引用 userid="421456" url="~ë/support/icins/c2000-icro-group/c2f/c2000-微控制器-forum/1072118/tms320f28388d-flash-boot-do-do-not-On-tmdscnd28388d"] s2:1 =关/s2:2 =开

    我认为设置应该是 S2上处于关闭位置的两个开关

    此致,

    维纳

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

    谢谢你。
    我能够让闪存启动与指定的拨码开关一起工作。