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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

双核工作下,UPP不工作

[复制链接]

19

主题

74

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
跳转到指定楼层
楼主
发表于 2015-1-29 09:38:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
创龙工程师:% ~! w, @/ e: h9 p" H
     你好,我是保定炜达电力的, O- p6 l; r" e
     咨询问一个问题,我OMAPL138的DSP核部分已经用DSP仿真器调试通过了,使用SYSBIOS系统,UPP采集FPGA的数据,只使用UPP的A口,在初始化UPP时,修改了贵司的初始化文件(XDATA数据线因与LCD公用,所以修改)
9 w* F5 P$ }, G! y1 T2 a8 V- V/ d! ^/ }! k
void UPPPinMuxSetup(void)
7 b8 L. _' B6 C, d/ M. ~{8 D# ^0 F' J) s5 o6 \2 g
unsigned int savePinmux13 = 0;2 x8 G1 t0 v$ k( X% E
unsigned int savePinmux14 = 0;
5 j8 U4 [' g, [, j5 u unsigned int savePinmux15 = 0;  B0 W7 V% z& _& C3 `! ]5 Q
unsigned int savePinmux16 = 0;
* N/ R2 J+ |3 j) C2 S/ }% k" j  Z unsigned int savePinmux17 = 0;
( i% `2 M3 N4 i. g$ e unsigned int savePinmux18 = 0;
7 Y& I# m! `7 z- b0 s /* all pins (channel A, channel B, DATA, and XDATA)*/0 V# U6 X% {. R7 u
savePinmux13 = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(13)) & 0x0000FFFF);    //不要的输入F, B! M# r  Z# L' q& Z4 |: s
savePinmux14 = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(14)) & 0x000000FF);
, h0 Q* C% K: R& I" i1 x8 z, r savePinmux15 = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(15)) & 0x00000000);1 q9 }9 V3 m- R: c, h% F$ @  a+ K
savePinmux16 = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(16)) & 0xFFFFFF00);
- E; X* }1 _! r2 O9 p# L% q //savePinmux16 = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(16)) & 0x00000000);0 R' c9 |; K; T3 B' U
//savePinmux17 = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(17)) & 0x00000000);
/ }4 ~) r" L+ v) ? //savePinmux18 = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(18)) & 0xFF000000);
! t6 X4 G% A; a6 D$ g; ? HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(13)) = (0x44440000 | savePinmux13);3 C  l6 e6 [- `$ a+ O+ `& M; J
HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(14)) = (0x44444400 | savePinmux14);
- D6 e" R; \% }& Q% I HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(15)) = (0x44444444 | savePinmux15);
# |7 K8 y1 t. \+ c2 V. u7 w HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(16)) = (0x00000044 | savePinmux16);
1 M" J# y+ C9 y' X) b4 B+ |" R //HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(16)) = (0x44444444 | savePinmux16);, S3 E  O9 Z" ?; M1 u& n. E( v
//HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(17)) = (0x44444444 | savePinmux17);7 y8 P& L4 `5 b8 o- n4 M
//HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(18)) = (0x00444444 | savePinmux18);
8 c2 _3 b& F2 J$ Z* L* T+ U}
) K4 c/ }" U1 Y4 _& j2 M( T  |
5 K( V# c* u5 ]9 {     现在我的问题是,我DSP核心独立仿真调试没有问题了,但是现在OMAPL138 linux系统启动后,再加载DSP核应用程序,居然UPP中断不工作了,不知道是为什么,是不是LINUX系统与DSP有冲突,麻烦指导看一下。
  u$ ?0 ?0 J2 D# K# p, G
" O3 r" F& t0 L4 p8 ~, P# I

1 c$ o% M2 K: }: H3 h
- W. g) m. R+ Q2 b
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

19

主题

74

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
沙发
 楼主| 发表于 2015-1-29 09:57:42 | 只看该作者
补充说明一下:按照贵司说明独立调试的方法是:
% ^  V% U- R/ E- ?0 R1)CCS连接ARM核心
3 o8 z2 ^0 Z6 O4 y& d& a( z$ O2)加载omapl138.gel后,初始化相关操作后,唤醒DSP核心
; C6 {0 j9 a8 d7 N7 j8 f8 D! N3)连接DSP核,然后调试仿真  % r$ L; H2 V. v# w
) f/ S9 [9 s- i4 F5 O6 [: g+ p1 f& K
初步联合调试,按照贵司方法如下:" ^% t2 ^& E; B+ m; z4 I
1)启动OMAPL138  linux系统$ F" v7 p" W' r% p1 A0 w
2)进入系统后9 @  o) x, `" f/ l5 w
insmod /lib/modules/3.3.0/kernel/drivers/dsp/syslink.ko TRACE=1 TRACEFAILURE=1
, I8 J, a/ F* u/ {6 X+ j4 G% T) o7 @3)然后再次连接CCS ,连接DSP核心& F9 K, R) |) K  Z  n4 \
再次在线仿真,就发现UPP不工作了,其他功能仿真正常。$ v( u1 e" Z2 ^" ~4 z3 l" |" B! p

) \1 i3 e1 M2 }" o7 u
, N" _% y( r, g! P& S0 R' Z
回复 支持 反对

使用道具 举报

19

主题

74

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
板凳
 楼主| 发表于 2015-1-29 09:58:45 | 只看该作者
再次补充说明 LINUX启动时已经如下设置,DDR不应该有冲突
$ G4 ]% l% S2 |+ l5 t* U/ vsetenv bootargs console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext3 mem=32M@0xc0000000 mem=64M@0xc4000000( z% |/ f" k; H# W% L# W. b! s2 F  U
回复 支持 反对

使用道具 举报

19

主题

74

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
地板
 楼主| 发表于 2015-1-29 17:14:14 | 只看该作者
问题解决了,原来内核文件要用旧的! l' I0 `+ Z" V3 [1 B
回复 支持 反对

使用道具 举报

6

主题

18

帖子

129

积分

注册会员

Rank: 2

积分
129
5#
发表于 2015-7-31 12:13:47 | 只看该作者
tulipyyf 发表于 2015-1-29 17:14; S! d6 H. u1 u/ e
问题解决了,原来内核文件要用旧的
, e0 R& p( G0 H" @& X# A7 q% j1 D
不好意思,打扰了,我现在所遇到的问题和你一模一样,看了你的回复说;内核文件要用旧的,不知道什么意思。麻烦告知下,谢谢
回复 支持 反对

使用道具 举报

19

主题

74

帖子

253

积分

中级会员

Rank: 3Rank: 3

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

使用道具 举报

6

主题

18

帖子

129

积分

注册会员

Rank: 2

积分
129
7#
发表于 2015-8-7 14:42:55 | 只看该作者
tulipyyf 发表于 2015-8-4 08:27/ {5 z) m. M. B7 ~9 [3 o
当时应该最后是因为内存使用一致性问题导致的~~~你可以查看一下内存使用一致性文档~~~% I5 N7 Z. w1 \# @3 j$ q  x; c
“TI C64x+ DSP CACH ...

/ I9 J. N$ B. h2 ^' _我看了下,好像没有使用缓存,应该跟一致性 没有关系吧。
回复 支持 反对

使用道具 举报

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:384 N, F9 ^/ X+ Y
DDR存储使用的是缓存~~~
5 G" g+ [2 o9 m( W% Z  e
哦,但我还是想知道你是具体怎么解决的。对于内核文件要用旧的一直不理解。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-4 08:41 , Processed in 0.041417 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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