我不是很清楚,在哪里刷新? 跳转之前?是说在转入执行vxworks之前?在这之前cache是禁止的. 怀疑是cache一致性的问题,现象就是在cache使能后,紧跟的那条指令没有执行,是个绝对转移指令.例程如下: lis r4,0xa00 isync mtspr ic_cst,r4 isync lis r4,0x400 isync mtspr ic_cst,r4 isync lis r4,0x200 isync mtspr ic_cst,r4 b xxxx <-----(这里没有跳转,去执行下面的了,就出了问题)
最近刚做完vxworks的启动调试,但是是在把cache禁止的情况下做的.
现在想把cache功能加进去. 问题是,我的vxworks一加cache就启动不起来.
要怎么调试呢,我现在感觉无从下手. 没有vxworks源程序.
比较郁闷. 哪位给点建议? 补充: cache的应用是不是跟具体的设备有关? 如果该设备驱动使用了cache,那么就需要考虑cache 的一致性; 如果该设备驱动没有使用cache,那么就不需要考虑cache的一致性或者根本就不需要考虑cache. 是不是可以这样想?
未知.
|