tl-messageq-dsp-to-dsp例子和tl-messageq-edma-memcpy例子的日志区别 - AM57x - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3783|回复: 4
打印 上一主题 下一主题

[已解决] tl-messageq-dsp-to-dsp例子和tl-messageq-edma-memcpy例子的日志区别

[复制链接]

8

主题

26

帖子

96

积分

注册会员

Rank: 2

积分
96
跳转到指定楼层
楼主
发表于 2019-7-23 17:44:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好,由于论坛回复功能有问题,上一个帖子我在这里继续。
我看了链接的案例,对比了bufSize,我感觉问题可能不在这里,这个问题我再换一个角度来描述:
1、tl-messageq-dsp-to-dsp这个案例我把循环次数从10改为100,dsp1和dsp2都打印了大量的日志:
root@AM57xx-Tronlong:~/bin# cat /sys/kernel/debug/remoteproc/remoteproc3/trace0
[      0.000] 18 Resource entries at 0x95000000
[      0.000] [t=0x000216c9] xdc.runtime.Main: main: -->
[      0.000] registering rpmsg-proto:rpmsg-proto service on 61 with HOST
[      0.000] [t=0x00040bab] xdc.runtime.Main: NameMap_sendMessage: HOST 53, port=61
[      0.000] [t=0x00053c21] xdc.runtime.Main: App_taskFxn: -->
[      0.000] [t=0x00058bf5] xdc.runtime.Main: Ipc_start: -->
[      0.000] [t=0x1765ebd9] xdc.runtime.Main: App_taskFxn: ipc ready
[      0.000] [t=0x17664ae6] xdc.runtime.Main: app_reader: -->
[      0.000] [t=0x17668320] xdc.runtime.Main: App_reader: -->
[      0.000] [t=0x1766c17a] xdc.runtime.Main: MessageQ_create: ReaderQ -->
[      0.000] [t=0x17684066] xdc.runtime.Main: Message queue create success
[      0.000] [t=0x1768abe3] xdc.runtime.Main: MessageQ_open, que_1: 65664
[      0.000] [t=0x1768efb4] xdc.runtime.Main: App_reader: reader is ready
[      1.001] [t=0x42578237] xdc.runtime.Main: App_reader: received job=1
[      1.001] [t=0x4258c365] xdc.runtime.Main: App_reader: received job=2
[      1.001] [t=0x425a4f59] xdc.runtime.Main: App_reader: received job=3
[      1.001] [t=0x425b6aca] xdc.runtime.Main: App_reader: received job=4
[      1.001] [t=0x425d12e4] xdc.runtime.Main: App_reader: received job=5
[      1.001] [t=0x425e2b97] xdc.runtime.Main: App_reader: received job=6
[      1.002] [t=0x425fd81f] xdc.runtime.Main: App_reader: received job=7
[      1.002] [t=0x4260e114] xdc.runtime.Main: App_reader: received job=8
[      1.002] [t=0x4261f9a4] xdc.runtime.Main: App_reader: received job=9
[      1.002] [t=0x426396ff] xdc.runtime.Main: App_reader: received job=10
[      1.002] [t=0x4264b1eb] xdc.runtime.Main: App_reader: received job=11
[      1.002] [t=0x4265c976] xdc.runtime.Main: App_reader: received job=12
[      1.002] [t=0x4267545f] xdc.runtime.Main: App_reader: received job=13
[      1.002] [t=0x42686756] xdc.runtime.Main: App_reader: received job=14
[      1.002] [t=0x42698580] xdc.runtime.Main: App_reader: received job=15
[      1.003] [t=0x426b191b] xdc.runtime.Main: App_reader: received job=16
[      1.003] [t=0x426c293d] xdc.runtime.Main: App_reader: received job=17
[      1.003] [t=0x426d41bd] xdc.runtime.Main: App_reader: received job=18
[      1.003] [t=0x426eea49] xdc.runtime.Main: App_reader: received job=19
[      1.003] [t=0x427003ec] xdc.runtime.Main: App_reader: received job=20
[      1.003] [t=0x4271ad3a] xdc.runtime.Main: App_reader: received job=21
[      1.003] [t=0x4272c555] xdc.runtime.Main: App_reader: received job=22
[      1.003] [t=0x4273da84] xdc.runtime.Main: App_reader: received job=23
[      1.003] [t=0x42756494] xdc.runtime.Main: App_reader: received job=24
[      1.004] [t=0x427682c1] xdc.runtime.Main: App_reader: received job=25
[      1.004] [t=0x4277a413] xdc.runtime.Main: App_reader: received job=26
[      1.004] [t=0x42794013] xdc.runtime.Main: App_reader: received job=27
[      1.004] [t=0x427a5662] xdc.runtime.Main: App_reader: received job=28
[      1.004] [t=0x427b719d] xdc.runtime.Main: App_reader: received job=29
[      1.004] [t=0x427d030d] xdc.runtime.Main: App_reader: received job=30
[      1.004] [t=0x427e17b8] xdc.runtime.Main: App_reader: received job=31
[      1.004] [t=0x427f2bb2] xdc.runtime.Main: App_reader: received job=32
[      1.005] [t=0x4280ca9c] xdc.runtime.Main: App_reader: received job=33
[      1.005] [t=0x4281e694] xdc.runtime.Main: App_reader: received job=34
[      1.005] [t=0x42839190] xdc.runtime.Main: App_reader: received job=35
[      1.005] [t=0x4284a872] xdc.runtime.Main: App_reader: received job=36
[      1.005] [t=0x4285c08f] xdc.runtime.Main: App_reader: received job=37
[      1.005] [t=0x428744cd] xdc.runtime.Main: App_reader: received job=38
[      1.005] [t=0x42885825] xdc.runtime.Main: App_reader: received job=39
[      1.005] [t=0x4289737e] xdc.runtime.Main: App_reader: received job=40
[      1.005] [t=0x428afac8] xdc.runtime.Main: App_reader: received job=41
[      1.006] [t=0x428c23a4] xdc.runtime.Main: App_reader: received job=42
[      1.006] [t=0x428d41ee] xdc.runtime.Main: App_reader: received job=43
[      1.006] [t=0x428ed2fe] xdc.runtime.Main: App_reader: received job=44
[      1.006] [t=0x428fec2b] xdc.runtime.Main: App_reader: received job=45
[      1.006] [t=0x4290ff6c] xdc.runtime.Main: App_reader: received job=46
[      1.006] [t=0x42928ec0] xdc.runtime.Main: App_reader: received job=47
[      1.006] [t=0x4293ab30] xdc.runtime.Main: App_reader: received job=48
[      1.006] [t=0x429552fc] xdc.runtime.Main: App_reader: received job=49
[      1.006] [t=0x429672ab] xdc.runtime.Main: App_reader: received job=50
[      1.007] [t=0x42983121] xdc.runtime.Main: App_reader: received job=51
[      1.007] [t=0x42994e90] xdc.runtime.Main: App_reader: received job=52
[      1.007] [t=0x429af083] xdc.runtime.Main: App_reader: received job=53
[      1.007] [t=0x429c0cda] xdc.runtime.Main: App_reader: received job=54
[      1.007] [t=0x429db507] xdc.runtime.Main: App_reader: received job=55
[      1.007] [t=0x429ed03e] xdc.runtime.Main: App_reader: received job=56
[      1.007] [t=0x429fe646] xdc.runtime.Main: App_reader: received job=57
[      1.007] [t=0x42a17030] xdc.runtime.Main: App_reader: received job=58
[      1.008] [t=0x42a28910] xdc.runtime.Main: App_reader: received job=59

