阅读:1866回复:3
高分请教:有人详细研究过ARM的CACHE系统的使用吗
我正在为这个头疼,
本来程序转得好好的,可是原来没打开DCACHE转得很慢, 打开CACHE后发现很奇怪的一些东西 CACHE的几个基本操作: invalidate,flush,drain write buffer,PLD 等等都试过了,发现有些无法掌控的现象,好像还和 stack 的位置有关 是不是有什么需要特别注意的没搞好 有人有类似经验的吗,谢谢 就是本来程序好好的 某个函数中加入几个局部变量,就 data abort 再加入几个局部变量,就好了 右加入几个局部变量,又 data abort 或者 prefetch_abort 像是有神经病 我是完全按照手册干的 很是不明白 I0P80310开发板,CPU为 Intel80200(XScale) 反汇编没发现任何BUG 页表设置也没问题 就是不知道为什么,苦啊 |
|
沙发#
发布于:2004-04-08 17:11
我记得ARM的CACHE在使能前必须先FLUSH,你仔细看看芯片资料,一般只要在某个寄存器中写某位就可以了,虽然我用的是ARM7TDMI,但我想在这点应该是一样的
|
|
板凳#
发布于:2004-04-09 09:24
这个早就试过了,还是没有解决
谢谢回复,不过不给分你 |
|
地板#
发布于:2004-04-09 17:38
顶,顶到搞定为止
|
|