我的學習之旅 12 main c

2021-06-28 08:27:43 字數 1698 閱讀 7148

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編譯,當然了寫大了得新鍵工程,這裡就...