嵌入式开发者社区

标题: mcsdk dsp端程序怎么打印调试信息 [打印本页]

作者: silent123    时间: 2015-4-13 23:32
标题: mcsdk dsp端程序怎么打印调试信息
Int main(Int argc, Char* argv[])
6 e& @4 _$ ~6 V! T1 m( k# u{
  }. F6 l; O2 Y! P3 H) k1 {    EDMA3_DRV_Result edmaResult = EDMA3_DRV_SOK;
$ ^) f5 R7 K; |5 `) l1 K. g9 [         
) @: I9 @- d2 ?    Error_Block     eb;
; ^& b4 c$ }9 N( T3 E$ e; Q    Task_Params     taskParams;4 S0 g, n2 J% G1 }
0 K1 s3 V( w( w2 r9 ^
    Log_print0(Diags_ENTRY, "--> main:");! Z* l+ t8 @9 `: R9 X

3 _4 S8 a' e- J/ P    /* must initialize the error block before using it */
# P1 S. C5 d* F3 g( p    Error_init(&eb);9 }# B: H1 v; r3 T- k6 c

  s; w3 R1 C& }+ i8 F4 s    /* create main thread (interrupts not enabled in main on BIOS) */: i) v  [* O- s4 S, w+ O
    Task_Params_init(&taskParams);  V5 x( N5 [; t6 T$ @( f
    taskParams.instance->name = "smain";: d6 x. [1 i* k+ R& j9 y
    taskParams.arg0 = (UArg)argc;
% O4 H; @( M8 y2 W    taskParams.arg1 = (UArg)argv;) Z* q7 v+ S: t$ C
    taskParams.stackSize = 0x1000;: i5 t" Z( e* o0 B7 w5 C; T
    Task_create(smain, &taskParams, &eb);9 n: K9 B) f& W, f0 P: K

0 o# x5 J! E4 O+ k( g$ k; C    if (Error_check(&eb)) {3 k( q$ H5 \' f" V7 s) w" @; F) [% F
        System_abort("main: failed to create application startup thread");' s: B  |) V* ?7 \+ g
    }1 V) o0 `! C5 f) h' A( B$ C2 l
       
% F+ `# |) B  j+ v/ q9 s8 j    /* start scheduler, this never returns */) R3 w8 A6 b  X
    BIOS_start();. d, L" E) _8 j: S% k7 [" S

8 p* E: B% D0 \" p/ K    /* should never get here */
0 b5 Z; f* l3 [/ n& B    Log_print0(Diags_EXIT, "<-- main:");6 T1 O1 C0 x: \; n  X( _! K( s
    return (0);
) |1 a5 a( r8 ~+ U- _# H}
: A) x  o5 v! d这是创龙helloword的main函数,其中的 Log_print0(Diags_ENTRY, "--> main:")信息没有通过串口打印出来,请问大家该dsp上运行的程序要怎么打印调试信息?我用的是软件套件是mcsdk,硬件是omapl138。请大家帮忙啊,谢谢。  r- L& J6 X+ z2 p8 ?( [# f
) R' }1 {4 ?% L# v! c4 \

作者: tenny    时间: 2015-4-14 15:44
可以参考创龙的双核例程里面的 DSP 子程序 log 模块,是通过串口1查看 dsp 程序的输出。
  H) ^- J' E  k$ x- o你贴出来的程序里面Log_print0是要接 jtag,在 ccs 下面才能看到调试信息的,同时BIOS_start();是一个死循环,它之后的代码都不会被执行的
作者: silent123    时间: 2015-4-14 23:20
tenny 发表于 2015-4-14 15:442 x8 x6 ^8 _* w; o8 ]3 `& x- |  m
可以参考创龙的双核例程里面的 DSP 子程序 log 模块,是通过串口1查看 dsp 程序的输出。5 \4 P# l! G2 g4 n" r' d8 ?+ K
你贴出来的程序里 ...
! D) u& a- @) }9 G* H& y
就是说要接两个串口?我是用的omapl138,在arm下面使用slaveloader加载server.xe674到dsp核运行的,有办法和arm下执行的程序打印到同一个串口吗?这样比较方便啊。谢谢!
作者: tenny    时间: 2015-4-29 10:51
你改下 dsp 端 log 模块的初始化函数,改成是串口2输出就能做到了,但是两个核同时往同个串口写数据,你看到的log 输出会是混乱的
作者: silent123    时间: 2015-4-29 23:27
tenny 发表于 2015-4-29 10:512 `- P$ l+ j, P, u4 a
你改下 dsp 端 log 模块的初始化函数,改成是串口2输出就能做到了,但是两个核同时往同个串口写数据,你看 ...
6 e# H: R3 d$ n- n
非常感谢您的回答,学习了!谢谢..




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