(12)uboot之UART理解 三

uboot中uart初始化代码

在这里插入图片描述

...
uart_asm_init:
	/*set GPIO to enable uart0-uart4*/
	mov r0, r8
	ldr r1, =0x22222222
	str r1, [r0, #0x0]		@ S5PC100_GPIO_A0_0FFSET
	ldr r1, =0x00002222
	str r1, [r0, #0x20]		@ S5PC100_GPIO_A0_0FFSET

	/* UART_SEL GPIO[5] at S5PC100*/
	add r0, r8, #0x360		@ S5PC110_GPIO_MP0_5_OFFSET
	ldr r1, [r0, #0x0]		@ S5PC1xx_GPIO_CON_OFFSET
	bic r1, r1, #(0xf << 28)	@ 28 = 7 * 4-bit
	orr r1, r1, #(0x1 << 28)	@ Output
	str r1, [r0, #0x0]		@ S5PC1xx_GPIO_CON_OFFSET

	ldr r1, [r0, #0x8]		@ S5PC1xx_GPIO_CON_OFFSET
	bic r1, r1, #(0x3 << 14)	@ 14 = 7 * 2-bit
	orr r1, r1, #(0x2 << 14)	@ Output
	str r1, [r0, #0x8]		@ S5PC1xx_GPIO_CON_OFFSET	

	ldr r1, [r0, #0x4]		@ S5PC1xx_GPIO_CON_OFFSET
	orr r1, r1, #(0x1 << 7)	@ 7 = 7 * 1-bit
	str r1, [r0, #0x4]		@ S5PC1xx_GPIO_CON_OFFSET	

	/*set reg ULCON0 UCON0 UFCON0 UMCON0 UBRDIV0 UDIVSL0T0*/
	ldr r0, =0xE2900000
	ldr r1, =3
	str r1,[r0]		@ULCON0=3
	
	ldr r1, =0x305
	str r1, [r0,#0x4]	@UCON0=0x305
	
	ldr r1, =1
	str r1, [r0,#0x8]	@UFCON0=0

	ldr r1, =0
	str r1, [r0,#0xC]	@UMCON0=0

	ldr r1, =34
	str r1, [r0,#0x28]	@UBRDIV0=34

	ldr r1, =0XDFDD
	str r1, [r0,#0x2C]	@UDIVSL0T0=13'1
	
	/*test send Uart-ok!*/
	ldr r0, =0xE2900020
	ldr r1, =0x55
	str	r1, [r0]		@UTH0='U'

	ldr r1, =0x61
	str	r1, [r0]		@UTH0='a'

	ldr r1, =0x72
	str	r1, [r0]		@UTH0='r'

	ldr r1, =0x74
	str	r1, [r0]		@UTH0='t'

	ldr r1, =0x5F
	str	r1, [r0]		@UTH0='-'
	
	ldr r1, =0x4F
	str	r1, [r0]		@UTH0='o'
	
	ldr r1, =0x6B
	str	r1, [r0]		@UTH0='k'

	ldr r1, =0x21
	str	r1, [r0]		@UTH0='!'

	ldr r1, =0xA
	str	r1, [r0]		@UTH0='\r'

	ldr r1, =0xD
	str	r1, [r0]		@UTH0='\n'

	mov pc, lr
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值