pojowsh技术开发之家

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

     【前奏】-近日入手一块基于OMAP3530双核架构的SBC8100单板机,搭建好WinCE6.0的开发平台后就着手WinCE6.0的定制和移植工作,不得不说,这确实是件耗精力,但充满乐趣的活儿。

     【起因】-使用VS2005编译生成image后,要拷贝到单板机的SD卡中再从SD卡中启动,这个过程要拷贝好几个映像文件,每次都要在release目录下搜索,费时费力,而烧写NAND启动映像文件也不同,需要重命名,容易出错,于是想到用bat命令实现自动拷贝,代码部分附在文后,主要使用了echo、set、goto、pause、copy、call等命令。

     【幕后】-开发过程中发现如下问题:

    1.单板机通过Micro Activesync 4.5与PC连接,在电脑中为一系统文件夹“移动设备”,这样在bat文件中无法直接复制文件到其中。我谷歌了一下,有网友

              遇到过同样问题,暂无解决办法。有一个办法使用RAPI,有空再研究吧,也恳请广大网友支招^_^

    2.bat命令无法往桌面拷贝文件,显示“命令不可用”,我就是下午简单的看了下bat命令,没有系统的学,故不知其因所在,也请大家指教

           3.bat文件无法在移动设备中运行,将bat文件放到移动设备中双击发现只能显示文件属性,本想通过这招实现移动设备和PC中的文件传递,⊙﹏⊙b汗

    4.MLO镜像文件没有后缀名,通过Activesync拷贝到单板机中时无法拷入,只好加一个.exe后缀,拷进去再去掉后缀

     【花絮】经过几天的努力,今天初步实现了自己定制的WinCE6.0 在SBC8100单板机上跑起来,鼠标、键盘、触屏、音频输出、USB-OTG、SD、WIFI、

                QQ、MSN、Flash lite、Silverlight、HIV注册表、全中文界面和中文输入等全部支持,很开心,后面要往驱程这一块走,希望WinCE6.0开发之路越走

                越顺,感谢谷歌、百度,感谢广大开发爱好者的无私奉献!

     【程序】

@echo off
@echo 注意:请先确保已做好历史文件备份,该操作将覆盖目录下同名文件
@pause
:main
@echo.
echo
0.拷贝所有镜像到备份目录下(确保已转移历史版本)
echo
1.拷贝SD image到单板机中(确保已同步,文件将拷贝到桌面)
echo
2.拷贝NAND image到单板机中(确保已同步,文件将拷贝到桌面)
echo
3.拷贝SD image到电脑SD卡中(请确保SD卡插入)
echo
4.拷贝NAND image到电脑SD卡中(请确保SD卡插入)
echo
5.退出
@set
/p var=input:
call :lab
%var%


@:lab0
@echo.
@echo
5 files to copy...please wait!
@echo
1.copy nk.bin...
@copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\nk.bin E:\Arm开发\SBC8100开发\镜像烧写\定制\
@echo
2.copy MLO...
@copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\MLO E:\Arm开发\SBC8100开发\镜像烧写\定制\
@echo
3.copy EBOOTSD.nb0...
@copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\EBOOTSD.nb0 E:\Arm开发\SBC8100开发\镜像烧写\定制\
@echo
4.copy EBOOTNAND.nb0...
@copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\EBOOTNAND.nb0 E:\Arm开发\SBC8100开发\镜像烧写\定制\
@echo
5.copy XLDRNAND.nb0...
@copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\XLDRNAND.nb0 E:\Arm开发\SBC8100开发\镜像烧写\定制\
@echo Copy files done
!
@goto main

::拷贝SD image到桌面
@:lab1
@echo.
@echo
3 files to copy...please wait!
@if exist
"C:\Documents and Settings\Administrator\桌面\EBOOTNAND.nb0" del "C:\Documents and Settings\Administrator\桌面\EBOOTNAND.nb0"
@if exist
"C:\Documents and Settings\Administrator\桌面\XLDRNAND.nb0" del "C:\Documents and Settings\Administrator\桌面\XLDRNAND.nb0"
@echo
1.copy nk.bin...
@copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\nk.bin
"C:\Documents and Settings\Administrator\桌面"
@echo
2.copy MLO...
@copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\MLO
"C:\Documents and Settings\Administrator\桌面\MLO.exe"
@echo
3.copy EBOOTSD.nb0...
@copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\EBOOTSD.nb0
"C:\Documents and Settings\Administrator\桌面"
@echo Copy files done
!
@goto main

::拷贝NAND image到桌面
@:lab2
@echo.
@echo
4 files to copy...please wait!
@if exist
"C:\Documents and Settings\Administrator\桌面\EBOOTNAND.nb0" del "C:\Documents and Settings\Administrator\桌面\EBOOTNAND.nb0"
@if exist
"C:\Documents and Settings\Administrator\桌面\EBOOTSD.nb0" del "C:\Documents and Settings\Administrator\桌面\EBOOTSD.nb0"
@echo
1.copy nk.bin...
@copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\nk.bin
"C:\Documents and Settings\Administrator\桌面"
@echo
2.copy MLO and rename it as"MLO.exe"...
@copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\MLO
"C:\Documents and Settings\Administrator\桌面\MLO.exe"
@echo
3.copy EBOOTNAND.nb0 and rename it as"EBOOTSD.nb0"...
@copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\EBOOTNAND.nb0
"C:\Documents and Settings\Administrator\桌面\EBOOTSD.nb0"
@echo
4.copy XLDRNAND.nb0...
@copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\XLDRNAND.nb0
"C:\Documents and Settings\Administrator\桌面"
@echo Copy files done
!
@goto main

::拷贝SD image到电脑SD卡中
@:lab3
@echo.
@if exist
"j:\" (goto continue3) else (echo 未检测到SD卡,请插入SD卡 && echo )
@goto main
@pause
:continue3
@echo
3 files to copy...please wait!
@if exist
"j:\XLDRNAND.nb0" del "j:\XLDRNAND.nb0"
@echo
1.copy nk.bin...
@copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\nk.bin j:\nk.bin
@echo
2.copy MLO...
@copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\MLO j:\MLO
@echo
3.copy EBOOTSD.nb0...
@copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\EBOOTSD.nb0 j:\EBOOTSD.nb0
@echo Copy files done
!
@goto main

::拷贝NAND image到电脑SD卡中
@:lab4
@echo.
@if exist
"j:\" (goto continue4) else (echo 未检测到SD卡,请插入SD卡 && echo )
@goto main
@pause
:continue4
@echo
4 files to copy...please wait!
@if exist
"j:\EBOOTSD.nb0" del "j:\EBOOTSD.nb0"
@echo
1.copy nk.bin...
@copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\nk.bin j:\nk.bin
@echo
2.copy MLO...
@copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\MLO j:\MLO
@echo
3.copy EBOOTNAND.nb0 and rename it as"EBOOTSD.nb0"...
@copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\EBOOTNAND.nb0 j:\EBOOTSD.nb0
@echo
4.copy XLDRNAND.nb0...
@copy D:\WINCE600\OSDesigns\SBC8100\SBC8100\RelDir\SBC8100_ARMV4I_Release\XLDRNAND.nb0 j:\XLDRNAND.nb0
@echo Copy files done
!
@goto main

::退出
@:lab5
exit
posted on 2010-11-27 20:03  pojowsh  阅读(2222)  评论(4编辑  收藏  举报