start.S解析4

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

学习地址:www.zhulaoshi.org



	bl	lowlevel_init	/* go setup pll,mux,memory */
这句是start.S中的代码,要说的一点是,这里通过SI直接找到的定义处,是有问题的,


	push	{lr}
压栈,保存环境,


	/* check reset status  */
	
	ldr	r0, =(ELFIN_CLOCK_POWER_BASE+RST_STAT_OFFSET)
	ldr	r1, [r0]
	bic	r1, r1, #0xfff6ffff
	cmp	r1, #0x10000
	beq	wakeup_reset_pre
	cmp	r1, #0x80000
	beq	wakeup_reset_from_didle
判断复位状态,虽然这对我们这里没什么意义,不过它的作用还是不能忽视的,

复位状态不仅仅是一种,比如有冷上电,热启动,睡眠下唤醒等,这些都属于复位,

意义在于,比如冷上电的时候DDR是需要初始化的,

看来真的是不同啊~


	/* IO Retention release */
	ldr	r0, =(ELFIN_CLOCK_POWER_BASE + OTHERS_OFFSET)
	ldr	r1, [r0]
	ldr	r2, =IO_RET_REL
	orr	r1, r1, r2
	str	r1, [r0]
IO状态恢复,暂时不用管,


	/* Disable Watchdog */
	ldr	r0, =ELFIN_WATCHDOG_BASE	/* 0xE2700000 */
	mov	r1, #0
	str	r1, [r0]
关看门狗,哈哈,用到以前讲的了,


接下来的代码,是外部SRAM,SROM的GPIO的设置,懒得贴了,暂时也不用管。


还有供电锁存,都是之前裸机中有讲的,




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值