嵌入式开发者社区

标题: mapl138板子双核通信,dsp串口输出,以及清空环形缓冲区的... [打印本页]

作者: nihao123    时间: 2014-11-14 11:53
标题: mapl138板子双核通信,dsp串口输出,以及清空环形缓冲区的...
你好,用的omapl138板子双核通信,使用的你们提供的AD7606的源程序问题1、我们在调试DSP端的程序时,想要将里面加的printf语句,输出出来,以方便我们对程序的调试,不知道有什么办法可以将DSP程序里面的程序打印到串口上。
% J, n( `4 K9 N) D3 |/ |9 [: }$ x8 T, N问题2、我想要在界面上添加一个stop按钮,当点击这个按钮时我想将内部定义的那个环形缓冲区里的数据全部清掉,当下一一次数据到来时,画出的是我实时信号源送出的波形,不能这个功能好不好实现,我加了if (RingIO_release(m_read_handle, RingIO_getValidSize(m_read_handle)) < 0): S- U6 R" [. ~' s+ r4 C! w
        LOG_ERROR("failed to release buffer");尝试加了上面一条语句,但是没有起到作用,不知大家有什么好的办法吗? 4 o$ i& W. p1 _" M! q

, H7 f6 {) F1 y5 B* F9 W* Y! u) u: d+ p) t1 {  {4 r, `! f

作者: nihao123    时间: 2014-11-14 11:59
问题3:使用ad7606 1.1版本的, 当使用4k时, 不打印 time out 使用1k的时候 都打印了time out 的 为什么?我感觉程序是每隔1s DSP传递给ARM一次数据, 都不应该打印 time out的& L; Y$ }8 X( J% G4 K! }

作者: tenny    时间: 2014-11-14 12:10
! e/ i8 m3 R6 p8 j, |4 _

