嵌入式开发者社区

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

作者: silent123    时间: 2015-4-13 23:32
标题: mcsdk dsp端程序怎么打印调试信息
Int main(Int argc, Char* argv[])5 d2 g& s* Q% R7 Y. K- O
{1 ]3 }" x/ \/ ~' J0 o5 \% @* j
    EDMA3_DRV_Result edmaResult = EDMA3_DRV_SOK;
6 {. `' e1 }3 I         
: ?6 B8 y# w) U2 a" _$ @    Error_Block     eb;5 g, v: a  L% I4 w: r
    Task_Params     taskParams;
% B' b: Q/ ]  |$ ?( Y/ H' ~, O; J: Y4 [5 @! V( s. p
    Log_print0(Diags_ENTRY, "--> main:");7 P5 B9 D, M& W" Q3 h
( t5 B2 F& Y8 m  x( A% j( r
    /* must initialize the error block before using it */
) c& D5 K( ~4 C, }0 s, ~    Error_init(&eb);
4 ^. h% W3 p1 }7 R$ E* M+ T$ F
/ R) ?% o. L0 q, D2 a; m8 O    /* create main thread (interrupts not enabled in main on BIOS) */
  G) _3 {" g! L1 Z% r- Z    Task_Params_init(&taskParams);% L; M  Z' A) t8 K4 N9 F- Z
    taskParams.instance->name = "smain";: i% z' G& u$ F- o$ r
    taskParams.arg0 = (UArg)argc;
  q( e8 X1 E  B4 U7 A1 B% }    taskParams.arg1 = (UArg)argv;
9 U/ D- \8 i! W4 z    taskParams.stackSize = 0x1000;
% K5 X) Q( p* G' T+ q    Task_create(smain, &taskParams, &eb);
5 t/ A" G; a/ @' a8 H: D( \' B: z6 q) _1 k* |: F
    if (Error_check(&eb)) {
1 H7 h' p4 C& U. U  O2 G        System_abort("main: failed to create application startup thread");
3 X6 z5 F- }1 n( O7 y. w    }
8 b; o. {, [9 N, j- j        # t- s9 w$ i. _7 |- O4 ?5 v4 D
    /* start scheduler, this never returns */; x; K9 k3 G2 r& w
    BIOS_start();  y) a" e2 w& w" W2 {

$ z1 s7 s  f/ u% E8 p    /* should never get here */- ~  Y0 B( w5 c2 D
    Log_print0(Diags_EXIT, "<-- main:");5 r7 m* B) m( h! x4 T
    return (0);
- l2 Z, D1 q. A3 k" H$ O  W2 y- f}
( W8 F& d8 V7 H* h  B这是创龙helloword的main函数,其中的 Log_print0(Diags_ENTRY, "--> main:")信息没有通过串口打印出来,请问大家该dsp上运行的程序要怎么打印调试信息?我用的是软件套件是mcsdk,硬件是omapl138。请大家帮忙啊,谢谢。. O; B5 |0 n/ C6 d3 v

' @0 c) N) i1 \& `7 U3 P
作者: tenny    时间: 2015-4-14 15:44
可以参考创龙的双核例程里面的 DSP 子程序 log 模块,是通过串口1查看 dsp 程序的输出。
+ _+ }' v. J; c4 u7 n* N! i你贴出来的程序里面Log_print0是要接 jtag,在 ccs 下面才能看到调试信息的,同时BIOS_start();是一个死循环,它之后的代码都不会被执行的
作者: silent123    时间: 2015-4-14 23:20
tenny 发表于 2015-4-14 15:44& _0 \3 i; [' K5 m) H% p
可以参考创龙的双核例程里面的 DSP 子程序 log 模块,是通过串口1查看 dsp 程序的输出。
  ~3 b6 q$ X( b你贴出来的程序里 ...
. j2 b' T: E5 U6 ^& p( a6 d0 y' R
就是说要接两个串口?我是用的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:51
, B3 U. u. i2 j, N/ c# q你改下 dsp 端 log 模块的初始化函数,改成是串口2输出就能做到了,但是两个核同时往同个串口写数据,你看 ...
' t1 h% d4 K5 n4 O# {
非常感谢您的回答,学习了!谢谢..




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