之前很谢谢Richard Zhang告诉我关于channel region的问题,大概明白些了。
现在老师改了要求(应该是更进一步的要求):
1.core 0 做控制,负责计时和写控制位(譬如写个标志位让其他7个核一起搬数)
2.core1-7利用不同的channel1-7进行搬数(用的global region,用的inst=1)这回不是64个数了,改成了64k的数,但是还是用block move(因为貌似这是block move的上限不改acnt 和ccnt)
3.源地址是DDR3,目的地址是core1-core7的L2 SRAM
现在的问题是:
1.如果单步执行(譬如说core1,core2,core3分别执行分别搬数,结果都是正确的,都可以搬数)
2.但是如果全部开始执行,core0或者core1-7陷入一直running的状态,一个数都不能搬,
suspend后还会报错
C66xx_1: Trouble Halting Target CPU: CPU pipeline is stalled and the CPU is 'not ready'. This means that the CPU has performed an access which has not completed, and the CPU is waiting. The target may need to be reset. The user can choose 'Yes' to force the CPU to be 'ready'. When this is done, the user will have the ability to examine the target memory and registers to determine the cause of the CPU stall. If CPU hang is caused by application and it has been forced to be 'ready', the CPU should not be run without a reset. Yes – force CPU ready (might corrupt the code) Disconnect – disconnect CCS so that it can be reset Retry – attempt the command again (Error -1202) @ 0 (0x0)
C66xx_1: Trouble Reading Memory Block at 0x13800000 on Page 0 of Length 0xe0: The target does not have a CPU clock. (Error -1178) @ 327155752 (0x13800028)
C66xx_1: Trouble Reading Register CSR: The target does not have a CPU clock. (Error -1178) @ 65 (0x41)
C66xx_2: Trouble Halting Target CPU: CPU pipeline is stalled and the CPU is 'not ready'. This means that the CPU has performed an access which has not completed, and the CPU is waiting. The target may need to be reset. The user can choose 'Yes' to force the CPU to be 'ready'. When this is done, the user will have the ability to examine the target memory and registers to determine the cause of the CPU stall. If CPU hang is caused by application and it has been forced to be 'ready', the CPU should not be run without a reset. Yes – force CPU ready (might corrupt the code) Disconnect – disconnect CCS so that it can be reset Retry – attempt the command again (Error -1202) @ 0 (0x0)
C66xx_1: Failed to remove the debug state from the target before disconnecting. There may still be breakpoint op-codes embedded in program memory. It is recommended that you reset the emulator before you connect and reload your program before you continue debugging
所以求求各位大神解救我吧!!!!我的时间不多了!
救人一命胜造七级浮屠!!!!!
跪谢!!!!!!!!!!!!!!!(附件为小女调到崩溃还是不出结果还各种错误的程序!!!谢谢啦!)
Richard Zhang:
TI的工程师们很忙。。看你着急。。我随便说。。我说的不对的地方还请TI工程师们指正。
1. 配置EDMA的源地址 和 目的地址 一定要使用全局地址
2.myParamSetup.option = 0x00100008; 这个寄存器的12位开始是完成码,你可以试试多核使用不同的完成码,这样在完成后会在IPR的不同位置位。 比如改为:myParamSetup.option = (0x00100008|(DNUM<<12))
查到IPR置位后 把它清掉。