关于HWI创建的问题 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 14075|回复: 22
打印 上一主题 下一主题

关于HWI创建的问题

[复制链接]

13

主题

41

帖子

1181

积分

金牌会员

Rank: 6Rank: 6

积分
1181
QQ
跳转到指定楼层
楼主
发表于 2015-1-19 16:12:11 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
您好,最近我在把创龙的基本startware的UPP移植到基于syslink下面,在进行UPP初始化时,新建HWI中断,但是当运行到Hwi_create()函数时,DSP那端总是跑飞了,Hwi创建程序片段如下:
! K# K+ w" k$ ^8 H, r' r' f6 mvoid UPP_new(void)
8 c4 V/ R8 E! f8 k2 K/ f: s( x{
# c. k* [9 ^: m% M7 x$ u    PSCInit();! V  M  x* ~: `. A1 ~. m
* w  J- A* t! x: R7 Y! \* V9 f% i3 J" b
    UPPPinMuxSetup();4 V# s- V! q/ |- `# N

  e7 a+ o7 q9 }$ ^    UPPInit();$ Q: z8 i5 g& [/ t$ _1 V3 f8 y
% [$ e% _# g4 S
    UPPInterruptInit();
0 L, \; |4 j3 C; V! s7 \: y3 g+ u8 f  y( L
    UPPEnable();
* O" i% ^: P: {
9 \/ j- Y2 a0 D    Hwi_Handle hwi;
# f* g3 v* \! F# a- Q    Hwi_Params hwiParams;     
2 W; a% Y- e5 B# {& c2 _. l/ w: R* S    Error_Block eb;
2 J% \$ k$ s6 [, F$ q
  [& G$ o7 x9 a. B) D: f$ q    Error_init(&eb);
, \8 ~3 e" J9 \  ]0 Q2 z
; v# M) W3 \) v3 L  m6 f* D7 B  a    Hwi_Params_init(&hwiParams);  : ]( @% X+ y1 ?5 L( O
    hwiParams.arg = 0;* y2 x$ Z2 ^0 v; t, h7 H% B1 s2 b
    hwiParams.maskSetting = Hwi_MaskingOption_SELF;6 \: K# N) G4 M- D. T
    hwiParams.enableInt = TRUE;; U. L" i5 v  ~
    hwiParams.eventId = SYS_INT_UPP_INT;4 S4 P2 X( y" C7 ^* S- R
    hwi = Hwi_create(C674X_MASK_INT5, UPPIsr, &hwiParams, &eb);
! X* [: b& u/ `$ e1 m8 H% V! i9 ~) q, r2 E6 |4 @  h% X2 t
    if (hwi == NULL)
. w3 l# a/ f+ X, z1 ^1 z9 Q            System_abort("Hwi create failed");
3 d% q1 Q+ |, d# S) g}
4 `, D4 C; ]! T( o8 B) q
$ ^0 O* e' K* @1 f2 I" ]每次运行到  hwi = Hwi_create(C674X_MASK_INT5, UPPIsr, &hwiParams, &eb);时程序就飞了,实在找不到原因了,刚接触BIOS的菜鸟求助各路大神们。。。: D8 }" r( d3 M
' Y* i. C1 F! M- p. I5 z

  A3 N$ B8 ~. W8 z7 |7 m
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

13

主题

41

帖子

1181

积分

金牌会员

Rank: 6Rank: 6

积分
1181
QQ
沙发
 楼主| 发表于 2015-1-19 22:34:46 | 显示全部楼层
希望缄默 发表于 2015-1-19 18:17% _, X; Y: P9 m% s
你是怎么判断跑飞的?

; u6 l# \" @) L; a% s我是跑的双核,我用CCS单步进行,运行此步程序就不知道跑哪去了。。。
; o. N) O! p% {( i
回复 支持 反对

使用道具 举报

13

主题

41

帖子

1181

积分

金牌会员

Rank: 6Rank: 6

积分
1181
QQ
板凳
 楼主| 发表于 2015-1-19 22:35:17 | 显示全部楼层
希望缄默 发表于 2015-1-19 18:17
; }- U* e) J# Q你是怎么判断跑飞的?
; V. e; U) a/ h7 g1 P  u! p6 }
我是跑的双核,我用CCS单步进行,运行此步程序就不知道跑哪去了。。。1 H9 \. J& z" H- G; D
回复 支持 反对

使用道具 举报

13

主题

41

帖子

1181

积分

金牌会员

Rank: 6Rank: 6

积分
1181
QQ
地板
 楼主| 发表于 2015-1-19 22:37:12 | 显示全部楼层
Lewis 发表于 2015-1-19 18:458 b( h+ S3 p  e, n4 A
创建硬件中断前,先新建一个任务
9 @8 n# B) s# f) ]% i) @
DSP端syslink初始化的时候已经新了任务, 创建Hwi需要单独创建一个任务?
# a0 t8 B, o* H+ p' _
回复 支持 反对

使用道具 举报

13

主题

41

帖子

1181

积分

金牌会员

Rank: 6Rank: 6

积分
1181
QQ
5#
 楼主| 发表于 2015-1-19 22:37:58 | 显示全部楼层
Lewis 发表于 2015-1-19 18:45# m& s1 _' [1 `5 V( P
创建硬件中断前,先新建一个任务
) h% s* J' l8 C
我是在DSP接收到ARM端的消息命令后,开启UPP的- ~* [7 {; s: o6 u0 x+ i, q; x' o
回复 支持 反对

使用道具 举报

13

主题

41

帖子

1181

积分

金牌会员

Rank: 6Rank: 6

积分
1181
QQ
6#
 楼主| 发表于 2015-1-20 10:55:01 | 显示全部楼层
希望缄默 发表于 2015-1-20 09:201 i" A5 W0 J9 e! I$ t$ V  |" k. r9 I
程序跑飞后一般 PC 指针是位于 ROM 中的~

% Q. W- \' f6 i* I: F% \我刚才又单步了一下,PC指针的值是0xC3076F44,还在DDR2中呢,说明没有跑飞吧。然后CCS5提示:Can't find a soure file at "/tmp/TI_MKLIB7PNesw/SRC/exit.c。  abort() at /tmp/TI_MKLIB7PNesw/SRC/exit.c:109 0xc3076f40.。。请问这是什么错误呢?
# p% T* R9 K" O# R/ g
回复 支持 反对

使用道具 举报

13

主题

41

帖子

1181

积分

金牌会员

Rank: 6Rank: 6

积分
1181
QQ
7#
 楼主| 发表于 2015-1-20 10:59:36 | 显示全部楼层
希望缄默 发表于 2015-1-20 09:20- p( E3 {' }! b/ ?
程序跑飞后一般 PC 指针是位于 ROM 中的~
5 m, T  [9 p) P6 Q% O5 J3 J
这个找不到文件是库没弄好的原因吗,我是照着创龙AD那个例子改的,配置都是一样的,没动过5 Z" D( G# S" ?) v& i( g
回复 支持 反对

使用道具 举报

13

主题

41

帖子

1181

积分

金牌会员

Rank: 6Rank: 6

积分
1181
QQ
8#
 楼主| 发表于 2015-1-20 13:38:18 | 显示全部楼层
本帖最后由 378087736 于 2015-1-21 16:03 编辑
* I% p6 `$ e6 @' `9 k1 a* k
希望缄默 发表于 2015-1-20 11:32' s  j) ?: c( [. L: q
出错了.....
: m, f2 K$ S3 ~$ j- f& S3 F+ h
0 H- x. X4 l) l$ a$ ~把相关代码贴上来 看下
6 L2 `: ^9 l  ~
你好,我把完整的工程代码上传了,里面有个程序说明% B( H- I( N) Q" M. C

; s/ i1 n4 P; W3 x6 N  W5 Z3 s$ d7 O4 _) G" F5 L' h
. t& m& `( ?, E- K* T: s
回复 支持 反对

使用道具 举报

13

主题

41

帖子

1181

积分

金牌会员

Rank: 6Rank: 6

积分
1181
QQ
9#
 楼主| 发表于 2015-1-21 08:50:27 | 显示全部楼层
希望缄默 发表于 2015-1-20 11:321 k1 k( @& V6 p  P
出错了...../ W% i" T, ?$ a  O9 w

) |& }+ `& T" \$ a+ `把相关代码贴上来 看下
6 |( e  Q/ P, X4 C  }# u2 h9 D
能帮我看一下吗,我在DSP的运行的最开始处main完成任务创建后,使用hwi_create()创建中断也一样是这个问题。。。
" A; X) D. W0 P, D
回复 支持 反对

使用道具 举报

13

主题

41

帖子

1181

积分

金牌会员

Rank: 6Rank: 6

积分
1181
QQ
10#
 楼主| 发表于 2015-1-21 09:59:44 | 显示全部楼层
希望缄默 发表于 2015-1-21 09:53( G- M/ x0 c8 U' v4 V  Z- W* T4 x
把错误提示截图也发上来吧

! _7 ^) D8 J  n- C- h3 f! C+ \3 w2 p错误提示就是这样的:运行到Hwi_create()函数时:Can't find a soure file at "/tmp/TI_MKLIB7PNesw/SRC/exit.c。  abort() at /tmp/TI_MKLIB7PNesw/SRC/exit.c:109 0xc3076f40.。然后程序就无法继续运行下一条程序了。我上面上传了源程序,你那能跑一下吗。
: B& |# _1 V" u- `2 H
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-5-19 03:01 , Processed in 0.042138 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表