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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢6 b4 K: [2 h! A6 H; w
7 V% p, B- t! o$ x. E

2 M5 a" Y7 K% T8 B  S谢谢. r8 [8 g; [; D

& r$ {& Q$ y4 q/ ]5 Q4 t- t9 {' Y7 K/ q$ z- d
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_
8 }' C+ E* R- w% \5 _) J- ]  2 #define _LOG_H_7 b" ~1 Y$ h; {4 O& p2 t
  3 ! L0 _. ~  o9 I
  4 /* 0: printf; 1: UART1 */3 t/ g6 h2 K% h3 Y1 C) ~6 {
  5 #define OUTPUT_TO_UART1 18 Q" E  O/ {/ }- Y2 N
  6
  N/ X0 m3 ?9 {; f  7 /* Switch Log Output */
5 b! `: \) h% q  8 #if OUTPUT_TO_UART1
( J& I- j3 S# i/ S  q& F$ \" _; y  9     /* For UART1 Initial */8 a/ o: s( p* B0 A* u
10     #include <stdlib.h>6 J& \, F( Y9 y" j/ `. W4 w/ g
11     #include "hw_types.h"  : U+ I% \9 v0 o+ V! v
12     #include "hw_syscfg0_C6748.h"! G3 O5 n" U. a2 h" ^1 v- b
13     #include "soc_C6748.h": @( _5 O2 i! |$ c4 `( Q
14     #include "psc.h"               2 G0 T0 b8 N" W. G3 G+ G
15     #include "gpio.h"               ( D. q- z/ E! ?. O9 o, o
16     #include "uart.h"
5 w/ ]% b6 x: O3 b& [ 17     #include "uartStdio.h"
" m6 l0 G5 u9 o) g: W* _ 18
7 \. k) C$ Y5 F 19     #define OUTPUT UARTprintf
) @. K) u1 l/ u/ P" P2 i* K8 y 20 #else
& ?% ]2 l  s% V1 x6 i. `+ z 21     #include <stdio.h>
9 R$ `+ K: g5 d; g+ ^4 _ 22     #include <stdbool.h>
8 W, u% L! {8 u 23 5 k8 k2 s) |6 [* t0 a
24     #define OUTPUT printf5 n7 {; v: h/ I  H0 I& L
25 #endif+ k! W$ c' a% j
26
9 R% I) X4 b+ i2 _: `2 x 27 /* Log init */" }! q! _) i7 E6 _/ R
28 #if OUTPUT_TO_UART1  B5 S1 D! @" }2 @
29     #define LOG_INIT() do {                                     \" ~! U. _: @# X* h: w
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
- E1 F. v* i* {* U, D 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
( Y' t2 D1 F. G! o 32                          PSC_MDCTL_NEXT_ENABLE);                \1 C- Q- g4 z' s2 k% L$ v
33         GPIOBank6Pin12PinMuxSetup();                            \5 f. {2 ?2 h% c. y
34         GPIOBank6Pin13PinMuxSetup();                            \
5 U$ J2 ], O& i* L& _& |4 H. m) E 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
, d) Z9 E& \$ r+ U- A+ R& |& L 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \0 V+ [9 h/ A) J$ o( n( L: Q4 _
37         UARTStdioInit();                                        \7 k) Z/ J/ k0 M% I) U. x
38     } while (0)
3 ~- t" `6 ?8 o' t' O; X 39 #else; V3 e# l  Y0 k* g0 o4 B
40     #define LOG_INIT() do { } while (0)3 _, v! `5 m7 K) s4 e4 U8 r
41 #endif7 `7 T2 b  g  U- n7 x: `
42
, q2 ~# i+ ^; ~) j3 { 43 /* Log Output */" y5 q" s( H9 N; d7 ?7 G5 J2 o
44 #define LOG_INFO(format, ...)      \4 {9 G( ]* I4 t; u4 W% u: e6 ]8 s
45     do {                           \# _/ ^/ Z  U- R
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \) y( P1 C  }; Y- Q
47     } while (0)
! N. J& l0 T8 n# h, M7 K 48
4 v: _% f$ m/ q3 h$ M  p0 }: b 49 #define LOG_ERROR(format, ...)     \
: X+ f) [" I4 U 50     do {                           \
; q- s1 s& P' O$ R8 H3 T 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \# z7 [' a+ Y- C* d- m8 U, x
52     } while (0)
1 ?% K* U$ J, V- m  R( B- M+ \ 53 / u5 N& J5 P. I! |, F# T: I
54 #define LOG_DEBUG(format, ...)     \( P5 B7 @$ ?7 S) ^" Y* j
55     do {                           \" P/ m: g& l9 P
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
. P% @6 I) d9 b4 p( K' r 57     } while (0)1 V' n' p( ~' f6 h0 c& q
58
( Z( Y  _7 D5 c. ~0 N 59 #define LOG_WARN(format, ...)      \
) |1 [6 S; n7 H( B0 |* i  s9 [ 60     do {                           \
2 D4 d  d0 u" m6 n 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \* f3 {3 w# y& c2 h: O5 {2 B: L+ H
62     } while (0)! m% ]7 C; C! B$ y/ w" ^
63
7 ?+ M1 V6 \) l7 ?# P# H2 } 64 #define LOG_TRACE(format, ...)     \
) h! N9 Y3 m# O! a 65     do {                           \9 }2 b% b' a4 Q2 `. j
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \! g' _  e# `& u6 g* X' z, ?
67     } while (0)
2 N! |! M1 N( `" c# b9 V' M 68
1 ~5 z2 X  s6 \) B3 |7 E7 H 69 #define LOG_FATAL(format, ...)     \9 B% Y* Z4 [% }) K
70     do {                           \. D/ q0 d6 I% y0 ], R: O
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \( t' g* q: j6 U  T
72         exit(1);                   \. b" _" J- s6 Y# d6 |6 y# r
73     } while (0)) I2 e$ _  ]  j+ Q1 i
74
9 d# ]; p( x0 p: J5 F 75 /* Assert */6 q: v% T2 z6 g: P: ~. o3 {
76 #define ASSERT(EXP)                \
1 X& c% D0 N) q; G; A, L0 B 77     do{                            \) N& f" m, ^& y$ E( b0 {6 @. P+ K/ _# f
78         if (!(EXP)) {              \
) [1 m  ^8 I0 \2 S2 \) q+ Y 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
3 [( \; t9 i0 v8 x 80             exit(1);               \# o& N2 {2 K% m. w  m
81         }                          \
. k  k+ H* t( g* P- y 82     } while(0)
; S2 J5 P/ C. k7 R& k 83 8 `; K: E% R$ O  I/ B. c
84 #endif0 j: X/ q" s( e* s
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏5 X) ?4 X* }- |8 J( @& K1 x
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
% l6 n2 n* [. e  O修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

3 w9 d7 U- L' m你好,是arm这一端的app
! M# D& ?" o: e2 E2 ?+ e5 J
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
0 E3 Q2 D* Y! f- Q7 ^' C4 f修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

2 J* s% w* R, k/ O5 {0 s' y你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
9 U. h+ |% Y& K. ^5 o
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart16 @3 W- P. p' g  K5 o1 {- s  ^8 e
dsp 端的 log 才使用了 uart19 a+ S9 O6 y0 N9 P7 ?
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)( \3 }0 n+ n0 t- W1 l) H& g
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:598 b9 D  {8 p  |2 Q
arm 端的 log 并没有用到 uart1+ v* o9 d  B! ~' {
dsp 端的 log 才使用了 uart1
" Z) \$ u1 q6 _& ?9 {' ]- D7 n& N所以,你需要也只需要修改的是 dsp 子工程的  ...
. O& p( v9 h$ ]1 f* s2 W9 F4 J
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
* _. n( }6 H$ B: g( W6 {9 @$ ]然后将#define OUTPUT_TO_UART1 1 换成8 ?, |: R  i+ V! E# {$ ]( X+ H
#define OUTPUT_TO_UART1 0
. ^- {  V) g& M: I; Z! f( q( |; @  是不是这样
$ K4 r  |- f% K( p: T7 j" a9 Y& j2 [/ d8 s: `
* n% s( z" E# y4 q' O  N

) D9 M5 v: r3 u* G0 Z" r+ B4 P
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

% G1 ]0 J3 F. z# k+ q) x4 ?! v
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-3-17 06:23 , Processed in 0.045785 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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