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

OMAPL138 ARM端无OS,DSP使用OS(DSP/BIOS)从NAND FLASH启动问题

TI专家,各位朋友:

       ARM端无OS,DSP端使用DSP/BIOS,该怎么从NAND FLASH启动?

       ARM端和DSP端都不使用OS,通过AIS将两端的.out文件糅合成bin文件,然后通过烧录工程通过仿真器烧到NAND  FLASH,这个我已经掌握,但现在DSP端使用了DSP/BIOS后就不知道该怎么做了,DSP/BIOS自己管理了cmd文件,不知道该怎么更改DSP的复位地址了,在DSP/BIOS中能不能重新定位代码段中_c_int00的入口地址?

wei lee1:

在DSP端DSP/BIOS自己产生的.cmd文件中,_c_int00的地址为0x1183b960,下面一行是从cmd文件中复制过来的:

ENTRY POINT SYMBOL: "_c_int00"  address: 1183b960

在ARM端需要制定DSP的复位地址,而这个地址是要求1K字节对齐的,复制了部分代码如下:

* Set DSP boot address vector to entry point of DSP program   This must be aligned to 1KB boundaries */  

SYS_REGS->HOST1CFG = 0x80010000;

SYS_REGS->HOST1CFG的值应该修改为_c_int00的入口地址0x1183b960,而关键问题是0x1183b960不是1K字节对齐的。

wei lee1:

回复 Shine:

使用的是CCSV5.1,自己定义一个.cmd文件,放在工程根目录下,DSP/BIOS自己产生的.cmd文件在工程目录Debug或者Release目录下,在自己的.cmd文件中加入如下内容:

SECTIONS {

                           boot  > 0x80000000  

                           {   

                                 -l bios.a674P<boot.o674P>(.sysinit)

                            }

                     }

编译报如下错误:

-l"libc.a" "../Linker_dsp.cmd"

<Linking>

 "../Linker_dsp.cmd", line 12: error: cannot find file "bios.a674P"

 "../Linker_dsp.cmd", line 12: warning #10068-D: no matching

section error #10010: errors encountered during linking;

"ZV138_DSPBIOS_APP_V3_2.out"    not built

 

wei lee1:

回复 wei lee1:

做如下修改,然后就成功修改_c_int00为固定地址0x80000000

SECTIONS
 {
        boot > 0x80000000
        {
                 -l bios.a674<boot.o674>(.sysinit)
        }
 }

是bios.a674和boot.o674而不是bios.a674P和boot.o674P

 

wei lee1:

回复 Shine:

_c_int00是指定了固定地址0x80000000,但烧录后扔然启动不起来。

DSP端主要的内存分配除_c_int00外都在L2(0x11800000-0x11840000上),把_c_int00映射到0x80000000-0x80010000这段地址,_c_int00实际使用的空间应该远远少于分配的空间;ARM端内存分配在0x80010000-0x80020000这段地址,然后ARM端指定DSP的复位地址:SYS_REGS->HOST1CFG = 0x80000000;

最终通过AIS将两者糅合成一个bin文件,烧录后却启动不起来。

wei lee1:

回复 wei lee1:

然后调试了下可以启动了,在AIS PSC0那里加上了14,15然后就可以了。

赞(0)
未经允许不得转载:TI中文支持网 » OMAPL138 ARM端无OS,DSP使用OS(DSP/BIOS)从NAND FLASH启动问题
分享到: 更多 (0)