2 jinxin100925 jinxin100925 于 2014.09.30 11:05 提问

请大神帮帮忙,关于VC33boot问题

本人参考了一些资料,包括TMS320VC33-DATASHEET,现在已经通过论坛方法完成FLASH烧写,现有如下疑问困扰本人很久,希望大神予以帮助!
1、打开CCS环境时,是否需要在启动CCS时通过GEL文件来配置总线控制器,因为本人直接在load program后直接通过view-memory的方法会出现CCS卡死情况,根本无法读取外部ROM数据。通过本人尝试发现,可以通过运行程序对总线控制器“#define PBCR *(int *)0x808064 .......PBCR = 0x10fa;....”进行配置后,可正常读写外部ROM,本人用的EN29lv160芯片。求VC33的通用GEL文件,其是否与bootloader有关?
2、本人烧写完后的FLASH内容如下:请大牛帮忙分析,指出bootloader失败的原因。
1、 上电逻辑:MCBL/MP^一直接电源正极,上电复位后,通过CPLD拉低INT0^,表示boot loader引导地址为0x1000,此过程是否正确?(原理图中hold^引脚处于浮空,所以总线PBCR的bit1位配置为1,不响应外部hold)
2、 烧写至FLASH内部数据流结构如下:
0x00001000:0x0010 0x0000 0x10fa 0x0000 0x0001 0x0000 0x0042 0x0080
0x00001008:0x0000 0x0000 0x0081 0x0000 0x0000 0x0080 0x0000 0x0F2B
.......
个人解释下上面数据流的意思,有错误之处,请指导!
FLASH采用16位存取方法,从地址0x1000 开始存储,0x0010:指定16位格式,第二个数据位0x0000:由于内部RAM为32位,因此高位填充0,同理,第三第四代码对总线进行配置10fa。第五第六字代码指定块数据长度为1。第七第八字数据表明数据加载地址为0x00800042。接下来第二行第一第二字指定代码内容为0,这里的主要目的是为了将第一个数据块即程序入口地址进行分配(_c_int00)。第二行第三第四字指定接下来的数据块长度为0x0081。第五第六字指定加载地址为0x00800000。,后面的内容为加载的数据代码。此格式是否有问题,个人通过理解DATASHEET做的描述,是否有错误?
在烧写完FLASH后,程序无法引导,请高人指点啊!!!!!!

1个回答

jinxin100925
jinxin100925   2014.09.30 11:28

补充说明:板子上电时,是通过电源芯片会产生一个120ms的延时脉冲复位信号给CPLD,通过CPLD检测此信号然后将其转给DSP,进而对DSP进行复位,vc33复位后,时钟输出H1,H3会输出频率,说明复位成功,因而可以作为CPLD时钟源。问题是:1、DSP是否需要重新复位?(个人查阅芯片资料好像是不需要)2、INT0^是在复位过程中拉低,还是在复位之后拉低加载bootloader的地址。3、个人在用户程序中未使能INT0^对应IE控制位,是否需要使能。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!