双核工作下,UPP不工作 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站
点击跳转“创龙科技服务通”

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

双核工作下,UPP不工作

[复制链接]

19

主题

74

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
跳转到指定楼层
楼主
发表于 2015-1-29 09:38:04 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
创龙工程师:# O0 p+ l3 \% z
     你好,我是保定炜达电力的
7 N' X/ }1 [: k1 e( O     咨询问一个问题,我OMAPL138的DSP核部分已经用DSP仿真器调试通过了,使用SYSBIOS系统,UPP采集FPGA的数据,只使用UPP的A口,在初始化UPP时,修改了贵司的初始化文件(XDATA数据线因与LCD公用,所以修改)
) }0 c' G7 d# D* E3 `2 N, `" X9 ^
: W! D+ }9 c# s( x& h2 }void UPPPinMuxSetup(void)- j+ _9 R* w( e2 h+ l& O4 A7 F2 j
{
& }  u1 i# \) @" K2 S5 c) c unsigned int savePinmux13 = 0;4 N8 Q4 X, W( r3 ^3 {
unsigned int savePinmux14 = 0;
& Q" z6 r9 i7 Q9 u9 z( u: @# Z8 S unsigned int savePinmux15 = 0;  p5 j' Q! B! Z+ X! C7 x% A# U
unsigned int savePinmux16 = 0;
: Y4 D1 H1 N5 l' \6 T unsigned int savePinmux17 = 0;( g: I# o( ^4 A) ?) c  n# N0 x
unsigned int savePinmux18 = 0;
* p4 m, Y3 M' j6 @- h+ O, Y: |3 K5 ? /* all pins (channel A, channel B, DATA, and XDATA)*/
* @+ U5 ^  r2 R  C' K savePinmux13 = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(13)) & 0x0000FFFF);    //不要的输入F0 O% a0 ]% i' i$ }
savePinmux14 = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(14)) & 0x000000FF);5 y9 R# J. [0 n
savePinmux15 = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(15)) & 0x00000000);
1 o, W7 C$ _: A4 d* z7 ^ savePinmux16 = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(16)) & 0xFFFFFF00);
/ O( g" U: c/ o# z( p //savePinmux16 = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(16)) & 0x00000000);5 ]+ L: K! ]8 i! h2 z6 R0 M/ R
//savePinmux17 = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(17)) & 0x00000000);3 h6 J1 C) t, j% U& o! N1 i
//savePinmux18 = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(18)) & 0xFF000000);
8 B6 n% m, x4 S7 @* u HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(13)) = (0x44440000 | savePinmux13);
3 p1 C$ ?6 x% O! h  u- ` HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(14)) = (0x44444400 | savePinmux14);; D4 u5 ]. I4 U6 Z
HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(15)) = (0x44444444 | savePinmux15);
0 `  _" Q$ p$ e4 q HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(16)) = (0x00000044 | savePinmux16);- _/ J3 A) s# I! |9 G+ M% L3 Y
//HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(16)) = (0x44444444 | savePinmux16);+ x, ~8 ~3 e+ t' I' z5 w
//HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(17)) = (0x44444444 | savePinmux17);9 E+ V% }! m: S- o
//HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(18)) = (0x00444444 | savePinmux18);
5 Z2 v* D1 b# k, [, E/ p- s- d}( N- R! r$ p- `: g: O, s0 x: H

