请问怎样可以解除DSP端输出信息对占用串口1的占用 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
, R* ?9 F2 X# b- T# ^# J$ u& V; ^  W2 U* E

1 v6 T# `/ C' K+ p5 R4 c' Q& ?谢谢$ K* g$ C3 u, E0 y$ a8 Z7 G

/ W, f5 D( x4 k8 g  s$ ^3 B2 D( |2 F
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_' ?! }5 D- Z5 s/ b2 y6 ~$ D) {" a
  2 #define _LOG_H_
/ r3 S9 Y, D% H# ]  3 : b# n4 T7 U1 o7 n
  4 /* 0: printf; 1: UART1 */
6 p( [8 H+ r/ v$ ]  5 #define OUTPUT_TO_UART1 1: w& d& A3 U- L8 E, T# ]
  6
# t1 l0 o, y' N4 h2 v" J. v0 ^  7 /* Switch Log Output */# d+ ?& k: }, m  x
  8 #if OUTPUT_TO_UART1
- F) W& h* z" ~6 x$ q. U5 O9 F  9     /* For UART1 Initial */
+ G  S6 |; v8 [+ Q 10     #include <stdlib.h>
: X3 H/ j$ g( D$ u: ~+ J2 P2 M 11     #include "hw_types.h"  8 ^% E: i7 C. f; i
12     #include "hw_syscfg0_C6748.h"0 h7 D3 C5 g  ]+ l) L
13     #include "soc_C6748.h"
2 o  k" Q$ o9 H; U 14     #include "psc.h"               
+ C- U% v6 I- N: w" f 15     #include "gpio.h"               
, n7 h2 \7 R9 L" V8 J 16     #include "uart.h"
% V( M0 @7 \( |! `+ @( g6 a 17     #include "uartStdio.h"/ r  E9 y( R7 a4 m: a
18 . P" Q* T, l# R7 v+ n
19     #define OUTPUT UARTprintf
. S7 a2 ?" z5 `' v9 g 20 #else
- l7 H# N4 N3 s$ }- B" U 21     #include <stdio.h>" R4 ^& A# q  l" p
22     #include <stdbool.h>  m1 k1 \- y8 |5 F4 K
23
3 q: [1 Y) a5 U3 L' y! }. J! k 24     #define OUTPUT printf0 z9 u3 U1 B* J6 Y. A3 H" z/ J
25 #endif! i+ o7 v/ Q1 z/ }& e; ~2 E
26
, M5 }+ @. g' k! F1 _& Q 27 /* Log init */5 f/ L  N# a& G" ~/ k$ n! h6 L
28 #if OUTPUT_TO_UART1
* R' z, p& j" I+ |/ ~# r; U 29     #define LOG_INIT() do {                                     \% I% W1 r7 b5 m2 C; F1 c$ l* f
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
$ [% S6 u5 F& R 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
7 z, ~4 q8 d# h$ {! Q 32                          PSC_MDCTL_NEXT_ENABLE);                \$ r: J1 f5 c) u0 m% i
33         GPIOBank6Pin12PinMuxSetup();                            \* Z+ L0 T+ a6 R& M8 X$ {4 j9 V
34         GPIOBank6Pin13PinMuxSetup();                            \3 z; W. u! B7 w0 |: j) M
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
2 g( p4 g- s* U# t* u  _1 g 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
' W' K, Z2 D: E' G4 ] 37         UARTStdioInit();                                        \
! l% b: E) L. K: i: a1 n 38     } while (0)
/ i) V0 L' d/ \' h) T  W" ~1 l7 o 39 #else0 R6 v1 t7 ?& H7 L  }0 [4 Z  ~! ]
40     #define LOG_INIT() do { } while (0)$ A/ T& |, X8 ^" s; N' |! T2 i
41 #endif3 F) L. j: ~+ _9 ~! F( [
42 ) G2 T1 E/ |/ z7 f6 K
43 /* Log Output */
9 Q3 l- p& K: E: I" d/ R 44 #define LOG_INFO(format, ...)      \
2 M3 f6 j+ x3 m7 e. C/ m 45     do {                           \- B4 i  v; F$ e' X. ^' L9 l3 A
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \( \% s" @8 [) U) d2 m# W
47     } while (0)
2 q% }* ~: Q. d 48
. {4 Z* N' F: ~# S7 V: @* C 49 #define LOG_ERROR(format, ...)     \
& A* E; m6 H0 T" S 50     do {                           \1 }- q: t) ~0 o" O2 m  \
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
5 g9 C2 R! b5 A4 ^, B; _+ U2 v* ^ 52     } while (0)8 m0 e2 c6 o5 x$ C
53 1 V6 p- c) M3 H8 T. p1 O
54 #define LOG_DEBUG(format, ...)     \
) |% P- y# {: ]! D8 m: K 55     do {                           \
  L1 q" j9 X+ P 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
* `' e8 T& k0 `, N1 O 57     } while (0)1 z, g" i  W1 X9 ^/ p
58
6 [  b: P& g& G7 D# I 59 #define LOG_WARN(format, ...)      \
6 H  ?0 D6 _: F+ I+ W% R 60     do {                           \2 m% O' L' v6 p0 p2 h+ {/ d1 u
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
7 I, D$ k; ^# P 62     } while (0)- Q3 _9 g- e; r8 R8 w( G% b- V. m
63 3 M$ m' V, |6 u6 f% H9 L
64 #define LOG_TRACE(format, ...)     \
+ R) D5 ]5 K* ^1 `9 B. F: z# J 65     do {                           \
. W* |/ @! a/ f+ L* ^ 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \7 h. F% ~8 \  z9 P# n8 l( d8 T
67     } while (0)& |1 i  W7 c. m
68 % R2 s/ c7 Q9 T- T
69 #define LOG_FATAL(format, ...)     \
) }, s! A2 R  R4 x( ~9 B7 p 70     do {                           \
# }5 X- ^' V$ t& B4 F4 w 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
. m: E# y6 x2 g  o& m9 Y, h 72         exit(1);                   \& w& W8 T1 `( t5 I" O
73     } while (0)
; b/ E2 a0 _, @ 74
. z9 T7 q) i0 G3 F9 W; _ 75 /* Assert */" F* V$ _0 f7 c$ E  M0 n
76 #define ASSERT(EXP)                \
; J/ V5 v1 E* l5 | 77     do{                            \
! {" ~; Z. {3 N: A8 K+ J; H5 j 78         if (!(EXP)) {              \
, d) [" n) V  [( ~; s, G 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \- y! `& C, ^) v
80             exit(1);               \. Q3 d8 k7 f& Y, p# d  j1 ^
81         }                          \) b% p  z( p6 J: X+ Z# I- Q. x
82     } while(0), l. \7 ], U8 _
83 ) J) [1 z% `+ s
84 #endif
2 Q$ ~5 z9 {7 S6 l+ y- N: ]
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
9 ?' x) J) l) D7 ]  D
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
& R" }4 @% x& @+ X4 _( B9 G$ d修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
3 B/ \% k$ _7 [. s! r0 j6 E
你好,是arm这一端的app; }7 l, ?3 V9 |
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
, U- N7 h0 P$ J# ]. `修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

# h* _, e2 c. i4 o  f- h; H你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
& Q9 R7 Y+ T6 J/ l7 W
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1( ~6 K: C! W* M/ ~
dsp 端的 log 才使用了 uart1
3 |4 h  l& @; b% v/ W1 f( h所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)- I4 v  ]7 [  |& g8 G& n
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
! E2 i% n% F9 b6 t$ u2 r% U, Oarm 端的 log 并没有用到 uart1* F9 R" z1 i7 Q8 B
dsp 端的 log 才使用了 uart1
. P# }6 P- @$ t/ C: B9 w所以,你需要也只需要修改的是 dsp 子工程的  ...

. h: c5 W8 I/ x& G8 T. R那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,+ o* C6 r( ~# i6 S9 A
然后将#define OUTPUT_TO_UART1 1 换成
: w" D$ Q' P+ `6 C4 v+ q$ b- I# f* S- t#define OUTPUT_TO_UART1 0
' l( T8 N1 M0 {: k  f5 M5 q  是不是这样" W# w6 c0 G- ]) Y  W

/ B( P9 J  Y, v' ]6 {. }0 M' I8 r% D( d8 d9 k1 {1 l0 z
2 W  x  \7 s4 |4 {( t4 {* ]3 L
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
- q2 E' T- D6 s- [
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-31 04:48 , Processed in 0.042876 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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