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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢
3 {; `7 h/ d+ k1 I; t; i
8 o4 v$ S, U) r! g+ F. T0 @2 D: u& q! V+ f
谢谢$ y2 ^* D" M, B) c% f
0 {. p8 j) F( I- U, t
1 C  y8 K) V+ K2 l* e+ i
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_) ]3 `( l$ x: D$ Q' j6 I/ Y
  2 #define _LOG_H_: d0 N( \- ^4 U, A% c1 G3 @
  3
( x% S. ^% I! Y' [  4 /* 0: printf; 1: UART1 */& l# K; I8 v1 e! k/ k' O( D8 J
  5 #define OUTPUT_TO_UART1 1
5 @1 g- }* y3 l( n* f
  6 $ e2 T# s8 _1 g
  7 /* Switch Log Output */- L: C4 x1 `; k' m* w6 P6 [, C+ _
  8 #if OUTPUT_TO_UART1
7 N/ c# j3 k% \5 D1 F  9     /* For UART1 Initial */
: x) @! a& G5 o4 l$ W 10     #include <stdlib.h>
; y' n/ u9 ?  H% o* G( G; E 11     #include "hw_types.h"  
& d5 \! c; o7 \$ {4 \6 A 12     #include "hw_syscfg0_C6748.h"+ X) G6 r+ Y/ J
13     #include "soc_C6748.h"
' u9 v$ O5 z$ |% p' S  }& p 14     #include "psc.h"               0 M" ^( c' `1 i+ w& x( G# ]4 s% e
15     #include "gpio.h"               3 ^4 v7 M  T% j0 U7 L- F
16     #include "uart.h"
! m/ W5 g; f' e9 a( \' j 17     #include "uartStdio.h"+ T) g5 h& [% P$ c8 o
18 / f& r$ O& L0 l
19     #define OUTPUT UARTprintf
  o* ~1 P# N  O6 F6 B& u 20 #else
. f( W& Q/ B; y( I5 w 21     #include <stdio.h>
3 j, w" `) y- h5 _! P# G 22     #include <stdbool.h>6 O  K, A+ U0 f4 q1 {
23
! ^0 U1 G% f0 X! s2 M 24     #define OUTPUT printf& B/ |! |# N) W7 g3 Y
25 #endif
6 t) _" p5 f* A- @8 |- d9 A7 w 26   c4 N, h( ~7 \
27 /* Log init */
, a% U" Y9 ~# v7 @0 j! t+ j  D 28 #if OUTPUT_TO_UART1( o. f) N* c. U' y" R
29     #define LOG_INIT() do {                                     \% B' d+ \) z% T( w
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \$ o' q5 ]9 q$ \& Q
31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
* n2 }# m& L( c, _- l 32                          PSC_MDCTL_NEXT_ENABLE);                \
% J8 P( T$ [; _" g+ z8 k  U( { 33         GPIOBank6Pin12PinMuxSetup();                            \5 I- s" n  R# C$ S$ H' E- O* U& P0 R
34         GPIOBank6Pin13PinMuxSetup();                            \) R6 `) ^: {: l3 ]* k! {' q
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \- R2 P" J5 Q$ m+ m3 W- J7 v
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \7 p' }2 e8 l8 D) ~: c" {
37         UARTStdioInit();                                        \
) a0 o3 h9 P  W/ Z; O( X 38     } while (0)& h' [9 D) t3 u: ?
39 #else* L! q) c# r8 J: y1 w, R; ^" u
40     #define LOG_INIT() do { } while (0)2 ?/ g9 ~8 ]; Y" _4 w
41 #endif
6 y, T! L% y* Q 42 $ \. f4 X( F- `) w/ A! J
43 /* Log Output */
. ^$ x4 \8 W: p/ y3 }& l1 m' I 44 #define LOG_INFO(format, ...)      \4 [- ~9 F2 D# e% \+ w% M
45     do {                           \
3 M' M* l; O3 U 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \0 \+ M5 C5 f+ _( {
47     } while (0)
9 i' ]  }) b# I 48
7 G$ |# j% ^( X# _! h 49 #define LOG_ERROR(format, ...)     \
9 B% E6 R- b& K# {* m/ P 50     do {                           \
! d9 [5 d' l- {5 Z' C; F 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \& J3 }' }8 q1 @- n7 J5 E
52     } while (0)0 r) h! n- ^% ^0 m( R' e& X
53 / _/ s9 s. c1 f4 M5 S; c1 F4 }3 }
54 #define LOG_DEBUG(format, ...)     \
* I) E6 j( \* ? 55     do {                           \. J/ w, d2 y7 X
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
7 e  Y4 q* M+ e/ W  v% \7 {: L3 Z* Q 57     } while (0)5 R$ J5 g2 ?" T: `7 W
58
0 c$ s+ l7 c  e8 ^" c+ v 59 #define LOG_WARN(format, ...)      \3 g( x( s5 r! I
60     do {                           \- \. ]: s1 a1 t
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
' L9 @* C8 `4 M' U/ ]$ y% ~: q% p 62     } while (0)
" t( O) }3 h2 z, X" r 63 9 C6 B9 U+ A; e4 f5 L* i/ {
64 #define LOG_TRACE(format, ...)     \% f8 c0 D! i+ [3 T' i. @# V6 n5 h
65     do {                           \5 l" A( i, \' e9 |! V4 Z6 Z
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
+ n- G' c0 p7 _7 _" C3 V! j# i 67     } while (0)
* ]% m+ e% m; b1 @& l 68
6 B- o8 k, R2 H 69 #define LOG_FATAL(format, ...)     \! c8 ?" T/ e9 N' x% v- T
70     do {                           \) v, a8 `4 {) i! J# T. @  J
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
9 S5 g2 `' S# y3 s# i2 C9 S 72         exit(1);                   \( k5 Y7 q8 M1 w: v3 T0 b' K
73     } while (0)
4 B) W& p2 K' d6 r( p/ i! `0 a 74 ' W, e1 F' k) q7 I0 v
75 /* Assert */
. y9 Z8 L' A" v  h6 R 76 #define ASSERT(EXP)                \
) Q5 A0 V3 x* ^( r 77     do{                            \
) v3 L- Q8 \7 A  ?* F/ x 78         if (!(EXP)) {              \2 d, }& c3 N% s7 Z! N' m* ]1 o+ c
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
8 j  F% m* |$ [2 w& [6 q. g; | 80             exit(1);               \' J( a9 l# u& w0 w! P. c7 p
81         }                          \/ G$ ^- S5 D3 b4 i, p6 t
82     } while(0)
. P. Q( q3 \1 S: P# g9 o; N 83 * A' z  |5 U& p
84 #endif* C$ t' X" D5 m" V
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
- L; J6 w( J5 S+ c+ Q/ Y6 |
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
4 r. O1 @8 Z, D8 P& _6 i修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
4 I2 u/ @0 j8 h# j7 D  x
你好,是arm这一端的app
( p4 n$ D* I2 h+ r
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03- `& ]' q, b% b( s+ J; |
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

7 G8 L. D5 k1 v% Q) E3 V你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路
8 P7 w: {0 u  L3 ^/ X
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1
9 F, N; G) e/ k. t7 y' d0 {dsp 端的 log 才使用了 uart1
9 @$ t* e* X+ \5 j& |" M# W所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)
4 C+ K/ E3 L: q# y+ B
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
3 V% H+ q2 ?6 o- V+ @! n% @arm 端的 log 并没有用到 uart11 u# ~# L9 R' a* }
dsp 端的 log 才使用了 uart1
0 v$ K7 d6 l* S& u# Y所以,你需要也只需要修改的是 dsp 子工程的  ...
) r2 _0 S* F" v. }( L" c/ E
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
, B2 g- S/ z5 \% D5 c& f然后将#define OUTPUT_TO_UART1 1 换成& ]: D) k- G( T: Q" X
#define OUTPUT_TO_UART1 0
2 j; }. D. z: D% M0 m8 U  是不是这样
$ x! _9 ^. o0 N3 V. B
2 O. t: h6 m. r: e
9 u' T) D$ y" z) p; c0 R0 Z& }# A& K
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

; M  ]" H& X$ y* k1 j6 l& m
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-2-13 16:40 , Processed in 0.042944 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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