使用PB5编译wince下Tiny Kernel内核

使用PB5编译winceTiny Kernel内

Tiny Kernel”内核体积较小,我在Vortex86SX版子BSP下出来是 1.8M 左右(没有包含中文),这样的内核和小型DOS差不多,但是支持多任务,网络(自己加),因此它是取代传统DOS的好的选择,下面一步一步说明如何定制编译这个内核:

首先说明我使用的板子是一个Vortex86SX,附带的BSP非常齐全丰富,文档描述的也很详尽,也就是说,第一步在PB5环境上首先要安装好该板子的BSP,具体可到网站http://www.vortex86sx.com/default.htm 下载,里面详细的给出了PB456BSP及一些附带工具。BSP如何安装,这里就不多啰嗦了。

启动PB5后,建立工程,在“New Platform Wizaard-Step 3 中,选择你刚装好的BSP类型,接下来“Step4”选择“Kiny Kernel”,点击下一步后,工程就基本创建结束了。这样的一个工程,编译出来的NK.bin,放在板子上执行,显示器上是没有任何显示反应的,因为没有“shell”。

下面开始添加一些必要的网络功能,以便使用外部PC同它顺利交互:

添加一个静态IP,修改文件”project.reg”,添加下面内容:

[HKEY_LOCAL_MACHINE/Comm/PCI/R86101/Parms/TcpIp]

   "EnableDHCP"=dword:0

   "DefaultGateway"=multi_sz:"192.168.0.1"

   "UseZeroBroadcast"=dword:0

   "IpAddress"=multi_sz:"192.168.0.100"

   "Subnetmask"=multi_sz:"255.255.255.0"

注意上述粉红色标记出来的部分是你的网卡型号,我使用的是R8610(后面必须加个1,原因不知道)。IP设置成静态的“192.168. 0.100 ,不使用DHCP功能(不让网络上的路由器给它分配IP地址),还需注意的是multi_sz这样的前缀,最好按原样添加。

添加一个FTP server功能,应该首先先把基本的网络组件加上:(或许也可能BSP已经给你添加好了)

Catalog -> Device Driver -> PCI Bus

Catalog -> Core OS -> Windows CE devices -> Communication Services and Networking -> Networking -Local Area Network (LAN) -> Wired Local Area Network (802.3, 802.5)

这样添加完后,“NDIS”,“TCP/IP”,“Winsock”都已经自动加上。

下面添加FTP Server

Catalog -> Core OS -> Windows CE devices -> Communication Services and Networking -> Servers -> FTP Server

再添加一个TelnetHttpd

Catalog -> Core OS -> Windows CE devices -> Communication Services and Networking -> Servers -> Telnet Server

Catalog -> Core OS -> Windows CE devices -> Communication Services and Networking -> Servers -> Web Server (HTTPD)

同时,修改刚刚改过的注册表文件“project.reg”,添加下面内容:

[HKEY_LOCAL_MACHINE/COMM/FTPD]

"IsEnabled"=dword:1

"UseAuthentication"=dword:0

"UserList"="@*;"

"AllowAnonymous"=dword:1

"AllowAnonymousUpload"=dword:1

"AllowAnonymousVroots"=dword:1

"DefaultDir"="//"

[HKEY_LOCAL_MACHINE/COMM/TELNETD]

"IsEnabled"=dword:1

"UseAuthentication"=dword:0

[HKEY_LOCAL_MACHINE/COMM/HTTPD]

"IsEnabled"=dword:1

"UseAuthentication"=dword:0

"DirBrowse"=dword:1

[HKEY_LOCAL_MACHINE/Comm/HTTPD/VROOTS//]

@="//"

最后添加对IDE及文件系统的支持:

Catalog -> Device Drivers -> Storage Devices -> Storage Devices -> ATAPI PCI/IDE Storage Block Driver ->ATAPI PCI/IDE Storage Block Driver

Catalog -> Core OS -> Windows CE devices -> File Systems and Data Store -> Storage Manager -> FAT File System

       上述即完成了“Kiny Kernel”的定制,最后“Build OS -> Sysgen”编译,可得到一个不到 2M NK

       用交叉网线连接一台PC机与板子,该NK在板子上启动后(我使用的是loadcepc方式,加载时间为20秒,还是有些长),在PC上使用命令:“ping 192.168. 0.100 -t”得到反馈时,验证该NK已经成功加载。

       PC上可以在浏览器地址栏中敲入:http://192.168.0.100,看看它的反应;在资源管理器中敲入:ftp://192.168.0.100,即可看到卡上的文件,因为我们已经做了一个小型的FTPHTTPD Server

       再剩下就是添加自己的应用程序。应用程序如何启动?当然可以使用“快捷方式”加载了,自己在网上搜吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值