嵌入式开发者社区

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

作者: silent123    时间: 2015-4-13 23:32
标题: mcsdk dsp端程序怎么打印调试信息
Int main(Int argc, Char* argv[])
# H6 Y' ^8 j7 u; T! M2 g6 a{3 d/ K$ Z( R) |& s( \9 Q
    EDMA3_DRV_Result edmaResult = EDMA3_DRV_SOK;: H6 ?0 l# l' ]6 a" g: k% l
         
5 y5 Z: O6 Y1 w: D& }, c1 ~    Error_Block     eb;8 {$ ~) W) {* G, ^& k3 D
    Task_Params     taskParams;$ j: U! o: u$ u$ s- c

8 i' k# B$ s& }& y# Z* l: u    Log_print0(Diags_ENTRY, "--> main:");
, p3 p, I" _; H* g$ m; i
1 J& J/ c9 X" F) E- i% x; p/ |: F2 P    /* must initialize the error block before using it */
% ~6 J/ J, b- Z6 t, p' t: x+ x' A1 b    Error_init(&eb);& H2 n0 e+ h) j+ C* O
7 b! N- x0 N- }/ S
    /* create main thread (interrupts not enabled in main on BIOS) */
% g: ]4 P. z# E, C    Task_Params_init(&taskParams);3 `, Y0 g9 i  H6 o) G5 i: B9 b
    taskParams.instance->name = "smain";7 |0 _6 [4 V6 u
    taskParams.arg0 = (UArg)argc;
9 S4 ~" C" k- B7 n( g) W    taskParams.arg1 = (UArg)argv;
4 ~# m7 b: P8 P# Z+ c; c. K    taskParams.stackSize = 0x1000;, P& ]% z' }/ D- i1 Q
    Task_create(smain, &taskParams, &eb);
6 K: K/ P, u5 B
, J/ U0 Y1 P# C. j& M$ _    if (Error_check(&eb)) {
, \$ u4 n  G( \        System_abort("main: failed to create application startup thread");
; W7 u5 v7 Z( y5 Y5 x' M    }
6 `6 h/ ~, T) r" U; D       
3 v# K, h& g2 r, K, i' T    /* start scheduler, this never returns */9 K. _! \; Q! B3 l" K2 \
    BIOS_start();3 G: q/ k( \7 n- D/ V& z! I% k& F* R

! v$ V9 g5 X- l( Q4 h$ L' A) o    /* should never get here */
6 t( ]. p( M8 S  L$ F6 u5 g+ ~7 c    Log_print0(Diags_EXIT, "<-- main:");
. ^) e5 `$ i- P    return (0);
' T  u# c- F) g0 p( g9 P8 T}
! n" g% b% x; F* k# F  {这是创龙helloword的main函数,其中的 Log_print0(Diags_ENTRY, "--> main:")信息没有通过串口打印出来,请问大家该dsp上运行的程序要怎么打印调试信息?我用的是软件套件是mcsdk,硬件是omapl138。请大家帮忙啊,谢谢。
, k6 ~) r" A" M/ o/ c
! C1 S( L1 V' }. T, q
作者: tenny    时间: 2015-4-14 15:44
可以参考创龙的双核例程里面的 DSP 子程序 log 模块,是通过串口1查看 dsp 程序的输出。+ w; f2 ^' p. a- x; l1 {9 Q
你贴出来的程序里面Log_print0是要接 jtag,在 ccs 下面才能看到调试信息的,同时BIOS_start();是一个死循环,它之后的代码都不会被执行的
作者: silent123    时间: 2015-4-14 23:20
tenny 发表于 2015-4-14 15:449 q4 t4 U, ~& t1 i  ]2 g8 u1 M
可以参考创龙的双核例程里面的 DSP 子程序 log 模块,是通过串口1查看 dsp 程序的输出。
/ B: C0 E. ?' Z8 y& }你贴出来的程序里 ...

5 e3 @7 C4 i% e9 H/ E7 E0 \就是说要接两个串口?我是用的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:515 O9 Q- I8 ^+ O- r  v' S
你改下 dsp 端 log 模块的初始化函数,改成是串口2输出就能做到了,但是两个核同时往同个串口写数据,你看 ...

7 I6 W$ J( |9 [+ M非常感谢您的回答,学习了!谢谢..




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