Chinaunix首页 | 论坛 | 博客
  • 博客访问: 242715
  • 博文数量: 35
  • 博客积分: 1415
  • 博客等级: 上尉
  • 技术积分: 334
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-10 21:31
文章分类

全部博文(35)

文章存档

2010年(22)

2009年(13)

我的朋友

分类: 嵌入式

2010-02-03 22:39:24

1、 创建pbcxml文件
 
    将原cec文件中的"#BUILD",替换为"#SRCCODE",通过vs2005打开该文件,转换为pbcxml文件,将所有的项全部标记为bsp
 
2、修改sc2440pdd.cpp 文件

   注释所有的
   SetProcPermissions(pTransfer->dwCallerPermissions);

3、修改oal.h修改
 

    //Apollo 6.0+
    //#include "oal_profiler.h"
    //#include "oal_nkxp.h"

    #include "oemglobal.h"
    #include <nkexport.h>
    //Apollo 6.0-


4、修改显示驱动(详见附件)

5、Dma.h与S3c2440a_dmatransfer.h的修改

注释掉下面的语句
#define DMA_TRANSFER_IN_PROGRESS            0x00100000

6、修改kernel\oal\init.c

//Apollo 6.0+
//extern DWORD CEProcessorType;
//Apollo 6.0-

7、修改Src\Common\Smartmedia\Dll中的sources

  增加下面的库
 $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\fmdhooklib.lib \ 


8、修改Src\Drivers\Display\sources,

  删除下面的库
 $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\dxdrvguid.lib \

9、Src\Kernel目录改名为Oal


  Src\Kernel\oal目录改名为Oallib
  Src\Kernel\kern目录改名为Oalexe

10、修改src\dirs


  DIRS=common     \
       drivers    \
       Oal
  
  修改src\oal\dirs
  DIRS= oallib \
       oalexe

11、修改oalexe目录

  修改src\oal\oalexe\sources
  修改
     SOURCES=\
     kitl.c
   为
     SOURCES=

    修改TARGETNAME=kern,为
    TARGETNAME=oal

    在TARGETLIBS= \语句段中去掉下面的库
    $(_COMMONOAKROOT)\lib\$(_CPUDEPPATH)\nk.lib \
    并新增下面三个库
    $(_COMMONOAKROOT)\lib\$(_CPUDEPPATH)\nkstub.lib \
    $(_COMMONOAKROOT)\lib\$(_CPUDEPPATH)\nkldr.lib \
    $(_COMMONOAKROOT)\lib\$(_CPUDEPPATH)\oemmain.lib \

 

12、修改oallib目录


   打开sources文件
    找到下面几句,删掉
     kitl.c \
     kitlser.c \
     kitlusbser.c \
 
  修改Src\Oal\Oallib\debug.c



修改VOID OEMInitDebugSerial() 函数
  
//Apollo 6.0+
  
// logMask = g_oalLogMask;
  
// g_oalLogMask = 0;
      logMask = dpCurSettings.ulZoneMask;
      dpCurSettings.ulZoneMask = 0;
  
//Apollo 6.0- 
  
//Apollo 6.0+
  
// g_oalLogMask = logMask;

      dpCurSettings.ulZoneMask = logMask;
  


13、修改Src\Inc\oal_log.h

 //Apollo 6.0+
 
//#define OALZONE(n) (g_oalLogMask&(1< extern DBGPARAM dpCurSettings;
 #define OALZONE(n) (dpCurSettings.ulZoneMask&(1<<n))
 
//Apollo 6.0-
 
//Apollo 6.0+
 
//extern UINT32 g_oalLogMask;

 

14、修改Fils\platform.bib
  将NK  SH 替换为 NK  SHK

15、修改src\common\power\off.c


OEMPowerOff函数
  
//Apollo 6.0+
 
// OALKitlPowerOff();
  
//Apollo 6.0-
  
//Apollo 6.0+
  
// OALKitlPowerOn();  



