嵌入式开发者社区

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

作者: silent123    时间: 2015-4-13 23:32
标题: mcsdk dsp端程序怎么打印调试信息
Int main(Int argc, Char* argv[])* C3 |; t0 o% o. l) R& M" H/ C
{' o1 i/ P  ~( k4 d0 y
    EDMA3_DRV_Result edmaResult = EDMA3_DRV_SOK;
# m1 n9 q" a/ M+ W+ U; Y         
+ t5 ]: o$ S, a- y2 W& o    Error_Block     eb;  Q6 j2 `) W2 M1 G! }& Y
    Task_Params     taskParams;( J- F9 l) |; |1 i, N/ {* V

% {' Z% ?8 ]5 ~" D" N    Log_print0(Diags_ENTRY, "--> main:");
" l& z4 u% `- ~- }1 x* c% @: n' Q
    /* must initialize the error block before using it */' M* _( B  ]2 h5 X( q4 h
    Error_init(&eb);
2 A. Z8 \0 v  V" N  L6 b8 V2 v( @8 G9 ]2 J$ v5 c1 Z. U2 K. |
    /* create main thread (interrupts not enabled in main on BIOS) */) h* O6 j+ V% {, }& W
    Task_Params_init(&taskParams);
: I6 v0 T6 R0 P' e" f/ p# l    taskParams.instance->name = "smain";
! p* z' Z9 [0 q5 a( q: C- N* a    taskParams.arg0 = (UArg)argc;+ T, H5 T  a0 A" o, p
    taskParams.arg1 = (UArg)argv;
, [7 |, D+ z/ z4 h$ Y% c: a6 }2 B4 \    taskParams.stackSize = 0x1000;- o2 ?5 g/ n5 _6 D+ ^
    Task_create(smain, &taskParams, &eb);! H% Y, S! J- c) M

- k  ~" Q1 y2 s" n# ~, n/ V    if (Error_check(&eb)) {) b) p8 E  |3 t7 E$ ~: v3 b# |
        System_abort("main: failed to create application startup thread");) @* t  P. t* C
    }3 @- ?( H+ |8 L" i2 S
        " g# K2 o: o) b! l
    /* start scheduler, this never returns */2 N6 z( v' m; o) j
    BIOS_start();
% G9 m8 @- e5 N
  n' V6 [6 ]% g: x8 E' E( L0 U    /* should never get here */$ o+ l6 v( C; g$ [3 P! ~# q
    Log_print0(Diags_EXIT, "<-- main:");" {5 z( V1 R, K9 I$ }: ^# a& s4 O% Y
    return (0);7 T' z: M/ ^5 T0 P6 i7 w, l
}
! {! G: M* q/ G这是创龙helloword的main函数,其中的 Log_print0(Diags_ENTRY, "--> main:")信息没有通过串口打印出来,请问大家该dsp上运行的程序要怎么打印调试信息?我用的是软件套件是mcsdk,硬件是omapl138。请大家帮忙啊,谢谢。
4 p1 n, j7 b3 Q7 f/ x3 S' p# K2 a$ m8 V

作者: tenny    时间: 2015-4-14 15:44
可以参考创龙的双核例程里面的 DSP 子程序 log 模块,是通过串口1查看 dsp 程序的输出。* Z) W: f; Y3 }. o( }
你贴出来的程序里面Log_print0是要接 jtag,在 ccs 下面才能看到调试信息的,同时BIOS_start();是一个死循环,它之后的代码都不会被执行的
作者: silent123    时间: 2015-4-14 23:20
tenny 发表于 2015-4-14 15:44
. P5 [- e2 U5 V3 G可以参考创龙的双核例程里面的 DSP 子程序 log 模块,是通过串口1查看 dsp 程序的输出。" I, ~" b% w2 m5 n
你贴出来的程序里 ...

7 N( I5 n+ c5 ]. c1 k+ h& O4 ]1 I就是说要接两个串口?我是用的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
8 n4 y! D! s6 m, q7 l* u% \你改下 dsp 端 log 模块的初始化函数,改成是串口2输出就能做到了,但是两个核同时往同个串口写数据,你看 ...
5 j+ {, C5 T( @8 J- {
非常感谢您的回答,学习了!谢谢..




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