程序空间可视性有什么用途呢?

[复制链接]
3920|6
 楼主| erkin 发表于 2010-12-15 17:14 | 显示全部楼层 |阅读模式
各位DX,如题!
yewuyi 发表于 2010-12-15 21:24 | 显示全部楼层
没听说 ,什么意思!?
skygrow 发表于 2010-12-16 14:20 | 显示全部楼层
便于访问定义在程序空间常数表, 如LCD显示码等
查表时直接读对应的映射RAM区即可,省了表读指令
martin 发表于 2010-12-16 14:40 | 显示全部楼层
程序空间可视性就是可以把程序空间的数据映射到RAM地址,对已经被PSV映射到RAM地址的程序空间的数据读取(注意只能读不能写)就像读RAM里的数据一样快。
用途,举一个例子,例如FIR滤波器,公式是:
y(n)=h(0)x(n) + h(1)x(n-1) + h(2)x(n-2) + ... h(N-1)x(n-N-1)
其中h(0),h(1)...h(N-1)是滤波器的系数,都是常数,那么你应该把它们放到Flash Rom里。然后执行上面的这个公式,你需要用到MAC指令,MAC的数据可以由两个地址产生器来寻址,同时寻址X和Y空间的数据,而这个X和Y空间都是对RAM的寻址。那么你需要将程序空间里的系数数组拷贝到RAM里?这不就太浪费了吗!有了PSV就简单了,直接把系数数组存在的那个程序空间映射到RAM,把两个AGU分别指向x(n)数组和PSV后的系数数组,然后N次循环MAC指令,公式就算完了。
当然PSV还可以用于其它,如楼上所提的。总而言之,他可以提高对常数读取的效率。
XIEYUANBIN 发表于 2010-12-16 14:40 | 显示全部楼层
楼上正确。就是可以映射成RAM区,这个是目前新型的16系列中新增的特性。改天写一个这方面的介绍
e掾木 发表于 2010-12-20 08:24 | 显示全部楼层
同问martin: 映射了的RAM区是不是可以变相理解为ROM区的数据块被拷贝到了RAM区,那么这时候RAM的物理区程序员不能再使用了,直到解除可视映射?
asspeed 发表于 2010-12-20 08:40 | 显示全部楼层
RAM中的该区域只能用于PSV,而不能用作通用用户数据存取.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

147

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部