登录 免费注册 首页 | 行业黑名单 | 帮助
维库电子市场网
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

TMS320vc5402  数据空间,程序空间相关问题,内行人请进

作者:dsp_step 栏目:DSP技术
TMS320VC5402  数据空间,程序空间相关问题,内行人请进
请牛人指教:
在5402中
(1)程序空间和数据空间可否重叠?如果可以在什么情况下可以?
(2)当FLASH空间足够大时,多余的空间可以作为外部数据区,是不是说明数据空间可以扩展,那么怎么使数据存到FLASH中呢?
(3)在5402的datasheet中,4000后是映射到external的,请问如果我分配这部分空间给PAGE1,是映射到falsh里的吗?只有几十K。

2楼: >>参与讨论
dellxp
所谓扩展好像是在程序空间
 
3楼: >>参与讨论
dsp_step
to:dellxp
你认为程序空间与数据空间可否重叠呢?这是我一直没搞懂的一个问题

4楼: >>参与讨论
明根兵
可以的
 
5楼: >>参与讨论
yang96381
呵呵,采用哈佛结构,分开的
 
6楼: >>参与讨论
dsp_step
说得没错
多谢大家指点:
能重叠的话,也就是说cmd中的PAGE0与PAGE1中的数据可以重叠的咯?
在数据空间中,从4000到efff是映射到external的,那么这个external是指的FLASH吗?不然哪来的物理空间与64k相对应,16k加4k也不过20k。

7楼: >>参与讨论
dsp_step
补充一问:
数据空间与程序空间能重叠的话,是不是就是由MP/MC,DROM,OVLY在控制的?
重叠在一起的程序空间和数据空间,在物理存储器中数据是怎么存放的呢,是不是虽然两个空间重叠在一起,但是存放在不同的物理空间中?我认为这样解释合理点

8楼: >>参与讨论
dellxp
好像物理上也不分开,映射的就是实际的物理空间
最好要分开,为什么非要重叠呢?哈哈

CMD我也不是很明白,这次自己要好好的看看了,哈哈

9楼: >>参与讨论
dsp_step
谢谢dellxp
我在做vc5402的bootload时,遇到过这样一个问题:
在cmd文件中对-e 选项的理解,有几种说法,有说-e选项“是程序中断向量的入口点”;还有种说法:-e是“装入引导表后程序运行的起始地址”,是不是这两种说法实际上是一样的?
-e是中断向量的入口地址0xff80,还是_c_int00处对应的地址(一般是0x8000),不太理解,请问你有什么看法




10楼: >>参与讨论
gigs
我也有同样问题
我认为重叠在一起的程序空间和数据空间,虽然两个空间重叠在一起,但是存放在不同的物理空间中的,只是由于采用哈佛结构,访问由总线对他们进行控制。

斑竹能给点解释吗?

11楼: >>参与讨论
dsp_step
有高手能解释一下上面的一些问题么
斑竹大哥能发表一下意见就最好了,谢谢!

12楼: >>参与讨论
kvan
FLASH BOOT
怎么那么多人问,很少人回答的!难道高手都隐掉了!假如系统采用并行8位BOOT方式,FLASH的数据空间是0000H-FFFFH,程序空间地址为0000H-FFFFH,01000H-01FFFFH,为什么数据空间地址和程序空间的地址都为0000H-FFFFH!在物理连接上,FLASH只有18条地址线呀!怎么样区分数据和地址空间!

13楼: >>参与讨论
dsp_step
kvan你的FLASH是什么型号的?
我采用的是16位boot模式,我的5402dsk上的FLASHAM29LV800B的地址线有19根,有8M的存储空间,你的FLASH有18条地址线,那么是不是有4M 的存储空间呢,但是就是不知道怎么区分程序,数据空间的,难道就是根据初始化寄存器来设定的?

14楼: >>参与讨论
ftn2
关注此贴!
 
15楼: >>参与讨论
gigs
顶一顶,为什么这个问题一直悬而未决呀,高手都隐了吗~
 
16楼: >>参与讨论
wgg
我觉得上面的问题书上说得很清楚吧
 
17楼: >>参与讨论
指南针
datasheet行清楚啊
 
18楼: >>参与讨论
gyfeng
我这么做过
程序和数据空间是可以重叠的,不用IS和DS,只用MSTRB就可以了,这样不管访问程序还是就数据空间,都会到这里了,当然,片内优先,所以与内部数据区重叠地址的那部分外部存储器是访问不到的。
上面这种做法就可以把外部多余的FLASH做为数据存储器,关键是你的FLASH支持不支持自编程功能,这时是用在FLASH里面跑的程序来对另一部分编程,如果FLASH一进入编程状态就整片禁止读取,你上那里读程序代码。
片内没有的分当然映射到片外了。

19楼: >>参与讨论
dsp_step
谢谢gyfeng,再请教请教
请问MSTRB是什么?以前没有接触过这个名字,见笑了。还有怎样才能知道FLASH是自编程的,我的FLASH型号是AM29LV800B的,不知是不是属于自编程的那种,datasheet中是哪部分说明这一点的?

20楼: >>参与讨论
yang96381
呵呵,不是很容易的!!
 
21楼: >>参与讨论
victorymay
关注 怎么做
 
22楼: >>参与讨论
gyfeng
再次回复
MSTRB是MEMORY选通线,一般是用IS或DS做外部程序或数据存储器的片选线,用MSTRB做读写有效线(当然还需要R/W方向线),访问外部存储器空间时两个都会有负脉冲出来的,你可以看看5402的时序图。
至于什么芯片能自编程,我只知道肯定有,但我也没用过,一般数据手册的首页肯定做为特点列出来的,肯定要选新一点的,老的不行。

23楼: >>参与讨论
gyfeng
回复MSTRB
MSTRB是存储器选通,一般接芯片的E端,IS和DS一般连CS端,看看手册就知道了。自编程FLASH肯定有,但我没用过,应该在首页的特点里面会提到。

24楼: >>参与讨论
hoon
哎,高手们都不出声了。
我自学dsp也有几个月了,小程序也编过几个了,可能都没有真正入门,但是还是有一点心得的。对于1楼的问题,我的看法是:
1、程序空间和数据空间是独立的。所以二者基本是可以重叠的。不过要注意:片内16K DARAM可同时被映射到程序空间和数据空间,但是一旦分配给程序空间的部分就不能再分配给数据空间了。
2。数据空间是可以扩展的。一般通过CPLD就可以了,通过存储器分页设置进行扩展。
3、4000后是映射到external的,分配这部分空间给PAGE1,是映射到falsh里的,通过分页设置可以突破64K的限制。

这是我的理解,还请高手指正啊。

参与讨论
昵称:
讨论内容:
 
 
相关帖子
2407a很奇怪的问题?模拟地和数字地
求大侠帮忙,我的CPLD逻辑不工作!
求助,怎么样开始呢?
请教5509SPI BOOTLOADER
提供TMS320  ADSP  全系列的DSP芯片
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入


Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号