bigbaicai

芯方式是以半导体人、电子工程师等电子行业相关领域从业人员为核心的知识经验学习、分享、交流社群。 凭借开放、合作、共赢的运营理念,聚集了来自国内外知名院校和顶尖科技公司的半导体人、电子工程师。 我们致力于营造专业、认真、有温度的分享交流环境,将高质量的内容和方案成规模地生产和分享,帮助个人和团队在芯方式找到有价值的Key。 http://www.icfans.com/

MTK Nucleus平台软件log抓取方法

0
阅读(2732)

MTK 以Nucleus Plus OS为kernel的产品,包括featurephone(6260,6261),M2M(6261),Wearable(2501,2502),软件在开机过程经历了bootrom,bootloader,Nucleus kernel init,kernel schedule这些阶段,每个阶段抓取log的方式也不一样,如有需要某个阶段的log,请按以下说明抓取,如若在使用catcher进行抓取log时候也遇到死机,建议将dump一并抓取分析。


[SOLUTION]


1、brom log和bootloader log抓取方法一致:

只能使用uart连接PC,使用Putty或者超级终端等串口工具,设定好对应com口,波特率为115200.如若抓取的log里面有 bye bye bootloader,说明bootloader已经顺利走完。


2、Nucleus Kernel init log:

工程makefile中将 KAL_RECORD_BOOTUP_LOG 设为TRUE,make new只能使用uart连接PC,使用catcher连接抓取,波特率设置为921600.


3、Kernel scheduler后:

只能使用Catcher进行抓取log这个阶段的log可以自行设置为uart(包括波特率)或者usb,TST-PS config和TST-L1 config设定要一致,并与PS config不一致,如若设置为uart,建议波特率设置为921600,太慢会丢更多的

log,设置方法有3种如下:


1)拨号*#3646633#进入工模,Device->Set Uart->Uart Setting

2)连接meta设定NVRAM,Other LID->NVRAM_EF_PORT_SETTING_LID->1

可将tst_port_ps和tst_port_l1设置为0, 1, 4, 5,分别代表UART1,UART2,USB1,USB2 tst_baudrate_ps和tst_baudrate_l1设定为921600。此时port_ps就不能设置与上述设定一致,如若关闭可设为99


3)以上两种设定都是将修改值保存在nvram中,如若有格式化fs区域,设定就会失效,可以修改代码,使用默认配置,这一般使用在遇到开机死机无法进行上述的操作时候采用,并且格式化后依然有效。


在custom\common\hal\nvram\nvram_data_items.c定位到NVRAM_EF_PORT_SETTING_DEFAULT结构,修

改成员tst_port_ps、tst_baudrate_ps、tst_port_l1、tst_baudrate_l1,如若ps_port设定有一致,也请修改这个结构的原形定义在:interface\hal\peripheral\dcl_uart.h


typedef struct

{

kal_uint16 tst_port_ps;

kal_uint16 ps_port;

UART_baudrate tst_baudrate_ps;

UART_baudrate ps_baudrate;

kal_bool High_Speed_SIM_Enabled;

kal_uint8 swdbg;

kal_uint8 uart_power_setting; /* For DCM, Start [Set UART POWER], CTI */

kal_uint8 cti_uart_port;

UART_baudrate cti_baudrate;

kal_uint8 tst_port_l1;

UART_baudrate tst_baudrate_l1;

kal_uint8 tst_output_mode;

kal_uint8 usb_logging_mode;

kal_uint16 tst_port_dsp;

UART_baudrate tst_baud_rate_dsp;

kal_uint8 usb_cdrom_config;

} port_setting_struct;


这里面好多宏控制着好几个分支,不清楚自己的工程是在哪个分支,可以对文件做一个备份,然后把每一个分支都改成一样,修改后执行编译命令,make remake_dep custom\common\hal\nvram\nvram_data_items.c

format&download


文章转自一牛网论坛


一牛网旗下拥有一牛网论坛、一牛网元器件商城、一牛网技术众包平台等一系列服务于广大工程师的平台,让研发更快、更便捷!