4 VIVI 程式碼預覽
檢視 VIVI 程式碼,修改並測試 VIVI。
arch |
S3C2440 的入口點和內部驅動程式。 |
drivers | MTD、NET、SERIAL等驅動程式。 |
init | C 主程式。 |
lib | 系統函式庫,包括記憶體管理、字串處理程式等。 |
mylib | 此開發板的製造商自己的程式,包括IIC、LCD、VGA等。 |
net | 網路應用程式,包括 tftp、ping、nfs、rarp、sntp等。 |
test | 測試程式,用來取代 VIVI,測試開發板。 |
目錄 arch 有檔案 config.in、Makefile、vivilds.in。
config.in | 描述 menuconfig 的目錄與項目結構。在執行 make 之前,要先執行 make menuconfig,以決定要編譯的內容。 |
Makefile | 用來產生連結 VIVI 映像的連結檔 vivi.lds,指定 VIVI 連結的位址。 |
vivi.lds.in | 是連結檔的樣本檔,用來產生 vivi.lds。 |
目錄 arch/S3C2440 有檔案 head.S、mmu.c、proc.c、nand_read.c、smdk.c、smdk2440_test.c。
head.S | 提供 VIVI 的入口點,設定 S3C2440 晶片時脈,執行NANDFLASH 載入器,最後跳躍到 C 語言入口點 main。 |
mmu.c | S3C2440 的記憶體管理器函式庫。 |
proc.c | S3C2440 晶片函式庫,包括時脈函式庫、串列埠鮑率、晶片資訊等,有點雜亂。 |
nand_read.c | NANDFLASH 載入器函式庫,由 head.S 呼叫,將VIVI 從 NANDFLASH 載入到 SDRAM。 |
smdk.c | 從 SMDK 剪貼過來的程式碼,包括鮑率參數、分割區參數、XMODEM 參數、網路參數,以及開發板初始函式等。 |
smdk2440_test.c | SMDK 的測試程式,測試晶片的睡眠、中斷、GPIO輸出入等功能。 |
目錄 arch/def-configs 有檔案 smdk2440。smdk2440 是 VIVI 的內定組態檔。執行 make menuconfig 時,要將其載入。
目錄 drivers 有目錄 mtd、net、serial。
mtd | 提供 NORFLASH、NANDFLASH 上層驅動程式和 S3C2440 的 NANDFLASH 下層驅動程式。 |
net | 提供 CS8900 和 DM9000X 的驅動程式。 |
serial | 提供串列埠函式庫,包括 XMODEM、YMODEM等協定。 |
目錄 init 有目錄 main.c、version.c。
main.c | 是 C 語言入口點,提供VIVI 的初始化程序。 |
version.c | 提供 VIVI 的版本資訊。 |
目錄 lib 有目錄 boot_kernel.c、command.c、ctype.c、exec.c、heap.c、load_file.c
、memory.c、memtst.c、misc.c、printk.c、reset_handle.c、string.c、time.c。
boot_kernel.c | LINUX 啟動函式庫,。 |
command.c | 命令管理器,可以註冊所有命令。 |
ctype.c | 不懂,。 |
exec.c | 命令執行器,。 |
load_file.c | 使用 XMODEM 下載檔案到 FLASH。 |
heap.c | 堆積管理器,用來執行動態記憶體管理。 |
memory.c | 記憶體管理函式庫,不同於堆積。 |
memtst.c | 記憶體測試函式庫,讀寫測試記憶體。 |
misc.c | 其他輔助函式庫,。 |
printk.c | 訊息顯示函式庫,會從串列埠將訊息顯示。 |
reset_handle.c | 重置處理器,包括軟體中斷重置和硬體重置。 |
string.c | 字串處理函式庫,。 |
time.c | 時間管理函式庫,。 |
目錄 mylib 有目錄 vgadriver.c,提供 lcd 和 vga 函式庫。
目錄 net 提供 tcpip 堆疊和 tftp 等網路指令。
net.c | 網路管理程式,。 |
eth.c | 網路封包收發程式,。 |
bootp.c | DHCP 封包處理,。 |
cmdnet.c | 網路命令,。 |
netcmd1.c | 網路命令二,已由 cmdnet.c 取代,沒有用。 |
netcmd.c | 網路命令一,已由 cmdnet.c 取代,沒有用。 |
nfs.c | 網路檔案收發程式,基於 TFTP 協定層。 |
rarp.c | 網路位址解析協定。 |
sntp.c | 簡易網路時間協定。 |
tftp.c | TFTP 檔案傳輸協定。 |
vsprintf.c | 偵錯訊息函式庫,。 |
目錄 scripts 提供 menuconfig 的函式庫,包括目錄項目的屬性等。
目錄 util 提供 LINUX 環境下的工具程式,不屬於 VIVI 映像。
main.c | 是 C 語言入口點,提供VIVI 的初始化程序。 |
version.c | 提供 VIVI 的版本資訊。 |
|