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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢) Z9 ]9 l- M- A

; z% ?" U9 y, c/ |: l% p9 g% g- J0 ?/ W2 ]. A$ J
谢谢
+ B" K. z! r! _) r
  S4 V# E" ~% t0 s1 _; {( ^7 ]/ V3 D
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_) _  l9 V) \- K
  2 #define _LOG_H_
( X+ R# K4 {1 v5 d  3 ! }( K9 B. r2 M* w/ {0 s, W
  4 /* 0: printf; 1: UART1 */
/ \# y% c9 r+ `! C: B$ {; I  5 #define OUTPUT_TO_UART1 1
1 g: h# p0 k  u( [; d) O" d' ^. A
  6 ; d. Y$ m; Z+ b7 }3 t1 S
  7 /* Switch Log Output */( s4 y  R' P& D3 p, Q
  8 #if OUTPUT_TO_UART18 A+ b8 D6 i% R: t- T* Y
  9     /* For UART1 Initial */
1 U3 X. J  M0 Q5 @( G 10     #include <stdlib.h>
# @8 K% B" ^% E( T* d; K) H 11     #include "hw_types.h"  4 p  g( S$ a/ F5 N$ w" }
12     #include "hw_syscfg0_C6748.h"+ P1 ]; z. F$ e
13     #include "soc_C6748.h"! \9 C4 u$ M1 J( f( A8 ~
14     #include "psc.h"               7 ]- w6 N& X/ z* C: z; K; j
15     #include "gpio.h"               
% e9 k5 Y# i# K 16     #include "uart.h"
( Y! a7 O6 r# f& M 17     #include "uartStdio.h"
( h* \6 _' S0 y- V4 Z# B1 s 18
' J' H3 L; x  p 19     #define OUTPUT UARTprintf
3 ?3 P/ u% h, j1 I9 t' D 20 #else1 M* x. {* L( g( L2 F" R9 g: z
21     #include <stdio.h>9 U# D8 a+ m; R- Z; z
22     #include <stdbool.h>
4 H/ A$ Z. L- F6 Q 23
8 o# m" P- q& ^# V4 @4 ^& x1 d7 H6 \ 24     #define OUTPUT printf
6 T: z4 f6 [. U1 N# v7 j 25 #endif
5 c  r& }' K& ?5 K 26 8 p- q0 \6 L% H/ a
27 /* Log init */
/ S: h' d; e( b5 w% T; n; C- V 28 #if OUTPUT_TO_UART1
9 z. g: i6 `. V 29     #define LOG_INIT() do {                                     \
; g: j8 B# g' F/ o7 B( t. L 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
' Y  T. z* ]8 f+ A# \8 C3 T 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \$ i8 r3 `6 J" p% @
32                          PSC_MDCTL_NEXT_ENABLE);                \
5 R; l- P" k9 S+ L8 z+ C0 R 33         GPIOBank6Pin12PinMuxSetup();                            \2 v5 ~% {4 S- ?: c$ a! G0 G
34         GPIOBank6Pin13PinMuxSetup();                            \6 U' A' t, S2 l9 i7 [3 d1 V
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
7 V) f2 A  m" L  Q9 ]6 n 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \0 `8 K, a! \& l% C3 i. r6 _8 S
37         UARTStdioInit();                                        \. ^- I& `0 G) ^/ s; \( F: Y* A
38     } while (0)
& a  c' P/ p* A- u) }) C- Y6 g 39 #else
. o9 L3 n" X  H8 @: [( }  G 40     #define LOG_INIT() do { } while (0)
+ k+ N. }, r+ G$ j 41 #endif* R) V; B: z$ {2 x% p
42 # U9 P5 v" @0 H
43 /* Log Output */
4 ?' ?7 U  k( n* r8 R 44 #define LOG_INFO(format, ...)      \' u' k3 o9 @2 @( }, Y
45     do {                           \
6 G% K. T: Y3 B% \" C- t 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
$ U( f9 s) l# w4 A# ~2 L 47     } while (0)+ `! u- i( @( z' |% h7 k( C
48
5 n5 U: r7 T9 [- c' x, g# I% M 49 #define LOG_ERROR(format, ...)     \
% @- P4 Y" A% O4 w# W 50     do {                           \5 O( x& @& U/ W3 L0 e: p+ d
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
; b4 h$ a4 B# h; S3 f6 h$ n 52     } while (0)! u- j7 B% g( |9 d
53
3 O4 f, ]0 f1 i, q  @ 54 #define LOG_DEBUG(format, ...)     \9 x' _; i: }3 g! S0 w- i
55     do {                           \
( o5 }/ t0 v) W7 O- H/ y% s 56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \& d0 Z- O) F' F4 _& d7 \
57     } while (0)
; D* @2 P9 ]# U$ V* ~& t% W 58
2 B3 m' X6 q2 h4 M" f 59 #define LOG_WARN(format, ...)      \
6 Q6 @- ~! K6 X  e6 R; _ 60     do {                           \
& d; L( u" V7 g6 Q+ v- N 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
6 h, _3 M- F6 n5 |' U% w9 @+ e 62     } while (0)
% D4 R1 Z9 W3 W' d3 p" [ 63 6 _/ c7 E5 T. N4 o3 b, s# [
64 #define LOG_TRACE(format, ...)     \6 F5 Y/ a" L8 l, Z; r
65     do {                           \
9 u$ G5 K, F# q* O3 g 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
2 ~4 g0 _. I3 \ 67     } while (0)% F+ f3 E0 Q! |$ u3 p7 k
68 . I( B& C# O8 v# N4 M
69 #define LOG_FATAL(format, ...)     \
7 j7 N! V8 z% X1 l7 A: P% x 70     do {                           \
7 _  u0 j2 A# }8 U8 t3 [ 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \. ^, r" _6 Y9 P$ j) v4 K" K) v
72         exit(1);                   \) O) B% g1 E! M# ?% X
73     } while (0)
  K. U4 y+ ]' z 74 8 N7 J' Y: x9 ~
75 /* Assert */: a2 P) Y2 n/ n* I/ b# G; V
76 #define ASSERT(EXP)                \
; N; n0 x& P& a( ?/ _ 77     do{                            \+ S8 {, ?9 s4 h8 h0 \8 a
78         if (!(EXP)) {              \
3 ~$ n! `% k# [4 R8 d( O 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
8 C, I/ |, d/ r+ \; R7 h6 S) ~, n 80             exit(1);               \
/ u! j  I# B- z) y" S$ } 81         }                          \
! g" {  D4 Y6 d) _ 82     } while(0)+ h+ l9 @' j& K; {6 Q
83 1 Y2 n& p$ D) F# Y) x* ]2 n2 F
84 #endif/ a3 W+ G, T( v8 ?0 |/ H+ }6 x
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏& `4 B$ t- ]* Z: T2 R7 |- c  t7 r2 A
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03# r9 c8 v0 R% W) i: K- x
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

1 _# `/ a  [* ]# a( T你好,是arm这一端的app5 U6 \& O( s; m: _, }1 o. R7 E
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:034 y9 @% H* X- P- {
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

  y1 O6 K, n1 y- ~0 [. f" ~1 O你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
; D7 T4 p) z& D
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
6 y* m- {: j2 A. mdsp 端的 log 才使用了 uart1& G5 @) r6 i$ j0 d/ ?
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)8 q3 M3 M, T* q% e. H1 v
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59% n5 a4 e  d$ C
arm 端的 log 并没有用到 uart1
/ c% m6 ~. p0 A/ zdsp 端的 log 才使用了 uart1
, w5 ]8 s6 O# `5 S所以,你需要也只需要修改的是 dsp 子工程的  ...
! ^) R# U  w7 K5 l3 @
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,0 ]1 F1 D, q9 o4 Y) t) u9 n" j: M" {
然后将#define OUTPUT_TO_UART1 1 换成
* r+ @; X, T. B/ i7 U) a#define OUTPUT_TO_UART1 0
7 }5 n8 q8 d. G/ k3 P" K$ \2 u  是不是这样0 n) @$ m7 a' V! R
" G- J( n) x( B6 r/ [7 v

9 p3 c4 [. ~; {% j0 N
- a& Z% g8 _3 ~+ j
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
: }" Z) j7 E8 M" J7 W( G; s' P
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-30 08:58 , Processed in 0.043422 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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