TI中文支持网
TI专业的中文技术问题搜集分享网站

急!C28346通过XINTF从外部Flash boot程序问题

最近在调试自己做的C28346的板子,我是通过XINTF从外部Flash在DSP上电的时候boot程序。我的bootmode选用的是1001 jump from XINTF16模式,外部Flash用的是SST39VF800,我将外部Flash映射到zone6。

现在的问题是这样的:

在程序进行烧写的时候我通过CCS的view->memory查看Flash里面的数据(从0x100000开始查看),可以看到写到里面的数据时正确的。但是,在对Flash写完之后重新上电程序不能boot到内部ram中?急求各位支招解决啊!

PS:我之前用的是SSD(索思达)的开发板做的,我的外部Flash的连接跟SSD的是一样的,我的程序在SSD的开发板上没有任何问题。我自己的板子在线仿真没有问题,现在就是不能从外部Flash boot程序这一个问题了。跪求大神指点思路啊!

10#:

与XINTF复用的GPIO引脚上电默认是GPIO而不是XINTF,请确保在芯片复位后的codestartbranch.asm文件里已经将对应的GPIO初始化为XINTF.

最近在调试自己做的C28346的板子,我是通过XINTF从外部Flash在DSP上电的时候boot程序。我的bootmode选用的是1001 jump from XINTF16模式,外部Flash用的是SST39VF800,我将外部Flash映射到zone6。

现在的问题是这样的:

在程序进行烧写的时候我通过CCS的view->memory查看Flash里面的数据(从0x100000开始查看),可以看到写到里面的数据时正确的。但是,在对Flash写完之后重新上电程序不能boot到内部ram中?急求各位支招解决啊!

PS:我之前用的是SSD(索思达)的开发板做的,我的外部Flash的连接跟SSD的是一样的,我的程序在SSD的开发板上没有任何问题。我自己的板子在线仿真没有问题,现在就是不能从外部Flash boot程序这一个问题了。跪求大神指点思路啊!

guofei xiang:

回复 10#:

我codestartbranch.asm文件里面的程序是这样子的,将对应的GPIO初始化为XINTF应该是该那句呢?之前没有看过汇编的,一直用的C,谢谢!

我现在的程序在之前SSD的开发板上是可以在线仿真,也可以boot!

***********************************************************************

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"

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

    .textwd_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.;//===========================================================================

最近在调试自己做的C28346的板子,我是通过XINTF从外部Flash在DSP上电的时候boot程序。我的bootmode选用的是1001 jump from XINTF16模式,外部Flash用的是SST39VF800,我将外部Flash映射到zone6。

现在的问题是这样的:

在程序进行烧写的时候我通过CCS的view->memory查看Flash里面的数据(从0x100000开始查看),可以看到写到里面的数据时正确的。但是,在对Flash写完之后重新上电程序不能boot到内部ram中?急求各位支招解决啊!

PS:我之前用的是SSD(索思达)的开发板做的,我的外部Flash的连接跟SSD的是一样的,我的程序在SSD的开发板上没有任何问题。我自己的板子在线仿真没有问题,现在就是不能从外部Flash boot程序这一个问题了。跪求大神指点思路啊!

10#:

回复 guofei xiang:

MOVZ DP, #7029h>>6  ;Set data page for WDCR register

MOV @7029h, #0068h  ;Set WDDIS bit in WDCR to disable WD

这两句话是对0x0729地址的寄存器WDCR进行初始化的语句,你可以参考这个方式对XINTF所在的GPIO口进行对应的初始化。

赞(0)
未经允许不得转载:TI中文支持网 » 急!C28346通过XINTF从外部Flash boot程序问题
分享到: 更多 (0)