shenyixin1121 发表于 2013-3-20 16:15:38

MEGA64上跑OS,本该写入CSTACK的信息会写在其他区域

最近在CAN64上跑OS,因为之前都是跑协作式的OS,最近在试抢先式的OS,发现定义好CSTACK范围为0x100~0x2FF后,数据往往会有1~4字节写到0x300~0x304的地址上,
软件采用定时器1进行计时抢先切换,采用外部中断引脚做软中断在任务结束进行切换,发现外部中断只入栈了17个系统寄存器,而定时器中断入栈了18个系统寄存器,不知道是否是这个原因,IAR编译器能否保持每个中断的出入栈寄存器相同,能否用软件实现?

shenyixin1121 发表于 2013-3-24 23:03:22

找到问题了,任务结束时的切换的问题
页: [1]
查看完整版本: MEGA64上跑OS,本该写入CSTACK的信息会写在其他区域