打印
[AVR单片机]

ICCAVR编译后代码量跟实际不符,请教下!

[复制链接]
1868|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lnhaing|  楼主 | 2012-6-4 09:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近用到M16,用ICCAVR编译器。感觉程序代码才4000多行,编译后显示Device 97% full. 自己写的程序效率没这么低吧,把16K的空间都差不多写满了?
查看了下.map文件,貌似是实际代码量的2倍,是不是哪里设置没设置好?请教下各位谢谢!!
************************************************************
Addr   Size   Decimal Bytes (Attributes)
--------------------------------   ----   ----   ------- ----- ------------
                            text   01A8   3CAE =  15534. bytes (rel,con,rom)
       Addr  Global Symbol
      -----  --------------------------------
       00D4  __start
       00D4  __text_start
       00F4  _exit
       00F5  _IO_Init
       0110  _Time_Init
       0118  _Time0
       0195  _Sys_Init
       0294  _Watchdog_Init
       029A  _main
       0324  _SPI_Send
       032A  _SPI_Receive
       032F  _Wr_74HC595_Data
       034E  _delay3us
       0354  _delay10us
       0361  _delay1ms
       036E  _delay100ms
       037B  _LCD_CmdWrite
       039E  _LCD_Reset
       03A9  _LCD_DataWrite
       03CC  _LCD_WLCR
       03D6  _LCD_MISC
       03E0  _LCD_ADSR
       03EA  _LCD_INTR
       03F4  _LCD_WCCR
       03FE  _LCD_CHWI
       0408  _LCD_MAMR
       0412  _LCD_AWRR
       041C  _LCD_DWWR
       0426  _LCD_AWBR
       0430  _LCD_DWHR
       043A  _LCD_AWLR
       0444  _LCD_AWTR
       044E  _LCD_BGSG
       0458  _LCD_BGCM
       0462  _LCD_EDCM
       046C  _LCD_BTMR
       0476  _LCD_ITCR
       0480  _LCD_TPCR1
       048A  _LCD_TPXR
       0494  _LCD_TPYR
       049E  _LCD_TPZR
       04A8  _LCD_TPCR2
       04B2  _LCD_PWM
       04BC  _LCD_PDCR
       04C6  _LCD_FNCR
       04D0  _zoom
       04DE  _LCD_XY
       04F3  _clear
       0513  _clear1
       0531  _LCD_Initial
       0566  _Write_DDRAM
       0592  _Write_DDRAM_Num
       05FA  _Judge_Key
       067F  _Menu
       06A5  _MonitorSet_Screen
       085E  _Debug_Screen
       08ED  _Warning_Screen
       08EF  _Key_MonitorSet
       0CA6  _Key_Debug
       0EB1  _Key_Deal_Menu
       100C  _delayms
       1020  _Read_74HC165
       1044  _Out_Action
       106E  _Read_Temp
       1119  _I2c_Init
       111E  _I2c_Write
       1142  _I2c_Read
       1177  _Sig_Deal
       11FA  _StepMotor
       1249  _Act1
       1265  _Act2
       1282  _Delay
       1296  _Valve_Action
       16E1  _Clear
       175E  _Temp1_PID
       197E  _Heat1_duty
       19E8  _Temp0_PID
       1C08  _Heat0_duty
       1C72  push_arg4
       1C74  push_arg2
       1C77  mod16s
       1C7B  div16s
       1C95  mod16u
       1C97  div16u
       1C98  xdiv16u
       1CB1  mod8u
       1CB3  div8u
       1CB4  xdiv8u
       1CC9  empy16s
       1CD9  pop_gset2
       1CDC  pop_gset3
       1CDF  pop_gset4
       1CE2  pop_gset5
       1CE5  push_gset5
       1CE7  push_gset4
       1CE9  push_gset3
       1CEB  push_gset2
       1CED  push_gset1
       1CF0  pop_gset1
       1CF1  pop
       1D04  neg32
       1D0D  lpm32
       1D21  push_lset
       1D38  pop_lset
       1D4F  lsr16
       1D56  lsr8
       1D5C  fp2int
       1D65  nojump1
       1D6A  fp2long
       1D71  nojump2
       1D73  FTOI
       1D75  FTOL
       1DA4  int2fp
       1DAA  long2fp
       1DAF  ITOF
       1DC3  itof2
       1DC5  itof3
       1DD4  save_floatregs
       1DDF  restore_floatregs
       1DEA  stk2arg1
       1DEF  stk2arg0
       1DF4  float_epilog
       1DFB  float_prolog
       1DFE  add32fs
       1E01  add32f
       1E06  sub32fs
       1E09  sub32f
       1E0E  fret2
       1E15  FSUB
       1E16  FADD
       1E5B  usub24
       1E5F  cmp32f
       1E64  FLTCP
       1E90  empy32fs
       1E93  empy32f
       1E9C  eFMUL
       1EB4  eumul24
       1EDD  savfacc1
       1EE0  restorefacc1
       1EE3  unpackfacc1
       1EEC  negmant
       1EF2  maxres
       1EF9  minres
       1EFF  ac1toac2
       1F05  swapacc
       1F11  unpack
       1F23  repack
       1F2B  __text_end

相关帖子

沙发
lnhaing|  楼主 | 2012-6-4 10:12 | 只看该作者
貌似版本没**好!~擦

使用特权

评论回复
板凳
lnhaing|  楼主 | 2012-6-4 14:07 | 只看该作者
被**了还是不行~

使用特权

评论回复
地板
airwill| | 2012-6-5 09:52 | 只看该作者
查看了下.map文件,貌似是实际代码量的2倍           那是因为 AVR 的 FLASH 是以 16位组织的.
另外, ICCAVR 的编译效率的确不是很高. 要效率, 就推荐 GCCAVR 或者 IAR 吧

使用特权

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

本版积分规则

17

主题

81

帖子

0

粉丝