| 
 
| 使用uC/OS-II操作系统,分配了主堆栈(MSP)和任务堆栈(PSP)。发现在某个任务中建立一个局部数组,该数组的内存空间被分配到主堆栈<br /><br />while(1)<br />{<br />    unsigned char cSrc[10] = {11,22,33,44,55,66,77,88,99,10};<br />    unsigned char cDest[10];<br />    unsigned char i;<br /><br />    for(i = 0; i < 10; i++)<br />    {<br />        cDest = cSrc;<br />    }<br />    <br />    OSTimeDly(1);<br />}<br /><br />疑问:进入了任务之后,应该使用任务堆栈,即数组cSrc[10]和cDest[10]应该被分配到PSP+某个地址的内存空间;<br />现在发现数组cSrc[10]和cDest[10]被分配到了MSP+某个地址的内存空间<br /><br />后果:cDest被赋予了PSP堆栈空间内存的值,即cDest不能被正确赋值 | 
 |