|
您好,最近我在把创龙的基本startware的UPP移植到基于syslink下面,在进行UPP初始化时,新建HWI中断,但是当运行到Hwi_create()函数时,DSP那端总是跑飞了,Hwi创建程序片段如下:
* @; \2 ^' I; u: [ Rvoid UPP_new(void)
1 [" `0 z `* }7 ^ T{ , |0 L+ p' M- C7 a% C) j& o2 S
PSCInit();
$ [1 c) Y- V f0 E) Q+ f6 R
$ G$ k0 t& a1 I! Z1 j# I) ?) T UPPPinMuxSetup();
i+ u* S* f0 n# v) ?9 T$ y0 t0 q" D( Q0 l
UPPInit();
' o' F2 s) [, g/ n; H) {' f: |" ^" C8 `
UPPInterruptInit();; Q" o5 q; D! F( q; m
* e) `$ |% X( J! }( o. P( q) { UPPEnable();! X; U, z1 `+ x& I( S- K
+ w( {. }7 m$ t8 Y7 O) s( F Hwi_Handle hwi; 2 P- a- C( z6 O
Hwi_Params hwiParams; # W- t& G; g7 y
Error_Block eb;4 _" l6 X. i- Y: q
( C* V$ X! g6 i' z3 C4 q0 f1 J
Error_init(&eb);6 j0 U# u# j, _; ^
, Y- G; a' R% K Hwi_Params_init(&hwiParams);
: K( V7 }! U v hwiParams.arg = 0;
2 Y- \0 h& u0 Q. w' s& E1 l" } n2 e hwiParams.maskSetting = Hwi_MaskingOption_SELF;
& q Q- A ]0 ^& a. J hwiParams.enableInt = TRUE;
: C3 Y+ x V# n- y hwiParams.eventId = SYS_INT_UPP_INT; Q+ g/ j3 X/ {) f' Z7 h
hwi = Hwi_create(C674X_MASK_INT5, UPPIsr, &hwiParams, &eb);3 ?" ?% O% J2 p5 d% e" E& |
7 G& |5 t8 I; K' T3 j5 B
if (hwi == NULL)
$ r" d/ O7 a% Z System_abort("Hwi create failed");! ^; w2 P ^, ]% s5 _6 h
}3 s8 s2 b+ \5 X0 b; | l
8 h P) F. w5 x" T
每次运行到 hwi = Hwi_create(C674X_MASK_INT5, UPPIsr, &hwiParams, &eb);时程序就飞了,实在找不到原因了,刚接触BIOS的菜鸟求助各路大神们。。。
* A3 _$ B/ O" A: Y8 K( o8 w
q/ N# l9 G" f! G: P( E: f8 F* k
3 x/ w9 I3 L* A" U0 z* Z& i+ D. u |
|