打印

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

[复制链接]
3229|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还可以用于其它,如楼上所提的。总而言之,他可以提高对常数读取的效率。

使用特权

评论回复
5
XIEYUANBIN| | 2010-12-16 14:40 | 只看该作者
楼上正确。就是可以映射成RAM区,这个是目前新型的16系列中新增的特性。改天写一个这方面的介绍

使用特权

评论回复
6
e掾木| | 2010-12-20 08:24 | 只看该作者
同问martin: 映射了的RAM区是不是可以变相理解为ROM区的数据块被拷贝到了RAM区,那么这时候RAM的物理区程序员不能再使用了,直到解除可视映射?

使用特权

评论回复
7
asspeed| | 2010-12-20 08:40 | 只看该作者
RAM中的该区域只能用于PSV,而不能用作通用用户数据存取.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

147

帖子

0

粉丝