main.c裡面就乙個kernel_start()函式。到這可以用c語言寫了。接下來的問題是解決列印。否則只能通過單步除錯才能知道當前執行到kernel_start()函式了。
先實現乙個簡單的main.c:
void kernel_start(void)
printk_string(0,0,"kenel_start()\n", disp_fg_green);
while(1);
列印字串只需要vga chroma text video模式,bios在啟動後會初始化前面的1mbyte記憶體,其中就包括mda chromatext video模式,位址範圍:0xb8000 ~ 0xc0000
每2個位元組表示列印乙個字元,第乙個位元組表示要列印的內容,第二個位元組表示要列印的顏色。
printk.h源**:
#ifndef __printk_h__
#define __printk_h__
/*frontground color*/
#define disp_fg_black 0x00
#define disp_fg_blue 0x01
#define disp_fg_green 0x02
#define disp_fg_cyan 0x03
#define disp_fg_red 0x04
#define disp_fg_purple 0x05
#define disp_fg_brown 0x06
#define disp_fg_light_gray 0x07
#define disp_fg_dark_gray 0x08
#define disp_fg_light_blue 0x09
#define disp_fg_light_green 0x0a
#define disp_fg_light_cyan 0x0b
#define disp_fg_light_red 0x0c
#define disp_fg_light_purple 0x0d
#define disp_fg_yellow 0x0e
#define disp_fg_white 0x0f
/*backgraund color*/
#define disp_bg_black 0x00
#define disp_bg_blue 0x10
#define disp_bg_green 0x20
#define disp_bg_cyan 0x30
#define disp_bg_red 0x40
#define disp_bg_purple 0x50
#define disp_bg_brown 0x60
#define disp_bg_light_gray 0x70
#define disp_blink 0x80
#define max_print_buf 1024
#endif
我的深度學習的學習之旅
一 前言 二 正文 在去年的七月份,也就是19年的7月份,我參加完現在所在的研究生學校的夏令營之後,得知導師對我很感興趣,而且我也基本上可以獲得本科學校的保研資格,所以就開始接受導師的學習安排。因為我選的方向是深度學習的嵌入式應用,於是就開始了深度學習的學習之旅!並且導師告訴我,不僅要學習深度學習,...
我的程式設計學習之旅1
在學校考完試後在學校耍了兩天的遊戲就匆匆的回家了,帶了幾本c程式設計的書 c和指標 programming in c windows 程式設計 打算回家啃一啃。不過,情況幾本和以前一樣,回去先玩了幾天才開始的。最先看的是 windows 程式設計 開始還是和其他書類似,以hello world開始,...
我的ALLEGRO學習之旅2
說了一點什麼是allegro以後,現在我們得知道去 得到他。毫無疑問,當然是他的老家了http talula.demon.co.uk allegro 嘿嘿,安裝好了,迫不及待的試試效果了,下面就用原allegro手冊的裡的測試程式測試了 新寫乙個c程式用dev c編譯,當然了寫大了得新鍵工程,這裡就...