如果要讓kernel自解壓縮時把訊息印在console,那只要寫下列函式即可
(1)console initial函式
(2)putc函式
這兩個函式是獨立於driver之外的特殊函式,在編譯kernel時,當編譯到misc.c,會把以下這幾個函式編進去

#include <asm/arch/uncompress.c>
#define putstr(s)            qt2410_puts(s)
#define arch_decomp_wdog()
#define arch_decomp_setup()    qt2410_decomp_setup()
static void qt2410_decomp_setup(void)
{
    regUFCON0 = 0x0;        //FIFO disable
    regUBRDIV0   =((int)(50000000/16./115200 + 0.5) -1);        // set baud rate P50mhz
    regULCON0  = 0x3;        //Normal,No parity,1 stop,8 bit
    regUCON0=0x245;
    while(!(regUTRSTAT0 & 0x4));
}
 
static void qt2410_putc(char c)
{
    while( !(regUTRSTAT0 & 0x2));
 
    regUTXH0 = c;
 
    if ( c == '\n')
    {
        while(!(regUTRSTAT0 & 0x2));
        regUTXH0 = '\r';
    }
}
 
static void qt2410_puts(const char *s)
{
    while(*s != '\0')
        qt2410_putc(*s++);
}

這就是所謂的linux low-level debug函式

當kernel可成功運行時,那我們就開始考慮file system的問題,因為這個話題網路資料也很多,我就不講了,請多google

最後修改日期: 3 6 月, 2022

作者

留言

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。