jinxin100925 2014-09-30 03:05 采纳率: 0%
浏览 1715

请大神帮帮忙,关于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 2014-09-30 03:28
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 关于#python#的问题:自动化测试