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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2014-12-4 11:08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好我现在用的你们的omapl138开发板,跑的双核通信的程序,我现在需要通过串口一向外部发信息,但是串口一被DSP占用了,我怎样才能解除DSP占用呢2 z2 q. i/ V$ _, y& `) z
% x" J* H9 h$ T! J* A$ f+ \

% Q! B: c! a! H' C谢谢
* Z2 M6 R; \. g' X" W
/ I& w% [! s1 M1 S8 A7 L9 \0 V$ Q$ `7 R$ P  i; S
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_  s# W+ q' V  y
  2 #define _LOG_H_
: e7 D7 g) }$ O& d  3
" N$ W# _9 ]7 h' O2 ^7 z0 ~  4 /* 0: printf; 1: UART1 */
  I8 x" B1 U5 N" }# H  5 #define OUTPUT_TO_UART1 1
/ h2 c8 Y; @$ u) |' i+ b3 `; U' w
  6   Z6 l; S/ l" J. v
  7 /* Switch Log Output */
  `) J9 U$ M+ E# I/ P2 `  8 #if OUTPUT_TO_UART1
+ a" z( {( b5 a* `' M& _" _  9     /* For UART1 Initial */
, U: u  y, q! y/ G& w/ ? 10     #include <stdlib.h>! |6 C& a3 ^- G: `
11     #include "hw_types.h"  
& D5 E2 Y: W/ \- G7 H 12     #include "hw_syscfg0_C6748.h"
( ^1 c* q7 M# S5 \8 Q8 k& i0 U) u 13     #include "soc_C6748.h"
* K) O/ q/ L4 ?' v4 X 14     #include "psc.h"               
! U0 s) k+ E' A& C2 k. f1 \ 15     #include "gpio.h"               7 m2 m( m' S1 p3 x
16     #include "uart.h"" X& D1 W) ?9 [
17     #include "uartStdio.h"
4 C# V6 y. c; O2 w 18
& B# f/ f7 Q6 i3 s 19     #define OUTPUT UARTprintf
. O( Q% b, o6 g1 g6 e* `4 I 20 #else% S2 ], S/ `# O' B. N+ Y4 [
21     #include <stdio.h>4 S, E7 q) d$ G; p+ r( v
22     #include <stdbool.h>
+ w( l/ h- {6 e4 g, e7 l# I9 N1 \ 23 6 h6 S7 u- n. r6 x. U! ?( b
24     #define OUTPUT printf
7 C! P8 u" G# B0 ]$ w9 ^/ P 25 #endif
4 k' M% I/ r/ r7 ]+ l5 b 26
3 B6 ^# k6 j0 }. E, Y! i 27 /* Log init */5 F/ a, V  W. \( M3 x
28 #if OUTPUT_TO_UART1: Z' L6 a* x0 }* B' \% s7 a9 t5 c
29     #define LOG_INIT() do {                                     \* r5 D2 w, n" _4 G# D! k. M
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
7 Z/ ?- Y' i3 R! A' P/ n  z 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
; @! H: L5 X# X0 |) Q3 O. M; @ 32                          PSC_MDCTL_NEXT_ENABLE);                \8 i0 V5 f- J! j) s4 F. A
33         GPIOBank6Pin12PinMuxSetup();                            \
, W5 B5 I. h2 [0 U; C2 n 34         GPIOBank6Pin13PinMuxSetup();                            \
' @1 @/ ~' {  S) _9 \% [ 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \
# ]" P0 v% I+ U$ |7 Q 36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \
% g9 e- f* I+ q0 Y 37         UARTStdioInit();                                        \. X5 L: }0 q0 i1 k) {, l6 f) E
38     } while (0)& d6 S$ E! v7 E! i# g9 [
39 #else
8 m* @' }9 M8 S; J 40     #define LOG_INIT() do { } while (0)  \1 W+ ~: q9 L7 j0 l2 G
41 #endif
) g, b' H" \2 K) C6 f: Y 42
+ I. d7 x. D( N" N! B3 g! `1 [- P 43 /* Log Output */: }$ P. J6 Q6 O2 ?0 D' Q9 v1 A! I
44 #define LOG_INFO(format, ...)      \
! u! R0 J% T, U 45     do {                           \+ q! p' C4 n" k: |  a( ]. j! y
46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \+ Y" e+ _; y$ x! n
47     } while (0)
% M, `1 u; G# `' Y, n* o; |' v4 J 48 6 y9 v/ b* ]4 J
49 #define LOG_ERROR(format, ...)     \
' s  Q/ D, H/ i' H& w* h# p- {9 J 50     do {                           \
+ }; B' y$ S5 {( J0 |  S$ R 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
* T0 b% }7 U  Q7 Z; E. H2 c 52     } while (0)4 G/ A" Q# M& J8 {5 y
53
7 ?( T) T; V- z6 n' I5 `) ~" L+ ?, u 54 #define LOG_DEBUG(format, ...)     \
$ x  j3 q# s5 d8 g 55     do {                           \2 Y) l8 n2 a3 d# X
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \9 @. ?6 N) k7 E
57     } while (0)5 n7 q/ x- I$ S7 _( U+ n& S
58
' J8 m8 x$ w1 l/ n' e% J5 n 59 #define LOG_WARN(format, ...)      \
8 M; F+ c' V) U3 V7 @) l5 l0 T 60     do {                           \  g+ Y+ J' o) Z
61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \' e# x% c' Y( j8 I
62     } while (0)
+ K( h" D9 S2 E( o* q 63
* x5 a+ w" n6 e4 V: M  b. b5 R0 E 64 #define LOG_TRACE(format, ...)     \3 X7 X/ }/ C5 Z7 n+ H
65     do {                           \" o7 `. R) V2 g  S( ]7 w$ u9 A0 i
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \- z1 I! C% E3 X1 q
67     } while (0)
% W% W8 W  z, M  J! V- H0 x1 ?, v, D 68
* S& E' y; e" d% C! m 69 #define LOG_FATAL(format, ...)     \+ r' O1 j) L- n: F
70     do {                           \; i: i% L8 y& d. z( l9 S  Q
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \- z: W/ I: \) z9 q2 z. X
72         exit(1);                   \
, {( ^/ D0 d  {6 w 73     } while (0): S) I% }' c+ S! C0 \
74 . l8 \' c2 a1 o* P) Z6 \7 H" `
75 /* Assert */% n* T: I9 ?/ W* [
76 #define ASSERT(EXP)                \3 ^4 ^) b; H- o, _4 x
77     do{                            \
) g9 ?2 j0 k8 g/ J% O 78         if (!(EXP)) {              \, r6 X) p, L- i2 W. M' Y- N0 \
79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \
/ Z8 s9 D5 _6 g$ @2 r# N) [ 80             exit(1);               \
9 [* {$ C) t( c* r 81         }                          \
# P2 G+ j- Y# X  G  _! T 82     } while(0)
9 v, I" {6 `9 @. a- V5 L- S 83
4 \9 P  N6 Y. V( J: p1 V 84 #endif
& {7 Y+ d# Z: D  g3 ^6 F" J3 e# e
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏  f2 q, a0 i5 P
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:03
' {* u. z7 A5 _5 o, `* S" V修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

( V6 U6 I( a# K) C+ I你好,是arm这一端的app0 s' [" ?9 y& {8 ~7 l* Q  k
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03! D2 d4 A( |% ]* |
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

$ b% R8 l$ _/ ^3 d( S' H你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路( s& X+ y4 H% m( R
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1, \. t$ X/ h7 \. N0 Z8 }
dsp 端的 log 才使用了 uart10 D6 A* m; ~, i* O1 b, ^2 N# E- v4 V
所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)) Z9 K9 E: ~( H, a9 c
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59( x' R0 k9 E. w% I. Y& a
arm 端的 log 并没有用到 uart1( e  e: l6 m* ^2 x2 u8 O7 J4 t- e% t
dsp 端的 log 才使用了 uart1. H- ?8 I, r5 {/ W5 {1 m
所以,你需要也只需要修改的是 dsp 子工程的  ...
7 }! E4 W, \! d' }" @
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,
5 U8 F4 `; N) m+ N/ F2 C6 t然后将#define OUTPUT_TO_UART1 1 换成
& U) z: c9 B# P$ h) D! `7 `: ?. I#define OUTPUT_TO_UART1 0
8 X! P$ a$ }) d% o& F; C) R  是不是这样
6 D2 T5 O* O$ j  G- \! c$ }2 Q' l4 |$ F& P* b& R

6 F9 M- a" j7 [4 @3 t. c
2 x- k, B+ |. T; }3 A  m& l; ~
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

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

: s! W9 Y, ]% k7 w
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-2-15 17:58 , Processed in 0.041595 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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