修改UBOOT和LINUX调试串口(TI达芬奇芯片--DM6467)

2019-07-27 17:18发布

1.1 概述TI针对DM6467提供的UBOOT和内核默认都是串口0作为调试串口输出的,但现在我需要使用DM6467的UART0的modem功能,所以修改代码,改变调试串口为串口2。需要修改的主要有几部分内容:1. UBL 代码(这部分代码在刚上电的时候,初始化CPU和拷贝UBOOT到DDR,打印信息只有很少,所以不做修改)。2. UBOOT代码。3. linux内核驱动。      使用的代码及版本请参考:http://processors.wiki.ti.com/index.php/DaVinci_PSP_03.01_Beta_(r31)_Release_Notes
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
13条回答
白丁野老
2019-07-28 16:03
3.1.2 修改内核驱动,改变内核调试串口
    因为内核启动时会对上面提到的几个寄存器作修改,所以需要修改/arch/arm/mach_davinci/board_dm646x_evm.c文件来确认2.1提到的寄存器的配置,同时需要使能UART1或UART2的时钟,默认情况下是只使能UART0的时钟。内核串口驱动就不需要修改了,因为也是16550的驱动,这份驱动也没有去配置串口的工作模式,所以UBOOT里配置了寄存器就行了,除非你想确认寄存器的配置,防止启动内核时寄存器被修改了或想控制串口的工作模式。
   使能UART1/2时钟:
  1. 1 static struct davinci_uart_config uart_config __initdata = {
  2. 2
  3. 3     .enabled_uarts = (1 << 0)|(1 << 1)|(1 << 2),
  4. 4
  5. 5 };
复制代码

一周热门 更多>