代码在使用SYSLINK时,执行时间会增加 - TMS320C6748 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4185|回复: 3

[未解决] 代码在使用SYSLINK时,执行时间会增加

[复制链接]

8

主题

31

帖子

160

积分

注册会员

Rank: 2

积分
160
发表于 2018-8-5 21:48:53 | 显示全部楼层 |阅读模式
本帖最后由 15901123858 于 2018-8-5 21:50 编辑

我使用的是OMAPL138开发板,在OMAPL138的ARM端(DSP不启动)执行一段程序的时间为200ms(使用gettimeofday函数测量时间);然后使用创龙教程的ex04_sharedregion工程,即在ARM开启SYSLINK时,同样的代码在ARM端的运行时间升至230ms(代码放在双核通信前、通信中、通信后的执行时间都一致),相当于执行变慢了。
请问下各位可能是什么原因啊?

回复

使用道具 举报

3

主题

524

帖子

2083

积分

创龙

Rank: 8Rank: 8

积分
2083
发表于 2018-8-6 16:23:47 | 显示全部楼层
您好,如果双核通信频繁的话,是有可能会导致运行程序变慢的。
回复 支持 反对

使用道具 举报

8

主题

31

帖子

160

积分

注册会员

Rank: 2

积分
160
 楼主| 发表于 2018-8-6 20:56:56 | 显示全部楼层
广州创龙莫工 发表于 2018-8-6 16:23
您好,如果双核通信频繁的话,是有可能会导致运行程序变慢的。

您好莫工,在ex04_sharedregion工程的HOST文件夹下的APP.C文件中,我增加的代码如下
。。。。。
if (status < 0 )  
{
printf("App_exec: Error sending shared region pointer address upper "
                                    "two bytes\n");
goto leave;
}                              
/* wait for shared region address acknowledge command */
event = App_waitForEvent(&Module.eventQueue);

if (event >= APP_E_FAILURE)
{
printf("App_exec: Received queue error: %d\n",event);
status = -1;      
goto leave;
}

/*
在此处增加自己的处理函数
*/


/* 4. wait for operation complete command */
event = App_waitForEvent(&Module.eventQueue);

if (event >= APP_E_FAILURE)
{
printf("App_exec: Received queue error: %d\n",event);
status = -1;      
goto leave;
}

我的理解是ARM刚刚把共享内存的地址给DSP并收到的DSP的响应,在此期间并没有双核通信发生,直到我自己写的代码结束,ARM才查看消息队列,才开始接收处理共享内存的数据。
在此期间并没有双核通信发生,不知道我的理解对不对。
回复 支持 反对

使用道具 举报

2

主题

4

帖子

1040

积分

金牌会员

Rank: 6Rank: 6

积分
1040
发表于 2018-8-17 16:14:32 | 显示全部楼层
可能是你, 统计时间方法是不准确的
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-28 18:20 , Processed in 0.043589 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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