zoukankan      html  css  js  c++  java
  • 如何在真实串口驱动还未加载的情况下调试uboot?

    1. 先找出真实串口是什么型号

      1.1 怎么找?笔者提供两种方案:

      方案一: 若当前的板子支持dm,从uboot的dts找串口节点对应的compatible属性

      方案二: 从linux内核的dts找串口节点对应的compatible属性

      1.2 笔者当前的uboot不支持dm,所以笔者是从linux内核的dts中找到的

        compatible="ns16550",所以笔者的板子硬件是ns16550这个ip

    2. 配置选项

      CONFIG_DEBUG_UART=y (在make menuconfig中使能此选项后,会出现配置使用哪种串口、串口基地址、输入时钟、寄存器偏移等等可配置项)

      CONFIG_DEBUG_UART_NS16550=y (需要根据具体的串口ip选择哦)

      CONFIG_DEBUG_UART_BASE = 0x21c0500 (需要根据具体的soc修改哦)

      CONFIG_DEBUG_UART_CLOCK = CONFIG_SYS_CLK_FREQ / 2 (需要根据具体的soc修改哦)

      CONFIG_DEBUG_UART_SHIFT=0 (需要根据具体的soc修改哦)

    3. 需要在调试之前调用debug_uart_init(),如下:
            #define DEBUG

            #if CONFIG_DEBUG_UART

            #include <linux/types.h>

      #include <debug_uart.h>

            #endif

            #if CONFIG_DEBUG_UART

          debug_uart_init();
               debug("%s: %d Jello ", __func__, __LINE__);
           #endif

  • 相关阅读:
    解决ecshop进入后台服务器出现500的问题
    Java8新特性(拉姆达表达式lambda)
    使用Optional优雅处理null
    Arrays.asList 存在的坑
    Java提供的几种线程池
    冒泡排序及优化详解
    如何让MySQL语句执行加速?
    关于https的五大误区
    127.0.0.1和0.0.0.0地址的区别
    宽带网络技术-大题重点
  • 原文地址:https://www.cnblogs.com/dakewei/p/11766286.html
Copyright © 2011-2022 走看看