快乐虾
http://blog.csdn.net/lights_joy/
lights@hb165.com
本文适用于
ADI bf561 DSP
uclinux-2008r1.5-rc3 ( 移植到 vdsp5)
Visual DSP++ 5.0(update 5)
欢迎转载,但请保留作者信息
/* Turn off the icache */
p0.l = LO(IMEM_CONTROL);
p0.h = HI(IMEM_CONTROL);
R1 = [p0];
R0 = ~ENICPLB;
R0 = R0 & R1;
#if ANOMALY_05000125
CLI R2;
SSYNC;
#endif
[p0] = R0;
SSYNC;
#if ANOMALY_05000125
STI R2;
#endif
/* Turn off the dcache */
p0.l = LO(DMEM_CONTROL);
p0.h = HI(DMEM_CONTROL);
R1 = [p0];
R0 = ~ENDCPLB;
R0 = R0 & R1;
/* Anomaly 05000125 */
#if ANOMALY_05000125
CLI R2;
SSYNC;
#endif
[p0] = R0;
SSYNC;
#if ANOMALY_05000125
STI R2;
#endif
这段代码功能也相对简单,关闭 ICACHE 和 DCACHE ,因为在 u-boot 中可能启用它,不过对于直接启动 uclinux 的移植方式而言,没啥意义,在 RESET 之后,本来就是关闭的,呵呵。
1 参考资料
head.s 分析 (1) :保存 u-boot 传递过来的指针 (2009-1-19)
head.s 分析 (2) : SYSCFG 配置 (2009-1-19)
head.s 分析 (3) :数据及指针寄存器清 0 (2009-1-19)