搜索
bottom↓
回复: 13

论坛内有搞TI的ARM+DSP——OMAP3530吗

[复制链接]

出0入0汤圆

发表于 2010-10-30 22:03:29 | 显示全部楼层 |阅读模式
坛内有搞OMAP3530的高手吗?有个问题想请教下
刚入手一块OMAP3530,阅读TI提供的Linux PSP中一级启动代码有点疑惑:
《OMAP35x Applications Processor Technical Reference Manual》中说到,内部有个0x14000处有个ROM,里面有个固化的启动代码ROM Code,ROM Code会自己在内部64k的RAM建立一个中断向量表,用户只需要在以0x4020FFE4开始的7个字的空间填写自己的中断响应函数的地址就可以了(同时注意不要修改前面28个字节的内容),并且如果不写自己的函数地址,默认的地址就是ROM CODE里面的7个死循环(对应7种中断)。还有,ROM CODE也已经建立好堆栈了(0x4020F000到0x4020FCB0)。
这是我看手册时理解的,不知道是不是理解有误。可是看一级启动代码x-loader时,问题就来了,分析那个代码得到这些结论:
(1)x-loader自己跑到中断表那里去建堆栈,破坏了自动建好的中断表,并且在二级启动代码u-boot也没有重新恢复这张表,我通过u-boot的命令md查看这些内存的值验证过。
(2)x-loader自己也去建立个中断表,但是出现中断后PC会跑到0x4020FFC8等地址去,x-loader自己建的这个中断表貌似没有啥作用呀?
(3)还有就是堆栈,也是自己建了个,不去用已经有的。
如果这个代码是别人写的我还真的就以为写的人没有好好看手册,但是这个代码是TI公司提供的呀,他自己的东西他工程师还不了解吗?

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

 楼主| 发表于 2010-11-14 15:43:38 | 显示全部楼层
移植完u-boot后貌似知道点原因了,这段代码是从u-boot移植过去的,因此留有u-boot的痕迹,由于没有使用中断,所以即使错也就不管了。
不过新问题又来了,u-boot中这段代码所建立的中断向量表的地址依然不对,而显然u-boot的这些代码是基于OMAP3430建立的,是因为OMAP3430的中断向量地址就在那吗?
我的u-boot已经修改这段代码,中断向量建立到《TRM》所提到的地址上了

出0入0汤圆

发表于 2010-11-18 16:03:51 | 显示全部楼层
我也在学这个,以后多交流

出0入0汤圆

发表于 2010-11-18 16:24:55 | 显示全部楼层
这块芯片很牛呀

出0入0汤圆

 楼主| 发表于 2010-11-21 22:17:47 | 显示全部楼层
回复【3楼】sdny7788
-----------------------------------------------------------------------

是挺牛的,比2440难搞好多,这个片子启动初始化时就要设置一大堆寄存器,搞得头都晕

出0入0汤圆

发表于 2010-11-21 23:18:12 | 显示全部楼层
我在搞omapl138,启动也是让我弄了很久才搞清楚。


甚至在TI的资料和论坛里找到了相互矛盾的说法,一个说DSP核先启动,一个说ARM核先启动,郁闷!!!!!!



双核的编程比单核的麻烦了很多,那个双核通信的dsplink,编译它要搞好多软件包,真麻烦!一开始真不知道他到底还要多少东东!!

出0入0汤圆

发表于 2010-11-21 23:39:17 | 显示全部楼层
dsplink真麻烦啊,搞了两个月了,一直没有将DSPLink调通,自带的Demo代码,编译没问题,就是跑起来出错。

出0入0汤圆

发表于 2010-11-22 01:09:38 | 显示全部楼层
我在搞这个,不过不是搞loader,是搞驱动和应用,TI提供的内核是不段更新的,有些版本是有不少问题的
现在用的一个DVSDK3的内核,有系统重启后SD卡识别不了的现象

出0入0汤圆

 楼主| 发表于 2010-11-22 12:13:40 | 显示全部楼层
TI的技术支持确实不错,不过资料全英文,有些时候确实会发现有矛盾或者让人难以理解的地方。
我现在对OMAP3530 ARM端的中断异常机制还是没有完全搞明白,从做过的实验来看,中断异常向量确实是被映射到0x14000的地址处,这个和ARM标准就有些冲突(ARM标准中应该是0x0处开始存放)。目前从我掌握的信息来看,我猜测可能是这样的:这个芯片支持很多种启动方式,其中一种是直接从XIP类的Flash(例如Nor Flash)开始执行代码,此时中断向量应该就是标准的0x0处开始存放;如果使用了非XIP类的Flash(例如SD卡、Nand Flash)启动,则会先执行Rom Code,此时中断异常向量就在0x14000处。
由于手头上的OMAP3530实验板只有Nand Flash和SD卡,没办法用实验来验证了前面一条。
另外还有一个问题,对于SD卡NandFlash启动的方式,如果在CP15中设置了使用高地址的中断异常向量,这个处理器又该如何映射中断异常?猜测可能是把0xFFFF0000映射到想要的地方去,因为从手册看,这片地址是个虚拟的空间。

我是学生,时间多,所以就打算从最底层的启动代码开始搞起,目前修改了x-loader,重新建立了中断向量,正准备增加一个简单的菜单,增加下面的功能:
(1)让x-loader支持TFTP协议,这样就比较方便调试u-boot了;
(2)完善对DSP的初始化,能把这个芯片直接变成一个DSP在CCS下实验,这样我也可以好好学学DSP而不用再花钱去买个DSP实验板了;
(3)可以加载用户自定义的程序,能直接脱离操作系统,把这个芯片当成一个超级单片机来用。

出0入0汤圆

发表于 2011-10-9 16:16:57 | 显示全部楼层
回复【楼主位】Octagram 隐星魂
-----------------------------------------------------------------------

各位大侠,请问一下,OMAP3530如果想只用DSP内核不用ARM内核,应该怎么开始开发?用什么开发系统?

出0入0汤圆

发表于 2012-6-6 10:45:13 | 显示全部楼层
起步难啊,蹒跚中···

出0入0汤圆

发表于 2012-6-7 16:54:11 | 显示全部楼层
楼上的加我企鹅号吧,一起蹒跚学步。16企鹅00企鹅10企鹅58企鹅36

出0入0汤圆

发表于 2012-7-18 10:25:42 | 显示全部楼层
MARK

出0入0汤圆

发表于 2012-12-26 15:08:10 | 显示全部楼层
我也在学习中,怎么启动呢?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 13:17

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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