嵌入式开发者社区

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

作者: silent123    时间: 2015-4-13 23:32
标题: mcsdk dsp端程序怎么打印调试信息
Int main(Int argc, Char* argv[])
1 |% e* F1 O( W3 i{
0 ?- o6 W1 L$ B  T1 A4 w    EDMA3_DRV_Result edmaResult = EDMA3_DRV_SOK;
# C' T  M. |" i3 h3 L3 k, v9 v2 a: ?% Z4 ~         : V" t  W* x) S3 g- U& I% V
    Error_Block     eb;
& s5 W  I' |9 N    Task_Params     taskParams;: J) y( E+ H% a" |2 ~- \) N

" `; F8 _; ?6 g3 A    Log_print0(Diags_ENTRY, "--> main:");
8 y2 h" T3 q0 Y4 e. \
& z5 V0 F% @& [# M7 c( n    /* must initialize the error block before using it */
( `/ U, {# [3 x9 m    Error_init(&eb);! r; R8 W/ [. m1 e- O( T! }+ Y

8 i& x5 d, u/ q1 a9 _    /* create main thread (interrupts not enabled in main on BIOS) */) v( f7 K5 w4 _# [0 ^- ]  h( p( W
    Task_Params_init(&taskParams);
! d# W$ @7 R( `# X    taskParams.instance->name = "smain";  e+ d6 P: {" v2 e* z  J3 o
    taskParams.arg0 = (UArg)argc;% K% s# U( w8 N" M0 c  [
    taskParams.arg1 = (UArg)argv;
1 r" U. D  @3 S+ h# K1 |8 |    taskParams.stackSize = 0x1000;$ f8 R. j! H, M/ c9 U  N9 f2 e
    Task_create(smain, &taskParams, &eb);
5 u0 W8 X! t) f7 n5 O: I7 l2 J2 \- [2 Q3 }" X4 ?5 U3 A! g
    if (Error_check(&eb)) {$ \* N+ z- o! ^2 ~: x
        System_abort("main: failed to create application startup thread");3 L, S; m0 c3 Q
    }3 C2 u' L! Z/ T* ~/ l7 C0 l
        ; _) T* ^9 L% p! `# V
    /* start scheduler, this never returns */) l( _: C5 B  [* s7 x
    BIOS_start();3 m! i5 M( z- G, D

" o5 d, S/ A/ K3 {. p% F    /* should never get here */
/ Y4 |$ T/ ^1 N3 M# J/ D    Log_print0(Diags_EXIT, "<-- main:");
$ y! m* J3 [( _  s: I4 n# G$ f; Z    return (0);
3 @( a$ b) D$ r2 m6 e}/ P) s- A- K$ W: G* {4 j
这是创龙helloword的main函数,其中的 Log_print0(Diags_ENTRY, "--> main:")信息没有通过串口打印出来,请问大家该dsp上运行的程序要怎么打印调试信息?我用的是软件套件是mcsdk,硬件是omapl138。请大家帮忙啊,谢谢。* y/ Q: H9 g& L# Q1 j. z$ w! ~3 p

# @" l; J8 x" g: C, M
作者: tenny    时间: 2015-4-14 15:44
可以参考创龙的双核例程里面的 DSP 子程序 log 模块,是通过串口1查看 dsp 程序的输出。
4 w5 ]2 G7 e1 s" ^& P2 @; M你贴出来的程序里面Log_print0是要接 jtag,在 ccs 下面才能看到调试信息的,同时BIOS_start();是一个死循环,它之后的代码都不会被执行的
作者: silent123    时间: 2015-4-14 23:20
tenny 发表于 2015-4-14 15:44
' k* P: `. h' a# @4 D可以参考创龙的双核例程里面的 DSP 子程序 log 模块,是通过串口1查看 dsp 程序的输出。2 I7 ^, J5 i) y* {; }# G% Q
你贴出来的程序里 ...
9 z3 o, k2 S: L/ x6 a( f0 s
就是说要接两个串口?我是用的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! P0 h6 `$ u9 e5 X$ M
你改下 dsp 端 log 模块的初始化函数,改成是串口2输出就能做到了,但是两个核同时往同个串口写数据,你看 ...
* O9 ^# J3 S: \! ?' f( Z
非常感谢您的回答,学习了!谢谢..




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