打印
[AVR单片机]

用ICC AVR编译程序下载到ATMEGA32问题

[复制链接]
3507|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
w6850916|  楼主 | 2012-4-28 14:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用的芯片是ATMEGA32,用ICC AVR编译下载程序,如果程序没有错的话,那程序肯定就能执行啊!我现在遇到的问题是将原来可以运行的程序添加一些功能,我只是多谢了几个函数,在主函数内还没有调用就出现下载程序后,芯片不启动,程序自然也就不执行,我把没改之前的程序再下载进去,程序正常跑,这是怎么回事啊?我看编译是每到Device 88% full.左右就出现只能下载但是不执行的问题,以前我编写程序都能达到95%也没出现这样的问题,请高手指点!!!小弟先谢过了。

相关帖子

沙发
plc_avr| | 2012-4-28 16:17 | 只看该作者
你软件没写好啊。要不就是熔丝位没设置好。

使用特权

评论回复
板凳
w6850916|  楼主 | 2012-5-2 16:53 | 只看该作者
放假回来,我做了几个测试发现,当我的程序写的多于88%器件容量,即编译时显示Device 88% full.就会出现把程序烧写进去,程序就是不启动的问题,不论你写的程序是否有用,请哪位高手指点下,我要在原有的程序基础上添加一些程序,器件还没使用到百分之九十几就不能用了?

使用特权

评论回复
地板
w6850916|  楼主 | 2012-5-2 16:55 | 只看该作者
2# plc_avr 以前的程序是没有问题的,我添加的只是一些函数还没开始调用,熔丝位我读出来也是对的。

使用特权

评论回复
5
宇容创行| | 2012-5-2 17:04 | 只看该作者
熔丝位错了
配置了一块boot区

使用特权

评论回复
6
宇容创行| | 2012-5-2 17:09 | 只看该作者
检查 bootrst 熔丝位,使能后默认使用了4k bootloader
就是lz的现象

建议使用stk500 配置熔丝位

使用特权

评论回复
7
w6850916|  楼主 | 2012-5-3 08:53 | 只看该作者
6# 宇容创行 谢谢!能不能说的详细点!

使用特权

评论回复
8
w6850916|  楼主 | 2012-5-3 16:39 | 只看该作者
6# 宇容创行 我用的是BASCOM-AVR来修改熔丝位没见到有bootrst,我看这里只有Fusebit  FE  已经是最大的2048 words boot size,麻烦你能不能给我说的详细点,十分感谢啊!还有就是小弟不懂的是,mega32的flash不是32K的嘛,跟起始的关系不大吧,最多也就2K的区别啊!我的程序在ICC下载是提示:17694 words before Code Compression, 14836 after. 15% reduction.
Device 92% full.
这是怎么算的啊?是不是14836个字也就是29672个字节,一共32K,所以29672/32K=90%,再加上flash实际上给用户用的没有32K,所以才是92%
谢谢指点啊!

使用特权

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

本版积分规则

13

主题

126

帖子

5

粉丝