07
02

Linux porting on different platform HowTo(5)

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

  1. #include <asm/arch/uncompress.c>
  2. #define putstr(s)            qt2410_puts(s)
  3. #define arch_decomp_wdog()
  4. #define arch_decomp_setup()    qt2410_decomp_setup()
  5. static void qt2410_decomp_setup(void)
  6. {
  7.     regUFCON0 = 0x0;        //FIFO disable
  8.     regUBRDIV0   =((int)(50000000/16./115200 + 0.5) -1);        // set baud rate P50mhz
  9.     regULCON0  = 0x3;        //Normal,No parity,1 stop,8 bit
  10.     regUCON0=0x245;
  11.     while(!(regUTRSTAT0 & 0x4));
  12. }
  13.  
  14. static void qt2410_putc(char c)
  15. {
  16.     while( !(regUTRSTAT0 & 0x2));
  17.  
  18.     regUTXH0 = c;
  19.  
  20.     if ( c == '\n')
  21.     {
  22.         while(!(regUTRSTAT0 & 0x2));
  23.         regUTXH0 = '\r';
  24.     }
  25. }
  26.  
  27. static void qt2410_puts(const char *s)
  28. {
  29.     while(*s != '\0')
  30.         qt2410_putc(*s++);
  31. }

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

當kernel可成功運行時,那我們就開始考慮file system的問題,因為這個話題網路資料也很多,我就不講了,請多google
標籤: embedded
評論: 0 | 引用: 0 | 閱讀: 4001
發表評論
暱 稱: 密 碼:
網 址: E - mail:
驗證碼: 驗證碼圖片 選 項:
頭 像:
內 容: