MTK6577+Android log端口设置

MTK6577+Android log端口设置

一些缩写简称:

AP:application processer,应用处理器

MD:

 

 

MT6577支持 4个UART,UART在无线通信基带芯片组(baseband chipset)和外设间提供全双工串行通信通道,UART的方块图如下图:


图1

MT6577默认的串口分配如下图:

MTK6577+Android log端口设置_第1张图片

图2

 

1.     产品串口分配:

 

 

模块

UART1

底部的扩展串口/debug口

UART2

TD3026D北斗

UART3

MT6628 GPS/BT

UART4

LF/HF/UHF/1D

 

 

 

 

 

 

 

 

2.     Bootloader和kernel中日志端口设置

(1)  Preloader

AP和MD log port(日志端口)定义,相关的CFG_UART_LOG和CFG_UART_META配置,在xxx\mediatek\custom\project_name\preloader\inc\cust_bldr.h中定义

#define CFG_LOG_BAUDRATE        (921600)
#define CFG_META_BAUDRATE       (115200)
#define CFG_UART_LOG            (UART1) //(UART4)
#define CFG_UART_META           (UART1)


CFG_UART_LOG用于定义AP日志端口,CFG_UART_META用于定义MD/META日志端口。

 

(2)  UBoot

如果定义了__ENABLE_UART_LOG_SWITCH_FEATURE__,UBoot会采用和Preloader一样的日志端口。可以通过调用get_uart_port_id()来获取preloader中采用的UART端口。

 

如果没有定义__ENABLE_UART_LOG_SWITCH_FEATURE__,那么UBoot中就直接采用UART4作为AP日志端口。

 

相关代码如下:

#ifdef __ENABLE_UART_LOG_SWITCH_FEATURE__
	if(get_uart_port_id() == 1){
		mtk_serial_set_current_uart(UART1);
		mtk_uart_power_on(UART1);
	}else{
		mtk_serial_set_current_uart(UART4);
		mtk_uart_power_on(UART4);
	}
	#else
	mtk_serial_set_current_uart(UART4);
	mtk_uart_power_on(UART4);
	#endif


t的AP日志端口选择关系如下图:

MTK6577+Android log端口设置_第2张图片

图3

从上面的介绍可以看出MTK6577的日志端口只能用UART1或是UART4。

 

(3)  Kernel

要么UBoot日志端口设置为NUL,或要么Kernel日志端口设置为NULL,这种情况下,我们采用kernel日志端口设置;当UBoot日志端口设置不同于Kernel日志端口设置,我们采用UBoot日志端口设置。

 

如果UBoot和kernel日志端口设置都不为NULL,我们的优选选择是UBoot的设置,而且我们要记住,UBoot设置中不能使用UART2和UART3。

 

 

你可能感兴趣的:(MTK6577+Android log端口设置)