嵌入式开发者社区

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

作者: silent123    时间: 2015-4-13 23:32
标题: mcsdk dsp端程序怎么打印调试信息
Int main(Int argc, Char* argv[])+ A; c0 r6 c  N0 w  Z! D
{
) s- @9 v  u, m( y    EDMA3_DRV_Result edmaResult = EDMA3_DRV_SOK;- W& [1 p' F( q7 U; ~& Z
         
( K% V5 N8 v2 X$ j& z8 y0 Z    Error_Block     eb;0 B  o2 {9 G3 S) s" _  ]* r2 c
    Task_Params     taskParams;
$ N' o# a3 G1 Q2 ~' H% t6 z* j0 T) d0 E5 z' L; q/ ?( r4 r8 y
    Log_print0(Diags_ENTRY, "--> main:");3 p- D% y$ L( J, R
; h4 E4 v' r0 g
    /* must initialize the error block before using it */4 v$ F4 O, c/ h# X# o
    Error_init(&eb);
8 z* _( f2 f4 s! ~/ d" r& _6 Q7 P  `2 o# u: W
    /* create main thread (interrupts not enabled in main on BIOS) */
: G5 B  X6 w1 ~    Task_Params_init(&taskParams);
% \/ c- e" y- h/ H& e1 S8 [4 c# ]    taskParams.instance->name = "smain";. r. w  [) s6 ?. ?! N1 R' c
    taskParams.arg0 = (UArg)argc;
8 ]1 |8 d& U4 d: `, C    taskParams.arg1 = (UArg)argv;* }" S: O2 K3 L6 S8 k
    taskParams.stackSize = 0x1000;
9 l) O' i6 O8 {" i- O4 u( r# L    Task_create(smain, &taskParams, &eb);
! `+ u* _2 F! B# T  I$ t
; w% \; x! W  Z' v9 x+ u$ r    if (Error_check(&eb)) {1 c2 ~5 o: E+ x" ~7 @2 F4 q
        System_abort("main: failed to create application startup thread");
  t' M6 G9 S! ^1 ]3 C    }
/ ]7 T2 B( A- @* w% q1 e        4 K$ O4 S; f- z
    /* start scheduler, this never returns */
8 a  H+ m% f( \6 t+ q    BIOS_start();
; P/ o3 e9 Z1 B) q0 \# D; e& M
% }: F9 `1 [" ]: m* p& O5 H    /* should never get here */
  W" M8 R1 N. E' i# |0 m    Log_print0(Diags_EXIT, "<-- main:");
5 N# |& u* ^1 x    return (0);2 c: p  W! j% Y) i. ]1 K
}! X- O, {1 X% y
这是创龙helloword的main函数,其中的 Log_print0(Diags_ENTRY, "--> main:")信息没有通过串口打印出来,请问大家该dsp上运行的程序要怎么打印调试信息?我用的是软件套件是mcsdk,硬件是omapl138。请大家帮忙啊,谢谢。" m: t$ X6 O% Q# w, ]( q% }1 w

) n$ \3 W8 R3 [; N; v
作者: tenny    时间: 2015-4-14 15:44
可以参考创龙的双核例程里面的 DSP 子程序 log 模块,是通过串口1查看 dsp 程序的输出。
- G5 X9 u! g- D- \' c* c你贴出来的程序里面Log_print0是要接 jtag,在 ccs 下面才能看到调试信息的,同时BIOS_start();是一个死循环,它之后的代码都不会被执行的
作者: silent123    时间: 2015-4-14 23:20
tenny 发表于 2015-4-14 15:44
  E$ Y/ K. ^! ^8 r$ G8 d5 @! @可以参考创龙的双核例程里面的 DSP 子程序 log 模块,是通过串口1查看 dsp 程序的输出。
  C2 q2 T# V, @7 d你贴出来的程序里 ...
- ^4 D) d) b: d" 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
# `5 c2 y; V; @! i' {* K3 s你改下 dsp 端 log 模块的初始化函数,改成是串口2输出就能做到了,但是两个核同时往同个串口写数据,你看 ...
" A/ z, y2 F' K- {2 q7 ?. h
非常感谢您的回答,学习了!谢谢..




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