双核工作下,UPP不工作 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 9346|回复: 10
打印 上一主题 下一主题

双核工作下,UPP不工作

[复制链接]

19

主题

74

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
跳转到指定楼层
楼主
发表于 2015-1-29 09:38:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
创龙工程师:# V6 G% R3 c* L( n: c( D! w( C& D
     你好,我是保定炜达电力的
3 {/ e" N% I4 D) R& P: F* S8 f     咨询问一个问题,我OMAPL138的DSP核部分已经用DSP仿真器调试通过了,使用SYSBIOS系统,UPP采集FPGA的数据,只使用UPP的A口,在初始化UPP时,修改了贵司的初始化文件(XDATA数据线因与LCD公用,所以修改): w$ [8 V: g+ A4 `0 Y0 q# v

4 E  }& S3 \* U; Y  wvoid UPPPinMuxSetup(void)7 k; {" ?8 ^  q" ^
{& d' l% }2 ]' T0 S. g
unsigned int savePinmux13 = 0;
! S, g2 f& r2 b: | unsigned int savePinmux14 = 0;! M2 [9 S( c; z$ `+ Z5 k, Y$ b" X# u
unsigned int savePinmux15 = 0;8 B/ |% Q& h! j- }; F! q7 Z: P
unsigned int savePinmux16 = 0;
, d3 K2 H& c" h) g5 s) {$ p7 N unsigned int savePinmux17 = 0;
/ e! u) H$ E' ^5 N" n: E- \. } unsigned int savePinmux18 = 0;
8 P! l  O) A9 J /* all pins (channel A, channel B, DATA, and XDATA)*/
9 T+ a( E' I* N7 |7 [% N. @0 h savePinmux13 = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(13)) & 0x0000FFFF);    //不要的输入F8 w- S1 \9 a- g! [7 G6 _3 E" }
savePinmux14 = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(14)) & 0x000000FF);
! a& W6 {/ ]" Q6 d! \ savePinmux15 = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(15)) & 0x00000000);
; H5 S0 p* Z: ^0 K6 U& n savePinmux16 = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(16)) & 0xFFFFFF00);: m: C$ Y& ?( j
//savePinmux16 = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(16)) & 0x00000000);- ]/ t) T5 B3 g' S3 q* u2 S
//savePinmux17 = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(17)) & 0x00000000);
4 Z& K/ q4 Z+ x5 g" v) l //savePinmux18 = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(18)) & 0xFF000000);: d0 T% o* @7 a' W
HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(13)) = (0x44440000 | savePinmux13);8 H4 q' O, ?7 F) d" Z0 T! @9 a, w( g
HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(14)) = (0x44444400 | savePinmux14);
, T2 W5 a3 X' U/ O, B HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(15)) = (0x44444444 | savePinmux15);& W8 C" `/ x, Z
HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(16)) = (0x00000044 | savePinmux16);
! _1 ?# B; r; M4 H* _! D //HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(16)) = (0x44444444 | savePinmux16);  s8 W% J, D( F
//HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(17)) = (0x44444444 | savePinmux17);, ?3 U$ W) }: e- Z5 D; x; A
//HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(18)) = (0x00444444 | savePinmux18);* X9 x1 z. K2 s# ^3 I; l  x
}9 R$ `  z( t; R% _

& l( p5 ~+ r1 l+ a7 p     现在我的问题是,我DSP核心独立仿真调试没有问题了,但是现在OMAPL138 linux系统启动后,再加载DSP核应用程序,居然UPP中断不工作了,不知道是为什么,是不是LINUX系统与DSP有冲突,麻烦指导看一下。
8 x' D, N9 Y$ u+ a6 R' j. g4 q
  ]! |2 R% g  N2 c& ]9 V
5 k9 p- j! l3 v5 }& l5 L2 L. B
5 T! T2 T1 E- A3 {
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

19

主题

74

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
沙发
 楼主| 发表于 2015-1-29 09:57:42 | 只看该作者
补充说明一下:按照贵司说明独立调试的方法是:) m; `- M; E6 W0 s
1)CCS连接ARM核心
+ E1 M( y" [9 d  K2 Q2)加载omapl138.gel后,初始化相关操作后,唤醒DSP核心
5 W. f6 X! c& h0 b3)连接DSP核,然后调试仿真  6 E* L) ]0 e9 W( Y. e

0 }; ]+ a# Y' Q+ M5 Q初步联合调试,按照贵司方法如下:
; n2 S; }3 S, E8 z# {1)启动OMAPL138  linux系统. \0 W, F" q, [( t% P+ Y
2)进入系统后1 M" q( ?' y' R6 X9 M" v3 T
insmod /lib/modules/3.3.0/kernel/drivers/dsp/syslink.ko TRACE=1 TRACEFAILURE=1& x- C% O7 X% ]1 m$ z' t
3)然后再次连接CCS ,连接DSP核心
& v' I* C) x+ h+ v3 p; O再次在线仿真,就发现UPP不工作了,其他功能仿真正常。4 t9 r9 @, d* l0 X  ~9 _# l- U
0 D3 x- \7 n; \8 Q# Q
$ S3 h/ j- [- \1 a7 P: A
回复 支持 反对

使用道具 举报

19

主题

74

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
板凳
 楼主| 发表于 2015-1-29 09:58:45 | 只看该作者
再次补充说明 LINUX启动时已经如下设置,DDR不应该有冲突
7 T: Q( T2 v4 j2 [* R" X' Xsetenv bootargs console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext3 mem=32M@0xc0000000 mem=64M@0xc4000000
0 a9 c  A" T$ A/ B
回复 支持 反对

使用道具 举报

19

主题

74

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
地板
 楼主| 发表于 2015-1-29 17:14:14 | 只看该作者
问题解决了,原来内核文件要用旧的
1 X0 v9 o$ M3 B5 h' N8 q
回复 支持 反对

使用道具 举报

6

主题

18

帖子

129

积分

注册会员

Rank: 2

积分
129
5#
发表于 2015-7-31 12:13:47 | 只看该作者
tulipyyf 发表于 2015-1-29 17:14
; W. y; w& H, Q3 a" [: C2 ^/ B9 ^问题解决了,原来内核文件要用旧的
4 [( B9 _7 h1 b1 K( l. Q
不好意思,打扰了,我现在所遇到的问题和你一模一样,看了你的回复说;内核文件要用旧的,不知道什么意思。麻烦告知下,谢谢
回复 支持 反对

使用道具 举报

19

主题

74

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
6#
 楼主| 发表于 2015-8-4 08:27:19 | 只看该作者
当时应该最后是因为内存使用一致性问题导致的~~~你可以查看一下内存使用一致性文档~~~
2 l! W5 o. b5 O4 g5 x  P“TI C64x+ DSP CACHE一致性分析与维护”那篇文献写的很清楚
回复 支持 反对

使用道具 举报

6

主题

18

帖子

129

积分

注册会员

Rank: 2

积分
129
7#
发表于 2015-8-7 14:42:55 | 只看该作者
tulipyyf 发表于 2015-8-4 08:27) H6 S- J1 r5 Y# H
当时应该最后是因为内存使用一致性问题导致的~~~你可以查看一下内存使用一致性文档~~~5 h4 ]  k9 i1 w, U; d) r$ t) g
“TI C64x+ DSP CACH ...
% @3 D- s+ E& _, d6 P! \0 F3 w+ \
我看了下,好像没有使用缓存,应该跟一致性 没有关系吧。
回复 支持 反对

使用道具 举报

19

主题

74

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
8#
 楼主| 发表于 2015-8-7 16:38:33 | 只看该作者
我当时是upp定时从FPGA中读取数据,upp存储的数据直接放到DDR上,所以DDR上是存在一致性问题的~~
回复 支持 反对

使用道具 举报

19

主题

74

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
9#
 楼主| 发表于 2015-8-7 16:38:55 | 只看该作者
DDR存储使用的是缓存~~~
回复 支持 反对

使用道具 举报

6

主题

18

帖子

129

积分

注册会员

Rank: 2

积分
129
10#
发表于 2015-8-9 16:54:19 | 只看该作者
tulipyyf 发表于 2015-8-7 16:38. G( \6 M8 x/ p. g, W% Z5 |" r5 ]
DDR存储使用的是缓存~~~
% O8 l# y3 c. ]( g, ^/ H
哦,但我还是想知道你是具体怎么解决的。对于内核文件要用旧的一直不理解。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-30 06:56 , Processed in 0.040726 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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