搜索
bottom↓
回复: 5

328P的bootloader升级问题(探讨)

[复制链接]

出0入0汤圆

发表于 2012-11-30 09:25:58 | 显示全部楼层 |阅读模式
本帖最后由 zhengyiqun 于 2012-11-30 11:49 编辑

最近在搞ATmega328P升级时遇到一些问题:
             1:用之前ATmega168的bootloader升级改为328P时,AVR给了我一个大坑,在使用SPM语言时,那几个flash读取页装载页烧写页的函数出现error后来在ATmel官网下了328P的PDF,查阅后发现AVR STUDIO4.18中的SPMCSR寄存器第一位已经修改为SPMEN,之前在STUDIO4.18中还是SELFPRGEN,所以要修改STUDIO4.18,具体可以查阅PDF在2012年7月做了修改,但是在PDF中还做了一个说明,在熔丝位中还是要SELFPRGEN,所以在IOM328P.H中还得保留SELFPRGEN,各种郁闷啊~~这个问题希望使用328P的同志们注意。
           2:说说我现在遇到的问题,我在升级过程中,写入flash后,用pgm_read_byte_far(flash地址)读取我写入的flash页,发现读取的第二页前面的几个字节是0xFF,中间第三页又是正常的,第四页又出现这个问题,不知道是写入有问题boot_page_write(FlashAddr)还是装载boot_page_fill(PAGEPTR,BUF[PAGEPTR])函数有问题。需要的话可以附源码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

 楼主| 发表于 2012-11-30 09:26:53 | 显示全部楼层
希望大家给点意见~~

出0入0汤圆

 楼主| 发表于 2012-11-30 11:50:27 | 显示全部楼层
附上了源代码~~请大家帮忙分析分析~~

出0入0汤圆

 楼主| 发表于 2012-12-7 08:30:41 | 显示全部楼层
问题已经解决,因为ATmega328p在AVR studio 4.18中定义flash页的大小-SPM_PAGESIZE是64,实际上使用这个默认宏定义是按字节去定义,而通过pdf产看此芯片是64个字的flash页大小,所以出现次情况~~

出0入0汤圆

发表于 2012-12-7 09:14:52 | 显示全部楼层
先记录一下,前面STUDIO4.18中的SPMCSR寄存器第一位已经修改为SPMEN,之前在STUDIO4.18中还是SELFPRGEN这里看了半天没有看懂是啥?studio4.18还可以修改?

出0入0汤圆

 楼主| 发表于 2013-6-21 16:15:10 | 显示全部楼层
wzyllgx 发表于 2012-12-7 09:14
先记录一下,前面STUDIO4.18中的SPMCSR寄存器第一位已经修改为SPMEN,之前在STUDIO4.18中还是SELFPRGEN这里 ...

嗯~~在工程中external  Dependencies选项中iom328p.h中可以修改~~在编译就可以了~~
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-7-24 01:29

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

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