大家好、
我们将推出一款具有 DM385处理器的新定制板。
我们无法通过 SD 卡引导电路板。 设备似乎挂起。 我们使用的 nSketch CBB 评估板将从相同的 SD 卡引导。 我们可以在 SD 卡线路上看到活动、但 uboot 从不向控制台输出任何内容。
我们也无法通过 UART 进行编程。 我们获得了“CCCCC”,并通过 xmodem 发送二进制文件。 之后、它似乎挂起。 同样的操作在 nSketch 评估板上启动 uboot。
我们可以通过 JTAG 访问处理器。 我使用的是 code composer v5.5。 我没有找到 DM385的任何示例代码、例如测试 RAM、输出到 UART 等 DM385是否有任何代码编写器项目?
通过 JTAG、我发现当程序通过 UART 加载且处理器似乎挂起时、它处于循环中。
|
00020080: EAFFFFE B 0x20080 |
我尝试了 nSketch CBB 软件附带的一些 GEL 文件初始化脚本。 尝试重置 HDVICP 时、似乎挂起。 我们已验证 HDVICP 为1.2V、HDVICP PLL 为1.8V。
GEL 文件初始化在下面突出显示的位置挂起。 我添加了一些调试打印。
CortexA8:输出: DualatSS 的 PRCM 已成功完成*****
CortexA8:输出: 用户可以连接到 Ducati M3...
CortexA8:输出: IVHD0的 PRCM 正在进行中,请稍候...
CortexA8:输出: PRCM 在检查电源后开启
CortexA8:输出: PRCM 之前
CortexA8:输出: gclk 后的 PRCM
无法评估 DM385_System_Initialization_test_device()。
|
GEL_TextOut ("\tPRCM for IVHD0 is in progress,Please wait.....(IVHD0的 GEL_TextOut ("\tPRCM 正在进行中,请稍候...)。 \n"、"输出"、1、1、1); WR_MEM_32 (CM_IVAHD0_CLKSTCTRL, 2);/*启用电源域转换*/ while (RD_MEM_32 (PM_IVAHD0_PWRSTST)!=0x37); /*检查电源是否打开*/ GEL_TextOut ("\tPRCM、检查电源是否打开、\n"、"输出"、1、1); WR_MEM_32 (CM_IVAHD0_IVAHD_CLKCTRL, 2);/*启用 IVHD0时钟*/ WR_MEM_32 (CM_IVAHD0_SL2_CLKCTRL,2);/*启用 IVHD0 SL2时钟*/
GEL_TextOut ("\tPRCM Before \n"、"输出"、1、1); while (((RD_MEM_32 (CM_IVAHD0_CLKSTCTRL)&0x100)!=0x100);/* IVAHD0_GCLK 为 ACTIVATE*/ GEL_TextOut (gclk\n"、"输出"、1、1、1);
WR_MEM_32 (RM_IVAHD0_RSTCTRL、 3);/*启用 IVHD0逻辑和 SL2 *
while (RD_MEM_32 (RM_IVAHD0_RSTST)!= 4); GEL_TextOut (RSTST\n"、"输出"、1、1、1);
WR_MEM_32 (0x58088000、0xEAFFFFFE);/*在 ICONT1 ITCM 0位置中编写自分支指令*/
WR_MEM_32 (0x58098000、0xEAFFFFFE);/*在 ICONT2 ITCM 0位置中编写自分支指令*/
WR_MEM_32 (RM_IVAHD0_RSTCTRL、 0);/*使 ICONT1和 ICONT2退出复位状态*/
while (RD_MEM_32 (RM_IVAHD0_RSTST)!=7);/* ICONT1和 ICONT2超出复位范围*/ GEL_TextOut (RSTST\n"、"输出"、1、1、1);
GEL_TextOut ("\tPRCM for IVHD0 is duted successfully" 、"Output"、1、1); GEL_TextOut ("\t 用户可以连接到 IVHD0的 ICONT1和 ICONT2 \n"、"输出"、1、1); |
RM_IVAHD0_RSTCTRL 为0x48180C10
RM_IVAHD0_RSTST 为0x48180C14
感谢您的任何帮助。
谢谢!