|
您好,最近我在把创龙的基本startware的UPP移植到基于syslink下面,在进行UPP初始化时,新建HWI中断,但是当运行到Hwi_create()函数时,DSP那端总是跑飞了,Hwi创建程序片段如下:* J! U% O! f2 U+ P+ S
void UPP_new(void)
# F, P$ [, c; F* ?* q, g{ a6 I# }2 V2 C, C
PSCInit();% g/ X3 Q1 g+ A# [; g# b
( m6 j7 F% b( u4 `4 S
UPPPinMuxSetup();9 a& J! t! G8 P
, \; C, `7 ~ ^2 \, z( V
UPPInit();: W9 _" A9 i" @0 A! R8 y
4 X3 M- D. C5 r& M
UPPInterruptInit();
% `7 m2 g8 T' D G- k4 p5 E! T
, d: a9 t. b5 Z UPPEnable();
+ A) v" v Z8 r: \5 g! m. O
! Y* m+ n- x# ?, w Hwi_Handle hwi; 7 z; k0 n% ?. u6 S9 V3 r
Hwi_Params hwiParams; 7 |' t4 K/ [& E* U! u3 t2 d
Error_Block eb;
# Z9 r k1 e K6 D- E7 h! w3 X5 X: Y* w$ {) p
Error_init(&eb);
! y; B$ ]+ P5 P+ H* l8 N' D& V1 M. T8 W9 v8 Z
Hwi_Params_init(&hwiParams); / C5 F, h7 C9 o, X/ G3 J
hwiParams.arg = 0;
) o% [& i3 `. A) Z0 o# C hwiParams.maskSetting = Hwi_MaskingOption_SELF;
; I9 z& x# Q8 w1 X* O9 D, p, f hwiParams.enableInt = TRUE;7 v: v q( N [3 e3 H4 C, u
hwiParams.eventId = SYS_INT_UPP_INT;
) X$ W6 z5 @( O hwi = Hwi_create(C674X_MASK_INT5, UPPIsr, &hwiParams, &eb);
/ W7 S( e+ l9 w- Z4 \5 ^1 [- W# d5 U! {8 H
if (hwi == NULL)3 Y p6 n2 `3 }" C) |/ D1 |) F3 }
System_abort("Hwi create failed");/ f: M4 p; B( v& ]4 L
}
9 y$ Q/ i% o/ W; R8 `9 Z* a0 F- a" ?/ t3 Q8 x2 U! O3 j7 v9 M
每次运行到 hwi = Hwi_create(C674X_MASK_INT5, UPPIsr, &hwiParams, &eb);时程序就飞了,实在找不到原因了,刚接触BIOS的菜鸟求助各路大神们。。。
% N/ W; Z& i$ i1 [9 a/ ? e
3 w! E) @2 Z* b( {- w
( l, ]* ^3 Z q& C. I9 P |
|