嵌入式开发者社区

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

作者: silent123    时间: 2015-4-13 23:32
标题: mcsdk dsp端程序怎么打印调试信息
Int main(Int argc, Char* argv[]); m5 w1 ~) |1 Z/ ?4 s! N. W' f
{* k- _: t+ `. {, [) ]
    EDMA3_DRV_Result edmaResult = EDMA3_DRV_SOK;
& q5 A5 a+ ]6 c5 |6 B1 U         
% F7 g) N  y, D, N, N2 o( z; |    Error_Block     eb;
: F) z, y8 S5 S# E+ U    Task_Params     taskParams;5 D" U( C8 J( Z6 E0 d% X3 ]4 u
' q5 k2 l' J6 J
    Log_print0(Diags_ENTRY, "--> main:");
) }2 T0 O+ n2 M* L1 h* Y
  o- T! x0 B* H  I6 c! v# }    /* must initialize the error block before using it */
& f" ~& t' I% u6 a    Error_init(&eb);
! v3 ~: @5 q3 z2 Y, T! ~" |! |2 v/ v4 \1 K7 h
    /* create main thread (interrupts not enabled in main on BIOS) */$ f, C/ O1 B0 j" a! J
    Task_Params_init(&taskParams);/ g8 s' u  Z3 y1 i8 t) u
    taskParams.instance->name = "smain";
( x# @. W" E' L& V, B) X    taskParams.arg0 = (UArg)argc;# X0 D9 ~# w" t& z  c
    taskParams.arg1 = (UArg)argv;: u- R+ F1 i: H" a0 A& e) e3 h+ ?8 m
    taskParams.stackSize = 0x1000;# G' @% q6 w+ G6 t
    Task_create(smain, &taskParams, &eb);
% N4 A% N5 n, w- n
6 `2 ]; `  b' G) F    if (Error_check(&eb)) {0 {4 ~- ]- Q. F- i
        System_abort("main: failed to create application startup thread");. ^2 N" y1 {0 w( s( P( l2 _
    }4 n7 R) k$ i; o% N- g8 R  X
        4 l3 ^- f/ V6 ?2 e. N
    /* start scheduler, this never returns */
  G! q1 n0 p/ l  p, Q* e: u5 h9 w0 S( N    BIOS_start();( W; o! s0 }, ~4 o! s) X0 b
/ Q  t1 I' @: h/ d
    /* should never get here */
, N. G- y8 O3 \# s8 [# O    Log_print0(Diags_EXIT, "<-- main:");
# N5 q! g* x' U+ F) L    return (0);
( A* r! }% l& ?4 T, H6 R! n) ~) v& [2 @}
$ V/ R" K- g& d* X9 M这是创龙helloword的main函数,其中的 Log_print0(Diags_ENTRY, "--> main:")信息没有通过串口打印出来,请问大家该dsp上运行的程序要怎么打印调试信息?我用的是软件套件是mcsdk,硬件是omapl138。请大家帮忙啊,谢谢。
3 z7 v& u& r- M3 V- I& X3 E" o; f0 v
1 B. i  Q5 l& m% N' m0 ~
作者: tenny    时间: 2015-4-14 15:44
可以参考创龙的双核例程里面的 DSP 子程序 log 模块,是通过串口1查看 dsp 程序的输出。0 }: c( D% w' W8 H" @
你贴出来的程序里面Log_print0是要接 jtag,在 ccs 下面才能看到调试信息的,同时BIOS_start();是一个死循环,它之后的代码都不会被执行的
作者: silent123    时间: 2015-4-14 23:20
tenny 发表于 2015-4-14 15:44; a7 i0 P- T, {1 S; H
可以参考创龙的双核例程里面的 DSP 子程序 log 模块,是通过串口1查看 dsp 程序的输出。
& j6 f# I* M' \0 p3 G% H你贴出来的程序里 ...

( X2 q0 G  p3 K* x/ a就是说要接两个串口?我是用的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 e; L4 [3 Q  y2 L" e
你改下 dsp 端 log 模块的初始化函数,改成是串口2输出就能做到了,但是两个核同时往同个串口写数据,你看 ...

9 y/ C4 E1 @5 k' m+ H非常感谢您的回答,学习了!谢谢..




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