搜索
bottom↓
回复: 10

[菜鸟问题]AVR是16位地址线,那么M128如何寻址到大于64k的flash的呢?

[复制链接]

出0入296汤圆

发表于 2006-7-14 16:32:04 | 显示全部楼层 |阅读模式
如题



AVR是16位地址线,那么M128如何寻址到大于64k的flash的呢?



请大家点拨!

出0入0汤圆

发表于 2006-7-14 16:38:25 | 显示全部楼层
用一個 573 或是用IO口來做段頁寄存器,把 A16~Axx的全放到那邊,每次尋址要加上段頁號

出0入296汤圆

 楼主| 发表于 2006-7-14 17:10:15 | 显示全部楼层
M128内部是如何访问大于64k部分的flash的?2楼没有看清楚问题呢

出0入0汤圆

发表于 2006-7-14 19:11:23 | 显示全部楼层
看技术手册啊,应该是在内部有一个寄存器设置,是低64K还是高64K

出0入0汤圆

发表于 2006-7-15 17:47:47 | 显示全部楼层
因为AVR的一根线可寻址16BIT程序,即使是64-128K的地方,仍在16根地址线的寻址范围内.

出0入0汤圆

发表于 2012-7-31 09:57:32 | 显示全部楼层
那个,不好意思挖老帖了……我在使用M128时候也遇到这个问题了,放了一个图片数组,因为程序比较大,所以图片数组有一部分在64K以后了,读取图片数据的时候,超出64K的部分读取错误,没能转到高64位去,而是掉头读最开始的程序代码来当成图像数据了。我用的是ICCAVR7.22,找不到开启ELPM的设置啊。想问问傻孩子当时是怎么解决的

出0入296汤圆

 楼主| 发表于 2012-8-1 21:13:52 | 显示全部楼层
这里要自己写代码来处理,有一个RAMPZ寄存器,用来把地址设置到高64K,剩下的访问就没有什么特别的了。

出0入0汤圆

发表于 2012-8-1 21:17:50 | 显示全部楼层
Gorgon_Meducer 发表于 2012-8-1 21:13
这里要自己写代码来处理,有一个RAMPZ寄存器,用来把地址设置到高64K,剩下的访问就没有什么特别的了。 ...

呐呐,我已经尝试了,详细过程在这个帖子里记录了,还请大侠指点~
http://www.amobbs.com/thread-5489706-1-1.html

出0入0汤圆

发表于 2012-12-13 19:17:36 | 显示全部楼层
有专门的寄存器设置的看数据手册

出0入4汤圆

发表于 2012-12-19 00:57:52 | 显示全部楼层
Gorgon_Meducer 发表于 2012-8-1 21:13
这里要自己写代码来处理,有一个RAMPZ寄存器,用来把地址设置到高64K,剩下的访问就没有什么特别的了。 ...

嗯,马潮老师的IAP中就有这么一个设置。

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-5-2 09:20

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

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