嵌入式开发者社区

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

作者: silent123    时间: 2015-4-13 23:32
标题: mcsdk dsp端程序怎么打印调试信息
Int main(Int argc, Char* argv[])
& G* t0 J0 n6 P. g' |8 m5 I: |/ r{
( a4 g) g5 x! u6 O    EDMA3_DRV_Result edmaResult = EDMA3_DRV_SOK;0 t, g' c8 l9 E4 W# Z
         
  T4 k- K6 r$ p4 u# N    Error_Block     eb;3 H# V, j6 L" q7 k$ ]3 C
    Task_Params     taskParams;1 P- x7 C0 s$ e% [4 |! M
- {  l3 Q  e! Z7 F# H, s
    Log_print0(Diags_ENTRY, "--> main:");
- |  A/ K1 r  h2 p# S/ |7 L) x1 g, W* ^3 j* v
    /* must initialize the error block before using it */
. t& |" X) p; s1 d5 [2 n    Error_init(&eb);3 }& c  Z0 r. W- Z% ^1 a! O5 j

- d! |# r; V+ E" q    /* create main thread (interrupts not enabled in main on BIOS) */" N/ C& a/ i( `' x1 d
    Task_Params_init(&taskParams);5 i+ d9 v0 ^; R) n
    taskParams.instance->name = "smain";
3 ?* M! u1 Q% l) [* M- n$ {    taskParams.arg0 = (UArg)argc;
  U0 D, ^# K1 I3 q4 l" y  @" Q    taskParams.arg1 = (UArg)argv;
; W; p0 p8 V/ u0 X! T    taskParams.stackSize = 0x1000;
0 Y, g! r* P3 c( h    Task_create(smain, &taskParams, &eb);5 y. m. k7 D" a

; q9 Z% q2 t! ^* b) T    if (Error_check(&eb)) {
4 t7 m9 f! |+ U8 E0 a        System_abort("main: failed to create application startup thread");8 y3 l! K8 o' U+ B5 d2 m1 y& B
    }
# l+ R! ]5 u' C- v$ ^' n7 D        9 N! ^) E6 ^1 E% Z; S
    /* start scheduler, this never returns */
! k9 X1 `; m! z& k" v* W" D! {+ X    BIOS_start();
7 w% W0 A' u% I4 D- z* w- p, h: y, }/ i% {" O: I
    /* should never get here */
# P$ z: N9 v/ U; r7 @    Log_print0(Diags_EXIT, "<-- main:");6 i# A8 A+ |& i% H' g- u
    return (0);
* W* Z& F4 n$ f% V' h$ Z, N5 g+ j}3 z" h" {7 @2 V2 H4 D9 R1 r
这是创龙helloword的main函数,其中的 Log_print0(Diags_ENTRY, "--> main:")信息没有通过串口打印出来,请问大家该dsp上运行的程序要怎么打印调试信息?我用的是软件套件是mcsdk,硬件是omapl138。请大家帮忙啊,谢谢。; a1 Y3 a) ^3 J& ]

; R3 b" u# ?3 I
作者: tenny    时间: 2015-4-14 15:44
可以参考创龙的双核例程里面的 DSP 子程序 log 模块,是通过串口1查看 dsp 程序的输出。$ W: X! S6 S- c8 h5 q# D
你贴出来的程序里面Log_print0是要接 jtag,在 ccs 下面才能看到调试信息的,同时BIOS_start();是一个死循环,它之后的代码都不会被执行的
作者: silent123    时间: 2015-4-14 23:20
tenny 发表于 2015-4-14 15:44
) W' z3 Y: ^: U可以参考创龙的双核例程里面的 DSP 子程序 log 模块,是通过串口1查看 dsp 程序的输出。
- R! ^) y* l2 W3 \1 Y- c( [你贴出来的程序里 ...

) |$ |4 t' i. |- {' l# X) M3 M就是说要接两个串口?我是用的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
7 p: O8 G) C. Q5 p" X- p你改下 dsp 端 log 模块的初始化函数,改成是串口2输出就能做到了,但是两个核同时往同个串口写数据,你看 ...
- |8 [- t9 ~1 o+ O* P* Y# S
非常感谢您的回答,学习了!谢谢..




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