嵌入式开发者社区

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

作者: silent123    时间: 2015-4-13 23:32
标题: mcsdk dsp端程序怎么打印调试信息
Int main(Int argc, Char* argv[])
, n, U2 `% C5 _' ^' L" n* ~{
, E' _1 ~( m. _4 \& f    EDMA3_DRV_Result edmaResult = EDMA3_DRV_SOK;. K7 l1 w) m& ?5 t& A! {
         4 B* ~6 l$ ]/ H( k
    Error_Block     eb;
% y$ s& c8 q4 s' i8 C    Task_Params     taskParams;* p3 A; D" c) X4 j

* a6 U$ j* p' o) r    Log_print0(Diags_ENTRY, "--> main:");. I) J/ D% f) G! m0 ^
" `4 o. `. ]. G) `, _8 \
    /* must initialize the error block before using it */
: s+ R4 v$ h- Q+ M( t( a    Error_init(&eb);- k  c0 N: I; O, P2 d+ E% J+ z
) y# h( Y" {- @( E
    /* create main thread (interrupts not enabled in main on BIOS) */+ d. O0 `8 Q6 ], g$ K/ N
    Task_Params_init(&taskParams);! o3 p& u: i9 }' {8 `# h, n. R
    taskParams.instance->name = "smain";9 y( h8 e1 D7 T0 A/ K
    taskParams.arg0 = (UArg)argc;+ E, ^# P" r: b. u( r' ]% H+ I, y' s
    taskParams.arg1 = (UArg)argv;8 n- H6 A  r9 o/ h# b2 A8 A+ Z. r
    taskParams.stackSize = 0x1000;  R8 c0 J" p9 {( d
    Task_create(smain, &taskParams, &eb);& Y0 S& j' \  V" F5 ?9 T, P

% _. O9 {( o8 W- f6 Q    if (Error_check(&eb)) {
0 [3 k4 k% J* L: z2 i        System_abort("main: failed to create application startup thread");
- M0 U& v* T, F& J1 s& U    }9 g+ {4 q+ U! S# ~9 K+ I" W2 O
        6 K0 ~  A* F3 {% w  F
    /* start scheduler, this never returns */9 x. \) ^# y$ t7 T' G
    BIOS_start();  p  J; R/ H7 r% j% W4 A

3 e8 T: H) a, X; S# J) P- e    /* should never get here */  N# ^5 n1 q" ?1 j- B3 n$ B& ?5 z' K9 f2 Z
    Log_print0(Diags_EXIT, "<-- main:");" l/ w& ~# Z2 D, d7 W- P9 e
    return (0);
1 I/ |) H. H1 K! F% d0 J! [}8 B% h2 X( q: y: w
这是创龙helloword的main函数,其中的 Log_print0(Diags_ENTRY, "--> main:")信息没有通过串口打印出来,请问大家该dsp上运行的程序要怎么打印调试信息?我用的是软件套件是mcsdk,硬件是omapl138。请大家帮忙啊,谢谢。: i2 E6 ^/ I' X

) c& F7 c  o2 H/ h2 y
作者: tenny    时间: 2015-4-14 15:44
可以参考创龙的双核例程里面的 DSP 子程序 log 模块,是通过串口1查看 dsp 程序的输出。5 h) l/ y1 Z3 E1 M2 U* V6 u; |
你贴出来的程序里面Log_print0是要接 jtag,在 ccs 下面才能看到调试信息的,同时BIOS_start();是一个死循环,它之后的代码都不会被执行的
作者: silent123    时间: 2015-4-14 23:20
tenny 发表于 2015-4-14 15:44) z- ~, j  d# B2 O' W$ {4 N
可以参考创龙的双核例程里面的 DSP 子程序 log 模块,是通过串口1查看 dsp 程序的输出。
: b. F0 U: a5 N5 T: m你贴出来的程序里 ...
3 f) w. h& ^* r" X5 T+ k* m7 ]
就是说要接两个串口?我是用的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
' K5 N5 m3 b# V/ Q你改下 dsp 端 log 模块的初始化函数,改成是串口2输出就能做到了,但是两个核同时往同个串口写数据,你看 ...
1 k% \3 C% K2 f2 X2 [6 `
非常感谢您的回答,学习了!谢谢..




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