start.S解析5

《朱老师物联网大讲堂》学习笔记

学习地址:www.zhulaoshi.org


	ldr	r0, =0xff000fff
	bic	r1, pc, r0		/* r0 <- current base addr of code */
	ldr	r2, _TEXT_BASE		/* r1 <- original base addr in ram */
	bic	r2, r2, r0		/* r0 <- current base addr of code */
	cmp     r1, r2                  /* compare r0, r1                  */
	beq     1f			/* r0 == r1 then skip sdram init   */
判断当前代码执行的位置,

为什么要判断?

冷启动的话,当前代码段应该在SRAM中的BL1中,

如果是低功耗的话,就是在DDR中运行的,

上面的不同,引起代码上的不同就是时钟的初始化和DDR的初始化,


system_clock_init,

这块下次听得时候再记笔记,

你可能感兴趣的:(嵌入式,uboot,s5pv210)