首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[讨论]2407的高难度问题挑战(已解决)

[讨论]2407的高难度问题挑战(已解决)

请教大家一个问题,不知道有人遇到过没有:
我用同一个程序下载到两块板子上,其中一块是购买的2407开发板,另一块是我根据自己项目需要做的试验板,下载后发现反汇编代码有差异,导致我的试验板无法正常使用,
下面是下载到购买的2407开发板的反汇编代码的一部分:
88F0 _c_int0:
88F0 BF08 LAR AR0,#8a3h
88F2 BF09 LAR AR1,#8a3h
88F4 BE42 CLRC OVM
88F5 BF00 SPM
88F6 BE47 SETC SXM
88F7 BF80 LACC #8995h,0
88F9 B801 ADD #1h
88FA E388 BCND 88feh,EQ
88FC 7A89 CALL 8902h,*,AR1
88FE 7A89 CALL main,*,AR1
8900 7A89 CALL C$$EXIT,*,AR1(与后面比较看看)
8902 7802 ADRK #2h
8903 BF80 LACC #8995h,0
......
下面是下载到我的试验板的反汇编代码的一部分:
88F0 _c_int0:
88F0 BF08 LAR AR0,#8a3h
88F2 BF09 LAR AR1,#8a3h
88F4 BE42 CLRC OVM
88F5 BF00 SPM
88F6 BE47 SETC SXM
88F7 BF80 LACC #8995h,0
88F9 B801 ADD #1h
88FA E388 BCND 88feh,EQ
88FC 7A89 CALL 8902h,*,AR1
88FE 7A89 CALL main,*,AR1
8900 0680 LAR AR6,* (与前面比较看看)
8901 7C03 SBRK #3h
8902 0090 LAR AR0,*-
......
可以看到从8900处开始不一样,请问这与硬件有关吗?


//=========================================
下面是我新发现的问题
我写了一个汇编程序进行测试,结果发现下载到我的试验板的反汇编代码
的8880~~8897与8868~~887F处的代码重复了(我是下载到RAM中仿真的)
我的CMD文件定义如下
MEMORY
{
PAGE 0: VECS: origin = 0x8000, length 0x040
PAGE 0: PROG: origin = 0x8860, length 0x6000
PAGE 1: B0 : origin = 0x200, length 0x100
PAGE 1: B1 : origin = 0x300, length 0x100
PAGE 1: DATA: origin = 0x8860, length 0x700
}

SECTIONS
{
.vectors : {} >VECS PAGE 0 /* 中断向量表 */
.text : {} >ROG PAGE 0 /* 可执行代码和字符串 */
.cinit : {} >ROG PAGE 0
.data : {} >DATA PAGE 1 /* 初始化变量和常数表 */
.bss : {} >DATA PAGE 1 /* 保留全局变量和静态变量空间 */
.const : {} >DATA PAGE 1 /* 字符串和switch表 */
.switch : {} >ROG PAGE 0 /* 包含.switch语句建立的表格 */
.stack : {} >DATA PAGE 1 /* 为系统堆栈分配存储器 */
.system : {} >DATA PAGE 1 /* 为动态存储器函数分配存储器空间 */

}

如果将
PAGE 0: VECS: origin = 0x8000, length 0x040
PAGE 0: PROG: origin = 0x8860, length 0x6000
修改为
PAGE 0: VECS: origin = 0x8000, length 0x040
PAGE 0: PROG: origin = 0x8960, length 0x6000
则8980~~8997与8968~~897F处的代码重复了(我是下载到RAM中仿真的)
请各路高手帮忙分析一下,不胜感激



[em04]问题已经解决,下面把问题列出,供初学者参考(我也是第一次接触DSP,哈哈),遇到相同问题时可以少走弯路
经过分析及对硬件的检查发现是硬件问题,原来是在PCB布版时TMS320LF2407A的A6脚未与外扩的存储器的A6脚连接导致了上述问题的产生

[此贴子已经被作者于2008-3-10 12:58:33编辑过]

怎么都没人知道吗,不知道是不是BIO/IOPC1脚的问题,我接的是3.3V,不知道您们是怎么接的
返回列表