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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

8

主题

30

帖子

150

积分

注册会员

Rank: 2

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

+ ^3 f' c6 P9 t! I' B% h$ z5 r, @% E+ r2 Y$ [+ ?) @/ m
谢谢4 ]5 G1 |' |6 f! F. y; @- s9 B

1 l! I+ E' N7 d- c1 G5 _1 Y3 d/ c# D! {) J4 {: P# J8 t
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
沙发
发表于 2014-12-4 14:01:26 | 只看该作者
  1 #ifndef _LOG_H_" H  C$ U1 K3 u! R0 U2 h4 g( a" S! K
  2 #define _LOG_H_& X- \# ]$ }% i, b# _% ^# z
  3 & R* B$ L& H% k- K5 d, J, G3 j, }- x
  4 /* 0: printf; 1: UART1 */& c2 ]  z- O; _5 _
  5 #define OUTPUT_TO_UART1 1) e) H4 q+ k+ P5 N6 V8 ~
  6
5 s, G7 @2 _( E* v2 l+ \, N  7 /* Switch Log Output */
! j+ c3 b; C4 n4 p) C* N8 F. K  8 #if OUTPUT_TO_UART1
2 |! Y2 A% N7 a+ @4 _, {  9     /* For UART1 Initial */
8 f" v9 r2 |; P$ T+ e% G 10     #include <stdlib.h>4 r2 }3 C7 t9 N/ M; w5 h0 f
11     #include "hw_types.h"  3 x  ~6 B* n% ^& H* t
12     #include "hw_syscfg0_C6748.h"5 p6 V7 o3 r  y! T8 t( r' M
13     #include "soc_C6748.h"
# i* m  O1 H% o4 N" W/ ` 14     #include "psc.h"               0 N3 K' u( J6 [7 Z6 c# z0 q
15     #include "gpio.h"               
$ k  j: x5 U' K) `% g9 X 16     #include "uart.h"& d& x& k+ m( o; u
17     #include "uartStdio.h", @, B- Y$ g* U' O, Z9 c2 S) s
18
: a; V; K" j& u4 Q 19     #define OUTPUT UARTprintf
: |# P8 j4 h" Q0 |+ A 20 #else
2 I8 ^8 J$ b- l7 j 21     #include <stdio.h>
9 J% \0 N, Q) ~( h7 t 22     #include <stdbool.h>
3 [/ P. P2 T$ u3 Q8 ]( p 23 2 r/ H1 F4 A9 u# g& d
24     #define OUTPUT printf. J' h0 O- j. V/ h8 O
25 #endif: |5 W6 N& C  c$ [" y
26
* B  t/ b" S  C5 Q) S9 n 27 /* Log init */
" |* O- G' M3 w; w 28 #if OUTPUT_TO_UART1& p5 h% H3 l- @/ w7 h
29     #define LOG_INIT() do {                                     \1 ^9 X3 q; s1 ~$ b) C
30         PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO,           \
* R# j9 ]( j( Z+ V6 U9 N" w 31                          PSC_POWERDOMAIN_ALWAYS_ON,             \
( A' p" U& c9 k4 |; t, i 32                          PSC_MDCTL_NEXT_ENABLE);                \7 U. t& |* V9 ]8 m2 M
33         GPIOBank6Pin12PinMuxSetup();                            \' [% X% c- s! m& [3 H
34         GPIOBank6Pin13PinMuxSetup();                            \
2 D2 ^! D9 ?# L# L 35         GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  \% S% L/ ]& d% Q* ]( ^: E
36         GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  \) S' b; [  Q/ Z& S
37         UARTStdioInit();                                        \3 u+ ]9 n* A/ I1 M) F
38     } while (0)7 r$ R0 Y$ H+ {' x! {
39 #else5 T, U6 [' c! L+ E( y& f/ Y
40     #define LOG_INIT() do { } while (0)
/ x6 q6 B: w& [& Z6 i: c5 n* V" G: ] 41 #endif
6 v. R# e! t3 Q% C7 n( A$ L! q3 U 42
! D% [& C5 @, I  l6 n% [ 43 /* Log Output */  d8 {5 P% X, G
44 #define LOG_INFO(format, ...)      \
1 y8 r. H5 h! Y+ G9 a 45     do {                           \
  d# f4 @7 Y( }( C6 K  {6 w 46         OUTPUT("[%s|%s@%s,%d] " format "\n", "INFO ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \! `$ K& l3 g9 L# x) ?( P, N
47     } while (0)
( R) @! o" c6 x) t: y 48 3 h6 E) w7 c  p  a# v
49 #define LOG_ERROR(format, ...)     \. p) H/ i2 C$ G& F8 J! w- i
50     do {                           \
! P8 V2 h/ e. ~. {4 \% ~ 51         OUTPUT("[%s|%s@%s,%d] " format "\n", "ERROR", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \4 u4 ~' F; L) r9 Z
52     } while (0)
+ i. g" c7 `5 d0 @7 a 53
. P& b9 ?! C5 \( i 54 #define LOG_DEBUG(format, ...)     \
; }, v) M) F- `9 _% x' a) w 55     do {                           \5 F( D, y6 N: r8 I( I  Y5 n+ t
56         OUTPUT("[%s|%s@%s,%d] " format "\n", "DEBUG", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
% Z' |  ]* a# g$ s. @7 N& a 57     } while (0)
( D9 ?# C) p9 u: {# E$ f 58 ) H- D* D3 m! g' z5 _1 g6 L0 D
59 #define LOG_WARN(format, ...)      \1 }) g$ s$ S$ J7 F, C) v6 v* G7 w
60     do {                           \
& \: _4 o0 {9 L: |4 x5 {# U/ F0 M3 l 61         OUTPUT("[%s|%s@%s,%d] " format "\n", "WRAN ", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \& c  ^  R5 L" q1 Y" y
62     } while (0)
  J/ o( P4 l$ v8 E7 R 63 ( D1 m8 a( K* D  c
64 #define LOG_TRACE(format, ...)     \  k0 n% t' B+ y* d' S
65     do {                           \' P; r" I# w0 h$ E: d- d4 A
66         OUTPUT("[%s|%s@%s,%d] " format "\n", "TRACE", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
4 @& M$ C: G. `+ ^. F% E1 {# T 67     } while (0)
' K% F/ E5 e6 `1 E 68   k5 z0 I7 N5 g$ ^3 r- e) V
69 #define LOG_FATAL(format, ...)     \$ h1 m4 }' b/ l, R& N( W
70     do {                           \# c( u  K- ]% G% P
71         OUTPUT("[%s|%s@%s,%d] " format "\n", "FATAL", __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
1 o3 f% U: S2 G* P7 C4 ^: E 72         exit(1);                   \4 R  b2 d+ v( X' K
73     } while (0)$ X2 T9 K0 T+ X( P1 d8 B7 q
74 & L. `7 j* y4 \9 a. y8 _" G
75 /* Assert */( u, Q' l; n# g& M
76 #define ASSERT(EXP)                \0 a' C. e5 z8 Q! T, p* l- N) b$ [
77     do{                            \
7 q6 \! u/ a9 W* s  a& G3 N 78         if (!(EXP)) {              \
. m1 V; l6 u4 I* ?+ O" x0 t0 } 79             OUTPUT("[%s@%s,%d] ASSERT: " #EXP "\n", __func__, __FILE__, __LINE__ );                  \( N: D( P7 d3 b+ B: K4 w
80             exit(1);               \
) ]1 d3 c6 Y8 W/ u  p) ]# ^$ r8 W 81         }                          \* K7 u8 s, N2 b6 l8 _! ~9 `
82     } while(0)
8 Y, K% ~8 j( P7 b  ]& | 83 6 _3 U% n) H( ^; P& r# U$ E
84 #endif' ?6 D# n+ ^$ C! |8 _+ L% A
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
板凳
发表于 2014-12-4 14:03:10 | 只看该作者
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏) B% w9 F. V5 u$ j) I9 q
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
地板
 楼主| 发表于 2014-12-4 15:21:54 | 只看该作者
tenny 发表于 2014-12-4 14:034 D6 \; {  Z9 f+ Z# ^
修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏

+ s- h4 a! r2 e1 ?% }  E, ?你好,是arm这一端的app4 q* e( m5 C% Y4 Z" }" R* N
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
5#
 楼主| 发表于 2014-12-4 15:40:21 | 只看该作者
tenny 发表于 2014-12-4 14:03
% x! _3 t# o* T( e' Q0 d修改 app/log.h 文件里的 OUTPUT_TO_UART1 宏
/ R; R5 L) I0 D" r! R# Q* W
你好,你是不是将host/app下的log.h和dsp/driver下的log.h和到一块啦,怎么说下你的思路% U# f# C  F: u+ A' q  D
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
6#
发表于 2014-12-4 15:59:03 | 只看该作者
arm 端的 log 并没有用到 uart1' ]4 W# U' J7 N; m3 S
dsp 端的 log 才使用了 uart1
- _; a. P8 F# A4 @/ x所以,你需要也只需要修改的是 dsp 子工程的 log.h(新版本的代码 是在 dsp/app/log.h,旧的是在 dsp/driver/log.h)  u2 @/ |1 S* p
回复 支持 反对

使用道具 举报

8

主题

30

帖子

150

积分

注册会员

Rank: 2

积分
150
7#
 楼主| 发表于 2014-12-4 17:19:24 | 只看该作者
tenny 发表于 2014-12-4 15:59
6 q) W. o% C6 n7 a& D. I, l. Sarm 端的 log 并没有用到 uart1
1 I5 x4 c; g! [9 udsp 端的 log 才使用了 uart1
  ^4 `8 e4 P6 e所以,你需要也只需要修改的是 dsp 子工程的  ...
! T- {/ i4 ~: B3 l
那我是不是将你贴出的那段代码,替换DSP/driver下的log.h就可以是吧,. w5 Y* b8 P) t0 j; f: z" c
然后将#define OUTPUT_TO_UART1 1 换成
: G. H* ?* |5 Z; z1 Y( {#define OUTPUT_TO_UART1 0
2 d& y+ T, J7 a2 R  是不是这样
% Y7 ?! U5 O  L: c! M7 T3 `- Z6 Z4 W

' g' A2 W) p; u  ?% ~) S
/ O! Q6 f' g. c
回复 支持 反对

使用道具 举报

0

主题

215

帖子

1246

积分

创龙

Rank: 8Rank: 8

积分
1246
8#
发表于 2014-12-5 09:25:09 | 只看该作者
  C  `' b+ m5 I1 l+ C1 g
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-3-1 18:17 , Processed in 0.047592 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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