網上大量的uCOS-II樣本源碼運行在X86實模式下,由DOS載入運行,不能充分發揮X86的強大效能。
如果要實現uCGUI則只能使用Borland的Graphics庫,局限性很大。
本文要介紹的uCOS-II+ucGUI-324運行在X86保護模式,由Linux0.11的boot loader,將uC/OS-II載入到0x1000位置,
進入VESA VBE圖形下運行,示範了uCGUI的Demo程式。此代碼只需簡單修改則可運用在嵌入式產品開發。
這裡主要談編譯和調試的問題:
在 X86上編譯uc/os,網上介紹的一般是使用borland c/c++ 3.1, borland c/c++ 4.5進行編譯的。本文介紹的代碼使用
Linux gcc/Windows DJGPP進行編譯,其中boot loader的彙編代碼由nasm進行編譯。
編譯工具準備:
Linux gcc/Windows DJGPP
Nasm
uCOS-II+ucGUI-324源碼
編譯過程:
將本文提供的uCOS-II+ucGUI-324源碼解壓放到Linux的目錄ucos_ii。進入ucos_ii,運行make即可,將會在ucos_ii/boot
目錄下產生可開機磁碟映像檔案ucos_ii.ima,此檔案可以在Bochs或者vMWare下運行。
調試過程:
調試X86的程式可以在真實的PC上運行,也可以運行在各類的模擬器上,如Bochs(http://bochs.sourceforge.net/),
vMWare或者virtual PC等等。本文選擇了簡單小巧的Bochs作為模擬器。
開啟ucos.bxrc檔案,修改下面二行配置
floppya: 1_44=ucos_ii.ima, status=inserted
boot: floppy
單擊ucos.bxrc即可啟動剛才編譯的uCOS-II+ucGUI-324。
下面二張圖片就是運行時的螢幕截圖:
已經編譯完成的uCOS-II+ucGUI-324檔案:
<a href=http://www.daxia.com/bibis/upload/ucgui_bin.390.rar>ucgui_bin.rar/135493位元組</a>
uCOS-II+ucGUI-324原始碼:
<a href=http://www.daxia.com/bibisupload/ucgui_src.640.rar>ucgui_src.rar/727359位元組</a>