搜索
bottom↓
回复: 8

请教ARV单片机如何写内部FLASH

[复制链接]

出0入0汤圆

发表于 2009-7-14 20:07:01 | 显示全部楼层 |阅读模式
我的项目有大约8K的汉字点阵需要写入AVR单片机的程序FLASH区,由于这些汉字事先是不能确定的,它是通过上位机传送给AVR单片机的,因此要在程序运行的时候要修改程序区存放汉字点阵的区域,需要对程序FLASH区进行写操作,不知AVR单片机是否支持这样的操作,具体要怎样做,谢谢!

出0入0汤圆

发表于 2009-7-14 22:33:56 | 显示全部楼层
不可以用EEPROM吗

出0入0汤圆

 楼主| 发表于 2009-7-14 22:45:08 | 显示全部楼层
您好,我用的是ATMEGA32,EEPROM太小,只有1K

出0入0汤圆

发表于 2009-7-14 22:56:41 | 显示全部楼层
只有在BootLoader区的程序可以执行SPM指令,写Flash,仔细看看文档,几句话说不清楚。

出0入0汤圆

发表于 2009-7-14 22:57:04 | 显示全部楼层
外扩存储器吧,安全方便。

出0入0汤圆

 楼主| 发表于 2009-7-14 23:14:28 | 显示全部楼层
通过BOOTLOAD程序,用从上位机送来的汉字点阵数据覆盖预留在FLASH区的汉字点阵空间,这样的话需要明确FLASH区存储汉字点阵的空间地址。不知道这样是否可行?
    windy__xp 龙啸:硬件已经设计生产了,改动重新投板,时间上来不及,而且也增加了成本。谢谢您的建议!

出0入0汤圆

发表于 2009-7-14 23:53:24 | 显示全部楼层
不一定就是BootLoader程序,只要工作程序工作在BootLoaer区,并且加密位允许SPM指令,那么执行SPM指令同样可以改写Flash。把执行SPM指令的函数放在BootLoader区就可以了。

出0入0汤圆

发表于 2009-7-16 00:21:53 | 显示全部楼层
不用改动硬件是可以实现的。但是你必须是AVR的高手,不仅需要深入的了解你所使用的C编译器更深层次的情况,还要熟悉AVR汇编,BOOTLAOD的原理,写FLASH的具体方法,C中嵌汇编等。

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-5-2 10:10

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

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