16、修改src\oal\oallib\init.c

修改OEMInit函数
  
//Apollo 6.0+
  
// OALKitlStart();  


17、修改src\inc\ioctl_tab.h

//Apollo 6.0+
  
/*
  { IOCTL_VBRIDGE_802_3_MULTICAST_LIST, 0, OALIoCtlVBridge },
  { IOCTL_VBRIDGE_ADD_MAC, 0, OALIoCtlVBridge },
  { IOCTL_VBRIDGE_CURRENT_PACKET_FILTER, 0, OALIoCtlVBridge },
  { IOCTL_VBRIDGE_GET_ETHERNET_MAC, 0, OALIoCtlVBridge },
  { IOCTL_VBRIDGE_GET_RX_PACKET, 0, OALIoCtlVBridge },
  { IOCTL_VBRIDGE_GET_RX_PACKET_COMPLETE, 0, OALIoCtlVBridge },
  { IOCTL_VBRIDGE_GET_TX_PACKET, 0, OALIoCtlVBridge },
  { IOCTL_VBRIDGE_GET_TX_PACKET_COMPLETE, 0, OALIoCtlVBridge },
  { IOCTL_VBRIDGE_SHARED_ETHERNET, 0, OALIoCtlVBridge },
  { IOCTL_VBRIDGE_WILD_CARD, 0, OALIoCtlVBridge },
  { IOCTL_VBRIDGE_WILD_CARD_RESET_BUFFER, 0, OALIoCtlVBridge },
  { IOCTL_VBRIDGE_WILD_CARD_VB_INITIALIZED, 0, OALIoCtlVBridge },
  */

  
//Apollo 6.0-


  18、修改src\inc\oal_ioctl_tab.h

  //Apollo 6.0+
  
/*
  { IOCTL_VBRIDGE_802_3_MULTICAST_LIST, 0, OALIoCtlVBridge },
  { IOCTL_VBRIDGE_ADD_MAC, 0, OALIoCtlVBridge },
  { IOCTL_VBRIDGE_CURRENT_PACKET_FILTER, 0, OALIoCtlVBridge },
  { IOCTL_VBRIDGE_GET_ETHERNET_MAC, 0, OALIoCtlVBridge },
  { IOCTL_VBRIDGE_GET_RX_PACKET, 0, OALIoCtlVBridge },
  { IOCTL_VBRIDGE_GET_RX_PACKET_COMPLETE, 0, OALIoCtlVBridge },
  { IOCTL_VBRIDGE_GET_TX_PACKET, 0, OALIoCtlVBridge },
  { IOCTL_VBRIDGE_GET_TX_PACKET_COMPLETE, 0, OALIoCtlVBridge },
  { IOCTL_VBRIDGE_SHARED_ETHERNET, 0, OALIoCtlVBridge },
  { IOCTL_VBRIDGE_WILD_CARD, 0, OALIoCtlVBridge },
  { IOCTL_VBRIDGE_WILD_CARD_RESET_BUFFER, 0, OALIoCtlVBridge },
  { IOCTL_VBRIDGE_WILD_CARD_VB_INITIALIZED, 0, OALIoCtlVBridge },
  */
  


19、注释src\common\Smartmedia\fmd\fmd.cpp所有对SetKMode 函数的调用

20、修改src\drivers\sdhc\sdhcbase\sdiocontrollerbase.cpp
 注释掉下面两行,注意保留中间的内容,有好几处
  SD_SET_PROC_PERMISSIONS_FROM_REQUEST( pRequest ) {     
  } SD_RESTORE_PROC_PERMISSIONS();

 

 

原创文章,转载请注明:转载自 风雨无阻博客(http://Apollo5520.cublog.cn

本文链接地址:http://blog.chinaunix.net/u3/105764/showart_2177279.html

 


阅读(3529) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-07-18 12:10:48

很久以前也是一直utu2440 wince6,在串口驱动遇到了很棘手的问题,可否指教下? mail:eidev@hotmail.com