如果要讓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
留言