串口做为一种很是简单的通讯方式,才是嵌入式系统调试的王道,经过设置串口输出,咱们能够将程序运行的状况直接经过串口线输出到屏幕上,对于这种异常重要的功能,uboot原生就提供了支持,但为此咱们须要作一些准备工做, 流程仍是那套:html
经过(二)的分析, 咱们了解到初始化串口的工做在BL2的"board/samsung/myboard/lowlevel_init.S"中进行, 因此咱们的工做就是在这个文件中添加相应的代码.3d
为了让串口工做, 咱们须要添加以下代码
添加临时栈调试
41 lowlevel_init: 42 ldr sp,=0x02060000 @use iRom stack in bl2 43 push {lr}
关闭看门狗code
67 beq wakeup_reset 68 69 #if 1 /*for close watchdog */ 70 /* PS-Hold high */ 71 ldr r0, =0x1002330c 72 ldr r1, [r0] 73 orr r1, r1, #0x300 74 str r1, [r0] 75 ldr 76 r0, =0x11000c08 77 ldr r1, =0x0 78 str r1, [r0] 79 /* Clear MASK_WDT_RESET_REQUEST */ 80 ldr r0, =0x1002040c 81 ldr r1, =0x00 82 str r1, [r0] 83 #endif 84 /*
串口初始化htm
352 str r1, [r0, #EXYNOS4_GPIO_A1_CON_OFFSET] 353 #if 1 354 ldr r0, =0x10030000 355 ldr r1, =0x666666 356 ldr r2, =CLK_SRC_PERIL0_OFFSET 357 str r1, [r0, r2] 358 ldr r1, =0x777777 359 ldr r2, =CLK_DIV_PERIL0_OFFSET 360 str r1, [r0, r2] 361 #endif 362 ldr r0, =EXYNOS4_UART_BASE
注释掉 trustzone 初始化blog
104 /* for UART */ 105 bl uart_asm_init 106 @bl tzpc_init
这些汇编代码也不须要特别的配置, 从新编译便可生效get
无it
进行了这些工做,咱们就能够接上串口线看一下是否有串口输出, 下面是我把网卡一块儿移植以后的结果, 固然, 这个界面是串口的功劳.
asm