嵌入式开发者社区

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

作者: silent123    时间: 2015-4-13 23:32
标题: mcsdk dsp端程序怎么打印调试信息
Int main(Int argc, Char* argv[])
3 V& ~2 L2 f; @! I6 P! K1 I{9 G+ J* z5 w+ Z, |' |4 C- e! a
    EDMA3_DRV_Result edmaResult = EDMA3_DRV_SOK;
& V# U: g3 {' P. a2 [         * I& ]( `  g' l! V
    Error_Block     eb;- ~% x" d. |) h: [
    Task_Params     taskParams;
  ^) d6 p% m+ W- c$ g' I7 F; t- k' e, f. H4 u1 x# S
    Log_print0(Diags_ENTRY, "--> main:");
6 Z( ^; l! f, @7 ~7 V% q+ z
! z7 J9 V+ A6 J3 r$ o% E0 E$ t( b$ ]    /* must initialize the error block before using it */  `! m3 T2 W  _: G# V% N& O
    Error_init(&eb);8 z+ H1 j0 F4 x, F+ l! V0 J
4 H: x! e  U9 p# f
    /* create main thread (interrupts not enabled in main on BIOS) */
8 h, C$ F; t9 H. ~' F3 N6 f    Task_Params_init(&taskParams);
2 Z) T! F) a0 Y# K    taskParams.instance->name = "smain";
  c) |8 l3 \& h) t    taskParams.arg0 = (UArg)argc;
( j! C: y# b" C$ r- V! n/ K0 i, [    taskParams.arg1 = (UArg)argv;. r; _$ x3 y- H5 w( |
    taskParams.stackSize = 0x1000;* y# Y6 ?6 M6 `+ y
    Task_create(smain, &taskParams, &eb);
( [. y" Z& n$ w8 H3 b* Z0 |; D# q( X+ l' y2 o' v: I! R1 `
    if (Error_check(&eb)) {
( d! T) E; D" C9 t9 k        System_abort("main: failed to create application startup thread");, U& g2 p  O$ @5 t/ G
    }) c* s6 q4 I8 L, m" H
       
4 `( i* b3 j' X4 {3 ~; V" L    /* start scheduler, this never returns */& I( i0 i  Q' z+ Y
    BIOS_start();' a7 o- ^: j6 O2 D/ ?/ W- H

0 ?7 y6 C  \7 [$ {2 p5 k# Q    /* should never get here */' e1 l+ |, z0 P: G0 \' U; E& ]. c' f
    Log_print0(Diags_EXIT, "<-- main:");
6 ?) w8 l$ Q6 d8 ^! L    return (0);* h5 P& ]/ s- w& g1 q1 [1 P
}
8 w# }9 X+ ?7 c1 M& C- A这是创龙helloword的main函数,其中的 Log_print0(Diags_ENTRY, "--> main:")信息没有通过串口打印出来,请问大家该dsp上运行的程序要怎么打印调试信息?我用的是软件套件是mcsdk,硬件是omapl138。请大家帮忙啊,谢谢。% Y8 [; B( A/ Q4 T* J2 F: u

8 ?: u$ X0 f) Y1 _2 }
作者: tenny    时间: 2015-4-14 15:44
可以参考创龙的双核例程里面的 DSP 子程序 log 模块,是通过串口1查看 dsp 程序的输出。
: y' N* f% {$ m) b+ H+ Y2 i2 j1 U6 @你贴出来的程序里面Log_print0是要接 jtag,在 ccs 下面才能看到调试信息的,同时BIOS_start();是一个死循环,它之后的代码都不会被执行的
作者: silent123    时间: 2015-4-14 23:20
tenny 发表于 2015-4-14 15:44
; Y) A1 E4 h( ?6 B4 C1 D可以参考创龙的双核例程里面的 DSP 子程序 log 模块,是通过串口1查看 dsp 程序的输出。2 y, D. S3 E! X% P+ }5 o. m
你贴出来的程序里 ...

% Q& P* \* F1 O1 X# D就是说要接两个串口?我是用的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
, ~! ^2 n4 N, z, d, C: Q你改下 dsp 端 log 模块的初始化函数,改成是串口2输出就能做到了,但是两个核同时往同个串口写数据,你看 ...
. f2 L" |3 `4 q$ x' h" q
非常感谢您的回答,学习了!谢谢..




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