This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
一般在创建.ccxml文件时,target configuration选项中会提示导入初始化脚本,在对应的选项中选择GEL文件就可以了。
你好 我导出初始化脚本后 consle窗口报出这个错误
Error while executing StartUp( 6, 2, 0, 1631 ): Could not write 0x00800000: target is not connected
at *((int *) 0x00800000)=0x0001E000 [tisim_init_c6678_cx.gel:40]
at load_idle_instr_at_ISTP() [tisim_init_c6678_cx.gel:19]
at StartUp(6, 2, 0, 1631)
请大概描述一下您的操作步骤以及使用的GEL文件。是自制板吗?之前没有通过GEL文件初始化过板子吗?
注* 板子型号是 TMDXEVM6678L,之前没有使用过gel文件初始化。
1.新建ccxml文件,选择XDS100V1-TMS32C6678
2.在Advanced窗口中,添加初始化脚本。初始化脚本来自..\..\simulation_keystone1\env\ccs\import\tisim_init_c6678_cx.gel
3.注释掉DDR初始化的程序后编译,进入DEBUG界面出现如图所示的红色错误,查看gel file窗口可以看到success状态
4.运行Hyperlink例程后,执行HyperLink_integrity_Test()函数,
Core1 LL2:HyperLink_Mem_Test(0x41800000, 0x0080000, 0x10000)执行顺利 HyperLink memory test passed at address 0x41800000
SL2: HyperLink_Mem_Test(0x4C100000, 0x0100000, 0x10000)执行顺利 HyperLink memory test passed at address 0x4c100000
DDR:HyperLink_Mem_Test(0x48000000, 0x1000000, 0x10000)报错如下
Data pattern Test fails at 0x48000000, Write 0xaaaaaaaaaaaaaaaa, Readback 0x 0
Data pattern Test fails at 0x48000000, Write 0x5555555555555555, Readback 0x 0
Data pattern Test fails at 0x48000008, Write 0xaaaaaaaaaaaaaaaa, Readback 0x 1000100000000
Data pattern Test fails at 0x48000008, Write 0x5555555555555555, Readback 0x 0
Data pattern Test fails at 0x48000010, Write 0xaaaaaaaaaaaaaaaa, Readback 0x 0
Data pattern Test fails at 0x48000010, Write 0x5555555555555555, Readback 0x ff00ff
Data pattern Test fails at 0x48000018, Write 0xaaaaaaaaaaaaaaaa, Readback 0x 0
Data pattern Test fails at 0x48000018, Write 0x5555555555555555, Readback 0x 1000100010001
...
Data bit walking Test fails at 0x480000e0, Write 0x 1, Readback 0x 1000100010001
Data bit walking Test fails at 0x480000e0, Write 0xfffffffffffffffe, Readback 0x 0
Data bit walking Test fails at 0x480000e8, Write 0x 1, Readback 0x ff00ff00ff00ff
Data bit walking Test fails at 0x480000e8, Write 0xfffffffffffffffe, Readback 0x ff00ff
Data bit walking Test fails at 0x480000f0, Write 0x 1, Readback 0x 1000100010001
Data bit walking Test fails at 0x480000f0, Write 0xfffffffffffffffe, Readback 0x 0
Data bit walking Test fails at 0x480000f8, Write 0x 1, Readback 0x ff00ff00ff00ff
...
Address bit walking Test fails at 0x48fffffc, Readback 0x 0 from the last data unit
Address bit walking Test fails at 0x48fffff8, Readback 0x 0 from the last data unit
Address bit walking Test fails at 0x48fffff4, Readback 0x 0 from the last data unit
Address bit walking Test fails at 0x48ffffec, Readback 0x 0 from the last data unit
Address bit walking Test fails at 0x48ffffdc, Readback 0x 0 from the last data unit
Address bit walking Test fails at 0x48ffffbc, Readback 0x 0 from the last data unit
Address bit walking Test fails at 0x48ffff7c, Readback 0x 0 from the last data unit
Address bit walking Test fails at 0x48fffefc, Readback 0x 0 from the last data unit
Address bit walking Test fails at 0x48fffdfc, Readback 0x 0 from the last data unit
Address bit walking Test fails at 0x48fffbfc, Readback 0x 0 from the last data unit
...
Memory pattern filling Test fails at 0x48000018, Write 0x 0, Readback 0x ff00ff00ff00ff
Memory pattern filling Test fails at 0x48000038, Write 0x 0, Readback 0x ff00ff
Memory pattern filling Test fails at 0x48000040, Write 0x 0, Readback 0x ff00ff00ff00ff
Memory pattern filling Test fails at 0x48000090, Write 0x 0, Readback 0x ff00ff00ff00ff
Memory pattern filling Test fails at 0x480000a0, Write 0x 0, Readback 0x ff00ff00ff00ff
Memory pattern filling Test fails at 0x480000e0, Write 0x 0, Readback 0x ff00ff00ff00ff
Memory pattern filling Test fails at 0x48000120, Write 0x 0, Readback 0x ff00ff00ff00ff
Memory pattern filling Test fails at 0x48000168, Write 0x 0, Readback 0x ff00ff00ff00ff
Memory pattern filling Test fails at 0x48000000, Write 0xffffffffffffffff, Readback 0x 0
Memory pattern filling Test fails at 0x48000008, Write 0xffffffffffffffff, Readback 0x ff00ff00ff00ff
Memory pattern filling Test fails at 0x48000010, Write 0xffffffffffffffff, Readback 0x ff00ff00ff00ff
...
Memory address Test fails at 0x48000000, Write 0x4800000448000000, Readback 0x ff00ff00ff00ff
Memory address Test fails at 0x48000008, Write 0x4800000c48000008, Readback 0x 0
Memory address Test fails at 0x48000010, Write 0x4800001448000010, Readback 0x 0
Memory address Test fails at 0x48000018, Write 0x4800001c48000018, Readback 0x 0
Memory address Test fails at 0x48000020, Write 0x4800002448000020, Readback 0x 0
Memory address Test fails at 0x48000028, Write 0x4800002c48000028, Readback 0x 0
Memory address Test fails at 0x48000030, Write 0x4800003448000030, Readback 0x 0
Memory address Test fails at 0x48000038, Write 0x4800003c48000038, Readback 0x 0
对于HyperLink_integrity_Test,SL2和Core1 LL2都测试成功,只有DDR测试失败。
这是什么问题?
我找到问题了,是我使用了错误的gel文件。应使用..\..\emulation\boards\evmc6678l\gel\evmc6678l.gel这个文件就可初始化成功。但是我遇到了这样一个问题。
当运行到HyperLink_DSP_core_test()->MemCopyTest;
一直在重复执行这个函数 uiAddressd到LL2复制数据的函数
Console:
61 MB/s, copy 65536 bytes from 0x41800000 to 0x820000 consumes 1069069 cycles
61 MB/s, copy 65536 bytes from 0x41800000 to 0x820000 consumes 1069070 cycles
61 MB/s, copy 65536 bytes from 0x41800000 to 0x820000 consumes 1069062 cycles
61 MB/s, copy 65536 bytes from 0x41800000 to 0x820000 consumes 1069062 cycles
61 MB/s, copy 65536 bytes from 0x41800000 to 0x820000 consumes 1069068 cycles
61 MB/s, copy 65536 bytes from 0x41800000 to 0x820000 consumes 1069070 cycles
61 MB/s, copy 65536 bytes from 0x41800000 to 0x820000 consumes 1069058 cycles
61 MB/s, copy 65536 bytes from 0x41800000 to 0x820000 consumes 1069070 cycles
代码没有修改过,单步调试也不行。
这三行程序都是同一个函数,第一行的是从LL2复制数据到uiAddress
而第二行这个是从uiAddress到LL2
同样的函数,只是把参数src地址和dst地址掉了个头,就出现了这样的情况。奇怪...
CCS6重新导入编译没进行尝试,但是同样的工程复制到CCS10就可以正常跑程序。
应该是指手动写SW_INT寄存器,不需要操作拨码开关。
/*manually trigger the hardware event, which will generate
interrupt packet to remote side*/
gpHyperLinkRegs->SW_INT= HW_EVENT_FOR_INT_TEST;
建议对照hyperlink手册理解。
我使用一块板子进行测试 设置为loopback模式 先运行1核 再运行0核 发现程序进不了中断
程序运行到HyperLink_Interrupt_Test()- gpHyperLinkRegs->SW_INT= HW_EVENT_FOR_INT_TEST这个地方就没反应了
我在中断服务程序第一行写了puts语句,如果跳进中断,是会知道的。现在的情况就是中断没有进去
Debug信息:
[C66xx_1] Initialize DSP main clock = 100.00MHz/1x10 = 1000MHz
HyperLink internal loopback test at 10.000GHz...
Enable Exception handling...
standby for access by HyperLink...
[C66xx_0] Initialize DSP main clock = 100.00MHz/1x10 = 1000MHz
HyperLink internal loopback test at 10.000GHz...
Enable Exception handling...
HyperLink memory test passed at address 0x40000000
Executed: if(hyperLink_cfg.loopback_mode == HyperLink_LOOPBACK)
Executed: HyperLink_Interrupts_Init
Executed: Uint32 uiStartTSC= TSCL
memory protection exception caused by master with ID 0 at 0x1
User Execute violation
User Read violation
Supervisor Write violation
Supervisor Read violation
Executed: gpHyperLinkRegs->SW_INT= HW_EVENT_FOR_INT_TEST
先运行1核 再运行0核
您是对两个核分别进行loopback吗?请单独测试一下core0 loopback是否有问题。
我手上有两套K1_STK的程序 之前一直在拿第一套跑 出现了这些问题 今天我拿第二套程序跑了跑 没有问题 debug信息跟STK_user guide一样
所以我判断是第一套程序可能是之前调试修改过后的程序。我想再问下 K1_STK的程序在官网上哪里可以下载到?虽然我有这个程序,但是我还是想知道具体的下载地址 谢谢