MTK6577+Android log端口设置

一些缩写简称:

AP:application processer,应用处理器

MD:

 

 

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


图1

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


图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中定义

[cpp]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. #define CFG_LOG_BAUDRATE        (921600)  
  2. #define CFG_META_BAUDRATE       (115200)  
  3. #define CFG_UART_LOG            (UART1) //(UART4)  
  4. #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日志端口。

 

相关代码如下:

[cpp]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. #ifdef __ENABLE_UART_LOG_SWITCH_FEATURE__  
  2.     if(get_uart_port_id() == 1){  
  3.         mtk_serial_set_current_uart(UART1);  
  4.         mtk_uart_power_on(UART1);  
  5.     }else{  
  6.         mtk_serial_set_current_uart(UART4);  
  7.         mtk_uart_power_on(UART4);  
  8.     }  
  9.     #else  
  10.     mtk_serial_set_current_uart(UART4);  
  11.     mtk_uart_power_on(UART4);  
  12.     #endif  


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


图3

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

 

(3)  Kernel

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

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值