[AVR单片机] 用ICC AVR编译程序下载到ATMEGA32问题

[复制链接]
4128|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 以前的程序是没有问题的,我添加的只是一些函数还没开始调用,熔丝位我读出来也是对的。
宇容创行 发表于 2012-5-2 17:04 | 显示全部楼层
熔丝位错了
配置了一块boot区
宇容创行 发表于 2012-5-2 17:09 | 显示全部楼层
检查 bootrst 熔丝位,使能后默认使用了4k bootloader
就是lz的现象

建议使用stk500 配置熔丝位
 楼主| w6850916 发表于 2012-5-3 08:53 | 显示全部楼层
6# 宇容创行 谢谢!能不能说的详细点!
 楼主| 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

粉丝
快速回复 在线客服 返回列表 返回顶部