`
xiaoer_1982
  • 浏览: 1806639 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

head.s分析(14):L2空间清0

阅读更多

快乐虾

http://blog.csdn.net/lights_joy/

lights@hb165.com

本文适用于

ADI bf561 DSP

uclinux-2008r1.5-rc3 (移植到vdsp5)

Visual DSP++ 5.0(update 5)

欢迎转载,但请保留作者信息

/*

* Zero out the L2 bss (where the SMP corelock slot lives).

*/

#ifdef CONFIG_L2_BOOT_MAPPED

p1.l = __sbss_l2;

p1.h = __sbss_l2;

p2.l = __ebss_l2;

p2.h = __ebss_l2;

cc = p1 == p2;

if cc jump .L_l2_done

#else

p1.l = lo(L2_START);

p1.h = hi(L2_START);

p2 = p1;

p2 += SIZEOF_CORELOCK;

#endif

r0 = 0;

p2 -= p1;

lsetup (.L_clear_l2, .L_clear_l2 ) lc0 = p2;

.L_clear_l2:

B[p1++] = r0;

.L_l2_done:

由于没有定义CONFIG_L2_BOOT_MAPPEDp1直接取L2_START的值:

#define L2_START 0xFEB00000

#define L2_LENGTH 0x20000

将整段空间清0

1 参考资料

head.s分析(1):保存u-boot传递过来的指针(2009-1-19)

head.s分析(2)SYSCFG配置(2009-1-19)

head.s分析(3):数据及指针寄存器清0(2009-1-19)

head.s分析(4):关闭CACHE(2009-01-19)

head.s分析(5):关闭串口(2009-01-19)

head.s分析(6):栈指针初始化(2009-01-19)

head.s分析(7)init_early_exception_vectors(2009-1-19)

head.s分析(8):配置PLLSDRAM(2009-01-20)

head.s分析(9)EBIU配置(2009-01-20)

head.s分析(10):转入中断15(2009-01-20)

head.s分析(11):关闭WATCHDOG(2009-01-20)

head.s分析(12)bss段清0(2009-01-20)

head.s分析(13):代码段前空间清0(2009-01-20)

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics