请问怎样可以解除DSP端输出信息对占用串口1的占用 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站
点击跳转“创龙科技服务通”

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6316|回复: 7
打印 上一主题 下一主题

请问怎样可以解除DSP端输出信息对占用串口1的占用

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢* ?/ X  F, [+ n7 ~9 Q- R
! ]/ n4 q3 Z8 I9 R2 i
; S6 t2 d1 R1 v- G" t- }
谢谢6 ?( |% T! T/ b% q4 ], @8 r3 X

8 _3 T) W" L& H, n5 n4 k# y5 ~
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
/ V) [8 e8 {; E$ a& @  2 #define _LOG_H_
2 H% E- a: a2 r; H1 y  3 ( N$ ]. h8 x; T, K) o
  4 /* 0: printf; 1: UART1 */% E) e; h7 a3 f7 \. F$ x/ j) j$ G
  5 #define OUTPUT_TO_UART1 1$ F( G2 J8 W$ n0 z3 V. `
  6 $ C. D& Z  U# k# ~& s( Y! z
  7 /* Switch Log Output */3 E) ]/ m. N) b' B
  8 #if OUTPUT_TO_UART1
, V& e( U+ l! m0 g& f  9     /* For UART1 Initial */
. e6 F, a# D, E9 A2 y 10     #include <stdlib.h>6 ?6 R; J- \$ C7 B( C' `7 S
11     #include "hw_types.h"  
, T2 ?3 }8 O- C/ {- T6 w; q5 \ 12     #include "hw_syscfg0_C6748.h"$ z: _( o! ~' B% i; B
13     #include "soc_C6748.h") Q, A- K, d  g' ?. b/ C
14     #include "psc.h"               
/ v9 j+ A& x( T' J 15     #include "gpio.h"               
9 U7 L: F1 C3 y8 `7 C+ U 16     #include "uart.h"
; J- ?$ T8 T! `, k$ u2 H3 i 17     #include "uartStdio.h"
) |" r2 \" s: B5 x% M: z 18
# A% _+ _- F' [: x 19     #define OUTPUT UARTprintf
9 B2 l9 g+ r  c* A+ T 20 #else
( @7 }0 X- W. Y& H7 o 21     #include <stdio.h>  G5 W) X2 ]# a0 `
22     #include <stdbool.h>0 M% S8 I# S0 }
23 : e* T5 H1 ]- o" @
24     #define OUTPUT printf
' x) w0 L. l: _* p6 [% x# i( c2 c/ ]2 j* q 25 #endif: m& Z0 n* I3 [' Z( W5 J6 w- n  w
26   T& Z9 Q+ t0 C$ J# J
27 /* Log init */7 ^  \# Q# b- X& n9 ]) p- R, M2 n
28 #if OUTPUT_TO_UART1! w! @  O( t2 w- Q9 D2 U$ q
29     #define LOG_INIT() do {                                     \
- b: K- J( Q- v/ E9 s! P 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \; }9 M7 R7 N9 O$ D0 v
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \6 ^& H5 j1 o9 a5 P/ K* M+ J
32                          PSC_MDCTL_NEXT_ENABLE);                \& m6 F: i. @: F. b) Y4 D
33         GPIOBank6Pin12PinMuxSetup();                            \
. W" e5 V0 J8 r1 B( q+ d+ ? 34         GPIOBank6Pin13PinMuxSetup();                            \
; S* d; B, S( T+ w( s, z 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \" f6 |0 z! ]! `$ T2 A8 K& y
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
* v# f1 o! E: d! w& H0 A* t 37         UARTStdioInit();                                        \7 T4 X/ G+ o7 g' C( r- x) \( D0 y/ Z
38     } while (0)- ^- {: f8 A3 ^7 Y8 T! e. M
39 #else+ L3 ^0 U: {- J
40     #define LOG_INIT() do { } while (0)
+ l! }* i. |5 p- A( N' ] 41 #endif& G1 j3 v5 g0 g" t' i
42 7 v" C0 s) H9 I8 B* r) u
43 /* Log Output */
: w( c  g) ]% P& z- `1 p4 h 44 #define LOG_INFO(format, ...)      \$ g' J; Y: p% J+ q
45     do {                           \! T3 \( g" h# r% s* j9 s/ ?8 @( [
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \0 I+ z8 p& M/ P* n* l
47     } while (0)
# L- Y- p$ }% v' ~, v# y, B* ` 48 $ c8 U8 W  q4 ^* J) v
49 #define LOG_ERROR(format, ...)     \
/ w' }. X3 l( ?  r% Y8 i; H 50     do {                           \
+ {1 I8 p; V! v5 A 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
* m7 y1 M0 P9 R) ?7 Q9 H+ C3 L 52     } while (0)
" N* H3 A; N2 r! i  w* F& { 53 ' c8 V. L2 N1 {" D
54 #define LOG_DEBUG(format, ...)     \
) j2 G. Z: |5 d8 s* a 55     do {                           \" l  D, \. D) U8 N9 h
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
% y. w  p6 d# F$ v, Y+ a 57     } while (0)
; X$ x+ K9 \0 h 58
4 h, n- @8 N; D% Q" ~ 59 #define LOG_WARN(format, ...)      \
3 m6 V& N- z( p3 u2 A8 a 60     do {                           \+ ]- n9 ^5 n2 N: k( t2 {0 s8 M
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
1 ]  G7 r8 }- {* J5 a 62     } while (0)' V1 q' p8 F7 J" _" I1 @
63
3 R8 N, W6 o6 |9 \ 64 #define LOG_TRACE(format, ...)     \
" `1 k2 Z; N8 j' n/ s1 q 65     do {                           \
  |0 b# a$ z% x9 ~) y% P 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \4 P7 `6 d# G1 u, M; `
67     } while (0)6 ]4 q; Z( i- g  _
68
8 g6 `& K0 Y6 N% A; R( C 69 #define LOG_FATAL(format, ...)     \
4 c! U! \! T7 V1 U1 z 70     do {                           \, `! P( H* k' T
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
5 t4 L0 R( ]4 g- q4 N 72         exit(1);                   \7 V: o2 p; V! }5 l; o
73     } while (0)! ~. h& v5 l. S% H
74 4 U3 t4 ]3 ~* `+ ^
75 /* Assert */
( f+ L, D0 V+ }* e2 I 76 #define ASSERT(EXP)                \
" h$ q- d! A! R. m! D 77     do{                            \
0 O5 z1 Q( Z- H% K3 d! [2 b9 r 78         if (!(EXP)) {              \
( ]+ v5 w; R) w. I 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \. s# l! z- n4 k9 s1 V( u1 L
80             exit(1);               \
: z: n0 A5 J6 N 81         }                          \* e1 r- v, b: F1 x
82     } while(0)9 k# A7 W$ Y( H+ h6 ^
83
/ x' B3 x. ^+ G8 E. t 84 #endif! L( x; u1 a* F; ~0 q+ l
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏, y! \+ m3 e+ [) m' F; c- D7 b
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
! ?7 H9 o/ f; ?, u1 r修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
0 j( I  `3 X' Q* V+ H
你好,是arm这一端的app
+ m  o6 Y7 W/ J: W  i! O3 ~* k* P# Y, n5 l
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03" H! m( [# f7 u0 i
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

- t, v2 E% K  T. P4 h2 ]# {' S你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
$ \$ ]( }  S3 A
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart19 @- w% B0 b; r$ V
dsp 端的 log 才使用了 uart19 k3 _0 W. }- z4 I6 \7 R* o  s
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)$ T" Q2 b5 T7 O, n5 k0 a& d7 w
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59/ \9 @5 _" Y$ m- w
arm 端的 log 并没有用到 uart1
3 K) \9 y5 y, gdsp 端的 log 才使用了 uart12 ]/ b9 q. ^: {' g; p1 O7 k
所以,你需要也只需要修改的是 dsp 子工程的  ...
1 b" U; n$ u3 N5 }- J
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧," t* S# p& x( l; L
然后将#define OUTPUT_TO_UART1 1 换成& {8 W/ @. T6 ^+ t
#define OUTPUT_TO_UART1 0
) D: l1 M- ^! Y% I/ j1 u  是不是这样& X# t; q, k3 X
/ l! Z1 \3 ~$ Y* o# l  r. T

- d2 C8 X: u) `  _! l2 E
. \+ V% r' p& G  [7 H& O5 n9 J
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者

. U. d" e1 |4 L( R
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

点击跳转“创龙科技服务通”

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2026-2-23 17:31 , Processed in 0.044518 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表