网上大量的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>