' o+ d5 a3 Y) q- O$ B+ [4 W7 }/ g     现在我的问题是,我DSP核心独立仿真调试没有问题了,但是现在OMAPL138 linux系统启动后,再加载DSP核应用程序,居然UPP中断不工作了,不知道是为什么,是不是LINUX系统与DSP有冲突,麻烦指导看一下。 3 ~' f( f/ ?1 k  ?9 ^+ w0 k2 n1 P" ?
5 _( ?: R! Z% W' w% C$ x

2 w, `, o5 _/ _
0 L. B6 u1 R9 q! ]9 |+ h7 j' F
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

19

主题

74

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
11#
 楼主| 发表于 2015-8-11 10:13:52 | 只看该作者
本帖最后由 tulipyyf 于 2015-8-11 10:15 编辑 / [. d  ^1 i1 B' F' t- R/ F

9 ?1 A. w% e+ x3 Z0 N内核文件不用后来证明不用旧的~~~
( @. N2 g( I* g0 W+ D+ K: c* Y实际上我就是在创龙的样板上进行了修改
! \. Z" r, e3 K3 t. |5 c5 Y主要改动 1 移植到SYSBIOS中运行# S0 G/ G6 {/ X9 K: t, e: e
               2 因需要时刻储存,所以FPGA发送一次下降沿脉冲,DSP核心中断收到后,执行一次完整的UPP重载,只是重载时,需要把DDR存储接收地址更新,然后开始接收UPP数据
4 a! B3 h7 J$ k$ F& [               3 重载之前,需要 CacheWBInvAll();                        //更新cache4 a5 ^3 P- d2 w) q

0 M9 x! }1 q8 k! u& |( y希望能帮助你  
回复 支持 反对

使用道具 举报

6

主题

18

帖子

129

积分

注册会员

Rank: 2

积分
129
10#
发表于 2015-8-9 16:54:19 | 只看该作者
tulipyyf 发表于 2015-8-7 16:38! C& W! L/ o) s8 O$ n: }
DDR存储使用的是缓存~~~

; ]" r" P: }! \( A哦,但我还是想知道你是具体怎么解决的。对于内核文件要用旧的一直不理解。
回复 支持 反对

使用道具 举报

19

主题

74

帖子

253

积分

中级会员

Rank: 3Rank: 3

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

使用道具 举报

19

主题

74

帖子

253

积分

中级会员

Rank: 3Rank: 3

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

使用道具 举报

6

主题

18

帖子

129

积分

注册会员

Rank: 2

积分
129
7#
发表于 2015-8-7 14:42:55 | 只看该作者
tulipyyf 发表于 2015-8-4 08:27$ ]; [& n& M8 p; M2 R0 a
当时应该最后是因为内存使用一致性问题导致的~~~你可以查看一下内存使用一致性文档~~~% P/ ?; ~5 r% n: d3 w$ G
“TI C64x+ DSP CACH ...

) d) N+ d1 V6 {  l& m我看了下,好像没有使用缓存,应该跟一致性 没有关系吧。
回复 支持 反对

使用道具 举报

19

主题

74

帖子

253

积分

中级会员

Rank: 3Rank: 3

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

使用道具 举报

6

主题

18

帖子

129

积分

注册会员

Rank: 2

积分
129
5#
发表于 2015-7-31 12:13:47 | 只看该作者
tulipyyf 发表于 2015-1-29 17:14
0 j& ]% P& ]/ W# \问题解决了,原来内核文件要用旧的

  l2 Q- |) f, E  v0 `9 ^不好意思,打扰了,我现在所遇到的问题和你一模一样,看了你的回复说;内核文件要用旧的,不知道什么意思。麻烦告知下,谢谢
回复 支持 反对

使用道具 举报

19

主题

74

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
地板
 楼主| 发表于 2015-1-29 17:14:14 | 只看该作者
问题解决了,原来内核文件要用旧的
) Q2 o' H1 Y& z- R$ i
回复 支持 反对

使用道具 举报

19

主题

74

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
板凳
 楼主| 发表于 2015-1-29 09:58:45 | 只看该作者
再次补充说明 LINUX启动时已经如下设置,DDR不应该有冲突& }% d5 ^$ H$ j
setenv bootargs console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext3 mem=32M@0xc0000000 mem=64M@0xc4000000
5 Z+ |0 E1 Y% w' Q
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-3-17 03:46 , Processed in 0.042590 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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