Linux debug串口的釋放


文檔時間:2018-10-09

模塊平台:EC25EFA

 

Linux的默認控制台是debug串口,想要改變控制台,首先需要釋放debug串口。

釋放debug串口的步驟主要分為三步:1.禁止aboot的log輸出 2.禁止linux啟動過程的log輸出 3.取消linux console控制台。

1,Aboot啟動過程中會默認向debug串口打印消息,想取消這些打印信息,需要進行修改並重新編譯aboot。

  1),添加打印關閉宏

    vim apps_proc/bootable/bootloader/lk/project/mdm9607.mk

    

  2),添加DEFINES += DEBUG_LOG_DISABLE=1宏

  3),修改 uart_dm.c(位於xxx/apps_proc/bootable/bootloader/lk/platform/msm_shared/目錄下)

#ifdef DEBUG_LOG_DISABLE
static unsigned int
msm_boot_uart_dm_write(uint32_t base, char *data, unsigned int num_of_chars)
{
    return MSM_BOOT_UART_DM_E_SUCCESS;
}
#else
/*
 * UART transmit operation
 */
static unsigned int
msm_boot_uart_dm_write(uint32_t base, char *data, unsigned int num_of_chars)
{
。。。
}
#endif

  紅色部分為新增代碼

  4),重新編譯aboot

    rebake virtual/bootloader

2,禁止linux啟動過程的log輸出

  在linux啟動過程中,會打印出一些信息,想去除這些消息,需要進行修改aboot傳給linux kernel的啟動參數

  1),禁止linux啟動過程輸出log請在sdk目錄執行以下命令($為命令行提示符)

    $ sed -i 's/console=ttyHSL0,115200,n8/console=disable/g' ql-ol-extsdk/tools/quectel_mkboot/mkqcomboot

   2),重新編譯內核

    $ make kernel

 NOTE:

  1),如果想恢復linux啟動log:sed -i 's/console=disable/console=ttyHSL0,115200,n8/g' ql-ol-extsdk/tools/quectel_mkboot/mkqcomboot

  2),禁止log不能使用make debug_kernel_menuconfig來配置內核,否則內核會崩潰

 3,取消linux console控制台

  Linux console控制台的指定在rootfs中的/etc/inittab文件中,修改此文件就可以取消linux console控制台。

  首先打開inittab文件,例如:vim ql-ol-rootfs/etc/inittab

  注釋掉指定console控制台的語句

 

  重新編譯rootfs

    make rootfs

4,驗證

  完成1,2,3步驟后,使用adb重新下載aboot,kernel和rootfs,開機后debug串口不在有任何輸出,使用adb shell可以登錄上去就說明釋放debug串口成功

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM