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

6678 bootloader ROMS(rmd文件)求解释

一个例程如下:

app.out
-a
-boot
-e _c_int00
-order L

ROMS
{
ROM1: org = 0x0C000000, length = 0x400000, memwidth = 32, romwidth = 32
files = { app.btbl }}

看完spru186w文档后,依然有以下几个问题:(板子是6678,bootloader方式是EMIF16+Nor Flash,flash芯片为s29gl01gp13ffiv2)

1、"org"指的是6678的地址还是flash的地址?应该写哪个地址?

2、是代码大小来限制“length”的大小么?

3、“memwidth”是指的6678的位宽?

4、“romwidth”是指的flah得位宽?

5、EMIF16得位宽为16,设置“memwidth”和“romwidth”时要考虑EMIF16得位宽吗?

Shine:

1. org是指flash地址

2. length是flash长度

3. memwidth是指EMIF口的位宽

4. romwidth是指flash的位宽

5.emif16位宽就是memwidth=16,romwidth是flash的位宽。

zhiyuc:

回复 Shine:

你好,Shine Zhang,首先谢谢你的回答,接着我还有些问题:
我现在使用的是8核的6678,每个核有一个out文件,总共有8个out文件,使用如下的命令,将8个out文件转换为8个bin,然后将这8个bin文件通过EMIF口写入flash中,用于DSP boot使用。其中app.rmd文件就是例程。

copy "D:\ti\ccsv5\tools\compiler\c6000_7.4.1\bin\hex6x.exe" .\
copy "D:\ti\mcsdk_2_00_09_21\tools\boot_loader\ibl\src\util\btoccs\b2ccs.exe" .\
copy "D:\ti\mcsdk_2_00_09_21\tools\boot_loader\ibl\src\util\btoccs\ccs2bin.exe" .\

::copy ..\*.out .\
::rename *.out app.out
::pause

hex6x app.rmd
b2ccs.exe app.btbl app.ccs
ccs2bin.exe app.ccs app.bin
del -f *.btbl *.ccs
del -f *.exe app.out

问题:
1、正如你得回答,org是指flash地址,8个out文件都是通过上面的命令转化生成8个bin文件,并且用的是同一个app.rmd文件,在app.rmd文件中org=0x0c000000,这个org地址具体用于什么?8个bin文件放在flash的8个不同的地址上,依次放在0x70020000、0x70021000、0x70022000、0x70023000、0x70024000、0x70025000、0x70026000、0x70027000,搞不清楚org在DSP bootloader时起什么作用,与bin文件实际放在flash的地址有什么关系?对于bootfloader,org地址可以任意写么?
2、length也是一样的问题,不知道实际用处和意义,跟实际代码长度什么关系?
3、memwidth是指EMIF口的位宽,6678的EMIF口都是16位的位宽,为什么看到有人将memwidth设置为32?正如我上面例程(app.rmd)写的一样。并且我在spru186w文档中11.3.2节第一段看到“Memory width is the physical width (in bits) of the memory system. Usually, the memory system is physically the same width as the target processor width: a 32-bit processor has a 32-bit memory architecture. However, some applications require target words to be broken into multiple, consecutive, and narrower memory words.”,这句话说memwidth和processor的位宽相同,6678的位宽为32吧,所以memwidth也为32,跟6678的EMIF口位宽(即memwidth的位宽)为16矛盾了 ,所以这里可解释一下么?没搞清楚。
4、romwidth为flash的位宽,那例程中romwidth=32,而实际用的flash是16位的,这个怎么解释呢?可以这样用?
5、使用EMIF16+Nor flash,boot loader时需要将应用代码(核0~7代码数据)复制到DSP上来运行,需要在flash的前1KB空间(地址是0x70000000)上放入boot.asm文件数据(主要是配置外设寄存器和复制应用程序的代码),但是在实际中boot.asm的大小超过了1KB,如果将超过1KB大小的boot.asm数据放入flash的0x70000000上,长度为数据实际长度,这样还能正常引导应用程序搬移和运行吗?(flash挂在DSP6678 EMIF16的CE0口上)
6、在dsp bootloader时,EMIF16+Nor flash方式,boot用到了DDR3空间,在boot.asm中,要配置DDR3、EMIF16,我的问题是还需要配置Main PLL么?SRIO配置是不是在核0程序中配置就行,需要在bootloader时配置么?(SRIO在这种boot方式下应该没有用到)

赞(0)
未经允许不得转载:TI中文支持网 » 6678 bootloader ROMS(rmd文件)求解释
分享到: 更多 (0)