; [4 T! A0 H4 m) v; r& M; G8 t+ e  {$ ]* e0 N
当前程序已支持串口1的调试输出,看 log 模块输出
) `- X* e' V& l8 e: u6 r2 C! ], Q4 iprintf 输出到 ccs 的 console 里面的1 E  y0 i7 t8 S  ~
对于2,迟些我们这边再看看+ _  i. T9 Q8 w" c6 s0 m% |3 R/ n

作者: tenny    时间: 2014-11-14 12:12
nihao123 发表于 2014-11-14 11:592 d9 J# ~3 U; Y& z( `4 W0 G
问题3:使用ad7606 1.1版本的, 当使用4k时, 不打印 time out 使用1k的时候 都打印了time out 的 为什么? ...
' ~7 K3 X$ P$ w! F
对于3( r2 b( R4 h0 r; A8 b3 r: t
timeout 的输出,1s,可能是时间精度不同造成的debug 输出  ^) d9 c- U% m7 c5 h/ R

作者: nihao123    时间: 2014-11-14 15:13
tenny 发表于 2014-11-14 12:10
6 g: l  F# `" y当前程序已支持串口1的调试输出,看 log 模块输出% _5 Z& Q: F, O  S4 r+ L9 n4 T$ _
printf 输出到 ccs 的 console 里面的- q! o4 q0 {- C6 z
对于2,迟些我 ...
+ e; @' R( J1 W, r5 q2 \* M
板子默认的串口不是串口二吗?意思是我需要将串口一接上看调试信息?0 e( E- z2 y1 M  L" m# ?1 |
8 u4 o: L1 K" R, ~# K& C# U

作者: 希望缄默    时间: 2014-11-14 16:55
nihao123 发表于 2014-11-14 15:13
( f4 w. Q2 @3 p7 V! z板子默认的串口不是串口二吗?意思是我需要将串口一接上看调试信息?
/ E6 u' H. Z0 P0 S- g0 {
3 w+ `9 L- [" B% L5 t* j ...
6 y+ X8 w% B8 K5 j8 ?
ARM LINUX     使用串口2& `( ~6 y; j" l+ N1 G! Y$ D8 {% t
DSP SYS/BIOS  使用串口1; d: {3 Y* A, B' J7 ~0 _6 N8 H' B

作者: nihao123    时间: 2014-11-14 19:16
恩,是的,谢谢啊,是这样的0 S/ ?4 `! j1 \# Q6 ?% o3 k
那个问题二,不知你们有什么好的建议?9 \& b" R0 J. \/ f' i5 f

作者: nihao123    时间: 2014-11-14 19:17
希望缄默 发表于 2014-11-14 16:55
4 p8 x* D& U, y2 l+ vARM LINUX     使用串口2
( Z6 `0 W; r  C7 zDSP SYS/BIOS  使用串口1
7 j+ H: p- R; V& A$ [  j4 V- X4 Z7 g

2 H" _' I; L7 F2 X- Q' M% C恩,是的,谢谢啊,是这样的  p( p1 o9 g, n7 h1 e' R5 P8 b+ ^
那个问题二,不知你们有什么好的建议?
; R- `2 K# r; R! G
作者: nihao123    时间: 2014-11-15 09:29
tenny 发表于 2014-11-14 12:10
' ^  `; h" ]$ D+ w+ B7 _* A. i当前程序已支持串口1的调试输出,看 log 模块输出$ N$ ^) }4 U/ K8 A
printf 输出到 ccs 的 console 里面的
0 ?3 r1 _0 |, S. ?% l, N1 O对于2,迟些我 ...

. y8 }( m3 v5 H; _0 }4 x0 i% j那个问题二,不知你们有什么好的建议?  f0 C7 k: L# r4 f. y( @$ [

作者: nihao123    时间: 2014-11-15 13:02
如何清除环形缓冲区的内容,用什么函数实现?0 j8 y6 Y4 d1 r& d. [- J
具体情况是这样的:我们使用高的采样率采样输入波形(比如4*1014),然后我们停止工作,然后降低采样率(比如1024),重新启动采样, 这个时候接收和显示的数据 是停止采样前的波形数据(采样率为4*1024时采集的数据),这说明 在停止采样的时候,环形缓冲区暂存有上次的数据,请问如何清空环形缓冲区?9 M9 |$ ?8 Q+ F2 H, ?; ?

作者: nihao123    时间: 2014-11-15 13:02
tenny 发表于 2014-11-14 12:12; z0 p  f4 Q0 i9 n6 [
对于3
+ |# V: W) T. w% C: R) otimeout 的输出,1s,可能是时间精度不同造成的debug 输出

5 q$ s& [2 n  s( `$ m问题2:
9 s+ N/ l* c+ m- {如何清除环形缓冲区的内容,用什么函数实现?+ y/ F9 _1 {6 d- Q; J. s: L; M
具体情况是这样的:我们使用高的采样率采样输入波形(比如4*1014),然后我们停止工作,然后降低采样率(比如1024),重新启动采样, 这个时候接收和显示的数据 是停止采样前的波形数据(采样率为4*1024时采集的数据),这说明 在停止采样的时候,环形缓冲区暂存有上次的数据,请问如何清空环形缓冲区?. L4 [% f8 O$ z" p: N" Z% U  n

作者: nihao123    时间: 2014-11-15 13:03
希望缄默 发表于 2014-11-14 16:55
6 [# f8 ~4 J+ s/ d2 J) Z8 U( LARM LINUX     使用串口2: J  E. y( Q" b, R
DSP SYS/BIOS  使用串口1

8 ]: ]% w7 y( w: \问题2! L, }+ y8 _% w$ @8 D/ Q; o1 c
如何清除环形缓冲区的内容,用什么函数实现?; a6 n( i2 r8 I, z7 x. b
具体情况是这样的:我们使用高的采样率采样输入波形(比如4*1014),然后我们停止工作,然后降低采样率(比如1024),重新启动采样, 这个时候接收和显示的数据 是停止采样前的波形数据(采样率为4*1024时采集的数据),这说明 在停止采样的时候,环形缓冲区暂存有上次的数据,请问如何清空环形缓冲区?$ k; W- f1 {% a6 `! h/ ?: r' C, q

作者: 2532609929    时间: 2014-11-17 23:14
nihao123 发表于 2014-11-15 13:02
# L$ [' a( T: r, P8 t如何清除环形缓冲区的内容,用什么函数实现?
1 ~8 A0 _- J3 O1 e: s* U具体情况是这样的:我们使用高的采样率采样输入波形(比如4*10 ...

( k' T( I: o7 R# c串口打印 本身就有延时的,这个还没试过每次都去清除呢。0 c) x) |& R0 T2 ?# j

作者: tenny    时间: 2014-11-18 09:44
2532609929 发表于 2014-11-17 23:14' z3 e5 D$ }" U2 D: ?+ K/ O6 R
串口打印 本身就有延时的,这个还没试过每次都去清除呢。

5 Z% @4 m8 P  |/ T/ l+ }reader 端 RingIO_flush()
+ H3 M; W+ n6 [4 v) S具体的函数使用参看 api 文档' o$ A3 ^8 ~& v2 e$ g5 _2 y
http://software-dl.ti.com/dsps/d ... 90ff7765aa4c8404156
$ p2 k" n  B1 t9 j
作者: tenny    时间: 2014-11-18 09:44
nihao123 发表于 2014-11-15 13:03
/ b" U; Q3 D& H, Z8 d% G问题2% t5 D, k6 j) O) _2 L! ~$ A
如何清除环形缓冲区的内容,用什么函数实现?
8 h' c$ e. Y. I2 z$ |* j具体情况是这样的:我们使用高的采样率采样输入波形( ...
5 `; x- h" O% `% s7 c, |7 y
reader 端 RingIO_flush()
6 P: q* s# r* m# s# X( \5 c, h# `具体的函数使用参看 api 文档
* t& Z/ y4 v4 k; N& ahttp://software-dl.ti.com/dsps/d ... 90ff7765aa4c8404156  h) p% I: z5 k# \7 ~





欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4