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();
阅读(3587) | 评论(1) | 转发(0) |