S3C2410的WINCE BSP添加串口支持
s2410INT->rINTMSK = ~BIT_UART1;
break;
搜索:
void
OEMInterruptDisable(DWORD idInt) // @parm Interrupt ID to be disabled. See
還是這一句:case SYSINTR_SERIAL:
在其后面添加:
case SYSINTR_SERIAL1:
s2410INT->rINTMSK |= BIT_UART1;
s2410INT->rINTSUBMSK |= INTSUB_RXD1;
s2410INT->rINTSUBMSK |= INTSUB_TXD1;
s2410INT->rINTSUBMSK |= INTSUB_ERR1;
break;
搜索:
void
OEMInterruptDone(DWORD idInt) // @parm Interrupt ID. See
依舊找到case SYSINTR_SERIAL:
在其后面添加:
case SYSINTR_SERIAL1:
s2410INT->rINTMSK = ~BIT_UART1;
s2410INT->rINTSUBMSK = ~INTSUB_RXD1;
break;
6、打開armint.c文件。
搜索:else if(IntPendVal == INTSRC_UART0)
在其后面添加:
else if(IntPendVal == INTSRC_UART1)
{
SubIntPendVal = s2410INT->rSUBSRCPND;
// Note that we only mask the sub source interrupt - the serial driver will clear the
// sub source pending register.
//
if(SubIntPendVal INTSUB_ERR1)
{
s2410INT->rINTSUBMSK |= INTSUB_ERR1;
}
else if(SubIntPendVal INTSUB_RXD1)
{
s2410INT->rINTSUBMSK |= INTSUB_RXD1;
}
else if(SubIntPendVal INTSUB_TXD1)
{
s2410INT->rINTSUBMSK |= INTSUB_TXD1;
}
else
{
return(SYSINTR_NOP);
}
// NOTE: Don't clear INTSRC:UART1 here - serial driver does that.
//
s2410INT->rINTMSK |= BIT_UART1;
if (s2410INT->rINTPND BIT_UART1) s2410INT->rINTPND = BIT_UART1;
return(SYSINTR_SERIAL1);
}
7、打開smdk2410.cec文件,添加UART1這個(gè)feature。
搜索
ComponentType
(
Name ( Serial )
GUID ( {6563AD6C-E71C-11D4-B892-0050FC049781} )
MaxResolvedImpsAllowed( 999 )
Implementations
(
Implementation
(
Name ( S32410 Serial UART )
在其后面添加:
Implementation
(
Name ( S32410 Serial UART1 )
GUID ( {7C4427A5-286C-4C7A-B687-4E3B364D079B} )
Description ( Samsung S32410 serial UART controller. )
BSPPlatformDir ( smdk2410 )
Version ( 5.0.0.0 )
Locale ( 0409 )
Vendor ( Microsoft )
Date ( 2003-1-13 )
SizeIsCPUDependent( 1 )
BuildMethods
(
BuildMethod
(
GUID ( {07DA2083-6261-4ED6-B5BB-70CF4D930D68} )
Step ( BSP )
CPU ( ARMV4 )
CPU ( ARMV4I )
Action ( '#BUILD(SOURCES,$(_WINCEROOT)PLATFORMSMDK2410driversserial)')
)
)
)
我感覺這個(gè)改不改沒什么關(guān)系,反正網(wǎng)上有人這樣改了,我也就改了,但是實(shí)際內(nèi)核定制時(shí)中并沒有添加上這個(gè)feature。
到這里,整個(gè)過程就結(jié)束了,耗費(fèi)了我整整一天!其實(shí)改動量并不大,但是調(diào)試一次光編譯就要15分鐘,還要下載,燒寫,啟動~唉,沒有仿真器就是麻煩。調(diào)了好多次沒有成功,就是在注冊表的中斷號那兒出了問題!
評論