嵌入式开发者社区

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

作者: silent123    时间: 2015-4-13 23:32
标题: mcsdk dsp端程序怎么打印调试信息
Int main(Int argc, Char* argv[])
% N5 o. m+ b: a6 H2 W0 i{: ^, e$ b7 C3 \2 \, m4 T) m6 E4 z
    EDMA3_DRV_Result edmaResult = EDMA3_DRV_SOK;( f2 z1 B, K  G" f; `8 z
         / S9 `' l8 c9 K8 b; h: p
    Error_Block     eb;
7 B- N, y% b8 K" Y# A& ~. w3 N. K    Task_Params     taskParams;+ b: n! n) O" ~! p4 k- X( Q; @# N! }# \

+ I, B1 y# v% N' V5 D2 Z$ N. _! s    Log_print0(Diags_ENTRY, "--> main:");- x& C+ h$ \( f- P& s. Y
! \% j8 e) T7 L" ^
    /* must initialize the error block before using it */
2 q& v1 g  t* O! N5 T$ |0 `    Error_init(&eb);9 `9 J/ O# v% b, o: f

/ j# M* }9 O8 k3 b  L    /* create main thread (interrupts not enabled in main on BIOS) */
5 v6 ^7 Q6 W, i) Q% y( ^) M    Task_Params_init(&taskParams);& \% A( t  I+ R! l. p* n
    taskParams.instance->name = "smain";
4 B3 ^" x8 J! P) p4 H! t    taskParams.arg0 = (UArg)argc;
3 @3 Y7 @+ W6 t' j- [1 X    taskParams.arg1 = (UArg)argv;9 w  w; \, Q: t
    taskParams.stackSize = 0x1000;. c9 p1 I- J) I$ g
    Task_create(smain, &taskParams, &eb);, p7 Q2 f6 w8 e) T$ b4 Q

, L, C9 M0 x' [4 h$ ?( u    if (Error_check(&eb)) {
, J4 c' |/ o; [+ Q# W: @        System_abort("main: failed to create application startup thread");4 F& C+ L& Q, G6 L8 ~% w" H
    }
, z/ M, g) O5 ?: S' ^1 b2 F       
, u* e# n3 l) z. N0 B( ^! N    /* start scheduler, this never returns */* g& e# [3 d: F
    BIOS_start();$ M' o0 `5 X2 s1 K$ ^( I7 q
! g! {: Q& x: S
    /* should never get here */0 x9 g1 x$ O: j; g  I, f
    Log_print0(Diags_EXIT, "<-- main:");
; ?7 I0 ]1 A" C4 Y    return (0);
5 F0 l: W+ l( d}1 v8 F6 E; T; u8 N4 }* [8 a
这是创龙helloword的main函数,其中的 Log_print0(Diags_ENTRY, "--> main:")信息没有通过串口打印出来,请问大家该dsp上运行的程序要怎么打印调试信息?我用的是软件套件是mcsdk,硬件是omapl138。请大家帮忙啊,谢谢。- i$ T' {  C; }, ?) n8 R& Y

& P% t: y7 H0 [$ X9 l6 w
作者: tenny    时间: 2015-4-14 15:44
可以参考创龙的双核例程里面的 DSP 子程序 log 模块,是通过串口1查看 dsp 程序的输出。- R/ I5 P" h' Q# h7 a
你贴出来的程序里面Log_print0是要接 jtag,在 ccs 下面才能看到调试信息的,同时BIOS_start();是一个死循环,它之后的代码都不会被执行的
作者: silent123    时间: 2015-4-14 23:20
tenny 发表于 2015-4-14 15:44/ T1 Z" J! g! ^1 k) ^
可以参考创龙的双核例程里面的 DSP 子程序 log 模块,是通过串口1查看 dsp 程序的输出。; W5 X8 r  |" }
你贴出来的程序里 ...
+ Q9 J$ ?6 }* y' D: }" B
就是说要接两个串口?我是用的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
" x' _) h  q% g3 `5 A. m+ Q你改下 dsp 端 log 模块的初始化函数,改成是串口2输出就能做到了,但是两个核同时往同个串口写数据,你看 ...

1 K! u" ~/ z5 s, ]. f) q1 D5 r非常感谢您的回答,学习了!谢谢..




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