Shine:
请问在GEL文件里是否有对CE0寄存器进行初始化配置?
user5067112:
回复 Shine:
已经初始化了
在c5509.gel中的C5509_Init()里定义了GEL_MapAdd(0x40000,0,0x3C0000,1,1);这个是对CE0的初始化么?
或者我想把.bss段放到片外sdram,应该怎么修改cmd啊?
user5067112:
回复 Shine:
在c5509.gel中有
hotmenu CE0_Async16_En()
{
GEL_MemoryFill(0x0803,2,1,0x1FFF);
}
这个是对CE0寄存器的初始化么?我用的是CCS5.3自带的.gel文件,没有修改过
Shine:
回复 user5067112:
这个不是配CE0寄存器,看一下DSK5509.gel文件里的C5509_EVM_EMIF_Init(),下载下面网站上的Target Content v1,里面有GEL文件。
c5000.spectrumdigital.com/…/
user5067112:
回复 Shine:
我把这个.gel文件替换了我工程里的文件,打开了C5509_EVM_EMIF_Init()的注释,并打开了C5509_EVM_EMIF_Init()里关于EMIF_CE0_1,EMIF_CE0_2,EMIF_CE0_3的注释,编译是没有问题。CE0连接的是SDRAM,但是编译出的.bss段超过了64k也是会报烧写不进去的错误。我将这个.bss段通过关键字#pragma分成两个小于64k的段也是同样的错误。只要是总和超过64k就会报错,报的错误跟标题上的图片一样,"trouble writing memory block at 0x2f5c6 on page 1 of length 0x4…"
Shine:
回复 user5067112:
这个报错信息是在load .out文件时出现的吗?
user5067112:
回复 Shine:
感觉好像gel中配置的CE0还是没有起作用,在线调试后debug页面中的resume绿色按键是灰的,不能鼠标点击,就像是程序没有运行一样。如果我先在线调试sdram的读写程序,再在线调试这个程序,就可以正常运行。感觉像是之前的sdram程序把CE0给打通了,然后后面的程序就起作用了
user5067112:
回复 Shine:
那个报错的是CE0的某个地址不能写入,我改成其他地方这个错误就没有了
Shine:
回复 user5067112:
gel文件是在target configuration file里面设置的,在点击connect的时候会自动执行的,你可以一下console有没有GEL文件执行时的打印信息。
另外DSK5509.gel是针对DSK开发板的,CE0寄存器配置要根据您外接的SDRAM芯片做修改.
user5067112:
回复 Shine:
按照您的指导,现在是在线调试可以了,是因为target configuration加载的.gel文件路径不对,所以没有起作用。
但是我用flashburn程序下载该程序,重新上电后程序怎么不能运行啊?感觉好像还是因为.gel没有加载到.out里面