1740|1

86

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

开发板wince 6系统的移植总结 [复制链接]

       天嵌科技出品的开发板,有不少型号的开发板支持wince 6系统。其中,天嵌开发板支持wince 6系统的包括:TQ2440、TQ2416、TQ6410V3、TQ210V3、TQ210V4、TQ210V6与E8卡片电脑,广大嵌入式用户可以根据实际情况进行选购。
  感谢CSDN博客主alien75分享关于wince 6系统的移植总结整理,其中部分适用天嵌开发板的wince 6系统的移植,发布供天嵌开发板用户参考使用。
  下面,是开发板wince 6系统的10条移植总结。

  1、编译到oalexe时,提示HalWrapper中的LocalAlloc和LoaclFree是未定义的外部变量,在sources的TARGETLIBS中加"$(_COMMONSDKROOT)/lib/$(_CPUINDPATH)/coredll.lib /"

  2、如果提示某lib是unexcepted,往往是souces中该lib后面有空格

  3、编译eboot出"error LNK2001: unresolved external symbol __security_cookie"错,在sources的TARGETLIBS中加"$(_COMMONOAKROOT)/lib/$(_CPUINDPATH)/gsnull.lib"

  4、无法生成NBL1相关文件(有用的是nb1和nb2,nb0因为MS链接器的原因其实只有一个跳转指令)。
  错误信息:Error: Ram free start is after ram end.Fatal error hit, exiting...
  build.log信息:
  Start RAM: 33ff0000
  Start of free RAM: 33ff2000
  End of RAM: 33ff1000
  修改bib中的RAM为3000,则End of RAM为33ff3000可生成NBL1相关文件

  5、显卡驱动:因为2440的驱动支持ddraw,所以关于surface有很多变量在wince6中无定义,须大改
  解决办法:将驱动开发网2440的wincebsp包中显示驱动替换现有的,修改2440为2450。
  保留2d_accel_lib.lib、s3c2450disp.cpp、s3c2450disp.h、s3c2450disp.def、util.s、sources这几个文件,做少量修改
  a)s3c2450disp.h中要将FLATPTR改成ULONG_PTR
  b)s3c2450disp.cpp中要改四个函数指针赋值的地方
  c)sources中dxdrvguid.lib要去掉
  注:关于替换surface部分,因为是硬件实现层上的抽象应用ddraw,所以可以用2440的来替换。

  6、无法出现分区和SD卡盘符:见第10条

  7、添加platform manage组件后提示找不到cemgrc.exe,wince6已经不用这个,而是换成CoreCon

  8、无法运行vs2005 remote tools,似乎与上面一条有关

  9、Ondisk.dll中的MapCallerPtr在wince6要进行修改(参msdn和6410bsp)
  驱动不需要SetKMode,因为都是在kernel态运行。
  可以用CeAppCompat.exe检测wince5=>wince6不支持的函数。
  CeAppCompat -i ondisk.dll -o NativeAppResults

  10、wince5对nandflash做fatfs磁盘的管理是用fatfsd.dll,在wince6中没有fatfsd.dll,因此无法出出盘符,但是在存储管理器中能看到分区信息。在注册表中做如下改动:
  [HKEY_LOCAL_MACHINE/System/StorageManager/Profiles/FlashDisk/FATFS]
  "FriendlyName"="PocketMory FAT FileSystem"
  ;"Dll"="fatfsd.dll" ===>注释此句,会调用BuiltIn中的ondisk.dll做为fatfs管理器(经验证,wince5也不需要)
  "Flags"=dword:00000014
  "FormatTfat"=dword:1
  "CheckForFormat"=dword:1
  ;"EnableCacheWarm"=dword:0
  注:bibdrv.dll做为binfs管理器,NK加载到RAM仅仅是内存映像,需要由bibdrv从nandflash加载binfs信息(linux也是先加载内核然后是文件系统),binfs信息存放在nandflash位置(估计在block0、eboot、nk、mbr的后面)及大小待研究。从存储管理器可以看出有四个分区,三个是空余flash划分的fatfs,一个是binfs



此帖出自信息发布论坛

最新回复

还是有借鉴意义的  详情 回复 发表于 2015-1-26 15:22
点赞 关注
 
 

回复
举报

5979

帖子

8

TA的资源

版主

沙发
 
还是有借鉴意义的
此帖出自信息发布论坛
个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表