嵌入式开发者社区

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

作者: silent123    时间: 2015-4-13 23:32
标题: mcsdk dsp端程序怎么打印调试信息
Int main(Int argc, Char* argv[])$ [% R( ?- A; B  z: B/ v
{
: L9 h; P3 Z4 ~+ O1 R9 L$ C. g    EDMA3_DRV_Result edmaResult = EDMA3_DRV_SOK;8 m0 n0 N  b" ]+ B1 e
         $ {: K2 t7 f( w( a! t
    Error_Block     eb;
/ ]* t4 k  l8 w. P0 ]0 X$ z    Task_Params     taskParams;; n$ @8 B8 [- i, X/ M* ~% M/ k
$ |, Q; G( O! P! o$ I9 A% J
    Log_print0(Diags_ENTRY, "--> main:");3 e( d) r! w5 m4 v  I

- X3 u+ m! h" E8 C/ c' O    /* must initialize the error block before using it */
% ?  C- r3 f, x9 n) w    Error_init(&eb);
5 {5 I  |( Z. n0 Y0 U; J$ E4 Y8 f' w5 `" |
    /* create main thread (interrupts not enabled in main on BIOS) */
7 L1 r2 ~7 @$ z& u' n  o    Task_Params_init(&taskParams);4 c* B( U+ ]( I. Q; U0 t
    taskParams.instance->name = "smain";' f" n0 a7 b, a. w) {! H6 w
    taskParams.arg0 = (UArg)argc;% H/ y$ O! m$ v, |$ t3 a5 W" ^: j: E1 j
    taskParams.arg1 = (UArg)argv;7 D9 i9 _: P& v0 F9 L0 Z
    taskParams.stackSize = 0x1000;$ C# O$ v# k, ^# S1 H! m- s
    Task_create(smain, &taskParams, &eb);
6 P: g2 \7 w8 J* a  p4 P. f' [* x' R; N+ O
    if (Error_check(&eb)) {
- _( g& }# i* `. L        System_abort("main: failed to create application startup thread");
6 Q1 s2 U9 q7 U    }
5 T& P8 `8 p& z  F5 `" S) V( P6 {       
6 t8 r& i5 z. e* b$ ~8 m- E6 {    /* start scheduler, this never returns */
4 U( O/ A2 B; e2 C) |" c    BIOS_start();: j" e8 X+ B4 x# y" ~

3 y5 x  s. b3 ^/ h    /* should never get here */
* s0 n6 f: v# p, a1 x9 X0 Z( p    Log_print0(Diags_EXIT, "<-- main:");
; u" A+ \2 i- n5 x8 ~" I9 z- K* b* R    return (0);' C/ q; n+ [. F
}
) C2 t1 X1 Z/ K0 z+ p2 F! K, i6 ~这是创龙helloword的main函数,其中的 Log_print0(Diags_ENTRY, "--> main:")信息没有通过串口打印出来,请问大家该dsp上运行的程序要怎么打印调试信息?我用的是软件套件是mcsdk,硬件是omapl138。请大家帮忙啊,谢谢。
8 K* s. E/ f/ O+ t+ ?% s0 O1 d! v3 x

作者: tenny    时间: 2015-4-14 15:44
可以参考创龙的双核例程里面的 DSP 子程序 log 模块,是通过串口1查看 dsp 程序的输出。8 o; z! @( C2 R5 x
你贴出来的程序里面Log_print0是要接 jtag,在 ccs 下面才能看到调试信息的,同时BIOS_start();是一个死循环,它之后的代码都不会被执行的
作者: silent123    时间: 2015-4-14 23:20
tenny 发表于 2015-4-14 15:44
( C1 {# W- N5 r% z. D7 Y可以参考创龙的双核例程里面的 DSP 子程序 log 模块,是通过串口1查看 dsp 程序的输出。3 ~  |* P) M% m9 w' Y7 i! C
你贴出来的程序里 ...

1 d) ~) d. C( k. I. Q就是说要接两个串口?我是用的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& Z/ M5 Y& V& x2 P
你改下 dsp 端 log 模块的初始化函数,改成是串口2输出就能做到了,但是两个核同时往同个串口写数据,你看 ...

% b' E1 Z5 F$ ]1 ?: |% T2 Q非常感谢您的回答,学习了!谢谢..




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