TMS320LF2407A的奇怪问题

jerry_liu   2008-1-8 09:48 楼主
我用TMS32LF2407做了一个非常小的系统。全部工作就是用XF管脚控制一个LED的闪烁。我把程序烧进FLASH后,用防真器带着跑(MP/MC#=0),程序正常运行。但是我把防真器去掉,重新上电后,程序不能正常运行。我分析,程序没有执行。我很想知道,为什么程序不能执行呢?晶震和复位信号都很正常。或者还有其他原因,请高手不吝赐教。谢谢!

回复评论 (5)

仿真时程序是在ram中执行的就是用ps选通的那个ram,调电以后程序自然就不存在了,要烧到flash才可以脱离仿真器使用
点赞  2008-1-8 10:16

程序烧到FLASH里了,但是上电后没运行

程序烧到FLASH里了,但是上电后没运行。我是把程序烧写到FLASH后,用防真器带着跑的。
点赞  2008-1-8 10:48

用的是FLASH烧写插件

用的是FLASH烧写插件烧写程序,而不是用PROGRAM LODD
点赞  2008-1-8 10:49
你作实验选的管脚不对,你在看看这个管脚的定义,不能随便乱用的,你可以使用其他I/O作实验
点赞  2008-1-8 11:32

BOOT_EN/XF 是这么描述的

Boot ROM enable, GPO, XF. This pin will be sampled as input (BOOT_EN) to
update SCSR2.3 (BOOT_EN bit) during reset and then driven as an output
signal for XF. After reset, XF is driven high. The BOOT_EN pin must be driven
with a passive circuit only. (↑)

就是说这个管脚在复位的时候是做为输入的,而且必须为高电平。

所以我又做了如下试验,把XF悬空(因为它内部上拉电阻),不成。然后我又外部上拉一个10K电阻也不成。我觉得应该不是XF的问题。是不是我的CMD文件有问题呢?请高手帮我看看。谢谢。

MEMORY
{
        PAGE 0:
                VECS : o=0h,l=40h
                FLASH: o=100h,l=7EFFh
        PAGE 1:
                SW         : o=300h, l=0FFh
                IRAM : o=800h,l=7ffh
               
}

SECTIONS
{
        .vectors: {}> VECS PAGE 0
        .text   : {}> FLASH PAGE 0
        .cinit  : {}> FLASH PAGE 0
        .const  : {}> IRAM PAGE 1
        .data   : {}> IRAM PAGE 1
        .bss    : {}> IRAM PAGE 1
        .stack  : {}> IRAM PAGE 1
}

点赞  2008-1-9 02:38
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复