嵌入式开发者社区

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

作者: silent123    时间: 2015-4-13 23:32
标题: mcsdk dsp端程序怎么打印调试信息
Int main(Int argc, Char* argv[])
& L( Y/ ~8 |: W) e5 o& p* R{+ z4 A  v+ o( w+ Z3 Q6 r9 l
    EDMA3_DRV_Result edmaResult = EDMA3_DRV_SOK;+ [$ S3 A: e6 _. b$ X
         1 p% |! I& Y9 U3 i  a  ?, T9 r
    Error_Block     eb;
$ F0 @* B, |3 ?% O5 b: F    Task_Params     taskParams;. l; ~2 X2 {7 @8 {" Z0 w# g1 J

: n" [7 l6 z; ?% ~$ h1 W    Log_print0(Diags_ENTRY, "--> main:");
2 w1 W! [9 r( Q' h" |0 P9 i) V( j3 O3 z) @; `" {
    /* must initialize the error block before using it */0 r. Z* |+ f! ]2 W* E. O9 ?
    Error_init(&eb);
- U8 E6 e' _1 v8 X8 j- F' {# e/ w4 k" C
    /* create main thread (interrupts not enabled in main on BIOS) */
) ]7 B/ t, J/ T4 r* U: d( N" y    Task_Params_init(&taskParams);# _- V. @1 A# h7 J- q  r
    taskParams.instance->name = "smain";" _4 w/ i" a$ d5 U
    taskParams.arg0 = (UArg)argc;
0 n, g) n: w2 O. B    taskParams.arg1 = (UArg)argv;
! A) `7 h7 Y8 n) E! y& m2 _    taskParams.stackSize = 0x1000;8 K7 A. s8 m& Q6 {- L) |
    Task_create(smain, &taskParams, &eb);" M4 \, o; d% e' ~( N9 Q+ t3 |( Q

4 G8 a  U& `/ b5 v    if (Error_check(&eb)) {
, l) v' u' u* s5 ~4 ^# b        System_abort("main: failed to create application startup thread");4 \+ K# M1 |* a' @
    }
$ C5 J: q  ]: v2 l! F! W/ D1 ^        $ V$ @/ Q; ?9 g% x6 b
    /* start scheduler, this never returns */
, k* b: l9 R" O  q% D. I    BIOS_start();
7 y' m5 L. y- E/ ]8 x& o( h8 B  n3 Z+ B
    /* should never get here */# a4 _% y! {: i) F9 l/ ]
    Log_print0(Diags_EXIT, "<-- main:");3 U) i7 x' c0 J+ H
    return (0);
6 G$ Q) _! k# p}
$ r* C3 q6 Y3 l这是创龙helloword的main函数,其中的 Log_print0(Diags_ENTRY, "--> main:")信息没有通过串口打印出来,请问大家该dsp上运行的程序要怎么打印调试信息?我用的是软件套件是mcsdk,硬件是omapl138。请大家帮忙啊,谢谢。
4 ~3 r- R8 U) A- L) }! M
" K9 f" i& V  V; E
作者: tenny    时间: 2015-4-14 15:44
可以参考创龙的双核例程里面的 DSP 子程序 log 模块,是通过串口1查看 dsp 程序的输出。: ^/ J) Z0 A( G+ l  D1 f/ ]$ _
你贴出来的程序里面Log_print0是要接 jtag,在 ccs 下面才能看到调试信息的,同时BIOS_start();是一个死循环,它之后的代码都不会被执行的
作者: silent123    时间: 2015-4-14 23:20
tenny 发表于 2015-4-14 15:44* B" s+ f4 s! W
可以参考创龙的双核例程里面的 DSP 子程序 log 模块,是通过串口1查看 dsp 程序的输出。% f  q/ p4 h' r" {
你贴出来的程序里 ...
/ L! [* T" ?. l; r% {" G
就是说要接两个串口?我是用的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:519 w9 p' S! X8 N! K* n
你改下 dsp 端 log 模块的初始化函数,改成是串口2输出就能做到了,但是两个核同时往同个串口写数据,你看 ...
0 d" c. K/ ]7 F3 i4 J
非常感谢您的回答,学习了!谢谢..




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