Gorgon_Meducer 发表于 2006-7-14 16:32:04

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

如题



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



请大家点拨!

linjpxt 发表于 2006-7-14 16:38:25

用一個 573 或是用IO口來做段頁寄存器,把 A16~Axx的全放到那邊,每次尋址要加上段頁號

Gorgon_Meducer 发表于 2006-7-14 17:10:15

M128内部是如何访问大于64k部分的flash的?2楼没有看清楚问题呢

virginlulu 发表于 2006-7-14 19:11:23

看技术手册啊,应该是在内部有一个寄存器设置,是低64K还是高64K

cock 发表于 2006-7-15 17:47:47

因为AVR的一根线可寻址16BIT程序,即使是64-128K的地方,仍在16根地址线的寻址范围内.

blackhorse21 发表于 2012-7-31 09:57:32

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

Gorgon_Meducer 发表于 2012-8-1 21:13:52

这里要自己写代码来处理,有一个RAMPZ寄存器,用来把地址设置到高64K,剩下的访问就没有什么特别的了。

blackhorse21 发表于 2012-8-1 21:17:50

Gorgon_Meducer 发表于 2012-8-1 21:13 static/image/common/back.gif
这里要自己写代码来处理,有一个RAMPZ寄存器,用来把地址设置到高64K,剩下的访问就没有什么特别的了。 ...

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

WLZXZPLOVE 发表于 2012-12-13 19:17:36

有专门的寄存器设置的看数据手册

cumt_123456 发表于 2012-12-19 00:57:52

Gorgon_Meducer 发表于 2012-8-1 21:13 static/image/common/back.gif
这里要自己写代码来处理,有一个RAMPZ寄存器,用来把地址设置到高64K,剩下的访问就没有什么特别的了。 ...

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

eduhf_123 发表于 2012-12-19 02:08:42

…………
挖坟的!
页: [1]
查看完整版本: [菜鸟问题]AVR是16位地址线,那么M128如何寻址到大于64k的flash的呢?