[      1.010] [t=0x42be5a61] xdc.runtime.Main: App_reader: received job=89
[      1.010] [t=0x42bef895] xdc.runtime.Main: App_reader: received job=90
[      1.010] [t=0x42bf9018] xdc.runtime.Main: App_reader: received job=91
[      1.010] [t=0x42c0203c] xdc.runtime.Main: App_reader: received job=92
[      1.010] [t=0x42c0b68d] xdc.runtime.Main: App_reader: received job=93
[      1.010] [t=0x42c14ff6] xdc.runtime.Main: App_reader: received job=94
[      1.010] [t=0x42c1e97a] xdc.runtime.Main: App_reader: received job=95
[      1.011] [t=0x42c27e78] xdc.runtime.Main: App_reader: received job=96
[      1.011] [t=0x42c32e47] xdc.runtime.Main: App_reader: received job=97
[      1.011] [t=0x42c3c7be] xdc.runtime.Main: App_reader: received job=98
[      1.011] [t=0x42c45b09] xdc.runtime.Main: App_reader: received job=99
[      1.011] [t=0x42c4f0ac] xdc.runtime.Main: App_reader: received job=100
[      1.011] [t=0x42c58586] xdc.runtime.Main: App_reader: received stop message
[      1.011] [t=0x42c67cfa] xdc.runtime.Main: App_reader: <-- 0
[      1.011] [t=0x42c6f087] xdc.runtime.Main: App_taskFxn: <--


