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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

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

0 `' C+ Y; l4 l3 A% {$ H) S1 q8 m# Z# X
谢谢
8 J. Y! w: ]% b' s6 Y" T& N3 g3 d8 g
! G  M; N) S) W$ c" L" D* a1 l" Q, C
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_( q8 ]: @2 D* `, G6 E6 h& Q! |% L
  2 #define _LOG_H_5 M& s" U3 y' f* H4 E7 _. f
  3
! v8 T. R2 |8 S; V2 i- t  4 /* 0: printf; 1: UART1 */, b+ R* G1 |7 m! q- L7 \0 W
  5 #define OUTPUT_TO_UART1 18 F1 \) j4 M+ r" F9 O
  6 6 _! }* e- d# ^
  7 /* Switch Log Output */; D& w' a# |, S% @1 ^" b' c
  8 #if OUTPUT_TO_UART17 K. w" @' B0 C* W/ M
  9     /* For UART1 Initial */) Q3 i9 F; Z3 K
10     #include <stdlib.h>! K  N4 ]% m' u. S
11     #include "hw_types.h"  ( v3 s, L/ p/ i4 u) G$ B# c
12     #include "hw_syscfg0_C6748.h"
) X. ]( |' \& p% ?0 t 13     #include "soc_C6748.h"
! U( R% \! j- t+ C! ` 14     #include "psc.h"               ) \. J! j; O) Q1 v: k' M
15     #include "gpio.h"               - v; h1 U5 |: d/ a' W& I- f
16     #include "uart.h"8 U. T5 E( R- G# P# J
17     #include "uartStdio.h"% E7 @! @% X: v# {! B% Y& o
18
! E0 d4 O2 v* B6 B+ [ 19     #define OUTPUT UARTprintf
) W- {  ~' }4 L6 k8 I; R6 q 20 #else
' h0 u& D4 s% W/ i' t 21     #include <stdio.h>) c% G: G" a) {4 `! C3 {
22     #include <stdbool.h>
4 h2 s2 e' R, x& o: Q# { 23 5 v" N: h) y% ]- k
24     #define OUTPUT printf
5 ?& c7 J" E2 D5 O: w 25 #endif
1 N" o: H( a4 ~) o 26
1 ]9 ^5 h5 u. [0 ~2 k' g; h2 }$ | 27 /* Log init */
6 T. L# i# N4 _& `( P; \6 F 28 #if OUTPUT_TO_UART1
/ S) @! Q" I% k1 _' Q 29     #define LOG_INIT() do {                                     \
8 i% Q: m7 }5 T  ?+ m) U 30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
$ a; R* o" ?/ N  [, y/ z 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \' `/ w  a$ c) Z5 f$ q8 I
32                          PSC_MDCTL_NEXT_ENABLE);                \
8 Y  V7 L7 r, @- Z& q# v% @8 v 33         GPIOBank6Pin12PinMuxSetup();                            \
& P" r& q& s1 ^2 [* k; V- @' L) a 34         GPIOBank6Pin13PinMuxSetup();                            \2 r" `1 H- q% B8 a4 \3 D
35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
" q( ^! F) A3 z" D( q( u6 ?7 B: z 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \* ^% T  I& G# q# I" A3 c" r
37         UARTStdioInit();                                        \
! b( T" l/ z/ e/ R3 p4 \ 38     } while (0)$ ?, s9 j7 I* J7 q* l6 X
39 #else! {, A/ ~. a" d& U/ q& C3 o$ c
40     #define LOG_INIT() do { } while (0)
. x& K& O9 n0 ]7 u" b 41 #endif
9 R$ R% y* N: z 42 * ?$ R$ D" _% Y, h0 x/ i/ C
43 /* Log Output */
" b* @: t( L% f; ^" [( k* Q 44 #define LOG_INFO(format, ...)      \
3 L4 N) G' h9 i* P5 e3 g8 K2 r& i 45     do {                           \
1 w; C$ }  z5 k( P% N. m# u3 ]# i3 [3 w 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
$ w8 z6 }" y1 W1 l# L5 J1 z 47     } while (0), a- `. V: H; V3 I: |! ]4 q9 v
48 * u9 Q: T' F3 i% R5 x
49 #define LOG_ERROR(format, ...)     \
' D' y0 ~& i! l, h" J% l% Q! J; A 50     do {                           \9 a+ V( u3 W. O1 m/ X
51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \" m2 D. m7 I2 ]; K- }* }
52     } while (0)
3 o5 O+ k3 T$ _" [- t* d# { 53 1 \. s" c6 {- U* F. U9 e& W
54 #define LOG_DEBUG(format, ...)     \
( G6 }2 s9 W/ y 55     do {                           \% k4 o3 A0 q) r4 |
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
: R* y5 l+ C+ e0 t0 {6 l 57     } while (0), D. F7 h2 a9 ^* O" a$ e; R. w
58
& y0 c6 Q/ c5 N0 g/ U 59 #define LOG_WARN(format, ...)      \
# c; R% k/ G6 A* M5 I! }. ^ 60     do {                           \! W8 [8 ^3 x, @8 j- A3 r" E
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
& H* f: s. i, [* a/ `4 [% A 62     } while (0)
0 b# z# [2 ~; [. N: F0 u9 j  F 63 ! o3 T7 k1 E1 p' m5 E
64 #define LOG_TRACE(format, ...)     \
; O! c& K! ~9 ^ 65     do {                           \
' o, ?# f! z1 V 66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \. W: q: H" W$ Y+ U. Z. I
67     } while (0)
" `4 a4 {2 O* v! R5 h0 X2 C 68
( j7 r+ |, \$ k" |$ [1 }# j/ X 69 #define LOG_FATAL(format, ...)     \
: w9 m+ f% u1 W# r% C1 t1 O 70     do {                           \
' T9 q1 k/ A6 P5 D. e7 N5 j6 a 71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \2 L; z9 m, z0 d5 f5 E1 ]3 S" l
72         exit(1);                   \2 ?- n. P; C2 [* y- a0 {/ K, ]
73     } while (0)% d) @- o- l- r8 h/ N3 J' |
74
# K1 O, P& G( @ 75 /* Assert */
) V$ J1 ]" V! S" i' A 76 #define ASSERT(EXP)                \2 b  k" n' ?8 y* p
77     do{                            \
6 H7 Y( s0 H( [& f/ [$ }6 g+ u  S 78         if (!(EXP)) {              \9 I( t6 j. c4 L  `; h' a
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
1 e6 K- [9 e3 ~) a7 Q4 A, Z 80             exit(1);               \5 t: J& t4 f: G$ T2 G0 O
81         }                          \$ |: n7 y; e( |* v# M! E5 g
82     } while(0)
8 ~' g1 ]' v- N) |9 p2 a6 j 83
; }. _, s+ y; d6 |5 M 84 #endif
% Y0 F7 K# f5 M* M8 H+ w+ T3 B
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
& |1 |% k# [  n, L& E, T
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
! @6 T" J. j" ~修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

7 j4 J" H0 l  u8 S6 E- }' P2 o你好,是arm这一端的app
6 j' N1 J8 _6 D3 [( K7 z9 D
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
; c5 J" m% h, f: u' J! A0 H( F# I修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
6 q8 H+ W; B& N" \' k& d6 X
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路6 u9 M2 P* ]' U% |5 O  ~
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart15 ^7 `0 Z. x/ x
dsp 端的 log 才使用了 uart1
4 B3 C$ t- I. h& G; b5 u+ z( [9 @所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)+ E% J# u( v9 J  {$ W
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
# N1 a; F2 H1 j0 }# O' O& L1 Varm 端的 log 并没有用到 uart1) N  q8 t: `0 {/ _* p
dsp 端的 log 才使用了 uart1" r" Z9 {6 Z1 E& N- e. W7 @/ s
所以,你需要也只需要修改的是 dsp 子工程的  ...

( }. S7 @8 g" A3 d2 r那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,. K! r9 m) K* X7 E
然后将#define OUTPUT_TO_UART1 1 换成$ u3 j9 f" i+ L1 F1 [( E& @
#define OUTPUT_TO_UART1 0: _, _3 L& K. R# F+ r
  是不是这样/ W) L7 t- z: ~$ F! q& y

- y) o8 U) \8 K4 D! G6 J* V. _, r$ J1 n) n* B
" G+ }5 [# W9 n- ]/ Y0 Q
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
; d' g  P- s0 ?8 K$ r
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-20 11:52 , Processed in 0.041058 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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