|
您好,最近我在把创龙的基本startware的UPP移植到基于syslink下面,在进行UPP初始化时,新建HWI中断,但是当运行到Hwi_create()函数时,DSP那端总是跑飞了,Hwi创建程序片段如下:
$ u- b K5 C, E& {6 Ovoid UPP_new(void)
! a6 b; x& r+ f# s Z{ # |+ V& Q+ A% ?
PSCInit();
, x; f1 P: q' H* }% `2 R' ]+ L) a& K9 r3 C9 U& T
UPPPinMuxSetup();
& a+ T/ q. P" L
! b* a: n; b! L9 U UPPInit();: U0 g; @) ^! D9 r% l" h
* D, j3 s0 j, @. j5 @1 R UPPInterruptInit();6 R1 A4 h: R+ J2 D0 o
0 c& R2 D% i/ h! ?2 _( h
UPPEnable();
1 q$ h- p' d+ q3 Y. e8 _% @( w( d# u, {$ X
Hwi_Handle hwi; * z2 t5 }+ F" s/ e2 u+ \
Hwi_Params hwiParams; ( h, J) D; r! \! g# u2 ^/ Q5 E
Error_Block eb;- ~& t/ a, w4 Q
' a6 r$ X: O) ^4 ~( t! b Error_init(&eb);0 x( q- `/ X! V
( _' ?/ n, e p. \: [ Hwi_Params_init(&hwiParams); 3 r; U* W0 g5 R* m! Y1 F
hwiParams.arg = 0;( m( k% g0 J4 t; P1 o, ~; f5 {- x% f
hwiParams.maskSetting = Hwi_MaskingOption_SELF;
7 u3 E8 O/ v, Q9 L hwiParams.enableInt = TRUE;# N' \+ L, X# M0 s! l! d
hwiParams.eventId = SYS_INT_UPP_INT;
. H; _) R0 B( y; j' P hwi = Hwi_create(C674X_MASK_INT5, UPPIsr, &hwiParams, &eb);2 q6 ~! @8 ^( y9 C3 g& z" E
' {$ Y; ~. d" S8 R8 P% g5 V/ P# F' \
if (hwi == NULL)) ~$ `. r! X4 _ e
System_abort("Hwi create failed");
' q, f1 m9 K1 _7 M' Q1 \+ M4 M}2 v5 @, \2 U( J3 d# F! z7 X
; f2 d8 f$ q% c! z9 _
每次运行到 hwi = Hwi_create(C674X_MASK_INT5, UPPIsr, &hwiParams, &eb);时程序就飞了,实在找不到原因了,刚接触BIOS的菜鸟求助各路大神们。。。
& i% D& D5 F# _1 h& J r8 o
) C) ]: F( [9 ]
3 O: ^* w2 N, f8 l2 ~, C |
|