sysbios系统工程指针操作耗时长的问题 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站
点击跳转“创龙科技服务通”

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5133|回复: 2
打印 上一主题 下一主题

sysbios系统工程指针操作耗时长的问题

[复制链接]

17

主题

30

帖子

149

积分

注册会员

Rank: 2

积分
149
跳转到指定楼层
楼主
发表于 2016-8-23 10:06:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
目前遇到一个很奇怪的问题,急需解决。我用的omapl138的平台,然后跑sysbios的时候发现对指针赋值的时候消耗很长的指令周期。例如8 O( [# S5 e, h) b( N6 u; ^3 x
*p = 20.这么一个赋值语句就要耗时300多个指令周期,而普通的变量赋值例如a=10这个语句才7个指令周期。然后我新建一个sysbios工程,单独做个测试,代码如下:
% t6 v) l* u3 U) ~; n *  ======== main ========
6 P6 L% y) |, |& _4 J) q */& ]& M" [5 J  J/ I8 _0 A7 B
int test;  S0 k* _1 P. w. s, `4 h
int *pda;
) ~3 Q8 D5 q: E- W# c  F" p+ ~long long t1,t2,t3,t4,tover,tdelt1,tdelt2;
* R. m+ ?0 z1 X" L" \3 d* s& J0 cInt main()
% t  G- P7 C( F" F" \2 W& N0 z# v{
, u; U$ C$ _- Y# f; j3 U        TSCH=0;, U) r: Y9 g) b+ j+ f' j2 @
        TSCL=0;
" x  B3 p! x4 h1 M        pda = &test;2 x9 ]" [# o. [6 H9 q& N
        t1 = _itoll (TSCH, TSCL);
; b, h9 B3 J9 E! e9 ?2 N2 v) I. u4 H2 t        test = 20;" t# ]- C7 E3 y. b( v# g6 K- B
        t2 = _itoll (TSCH, TSCL);' M8 m6 M: x8 U; }4 k
        *pda = 30;0 V( _. j0 ~1 d3 j# g' ~5 n% g' r7 b
        t3 = _itoll (TSCH, TSCL);$ d. A* ~, k* k* H
        tdelt1 = t2-t1;
" B" h/ O8 P$ ^1 o& ]        tdelt2 = t3-t2;
+ e# o' T$ u! M1 L, w5 I+ O6 i        return 0;
, ?! ~; G; [. S. p" p}, f5 g( v8 u+ R: y- ?
0 M6 m. }  J0 a) f
就用这个一个简单测试程序测一下程序耗时,果然有问题。这里面tdelt1的值是7,tdelt2的值是362。同样一个赋值语句,一个是直接变量赋值,一个是通过指针赋值,但是用的时间差距好几十倍。这个问题急需解决。麻烦分析一下什么原因。
+ W1 r1 _# Y  @7 W- U有劳有劳。
( ^9 g3 y' X# D8 O4 P
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2016-8-23 22:23:02 来自手机 | 只看该作者
主函数中都没有启动 sys/bios 系统调度 应该是没有影响的
回复 支持 反对

使用道具 举报

17

主题

30

帖子

149

积分

注册会员

Rank: 2

积分
149
板凳
 楼主| 发表于 2016-8-24 08:58:38 | 只看该作者
希望缄默 发表于 2016-8-23 22:23
# d% H. E% ?* F& q. p9 K: w+ A主函数中都没有启动 sys/bios 系统调度 应该是没有影响的

4 i* o$ T3 n' g& f" @9 j1 p  o本来也是担心bios系统对它又影响,所以特地新建了一个sysbios工程,不起任何任务和中断,不起bios系统,就存粹一个main函数。发现也是这么个现象。所以就奇怪了。你们也可以帮忙试一下。就新建一个sysbios工程就能发现这个问题了。3 T: y7 z# X1 f' G8 O) l' u  q
回复 支持 反对

使用道具 举报

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

本版积分规则

点击跳转“创龙科技服务通”

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

GMT+8, 2026-3-17 14:06 , Processed in 0.037207 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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