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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

双核工作下,UPP不工作

[复制链接]

19

主题

74

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
跳转到指定楼层
楼主
发表于 2015-1-29 09:38:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
创龙工程师:* }7 `5 w2 l* o4 a1 R
     你好,我是保定炜达电力的
9 o! d1 w8 X/ A9 }. ?, g. C& G5 W     咨询问一个问题,我OMAPL138的DSP核部分已经用DSP仿真器调试通过了,使用SYSBIOS系统,UPP采集FPGA的数据,只使用UPP的A口,在初始化UPP时,修改了贵司的初始化文件(XDATA数据线因与LCD公用,所以修改)4 B; s4 T# e5 G% I5 s( e
! e3 Q7 v  m. Q5 M
void UPPPinMuxSetup(void), F- Z  O0 S- I5 {( T4 R6 R
{
$ A: \8 p' Y& m3 S. I/ u  p unsigned int savePinmux13 = 0;
4 `( Z& ~7 F: P0 y unsigned int savePinmux14 = 0;$ f1 t4 E) k+ S7 ?1 Z4 u3 c3 q: V
unsigned int savePinmux15 = 0;+ f+ P' g4 S8 `2 s: l7 ~/ h  w- u# b
unsigned int savePinmux16 = 0;
+ r) p; C2 A( Q) j! H* K4 k& `4 H+ P unsigned int savePinmux17 = 0;) ^4 K9 K7 e) e* O& X2 [& d4 q$ b
unsigned int savePinmux18 = 0;* N1 a" p; a9 }# R' D: K
/* all pins (channel A, channel B, DATA, and XDATA)*/
6 M! _& `0 M: n savePinmux13 = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(13)) & 0x0000FFFF);    //不要的输入F/ A# e6 \9 v& W3 b% q8 g
savePinmux14 = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(14)) & 0x000000FF);  ]3 b: i& g; m. x; R. ^; e% e* F
savePinmux15 = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(15)) & 0x00000000);" _# J; n* M9 w& \
savePinmux16 = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(16)) & 0xFFFFFF00);
, a9 q- z! c" n1 P //savePinmux16 = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(16)) & 0x00000000);
( d. I/ ^1 Q& T //savePinmux17 = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(17)) & 0x00000000);* f8 z. `" p8 I
//savePinmux18 = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(18)) & 0xFF000000);. r. w# D5 F  @1 \- d1 g
HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(13)) = (0x44440000 | savePinmux13);6 j# b8 P3 {8 `: \, S
HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(14)) = (0x44444400 | savePinmux14);
6 G3 b' c' D% M$ F% D HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(15)) = (0x44444444 | savePinmux15);$ ^& r9 c9 I! q6 \2 `' v, f, Y# U
HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(16)) = (0x00000044 | savePinmux16);
+ R# `& K7 m; e& t+ R7 z( g //HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(16)) = (0x44444444 | savePinmux16);1 |5 R3 \  Q; o0 J7 w
//HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(17)) = (0x44444444 | savePinmux17);
3 M% x% y1 o, J9 M) ^ //HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(18)) = (0x00444444 | savePinmux18);' G+ h6 Z. G, i0 w
}
3 W$ P* l" A' U% `% C( ~5 n7 H1 ^0 ]& D
     现在我的问题是,我DSP核心独立仿真调试没有问题了,但是现在OMAPL138 linux系统启动后,再加载DSP核应用程序,居然UPP中断不工作了,不知道是为什么,是不是LINUX系统与DSP有冲突,麻烦指导看一下。
0 p$ b! `# M' `4 p
4 Y% ?8 `8 A3 A: F0 p- A% K
' n6 T; ?, n0 |4 Z0 }5 ]

6 U4 @/ R# i8 S
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

19

主题

74

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
沙发
 楼主| 发表于 2015-1-29 09:57:42 | 只看该作者
补充说明一下:按照贵司说明独立调试的方法是:& Y6 S' |1 ^4 }2 {
1)CCS连接ARM核心: d6 S' p' r% w2 V5 ?
2)加载omapl138.gel后,初始化相关操作后,唤醒DSP核心/ g5 g& C3 {2 P& U: V
3)连接DSP核,然后调试仿真  6 g$ ^8 n5 I3 ]- |2 X' J4 h; `

. i- z, k6 U- i- h5 T0 a7 h初步联合调试,按照贵司方法如下:
0 p* _% z: ?/ b; n5 J6 `1)启动OMAPL138  linux系统
* U4 x, X: O, d9 Z2)进入系统后# T3 u: {3 T0 q& h( n
insmod /lib/modules/3.3.0/kernel/drivers/dsp/syslink.ko TRACE=1 TRACEFAILURE=1
9 s$ I  Z  z: Y# b) f- S2 N3)然后再次连接CCS ,连接DSP核心( H, N9 g# s. H/ e$ I
再次在线仿真,就发现UPP不工作了,其他功能仿真正常。
9 j' p) L: k4 Z: ]9 f
" i5 ]6 a3 a1 X4 A& ^' K, k2 ?+ E. r* y" ?/ ]
回复 支持 反对

使用道具 举报

19

主题

74

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
板凳
 楼主| 发表于 2015-1-29 09:58:45 | 只看该作者
再次补充说明 LINUX启动时已经如下设置,DDR不应该有冲突
1 e2 I3 M$ b6 l2 ssetenv bootargs console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext3 mem=32M@0xc0000000 mem=64M@0xc4000000. b# L. v% P( f1 s, o
回复 支持 反对

使用道具 举报

19

主题

74

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
地板
 楼主| 发表于 2015-1-29 17:14:14 | 只看该作者
问题解决了,原来内核文件要用旧的3 ~5 L! J! o% ?( P1 M9 ?
回复 支持 反对

使用道具 举报

6

主题

18

帖子

129

积分

注册会员

Rank: 2

积分
129
5#
发表于 2015-7-31 12:13:47 | 只看该作者
tulipyyf 发表于 2015-1-29 17:14
2 F2 V0 L( m* X- Q问题解决了,原来内核文件要用旧的
. z6 ]0 K  p( J/ P/ W/ i! d) ~
不好意思,打扰了,我现在所遇到的问题和你一模一样,看了你的回复说;内核文件要用旧的,不知道什么意思。麻烦告知下,谢谢
回复 支持 反对

使用道具 举报

19

主题

74

帖子

253

积分

中级会员

Rank: 3Rank: 3

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

使用道具 举报

6

主题

18

帖子

129

积分

注册会员

Rank: 2

积分
129
7#
发表于 2015-8-7 14:42:55 | 只看该作者
tulipyyf 发表于 2015-8-4 08:27+ `. z% C- K) `' ?% j
当时应该最后是因为内存使用一致性问题导致的~~~你可以查看一下内存使用一致性文档~~~$ b5 r; u, K! O2 ^/ n6 @
“TI C64x+ DSP CACH ...

5 M4 U; J5 Y" p9 F) ]9 d' U我看了下,好像没有使用缓存,应该跟一致性 没有关系吧。
回复 支持 反对

使用道具 举报

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- K0 \6 }# Y7 K' {, k
DDR存储使用的是缓存~~~
* L# R1 Z) a" E( e% {. [
哦,但我还是想知道你是具体怎么解决的。对于内核文件要用旧的一直不理解。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-11 23:17 , Processed in 0.052044 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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