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

dm6747 通过spi加载问题

我们板子上用8168通过spi加载6747的程序,发现生成的.out程序能用仿真器加载并成功运行,可用AISgen工具转换成ais格式后通过spi加载不能运行(通过点灯判断),.out程序是基于bios的版本,大小为698KB;看编译后生成的map文件,发现_c_int00"  address: c101be20,当初我调试DM647的PCI加载时也遇到类似问题,即bootaddr寄存器的值最低10位无效,写入的boot地址如果最低10位有值的话就被dsp对齐处理忽略掉了,因此无法运行,后来通过在片内ram中写一段汇编跳转指令来规避这个问题,我看了下6747的寄存器说明,好像它的最低10位也是reserved,即boot地址必须是1024字节对齐,而_c_int00"  address: c101be20,这个明显不行,不知道ais转换后怎么处理这种情况的,因为ais文件加载的话host是无法通过spi直接读写dsp的内存和寄存器的,完全靠ais指令来完成加载。

Tony Tang:

1. 从哪看到的C6747 boot address是1Kbyte对齐的?我只看到在OMAPL137/8(8168也是)上ARM boot DSP时对DSP的入口有这个要求,因为HOST1CFG寄存器的要求。但对于C6747纯DSP芯片自己boot没有这个要求。

2. 如果需要将入口固定到某个地址,基于DSP BIOS的工程,可另加一个cmd文件内容格式如下:

SECTIONS

{

     .vect:  {C:\CCStudio_v3.3\bios_5_32_01\packages\ti\bios\lib\bios.bios.a67P(.sysinit)},  load=0xc0000000

}

对于非BIOS的工程格式如下:

.text:_c_int00 load = 0x11800000

顺便问一下,在AIS里加了PLL,SDRAM等的初始化了吗?

chunlei gan:

回复 Tony Tang:

您好,Tony:

         我现在在调试6747的一个问题,想让6747从某一特定的地址启动,按照您的参考,添加了cmd文件,内容如下:

SECTIONS{ .vect: {C:\Program Files\Texas Instruments\ccsv5\bios_5_41_09_34\packages\ti\bios\lib\bios.bios.a67P(.sysinit)}, load=0xc1036d20}

但是编译生成的map文件,去看“_c_int00” 运行地址,发现并不是0xc1036d20,而是另外一个地址。

想问下我按照您的修改对么?还需要在cmd文件中添加其他东西么?谢谢

Tony Tang:

回复 chunlei gan:

请参考下面网页,列出各种使用情形下的设置方式:

http://processors.wiki.ti.com/index.php/Accessing_c_int00

赞(0)
未经允许不得转载:TI中文支持网 » dm6747 通过spi加载问题
分享到: 更多 (0)