嵌入式开发者社区

标题: 基于6748开发板网络调试出现的问题 [打印本页]

作者: 朱宝军    时间: 2014-12-9 17:26
标题: 基于6748开发板网络调试出现的问题
我在调试基于sys/BIOS的的以太网例程( telent和tcp_client),编译可以通过,但是在debug时,提示:
ICEPICK_C: Trouble Reading Memory Block at 0x1c10800 on Page 0 of Length 0x4
ICEPICK_C: GEL: Error while executing OnTargetConnect(): Target failed to read 0x01C10800  at (*((unsigned int *) ((0x01C10000+0x800)+(4*LPSC_num)))&0x1F) [Tronlong_C6748.gel:806]  at PSC0_LPSC_enable(0, 0) [Tronlong_C6748.gel:475]  at PSC_All_On() [Tronlong_C6748.gel:259]  at CPU_PLL_PSC_DDR_Init() [Tronlong_C6748.gel:250]  at OnTargetConnect()
请问哪位遇见过此类问题,怎么解决的

作者: 希望缄默    时间: 2014-12-10 07:08
拨码开关调到 01111

作者: 朱宝军    时间: 2014-12-10 17:02
拨码开关调到 01111 现象一样
我根据提示在gel函数中找到OnTargetConnect()函数,此函数调用CPU_PLL_PSC_DDR_Init();函数定义如下:hotmenu CPU_PLL_PSC_DDR_Init()
{
    Clear_Memory_Map();
    Setup_Memory_Map();
   
    PSC_All_On();
    Core_456MHz_DDR2_156MHz();
        PINMUX();
    Wake_DSP();
        Wake_PRU();
}
根据gel文件的输出提示:ICEPICK_C: Output:         Memory Map Setup Complete.和
                    at PSC_All_On() [Tronlong_C6748.gel:259]         at CPU_PLL_PSC_DDR_Init()
应该执行到PSC0_LPSC_enable()出现错误,这个函数主要是初始化外设,找不到有用的信息,于是我又通过提示
CEPICK_C: Trouble Reading Memory Block at 0x1c10800 on Page 0 of Length 0x4
ICEPICK_C: GEL: Error while executing OnTargetConnect(): Target failed to read 0x01C10800         at (*((unsigned int *) ((0x01C10000+0x800)+(4*LPSC_num)))&0x1F)
寻求 ((0x01C10000+0x800)+(4*LPSC_num)))&0x1F) 这个地址,提示是不能访问此地址,
gel函数定义:
#define PSC0_BASE       0x01C10000
unsigned int *pPSC0_MDSTAT = (unsigned int*)0x01C10800;
define PSC0_MDSTAT     (PSC0_BASE+0x800)
最后定位到运行到函数PSC0_LPSC_enableCore()出现问题:这个函数定义如下:
PSC0_LPSC_enableCore(unsigned int PD, unsigned int LPSC_num) {
    unsigned int j;
   
    if( (*(unsigned int*)(PSC0_MDSTAT+4 * LPSC_num) & 0x11F) != 0x103 ) {
      *(unsigned int*) (PSC0_MDCTL+4*LPSC_num) = (*(unsigned int*) (PSC0_MDCTL+4*LPSC_num) & 0xFFFFFEE0) | 0x0103;
      PSC0_PTCMD = 0x1<<PD;

      j = 0;
      /*Wait for power state transition to finish*/
      while( (PSC0_PTSTAT & (0x1<<PD) ) !=0) {
        if( j++ > PSC_TIMEOUT ) {
          GEL_TextOut("\tPSC0 Enable Core Transition Timeout on Domain %d, LPSC %d\n","Output",1,1,1,PD,LPSC_num);
          break;
        }
      }
      
      j = 0;
      while( (*(unsigned int*)(PSC0_MDSTAT+4 * LPSC_num) & 0x11F) !=0x103) {
        if( j++ > PSC_TIMEOUT ) {
          GEL_TextOut("\tPSC0 Enable Core Verify Timeout on Domain %d, LPSC %d\n","Output",1,1,1,PD,LPSC_num);
          break;
        }
      }
    }
}
请大家分析一下?gel问价有问题吗





      

作者: 希望缄默    时间: 2014-12-10 18:48
朱宝军 发表于 2014-12-10 17:02
拨码开关调到 01111 现象一样
我根据提示在gel函数中找到OnTargetConnect()函数,此函数调用CPU_PLL_PSC_ ...

如果重启反复测试还不行

联系售后吧~

作者: 小斌哥哥9    时间: 2017-12-18 23:13
您好,你这个问题后来是怎么解决的,硬件还是软件问题?




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4