2、tl-messageq-edma-memcpy案例我增加了点打印
Log_print1(Diags_INFO,"App_CMD_SETUP dsp node_conter=%d\n", node_conter);

dsp1只打印了这点日志:run_conter=0到14都没打印

root@AM57xx-Tronlong:~/bin# cat /sys/kernel/debug/remoteproc/remoteproc2/trace0
[      5.380] [t=0xe6ef6b40] Server: memset 0x99600000 run_conter=15
[      5.380]
[      5.380] [t=0xe6f041db] Server: memset 0x99600000 size=40000
[      5.380]
[      5.380] [t=0xe6f2172e] Server: edmaTransfer(hEdma,0,0x9f000000,99480000,4096,1,1,EDMA3_DRV_SYNC_A,-1793715652)
[      5.380]
[      5.380] [t=0xe6f32186] Server: Server_exec: processed cmd=0x0
[      5.388] [t=0xe74be5a8] Server: Server_exec: processed cmd=0x2000000
[      5.388] [t=0xe74cf474] Server: <-- Server_exec: 0
[      5.388] [t=0xe74d8d62] Server: --> Server_delete:
[      5.389] [t=0xe74fc6a3] Server: <-- Server_delete: 0
[      5.389] [t=0xe7548914] Server: Server_create: server is ready
[      5.389] [t=0xe7553fa5] Server: <-- Server_create: 0
[      5.389] [t=0xe755cb37] Server: --> Server_exec:
[      5.389] [t=0xe7564b5f] Server: begin Server_exec()

3、对比两个案例的
      SysMin.bufSize  = 0x8000;   
      9F00_0000   9F00_0000     6_0000  ( 384 kB) TRACE_BUF   

        TYPE_TRACE, TRACEBUFADDR, 0x8000, 0, "trace:dsp",
都一样。

4、我也比较了两个案例代码,tl-messageq-edma-memcpy多了以下3行:
Diags_setMask("Server+F");
Diags_setMask(MODULE_NAME"+EXF");
Diags_setMask(MODULE_NAME"-EXF");
我屏蔽了上面3行,结果没日志打印了。

所以我现在不知道两个案例哪里的差别导致dsp-to-dsp可以打印大量日志,而tl-messageq-edma-memcpy只打印很少日志。我还在继续查找中,也请您也帮忙看看,谢谢。
tl-messageq-cmem-fft我也试了,可以打印大量日志。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

36

主题

526

帖子

7622

积分

创龙

Rank: 8Rank: 8

积分
7622
沙发
发表于 2019-7-24 16:42:22 | 只看该作者
您好,
  可能为以下语句耗时太长导致,建议修改如下:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

8

主题

26

帖子

96

积分

注册会员

Rank: 2

积分
96
板凳
 楼主| 发表于 2019-7-29 17:21:11 | 只看该作者
梁淑怡-Tronlong 发表于 2019-7-24 16:42
您好,
  可能为以下语句耗时太长导致,建议修改如下:

谢谢解答,memeset屏蔽之后确实打印出来了。

看了这个现象心中有个疑问就是:dsp中一句代码耗时长一点,trace0里面信息就有丢失的可能,代码很有可能是不能屏蔽的,那么在不屏蔽代码的情况下,怎么让trace0信息不丢失呢?

点评

应为清0,只是刚好对上了trace buff的地址,然后可能会把之前的打印信息都清除掉。  详情 回复 发表于 2019-7-30 13:48
回复 支持 反对

使用道具 举报

36

主题

526

帖子

7622

积分

创龙

Rank: 8Rank: 8

积分
7622
地板
发表于 2019-7-30 13:48:34 | 只看该作者
beying 发表于 2019-7-29 17:21
谢谢解答,memeset屏蔽之后确实打印出来了。

看了这个现象心中有个疑问就是:dsp中一句代码耗时长一点, ...

应为清0,只是刚好对上了trace buff的地址,然后可能会把之前的打印信息都清除掉。
回复 支持 反对

使用道具 举报

8

主题

26

帖子

96

积分

注册会员

Rank: 2

积分
96
5#
 楼主| 发表于 2019-7-31 17:41:16 | 只看该作者
哦,原来是memset把trace buff的地址影响到了,知道了,多谢。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 07:22 , Processed in 0.038174 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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