zoukankan      html  css  js  c++  java
  • 第三章之S5PV210串口初始化

    1,在start.S中执行373行b lowlevel_init跳转到/board/samsung/goni/lowlevel.S中,此代码中初始化一样硬件。

    找到241行,此行执行URAT初始化,如下图:

    但此UART初始化与s5pv210的UART初始化不同,需要自己手动修改。

    2,在lowlevel.S的463行下添加如UART初始化代码:

     1 /****add S5PV210 UART Initialize by xu***/
     2     ldr r0,    =0xE2900000
     3     ldr r1,    =0x3 
     4     str r1,    [r0]         @ULCON0=0x3 indicates the number of data bits is 8
     5 
     6     ldr r1,    =0x305 
     7     str r1,    [r0,#0x4]    @UCON0=0x305 
     8 
     9     ldr r1,    =0x1 
    10     str r1,    [r0,#0x8]    @UFCON0=0x1 FIFO Enable 
    11 
    12     ldr r1,    =0x0 
    13     str r1,    [r0,#0x0C]   @UMCON0=0x0 
    14 
    15     ldr r1,    =34 
    16     str r1,    [r0,#0x28]    @UBRDIVn=34  Baud Rate=115200
    17 
    18     ldr r1,    =0xDFDD
    19     str r1,    [r0,#0x2C]   @UDIVSLOTn=0xDFDD 13'1

    3,设置好之后,还要添加测试代码,看看是否串口能否打印出东西来,下面是测试代码,紧跟上一步初始化代码下面.

     /***test uart***/
        ldr r0,    =0xE2900020
    
        ldr r1,    =0x55 
        str r1,    [r0]     @UTXH0='U'
    
        ldr r1,    =0x41
        str r1,    [r0]     @UTXH0='A'
    
        ldr r1,    =0x52
        str r1,    [r0]     @UTXH0='R' 
    
        ldr r1,    =0x55 
        str r1,    [r0]     @UTXH0='W'
    
        ldr r1,    =0xa
        str r1,    [r0]     @UTXH0='
    '
    
        ldr r1,    =0xd 
        str r1,    [r0]     @UTXH0='
    '

    4,好,连接好电脑和板子UART0,然后Make一下,生成u-boot,把u-boot.16k重新烧写到SD卡中。但是在串口终端上看不到任何输出信息。怎么回事?

    让我看一下,make时生成的输出信息,如图:

    lowlevel.S文件在board/samsung/goni/libgoni.o中,此文件在u-boot中最后编译进来,明显UART超出16K大小范围,串口终端看不到任何打印信息。

    5,通过上一步知道了问题所在,那么我们可以调整Makefile文件,来调整board/samsung/goni/libgoni.o编译的先后。

    #vim Makefile

    屏蔽359行,添加360行.如图:

    6,如此,再次make和烧写u-boot.16k,打开串口0,可以看到输出信息。

  • 相关阅读:
    解决Cannot delete or update a parent row: a foreign key constraint fails的mysql报错
    zabbix4.2绘制网络拓扑图-添加链路速率
    zabbix 添加宏变量
    238_Product of Array Except Self
    122_Best Time to Buy and Sell Stock II
    260_Single Number III
    C# 比较时间问题
    226_Invert Binary Tree
    100_Same Tree
    283_Move Zeroes
  • 原文地址:https://www.cnblogs.com/eeexu123/p/7263465.html
Copyright © 2011-2022 走看看